CentOS 文件搜索find
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                CentOS 文件搜索find
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                1、文件搜索,內置的的命令是find
用法: find [查找路徑] 尋找條件 操作 默認路徑為當前目錄;默認表達式為 -print
2、主要參數:
-name  匹配名稱 
-perm  匹配權限(mode為完全匹配,-mode 為包含即可) 
-user   匹配所有者 
-group  匹配所有組 
-mtime -n +n  匹配修改內容的時間(-n指 n天以內,+n指 n天以前) 
-atime -n +n  匹配訪問文件的時間(-n指 n天以內,+n指 n天以前) 
-ctime -n +n  匹配修改文件權限的時間(-n指 n天以內,+n指 n天以前) 
-nouser  匹配無所有者的文件 
-nogroup  匹配無所有組的文件 
-newer f1 !f2  匹配比文件 f1新但比 f2舊的文件 
--type b/d/c/p/l/f 匹配文件類型(后面的字母參數依次表示塊設備、目錄、字符道、鏈接文件、文本文件) 
-size 匹配文件的大小(+50KB 為查找超過 50KB 的文件,而-50KB小于50KB的文件) 
-prune  忽略某個目錄 
-exec …… {};  find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } ;,注意{ }和;之間的空格,{}表示查找出來的沒一個文件,結尾必須是";"
3、按名字查找
在/opt目錄下查找elasticsearch的配置文件
[root@bigdata-senior01 ~]# find /opt -name "elastic*.yml" /opt/elasticsearch-6.5.1/config/elasticsearch.yml
查找過程中出現“權限不夠”的提示:
[xu.dm@bigdata-senior01 ~]$ find /opt -name "elastic*.yml"
find: ‘/opt/modules/hadoop-3.1.0/logs/userlogs/application_1527345950418_0001_DEL_1527434392341’: 權限不夠
find: ‘/opt/data/tmp/dfs/data’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/usercache_DEL_1527434391968/root’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/nmPrivate’: 權限不夠
find: ‘/opt/data/tmp/nm-local-dir/usercache/hadoop’: 權限不夠
/opt/elasticsearch-6.5.1/config/elasticsearch.yml
避免因為權限不夠的提示,把查找錯誤提示轉移到特定的目錄中去。
[xu.dm@bigdata-senior01 ~]$ find /opt -name "elastic*.yml" 2> /dev/null
/opt/elasticsearch-6.5.1/config/elasticsearch.yml
按名字忽略大小寫搜索
[root@vmstation ~]# find /etc -iname "SELINUX"
/etc/sysconfig/selinux
/etc/selinux
4、按文件大小查找
查找/home下大于10M的文件
[root@bigdata-senior01 ~]# find /home -size +10M /home/data/kafka_2.12-2.0.0.tgz
查找小于1k的文件 [root@bigdata-senior01 ~]# find /home -size -1k
5、與,或條件,and,or
[root@bigdata-senior01 ~]# find /opt -name "*yml" -and -name "elastic*" /opt/elasticsearch-6.5.1/config/elasticsearch.yml
find / -user fred -or -user georg
6、其他
find / -amin -10 # 查找在系統中最后10分鐘訪問的文件 find / -atime -2 # 查找在系統中最后48小時訪問的文件 find / -empty # 查找在系統中為空的文件或者文件夾 find / -group cat # 查找在系統中屬于 groupcat的文件 find / -mmin -5 # 查找在系統中最后5分鐘里修改過的文件 find / -mtime -1 #查找在系統中最后24小時里修改過的文件 find / -nouser #查找在系統中屬于作廢用戶的文件 find / -user fred #查找在系統中屬于FRED這個用戶的文件
在find命令中還可以使用“非”的關系來查找文件,如果我們要在/tmp目錄中查找所有不屬于panda的文件,使用一個簡單的
find /tmp ! -user panda
查找并顯示文件的方法
find / -name "httpd.conf" -ls
find . -perm -007 -exec ls -l {} ; #查所有用戶都可讀寫執行的文件同-perm 777
find . -name "[a-z][a-z][0–9][0–9].txt" -print #查以兩個小寫字母和兩個數字開頭的txt文件
find /home -uid +501 列出/home目錄內用戶的識別碼大于501的文件或目錄
find /home -gid 501 列出/home內組id為501的文件或目錄
7、exec參數,{}表示查找出來的沒一個文件,結尾必須是";"
在/opt目錄下查找文件,并拷貝到但前目錄下
[root@bigdata-senior01 ~]# find /opt -name "elastic*.yml" -exec cp {} ./ ;
找到文件并用ls -lh顯示
[root@bigdata-senior01 ~]# find /opt -name "*.conf" -exec ls -lh {} ; -rw-r--r--. 1 hadoop hadoop 1.1K 3月 30 2018 /opt/modules/hadoop-3.1.0/share/hadoop/yarn/yarn-service-examples/httpd/httpd-proxy.conf -rw-r--r--. 1 hadoop hadoop 1009 3月 30 2018 /opt/modules/hadoop-3.1.0/share/hadoop/yarn/yarn-service-examples/httpd-no-dns/httpd-proxy-no-dns.conf
總結
以上是生活随笔為你收集整理的CentOS 文件搜索find的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 拔丝馒头怎么弄
- 下一篇: (八)冰点还原安装及使用
