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