(一)基本命令
命令格式: 命令 參數(shù)
1. ls 顯示文件名,等同于dos下dir命令
命令格式:ls [option] file
option:
-l 顯示詳細列表
域1 :文件類型和文件權(quán)限
域2 :文件連接數(shù)
域3 :文件所有者名字
域4 :文件用戶組名字
域5 :文件長度
域6-8 :最近修改日期
域9 :文件名
-a 顯示所有文件,包含隱藏文件(以. 起頭的文件名)
-R 顯示文件及所有子目錄
-F 顯示文件(后跟*)和目錄(后跟/)
-d 與l選項合用,顯示目錄名而非其內(nèi)容
2.cd 目錄轉(zhuǎn)換,等同于dos下cd命令
注意目錄分隔符為“/”,與dos相反
命令格式:cd dirname
3.pwd 顯示當前路徑
4.cat 顯示文件內(nèi)容,等同于dos下type命令
命令格式:cat filename
5.more 以分頁方式查看文件內(nèi)容.
命令格式:more filename
6.rm 刪除文件
命令格式: rm [-r] filename (filename 可為檔名,或檔名縮寫符號.)
例子 :
rm file1 刪除檔名為 file1 之文檔.
rm file? 刪除檔名中有五個字元,前四個字元為file 之所有文檔.
rm f* 刪除檔名中,以 f 為字首之所有文檔.
rm -r dir1 刪除目錄 dir1,及其下所有文檔及子目錄.
7.mkdir 創(chuàng)建目錄
命令格式: mkdir [-p] directory-name
Exmaple :
mkdir dir1 建立一新目錄 dir1.
mkdir -p dir/subdir 直接創(chuàng)建多級目錄
8.rmdir 刪除目錄
目錄必須首先為空
命令格式: rmdir directory
9.cp 文檔復(fù)制
命令格式: cp [-r] source destination
例子:
cp file1 file2 將文檔 file1 復(fù)制成 file2
cp file1 dir1 將文檔 file1 復(fù)制到目錄 dir1 下,文件名仍為 file1.
cp /tmp/file1 . 將目錄 /tmp 下的文檔 file1復(fù)制到現(xiàn)行目錄下,
檔名仍為 file1.
cp /tmp/file1 file2 將目錄 /tmp 下的文檔 file1現(xiàn)行目錄下,檔名
為file2
cp -r dir1 dir2 (recursive copy) 復(fù)制整個目錄.
若目錄 dir2 存在,則將目錄dir1,及其所有文檔和子目錄,
復(fù)制到目錄 dir2 下,新目錄名稱為dir1.若目錄dir2不存在,
則將dir1,及其所有文檔和子目錄,復(fù)制為目錄 dir2.
10.mv 文件移動
命令格式: mv source destination
例子:
mv file1 file2 將文檔 file1,更改檔名為 file2.
mv file1 dir1 將文檔 file1,移到目錄 dir1 下,檔名仍為 file1.
mv dir1 dir2 若目錄 dir2 不存在,則將目錄 dir1,及其所有檔
案和子目錄,移到目錄 dir2 下,新目錄名稱為 dir1.
若目錄 dir2 不存在,則將dir1,及其所有文檔和子
目錄,更改為目錄 dir2.
11.du 查看目錄所占磁碟容量
命令格式: du [-sk] directory
例子 :
du dir1 顯示目錄 dir1 的總?cè)萘考捌浯文夸浀娜萘?/p>
du -sk dir1 顯示目錄 dir1 的總?cè)萘?以k bytes為計量
12.find 文件查找
命令格式: find dir -name filename command
例子:
find . -name hello -print 尋找目前目錄及所有的子目錄內(nèi)叫
hello的文檔.
find . -ctime +7 -print 找出七天內(nèi)未被更動的文檔
find . -size +2000m -print 找出大小超過2000 bytes的文檔
find /tmp -user b1234567 -print 在/tmp下屬於b1234567的文檔
find . -name '*.c' -exec rm {} 刪除所有的.c檔
find . -name test* -print 顯示當前目錄及其子目錄文件名前4
位為test的文件名
13.vi 編輯器
命令狀態(tài):
j,k,h,l:上下左右
0: 行首
$: 行尾
i,I :插入命令,i 在當前光標處插入 I 行首插入
a,A:追加命令,a 在當前光標后追加,A 在行末追加
o,O:打開命令,o 在當前行下打開一行,O在當前行上插入一行
r,R :替換命令,r 替換當前光標處字符,R從光標處開始替換
數(shù)字s: 替換指定數(shù)量字符
x: 刪除光標處字符
dd: 刪除當前行
d0: 刪除光標前半行
d$: 刪除光標后半行
ctrl+f :后翻頁
ctrl+b:前翻頁
G : 文件尾
數(shù)字G: 數(shù)字所指定行
/string 查找字符串
n 繼續(xù)查找
N 反向繼續(xù)查找
% 查找對應(yīng)括號
u 取消上次操作
ex命令狀態(tài)
:set number 顯示行號
:set smd 顯示顯示狀態(tài)
:0 文件首
:1,5 copy 7 塊拷貝
:1,5 del 塊刪除
:1,5 move 7 塊移動
:1,$s/string1/string2/g 全文件查找string1并替換為string2
:wq! 存盤退出
(二) 增強命令
1. ln 文檔連結(jié)
命令格式:ln -s oldname newname ( Hard link )
同一文檔,可擁有一個以上之名稱,可將文檔做數(shù)個連結(jié).
例子 :
ln -s file1 file2 將名稱 file2,連結(jié)至文檔 file1.
2.grep 搜索字符串
命令格式:
grep string filename
尋找字串的方法很多,比如說我想找所有以M開頭的行.此時必須引進pattern的觀
念.以下是一些簡單的□例,以及說明:
^M 以M開頭的行,^表示開始的意思
M$ 以M結(jié)尾的行,$表示結(jié)束的意思
^[0-9] 以數(shù)字開始的行,[]內(nèi)可列舉字母
^[124ab] 以1,2,4,a,或b開頭的行
^b.503 句點表示任一字母
- 星號表示0個以上的字母(可以沒有)
- 加號表示1個以上的字母
. 斜線可以去掉特殊意義
<eg> cat passwd | grep ^b 列出大學部有申請帳號者名單
cat passwd | grep ^s 列出交換學生申請帳號者名單
cat passwd | grep '^b.503' 列出電機系各年級...
grep '^.' myfile.txt 列出所有以句點開頭的行
3.fgrep 搜索字符串
命令格式:fgrep string file
4.file 顯示文件類型
命令格式:file fileall
文件類型為shell script,ELF 32bit,ASCII text,data or tar file
5.diff 比較文檔或目錄之不同內(nèi)容
命令格式:diff [-r] name1 name2 ( name1 name2 可同時為檔名,或目錄名稱.)
例子 :
%diff file1 file2
比較文檔 file1 與 file2 內(nèi),各行之不同處.
%diff -r dir1 dir2
比較目錄 dir1 與 dir2 內(nèi),各文檔之不同處.
6.cmp 比較文檔相同部分
命令格式:cmp file1 file2
7.ftp 遠程文件傳輸
命令格式: ftp [hostname|IP address]
在進入 ftp 之後,如果與 remote host 連接上了,它將會詢問你 username
與密碼,如果輸入對了就可以開始進行文檔傳輸.
注意:如用戶無密碼,無法注冊
(1) ftp 命令
ascii 將傳輸模式設(shè)為 ascii 模式.通常用於傳送文字檔.
binary 將傳輸模式設(shè)為 binary 模式,通常用於傳送執(zhí)行檔,壓縮檔與影像
檔等.
cd remote-directory 將遠程主機上的工作目錄改變.
lcd [ directory ] 更改本地主機的工作目錄.
ls [ remote-directory ] [ local-file ] 列出遠程主機上的文檔.
get remote-file [ local-file ] 取得遠方的文檔.
mget remote-files 可使用通用字元一次取得多個文檔.
put local-file [ remote-file] 將本地主機的文檔送到遠程主機.
mput local-files 可使用通用字元一次將多個文檔放到遠程主機上.
help [ command ] 線上輔助指令.
mkdir directory-name 在遠程主機創(chuàng)建一個目錄.
prompt 更改交談模式,若為 on 則在 mput 與 mget 時每作一個文檔之傳
輸時均會詢問.
quit/bye 離開ftp .
(2) 后臺執(zhí)行ftp
1.首先,將過程所用到的指令依順序放入文檔中,如下:
%cat ftp_command
!mkdir test
lcd test
cd test
prompt
binary
mget .
bye
2.其次,建一個.netrc檔,屬性為400,讓ftp 自動到此讀取Username
與Password,方可順利login 到的主機,如下:
%cat .netrc
machine remote login anonymous password guest
3.最後再執(zhí)行下面指令即可.
%nohup ftp remote < ftp_command > message &
8.telnet 遠程終端訪問
命令格式:
telnet [hostname|IP address]
9.IO 重新導(dǎo)向
UNIX所有的程式執(zhí)行時,均需要資料的輸入以及輸出資料.一般而言,資料是
從鍵盤輸入,并將資料輸出到螢?zāi)簧?,這就叫做標準輸入及標準輸出,而我們
可以更改標準出輸出入.
A. 更改標準輸入 —— 在命令後方加"< <filename>" ,即可從<filename>這
個文檔輸入資料.
B. 更改標準輸出 —— 在命令後方加"> <filename>" ,即可將螢?zāi)惠敵龅馁Y
料導(dǎo)向到<filename>這個文檔上.
C. 更改標準輸出 —— 在命令後方加">> <filename>",功能與B.相似,只不
過這會將資料加在文檔後方.
D. 管道 —— 在兩個命令中間加上'|',即可將前方指令的輸出當成後方指令
D. 管道 —— 在兩個命令中間加上'|',即可將前方指令的輸出當成後方指令
的輸入.
2.關(guān)于進程處理的命令:
ps——顯示目前你的 process 或系統(tǒng) processes 的狀況
格式:
ps [-aAdefl] [-G groups] [-o format] [-p pids] [-t termlist] [-u users] [-U users] [-g pgrplist]
常用參數(shù):
-a 列出所有用戶的 process 狀況。
-u 顯示 user - oriented 的 process 狀況 。
-x 顯示包括沒有 terminal 控制的 process 狀況 。
-w 使用較寬的顯示模式來顯示 process 狀況 。
例:
- ps -ae (顯示所有進程的進程號及狀態(tài))
- ps -u ilasnt1 (顯示用戶ilasnt1的進程狀態(tài))
PID TTY TIME CMD
1194 ttyp0 00:00:00 sh - ps -t tty1a (顯示設(shè)備tty1a上的進程)
如上所示:我們可以經(jīng)由 ps 取得目前 processes 的狀況,如 PID(進程號) , TTY(設(shè)備名)、TIME(時間)、CMD(程序名) 等。
kill——殺進程
kill 指令的用途是送一個信號給某一個進程。因為大部份送的都是用來殺掉進程 ,因此稱為 kill 。
格式:
kill [ -SIGNAL ] pid ...
kill -l
SIGNAL :為一個訊號的數(shù)字,從 0 到 31 ,其中 9 是 SIGKILL ,也就是一般用來殺掉一些無法正常終止進程的訊號。
你也可以用 kill -l 來察看可代替 signal 號碼的數(shù)目字。
3.用戶操作指令
Who——查詢目前有那些人在線
例:
- who
ilasnt1 ttyp0 May 24 10:23
root ttyp3 May 24 11:27
root ttyp4 May 24 09:39
w——查詢目前有那些人在線上,同時顯示出那些人目前的工作
例:
- w
12:17pm up 3:59, 3 users, load average: 2.03, 2.02, 2.00
User Tty Login@ Idle JCPU PCPU What
ilasnt1 ttyp0 10:23am 1:54 1 - -sh
root ttyp3 11:27am 2 1 - w
root ttyp4 9:39am 38 1 - -sh
chgrp——改變組的屬性
格式:
chgrp [-R] group file...
例:
chgrp library file1 file2… (將file1、file2…等的用戶組改為library)
chown——改變文件或目錄的所有者
格式:
chown [-R] owner[:group] file...
例:chown ilasnt1 ilasII_GB (將ilasII_GB的用戶主改為ilasnt1)
passwd——更改用戶口令
格式:
passwd 用戶名 (后面不跟用戶名,為修改root的口令)
4.網(wǎng)路指令
UNIX 提供網(wǎng)路的連接,使得你可以在各個不同的機器上做一些特殊的事情。有些工作可以利用 UNIX 的網(wǎng)路指令,在你的位子上連到各個不同的機器上工作。如此一來,即使你在寢室,也能輕易的連至系上或計中來工作,不用像以前的人必須泡在冷冰冰的機房面。
這些網(wǎng)路的指令如下所述:
telnet——仿真終端程序
telnet 是一個提供 user 經(jīng)由網(wǎng)路連到 remote host。
格式:
telnet [ hostname | ip-address ] [ port ]
其中:
hostname:為一個像 ccsun1 或是 ccsun1.cc.nctu.edu.cn 的 name address;
ip-address:則為一個由四個小於 255 的數(shù)字組成的IP地址,如 140.113.17.173 、210.26.147.1等。
Port:為一些特殊的程式所提供給外界的溝通點。如對方?jīng)]要求,則不需要此項。
例:
telnet ccsun1
telnet 140.113.17.173
ftp——文件傳輸協(xié)議
ftp 的意義是 File Transfer Program ,是一個很常應(yīng)用在網(wǎng)路檔案傳輸?shù)?br>
程序。
格式:
ftp [ hostname | ip-address ]
其中 hostname | ip-address 的意義同telnet 。
在進入 ftp 之後,如果與 remote host 連接上了,它將會詢問你用戶名
與密碼,如果輸入對了就可以開始進行檔案傳輸。
ftp中常用命令:
ascii:將傳輸模式設(shè)為 ascii 模式。通常用於傳送文字檔。
binary:將傳輸模式設(shè)為 binary 模式,通常用於傳送執(zhí)行檔,壓縮檔與影像檔等。
cd remote-directory:將 remote host(遠方)上的工作目錄改變。
lcd [ directory ]:更改 local host (本地)的工作目錄。
ls [ remote-directory ] [ local-file ]:列出 remote host 上的檔案。
get remote-file [ local-file ]:取得遠方的檔案。
mget remote-files :可使用通用字元一次取得多個檔案。
put local-file [ remote-file]: 將 local host 的檔案送到 remote host。
mput local-files :可使用通用字元一次將多個檔案放到 remote host 上。
help [ command ]: 線上輔助指令。
mkdir directory-name :在 remote host 造一個目錄。
prompt 更改交談模式,若為 on 則在 mput 與 mget 時每作一個檔案之傳
輸時均會詢問。
quit/bye 離開ftp .
5.其他指令
備份命令:tar(c)
tar 是對非特權(quán)用戶最易用和最可靠的實用程序(utility),從歸檔介質(zhì)上保留和恢復(fù)文件,亦能從多文件歸檔中抽取單個文件。
tar 歸檔使用文件和目錄的相對或絕對路徑名。
打入 tar,即會顯示所有變量選項;
如:
tar -{txruc}[0-9vfbkelmnopwAFLTP] [tapefile] [blocksize] [tapesize] files...
Key Device Block Size(K) Tape
0 /dev/rfd048ds9 18 360 No
1 /dev/rfd148ds9 18 360 No
2 /dev/rfd096ds15 10 1200 No
3 /dev/rfd196ds15 10 1200 No
4 /dev/rfd0135ds9 18 720 No
5 /dev/rfd1135ds9 18 720 No
6 /dev/rfd0135ds18 18 1440 No
7 /dev/rfd1135ds18 18 1440 No
8 /dev/rStp0 20 0 Yes
9 /dev/rctmini 20 0 Yes
10 /dev/rdsk/fp03d 18 720 No
11 /dev/rdsk/fp03h 18 1440 No
12 /dev/rdsk/fp03v21 10 20330 No
其中:
“cv”是創(chuàng)建歸檔;
“cv#”用於來自 /etc/default/tar 的設(shè)備號 #;
“rv”追加已有歸檔;
“uv”更新在已有歸檔上的文件;
“tv”顯示歸檔內(nèi)容表;
“xv”從歸檔中抽取文件;
“f”從指定文件中讀入或?qū)懗觯?br>
“L”使 tar跟隨符號連接繼續(xù)追查下去,默認情況下則會忽略符號連接。
例:
(1)要歸檔指定文件,而復(fù)蓋盤上的已有數(shù)據(jù),指令如下:
$cd pub
$tar cv8 ascii greek (8為磁帶機)
volume end at 1199k, block factor=5k
seek=0k a ascii 3k
seek=3k a greek 1k
(2)要列出 tar 歸納的內(nèi)容:
$tar tv8
rwxrwxrwx201/50 1731 Apr 11 00:58 1997 web50/WEB/srchbib.htm
rwxrwxrwx201/50 1002 Apr 11 00:58 1997 web50/WEB/readinfo.htm
rwxrwxrwx201/50 1070 Apr 11 00:58 1997 web50/WEB/stflag.gif
rwxrwxrwx201/50 45 Mar 22 01:27 1997 web50/WEB/cgi-bin/ILASPROF
rwxr-xr-x201/50 136799 Apr 10 04:10 1998 web50/WEB/cgi-bin/openhold
注意:創(chuàng)建 tar 歸檔,使用相對路徑名,否則,恢復(fù)另一系統(tǒng)就會蓋寫其他系統(tǒng)的文件。如:
tar cv8 /etc/motd
cd /tmp
tar xv8
x /etc/motd, 943 bytes,2k
Df——顯示硬盤空間使用情況
磁盤空間以塊為單位進行分配,典型的塊是512字節(jié)。
例:
- df -v
Mount Dir Filesystem blocks used free %used
/ /dev/root 2123740 990450 1133290 47%
/stand /dev/boot 100000 19796 80204 20%
/u /dev/u 15000000 12529568 2470432 84%
Du——檢測一個目錄和(遞歸地)所有它的子目錄中的文件占用的磁盤空間,用塊大小標識。
例:
du
du -s 只顯示整個目錄占用的空間
Find——從指定路徑開始查找?guī)в幸?guī)定特征的文件
例:
find / -name ilas.ini (從根目錄開始遞歸地尋找出名為ilas.ini的文件,并將它所在目錄顯示在屏幕上)
Date——顯示系統(tǒng)日期
例:
date
Thu May 24 14:31:49 CST 2001
Format——軟盤格式化
例:
format /dev/rfd096ds15 (格式化5寸高密軟盤(A驅(qū)動器)
Haltsys——緊急關(guān)機
格式:#haltsys 回車 (此時未執(zhí)行關(guān)閉數(shù)據(jù)庫等,最好用Shutdown)
Shutdown——多用戶情況下關(guān)機
格式:
shutdown -g0 -y -i0