find命令和文件名後綴
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命令和文件名後綴