|


















:


























| |
Most of the following command also work on Unix.
其實以下的指令大部份都可在 Unix 上運作。
Account Management 帳號管理
系統指令:
增加使用者:adduser
更改權限:chgrp chmod
chown
變換使用者帳號成為另外一個使用者:su
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
adduser |
Create user account
新增使用者帳號,此指令還會自動建立使用者的HOME目錄
【常用範例】adduser newuser
-
輸入此指令後,會出現一堆訊息要你輸入使用者名稱和其它的訊息
|
useradd |
Create user account
新增使用者帳號
【常用範例】useradd newuser
|
userdel |
Delete user account
刪除使用者帳號
【常用範例】userdel existuser
|
groupadd |
Create user group
新增群組
【常用範例】groupadd newgroup
|
groupdel |
Delete user group
刪除群組
【常用範例】group existgroup
|
chmod |
Change the permissions mode of file or directory
設定檔案或目錄的存取權限
-
chmod a=rw note:
-
設定note,將這個檔案設定為所有使用者都可以讀、寫,但不能執行
【常用範例】
-
chmod 755 dirname
-
chmod ug+rx dirname
|
chgrp |
改變檔案的群擁有者名稱
【常用範例】
-
chgrp project report:將 report 檔案的群擁有者改變為
project
|
chown
|
改變檔案的擁有者
【常用範例】
-
chown manager table:將檔案 table 的擁有者名稱改成 manager
這個人
|
su <user> |
Enable a user to temporarily become another user. Default user is
root.
臨時登入成另一使用者,預設值是 root
-
登入為另一用戶,改變目前的使用者身份。
-
若想要從遠端以 root
身份登入系統時,常常會先以其它身份從遠端登入系統,再用此指令將身份轉換成
root。
-
此做法可以確保系統安全
【常用範例】
-
su Jack:將使用者身份轉換成 Jack。轉換前會先要求你輸入
Jack 的密碼。
-
su:轉換成 root。
|
Return 返回
Background Jobs 背景作業
和行程有關者:bg fg
kill nohup
ps
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
| % |
job number |
| & |
execute the command background |
| CTRL-z |
interrupt a job and stop it (suspended) |
| jobs |
list the jobs being run in background |
bg
|
place the job from suspend to background
觀看有那些程式在背景執行
【常用範例】bg
|
fg
[%n] |
bring the specified job number from background to foreground
將背景執行的程式叫到前景執行
【常用範例】fg
|
kill [%n] |
kill the specified job number 停止程式的執行
【語法】
- kill [-signal] pid...
- kill -signal -pgid..
- kill -l
【選項】
- -l (list):顯示 signal 的符號名稱
【常用範例】
-
kill 111:刪除111號行程
-
kill -9 111:強制刪除111號行程
|
nohup
|
此程式可以讓使用者 logout 出去後,仍能繼續執行所指定的程式
【常用範例】
-
nohup exefile &:執行 exe file 程式,且使用者 logout 以後,仍能繼續執行
|
ps
|
list all currently running process include background job
顯示系統正在執行中的行程資訊
【語法】
【選項】
- -l (list):顯示較多的資訊
- -t termlist (terminal):列出所指定termlist終端機所產生的處理程序
- -u uidlist (user ID):只列出在uidlist中所指定使用者識別碼或使用者名稱所產生的程序
- -g grplist (group ID):只列出在grplist中所指定群識別碼所產生的處理程序
【常用範例】
-
ps:顯示使用者本身正有那些程式正在執行
-
ps -l:列出詳細內容
|
Return 返回
Basic Operation 基本操作
基本指令:
常用指令:
和文字檔有關者:cat diff
grep more
尋找檔案或程式:find where
清除螢幕:clear
顯示目前所在路徑:pwd
跳離UNIX:exit logout
不常用指令:
和使用者有關:chfn chsh
passwd who
whoami
使用者之間傳送訊息:mesg wall
write
顯示或設定時間、日期:date
檔案的連結:ln
列印檔案:lp
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
| dir |
same as "ls" without
options |
find
|
找尋檔案
【語法】
- find path-name-list expression
【選項】
- -name pattern:設定所要尋的檔案名稱,若有萬用字元則須將檔名加上引號
- -exec cmd:當找到檔案時,則執行cmd所指定的指令
- -ok cmd:同exec,但是找到檔案時會問你要不要執行指令
- -print:當找到檔案時,列顯示檔案的路徑名稱和檔名
- -local:要找尋的檔案是在本地電腦上
- -type c:要找尋的檔案符合c所指定的型式,c
有以下幾種:
b:區塊特殊檔
c:字元特殊檔
d:目錄
l:符號連接檔
p:pipe檔(fifo)
f:一般檔案
- -nouser:設定所有找尋的檔案不是在/etc/passwd檔案中所列使用者所擁有的
- -nogroup:設定要找尋的檔案不是在/etc/group檔案中所列的群所擁有
【常用範例】
-
find . -name "file*" -print:找出目前目錄及子目錄下以file為開頭的檔案
-
find . -name "file*" -exec rm {}
\; :同上,但找到後刪除它
|
where |
這個指令會去系統內定的目錄找尋執行檔所在位置
【常用範例】
|
man |
Display online help
顯示線上說明文件
man 指令用法:
man 指令是用來查詢系統中各種指令的用法、各種設定檔的說明及寫程式所需要的資訊。
UNIX的指令相當的多,甚至每個指令可能都會有十幾種可用的參數。
所以當我們忘記指令的用法時我們都會利用
man 來查詢。
有時我們安裝新的軟體的時候,這些軟體甚至都會自已將說明檔安裝在
man 的目錄。
各位可以試看看這個指令:man
joe。如果你有安裝 joe 軟體的話,你可以發現用 man 竟然可以查詢到
joe 的說明檔。
底下我們將介紹一下如何使用 man 這個程式,以及
man 的輸出所代表的意義。請看這裡!
【常用範例】man command
|
pwd
|
Report current directory
顯示目前所在的目錄
【常用範例】pwd
|
clear |
Clear terminal screen
清除螢幕 【常用範例】clear |
chfn
|
改變使用者的資料,包括使用者預設的shell、使用者全名、電話號碼....等等,這些資料在其它
user 使用 finger 指令查詢你的時候會看到
【常用範例】
-
chfn:當你執行這個指令以後,會出現q編輯器讓你編輯資料
|
chsh
|
在一般的 UNIX中 chsh 的功能在於改變你所使用的
shell,不過在 FreeBSD中 chsh 和 chfn 似乎是一模一樣的程式
【常用範例】
-
chsh:當你執行這個指令以後,它會要求你輸入你要使用的
shell
|
passwd
|
Change password
更改密碼
【常用範例】passwd:更改密碼
|
who
|
顯示有那些使用者簽入系統
【常用範例】who
|
whoami |
Who am I
檢視自己的 Login Name,當使用者不斷使用 su 更換身份時,可用此指令提醒自已正在使用那個帳號
【常用範例】whoami
|
mesg
|
設定能否與其他使用者傳送訊息 【常用範例】
-
mesg:查詢其他使用者能否傳送訊息過來
-
mesg n:讓其他使用者不能傳送訊息過來
-
mesg y:讓其他使用者能夠傳送訊息過來
|
wall
(write
all)
|
送訊息給每位正在系統中的使用者
【常用範例】
-
wall < message:將 message 檔案中所記載的訊息傳送給所有在系統中的使用者
|
write
|
送訊息給其它在系統中的使用者
【常用範例】
-
write steve ttypa:和在 ttypa 終端機的 steve 交談
|
date
|
顯示或設定現在的時間、日期 【常用範例】
|
lp
|
列印資料到印表機 【常用範例】
-
lp jan feb mar:列印 jan、feb、mar 三個檔案
-
lp -n 30 today:將today列印30份
|
Return 返回
Compress & Decompress 壓縮及解壓
壓縮指令:
compress gzip
pack unpack
tar uncompress
若你拿到一個已壓縮的檔案時,如何判斷它是用何種壓縮程式壓縮的?其實只要看附檔名,大部分的壓縮檔都可以判斷出來。底下我們列出附檔名和相對的壓縮程式:
-
.Z(Z大寫) compress、uncompress
-
.gz
gzip
-
.z(z小寫) pack、unpack
-
.tar
tar
-
.tar.gz
tar+gzip
-
.tgz
tar+gzip
當然結尾為.Z的檔案並不一定就是由compress壓縮過的檔案。因為UNIX中並沒有強烈限制附檔名的型態。
最上面一行我們列出了六個壓縮程式,這些都是目前UNIX中最常使用的壓縮程式。不過若你常到各大FTP站去抓檔案的話,你可以發現幾乎所有的壓縮檔都是.tar.gz或是.tgz,也就是它們都是經過tar和gz壓縮過。其它型式的壓縮檔已經很難找到。其實你只要背tar這個壓縮檔的使用方式,就可以解開目前大部分的壓縮檔(因為tar也可以解經過gzip壓縮過的檔案)。
其實tar並不是個壓縮檔。它的功用是它可以把數個檔案(甚至包目錄)合並成一個檔案。而UNIX的使用者又特別喜歡把這一個檔案再經過gzip壓縮一次。所以你看到的壓縮檔型式就會是:.tar.gz。因為它分別經過tar和gzip處理過。而.tgz的意思也是和.tar.gz一樣,它也是經過tar和gzip壓縮過。
不過tar也具有壓縮或解開.gz壓縮檔的能力。只要在參數中加入z這個參數,tar就可以具有gzip的能力。請看下列這兩行指令:
-
tar cvf aaa.tar aaa/
-
tar xvf aaa.tar
上面這兩個指令只有執行tar的部分而已。第一行指令是將aaa目錄及目錄下所有的檔案合併成一個檔案:aaa.tar(但是沒有壓縮)。第二行指令則具有相反的功能,它可以將aaa錄目從aaa.tar中解回來。
-
tar czvf aaa.tgz
aaa/
-
tar xzvf aaa.tgz
上面這兩個指令會先將目錄合併成一個tar格式的檔案。再對這個檔案以gzip的方式壓縮。我們可以看出,這兩個指令比上面兩個指令只多了一個z參數而已。由於目前UNIX中最熱門的壓縮方法是經過利用tar和gzip來完成,所以使用者一定要會壓縮這種格式的檔案:.tar.gz或.tgz。而上面的說明正是在教你如何單獨用tar來完成tar+gzip的工作,讓你不用費心再背gzip的指令。
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
tar
|
將檔案以保存檔方式從磁帶或磁碟片中取出或存放,tar
也可以壓縮或解壓縮 gzip 產生的檔案
【語法】
-
tar -c[vwfbL[#s]] device block
files..
-
tar -r[vwfbL[#s]] device block
files..
-
tar -t[vfL[#s]] device [files..]
-
tar -u[vwfbL[#s]] device block
files..
-
tar -x[lmovwfL[#s]] device
[files..]
【參數】
| -x (extact) |
expand the .tar file
將指定的檔案名稱從保存當中取出 parameter,解開 tar 檔案 |
| -c (create) |
create the tar file
建立新的保存檔,打包成 tar 檔案 |
| -r (replace) |
新增到保存檔的尾端,而不會重新建立保存檔 |
| -t (table) |
列出保存檔所包含的檔案名稱 |
| -u (update) |
更新檔案 |
| -z |
compress to / decompress from tar file
壓縮 / 解壓 |
| -v |
display the output onscreen
顯示運作過程資訊 |
| -f |
specify subdirectory and filename
指定子目錄與檔案 |
【常用範例】
-
tar czvf aaa.tgz aaa/:
Create a compress file, "aaa/" is the subdirectory to be
compressed.
* Useful to backup data such as user account etc...
把aaa目錄壓成aaa.tgz檔
-
tar xzvf aaa.tgz:
Decompress the compressed tar file to specify subdirectory and filename,
display the output onscreen.
* The first step to install application.
將aaa.tgz解壓縮
-
tar cvf aaa.tar aaa/:建立aaa/目錄的保存檔aaa.tar
-
tar xvf aaa.tar:將保存檔aaa.tar解開
-
tar ztf tarfile.tar.gz
view the content of tarfile.tar.gz
檢視壓縮檔案內容
|
compress
|
壓縮檔案,壓縮後的附檔名為.Z
【常用範例】
-
compress -v letter.txt:壓縮 letter.txt,並顯示壓縮比例和壓縮後的檔名
|
uncompress
|
解開以 compress 壓縮的檔案(以.Z為附檔名的檔案)
【常用範例】
-
uncompress -v letter.txt.Z:解開壓縮檔 letter.txt.Z 並觀看壓縮訊息
|
pack
|
壓縮檔案,壓縮檔以.z結尾
【常用範例】
|
unpack
|
解壓縮以.z為結尾的壓縮檔
【常用範例】
|
zip |
Compress Files
壓縮檔案
zip myfiles *.txt
|
gzip
|
壓縮或解壓縮 .gz 型式的檔案
-
gzip -1 prog.exe:快速壓縮 prog.exe 檔
-
gzip -9 prog.exe:最佳化壓縮 prog.exe 檔
-
gzip -9 -r test/:將 test 目錄下的檔案個別壓縮起來
-
gzip -d
|
unzip |
Decompress Files
解壓檔案
unzip myfiles
|
Return 返回
Files Management 檔案管理
檔案和目錄的處理:cd cp
ls mkdir
mv rm
rmdir
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
cat |
-
Concatenates files
連接檔案
【常用範例】cat appendfile >> originalfile
- 顯示檔案內容
【常用範例】cat file:顯示file這個檔案的內容
|
less |
Similar to more but allows backward movement
向上下翻頁顯示檔案(全螢幕)
less filename
ps | less
|
ln
|
Creates a symbolic link to a files
建立目標檔案連結,如替檔案做硬連結(hard
link)或符號連結(symbolic link)
【語法】
- ln [-f] [-n] [-s] file1 [file2...]
target
- ln -s originalfile linkfile
【選項】
【常用範例】
-
ln report answer:建立硬連結
-
ln -s report answer:建立符號連結
|
more
|
Display file contents in full screen and page by page
向下翻頁顯示檔案(全螢幕),以單頁方式顯示檔案內容,常和
ls 和 cat 合用
【常用範例】
-
more file1:以一頁一頁方式顯示檔案內容
-
cat file1 | more:功能相同於 more | file1
-
ls | more:以一頁一頁方式顯示目錄資訊
-
ps |
more
|
cd |
Stands for "change directory". Changes
the current working directory.
If no directory is specified, then the user is returned to their home
directory
改變目前工作目錄的位置
【常用範例】
| cd |
move to home directory 回到家目錄 |
| cd ~ |
move to home directory |
| cd .. |
move one directory up 回到上層目錄 |
| cd dirname |
change to a specific directory dirname |
|
cd /tmp |
進入/tmp這個目錄 |
|
cp |
Copy files
複製檔案
【語法】
-
cp from-filename to-filename
-
cp [-i] [-p] [-r] file1 [file2...]
target
【選項】
- -i:當目地的的檔案已經存在時,會要求使用者確認是否要覆蓋原有的檔案
- -r (recursive):若filen是個目錄,則會將整個目錄樹及檔案複製過去
【常用範例】
-
cp file /tmp:將file拷貝到/tmp目錄
-
cp * /tmp:將目前目錄下的所有檔案拷貝到/tmp目錄
-
cp -r /usr/eric /tmp:將eric目錄拷貝到/tmp目錄下
|
ls
|
Display Information about files and directories
顯示檔案清單或目錄內容
【語法】
- ls [-RadLCxmlnogrtucpFbqisfl] [names]
【選項】
-
-r (recursive):遞迴式顯示該目錄下的檔案及子目錄內容
-
-a (all):顯示所有的檔案,包括隱藏檔
-
-d (directory):當names是指某個目錄時,則會列顯示這個目錄的資訊,所不是顯示該目錄的內容
-
-l (long):詳細顯示檔案資訊
-
-t (time):依檔案修改時間的順序顯示
【常用範例】
| ls |
display information in short format 顯示目前目錄的資訊 |
| ls -l /tmp |
display information in long format 詳細顯示
/tmp 內的檔案資訊 |
|
ls -ld /tmp |
詳細顯示 /tmp 這個目錄的資料 |
| ls -a |
display information for every file including hidden file in a
directory
顯示目前目錄的所有檔案,包括隱藏檔 |
|
mkdir
|
Create new directories
建立新目錄
【常用範例】
|
mv |
Move files
改變檔案名稱或移動檔案到別的目錄
【語法】 mv [-f] [-i] file1 [file2...] target 【選項】
- -i:當檔案 target 已存在時,會要求使用者確認是否要取代
- -f:即使檔案 target
已存在,而且為禁止寫入的狀態時,也會將 file1 更名為
target
【常用範例】
-
mv test test.old:將 test 檔案更名為 test.old
-
mv test /tmp:將 test 檔案搬移到 /tmp目錄
|
rm
|
Delete files
刪除檔案或目錄
【語法】
-
rm [-f] [-i] file...
-
rm -r [-f] [-i] dirname... [file...]
【選項】
-
-f:不會要使用者輸入確定要刪除的動作
-
-r (recursive):遞迴式刪除整個目錄樹
-
-i (interactively):以交談方式進行刪除
【常用範例】
|
rm file1 |
刪除 file1 檔案 |
|
rm * |
刪除此目錄下的所有檔案 |
| rm -r dirname |
delete directory and files recursively |
|
rm -r -f /tmp/aaa |
將/tmp/aaa目錄整個刪除 |
|
rmdir
|
Delete empty directories
刪除空目錄
rmdir emptydirectory
【常用範例】
-
rmdir /tmp/aaa:刪除 /tmp/aaa 空目錄
|
Return 返回
Filters 過濾器
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
grep |
Looks for patterns found in files and reports when these patterns are
found
在檔案內找尋特定的字串
【常用範例】
-
grep car file1:找尋 file1 檔案中那裡出現car這個字
-
grep car *:找尋整個目錄下有那些檔案有包含 car
這個字
|
sort |
Sort and merge text files
排序
sort <unsort.txt >sorted.txt
|
tr |
Translates or maps characters in a file from one form to another
|
Return 返回
Login & Logout 登入及登出
Return 返回
Networking 網路工具
基本網路指令:
底下介紹幾個比較重要的網路指令。前兩個指令是很常用的指令。若你想確定本地電腦和某台遠端電腦的連線是否正常時,可以用ping指令來測試;finger可以查詢本地或遠端使用者的資料;talk可以讓使用者在線上交談,類似BBS中聊天的功能;ifconfig用來設定網路介面;netstat用來查詢網路的使用情形;nslookup可以將IP轉成domain
name,或將domain name轉成IP;route和traceroute都和router有關。
-
ping
-
finger
-
talk
-
ifconfig
-
netstat
-
nslookup
-
route
-
traceroute
和網路服務相關的指令:
底下介紹目前常用的網路服務和相關指令:
-
mail,elm:提供有關Email的服務
-
telnet:終端機模擬器,同時也可以連線到提供BBS、Archie服務的機器
-
ftp,ncftp:連線到提供FTP服務的機器
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
ping |
Requests packet echos from network hosts
測試網路連接狀況
此指令常用來判斷網路是否暢通、對方是否開機、或者用來判斷連線速度
【常用範例】
-
ping www.adaptec.com:判斷 www.adaptec.com
這台機器的連線狀態。如圖。
-
當按ctrl
- c
時,會立即終止偵測,同時會列出偵測結果(最下面兩行)。
-
由結果我們可以看出,我們送出了9個封包,對方只回應了4個。有55%的封包遺失。可見網路並不是很暢通。同時上面4行分別列出了所收到4個封包的資訊。
-
如第1個封包:從送出封包到收到對方回應的封包總共經過了372.298
ms。可見連線速度也很慢。
|
finger
|
Displays information about users on the system
顯示使用者資料,可查詢本地或外地使用者的資訊,這些資料可以利用chfn來設定
【常用範例】
-
finger zulu:
查詢同一台機器使用者 zulu 的資訊,執行後出現此畫面。
這些資訊包括幾個項目:
Login--使用者的 ID;
Name--使用者全名;
Directory--使用者的 Home 目錄;
Shell--使用者預設的 Shell;
最後幾行顯示使者上次 login 的時間、有沒有新的信件到達、還有使用者自已編輯的計畫檔。
-
finger zulu@turtle.ee.ncku.edu.tw:功能同上。只是這個指令所查詢的是在turtle.ee.ncku.edu.tw這台機器上的使用者zulu。
|
talk
|
此指令可以和本地或遠端的使用者交談。當你和別的使用者有事情要討論時,這個指令是個很好用的工具。BBS的talk功能和此指令很像
【常用範例】
-
talk Mickey@turtle.ee.ncku.edu.tw:執行此指令後,在
turtle上的 Mickey 會出現這樣子的訊息。
-
它的意是說使用者zulu@venus.ee.ncku.edu.tw要和你 talk,如果你要和他
talk 的話,請下這個指令:talk zulu@venus.ee.ncku.edu.tw。
-
當然如果你不想和他 talk
的話,你可以乎略這個訊息。如果你下了這個指令,則你們雙方會建立連線,並出現這種畫面。
-
這個畫面中間有一條橫線,線的中間寫著:zulu@venus。這個意思表示你目前正和venus上的
zulu
使用者交談。你所有打入的字都會出現在這條線的上半部,而venus上的zulu所打的字都會出現在這條線的下半部。
|
ifconfig
|
Monitor and change the state of network interfaces
用來查閱與設定與管理網路介面,網路介面包括網路卡、PPP、SLIP、與lookback
【常用範例】
-
ifconfig -a:查詢所有網路介面的情形。在turtle上執行出現此畫面。由此畫面我們知道turtle上有三個網路介面:ed0、lp0、和lo0。其中ed0這個網路介面的IP=140.116.72.72;netmask=0xffffff00;broadcast位址=140.116.72.255;網路卡的MAC
address=00:80:c8:53:0b:aa。
-
ifconfig ed0 140.116.72.72 netmask 255.255.255.0:設定網路介面ed0的參數。此例設定IP為140.116.72.72,netmask為255.255.255.0。
-
ifconfig ed0 down:停止網路介面ed0。當你再執行ifconfig
-a就看對到ed0介面了。
-
ifconfig ed0 up:啟動網路介面ed0。
-
ifconfig ed0 140.116.72.74 netmask 0xffffffff
alias:這是IP Alias,也就是你可以讓你的機器有兩個以上的IP。這裡設定第二個IP為140.116.72.74。
-
ifconfig ed0 140.116.72.74 delete:移除IP alias。
|
iifdown |
Disconnect ppp connection
解除 ppp 連線
ifdown ppp0
|
ifup |
Connect ppp connection
接駁 ppp 連線
ifup ppp0
|
netstat |
displays the status of network connections on TCP, UDP,
RAW or UNIX sockets to the system
觀察主機與其他電腦之間的連線狀況,封包傳輸等資料
【常用範例】
-
netstat -i:
查詢網路介面流量。
在turtle上執行出現此畫面。
其中比較重要的項目有:
Ipkts表示接收到的封包;
Ierrs表示接收到但是破損的封包;
Opkts表示送出去的封包;
Oerrs表示送出去但是破損的封包;
Coll表示發生碰撞的次數。
這些都是很重要的網管資料。
如果 Ierrs、Oerrs 和 Coll 的值太大的話,表示網路可能出現某些問題。
-
netstat -t:
查詢TCP網路連線情形。
在venus上執行出現此畫面。
比較重要的是上面的 Active
Internet connections。
如果 (state) 項目標示為 ESTABLISHED 的話,表示這個這是一條已建立的連線,其中
Local
Address 和 Foreign Address 分別表示本地電腦和遠端電腦的網路位址和連線的port。
例如由第一行我們可以得知,從 turtle 端有某個使用者使用
telnet 連線到 local 電腦 venus。
-
netstat -a:
使用 -a 選項比 -t 選項多了那些正在等待連線的 service daemon。
若 (state) 項目標示為 LISTEN 的話,則表示有程式正在這個 port
等待連線。
-
netstat -rn:
查詢routing table。
在venus上執行出現此畫面。
第一行開頭為 default 的那一行指定了預設的router:140.116.72.253。若沒有特別指定router,則會以140.116.72.253
當做 router;
第二行 127.0.0.1為 localhost,它的 router 要設為 127.0.0.1;
第三行 140.116.72/24 指定所有通往 140.116.72.* 的連線皆經由 link#1,也比是
default;
第四行 140.116.72.14 指定若要通往 140.116.72.14,則經由 8:0:20:c:3f:e3,這是
router 的 MAC
Address;
最後一行 140.116.72.255 通往 ff:ff:ff:ff:ff:ff,表示這是 broadcast
address。
|
nslookup |
Queries the DNS to return information about specific hosts
and networks
向 DNS 查詢主機與網路資訊
此指令可以將你輸入的 domain
name 轉成IP位址,也可以將IP位址轉成domain name。
它是透過 domain name server 去轉換 domain
name 或是 IP【常用範例】
-
nslookup:執行後會出現此畫面。
前兩行表示這個指令會去 domain
name server:sun4.ee.ncku.edu.tw查詢資料,而這個 server的 IP 位址是
140.116.72.14。
-
第四行 '>' 表示要你輸入所要查詢的 domain
name 或 IP,我們輸入 domain name:www.ncku.edu.tw, 結果它傳回此domain name所對映的IP:140.116.241.101;
-
而在第十二行我們輸入 IP:140.116.72.72,結果它傳回此IP對映的
domain
name 為 turtle.ee.ncku.edu.tw。
|
route |
用來設定 routing
table。routing table 的內容可以用 netstat
-rn 來查詢
【常用範例】
-
route flush:清除routing table。若你是透過網路進去的話,最好不要執行這樣的指令。否則網路會斷線,你就無法再操作這台電腦了。
-
route add default 140.116.72.253:設定default的router,但是必須先清除原先的default
router才行。
-
route add 140.113.1.1 140.113.199.254:將通往140.113.1.1的封包經由140.113.199.254轉送。
-
route add -net 140.113.199 140.113.199.254:將通往140.113.199.*的封包經由140.113.199.254來轉送。
-
route delete 140.113.1.1:如果有設定140.113.1.1的routing
path,則移除它。
|
telnet |
To access remote computers
操作遠端電腦 |
traceroute |
讓你知道通往某機器經過那些 router,以及連線到底中斷或者那邊的連線比較緩慢
【常用範例】
-
traceroute 140.116.6.12:查詢連線到 140.116.6.12 經過那些 router。如圖。
-
總共經過4個router。
-
右邊則顯示了封包通過各個 router 所經過的時間。
|
Return 返回
Setup 設定工具
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
| kbdconfig |
Keyboard Configuration
鍵盤設定程式 |
| linuxconf |
Linux Configuration, text mode and X-Win mode.
Linux 設定程式 |
| mouseconfig |
Mouse Configuration
滑鼠設定程式 |
| netcfg |
Red Hat Linux network configuration tool, X-Win mode only.
紅帽子 Linux 網路設定工具 |
| netconf |
Network Configuration, text mode and X-Win mode.
網路設定程式 |
| ntsysv |
System Service
設定系統啟動時的執行程式 |
| setup |
Setup Menu
設定功能表 |
| sndconfig |
Soundcard Configuration
音效咭設定程式
|
| timeconfig |
Timezone Configuration
時區設定程式 |
| Xconfigurator |
X Window Configuration.
X Win 設定程式 |
| xf86config |
Traditional X Window Configuration
傳統的 X Win 設定程式 |
| XF86Setup |
XFree GUI X Window Configuration
XFree 圖形介面 X Win 設定程式 |
Return 返回
System Management 系統管理
和磁碟或檔案系統有關:df du
mount quota
showmount umount
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
df
|
Reports the amount of free disk space on any currently mounted
file system
顯示目前硬碟所剩空間,查詢檔案系統剩餘的空間或
inodes 的使用情形
【常用範例】
-
df -k:
查詢還有多少儲存空間可以使用。執行後會出現此畫面,此畫面左邊有File
system 和Mounted on 這兩個欄位,分別表示這個檔案系統的名稱,還有這個檔案系統被
mount到那一個目錄。
右邊有1K-blocks、Used、Avail、和Capacity四個欄位。分別表示這個檔案系統的容量(以1024
butes為單位)、已使用的空間、剩餘的空間、和使用率。
-
df -i:
和df -k 這個指令功能類似,不過它會顯示
inodes 的使用情形。inodes 代表你可以建立的檔案及目錄總數。
|
diff |
比較兩個檔案的不同處
【常用範例】
-
diff file1 file2:比較file1,file2兩個檔案的不同處
-
diff -c file1 file2:詳細比較兩個檔案
|
du |
Displays the amount of space being used by the
specified directories or files
查看目前目錄所佔的硬碟空間
【常用範例】
-
du -k:以 1024
bytes為單位顯示目前目錄及以下各層子目錄所使用的空間大小。如圖。
-
右邊欄位顯示目錄名稱。左邊顯示這個目錄所使用的空間大小(以1024
bytes)來計算。
|
mount
|
attach the device to the file system
掛上檔案系統
【語法】
- mount -t <FS_TYPE> -o <options>
<mount device> <mount point>
- mount_<FS_TYPE> -o <options> <mount
device <mount point>
- 若<FS_TYPE>一樣時,則上面兩個語法的功能完全一模一樣。
【常用範例】
| mount /dev/hdc /mnt/cdrom |
mount the secondary master IDE CDROM to directory
/mnt/cdrom |
| mount /dev/fd0 /mnt/floppy |
mount the floppy disk A to directory /mnt/floppy |
| mount /mnt/cdrom |
mount the CDROM to directory /mnt/cdrom |
| mount /mnt/floppy |
mount the floppy disk to directory /mnt/floppy |
|
mount -o ro /dev/sd1s1a /home |
- 掛入UFS檔案系統。
- 將/dev/sd1s1a掛到/home目錄下,且設為唯讀。
- /dev/sd1s1a的檔案系統必須是 UFS 格式。
- -o後面接著參數,其中 ro 即指定檔案系統為唯讀。
|
|
mount -t nfs -o intr,soft,bg |
|
| mount |
display the mounted device information |
|
quota
|
若你的系統有支援 quota,則可利用這個指令來查詢系統給你多少的硬碟空間,還有自己已使用多少空間
【常用範例】
-
quota -v:
查詢自己 quot a的使用情形。請看此例。
Filesystem 項目指出這是在 /home檔案系統的 quota 配置;
blocks 項目指出你在這個檔案系統(/home)已使用 7176 個 blocks;
quota 項目表示系統允許你在這個檔案系統使用 10000 個 blocks。
|
showmount
|
觀看一些 NFS 的資訊
【常用範例】
-
showmount -a venus:
觀看目前正有那些機器掛上 venus 所提供的 NFS 檔案系統。
如圖的第一行:carpet:/home/ftp/private1,它指出carpet這台電腦目前正在使用
venus 所提供的 NFS目錄 /home/ftp/private1。
-
showmount -e turtle:
觀看turtle提供那些 NFS 目錄供其它電腦 mount。如圖。
它顯示 turtle 提供三個 NFS 目錄供別人 mount,而 Everyone的意思是指所有的電腦都可以使用
turtle 所提供的 NFS 目錄。
|
umount |
detach the device from the filesystem
卸下檔案系統
umount /mnt/cdrom
umount /mnt/floppy
【常用範例】
-
umount /mnt:
不管 /mnt 掛上的是 ufs、DOS 或是 NFS 檔案系統,都可以利用這個指令來卸下檔案系統。
|
Return 返回
System Shutdown & Restart
系統關閉及重新啟動
關閉FreeBSD或顯示FreeBSD系統的一些訊息:shutdown
uname
Command
指令 |
Description, Syntax & Example
解說、語法及例子 |
| reboot |
Reboot the system now
立即重新啟動系統
|
| init 6 |
Reboot the system now
立即重新啟動系統
|
| [ctrl]+[alt]+[del] |
Reboot the system now
立即重新啟動系統 |
| halt |
Halt the system now
立即關閉系統 |
shutdown
|
Shutdown the System
關閉系統
parameter 參數
| -r |
Reboot the system when the shutdown is complete. |
| -h |
Halt the system when the shutdown is complete. |
|
shutdown -r now
|
Reboot the system now |
|
shutdown -h now
|
Halt the system from now |
|
shutdown -r +15
|
Reboot the system after 15 minutes from now |
|
shutdown -h +15
|
Halt the system after 15 minutes from now |
|
shutdown -r 23:00
|
Reboot the system on 11 p.m. |
|
shutdown -h 23:00
|
Halt the system on 11 p.m. |
【常用範例】
-
shutdown -r now Now the system will shutdown.:
立即關閉UNIX系統,並通知其它使用者系統即將關閉。
其它正在系統上的使用者會看到這樣的訊息:Now
the system will shutdown.
-
shutdown -r +10 After 10 minutes, the system will
shutdown.:
十分鐘以後關閉UNIX系統,並通知其它使用者系統即將關閉。
其它正在系統上的使用者會看到這樣的訊息:After
10 minutes, the system will shutdown.
|
uname
|
顯示Unix系統的相關資訊
【語法】
- uname [-amnrsv]
- uname [-S system_name]
【選項】
- -a (all):顯示所有的資料
- -m (machine):只顯示機器的硬體名稱
- -n (node name):只顯示網路的節點名稱
- -r (release):只顯示作業系統的release編號
- -s (system):只顯示系統名稱
- -v (version):只顯示作業系統的version編號
【常用範例】
-
uname:顯示機器的節點名稱
-
uanme -a:顯示所有資訊
|
文書編輯器:vi
joe
目前 UNIX 中最常用的編輯器為
vi、joe 和q。vi 是所有UNIX系統都會提供的編輯器,不過 UNIX 的新手幾乎都認為
vi 是個超級難用的編輯器。但是因為 vi 是最基本的編輯器,所以學習
vi 可以預防系統中剛好沒有提供 joe。另外 joe和 q 因為都和 pe2
有點類似,所以目前大多數的使用者最常用的編輯器不外乎這兩者。不過我發現在
FreeBSD 中 joe 和q似乎是同一個程式。所以我們在此只介紹 vi 和
joe。q 的部分請參閱 joe。 |