控制鍵:在下命令時一些控制鍵的用法 :
Ctrl-U 刪除整行命令行
Ctrl-W 刪除命令行的最後一個字(Word)
Ctrl-C 中斷程式或 shell script
Ctrl-Z 暫停程式或 shell script
Ctrl-S 暫停往下顯示
Ctrl-Q 繼續往下顯示
Ctrl-O 不要程式的輸出, 但不中斷程式
Ctrl-D 終止檔案輸入(EOF), 或 Logout
與檔案目錄有關的特殊字元:
. 現在目錄 (一個句點)
.. 上一層目錄 (兩個句點)
~ User 之主目錄 (老鼠尾巴)
? 檔名之單一字元 (問號)
* 檔名之所有字元 (星號)
常用命令:
ls 顯示目錄內容, 同 DOS 之 DIR
ls -al 詳細顯示此目錄內的所有檔案 (包含以 . 開頭之隱藏檔)
ls *.c 顯示此目錄內的所有結尾為 .c 的檔案 (unix 無所謂附檔名)
cd 切換目錄
cd 切換目錄至您的主目錄
cd .. 切換目錄至上一層目錄
cd /usr/bin 切換目錄至 /usr/bin
pwd 顯示現在目錄的路徑
mkdir 建一子目錄
mkdir prg 在現目錄下建一子目錄 prg
mkdir prg/c 在子目錄 prg 下建一子目錄 c
rmdir 刪除一子目錄
rmdir prg 刪除子目錄 prg , 但 prg 須為空目錄
file 顯示檔案型態
file * 顯示目錄內所有的檔案型態
cp 拷貝檔案
cp /usr/skel/* . 將 /usr/skel 下的所有檔案拷貝至現目錄下, 不包括子目錄
及隱藏檔 cp -r /usr/demo . 將 /usar/demo 下的檔案及子目錄拷貝至現目錄下
chmod 改變檔案許可權
chmod u+x main 將檔案 main 加上自己可執行的許可
chmod 744 main 將檔案 main 變為自己可讀寫可執行, 別人只可讀
man 顯示命令用法
man find 顯示 find 的使用說明
man man 顯示 man 這個指令的使用說明
more 以頁顯示方式顯示檔案(參考 less 指令)
more aa
less 以頁顯示方式顯示檔案(參考 more 指令)
less aa 直接分頁查看 aa 檔案內容.
cat aa | less 將 aa 的檔案內容整個 pipe 給 less 當作輸入檔案.
註: 使用 less 可以按 PgUp/PgDn 上下回捲內容, 按 / 可搜尋關鍵字.
cat 顯示檔案或建立檔案
cat aa 顯示檔案 aa
cat >aa 由鍵盤輸入建一檔案 aa, 結束按 CTRL-Z 或 CTRL-D
rm 刪除檔案
rm abc 刪除檔案 abc
rm -r c 刪除目錄 c 及其下之檔案和子目錄
rm -rf c 同 rm -r c , 但刪除時將不再一一詢問是否刪除.
mv 搬移檔案
mv * ../prg 將所有檔案移至上層目錄之子目錄 prg 下
ps 顯示系統運作狀況
ps 顯示您的 Process
ps -aux 較詳細的顯示系統內的所有 Process(BSD 系列 UNIX 系統)
ps -ef 同 ps -aux (SVR4 系列 UNIX 系統適用.
jobs 顯示在背景(background)執行, 或暫停的 process
bg 將現正在執行的 process 移至背景(background)執行
Ctrl-Z 先將在執行的 process 暫停
bg 方可下 bg 命令將此 Job 移至 background 執行
fg 將現正在背景執行的 process 移至前景(foreground)執行
fg %2 將 Job2 移至 foregroung 執行
alias 將一命令定別名
alias dir 'ls -al' 如此鍵入 dir 即和 ls -al 一樣
unalias 取消某個別名之設定
unalias dir
write 送一個訊息給正在上線使用的 User
wall 送一個訊息給正所有在上線使用的 User
at 使一串指令在所指定的時間執行
at 6:00 tomorrow < file1 在明天早晨 6:00 開始執行批次檔 file1
atq 顯示有那些 Job 在 Queue 中
atrm 刪除 at_queue 中的 Job
atrm 124 刪除 queue 中的 Job_number 124
batch 使一串指令在 Background 執行 (執行速度會較慢)
batch < file3 執行批次檔 file3
history 顯示前幾次所鍵入的命令(預設是 40 個)
!! 重覆上一命令
passwd 更改密碼
chfn 更改 full name
clear 清除終端機螢幕
date 顯示日期(可以特殊日期格式顯示)
df 顯示磁碟使用量
du 顯示目錄下所使用的磁碟空間
du . 顯示現目錄下之各子目錄使用 Block 數
du -s . 只顯示現目錄以下所使用的 Block 總計
env 顯示目前所有的環境變數
setenv 指定變數值於 shell 中, 供子 shell 使用
setenv LD_LIBRARY_PATH /usr/openwin/lib
set 顯示或定義變數
set term=vt100
unset 取消某個變數的定義
unset term
stty 設定終端機
stty pass8 rows 24
finger 顯示遠端主機 login 狀況
finger @dec2
rehash 若有新的命令檔存入 path 所指定的目錄時, 使 hash table 重建
head 顯示檔首(行、 Block 、字元)
head -5 mbox 顯示 mbox 前五行, 若未指定預設是 10 行
tail 顯示檔尾(行、 Block 、字元)
tail -100 file1
kill 刪除 process 或 job
kill -9 1340 刪除 process 1340 , 必須是自已的 process
kill %1 刪除第一個 Job (background 或 暫停)
rcp 與遠端主機間的檔案拷貝
rcp file1 mail:/home/user/user1 將 file1 拷貝至 mail_host 的
/home/user/user1
rsh 執行遠端主機的命令
rsh sparc20 ls -al 執行 sparc20 的命令
rlogin Login 至遠端主機
rlogin sparc14
split 將大檔案分割成數個小檔案
split -100 big_file sf 將 big_file 以每 100 行為一個檔案寫至
sfaa sfab ...
sort 排序檔案內容
sort file1 > file2 將 file1 由小到大排序至 file2
sort -t: +2 file3 > file4 將 file3 以 : 作欄分界, 以第三欄排序至 file4
cut 挑出檔案的部份欄資料
cut -f1,5 -d. file1 >file2 將 file1 以 . 作欄分界, 挑出第一、五欄寫至 file2
source 執行一 shell script file
source .cshrc
tar 產生或解開檔案庫
tar -cvf bin.tar ./bin 將 ./bin 下之檔案及其子目錄製成一檔案庫 bin.tar
tar -xvf bin.tar 將檔案庫 bin.tar 解開成
tar -cvzf test.tgz ./aaa 將 ./aaa 目錄下所有檔案使用 gzip 方式壓到 test.tgz 檔中.
tar -xvzf test.tgz 將 test.tgz 檔中所有檔案解壓出來.
umask 設定以後建立檔案及目錄的存取權利
umask 077 使其它 User 皆無法讀寫執行您的檔案及目錄
wc 計算檔案長度
w 顯示誰 Login 至本系統
find 找尋檔案
find . -atime +7 -print 找尋現目錄下的所有子目錄及檔案, 其最後一次讀取
為 7 天以上者
find /usr -name "*.h" -print 找尋 /usr 下的所有子目錄及檔案, 其檔名為
.h 結尾者
uuencode 將二進位檔以編碼方式變成一 ASCII 檔
uuencode file_a file_b >file_c 將 file_a 編碼並以 file_b 為 Label 寫至
file_c
uudecode 將 uuencode 過的檔案回復為原來的內容
uudecode file_c 解碼後的檔案其檔名為 file_b
compress 將檔案壓縮以減少空間
compress file1 >file1.Z
uncompress 將壓縮過的檔案回復
uncompress file1.Z
cmp 比較兩個本文檔或非本文檔不同的地方
diff 比較兩個本文檔不同的地方
sh 開一個 Bourne Shell 命令解譯器
grep 在本文檔中找尋字串
grep 'how are you' file1
ps -aux |grep user1 找尋所有 process 中有 user1
ln 連結檔案或目錄
ln file1 file2 將原先檔案 file1 連結一份至 file2
ln -s /usr/games games 將 /usr/grams 連結成現目錄下之子目錄 games