Linux find 等查看文件

1. which:node

    a) 文件要在PATH目錄下ide

     b) 文件必須是執行(+x)權限的ui

2. Whereisspa

     a) 搜索路徑也有侷限遞歸

     b) 搜索的是模糊文件,只要包含相關的關鍵字it

3.Locate   須要安裝(yum –y install mlocate)io

     a) 每次都須要updatedbclass

     b)搜索的是模糊文件,只要包含相關的關鍵字date

     c) 不會搜索/tmp下的文件搜索

4.  Find + 路徑 + [option] + 文件名(aming, 「aming*」)

     a) –name

     b)  –type f (c)

     c)  –mtime +10(大於10天)

     d) –atime

     e) –ctime

     f)  –mmin -5(小於5分鐘)

     g)  –num + inode數字(ls -li)

     h) 用法1: find /var/log –type f  | xargs rm 查到30天的文件都刪除

     i) 用法2:find /tmp/ -type f | xargs –I mv {} {}.bak

find -perm mode , 表示嚴格匹配,也就是你的文件權限位轉換成對應的十進制數字與mode如出一轍
find -perm -mode , 表示mode中轉換成二進制的1在文件權限位裏面必須匹配,0無論
find -perm +mode , 與 -mode的區別是+mode只需其中的任意一個1的部分被匹配,-mode是全部1的部分都必須被匹配,一樣+mode也無論0位。


atime:訪問時間,mtime:更改權限,在文件寫入時,ctime:更改權限或者修改時

查看三個時間,用stat +文件。其中echo 不修改一個文件的atime


使用命令echo "111111" >> 1.txt 會更改1.txt的哪幾個time?

A atime

B ctime

C mtime

D 三個都會改

正確答案:B,C



例子:

sudo find /etc -size +1M -exec echo {} \;

#在/etc目錄下找文件大小在1M以上的文件而且顯示,文件用換行符隔開。

sudo find /etc -size +1M | xargs echo

#達到-exec相同的功能可是用空格分開尋找到的文件。

#-exec後面的{} \;是不能少的。

find 緊跟的是指定開始尋找的絕對路徑,我取當前路徑。

find ./ -user 用戶名

#find後面接的是開始尋找路徑名,它會在這個路徑下遞歸尋找。

#-user 指定用戶名

find ./ -not -user 用戶名

find ./ -not -name 文件名

find ./ -not -type 類型(通常文件f,目錄d,字符文件c)

#尋找不匹配的文件。

find ./ -user 用戶名 -o -type f

#尋找當前目錄下用戶你指定用戶文件或者(-o)通常文件。

find ./ -size +1M -o -type d

#尋找當前目錄下文件大於1M的文件或者是目錄。

find ./ -size -1M -a -type f

#尋找當前目錄下文件小於1M而且文件類型是通常文件的文件。

-o 是或者的意思

-a 是並且的意思

-not 是相反的意思

根據上面再從find的尋找方式中任意組合你樂意的方式。

find /etc -not -perm mode(222)

find /etc -not -perm -mode(-222)

find /etc -not -perm +mode(+222)

#-perm是按文件權限來查找文件

mode是徹底匹配所對應的權限,若是不包括suid/sgid/sticky

-mode是權限位轉化爲二進制以後的1必須所有匹配,+mode則須要其中任何一個1被匹配。

-mode應該包含mode,+mode則包含-mode。

相關文章
相關標籤/搜索