下載
附錄常用shell命令
本附錄中列舉了一些有用的s h e l l命令。這里并沒有完全列出每個命令的各種選項,不過
對于理解該命令是足夠了。
這些命令的其他一些例子散布于本書的各個部分。
basename
格式:
basename path
b a s e n a m e命令能夠從路徑中分離出文件名。通常用于s h e l l腳本中,請看下面的例子:
如果上面的語句是腳本m y s c r i p t中的一部分,那么它的輸出應為:
myscript: give me a file
其中,$ 0是一個包含當前腳本全路徑的特殊變量。
cat
格式:
cat options files
選項:
- v:顯示控制字符。
c a t是最常用的文本文件顯示命令。
$ cat myfile
上面的命令用于顯示m y f i l e文件。
$ cat myfile myfile2 >>hold_file
上面的命令把兩個文件( m y f i l e和m y f i l e 2 )合并到h o l d f i l e中。
在腳本中c a t命令還可以用于讀入文件。
compress
格式:
compress options files
選項:
- v:顯示壓縮結果。
c o m p r e s s命令可以用來壓縮文件。壓縮后的文件名具有‘ . Z’后綴。還可以使用該命令解
壓文件。
cp
格式:
cp options file1 file2
選項:
- i:在覆蓋文件之前提示用戶,由用戶確認。
- p:保留權限模式和更改時間。
- r:拷貝相應的目錄及其子目錄。
要將文件m y f i l e拷貝到m y f i l e 1 . b a k,使用:
$ cp myfile1 myfile1.bak
要將文件g e t . p r d從/ u s r / l o c a l / s y b i n目錄拷貝到/ u s r / l o c a l / b i n目錄,使用:
要將/ l o g s目錄下的所有文件及子目錄拷貝到/ h o l d / l o g s目錄中,使用:
$ cp -r /logs /hold/logs
diff
格式:
diff options file1 file2
選項:
- c:按照標準格式輸出(見下面的例子)。
- I:忽略大小寫。
我們使用c o m m命令中的例子,d i ff命令將顯示兩個文件中不一致的行。
d i ff命令顯示出兩個文件中的第2行和第3行,它們的第3列不一致。
dircmp
格式:
附錄常用s h e l l命令351
下載
dircmp options directory1 directory2
選項:
- s:不顯示相同的文件。
d i r c m p命令與d i ff命令十分相似—它比較并顯示兩個目錄中的不同。
dirname
格式:
dirname pathname
該目錄正好和b a s e n a m e相反,它返回路徑部分:
du
格式:
du options directory
選項:
- a:顯示每個文件的大小,不僅是整個目錄所占用的空間。
- s:只顯示總計。
d u顯示的磁盤空間占用是以5 1 2字節的塊來表示的。它主要用于顯示目錄所占用的空間。
在本例中, / v a r目錄所占用的空間為1 4 9 2 9塊(每塊5 1 2字節)。
file
格式:
file filename
該命令用來確定文件的類型。
fuser
格式:
fuser options file
選項:
- k:殺死所有訪問該文件或文件系統的進程。
352 附錄常用s h e l l命令
下載
- u:顯示訪問該文件或文件系統的所有進程。
f u s e r命令可以顯示訪問某個文件或文件系統的所有進程。在有些系統上- u和- m選項可以
互換。還可以在i f語句中使用f u s e r命令。
要列出設備/ d e v / h d a 5上的所有活動進程,使用:
要殺死設備/ d e v / h d a 5上的所有進程,使用:
$ fuser -k /dev/hda5
要查看d o c p a r t文件是否被打開,有哪些進程在使用,可用:
有些系統上的f u s e r命令能夠在列表中顯示用戶登錄I D。如果你的系統不具有這樣的功能,
可以按照f u s e r命令輸出中末尾含有‘ e’的數字在ps -ef或ps xa命令的輸出中用g r e p命令查找
相應的用戶登錄I D。
head
格式:
head -number files
h e a d命令可以顯示相應文件的前1 0行。如果希望指定顯示的行數,可以使用- n u m b e r選項。
例如:
$ head -1 myfile
只顯示文件的第一行,而
$ head -30 logfile |more
則顯示l o g f i l e文件的前3 0行。
logname
格式:
l o g n a m e
該命令可以顯示當前所使用的登錄用戶名:
mkdir
格式:
mkdir options directory
選項:
附錄常用s h e l l命令353
下載
- m:在創建目錄時按照該選項的值設置訪問權限。
上述命令創建了一個名為H O L D A R E A的目錄。
more
格式:
more options files
該命令和p a g e及p g命令的功能相似,都能夠分屏顯示文件內容。
選項:
- c:不滾屏,而是通過覆蓋來換頁。
- d:在分頁處顯示提示。
- n:每屏顯示n行。
$ more /etc/passwd
上面的命令顯示p a s s w d文件
$ cat logfile |more
上面的命令顯示l o g f i l e文件。
nl
格式:
nl options file
選項:
- I:行號每次增加n;缺省為1。
- p:在新的一頁不重新計數。
n l命令可用于在文件中列行號,在打印源代碼或列日志文件時很有用。
$ nl myscript
上面的命令將列出m y s c r i p t文件的行號。
$ nl myscript >hold_file
則將上面命令的輸出重定向到h o l d f i l e文件中。
$ nl myscript | lpr
將上面命令的結果重定向到打印機。
printf
格式:
printf format arguments
該命令有點類似于a w k命令的p r i n t f函數,它將格式化文本送至標準輸出。
其中,格式符f o r m a t包含三種類型的項,這里我們只討論格式符:
%[- +]m.nx
354 附錄常用s h e l l命令
下載
其中橫杠-為從行首算起的起始位置。一般說來m表示域的寬度而n表示域的最大寬度。
‘%’后面可跟下列格式字符:
s:字符串。
c:字符。
d:數字。
x:1 6進制數。
o:1 0進制數。
p r i n t f命令本身并不會產生換行符,必須使用轉義字符來實現這樣的功能。下面是最常用
的轉義字符:
\ a:響鈴。
\ b:退格。
\ r:回車。
\ f:換頁。
\ n:換行。
\ t:跳格。
$ printf "Howzat!\n"
H o w z a t !
上面的命令輸出了一個字符串,使用\ n來換行。
上面的命令把1 6進制值轉換為A S C I I字符+。
上面的命令從左起第1 0個字符的位置開始顯示字符串。
pwd
格式:
p w d
顯示當前的工作目錄,可以用:
在上面的腳本中,使用了命令置換來獲得當前目錄。
rm
格式:
rm options files
選項:
附錄常用s h e l l命令355
下載
- i:在刪除文件之前給出提示(安全模式)。
- r:刪除目錄。
r m命令能夠刪除文件或目錄。
上面的第二條命令能夠刪除/ v a r / s p o o l / t m p目錄下的所有文件及子目錄。
rmdir
格式:
rmdir options directory
選項:
- p:如果相應的目錄為空目錄,則刪除該目錄。
$ rmdir /var/spool/tmp/lp_HP
上面的命令將刪除/ v a r / s p o o l / t m p目錄下的l p H P目錄。
script
格式:
script option file
- a:將輸出附加在文件末尾。
可以使用s c r i p t命令記錄當前會話。只要在命令行鍵入該命令即可。該命令在你退出當前
會話時結束。它可以將你的輸入記錄下來并附加到一個文件末尾。
$ script mylogin
將會啟動s c r i p t命令并將所有會話內容記錄在m y l o g i n文件中。
shutdown
格式:
s h u t d o w n
該命令將關閉系統。很多系統供應商都有自己特定的命令變體。
$ shutdown now
上面的命令將會立即關機。
$ shutdown -g60 -I6 -y
上面的命令將會在6 0秒之后關機,然后重新啟動系統。
sleep
格式:
sleep number
該命令使系統等待相應的秒數。例如:
356 附錄常用s h e l l命令
下載
$ sleep 10
意味著系統在1 0秒鐘之內不進行任何操作。
strings
格式:
strings filename
該命令可以看二進制文件中所包含的文本。
touch
格式:
touch options filename
選項:
-t MMDDhhmm 創建一個具有相應月、日、時分時間戳的文件。
下面的命令能夠以當前時間創建文件或更新已有文件的時間戳。
上面的命令以當前時間創建了一個名為m y f i l e的文件。
上面的命令以時間戳6月1 0日上午9 : 3 0創建了一個名為m y f i l e 2的空文件。
tty
格式:
t t y
可以使用t t y來報告所連接的設備或終端。
可以使用tty -s命令來確定腳本的標準輸入。返回碼為:
0:終端。
1:非終端。
uname
格式:
uname options
選項:
- a:顯示所有信息。
- s:系統名。
- v:只顯示操作系統版本或其發布日期。
附錄常用s h e l l命令357
下載
要顯示當前操作系統名及其他相關信息,可以用:
uncompress
格式:
uncompress files
可以使用該命令來恢復壓縮文件。
$ uncompress myfile
上面的命令解壓縮先前壓縮的m y f i l e文件。注意,在解壓縮時不必給出. Z后綴。
wait
格式:
wait process ID
該命令可以用來等待進程號為process ID的進程或所有的后臺進程結束后,再執行當前腳
本。
下面的命令等待進程號為1 2 9 9的進程結束后再執行當前腳本:
$ wait 1299
下面的命令等待所有的后臺進程結束后再執行當前腳本:
$ wait
wc
格式:
wc options file。s
選項:
- c:顯示字符數。
- l:顯示行數。
- w:顯示單詞數。
該命令能夠統計文件中的字符數、單詞數和行數。
在上面第一個例子中, w h o命令的輸出通過管道傳遞給w c命令,該命令顯示出如下的幾
列:
行數、單詞數、字符數
在上面的第二個例子中, w c命令只顯示文件中所包含的行數。
358 附錄常用s h e l l命令
下載
上面的腳本顯示出變量VA R中所包含的字符串的長度。
whereis
格式:
whereis command_name
w h e r e i s命令能夠給出系統命令的二進制文件及其在線手冊的路徑。
注意,在下面的例子中, w h e r e i s命令沒有顯示出相應命令的二進制文件路徑,因為它們
是內建的s h e l l腳本,但是該命令給出了其在線手冊的路徑。
who
格式:
who options
選項:
- a:顯示所有的結果。
- r:顯示當前的運行級別(在L I N U X系統中應當使用r u n l e v e l命令)。
- s:列出用戶名及時間域。
whoami 顯示執行該命令的用戶名。這不是w h o命令的一個選項,可以單獨應用。
w h o命令可以顯示當前有哪些用戶登錄到系統上。要顯示當前登錄的用戶,可以用:
要顯示自己的用戶名,可以用:
附錄常用s h e l l命令359
下載
posted on 2011-05-17 10:11
David1228 閱讀(316)
評論(0) 編輯 收藏