UNIX 作業系統操作簡介○ 第二節 檔案及目錄指 …
UNIX 作業系統操作簡介○ 第二節 檔案及目錄指令 ○
□ 和 DOS 相似,UNIX 采用階層式目錄管理結構,由根目錄( / )開始一層層將子
目錄建下去,各階層目錄以 / 隔開。
□ home directory︰使用者 login 時,工作目錄的位置,是由系統管理者所設定
□ "~" 符號代表自己的 home directory,例如 ~/myfile 是指自己 home 目錄下
myfile 這個檔案;~b82000/bin/qkmj 代表 b82000 的 home 目錄下, bin 目
錄內 qkmj 檔案。
□ 檔名有區分大小寫,長度可達 256 字元 (隨系統而異),且不限點號(.)的數目
□ 隱藏檔︰檔名或目錄名以 . 開頭即為隱藏檔。
□ . 表示目前所在目錄
.. 表示上一層目錄
□ UNIX 的萬用字元有三種,'*' 和 '?' 用法和 DOS 相同,另可用 [....]
代表區間內的任一字元,如 test[0-5] 即代表 test0, test1, ...,test5
的集合。
□ 以下是 ls -l 指令輸出的例子,分別介紹各欄位的意義
total 63
drwx------ 4 b1503045 1536 Feb 13 16:37 Mail
drwx------ 2 b1503045 512 Jan 9 16:26 News
drwx------ 2 b1503045 512 Feb 7 00:46 bin
drwx------ 2 b1503045 1024 Nov 1 16:43 c
-rw------- 1 b1503045 3051 Feb 7 01:49 dial-up
-rw-r----- 1 b1503045 37106 Feb 13 02:00 wwwfaq1
drwx------ 2 b1503045 512 Aug 11 1994 doc
lrwxrwxrwx 1 b1503045 11 Sep 5 20:36 docs -> /remote/doc
drwxr-xr-x 2 b1503045 512 Feb 7 00:43 pub
↓══┬══↓ ══┬═ ═┬═ ══┬═══ ══┬══
□
檔案形式︰
- 一般檔案。
d 目錄。
l 符號鍊結檔,(symbolic link file)用 ln -s 命令造成的,上例中
,cd docs 和 cd /remote/doc 的效果是一樣的。
c 字元式周邊設備,以一個字元一個字元方式傳輸,如終端機。
b 區塊式周邊設備,能一次大量傳輸,如磁盤機。
s socket 檔。
檔案存取權限︰共九個字元,每三個分為一組,共三組 rwx 的組合。
前三個 rwx 是檔案擁有人的權限,中間三個是所屬群體(group)的權限,
最後三個是其他人的使用權限。rwx 代表的意義如下︰
對檔案而言 對目錄而言
r 可讀此檔 可得知目錄內有哪些檔案
w 可修改此檔 可在此目錄內建檔及殺檔
x 可執行此檔 可進入此目錄內
- 無此使用權 無此使用權
⊙ 所謂的所屬群體(group),在台大計中 ccsun 工作站,同系學生定為
同一 group;在系計中 cctwin 工作站,同年級學生定為同一 group。
⊙ 以上例而言,wwwfaq1 這個檔案自己可以讀寫,同一 group 的人只能讀
,其他人對此檔完全沒有存取權。
⊙ 自己的檔案,可用 chmod 指令改變其存取權,有兩種使用方法,如下︰
八進位法 -- chmod <八進位數> <檔案>
此方法如同在畫體育選課志願卡,共三個八進位數字,r=4,w=2,
x=1,-=0。例如 -rwxr-xr-x 為 755,rw-r----- 為 640。如上例,
若下 chmod 644 dial-up 即可將 dial-up 這個檔的存取權從 600
變成 644,亦即讓其他人均可讀此檔案。
其實最前面還有一個八進位數,但很少用到,其意義如下︰
4000 程式執行時,設定使用者識別碼(SUID)位元為 on
2000 程式執行時,設定使用者所屬團體識別碼(SGID)位元為 on
1000 sticky bit on,程式執行後會常駐記憶體。
符號法 -- chmod <who op 存取權> [<who op 存取權> ...] <檔案>
<who> u (user) 檔案擁有者
g (group) 所屬 group
o (other) 其他使用者
a (all) 包括 u, g, o
<op> + 加上存取權
- 除去存取權
= 重新設定存取權
<存取權> 有 r, w, x, s, t (常用前三者)
例如,chmod u-w wwwfaq1 讓自己不能更改 wwwfaq1 這個檔案,
chmod a+x a+r bin 允許所有人進入 bin 目錄並可查看有哪些檔案。
檔案連結(link)次數。
檔案擁有者。超級使用者(系統管理員)為 root。
檔案大小,單位為 byte。
檔案內容最近一次更新時間。
□ 檔案名稱。
□ 指令簡介
⊙ ls 列出目錄內檔案名稱(如 DOS 的 dir/w)
ls -l 除了列出檔名外,並列出檔案屬性及擁有者、檔案大小及建立時間
等資訊
ls -a 列出所有檔案,包括隱藏檔
ls -R 遞回地列出所有檔案(子目錄內所有檔案亦列出)
ls -F 依檔案格式分類
可執行檔檔名後加'*',目錄名稱後加上'/',link檔檔名加上'@'
⊙ pwd 查詢目前所在之目錄名稱
⊙ cd 更換目前工作目錄位置
若只打 cd 不加目錄名,則回到自己的 home directory
回到上一層目錄,必須打 cd .. ,cd 和 .. 中間要有空白
⊙ cat 查看文字檔內容
⊙ more 以一頁一頁方式顯示一個文字檔
當最後一行出現 --more(16%)-- ,表示你已看了 16% 的文章。此
時可用 more 內的指令︰
space 往下捲動一頁
Enter 往下捲動一行,若先鍵入數字再按Enter可下卷指定的行數
q 或 Q 停止輸出,回到系統提示符號
h 顯示可用指令及其功能
⊙ cp <原始檔> <複製檔> 就是 copy 啦!
⊙ mv <原始檔> <目的檔> 若原始檔和目的檔在同一目錄下,可更改檔名,
若加上路徑名,可在目錄間搬移檔案
⊙ rm 刪除檔案,若加上 -i 會徵求確認後刪除
rm -r <目錄名> 刪除該目錄及該目錄之下的所有檔案
rm -rf 同上,但不會先徵求確認
注︰UNIX沒有undelete,殺檔前請確定你的大腦很清醒
⊙ mkdir 建立子目錄
⊙ rmdir 刪除子目錄,目錄內須無檔案
⊙ chmod 設定檔案或目錄的存取權限
⊙ lpr 將檔案放進 printer queue 中等候列表
⊙ lpq 顯示 printer queue 的內容
⊙ lp 列印資料
⊙ lpstat 查詢列印狀態與印表機相關資訊
⊙ pr 文字檔之格式化輸出
□ 進階指令
⊙ grep 於檔案中尋找特定字串
例︰grep fopen *.c 可印出所有 *.c 檔案中,有 fopen 字串的
那一行。
⊙ tail 印出檔案最後 10 行內容
tail -200 印出檔案最後 200 行內容
⊙ which 查詢某個執行檔是放在那個路徑之下
⊙ od 以八進位察看檔案內容
⊙ ln 連接(link)檔案
ln -s symbolic link
⊙ wc 計算檔案的行數、字數及字元數
⊙ touch 更改檔案修改或被存取時間
⊙ diff 檔案比較
⊙ find 檔案搜尋
⊙ df 顯示可使用之檔案儲存空間及檔案數目
⊙ du 計算磁盤機使用情形
⊙ umask 建檔時,取消部份存取權
⊙ tee 將 stdin 輸出到 stdout 並複製一份於檔案中
--
江湖夜雨
十年紅燈
~~~天龍 姬子洛~~~