4.應用技巧
find命令查找文件的幾種方法:
(1)根據文件名查找
例如,我們想要查找一個文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整個硬盤。
(2)快速查找文件
根據文件名查找文件會遇到一個實際問題,就是要花費相當長的一段時間,特別是大型Linux文件系統和大容量硬盤文件放在很深的子目錄中時。如果我們知道了這個文件存放在某個目錄中,那么只要在這個目錄中往下尋找就能節省很多時間。比如smb.conf文件,從它的文件后綴“.conf”可以判斷這是一個配置文件,那么它應該在/etc目錄內,此時可以使用下面命令:
find /etc -name smb.conf
這樣,使用“快速查找文件”方式可以縮短時間。
(3)根據部分文件名查找方法
有時我們知道只某個文件包含有abvd這4個字,那么要查找系統中所有包含有這4個字符的文件可以輸入下面命令:
find / -name '*abvd*'
輸入這個命令以后,Linux系統會將在/目錄中查找所有的包含有abvd這4個字符的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來。
(4) 使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大于500000字節,并且在24小時內修改的某個文件,則可以使用-and (與)把兩個查找參數鏈接起來組合成一個混合的查找方式。
find /etc -size +500000c -and -mtime +1
mv
1.作用
mv命令用來為文件或目錄改名,或者將文件由一個目錄移入另一個目錄中,它的使用權限是所有用戶。該命令如同DOS命令中的ren和move的組合。
2.格式
mv[options] 源文件或目錄 目標文件或目錄
3.[options]主要參數
-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答“y”或“n”,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數后i參數將不再起作用。
4.應用實例
(1)將/usr/cbu中的所有文件移到當前目錄(用“.”表示)中:
$ mv /usr/cbu/ * .
(2)將文件cjh.txt重命名為wjz.txt:
$ mv cjh.txt wjz.txt
ls
1.作用
ls命令用于顯示目錄內容,類似DOS下的dir命令,它的使用權限是所有用戶。
2.格式
ls [options][filename]
3.options主要參數
-a, --all:不隱藏任何以“.” 字符開始的項目。
-A, --almost-all:列出除了“ . ”及 “.. ”以外的任何項目。
--author:印出每個文件著作者。
-b, --escape:以八進制溢出序列表示不可打印的字符。
--block-size=大?。簤K以指定<大小>的字節為單位。
-B, --ignore-backups:不列出任何以 ~ 字符結束的項目。
-f:不進行排序,-aU參數生效,-lst參數失效。
-F, --classify:加上文件類型的指示符號 (*/=@| 其中一個)。
-g:like -l, but do not list owner。
-G, --no-group:inhibit display of group information。
-i, --inode:列出每個文件的inode號。
-I, --ignore=樣式:不印出任何符合Shell萬用字符<樣式>的項目。
-k:即--block-size=1K。
-l:使用較長格式列出信息。
-L, --dereference:當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象,而并非符號鏈接本身的信息。
-m:所有項目以逗號分隔,并填滿整行行寬。
-n, --numeric-uid-gid:類似-l,但列出UID及GID號。
-N, --literal:列出未經處理的項目名稱,例如不特別處理控制字符。
-p, --file-type:加上文件類型的指示符號 (/=@| 其中一個)。
-Q, --quote-name:將項目名稱括上雙引號。
-r, --reverse:依相反次序排列。
-R, --recursive:同時列出所有子目錄層。
-s, --size:以塊大小為序。
4.應用舉例
ls 命令是Linux系統使用頻率最多的命令,它的參數也是Linux命令中最多的。使用ls命令時會有幾種不同的顏色,其中藍色表示是目錄,綠色表示是可執行文件,紅色表示是壓縮文件,淺藍色表示是鏈接文件,加粗的黑色表示符號鏈接,灰色表示是其它格式文件。ls最常使用的是ls- l,見圖1所示。
圖1 使用ls-l命令
文件類型開頭是由10個字符構成的字符串。其中第一個字符表示文件類型,它可以是下述類型之一:-(普通文件)、d(目錄)、l(符號鏈接)、b(塊設備文件)、c(字符設備文件)。后面的9個字符表示文件的訪問權限,分為3組,每組3位。第一組表示文件屬主的權限,第二組表示同組用戶的權限,第三組表示其他用戶的權限。每一組的三個字符分別表示對文件的讀(r)、寫(w)和執行權限(x)。對于目錄,表示進入權限。s表示當文件被執行時,把該文件的UID 或GID賦予執行進程的UID(用戶ID)或GID(組 ID)。t表示設置標志位(留在內存,不被換出)。如果該文件是目錄,那么在該目錄中的文件只能被超級用戶、目錄擁有者或文件屬主刪除。如果它是可執行文件,那么在該文件執行后,指向其正文段的指針仍留在內存。這樣再次執行它時,系統就能更快地裝入該文件。接著顯示的是文件大小、生成時間、文件或命令名稱。
diff
1.作用
diff命令用于兩個文件之間的比較,并指出兩者的不同,它的使用權限是所有用戶。