Unix/Linux命令

1.登錄工作站
1.1 透過 PC 登錄工作站
執行格式:telnet hostname (在 dos 下執行)
telnet ip-address
Example:

telnet doc telnet 140.122.77.120

注: 可利用指令 arp hostname 或 arp domain_name 查詢 ip_address

1.2 登錄步驟
login : _______ > 輸入 username

password : _______ > 輸入密碼

1.3 登出步驟

% logout
或 % exit
或 %

1.4 更改帳號密碼

% yppasswd > 執行後將會出現下列信息
Changing NIS password for user on ice.
Old password: ______ > 輸入舊密碼
New password: ______ > 輸入新密碼(最好6-8字,英文字母與數字混合)
Retype new password: ______ > 再輸入一次密碼

1.5 在線幫助指令說明
執行格式: man command-name

Example: % man ls

1.6 進入遠端電腦系統
執行格式:rlogin hostname [-1 username]
Example:

%rlogin doc
remote login 進入工作站 doc 中。
%rlogin doc -l user
使用 user 帳號進入工作站 doc 中。

執行格式:telnet hostname 或 telnet IP address
Example:

%telnet doc or %telnet 140.109.20.251

2. 文件或目錄處理
2.1 列出文件或目錄下之文件名稱
執行格式: ls [-atFlgR] [name] ( name 可爲文件名或目錄名稱。)

Example :

ls 列出目前目錄下之文件名。
ls –a 列出包含以.起始的隱藏檔所有文件名。
ls –t 依照文件最後修改時間之順序,依序列出文件名。
ls –F 列出目前目錄下之文件名及其類型。"/" 結尾表示爲目錄名稱,

"*" 結尾表示爲執行檔,"@" 結尾表示爲 symblic link。

ls –l 列出目錄下所有文件之許可權、擁有者、文件大小、修改時間及名稱。
ls –lg 同上,並顯示出文件之擁有者羣組名稱。
ls –R 顯示出目錄下,以及其所有子目錄之文件名。( recursive listing )

2.2 目錄之縮寫:

~ 使用者 login 時的 working directory ( 起始目錄 )
~username 指定某位 user 的 working directory ( 起始目錄 )
.. 目前的工作目錄 ( current working directory )
.. 目前目錄的上一層目錄 ( parent of working directory)

2.3 改變工作目錄位置
執行格式:cd [name] :name 可爲目錄名稱、路徑或目錄縮寫。

Example:

cd 改變目錄位置,至使用者 login 時的 working directory (起始目錄)。
cd dir1 改變目錄位置,至 dir1 之目錄位置下。
cd ~user 改變目錄位置,至使用者的 working directory (起始目錄)。
cd .. 改變目錄位置,至目前目錄的上層( 即 parent of working directory)
cd ../user 改變目錄位置,至相對路徑 user 之目錄位置下。
cd /../.. 改變目錄位置,至絕對路徑( Full path ) 之目錄位置下。

2.4 複製文件
執行格式: cp [-r] source destination

Example:

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 (recursive copy) 複製整個目錄。

若目錄 dir2 不存在,則將目錄 dir1,及其所有文件和子目錄,複製到目錄 dir2 下,新目錄名稱爲 dir1。若目錄 dir2 不存在,則將dir1,及其所有文件和子目錄,複製爲目錄 dir2。

2.5 移動或更改文件、目錄名稱
執行格式: mv source destination

Example:

mv file1 file2 將文件 file1,更改文件名爲 file2。
mv file1 dir1 將文件 file1,移到目錄 dir1下,文件名仍爲 file1。
mv dir1 dir2 若目錄 dir2 不存在,則將目錄 dir1,及其所有文件和子目錄,移到目錄 dir2 下,新目錄名稱爲 dir1。若目錄 dir2 不存在,則將dir1,及其所有文件和子目錄,更改爲目錄 dir2。

2.6 建立新目錄
執行格式: mkdir directory-name

Exmaple :

mkdir dir1 建立一新目錄 dir1。

2.7 刪除目錄
執行格式: rmdir directory-name 或 rm directory-name

Example :

rmdir dir1 刪除目錄 dir1,但 dir1 下必須沒有文件存在,否則無法刪除。
rm -r dir1 刪除目錄 dir1,及其下所有文件及子目錄。

2.8 刪除文件
執行格式: rm filename (filename 可爲文件名,或文件名縮寫符號。)

Example :

rm file1 刪除文件名爲 file1 之文件。
rm file? 刪除文件名中有五個字符,前四個字符爲file 之所有文件。
rm f* 刪除文件名中,以 f 爲字首之所有文件。

2.9 文件名的縮寫符號
? 代表文件名稱中之單一字符。
* 代表文件名稱中之一字串。

2.10 列出目前所在之目錄位置
執行格式: pwd

2.11 查看文件內容
執行格式: cat filename
Example :

cat file1 以連續顯示方式,查看文件名 file1 之內容。

執行格式: more filename 或 cat filename | more
Example :

more file1 以分頁方式,查看文件名 file1 之內容。
cat file1 | more 同上。

2.12 查看目錄所佔磁盤容量
執行格式: du [-s] directory
Example :

du dir1 顯示目錄 dir1 的總容量及其次目錄的容量(以 k byte 爲容量)。
du -s dir1 顯示目錄 dir1 的總容量。

2.13 查看自己的 disk quota 使用狀況
disk quota : 工作站磁盤空間的使用限額。
執行格式: quota -v
Example :

quota -v 將會顯示下列信息
Filesystem usage quota limit timeleft files quota limit timelef.
/home/ice/u01 9344 8192 12288 1.9 days 160 0 0

欄位解說:
usage : 目前的磁盤用量。
quota : 你的磁盤使用額度。當你的 usage 超過 quota 時,雖然可以繼續使用,但是必須七天之內降到 quota 以下,否則即使用量沒有超 limit(最高限額),也無法再寫入或複製任何文件。
limit : 最高使用額度。當你的 usage 達到 limit 時,無法再寫入或複製任何文件。

3. 文件傳輸
3.1 拷貝文件或目錄至遠端工作站
執行格式: rcp [-r] source hostnome:destination
source 可爲文件名、目錄名或路徑,hostnome 爲工作站站名,destination 爲路徑名稱.
Example :

rcp file1 doc:/home/user
將文件 file1,拷貝到工作站 doc 路徑 /home/user 之目錄下。
rcp -r dir1 doc:/home/user
將目錄 dir1,拷貝到工作站 doc 路徑/home/user 之目錄下。

3.2 自遠端工作站,拷貝文件或目錄
執行格式: rcp [-r] hostname:source destination
( hostname 爲工作站名,source 爲路徑名,destination 可爲文件名、目錄名或路徑 )。
Example :

rcp doc:/home/user/file1 file2
將工作站 doc 中,位於 /home/user 目錄下之目錄 dir1,拷貝到目前工作站之目錄下,目錄名稱仍爲 dir1。
rcp -r doc:/home/user/dir1 .
將工作站 iis1 中,位於 /home/user 目錄下之目錄 dir1,拷貝到目前工作站之目錄下目錄名稱仍爲 dir1。

3.3 本地工作站與遠端工作站之間文件傳輸
( 必須擁有遠端工作站之帳號及密碼,纔可進行傳輸工作 )
執行格式: ftp hostname or ftp ip_address
Example :

ftp doc 與遠端工作站 doc ,進行文件傳輸
Name (doc:user-name) : 輸入帳號
Password (doc:user-name): 輸入密碼
ftp> help 列出 ftp 文件傳輸,可使用之任何命令。
ftp> !ls 列出本地工作站,目前目錄下之所有文件名。
ftp> !pwd 列出本地工作站,目前所在之工作目錄位置。
ftp> ls 列出遠端工作站目前目錄下之所有文件名。
ftp> dir 列出遠端工作站目前目錄下之所有文件名(略同於 UNIX 的 ls -l 指令).
ftp> dir . |more 同上,但每頁會暫停(可能不適用 Unix 以外的 ftp)。
ftp> pwd 列出遠端工作站目前所在之目錄位置。
ftp> cd dir1 更改遠端工作站之工作目錄位置至 dir1 之下。
ftp> get file1 將遠端工作站之文件 file1 ,拷貝到本地工作站中。
ftp> put file2 將本地工作站之文件 file2 ,拷貝到遠端工作站中。
ftp> mget *.c 將遠端工作站中,副文件名爲 c 之所有文件,拷貝到本地工作站中。
ftp> mput *.txt 將本地工作站中,副文件名爲 txt 之所有文件,拷貝遠端工作站中。
ftp> prompt 切換交談式指令(使用 mput/mget 時不用每個文件皆詢問yes/no)。
ftp> quit 結束 ftp 工作。
ftp> bye 結束 ftp 工作。

注: 從PC與工作站間的文件傳輸也可透過在 PC端的 FTP指令進行文件傳輸,指令用法與上所述大致相同。

4. 文件模式之設定
4.1 改變文件或目錄之讀、寫、執行之允許權
執行格式:chmod [-R] mode name
( name 可爲文件名或目錄名;mode可爲 3 個 8 位元之數字,或利用ls -l 命令,列出文件或目錄之讀、寫、執行允許權之文字縮寫。)
mode : rwx rwx rwx r:read w:write x:execute
user group other
縮寫 : (u) (g) (o)
Example :

%chmod 755 dir1
將目錄dir1,設定成任何使用者,皆有讀取及執行之權利,但只有擁有者可做修改。
%chmod 700 file1
將文件file1,設定只有擁有者可以讀、寫和執行。
%chmod o+x file2
將文件file2,增加擁有者可以執行之權利。
%chmod g+x file3
將文件file3,增加羣組使用者可執行之權利。
%chmod o-r file4
將文件file4,除去其它使用者可讀取之權利。

4.2 改變文件或目錄之擁有權
執行格式:chown [-R] username name ( name 可爲文件名或目錄名。)
Example :

%chown user file1
將文件 file1 之擁有權,改爲使用者 user 所有。
%chown -R user dir1
將目錄 dir1,及其下所有文件和子目錄之擁有權,改爲使用者 user 所有。

4.3 檢查自己所屬之羣組名稱
執行格式:groups

4.4 改變文件或目錄之羣組擁有權
執行格式:chgrp [-R] groupname name ( name 可爲文件名或目錄名 )
Example :

%chgrp vlsi file1
將文件 file1 之羣組擁有權,改爲 vlsi 羣組。
%chgrp -R image dir1
將目錄dir1,及其下所有文件和子目錄,改爲 image 羣組。

4.5 改變文件或目錄之最後修改時間
執行格式:touch name ( name 可爲文件或目錄名稱。)

4.6 文件之連結
同一文件,可擁有一個以上之名稱,可將文件做數個連結。
執行格式:ln oldname newname ( Hard link )
Example :

ln file1 file2   將名稱 file2,連結至文件 file1。

執行格式:ln -s oldname newname ( Symblick link )
Example :

ln -s file3 file4 將名稱 file4,連結至文件file3。

4.7 文件之字串找尋
執行格式:grep string file
Example :

grep abc file1

尋找文件file1中,列出字串 abc 所在之整行文字內容。

4.8 找尋文件或命令之路徑
執行格式:whereis command ( 顯示命令之路徑。)
執行格式:which command ( 顯示命令之路徑,及使用者所定義之別名。)
執行格式:whatis command ( 顯示命令功能之摘要。)
執行格式:find search-path -name filename -print
( 搜尋指定路徑下,某文件之路徑 。)
Example :

%find / -name file1 -print ( 自根目錄下,尋找文件名爲 file1 之路徑。.

4.9 比較文件或目錄之內容
執行格式:diff [-r] name1 name2 ( name1 name2 可同時爲文件名,或目錄名稱。)
Example :

%diff file1 file2
比較文件 file1 與 file2 內,各行之不同處。
%diff -r dir1 dir2
比較目錄 dir1 與 dir2 內,各文件之不同處。

4.10 文件打印輸出
使用者可用 .login 檔中之 setenv PRINTER,來設定打印資料時的打印機名。
printername :sp1 或 sp2
Example :

%setenv PRINTER sp2 設定自 sp2 打印資料。

4.11 一般文件之打印
執行格式:lpr [-Pprinter-name] filename
%lpr file1 或 lpr -Psp2 file1
自 sp2,打印文件 file1。
執行格式:enscript [-Pprinter-name] filename
%enscript file3 或 enscript -Psp1 file3
自 sp1 打印文件 file3。

4.12 troff 文件之打印
執行格式:ptroff [-Pprinter-name] [-man][-ms] filename

%ptroff -man /usr/local/man/man1/ptroff.1
以 troff 格式,自 Apple laser writer 打印 ptroff 命令之使用說明。
%ptroff -Psp2 -man /usr/man/man1/lpr1
以 troff 格式,自 sp2 打印 lpr 命令之使用說明。

5. 打印機控制命令
5.1 檢查打印機狀態,及打印工作順序編號和使用者名稱
執行格式:lpq [-Pprinter -name]

%lpq 或 lpq -Psp1
檢查 sp1 打印機之狀態。

5.2 刪除打印機內之打印工作 (使用者僅可刪除自己的打印工作 )
執行格式:lprm [-Pprinter -name] username 或 job number

%lprm user 或 lprm -Psp1 user
刪除 sp1 中,使用者 user 的打印工作,此時使用者名稱必須爲 user。
%lprm -Psp2 456
刪除 sp2 編號爲 456 之打印工作。

6. Job 之控制
UNIX O.S.,可於 foregrourd 及 background 同時處理多個 process。

一般使用者執行命令時,皆是在 foreground 交談式地執行 process,亦可將 process置於 background 中,以非交談式來執行 process。

6.1 查看系統之 process
執行格式:ps [-aux]
Example:

%ps 或 ps –x (查看系統中,屬於自己的 process。)
%ps –au (查看系統中,所有使用者的 process。)
%ps –aux (查看系統中,包含系統內部,及所有使用者的 process。)

6.2 結束或終止 process
執行格式:kill [-9] PID ( PID 爲利用 ps 命令所查出之 process ID。)
Example:

%kill 456 或 kill -9 456
終止 process ID 爲 456 之 process。

6.3 在 background 執行 process 的方式
執行格式:command & (於 command 後面加入一 "&" 符號即可。)
Example:

%cc file1.c &
將編譯 file1.c 文件之工作,置於 background 執行。

執行格式:按下 "Control Z" 鍵,暫停正在執行的 process。鍵入 "bg" 命令,將所暫停的 process,置入 background 中繼續執行。
Example:
%cc file2.c
^Z
Stopped
%bg

6.4 查看正在 background 中執行的 process
執行格式:jobs

6.5 結束或終止在 background 中的 process
執行格式:kill %n
(n 爲利用 "jobs" 命令,所查看出的 background job 編號)
Example:
%kill % 終止在 background 中的第一個 job。
%kill %2 終止在 background 中的第二個 job。

7. shell varialbe
7.1 查看 shell variable 之設定值
執行格式:set 查看所有 shell variable 之設定值。
%set
執行格式:echo $variable-name 顯示指定的 shell variable 之設定值。
%echo $PRINTER
sp1

7.2 設定 shell variable
執行格式:set var value
Example:
%set termvt100
設定 shell variable "term" 爲 VT100 終端機之型式。

7.3 刪除 shell variable
執行格式:unset var
Example:
%unset PRINTER
刪除 shell variable "PRINTER" 之設定值。

8. environment variable
8.1 查看 environment variable 之設定值
執行格式:setenv  查看所有 environment variable 之設定值。
Example: %setenv
執行格式:echo $NAME 顯示指定的 environment variable "NAME" 之設定值。
Example:
%echo $PRINTER
顯示 environment variable "PRINTER" 打印機名稱之設定值。

8.2 設定 environment variable
執行格式:setenv NAME word
Example:
%setenv PRINTER sp1
設定 environment variable "PRINTER" 打印機名稱爲 sp1。

8.3 刪除 environment variable
執行格式:unsetenv NAME
Example:
%unsetenv PRINTER
刪除 environment variable "PRINTER" 打印機名稱之設定值。

9. alias
9.1 查看所定義的命令之 alias
執行格式: alias 查看自己目前定義之所有命令,及所對應之 alias 名稱。
執行格式: alias name 查看指定之 alias 名稱所定義之命令。
Example:
%alias dir (查看別名 dir 所定義之命令)
ls -atl

9.2 定義命令之 alias
執行格式: alias name \'command line\'
Example:
% alias dir \'ls -l\'
將命令 "ls - l" 定義別名爲 dir。

9.3 刪除所定義之 alias
執行格式: unalias name
Example:
%unalias dir (刪除別名爲 dir 之定義。)
%unalias * (刪除所有別名之設定。)

10. history
10.1 設定命令記錄表之長度
執行格式: set history n

Example:

%set history 40

設定命令記錄表之長度爲 40 (可記載執行過之前面 40 個命令)。

10.2查看命令記錄表之內容
執行格式: history

10.3 使用命令記錄表
執行格式: !!

Example: %!! (重複執行前一個命令)
執行格式: !n ( n 爲命令記錄表之命令編號。)
Example: %!5 ( 執行命令記錄表中第五個命令。)
執行格式: !string ( 重複前面執行過以 string 爲起始字符之命令。)
Example: %!cat ( 重複前面執行過,以 cat 爲起始字符之命令。)

10.4 顯示前一個命令之內容
執行格式: !!:p

10.5 更改前一命令之內容並執行之
執行格式: ^oldstring ^newstring
將前一命令中 oldstring 的部份,改成 newstring,並執行之。
Example:
%find . -name file1.c -print
^file1.c^core
%find . -name core -print
注:文件 core 爲執行程序或命令發生錯誤時,系統所產生的文件。作爲偵錯(debug)之,因其所佔空間極大,通常將之刪除。

11. 資料之壓縮
爲了避免不常用的文件或資料,佔用太大的磁盤空間,請使用者將之壓縮。欲使用壓縮過的文件或資料前,將之反壓縮,即可還原成原來之資料型式。凡是經過壓縮處理之文件,會在文件名後面附加 " .Z " 之字符,表示此爲一壓縮文件。

11.1 壓縮資料
執行格式:compress filename 壓縮文件
執行格式:compressdir directory-name 壓縮目錄

11.2 解壓縮還原資料

執行格式:uncompress filename 反壓縮文件
執行格式:uncompressdir directory-name 反壓縮目錄

12. pipe-line 之使用
執行格式:command1 | command2
將 command1 執行結果,送到 command2 做爲 command2 的輸入。
Example:

%ls -Rl | more
以分頁方式,列出目前目錄下所有文件,及子目錄之名稱。
%cat file1 | more
以分頁方式,列出文件 file1 之內容。

13. I/O control
13.1 標準輸入之控制
執行格式:command-line < file
將 file 做爲 command-line 之輸入。
Example:
%mail -s "mail test" [email protected] < file1
將文件 file1 當做信件之內容,Subject 名稱爲 mail test,送給收信人。

13.2 標準輸出之控制
執行格式:command > filename
將 command 之執行結果,送至指定的 filename 中。
Example: %ls -l > list
將執行 "ls -l" 命令之結果,寫入文件 list 中。
執行格式:command >! filename
同上,若 filename 之文件已經存在,則強迫 overwrite。
Example: %ls -lg >! list
將執行 "ls - lg" 命令之結果,強迫寫入文件 list 中。
執行格式:command >& filename
將 command 執行時,屏幕上所產生的任何信息,寫入指定的 filename 中。
Example: %cc file1.c >& error
將編譯 file1.c 文件時,所產生之任何信息,寫入文件 error 中。
執行格式:command >> filename
將 command 執行結果,附加(append)到指定的 filename 中。
Example: %ls - lag >> list
將執行 "ls - lag" 命令之結果,附加(append)到文件 list 中。
執行格式:command >>& filename
將 command 執行時,屏幕上所產生的任何信息,附加於指定的 filename中。
Example: %cc file2.c >>& error
將編譯 file2.c 文件時,屏幕所產生之任何信息,附加於文件 error 中。

14. 查看系統中的使用者
執行格式: who 或 finger
執行格式: w
執行格式: finger username or finger username@domainname

15. 改變自己的 username 進入其他使用者的帳號,擁有其使用權利。
執行格式: su username
Example:
%su user 進入使用者 user 之帳號
passwrod: 輸入使用者 user 之密碼

16. 查看 username
執行格式: whoami 查看 login 時,自己的 username。
執行格式: whoami 查看目前的 username。若已執行過 "su"命令tch user),則顯示出此 user 之 username。

17. 查看目前本地所有工作站的使用者
執行格式: rusers
> 結束

18. 與某工作站上的使用者交談
執行格式: talk username@hostname 或 talk username@ip_address
Example:
1. 可先利用 rusers 指令查看網路上的使用者
2. 假設自己的帳號是 u84987 ,在工作站 indian 上使用,現在想要與 doc 上的u84123 交談。
%talk u84123@doc > 此時屏幕上將會出現等待畫面
在對方(u84123)屏幕上將會出現下列信息
Message from Talk_Daemon@Local_host_name at xx:xx
talk: connection requested by u84987@indian
talk: respond with: talk u84987@indian
此時對方(u84123) 必須執行 talk u84987@indian 即可互相交談。最後可按結束。

19. 檢查遠端電腦系統是否正常
執行格式:ping hostname 或 ping IP-Address
Example:
%ping doc

20. 電子郵件(E-mail)的使用簡介
20.1將文件當做 E-mail 的內容送出
執行格式:mail -s "Subject-string" username@address < filename
%mail -s "program" user < file.c
將 file.c 當做 mail 的內容,送至 user, subject name 爲 program。
20.2 傳送 E-mail 給本地使用者
執行格式:mail username
%mail user
20.3 傳送 E-mail 至 外地
執行格式: mail username@receiver-address
Example
%mail [email protected]
Subject : mail test
:
:
鍵入信文內容
:
:
按下 "Control D" 鍵或 " . " 鍵結束信文。
連按兩次 "Control C" 鍵,則中斷工作,不送此信件。
Cc:
( Carbon copy : 複製一份信文,給其他的收信人 )

20.4 檢查所傳送之 E-mail 是否送出,或滯留於本所之郵件伺服站中
執行格式:/usr/lib/sendmail -bp

( 若屏幕顯示爲 "Mail queue is empty" 之信息,表示 mail 已送出。

若爲其它錯誤信息,表示 E-mail 因故尚未送出。)

20.5 讀取信件
執行格式: mail

常用指令如下:

cd [directory] chdir to directory or home if none given

d [message list] delete messages

h print out active message headers

m [user list] mail to specific users

n goto and type next message

p [message list] print messages

q quit, saving unresolved messages in mbox

r [message list] reply to sender (only) of messages

R [message list] reply to sender and all recipients of messages

s [message list] file append messages to file

t [message list] type messages (same as print)

u [message list] undelete messages

v [message list] edit messages with display editor

w [message list] file append messages to file, without from line

x quit, do not change system mailbox

z [-] display next [previous] page of headers

! shell escape


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章