Linux常用命令介紹(搜尋命令)
一、檔案搜尋命令
1.1 檔案搜尋命令locate
在後臺資料庫中按檔名搜尋,只可以搜尋檔名,搜尋功能簡單,但搜尋速度快,命令格式為:
locate [檔名]
問題一:centOS系統找不到locate命令
locate: command not found
解決方法:
原因是系統中沒有安裝mlocate這個包。
* 第一步:安裝mlocate包
yum -y install mlocate
會出現下面正在安裝該包的資訊,等待一會,直到出現Complete!就表示安裝完成了。
* 第二步:更新資料庫
updatedb
* 第三步:就可以使用locate命令了
[root@localhost ~]# locate install.log
/root/install.log
/root/install.log.syslog
問題二:當在某些目錄下建立檔案,然後更新資料庫之後,並不能用locate命令查詢到
原因是系統在更新資料庫的配置檔案中,設定了一些搜尋限制,所以搜尋不到,輸入如下命令可以看到:
[root@localhost ~]# vi /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 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 /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
/etc/updatedb.comf配置檔案
- PRUNE_BIND_MOUNTS = “yes” 表示開啟搜尋限制,如果為’no’則表示不開啟搜尋限制;
- PRUNEFS = 表示搜尋時,不搜尋的檔案系統;
- PRUNENAMES = 表示搜尋時,不搜尋的檔案型別;
- PRUNEPATHS = 表示搜尋時,不搜尋的路徑;
不只locate命令遵循搜尋限制,whereis與which也遵循
1.2 whereis與which命令
whereis與which命令是用來搜尋命令的
whereis [命令]
檢視命令所在的地址
1.3 find命令
find命令功能強大,而且搜尋範圍廣,搜尋速度相對較慢。一般都精確查詢,只有加上萬用字元之後才能進行模糊查詢。命令格式如下:
find [搜尋範圍][搜尋條件]
[搜尋條件]有如下幾種:
1. 舉例
find /home/ -name test
查詢名為’test’的檔案檔案或目錄
- -name 檔案或目錄名稱
名稱中可以使用萬用字元
* * 匹配任意內容
* ? 匹配任意一個字元
* [] 匹配任意一箇中括號內的字元
2. 舉例:
find /var/log/ -mtime +10
表示查詢10天前修改的檔案
- -atime 檔案訪問時間
- -ctime 改變檔案屬性
- -mtime 修改檔案內容
其中:
* -10 10天內修改的檔案
* 10 10天當天修改的檔案
* +10 10天前修改的檔案
3. 舉例
find . -size 25k
查詢所有檔案大小為25KB的檔案
- -25k 小於25KB的檔案
- 25k 等於25KB的檔案
- +25k 大於25KB的檔案
4. 舉例
find . -inum 255673
查詢i節點是255673的檔案
5. 舉例
find /etc -size +20k -a -size -50k
查詢/etc目錄下大於20K並且小於50K的檔案或者目錄
- -a 邏輯與,兩個條件都滿足
- -r 邏輯或,兩個條件滿足一個即可
6. 舉例
find /etc -size +20k -a -size -50k -exec ls -l {} \
查詢/etc目錄下大於20K並且小於50K的檔案或者目錄,並且顯示檔案的詳細資訊
- -exec ** {} \ 表示對搜尋結果執行相應的操作;
7. 舉例
find /root -iname install.log
檔名稱不區分大小寫;
8. 舉例
find /root -user root
查詢所有者為root的檔案
9. 舉例
find /root -nouser
查詢沒有所有者的檔案
1.4 grep命令
指在檔案中匹配符合條件的字串,格式如下:
grep [選項] 字串 檔名
[選項]:
* -i 忽略大小寫
* -v 排除指定字串
[root@localhost ~]# cat /home/zixuan/learn/test.hard
this is a test file;
111111
111111
those are there
[root@localhost ~]# grep "th" /home/zixuan/learn/test.hard
this is a test file;
those are there
[root@localhost ~]# grep -v "th" /home/zixuan/learn/test.hard
111111
111111
find命令與grep命令的區別
- find命令:在系統當中搜尋符合條件的檔名,如果需要匹配使用萬用字元匹配,並且萬用字元是完全匹配;
- grep命令:在檔案當中搜尋符合條件的字串,如果需要匹配使用正則表示式進行匹配,並且正規表示式是包含匹配;
相關文章
- Linux文字搜尋常用命令Linux
- Linux常用命令介紹Linux
- Ubuntu/Linux入門介紹-搜尋(轉)UbuntuLinux
- 搜尋引擎框架介紹框架
- sftp常用命令介紹FTP
- 【Redis】常用命令介紹Redis
- YUM常用命令介紹
- Linux防火牆介紹和iptables常用命令Linux防火牆
- linux20個常用命令詳解和用法 linux常用命令大全介紹Linux
- RPM常用命令介紹
- Git 介紹與常用命令Git
- (2)Docker常用命令介紹Docker
- Redis介紹及常用命令Redis
- Linux 檔案搜尋命令Linux
- 2—-svn介紹和常用命令
- Linux Bash Shell 指令碼入門(3)——Linux常用命令介紹Linux指令碼
- Linux xargs命令介紹Linux
- linux xhost命令介紹Linux
- linux ps命令介紹Linux
- Linux yum 命令介紹Linux
- Linux top命令介紹Linux
- Linux make命令介紹Linux
- 十九種Elasticsearch字串搜尋方式終極介紹Elasticsearch字串
- MySQL多層級結構-樹搜尋介紹MySql
- k8s介紹與常用命令K8S
- Sqoop架構和常用命令介紹OOP架構
- Solaris系統與Linux系統常用命令的區別介紹Linux
- Linux useradd 命令介紹Linux
- Linux重啟命令介紹Linux
- SQL Server 全文搜尋功能、全文索引方式介紹SQLServer索引
- BBED修復資料庫常用命令介紹資料庫
- 搜尋引擎命令大全
- SAP CRM 裡 Attachment 搜尋的實現邏輯介紹
- 【ASM】asm常用命令及主要功能介紹ASM
- rpm常用命令及rpm引數介紹
- Linux 關機命令介紹shutdownLinux
- linux基本命令介紹(二)Linux
- linux基本命令介紹(一)Linux