歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux find 命令用法總結

Linux find 命令用法總結

日期:2017/2/28 14:02:01   编辑:Linux教程

find 命令算是Linux下最常用的一個命令之一了,這裡有一些常用用法的總結。

1. 按文件名搜索。
搜索當前目錄下所有的以txt結尾的文件。第二個命令用了 -exec 參數,可以在對查找的所有文件執行一種操作。注意格式,空格和;一個都不能少。-name 的參數可以用正則表達式,例如第二個例子

find ./* -name "*.txt"
find ./* -name "[ab]*.py"
find ./* -name "*.pyc" -exec rm {} \;

2. 按修改時間查找
查找當前目錄下當天修改過的文件。-1 表示一天前修改過的文件。-2表示前兩天。find ./* -mtime n n表示,對文件數據的最近一次修改是在 n*24 小時之前。+n 指n天以前,-n指n天以內(對 -mmin 是指n分鐘), n 表示第n天,他們的含義都是不同的,注意區分。

find ./* -mtime 60 -type f -print
find ./* -mmin -60 -type f -print
find ./* -mmin +60 -type f -print

3. 文件狀態改變
和 上個參數相比,基本道理都是一樣的,只不過這個參數的含義是文件的權限被修改。改內容和改文件的權限是不一樣的,這裡指的是更改的是文件inode的數據,比如文件的權限,所屬人等等信息。cmin 表示近60分鐘內被改過權限,ctime 表示近幾天內被修改過。

find ./* -cmin +60 -type f -print
find ./* -ctime -60 -type f -print

4
按照文件的所屬group和 所屬user 來查找-user 和 -nouser 最後一個命令找出當前已經被刪除的系統用戶的所有文件, - group 和 - nogroup 的功能類似。

find ./* -user fox
find ./* -nouser

5
find 避開某個目錄,避開多個目錄。其中 -a 表示 and 的意思,-o 表示or 的意思。

find test -path "test/test4" -prune -o -print
find test \( -path test/test4 -o -path test/test3 \) -prune -o -print
find . \( -path ./modules -o -path ./framework -o -path ./utils -o -path ./config \) -prune -o -name "Bigger.*" -print

6
-perm 選項 指文件的訪問權限

find -perm 755 -print

7
實用inode 來查找文件編號。可以如下面所示在find命令中指定inode編號。在此,find命令用inode編號重命名了一個文件。你也可以通過rm來刪除那個特殊的文件。

ls -i1 test*
16187429 test-file-name
16187430 test-file-name
find -inum 16187430 -exec mv {} new-test-file-name \;

8
找出當前目錄下最大的5個文件

find . -type f -exec ls -s {} \; | sort -n -r | head -5

9
下面的命令刪除大於100M的*.zip文件。

find / -type f -name *.zip -size +100M -exec rm -i {} \;

Linux下查找文件find命令 http://www.linuxidc.com/Linux/2014-10/108575.htm

Linux下find命令詳解 http://www.linuxidc.com/Linux/2011-08/40669.htm

文本查找利器find的使用 http://www.linuxidc.com/Linux/2014-03/97559.htm

功能強大的find命令 http://www.linuxidc.com/Linux/2014-01/95236.htm

Linux系統find命令詳解 http://www.linuxidc.com/Linux/2014-06/103232.htm

Copyright © Linux教程網 All Rights Reserved