Linux雖然“不復雜”,但要用好它卻還有不少“講究”。原因是要用好還涉及到相當數量的技巧。筆者在此收集、整理了一些Linux技巧,希望能為大家“用順”Linux提供方便。
1.在Redhat下顯示彩色目錄及文件列表
用ls --color --F命令,參數--color指示用彩色顯示,參數-F會在文件/目錄名后加一個字符來指示它的類別。
建議初學者用man ls看看詳細信息。比如用-l參數列出文件/目錄的絕大部分信息(長格式示);用-a參數列出所有文件;包括首字符為“.”的隱含文件;用-N參數不處理文件名直接顯示,這樣在中文環境下就可以顯示中文文件名了。還要注意ls與其它命令搭配使用可以生出很多技巧(最簡單的如“ls -l | more”)。
為了方便起見,你可以編輯/etc/bashrc或home目錄下的.bashrc,加入一行:
alias ls=″ls --color -F -N″
重新運行一下bash會立即生效,如果加在/etc/bashrc里則對所有使用bash shell的用戶有效。如果使用的是其它的shell,則去找對應的配置文件。注意它不是/etc/aliases文件,那是sendmail的別名配置文件。
ls顯示的顏色是可以修改的,請參考“Colours with Linux terminals”,它里面有個shell腳本可以顯示所有的ANSI顏色。你可以去看一下/etc/DIR_COLORS或$HOME/.dir_colors,要注意兩個文件的作用范圍不同。
也可以用dircolors -p命令列出設置,更詳細信息見“man dircolors”。
2.列出除某些類型文件外的當前目錄內所有文件
使用Ksh,用ls !(*.Z)命令可以顯示所有文件,除了*.Z文件。
這個命令在一個目錄里有許多種類型文件時很有用。
3.刪除一個目錄下的所有文件和子目錄及子目錄下的所有文件
用rm -rf /tmp/example命令
這些都是給懶人們準備的,新手最好多用man命令學習。要是你英語不好,就只好等待中文版了。
4.快速進入某些目錄
鍵入 cd~(或cd SHOME)可進入用戶的home目錄.
鍵入 cd - 可進入上一次所在的目錄.
5.顯示環境變量
echo S HOME 顯示家目錄
echo S PATH 顯示可執行文件搜索路徑
env 顯示所有環境變量(可能很多,最好用″env | more″,″env | grep PATH″等)
修改環境變量,在bash下用export,在csh下用setenv。比如:
export PATH=SPATH:/usr/local/bin
要想知道export的具體用法,可以用shell的help命令:help export
6.查找文件
使用find命令,比如:
find /usr -name XF86* 在/usr目錄下(包含子目錄)查找名字前四個字母為XF86的文件
find . -name netscape -print 在當前目錄下(包含子目錄)查找名為netscape的文件
find /home -nouser 在/home目錄下查找沒有用戶屬主的文件(用戶帳號被刪除但有遺留文件)
find /var -newer test 在/var目錄下查找比test文件日期更新的文件
find命令有很多參數,注意用man命令查看。
更快速的查找文件是使用locate,第一次使用locate之前用updatedb來更新文件/目錄名數據庫。
它把文件/目錄信息寫到數據庫中,以后查找起來就特別快。updatedb放在crontab中而且缺省配置是在半夜自動執行。locate存在輕微的安全性問題,因為普通用戶可以用它來取得自己不能訪問的目錄/文件的部分信息。現在有個secure locate,把uid/gid也保存到數據庫中,用戶在locate時先比較權限。
7.控制臺下回卷屏幕
如何查看已經卷過屏幕的信息呢?試試這兩個按鍵組合:shift+PageUp和shift+PageDown,它們對xterm/nxterm/cxterm/xxgdb都有效。而KDE帶的KVT已經做得很好了。
8.查看文件內容的特殊方法
相信你對最基本的cat和less已經很熟悉了,如果有特殊的要求呢:
如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd
如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd
tail -f /var/log/messages
參數-f使tail不停地去讀最新的內容,這樣有實時監視的效果,當你在ppp撥號的過程中用它豈不是很方便!
查看文件中間一段,你可以使用sed命令,如:
sed -n ′5,10p′ /etc/passwd
這樣你就可以只查看文件的第5行到第10行。
9.啟動一個程序時讓它立即進入后臺運行方式
看過前面一篇bash的介紹應該明白Ctrl+z/bg/fg的用法。有些程序工作起來挺費時間,在它后面加個&符號看看,例如“updatedb &”,“netscape &”等等。這樣這個shell會釋放出來干別的活。請注意這樣出來的程序父進程仍然是這個shell,若你退出這個shell,這些程序也會被kill掉。建議退出shell之前用jobs命令查看后臺作業。