文件查找

                                                   文件查找

        不論是什麼操作系統,我們經常有這樣的需求---查找文件。我們在找文件的時候可以根據很多條件查找比如說:按照文件創建日期、文件大小、文件名等....。那麼下面我跟大家分享下Linux系統下的文件查找。


        1.whatis ls   
基於數據庫  makewhatis

查看命令所處man手冊所在章節和功能

2.which  /bin/ls  

查看二進制命令的絕對路徑
 
3.locate  文件名  

a.可以模糊匹配
b.基於數據庫 需要更新數據庫 updatedb
c.快速但需要數據庫

4.find

語法:
find  查詢的路徑   查找的條件    邏輯表達式   連接符
 
如果不指定路徑就表示當前路徑  在超找的時候是遞歸查找

普通用戶在超找文件的時候需要對目錄有r-x的權限
 
條件:
      -name
      -uid n
      -gid n
      -user uname
      -group gname
      -readable  可讀
      -writable  可寫
      -name pattern
      -inum n(inode)  
      -perm mode(=+-)
      -size n[cwbkMG]
      -type
      -amin
      -mmin
      -cmin
      -atmie
      -mtime
      -ctime


ACTIONS
       -delete
       -exec command ;
       -ok command ;

邏輯表達式       
       -not expr
        ! expr
        expr1 -and/-a expr2
        expr1 -or/-o expr2
 
       
1.按照文件名查找
find -name a.txt

2.按照uid查找文件  (文件的擁有者)
find -user  redhat (文件的擁有者)
find -uid  0   

3.按照gid查找   (文件的所屬組)
find -group   IT
find -gid  0

4.-name  模式
find     -name   a?c     ---> ? 代表一個任意字符

5.不區分大小寫
find -iname  a.txt

6.按照權限查找
find -perm 111  權限爲111的文件
find -perm  +444  有1位有4即可 (r)
find -perm  -444  至少每位有4,如果有附加其他權限也符合要求

dd if=/dev/zero of=file3  bs=10M count=1    製作10M的文件

7.find -size n[cwbkMG]  按照文件大小查找
find /share -size 3G    等於或者大小相等
find -size +10M         查找大小大於10M的文件
find -size -10M         查找大小小於10M的文件

8.find -type 按照文件類型查找  
             f 文件
             d 目錄
             b 塊設備
             c 字符型設備
             p 管道
             s 套接字
             l 軟鏈接

9.按照三個時間匹配
find  -amin  -3  3天前被查看過的文件   3  -3  +3
      -mmin  -3  3天前被修改過的文件
      -cmin  -3  3天前被更改過內容的文件
      -atime -3  3分鐘前被查看過的文件   
      -mtime -3  3分鐘前被修改過的文件
      -ctime -3  3分鐘前更改過內容的文件

10邏輯表達式

1.用戶爲redhat所屬組不是redhat
find /home -user redhat -not -group redhat  

2.取反  查找文件類型不是b的文件
find /dev  ! -type b  

3.查找用戶和組必須是redhat(兩個條件同時滿足)
find /home -user redhat -and  -group redhat

4.查找用戶是redhat或者是user1的文件
find /home -user redhat -or   -group redhat


5.鏈接符
find / -iname a.txt   -exec  rm -rf  {} \;


-exec 表示鏈接符     \;表示尾

-ok    操作時有提示
-exec  操作時無提示

find / -iname a  -ok  rm -rf  {} \;   有提示
















        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章