登錄工作站
透過 PC 登錄工作站
執行格式:telnethostname (在 dos下執行)telnet ip-address Example:
telnet doc telnet 140.122.77.120
注: 可利用指令 arphostname 或 arpdomain_name 查詢ip_address2
登錄步驟
· login : _______ > 輸入 username
· password : _______ > 輸入密碼
登出步驟
% logout 或 %exit 或 % 或按[Ctrl-D]
更改帳號密碼
passwd > 執行后將會出現下列信息 Changing NIS passwordfor user on ice.
Old password: ______ > 輸入舊密碼
New password: ______ > 輸入新密碼(最好6-8字,英文字母與數字混合)
Retype new password: ______ > 再輸入一次密碼
在線幫助指令說明
執行格式: mancommand-name
Example: % man ls
進入遠端電腦系統
執行格式:rloginhostname [-1 username]
Example: fdfd %rlogin doc remote login 進入工作站 doc中。
%rlogin doc -l user 使用 user 帳號進入工作站 doc中。
執行格式:telnethostname 或telnet IP address
Example:
%telnet doc or %telnet 140.109.20.251
文件或目錄處理
列出文件或目錄下之文件名稱
執行格式: ls[-atFlgR] [name] ( name 可為文件名或目錄名稱。)
Example :
ls 列出目前目錄下之文件名。
ls –a 列出包含以.起始的隱藏檔所有文件名。
ls –t 依照文件最后修改時間之順序,依序列出文件名。
ls –F 列出目前目錄下之文件名及其類型。”/” 結尾表示為目錄名稱,“*” 結尾表示為執行檔,”@” 結尾表示為symblic link。
ls –l 列出目錄下所有文件之許可權、擁有者、文件大小、修改時間及名稱。
ls –lg 同上,並顯示出文件之擁有者群組名稱。
ls –R 顯示出目錄下,以及其所有子目錄之文件名。(recursive listing )
目錄之縮寫:
~使用者login 時的working directory ( 起始目錄 )
~username指定某位user 的working directory ( 起始目錄 )
. 目前的工作目錄 (current working directory )
.. 目前目錄的上一層目錄 (parent of working directory)
改變工作目錄位置
執行格式:cd[name] :name可為目錄名稱、路徑或目錄縮寫。
Example:
cd 改變目錄位置,至使用者login 時的working directory (起始目錄)。
cd dir1 改變目錄位置,至dir1 之目錄位置下。
cd ~user 改變目錄位置,至使用者的working directory (起始目錄)。
cd .. 改變目錄位置,至目前目錄的上層( 即 parent of workingdirectory)
cd ../user 改變目錄位置,至相對路徑 user 之目錄位置下。
cd /../.. 改變目錄位置,至絕對路徑( Full path ) 之目錄位置下。
復制文件
執行格式: 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。
移動或更改文件、目錄名稱
執行格式: mvsource destination
Example:
mv file1 file2 將文件 file1,更改文件名為file2。
mv file1 dir1 將文件 file1,移到目錄dir1下,文件名仍為file1。
mv dir1 dir2 若目錄 dir2 存在,則將目錄dir1,及其所有文件和子目錄,移到目錄dir2 下,新目錄名稱為dir1。若目錄dir2 不存在,則將dir1,及其所有文件和子目錄,更改為目錄dir2。1
建立新目錄
執行格式:mkdir directory-name
Exmaple :
mkdir dir1 建立一新目錄 dir1。
刪除目錄
執行格式:rmdir directory-name 或 rm-r directory-name
Example :
rmdir dir1 刪除目錄 dir1,但 dir1 下必須沒有文件存在,否則無法刪除。
rm -r dir1 刪除目錄 dir1,及其下所有文件及子目錄。
刪除文件
執行格式: rmfilename (filename 可為文件名,或文件名縮寫符號。)
Example :
rm file1 刪除文件名為file1 之文件。
rm file? 刪除文件名中有五個字符,前四個字符為file之所有文件。
rm f* 刪除文件名中,以 f 為字首之所有文件。
rm -rf file 刪除名為file的文件夾及其里面的內容
文件名的縮寫符號
? 代表文件名稱中之單一字符。
代表文件名稱中之一字串。
查看文件內容
執行格式: catfilename
Example :
cat file1 以連續顯示方式,查看文件名 file1 之內容。
執行格式:more filename 或 catfilename | more
Example :
more file1 以分頁方式,查看文件名 file1 之內容。 catfile1 | more 同上。
查看目錄所占磁盤容量
執行格式: du[-s] directory
Example :
du dir1 顯示目錄dir1 的總容量及其次目錄的容量(以 k byte 為容量)。
du -s dir1 顯示目錄 dir1 的總容量。
查看自己的 disk quota 使用狀況
disk quota : 工作站磁盤空間的使用限額。
執行格式:quota -v
Example :
quota -v 將會顯示下列信息Filesystem usage quota limit timeleft files quota limit timelef. /home/ice/u019344 8192 12288 1.9 days 160 0 0
欄位解說:
usage : 目前的磁盤用量。
quota : 你的磁盤使用額度。當你的usage 超過quota 時,雖然可以繼續使用,但是必須七天之內降到quota 以下,否則即使用量沒有超limit(最高限額),也無法再寫入或復制任何文件。
limit : 最高使用額度。當你的usage 達到limit 時,無法再寫入或復制任何文件。
文件傳輸
拷貝文件或目錄至遠端工作站
執行格式: rcp[-r] source hostname:destination
source 可為文件名、目錄名或路徑,hostname為工作站站名,destination為路徑名稱.
Example :
rcp file1 doc:/home/user 將文件 file1,拷貝到工作站 doc路徑/home/user 之目錄下。
rcp -r dir1 doc:/home/user 將目錄 dir1,拷貝到工作站 doc路徑/home/user之目錄下。
自遠端工作站,拷貝文件或目錄
執行格式: rcp[-r] hostname:source destination
( hostname 為工作站名,source 為路徑名,destination可為文件名、目錄名或路徑 )。
Example :
rcp doc:/home/user/file1 file2 將工作站 doc中,位於/home/user 目錄下之文件file1,拷貝到目前工作站之目錄下,文件名改為file2。
rcp -r doc:. 將工作站 doc 中,位於/home/user 目錄下之目錄dir1,拷貝到目前工作站之目錄下目錄名稱仍為dir1。
文件模式之設定
改變文件或目錄之讀、寫、執行之允許權
執行格式: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,除去其它使用者可讀取之權利。
改變文件或目錄之擁有權
執行格式:chown[-R] username name ( name 可為文件名或目錄名。)
Example :
%chown user file1 將文件 file1 之擁有權,改為使用者user 所有。
%chown -R user dir1 將目錄 dir1,及其下所有文件和子目錄之擁有權,改為使用者user 所有。
檢查自己所屬之群組名稱
執行格式:groups
改變文件或目錄之群組擁有權
執行格式:chgrp[-R] groupname name ( name 可為文件名或目錄名 )
Example :
%chgrp vlsi file1 將文件 file1 之群組擁有權,改為vlsi 群組。
%chgrp -R image dir1 將目錄dir1,及其下所有文件和子目錄,改為image 群組。
改變文件或目錄之最后修改時間
執行格式:touchname ( name 可為文件或目錄名稱。)
文件之連結
同一文件,可擁有一個以上之名稱,可將文件做數個連結。
執行格式:lnoldname newname ( Hard link )
Example :
ln file1 file2 將名稱 file2,連結至文件file1。
執行格式:ln-s oldname newname ( Symblick link )
Example :
ln -s file3 file4 將名稱 file4,連結至文件file3。
文件之字串找尋
執行格式:grepstring file
Example :
grep abc file1
尋找文件file1中,列出字串 abc所在之整行文字內容。
找尋文件或命令之路徑
執行格式:whereiscommand ( 顯示命令之路徑。)
執行格式:whichcommand ( 顯示命令之路徑,及使用者所定義之別名。)
執行格式:whatiscommand ( 顯示命令功能之摘要。)
執行格式:findsearch-path -name filename -print( 搜尋指定路徑下,某文件之路徑。)
Example :
%find / -name file1 -print ( 自根目錄下,尋找文件名為file1 之路徑。.
比較文件或目錄之內容
執行格式:diff[-r] name1 name2 ( name1 name2 可同時為文件名,或目錄名稱。)
Example :
%diff file1 file2 比較文件 file1 與 file2 內,各行之不同處。
%diff -r dir1 dir2 比較目錄 dir1 與 dir2 內,各文件之不同處。
文件打印輸出
使用者可用.login 檔中之setenv PRINTER,來設定打印資料時的打印機名。
printername :sp1 或 sp2
Example :
%setenv PRINTER sp2 設定自 sp2 打印資料。
一般文件之打印
執行格式:lpr[-Pprinter-name] filename
%lpr file1 或 lpr -Psp2 file1 自sp2,打印文件file1。
執行格式:enscript[-Pprinter-name] filename
%enscript file3 或 enscript -Psp1 file3 自sp1,打印文件file3。
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命令之使用說明。
打印機控制命令
檢查打印機狀態,及打印工作順序編號和使用者名稱
執行格式:lpq[-Pprinter -name]
%lpq 或 lpq-Psp1 檢查 sp1打印機之狀態。
刪除打印機內之打印工作 (使用者僅可刪除自己的打印工作 )
執行格式:lprm[-Pprinter -name] username 或 jobnumber
%lprm user 或 lprm -Psp1 user 刪除 sp1 中,使用者user 的打印工作,此時使用者名稱必須為user。
%lprm -Psp2 456 刪除 sp2 編號為 456之打印工作。
Job 之控制
UNIX O.S.,可於 foregrourd 及 background 同時處理多個 process。
一般使用者執行命令時,皆是在foreground 交談式地執行process,亦可將process置於background 中,以非交談式來執行process。
查看系統之 process
執行格式:ps[-aux]
Example:
%ps 或 ps–x (查看系統中,屬於自己的process。)
%ps –au (查看系統中,所有使用者的process。)
%ps –aux (查看系統中,包含系統內部,及所有使用者的process。)
結束或終止 process
執行格式:kill[-9] PID ( PID 為利用 ps 命令所查出之process ID。)
Example:
%kill 456 或 kill -9 456 終止 process ID 為 456 之 process。
在 background 執行 process 的方式
執行格式:command& (於command 后面加入一“&” 符號即可。)
Example:
%cc file1.c & 將編譯 file1.c 文件之工作,置於background 執行。
執行格式:按下 “ControlZ” 鍵,暫停正在執行的process。鍵入“bg” 命令,將所暫停的process,置入background 中繼續執行。
Example:
%cc file2.c ^Z Stopped %bg
查看正在 background 中執行的 process
執行格式:jobs
結束或終止在 background 中的 process
執行格式:kill%n
(n 為利用“jobs” 命令,所查看出的background job 編號)
Example:
%kill % 終止在 background中的第一個 job。
%kill %2 終止在background 中的第二個 job。
shell variable
查看 shell variable 之設定值
執行格式:set 查看所有shell variable 之設定值。
%set
執行格式:echo$variable-name 顯示指定的shell variable 之設定值。
%echo $PRINTER0000 sp1
設定 shell variable
執行格式:setvar value
Example:
%set termvt100 設定 shell variable “term” 為 VT100 終端機之型式。
刪除 shell variable
執行格式:unsetvar
Example:
%unset PRINTER 刪除 shell variable “PRINTER”之設定值。
environment variable
查看 environment variable 之設定值
執行格式:setenv 查看所有environment variable 之設定值。
Example:
%setenv
執行格式:echo$NAME 顯示指定的environment variable “NAME” 之設定值。
Example:
%echo $PRINTER
顯示environment variable “PRINTER” 打印機名稱之設定值。
設定 environment variable
執行格式:setenvNAME word
Example:
%setenv PRINTER sp1
設定environment variable “PRINTER” 打印機名稱為 sp1。
刪除 environment variable
執行格式:unsetenvNAME
Example:
%unsetenv PRINTER
刪除environment variable “PRINTER” 打印機名稱之設定值。
alias
查看所定義的命令之 alias
執行格式:alias 查看自己目前定義之所有命令,及所對應之alias 名稱。
執行格式:alias name 查看指定之alias 名稱所定義之命令。
Example:
%alias dir (查看別名 dir 所定義之命令) ls-atl
定義命令之 alias
執行格式:alias name \’command line\’
Example:
% alias dir= \’ls -l\’ 將命令 “ls - l” 定義別名為 dir。
刪除所定義之 alias
執行格式:unalias name
Example:
%unalias dir (刪除別名為 dir 之定義。)
%unalias * (刪除所有別名之設定。)
history
設定命令記錄表之長度
執行格式: sethistory n
Example:
%set history 40
設定命令記錄表之長度為 40(可記載執行過之前面 40 個命令)。
查看命令記錄表之內容
執行格式:history
使用命令記錄表
執行格式: !!
Example: %!! (重復執行前一個命令)
執行格式: !n( n 為命令記錄表之命令編號。)
Example: %!5 ( 執行命令記錄表中第五個命令。)
執行格式:!string ( 重復前面執行過以string 為起始字符之命令。)
Example: %!cat ( 重復前面執行過,以 cat 為起始字符之命令。)
顯示前一個命令之內容
執行格式: !!:p
更改前一命令之內容並執行之
執行格式:^oldstring ^newstring
將前一命令中oldstring 的部份,改成newstring,並執行之。
Example:
%find . -name file1.c -print
^file1.ccore
%find . -name core -print
注:文件core 為執行程序或命令發生錯誤時,系統所產生的文件。作為偵錯(debug)之,因其所占空間極大,通常將之刪除。
資料之壓縮
為了避免不常用的文件或資料,占用太大的磁盤空間,請使用者將之壓縮。欲使用壓縮過的文件或資料前,將之反壓縮,即可還原成原來之資料型式。凡是經過壓縮處理之文件,會在文件名后面附加 ”.Z ” 之字符,表示此為一壓縮文件。
壓縮資料
執行格式:compressfilename 壓縮文件執行格式:compressdirdirectory-name 壓縮目錄
pipe-line 之使用
執行格式:command1| command2
將command1 執行結果,送到command2 做為command2 的輸入。
Example:
%ls -Rl | more 以分頁方式,列出目前目錄下所有文件,及子目錄之名稱。
%cat file1 | more 以分頁方式,列出文件 file1 之內容。
I/O control
標准輸入之控制
執行格式:command-line< file
將file 做為command-line 之輸入。
Example:
%mail -s "mail test" user@iis.sinica.edu.tw< file1
將文件file1 當做信件之內容,Subject名稱為mail test,送給收信人。
標准輸出之控制
執行格式: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 中。
查看系統中的使用者
執行格式: who或finger
執行格式: w
執行格式:finger username or finger username@domainname
改變自己的 username 進入其他使用者的帳號,擁有其使用權利。
執行格式: suusername
Example:
%su user 進入使用者user 之帳號
passwrod: 輸入使用者 user 之密碼
查看 username
執行格式:whoami 查看login 時,自己的username。
執行格式:whoami 查看目前的username。若已執行過“su”命令tchuser),則顯示出此user 之username。
查看目前本地所有工作站的使用者
執行格式:rusers > 結束
與某工作站上的使用者交談
執行格式: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 即可互相交談。最后可按結束。
檢查遠端電腦系統是否正常
執行格式:pinghostname 或ping IP-Address Example: %ping doc
電子郵件(E-mail)的使用簡介
將文件當做 E-mail 的內容送出
執行格式:mail-s “Subject-string” username@address < filename
Example
%mail -s "program" user < file.c 將 file.c 當做 mail 的內容,送至user, subject name 為program。
(實際上,在Ubuntu中並不能將郵件發送到郵箱,例如163郵箱,而是在/var/mail文件夾下面生成了一個以當前用戶名為文件名的文件,並在其中指出了錯誤信息。)
傳送 E-mail 給本地使用者
執行格式:mailusername %mail user
傳送 E-mail 至外地
執行格式:mail username@receiver-address
Example
%mail paul@gate.sinica.edu.tw Subject : mail test
鍵入信文內容
按下“Control D” 鍵或 ” .” 鍵結束信文。連按兩次“Control C” 鍵,則中斷工作,不送此信件。 Cc:( Carbon copy : 復制一份信文,給其他的收信人 )
檢查所傳送之 E-mail 是否送出,或滯留於本所之郵件伺服站中
執行格式:/usr/lib/sendmail-bp
( 若屏幕顯示為“Mail queue is empty” 之信息,表示mail 已送出。
若為其它錯誤信息,表示E-mail 因故尚未送出。)
讀取信件
執行格式: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 ofmessages
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, withoutfrom line
x quit, do not change system mailbox
z [-] display next [previous] page of headers
! shell escape
