Linux入門時必學(xué)60個文件處理命令
2.格式
find [path][options][expression]
path指定目錄路徑,系統(tǒng)從這里開始沿著目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那么默認為當(dāng)前目錄。
3.主要參數(shù)
[options]參數(shù):
-depth:使用深度級別的查找過程方式,在某層指定目錄中優(yōu)先查找文件內(nèi)容。
-maxdepth levels:表示至多查找到開始目錄的第level層子目錄。level是一個非負數(shù),如果level是0的話表示僅在當(dāng)前目錄中查找。
-mindepth levels:表示至少查找到開始目錄的第level層子目錄。
-mount:不在其它文件系統(tǒng)(如Msdos、Vfat等)的目錄和文件中查找。
-version:打印版本。
[expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數(shù)非常多,這里只介紹一些常用的參數(shù)。
—name:支持統(tǒng)配符*和?。
-atime n:搜索在過去n天讀取過的文件。
-ctime n:搜索在過去n天修改過的文件。
-group grpoupname:搜索所有組為grpoupname的文件。
-user 用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件。
-size n:搜索文件大小是n個block的文件。
-print:輸出搜索結(jié)果,并且打印。
4.應(yīng)用技巧
find命令查找文件的幾種方法:
(1)根據(jù)文件名查找
例如,我們想要查找一個文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整個硬盤。
(2)快速查找文件
根據(jù)文件名查找文件會遇到一個實際問題,就是要花費相當(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)用實例
(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:不隱藏任何以“。” 字符開始的項目。
-A, ——almost-all:列出除了“ . ”及 “…… ”以外的任何項目。
——author:印出每個文件著作者。
-b, ——escape:以八進制溢出序列表示不可打印的字符。
——block-size=大?。簤K以指定大小>;的字節(jié)為單位。
-B, ——ignore-backups:不列出任何以 ~ 字符結(jié)束的項目。
-f:不進行排序,-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萬用字符樣式>;的項目。
-k:即——block-size=1K.
-l:使用較長格式列出信息。
-L, ——dereference:當(dāng)顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象,而并非符號鏈接本身的信息。
-m:所有項目以逗號分隔,并填滿整行行寬。
-n, ——numeric-uid-gid:類似-l,但列出UID及GID號。
-N, ——literal:列出未經(jīng)處理的項目名稱,例如不特別處理控制字符。
-p, ——file-type:加上文件類型的指示符號 (/=@| 其中一個)。
-Q, ——quote-name:將項目名稱括上雙引號。
-r, ——reverse:依相反次序排列。
-R, ——recursive:同時列出所有子目錄層。
-s, ——size:以塊大小為序。
4.應(yīng)用舉例
ls命令是Linux系統(tǒng)使用頻率最多的命令,它的參數(shù)也是Linux命令中最多的。使用ls命令時會有幾種不同的顏色,其中藍色表示是目錄,綠色表示是可執(zhí)行文件,紅色表示是壓縮文件,淺藍色表示是鏈接文件,加粗的黑色表示符號鏈接,灰色表示是其它格式文件。ls最常使用的是ls- l,見圖1所示。
評論