Linux常用命令 - find命令基礎使用(重點)


21篇測試必備的Linux常用命令,每天敲一篇,每次敲三遍,每月一循環,全都可記住!!

https://www.cnblogs.com/poloyy/category/1672457.html

 

首先,先造一點數據

mkdir -p ~/test/cool
touch ~/test/cool/test{1..5}.txt
touch ~/test/cool/{1..3}.sh
chmod 777 *.sh
history
> test.txt
ls >> test1.txt
ls >> test1.txt

 

最基礎的打印操作

find ~/test

知識點

  • -print 是默認就有的,不寫也可以,而 -print 默認是以 \n 來分隔找到的文件
  • 如果不想換行打印,可以考慮空格分隔,加上 -print0 即可
find ~/test -print0

執行結果

 

通過文件名搜索

  • -name:僅可以對文件的file_name匹配
  • -path:可以對文件的dir_name、file_name匹配

查找的文件名最好使用引號包圍,可以配合通配符進行查找

查找~/test下的.txt文件

find ~/test -name "*.txt"

 

在~/test下查找cool文件夾下的.txt文件

find ~/test -path "/*cool*/*.txt"

 

倘若,我們通過-name來執行會是怎么樣的呢?是會報錯的

因為 -name 是不能使用 / 的,除非文件名包含了 / , 因為 -name 只能匹配 file_name (即文件名),並不匹配 dir_name (即目錄名)

所以想要在指定目錄(~/test)下搜索某目錄中(/cool)的某文件(.txt),應該使用-path而不是-name

 

通過文件的類型來搜索

在~/test目錄下查找所有的目錄

find ~/test -type d

 

在~/test目錄下查找所有的文件

find ~/test -type f

 

還有其他不常用的文件類型

  • b:塊設備
  • c:字符設備
  • p:管道
  • l:符號鏈接

 

通過文件的時間來搜索

在~/test目錄下查找修改時間在5日以內的文件 

find ~/test -mtime -5

 

在~/test目錄下查找修改時間在3日以前的.txt文件

find ~/test -type f -name "*.txt" -mtime +3

 

在~/test目錄下查找更改時間在5分鍾以內的.txt文件 

find ~/test -type f -name "*.txt" -mmin -5

 

在~/test目錄下查找修改時間在10分鍾以前的文件

find ~/test -mmin +10

 

注意點

 

 

通過文件的大小來搜索

語法格式

-size n[cwbkMG]

那么它有什么類型大小單位呢?(官方直接給了答案)

b:512字節的塊(默認)1b = 512c

c:bytes,指定字節大小

w:等價於兩個bytes,1w=2c,一般用戶匹配中文

k:平時常說的1kb,1k=1024c=2b

M:1MB,1M=1024k=2048b

G:1GB,1GB=1024MB=2048*1024b

 

在~/test目錄下查找所有size=0字節的文件

find ~/test -size 0

 

在~/test目錄下查找所有size<100k的文件

find ~/test -size -100k

 

在~/test目錄下查找所有size>1MB的文件

find ~/test -size +1M

 

通過編程中的“與、或、非”來搜索

  • -a:與,即&&(默認都是與)
  • -o:或:即||
  • -not:非,即條件結果取反

 

在~/test目錄下查找文件大小在1kb和10kb內的所有文件

find ~/test -size +1k -size -10k
find ~/test -size +1k -a -size -10k

 

在~/test目錄下查找大於1kb或類型為普通文件的文件

find ~/test -size +1k -o -type f

 

在~/test目錄下查找非空文件

find ~/test -not -size 0

 

在~/test目錄下查找文件或目錄

find ~/test -type f -o -type d

 

搜索空文件

find ~/test -empty -type f

 

通過文件所屬用戶搜索

find ~/test -user root

 

通過文件所屬組group搜索

find ~/test -group root

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM