[接龍] BSD 小技巧分享

看板FreeBSD作者時間16年前 (2007/11/18 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/26 (看更多)
※ 本文轉錄自 [chinsan] 看板 作者: chinsan (淡) 看板: chinsan 標題: [接龍] BSD 小技巧分享 時間: 2007/11/17 Sat 22:53:31 不知道有沒有人有興趣一起來寫些類似 BSD Hacks 的小技巧分享, 不管你是長輩、晚輩也好,都可以分享一下心得喔 :p 當然,若有更好的方式或其他作法也可以提供給大家腦力激盪一下喔 以下是舉例,既然是我提的那我就開個頭好了 :p 大家可以接龍看看,字數篇數不限 :p 寫得不錯的,我會把您大名列到 http://www.freebsd.org/doc/en/articles/contributors/contrib-additional.html 並放到 chinese/fortunetw 內,幅度較長的則視情況放到 FAQ 或相關 books/articles。 ■ 善用 CVSweb 比方說我要查 freebsd-tips 的相關 commit 紀錄跟 diff, 那麼可以先 locate freebsd-tips 找出路徑是在 /usr/src/games/fortune/datfiles/freebsd-tips ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 而通常 /usr 後面接的路徑,可以對應到 http://cvsweb.freebsd.org/ 相對應路徑 比方說上述的 src/games/fortune/datfiles/freebsd-tips 就會是 http://cvsweb.freebsd.org/src/games/fortune/datfiles/freebsd-tips ■ 若要用 locate 找東西,該檔案明明剛剛才新增,但 locate 卻跟妳說沒有 那麼可以用 /usr/libexec/locate.updatedb 來立即更新現有 locate 資料庫,或者 /etc/periodic/weekly/310.locate 也可以 ■ 通常會看到有類似 find(1), whereis(1), which(1), fnmatch(3) 這些是? 這表示 man 的章節,系統上一般有八個章節: 1->generl commands 2->system calls and error numbers 3->C libraries 4->devices and device drivers 5->file formats 6->games 7->miscellaneous information pages 8->system maintenance and operation commands 比如:pf(4) 就是指 man 4 pf。 ■ 不知道要翻什麼就是了,太多不懂了? whatis is your good friend ■ 嫌打 exit 太麻煩?按 Ctrl + D 就可以囉 ■ 在 /usr/ports 打 make search key=關鍵字 時, 明明該 port 已經有放到 port tree 你也更新 port tree 了,但卻跟你說沒找到? 請愛用 make fetchindex ■ 機器不正常關機,進 single 模式要修復壞軌,但人待在那邊又覺得太浪費時間? 可以用 fsck -y ; exit 即可 不過也有比較好的方式,是在 /etc/rc.conf 設 fsck_y_enable="YES" background_fsck="YES" 這樣子等於上述的 fsck -y ; exit,如此一來不正常關機之後, 只要請人在機器面前幫忙重開電源即可。 ■ big5, utf-8 轉換(用 iconv 或 piconv) iconv (converters/libiconv): (轉換 Big5 => UTF-8 ) iconv -c -f big5 -t utf-8 BIG5File > UTF8File Perl 的 piconv: piconv -f big5 -t utf-8 BIG5File > UTF8File 同理 UTF-8 轉為 Big5 則是: (iconv 方式) iconv -c -f utf-8 -t big5 UTF8File > BIG5File (piconv 方式) piconv -f utf-8 -t big5 UTF8File > BIG5File ■ 要快速把某檔案內容都清掉? 試試 :> filename 吧 ■ 要快速回到家目錄? 直接打 cd ■ meta-port 是不能 make fetch 的? 試試 make fetch-recursive 吧 ■ 要如何快速察看該 port 的 dependency 關係? 在該 port 目錄打 make all-depends-list ■ 如何快速檢查目前已裝的套件,是否還有未升級的套件? 試試 pkg_version -Iv | awk '$2 !="=" {print $1}' ■ 快速找出目前機器上所用的網卡是哪一張 ifconfig -a | grep mtu | awk -F: '{if ($1 != "lo0") print $1;}' ■ 當更換網路環境時,假設已知目前網卡代號是 fxp0,欲重新以 DHCP 方式要新 IP 那麼打 dhclient fxp0 即可 ■ 如何快速切換 X Window 的解析度大小? 試試 xrandr -s XxY 其中 X 跟 Y 請換成所欲變更的解析度,比如 1024x768 之類 ■ 如何快速檢視系統狀態跟相關資訊 - uptime 可以看出開機時間跟最近 CPU loading 概況 - vmstat 可以看 virtual memory 使用狀況 - pstat -T 可以快速看目前正開啟中的檔案系統總數限制、已用多少, 以及 swap 運用量 - iostat 可以看 disk I/O 的狀況 - swapinfo -h 可以直接只看 swap 部分 - sockstat -4 可以快速察看目前目前哪些 socket 有開啟、哪些程式在開、PID等等 - netstat -rn 可以快速看 routing table netstat -na 可察看網路對外連線概況 - df -h 是看磁碟使用量,而 df -hi 可以多顯示 inode 使用狀況 - top 跟 ps 這應該不用介紹了吧 :p - mailq 可以查 sendmail queue 狀況 Postfix 則是 postqueue -p ■ 凡走過必留下痕跡,像是 shell 通常會有 history 功能, 有些人會覺得在 shell 打指令時,直接打密碼會洩漏在 shell 的 histroy 而認為只要像下面這樣就產生放心的錯覺 『mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON bankaccount.* TO custom@localhost IDENTIFIED BY 'stupid'; 但是密碼會被 hash 過所以看起來是亂碼』 但實際並不然,請翻查 ~/.mysql_history 再來確認一下上述的可信度 比較好的處理方式,請參考 http://dev.mysql.com/doc/refman/5.0/en/mysql-command-options.html#id1129808 ■ 如何得知現在有裝哪些 port/package? 請善用 pkg_info ■ 如何得知該套件裝到哪邊去了? 請善用 pkg_info -L 比如: pkg_info -L perl-5.8.8_1 或者用 pkg_info -L 'perl>0' 亦可 ■ 如何得知某檔案是哪個套件裝的? 請裝 ports-mgmt/portupgrade{,-devel} 裝好後,先 pkgdb -u 更新資料索引一下,然後打 pkg_which 該檔 比方說 pkg_which /usr/local/bin/piconv -- We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. Password:_ -- ◢◣ - ● - ◢██◣◢◣ ` Origin: 宜蘭資教.山水蘭陽 telnet://yilan.twbbs.org ~~ ﹌ ~﹌ From : 220-133-108-147.HINET-IP.hinet.net
文章代碼(AID): #17FonY00 (FreeBSD)
討論串 (同標題文章)
文章代碼(AID): #17FonY00 (FreeBSD)