Linux入門(mén)時(shí)必學(xué)60個(gè)文件處理命令
2.格式
find [path][options][expression]
path指定目錄路徑,系統從這里開(kāi)始沿著(zhù)目錄樹(shù)向下查找文件。它是一個(gè)路徑列表,相互用空格分離,如果不寫(xiě)path,那么默認為當前目錄。
3.主要參數
[options]參數:
-depth:使用深度級別的查找過(guò)程方式,在某層指定目錄中優(yōu)先查找文件內容。
-maxdepth levels:表示至多查找到開(kāi)始目錄的第level層子目錄。level是一個(gè)非負數,如果level是0的話(huà)表示僅在當前目錄中查找。
-mindepth levels:表示至少查找到開(kāi)始目錄的第level層子目錄。
-mount:不在其它文件系統(如Msdos、Vfat等)的目錄和文件中查找。
-version:打印版本。
[expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數非常多,這里只介紹一些常用的參數。
—name:支持統配符*和?。
-atime n:搜索在過(guò)去n天讀取過(guò)的文件。
-ctime n:搜索在過(guò)去n天修改過(guò)的文件。
-group grpoupname:搜索所有組為grpoupname的文件。
-user 用戶(hù)名:搜索所有文件屬主為用戶(hù)名(ID或名稱(chēng))的文件。
-size n:搜索文件大小是n個(gè)block的文件。
-print:輸出搜索結果,并且打印。
4.應用技巧
find命令查找文件的幾種方法:
(1)根據文件名查找
例如,我們想要查找一個(gè)文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整個(gè)硬盤(pán)。
(2)快速查找文件
根據文件名查找文件會(huì )遇到一個(gè)實(shí)際問(wèn)題,就是要花費相當長(cháng)的一段時(shí)間,特別是大型Linux文件系統和大容量硬盤(pán)文件放在很深的子目錄中時(shí)。如果我們知道了這個(gè)文件存放在某個(gè)目錄中,那么只要在這個(gè)目錄中往下尋找就能節省很多時(shí)間。比如smb.conf文件,從它的文件后綴“。conf”可以判斷這是一個(gè)配置文件,那么它應該在/etc目錄內,此時(shí)可以使用下面命令:
find /etc -name smb.conf
這樣,使用“快速查找文件”方式可以縮短時(shí)間。
(3)根據部分文件名查找方法
有時(shí)我們知道只某個(gè)文件包含有abvd這4個(gè)字,那么要查找系統中所有包含有這4個(gè)字符的文件可以輸入下面命令:
find / -name '*abvd*'
輸入這個(gè)命令以后,Linux系統會(huì )將在/目錄中查找所有的包含有abvd這4個(gè)字符的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來(lái)。
(4)使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大于500000字節,并且在24小時(shí)內修改的某個(gè)文件,則可以使用-and (與)把兩個(gè)查找參數鏈接起來(lái)組合成一個(gè)混合的查找方式。
find /etc -size +500000c -and -mtime +1
mv
1.作用
mv命令用來(lái)為文件或目錄改名,或者將文件由一個(gè)目錄移入另一個(gè)目錄中,它的使用權限是所有用戶(hù)。該命令如同DOS命令中的ren和move的組合。
2.格式
mv[options] 源文件或目錄 目標文件或目錄
3.[options]主要參數
-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時(shí)系統詢(xún)問(wèn)是否重寫(xiě),要求用戶(hù)回答“y”或“n”,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個(gè)已有的目標文件時(shí)不給任何指示,指定此參數后i參數將不再起作用。
4.應用實(shí)例
(1)將/usr/cbu中的所有文件移到當前目錄(用“。”表示)中:
$ mv /usr/cbu/ * .
(2)將文件cjh.txt重命名為wjz.txt:
$ mv cjh.txt wjz.txt
ls
1.作用
ls命令用于顯示目錄內容,類(lèi)似DOS下的dir命令,它的使用權限是所有用戶(hù)。
2.格式
ls [options][filename]
3.options主要參數
-a, ——all:不隱藏任何以“。” 字符開(kāi)始的項目。
-A, ——almost-all:列出除了“ . ”及 “…… ”以外的任何項目。
——author:印出每個(gè)文件著(zhù)作者。
-b, ——escape:以八進(jìn)制溢出序列表示不可打印的字符。
——block-size=大?。簤K以指定大小>;的字節為單位。
-B, ——ignore-backups:不列出任何以 ~ 字符結束的項目。
-f:不進(jìn)行排序,-aU參數生效,-lst參數失效。
-F, ——classify:加上文件類(lèi)型的指示符號 (*/=@| 其中一個(gè))。
-g:like -l, but do not list owner.
-G, ——no-group:inhibit display of group information.
-i, ——inode:列出每個(gè)文件的inode號。
-I, ——ignore=樣式:不印出任何符合Shell萬(wàn)用字符樣式>;的項目。
-k:即——block-size=1K.
-l:使用較長(cháng)格式列出信息。
-L, ——dereference:當顯示符號鏈接的文件信息時(shí),顯示符號鏈接所指示的對象,而并非符號鏈接本身的信息。
-m:所有項目以逗號分隔,并填滿(mǎn)整行行寬。
-n, ——numeric-uid-gid:類(lèi)似-l,但列出UID及GID號。
-N, ——literal:列出未經(jīng)處理的項目名稱(chēng),例如不特別處理控制字符。
-p, ——file-type:加上文件類(lèi)型的指示符號 (/=@| 其中一個(gè))。
-Q, ——quote-name:將項目名稱(chēng)括上雙引號。
-r, ——reverse:依相反次序排列。
-R, ——recursive:同時(shí)列出所有子目錄層。
-s, ——size:以塊大小為序。
4.應用舉例
ls命令是Linux系統使用頻率最多的命令,它的參數也是Linux命令中最多的。使用ls命令時(shí)會(huì )有幾種不同的顏色,其中藍色表示是目錄,綠色表示是可執行文件,紅色表示是壓縮文件,淺藍色表示是鏈接文件,加粗的黑色表示符號鏈接,灰色表示是其它格式文件。ls最常使用的是ls- l,見(jiàn)圖1所示。
評論