主頁 > 知識庫 > Linux上的文件搜索命令實例詳解

Linux上的文件搜索命令實例詳解

熱門標簽:電銷機器人加盟多少錢 天津智能外呼系統排名 汨羅代理外呼系統 網絡電話外呼系統撥號軟件 400電話申請找 宿松高德地圖標注 貴陽400電話到哪里去辦理 4層電梯外呼控制系統設計 申請400電話有什么用

locate

基礎了解

在centos7上默認沒有l(wèi)ocate命令,需要先手動安裝。安裝步驟:http://www.cnblogs.com/feanmy/p/7676717.html

locate命令搜索的后臺數據庫路徑:/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

更新數據庫使用updatedb,配置文件為/etc/updatedb.conf

# 開啟搜索限制
PRUNE_BIND_MOUNTS = "yes"
# 不搜索的文件系統
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"
# 不搜索的文件類型
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"

命令選項

了解一個命令可以使用man,如 man locate,可以顯示locate相關的選項。這里只介紹幾個常用選項
-c, --count            只輸出找到的數量
-i, --ignore-case      忽略大小寫
-q, --quiet            安靜模式,不會顯示任何錯誤訊息
-r, --regexp REGEXP    使用基本正則表達式
    --regex            使用擴展正則表達式
-n                     結果中顯示n個文件

使用示例

1、locate /etc/pro :查詢出/etc目錄下所有以pro開頭的文件

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/which2.csh
/etc/profile.d/which2.sh

2、locate -c /etc/pro :顯示匹配到的文件數

locate -c /etc/pro
17

3、locate -i topoftencent.class.php :忽略文件名大小寫

locate -i topoftencent.class.php
/var/www/html/fxyxManage/Spider/TopOfTencent.class.php

雖然文件名大小寫不一致,但使用-i選項依然能匹配出

find

基礎了解

使用find進行文件查找的速度要慢于locate,但是功能及參數要強于locate。在使用find時,要避免大范圍的搜索

命令選項

這里介紹常用選項,其他選項可通過man find了解

-name  filename       #查找名為filename的文件
-iname filename       #查找文件filename,不區(qū)分大小寫
-gid  n           #查找屬組gid為n的文件
-user  username       #按文件屬主來查找
-group  groupname      #按組來查找
-mtime  -n +n        #按文件更改時間來查找文件,-n指n天以內,+n指n天以前
-atime  -n +n        #按文件訪問時間來查GIN: 0px">
-ctime  -n +n        #按文件創(chuàng)建時間來查找文件,-n指n天以內,+n指n天以前
-nogroup           #查無有效屬組的文件,即文件的屬組在/etc/groups中不存在
-nouser            #查無有效屬主的文件,即文件的屬主在/etc/passwd中不存
-newer  f1 !f2        #查更改時間比f1新但比f2舊的文件
-type             #查是塊設備、目錄、字符設備、管道、符號鏈接、普通文件
-size   n[c]        #查長度為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下根據屬組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_pm8lgnn78c9jh54umjnk0gsu14
/var/lib/php/session/sess_i1tc9i6n0chddlfp250oqun8f2
/var/lib/php/session/sess_2c1vrgb6lqgifg7lruaoq5u6s2
/var/lib/php/session/sess_3vc0gbkpl1m4hb2h5mr7nbgvk4
/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天以內修改過的文件

[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

選項-atime、-ctime的用法同-mtime

5、find /etc/httpd -type d:查找/etc/httpd下的目錄,-type根據文件類型查找

[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 :開啟不區(qū)分文件名大小寫查找

[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
......

總結

以上所述是小編給大家介紹的Linux上的文件搜索命令實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • Linux中的搜索文件命令
  • linux文件搜索及其它基礎命令介紹(3)
  • 使用Linux正則表達式靈活搜索文件中的文本

標簽:海北 撫州 烏蘭察布 昌都 廣東 贛州 連云港 臨沂

巨人網絡通訊聲明:本文標題《Linux上的文件搜索命令實例詳解》,本文關鍵詞  Linux,上,的,文件,搜索,命令,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux上的文件搜索命令實例詳解》相關的同類信息!
  • 本頁收集關于Linux上的文件搜索命令實例詳解的相關信息資訊供網民參考!
  • 推薦文章