1. 程式人生 > >find命令和文件名後綴

find命令和文件名後綴

size 設備 沒有 大小寫 vim man ctime images /usr

1.find命令

find是查找系統文件的一個搜索命令,功能十分強大。

find外還有幾個較為常用的命令,例which,locate等等

1.1 which(常用來查看命令的路徑)

技術分享

有時候會出現別名,如果想去掉別名可以用"which --skip-alias"

1.2 locate(用於模糊查找)

如果沒這個命令可以先安裝包 “yum install -y mlocate”

使用前要先更新下數據庫updatedb

locate pwd

技術分享

1.3 find(遍歷整個問價目錄查找文件)

用find命令之前要介紹下linux的三種狀態時間

mtime:修改時間,與內容相關(文件內容改變都會改變)

atime:查看文件時間(查看內容都會導致改變,cat,head等和vim命令)

ctime:狀態時間(寫入文件或者所有者更改,權限更改,鏈接更改等狀態信息更改都會使ctime更改)

技術分享

語法

-name ‘FILENAME‘(文件精確查找,支持統配符號)

-iname ‘FILENAME‘(忽略大小寫)

-user ‘USERNAME‘ (查找屬主)

-group ‘GROUPNAME‘(查找屬組)

-uid UID

-gid GID

-nouser (查找沒有屬主的文件)

-nogroup(查找沒有屬組的文件)

-type (f文件,d目錄,c輸入設備,b塊設備,l軟連接,p,s.....

+ #k

-size #M

- #G

+天數

-mtime|ctime|atime

-天數

-a(and的意思)等同於&&,1 and 2意思是1真2才執行,1假2不執行

-o(or的意思)等同於||,總有一個要執行

-not(非)

!(取反)

-perm(精確匹配)

-perm /(有一個權限位匹配即可)

-perm -(文件完全包含這個權限才可以)

-mindepth #(指定目錄開始的深度)

-maxdepth #(指定目錄結束的深度)

-path (指定目錄)

-prune (忽略,與-path搭配以及-o)

-exce command { } \ ;

例子:

1. find /tmp -type f (查找/tmp目錄下類型為文件的)

2. find /tmp -size 10M(查找10兆的文件,9.8兆的也會顯示)

3. find /tmp -mtime +30 (查找30天前的文件)

4. find -perm g=r -exec ls -l {} \;(查找屬組只有只讀權限的並且傳遞給ls -l來顯示出來)

5.find -perm /777 /tmp (只要屬主或者屬組或者其他人只要有一個為7即可,720,027,700....都可以

6.find -perm -444 /tmp (屬主或者屬組或者其他人他們權限必須能包含444才行

7.find / -mindepth 1 -maxdepth 2 (查找所有在/下的一級目錄和文件)

8.find . -path ‘ ./var/www‘ -name ‘a.*‘ -print(查找./var/www路徑下的所有以a開頭的文件或目錄)

9.find . -path ‘./var/www‘ -prune -o -name ‘a.*‘ -print (查找path指定的路徑下以外叫做a開頭的文件或目錄)

10.find . -type f -print | xargs -i cp { } /usr/ (找當前目錄下文件並且復制到/usr的目錄下)

(由於不在配置的虛擬機linux旁邊沒法補圖,下次一並補上)

2.Linux的文件後綴

Linux的文件後綴不像在windows下那麽有意義。在linux下,後綴只是為了讓我們更容易區分文件類型。常見的文件類型有:

.conf 配置文件

.zip zip壓縮包

.tar.gz tar.gz壓縮包

.tar tar壓縮包

.log 日誌文件

find命令和文件名後綴