給出要查命令所有選項的含義,以及命令的詳細說明
相當於DOS的dir
它的常用選項有-l(顯示文件的詳細信息),-a(顯示包括隱含文件在內),-R(recursive,顯示子目錄中所有的文件和子目錄),-t(依照文件最後修改時間的順序列出文件名).例如:ls 列出目前目錄下的文件名。
ls -a 列出包含以.起始的隱藏文件在內的所有文件名。
ls -t 依照文件最後修改時間的順序,依序列出文件名。
ls -l 列出目錄下所有文件的許可權、擁有者、文件大小、修改時間及名稱。
ls -R 顯示出目錄下,以及其所有子目錄的文件名。
內容很多一屏顯示不完時,可用管道符連接more命令,每顯示一屏暫停,按空格鍵繼續.如: ls -altR | more
注意:
ls rms*.* 將列出rms.ini這類中間帶"."的文件,而不會列出rms這類不帶"."的文件,用ls rms* 可以把帶"."和不帶"."的文件都列出
相當於DOS的cd,和DOS的cd不一樣的是,只輸入cd將回到HOME目錄
相當於DOS的del,支持通配符*和?,例如rm file*, 爲了不誤刪除想要的文件,在用通配符刪除之前,先用ls file* 看看是否列出的文件都需要刪除.要注意,用命令行刪除的文件是無法恢復的,Unix操作系統因爲多用戶的原因,無法提供DOS下的undelete命令.如果在Solaris的CDE環境下,扔到垃圾箱裏的文件是可以恢復的,因爲扔到垃圾箱裏的文件並沒有被真正刪除.
rm -r <目錄名>;
相當於DOS的deltree,小心使用.例如:rm file1 刪除文件名爲 file1 的文件。
rm file? 刪除文件名中有五個字符,前四個字符爲file 的所有文件。
rm f* 刪除文件名中以 f 開頭的所有文件。
相當於DOS的copy,和DOS的copy不一樣的是,必須指定源文件名和目的文件名.cp -r <源文件>; <目的文件>; 相當於DOS的xcopy,帶子目錄的拷貝.例如:cp file1 file2 將文件 file1 複製成 file2
cp file1 dir1 將文件 file1 複製到目錄 dir1 下,文件名仍爲 file1.
cp /tmp/file1 . 將目錄 /tmp 下的文件 file1 複製到當前目錄下,文件名仍爲 file1。
cp /tmp/file1 file2 將目錄 /tmp 下的文件 file1 複製到現行目錄下,文件名爲 file2
cp -r dir1 dir2 複製整個目錄。若目錄 dir2 已經存在,則將目錄 dir1,及其所有文件和子目錄,複製到目錄 dir2 下,新目錄名稱爲 dir1,即dir2/dir1。若目錄 dir2 不存在,則將dir1,及其所有文件和子目錄,複製爲目錄 dir2。
相當於DOS的move,常用來給文件換名.例如:mv file1 file2 將文件 file1,更改文件名爲 file2。
mv file1 dir1 將文件 file1,移到目錄 dir1 下,文件名仍爲 file1。
mv dir1 dir2 若目錄 dir2 已經存在,則將目錄 dir1,及其所有文件和子目錄,移到目錄 dir2 下,新目錄名稱爲 dir1,即dir2/dir1。若目錄 dir2 不存在,則將dir1更改爲目錄 dir2。
顯示滿一屏就暫停,按空格鍵翻到下一頁,按回車鍵看下一行。其它命令的輸出太多來不及細看時,常通過管道操作符"|"輸出到more來分屏顯示輸出內容。
例如:
more file1 以分頁方式,查看文件名 file1 的內容。
ls -l | more 把ls -l的輸出通過管道符輸出到more來分屏顯示輸出內容。
格式:chmod [-R] mode name
name 可爲文件名或目錄名;mode可爲 3 個 0-7 的數字,或利用ls -l 命令,列出
文件或目錄的讀、寫、執行允許權的文字縮寫。)
mode : rwx rwx rwx r:read w:write x:execute
user group other
縮寫 : (u) (g) (o)
例如:
%chmod 755 dir1 把目錄dir1設定成任何使用者,都能讀取和執行,但只有所有者可做修改。
%chmod 700 file1 把文件file1設定只有所有者可以讀、寫和執行。
%chmod u+x file2 把文件file2增加所有者可以執行的權利。
%chmod g+x file3 把文件file3增加工作組使用者可執行的權利。
%chmod o-r file4 把文件file4除去其它使用者可讀取的權利。
格式:chown [-R] username name
name 可以是文件名或目錄名。
例如:
%chown user file1
將文件 file1 的所有權,改爲使用者 user 所有。
%chown -R user dir1
將目錄 dir1,及其下所有文件和子目錄的所有權,改爲使用者 user 所有。
格式:chgrp [-R] groupname name
name 可爲文件名或目錄名
例如:
%chgrp sbsrms file1
將文件 file1 的工作組所有權,改爲 sbsrms 工作組。
%chgrp -R bin dir1
將目錄dir1,及其下所有文件和子目錄,改爲 bin 工作組。
只輸入date就顯示當前的工作站時間,如果有root超級用戶權限,加上參數可以修改 工作站的時間。
格式:date mmddHHMM[cc]yy
mm--月份,dd--日期,HH--小時,MM--分鐘,cc--世紀(可選),yy--年份
例如:
#date 1023153098 將把工作站系統時間改爲1998年10月23日15點30分
改變自己的用戶名進入其他使用者的帳號,擁有其使用權利。不指明用戶名,就進入root超級用戶。
例如:
%su user 進入使用者 user 的帳號
passwrod: 輸入使用者 user 的密碼
例如:
%passwd rms 更改用戶rms的口令
例如:
#/usr/sbin/shutdown -y -g0 -i0 輸入絕對路徑,以保證是執行關閉系統的shutdown程序
格式:find search-path -name filename -print
例如:
%find / -name file1 -print ( 從根目錄開始尋找 file1文件,並給出它的路徑。)
vi是在工作站上廣泛使用的編輯軟件。對初學者而言,
常因其特殊的使用方法,而不得其門而入;對已經在使用 vi 的使用者來說,也
常見因對 vi 的不熟悉或不夠了解,而無法發揮出 vi 強大的編輯能力,以下將
簡單介紹 vi 的使用方法。不必死記硬背,多實際操作幾次就能記住常用的命令。
進入vi
直接執行 vi編輯程序即可:
%vi test
此刻屏幕上會出現 vi 的編輯屏幕,同時 vi 會將文件複製一份至內存中的緩衝區 (buffer) 。 vi會保留在硬盤中的文件不變,而先對緩衝區的文件作編輯,編輯完成後,使用者可決定是否要取代原來舊有的文件。
離開vi
若在輸入模式下,則先利用《ESC》進入指令模式,而後即可選用下列指令
離開vi。
:q! 離開vi,並放棄剛在緩衝區內編輯的內容。
:wq 將緩衝區內的資料寫入硬盤中,並離開vi。
:ZZ 同wq。
:x 同wq。
:w 將緩衝區內的資料寫入硬盤中,但並不離開vi。
:q 離開vi,若文件被修改過,則會被要求確認是否放棄修改的內容。
此指令可與:w 配合使用。
。當使用者進入 vi 後,即處在指令模式下,此刻鍵入的任何字符都被視爲
指令。在此模式下可進行刪除、修改等動作。若要輸入資料,則需進入輸入
模式。
a (append) 由光標之後加入資料。
A 由該行之末加入資料。
i (insert) 由光標之前加入資料。
I 由該行之首加入資料。
o (open) 新增一行於該行之下以供輸入資料。
O 新增一行於該行之上以供輸入資料。
如何離開輸入模式
《ESC》 結束輸入模式。
h 向左移一個字符。
j 向上移一個字符。
k 向下移一個字符。
l 向右移一個字符。
0 移至該行之首
$ 移至該行之末。
^ 移至該行的第一個字符處。
H 移至屏幕的第一列。
M 移至屏幕的中間那列。
L 移至屏幕的最後一列。
G 移至該文件的最後一列。
+ 移至下一列的第一個字符處。
- 移至上一列的第一個字符處。
( 移至該句之首。 (注一)
) 移至該句之末。
{ 移至該段落之首。 (注二)
} 移至該段落之末。
nG 移至該文件的第 n 列。
n+ 移至光標所在位置之後的第 n 列。
n- 移至光標所在位置之前的第 n 列。
<Ctrl>;<g>; 會顯示該行的行號、文件名稱、文件中最末行的行號、光標
所在行號佔總行號的百分比。
注二:段落(paragraph)在vi中是指以空白行隔開的文字。
<Ctrl>;<b>; 屏幕往上卷一頁。
<Ctrl>;<d>; 屏幕往下卷半頁。
<Ctrl>;<u>; 屏幕往上卷半頁。
<Ctrl>;<e>; 屏幕往下卷一行。
<Ctrl>;<y>; 屏幕往上卷一行。
Operator + Scope = command
(運算子) (範圍)
運算子:
d 刪除指令。刪除資料,但會將刪除資料複製到內存緩衝區。
y 將資料(字組、行列、句子或段落)複製到緩衝區。
p 放置(put)指令,與 d 和 y 配和使用。可將最後delete或yank的資
料放置於光標所在位置的行列下。
c 修改(change)指令,類似delete與insert的組合。刪除一個詞組、句
子等的資料,並插入新輸入的資料。
e 由光標所在位置至該字符串的最後一個字符。
w 由光標所在位置至下一個字符串的第一個字符。
b 由光標所在位置至前一個字符串的第一個字符。
$ 由光標所在位置至該行的最後一個字符。
0 由光標所在位置至該行的第一個字符。
) 由光標所在位置至下一個句子的第一個字符。
( 由光標所在位置至該句子的第一個字符。
{ 由光標所在位置至該段落的最後一個字符。
} 由光標所在位置至該段落的第一個字符。
dd 刪除整行。
D 以行爲單位,刪除光標後的所有字符。
cc 修改整行的內容。
yy yank整行,使光標所在該行復制到內存緩衝區。
X 刪除光標所在之前一字符。
dd 刪除光標所在該行。
r 用接於此指令之後的字符取代(replace)光標所在字符。
如: ra 將光標所在字符以 a 取代之。
R 進入取代狀態,直到《ESC》爲止。
s 刪除光標所在的字符,並進入輸入模式直到《ESC》。
S 刪除光標所在的該行資料,並進入輸入模式直到《ESC》。
利用 yank 及 put 指令可完成資料複製的目的。
可將緩衝區內的資料複製到屏幕上。
例:
移動一行 .在該行執行 dd
.光標移至目的地
.執行 p
複製一行 .在該行執行 yy
.光標移至目的地
.執行 p
次。
例:
刪除10行 .10dd
複製10行 .10yy
.光標移至目的地
.p
指標往下移10行 .10j
U 恢復光標該行的所有改變。
?字符串 往光標之前尋找該字符串。
n 往下繼續尋找下一個相同的字符串。
N 往上繼續尋找下一個相同的字符串。
(可利用 a、i等指令)再按《Enter》即可。
:set nonu 取消行號設定。
:set ai 自動內縮。
:set noai 取消自動內縮。
在編輯文件或程序時,有時會遇到需要內縮的狀況,『:set ai』即提供自
動內縮的功能,用下例解釋:
.vi test
.(進入編輯屏幕後)
this is the test for auto indent
《Tab》start indent ← :set ai (設自動內縮)
《Tab》data
《Tab》data
《Tab》data ← :set noai (取消自動內縮)
the end of auto indent.
.注:<Ctrl>;<d>; 可刪除《Tab》字符。
:w 將緩衝區的資料寫入硬盤中。
:10,20w test 將第10行至第20行的資料寫入test文件。
:10,20w>;>;test 將第10行至第20行的資料加在test文件之後。
:r test 將test文件的資料讀入編輯緩衝區的最後。
:10,20d 刪除第10行至第20行的資料。
:10d 刪除第10行的資料。
:%d 刪除整個編輯緩衝區。
:10,20co30 將第10行至第20行的資料複製至第30行之後。
:10,20mo30 將第10行至第20行的資料移動至第30行之後。
s(substitute)指令可查找某行列範圍。
g(global)指令則可查找整個編輯緩衝區的資料。
s指令以第一個滿足該條件的字符串爲其取代的對象,若該行有數個滿足該條
件的字符串,也僅能取代第一個,若想取代所有的字符串則需加上g參數。
:1,$s/old/new/g 將文件中所有的『old』改成『new』。
:10,20s/^/ / 將第10行至第20行資料的最前面插入5個空白。
:%s/old/new/g 將編輯緩衝區中所有的『old』改成『new』。
被寫回硬盤時,當再次回到系統,執行下列指令即可回覆中斷前
的文件內容。
%vi -r filename
%vi file1 file2 ..
再利用 『:n』載入下一個文件。
例如:
%echo $RMSROOT 顯示環境變量RMSROOT的值
格式:ping ip_address
例如:ping 129.9.123.45
必須擁有遠端工作站的帳號及密碼,纔可進行傳輸工作 。
格式: ftp hostname or ftp ip_address
例如 :
ftp 129.9.123.45 與遠端工作站 129.9.123.45 ,進行文件傳輸
Name (129.9.123.45:user-name) : 輸入帳號
Password (129.9.123.45:user-name): 輸入密碼
ftp>; help 列出 ftp 文件傳輸,可使用的任何命令。
ftp>; !ls 列出本地工作站,目前目錄下的所有文件名。
ftp>; !pwd 列出本地工作站,目前所在的工作目錄位置。
ftp>; ls 列出遠端工作站目前目錄下的所有文件名。
ftp>; dir 列出遠端工作站目前目錄下的所有文件名(略同於 UNIX 的 ls -l 指令).
ftp>; pwd 列出遠端工作站目前所在的目錄位置。
ftp>; cd dir1 更改遠端工作站的工作目錄位置至 dir1 下。
ftp>; get file1 將遠端工作站的文件 file1 ,拷貝到本地工作站中。
ftp>; put file2 將本地工作站的文件 file2 ,拷貝到遠端工作站中。
ftp>; mget *.c 將遠端工作站中,文件名後綴爲 c 的所有文件,拷貝到本地工作站中。
ftp>; mput *.txt 將本地工作站中,文件名後綴爲 txt 的所有文件,拷貝到遠端工作站中。
ftp>; bin 以二進制方式傳輸文件,切記在傳送可執行文件時要先執行此命令。
可以將ASCII文件按二進制方式傳輸,但決不能將二進制文件按ASCII方式傳輸,否則二進制文件的內容會遭到破壞而無法使用。
ftp>; asc 以ASCII方式傳輸文件,只在傳輸ASCII文件時用,特別是在DOS和Solaris之間傳輸時用。
ftp>; prompt 使用 mput/mget 時不用每個文件皆詢問yes/no
ftp>; quit 結束 ftp 工作。
ftp>; bye 結束 ftp 工作,和quit一樣。
注: 從PC到工作站間的文件傳輸也可在 PC端WIN95下的 FTP命令進行文件傳輸,用法與
上所述大致相同。
例如:
%telnet 129.9.123.45
格式:ps [-euf...]
例如:
%ps -u rms (查看系統中,用戶rms的 process。)
%ps -ef (查看系統中,包含系統內部,及所有用戶的進程。)
一般先用ps命令先查看進程的ID號,再用kill。如果kill殺不掉,可再加參數-9,說明爲強制殺掉。
例如:
%kill -9 1234 這裏1234是假設的進程號。
例如:
%tar cvf RMS RMStar 把目錄打包成一個文件
%tar xvf RMStar 把打包的文件展開。
例如:
%compress RMStar
例如:
%uncompress RMStar.Z