linux shell之find高級(jí)點(diǎn)的用法

1  查找當(dāng)前目錄a.txt和b.txt文件,下面的o是or的意思, -iname是忽略大小寫的意思(-o -iname)

find . -iname a.txt -o -iname b.txt


2 查找當(dāng)前目錄下的除了a.txt的文件(!)

find . ! -iname "a.txt"


3 查看當(dāng)前目前下的目錄(-type d)

find . -type d

 

4 查看當(dāng)前目錄下的普通文件(-type f)

find . -type f

 

5 查看當(dāng)前目錄下訪問時(shí)間在一天內(nèi)的文件(-atime)

find . -type f -atime -1


6 查看當(dāng)前目錄下訪問時(shí)間在恰好一天的文件(-atime)

find . -type f -atime 1



7 查看當(dāng)前目錄下訪問時(shí)間在恰好大于一天的文件(-atime)

find . -type f -atime +1

 

8 查看當(dāng)前目錄下訪問時(shí)間在一分鐘內(nèi)的文件(-amin)

find . -type f -amin  -1



9 查看當(dāng)前目錄下訪問時(shí)間在恰好一分鐘的文件(-amin)

find . -type f -amin 1


10 查看當(dāng)前目錄下訪問時(shí)間在恰好大于一分鐘的文件(-amin)

find . -type f -amin +1


11 查看當(dāng)前目錄下訪問時(shí)間在訪問b.txt文件更加接近的文件,就是更加接近現(xiàn)在(-newer)

find . -type f -newer b.txt

 

12 查看當(dāng)前目錄下文件大小在2G之內(nèi)的文件(-size)

find . -type f -size -2G

 

13 查看當(dāng)前目錄下文件大小恰好2M的文件(-size)

find . -type f -size 2M

 

14 查看當(dāng)前目錄下文件大小恰好2K的文件(-size)

find . -type f -size +2k

 

15 刪除當(dāng)前目錄下面的*.txt文件(-delete)

find . -name *.txt -delete

 

16 給當(dāng)前目錄的sh文件添加權(quán)限(-exec {} \;)

find . -name "*.sh" -exec chmod 777 {} \;

 

17 給當(dāng)前目錄下的普通文件添加權(quán)限(-exec {} \;)

find . -type f -exec chmod 777 {} \;

 

18 復(fù)制當(dāng)前目錄的sh文件到./sh目錄(-exec {} \;)

find . -name "*.sh" -exec cp {} ./sh/ \;

 

19 刪除當(dāng)前目錄的sh文件(-exec {} \;)

find . -name "*.sh" -exec rm {} \;

 

20 查找當(dāng)前目錄下的不包含".git"目錄下的普通文件(-prune修剪)

find . -type f -o -name "*.git" -prune

 

 

 

 
作者:chen.yu
深信服三年半工作經(jīng)驗(yàn),目前就職游戲廠商,希望能和大家交流和學(xué)習(xí),
微信公眾號(hào):編程入門到禿頭 或掃描下面二維碼
零基礎(chǔ)入門進(jìn)階人工智能(鏈接)