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