man page數字代表
1 使用者在shell環境中可以操作的命令或可運行檔案
2 系統核心可呼叫的函數與工具等
3 一些常用的函數(function)與函式庫(library),大部分為C的函式庫(libc)
4 裝置檔案的說明,通常在/dev下的檔案
5 設定檔或者是某些檔案的格式
6 遊戲(games)
7 慣例與協議等,例如Linux檔案系統、網路通訊協定、ASCII code等等的說明
8 系統管理員可用的管理命令
9 跟kernel有關的檔案
$ man -k 模糊查詢
$ whatis [命令或者是資料] <==相當於 man -f [命令或者是資料]
$ apropos [命令或者是資料] <==相當於 man -k [命令或者是資料]
# makewhatis
info page
man, info, /usr/share/doc/
chattr lsattr
Set UID Set GID Sticky Bit
觀察檔案類型:file
which (尋找『運行檔』)
whereis (尋找特定檔案)
locate
find
選項與參數:
1. 與時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明
-mtime n :n 為數字,意義為在 n 天之前的『一天之內』被更動過內容的檔案;
-mtime +n :列出在 n 天之前(不含 n 天本身)被更動過內容的檔案檔名;
-mtime -n :列出在 n 天之內(含 n 天本身)被更動過內容的檔案檔名。
-newer file :file 為一個存在的檔案,列出比 file 還要新的檔案檔名
2. 與使用者或群組名稱有關的參數:
-uid n :n 為數字,這個數字是使用者的帳號 ID,亦即 UID ,這個 UID 是記錄在
/etc/passwd 裡面與帳號名稱對應的數字。這方面我們會在第四篇介紹。
-gid n :n 為數字,這個數字是群組名稱的 ID,亦即 GID,這個 GID 記錄在
/etc/group,相關的介紹我們會第四篇說明~
-user name :name 為使用者帳號名稱喔!例如 dmtsai
-group name:name 為群組名稱喔,例如 users ;
-nouser :尋找檔案的擁有者不存在 /etc/passwd 的人!
-nogroup :尋找檔案的擁有群組不存在於 /etc/group 的檔案!
當你自行安裝軟體時,很可能該軟體的屬性當中並沒有檔案擁有者,
這是可能的!在這個時候,就可以使用 -nouser 與 -nogroup 搜尋。
3. 與檔案許可權及名稱有關的參數:
-name filename:搜尋檔案名稱為 filename 的檔案;
-size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 的規格有:
c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
還要大的檔案,就是『 -size +50k 』
-type TYPE :搜尋檔案的類型為 TYPE 的,類型主要有:一般正規檔案 (f),
裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s),
及 FIFO (p) 等屬性。
-perm mode :搜尋檔案許可權『剛好等於』 mode 的檔案,這個 mode 為類似 chmod
的屬性值,舉例來說, -rwsr-xr-x 的屬性為 4755 !
-perm -mode :搜尋檔案許可權『必須要全部囊括 mode 的許可權』的檔案,舉例來說,
我們要搜尋 -rwxr--r-- ,亦即 0744 的檔案,使用 -perm -0744,
當一個檔案的許可權為 -rwsr-xr-x ,亦即 4755 時,也會被列出來,
因為 -rwsr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
-perm +mode :搜尋檔案許可權『包含任一 mode 的許可權』的檔案,舉例來說,我們搜尋
-rwxr-xr-x ,亦即 -perm +755 時,但一個檔案屬性為 -rw-------
也會被列出來,因為他有 -rw.... 的屬性存在!
4. 額外可進行的動作:
-exec command :command 為其他命令,-exec 後面可再接額外的命令來處理搜尋到
的結果。
-print :將結果列印到螢幕上,這個動作是預設動作!
eg:find / -perm +7000 -exec ls -l {} \;
{} 代表的是『由 find 找到的內容』,如所示,find 的結果會被放置到 {} 位置中;
-exec 一直到 \; 是關鍵字,代表 find 額外動作的開始 (-exec) 到結束 (\;) ,在這中間的就是 find 命令內的額外動作。 在本例中就是『 ls -l {} 』羅!
因為『 ; 』在 bash 環境下是有特殊意義的,因此利用反斜線來跳脫。