-
文件搜索命令locate
locate aaa.txt
這個命令速度快箕别,但是它只能搜索文件名
因為locate是搜索的/var/lib/mlocate
的數(shù)據(jù)庫下mlocate里面搜索六水,所以新建的文件不會被刷新到這個庫里面來稚叹,但是我們可以手動刷新這個庫updatedb
刷新數(shù)據(jù)庫指令
但是這里還有一個梗,locate的數(shù)據(jù)庫mlocate并不會記錄所有的數(shù)據(jù)文件的彩掐,它有一個配置文件/etc/updatedb.config
updatedb.config 表示文件意義
- PRUNE_BIND_MOUNTS="yes" yes開啟限制裁厅,no反之
- PRUNEFS= 不搜索的文件系統(tǒng)
- PRUNENAMES= 不搜索的文件類型
- PRUNEPATHS= 不搜索的路徑
-
命令搜索命令whereis與which
命令搜索命令 只能用來搜索命令
- whereis搜索命令所在路徑和幫組文檔位置
whereis -bm ls
-b
只查找可執(zhí)行文件
-m
只查找?guī)椭臋n(可以理解為 man縮寫)
whoami查看當(dāng)前操作用戶
想要知道命令是干嘛的用whatis 例如:whatis ls
- which不僅可以搜索命令,還可以查看命令的別名(但是不是所有的文件都有別名)
which ls
- PATH環(huán)境變量
打印環(huán)境變量命令
echo $PATH
使用的命令都會在這里配置文件夾里面找
-
文件搜索命令find
- find
find [范圍路徑] [搜索條件] [搜索文件]
應(yīng)該盡量縮小范圍哑芹,提高性能
例如:find / -name install.log
find搜索的是完全匹配,所以我們一般需使用通配符
- 通配符(跟正則差不多)
- ? 匹配任意一個字符
- * 匹配任意內(nèi)容
- [] 匹配任意一個中括號內(nèi)的字符
- -iname 不區(qū)分大小寫
find /root -iname install.log
- -user 按照所有者搜索
find /root -user root
- -nouser 查找沒有所有者的文件
find /root -nouser
沒有所有者的文件一般都是垃圾文件捕透,內(nèi)核文件聪姿、外來數(shù)據(jù)沒有所有者,例如系統(tǒng)生產(chǎn)的文件乙嘀,護(hù)著windows生成的文件U盤
- -mtime 修改文件內(nèi)容
find /var/log/ -mtime +10
十天前修改的文件
-10
10天內(nèi)修改的文件10
10天當(dāng)天修改的文件+10
10天前修改的文件
- -atime 文件訪問時間
- -ctime 改變文件屬性的時間
- -size 文件大小條件
find . -size 25k
當(dāng)前目錄下大小為25kb的文件
-25k
小于25kb的文件
25k
等于25kb的文件
+25k
大于25kb的文件
(注意單位的大小寫 k M 如果不加單位則是表示25個扇區(qū)大小)
- -inum 查找磁盤表中i節(jié)點
find . -inum 456745
當(dāng)前目錄下找i節(jié)點為456745的文件
- 邏輯條件 -a 與 -o或(-and -or)
只要寫了-exec后面就要加空格{}空格\;
-
字符串搜索命令greg
grep [選項] 字符串 文件名
(在指定的文件中匹配符合條件的字符串末购,條件字符串可以配合正則一起使用)
grep "你好啊" aaa.txt
- -i 忽略大小寫
- -v 排除指定字符串