您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Linux中文件搜索命令有什么用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
locate
基礎(chǔ)了解
在centos7上默認(rèn)沒(méi)有l(wèi)ocate命令,需要先手動(dòng)安裝。安裝步驟:http://www.cnblogs.com/feanmy/p/7676717.html
locate命令搜索的后臺(tái)數(shù)據(jù)庫(kù)路徑:/var/lib/mlocate/mlocate.db
ls -hl /var/lib/mlocate total 1.2M -rw-r----- 1 root slocate 1.2M Oct 16 14:36 mlocate.db
更新數(shù)據(jù)庫(kù)使用updatedb,配置文件為/etc/updatedb.conf
# 開(kāi)啟搜索限制 PRUNE_BIND_MOUNTS = "yes" # 不搜索的文件系統(tǒng) PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs" # 不搜索的文件類(lèi)型 PRUNENAMES = ".git .hg .svn" # 不搜索的文件路徑 PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"
命令選項(xiàng)
了解一個(gè)命令可以使用man,如 man locate,可以顯示locate相關(guān)的選項(xiàng)。這里只介紹幾個(gè)常用選項(xiàng)
-c, --count 只輸出找到的數(shù)量
-i, --ignore-case 忽略大小寫(xiě)
-q, --quiet 安靜模式,不會(huì)顯示任何錯(cuò)誤訊息
-r, --regexp REGEXP 使用基本正則表達(dá)式
--regex 使用擴(kuò)展正則表達(dá)式
-n 結(jié)果中顯示n個(gè)文件
使用示例
1、locate /etc/pro :查詢(xún)出/etc目錄下所有以pro開(kāi)頭的文件
locate /etc/pro /etc/profile /etc/profile.d /etc/protocols /etc/profile.d/256term.csh /etc/profile.d/256term.sh /etc/profile.d/colorgrep.csh /etc/profile.d/colorgrep.sh /etc/profile.d/colorls.csh /etc/profile.d/colorls.sh /etc/profile.d/lang.csh /etc/profile.d/lang.sh /etc/profile.d/less.csh /etc/profile.d/less.sh /etc/profile.d/vim.csh /etc/profile.d/vim.sh /etc/profile.d/which3.csh /etc/profile.d/which3.sh
2、locate -c /etc/pro :顯示匹配到的文件數(shù)
locate -c /etc/pro 17
3、locate -i topoftencent.class.php :忽略文件名大小寫(xiě)
locate -i topoftencent.class.php /var/www/html/fxyxManage/Spider/TopOfTencent.class.php
雖然文件名大小寫(xiě)不一致,但使用-i選項(xiàng)依然能匹配出
find
基礎(chǔ)了解
使用find進(jìn)行文件查找的速度要慢于locate,但是功能及參數(shù)要強(qiáng)于locate。在使用find時(shí),要避免大范圍的搜索
命令選項(xiàng)
這里介紹常用選項(xiàng),其他選項(xiàng)可通過(guò)man find了解
-name filename #查找名為filename的文件 -iname filename #查找文件filename,不區(qū)分大小寫(xiě) -gid n #查找屬組gid為n的文件 -user username #按文件屬主來(lái)查找 -group groupname #按組來(lái)查找 -mtime -n +n #按文件更改時(shí)間來(lái)查找文件,-n指n天以?xún)?nèi),+n指n天以前 -atime -n +n #按文件訪(fǎng)問(wèn)時(shí)間來(lái)查GIN: 0px"> -ctime -n +n #按文件創(chuàng)建時(shí)間來(lái)查找文件,-n指n天以?xún)?nèi),+n指n天以前 -nogroup #查無(wú)有效屬組的文件,即文件的屬組在/etc/groups中不存在 -nouser #查無(wú)有效屬主的文件,即文件的屬主在/etc/passwd中不存 -newer f1 !f2 #查更改時(shí)間比f(wàn)1新但比f(wàn)2舊的文件 -type #查是塊設(shè)備、目錄、字符設(shè)備、管道、符號(hào)鏈接、普通文件 -size n[c] #查長(zhǎng)度為n塊[或n字節(jié)]的文件
使用示例
1、find /etc -name profile:在/etc目錄下查找名為profile的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find /etc -name profile /etc/profile
2、find / -user mysql :在根目錄下查找屬主為mysql的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find / -user apache /proc/29936/task /proc/29936/task/29936 /proc/29936/task/29936/attr /proc/29936/net /proc/29936/attr /proc/29937/task /proc/29937/task/29937 /proc/29937/task/29937/attr /proc/29937/net /proc/29937/attr ......
查看/proc/29936/task的文件屬性
[root@iZwz985sjvpojho4jlms7lZ ~]# ll /proc/29936/task total 0 dr-xr-xr-x 6 apache apache 0 Oct 16 14:12 29936 # 屬主為apache
3、find /var/lib -group apache : 在/var/lib下根據(jù)屬組apache查找文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/lib -group apache /var/lib/dav /var/lib/php/session /var/lib/php/session/sess_7vtaesehg11f45ljrsh98k3s57 /var/lib/php/session/sess_uubh9p4tvc1mohopepndg9m3d3 /var/lib/php/session/sess_aovaqofcs4918vsl0mhquf79a7 /var/lib/php/session/sess_pm8lgnn78c9jh64umjnk0gsu14 /var/lib/php/session/sess_i1tc9i6n0chddlfp250oqun8f2 /var/lib/php/session/sess_2c1vrgb6lqgifg7lruaoq5u6s2 /var/lib/php/session/sess_3vc0gbkpl1m4hb2h6mr7nbgvk4 /var/lib/php/session/sess_rditv2odgr4vg7jmdu8sfvdm90 /var/lib/php/session/sess_a6m2fkh0cel9uf7tqo48qmphs5 /var/lib/php/session/sess_eierot422pov01ognbjo2dkqv1 /var/lib/php/session/sess_1ei3jbop7osama4m375qrsqqc5 /var/lib/php/session/sess_vovl6rrmb66a570dncpgp49p22 /var/lib/php/session/sess_6ef5d9r6fhatqie8apr28odgn0 /var/lib/php/session/sess_1o1rv6o963v3nr5sdui3hodll0
4、find /var/www -mtime -2 : /var/www目錄下在2天以?xún)?nèi)修改過(guò)的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/www -mtime -2 /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/b595b808c2ebeeeb0478ffc30bb4e87a.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/e82f9209c88dd6a459bf8b3d6299d38c.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/dfa8fa69d0f81d1ba09048823f5e779b.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/3fd17d8cbb99d40eed8370916fbba7bf.php /var/www/html/fxyxManage/Application/Runcache/Cache/Admin/32ec6c906c117a7c2bf504769276d87a.php /var/www/html/fxyxManage/Application/Runcache/Logs/Weixin
選項(xiàng)-atime、-ctime的用法同-mtime
5、find /etc/httpd -type d:查找/etc/httpd下的目錄,-type根據(jù)文件類(lèi)型查找
[root@iZwz985sjvpojho4jlms7lZ ~]# find /etc/httpd -type d /etc/httpd /etc/httpd/conf /etc/httpd/conf.modules.d /etc/httpd/conf.d
6、find /var/www -iname topoftencent.class.php :開(kāi)啟不區(qū)分文件名大小寫(xiě)查找
[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/www -iname topoftencent.class.php /var/www/html/fxyxManage/Spider/TopOfTencent.class.php
7、find /var/lib/mysql -gid 27:查找屬組id為27的文件
[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/lib/mysql -gid 27 /var/lib/mysql/auto.cnf /var/lib/mysql/ibdata1 /var/lib/mysql/ib_logfile0 /var/lib/mysql/performance_schema /var/lib/mysql/performance_schema/accounts.frm /var/lib/mysql/performance_schema/threads.frm ......
關(guān)于“Linux中文件搜索命令有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。