歡迎您光臨本站 註冊首頁

linux中Find命令的使用

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
今天一個很偶然的機會看到了linux中的find命令,然後我在網上搜索了一下這方面的內容,為了方便大家學習參考,我就總結一下,一上午的勞動成果,呵呵

首先是find的語法:
find [起始目錄] 尋找條件 操作
還有種表述方式:find PATH OPTION [-exec COMMAND { } ;]

find命令會根據我們給的option,也就是尋找條件從我們給出的目錄開始對其中文件及其下子目錄中的文件進行遞歸搜索,我覺的這個地方說是「起始目錄」是非常好的.


該命令中的尋找條件可以是一個用邏輯運算符 not、and、or 組成的複合條件.邏輯運 算符 and、or、not 的含義為:

(1) and:邏輯與,在命令中用「-a」表示,是系統預設的選項,表示只有當所給的條 件都滿足時,尋找條件才算滿足.例如:
find –name 』tmp』 –xtype c -user 』inin』
% 該命令尋找三個給定條件都滿足的所有文件

(2) or:邏輯或,在命令中用「-o」表示.該運算符表示只要所給的條件中有一個滿足 時,尋找條件就算滿足.例如:
find –name 』tmp』 –o –name 』mina*』
% 該命令查詢文件名為』tmp』或是匹配』mina*』的所有文件.

(3) not:邏輯非,在命令中用「!」表示.該運算符表示查找不滿足所給條件的文件 .例如:
find ! –name 』tmp』
% 該命令查詢文件名不是』tmp』的所有文件.

需要說明的是:當使用很多的邏輯選項時,可以用括弧把這些選項括起來.為了避免Shell本身對括弧引起誤解,在話號前需要加轉義字元「」來去除括弧的意義.例:
find (–name 』tmp』 –xtype c -user 』inin』 )



我覺的現在我應該說下出了查詢條件,在find中的option的內容了:

在option中,具體有參數:
-name 』字串』 查找文件名匹配所給字串的所有文件,字串內可用通配符 *、?、[ ].
-lname 』字串』 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符 *、?、[ ].
-gid n 查找屬於ID號為 n 的用戶組的所有文件.
-uid n 查找屬於ID號為 n 的用戶的所有文件.
-group 』字串』 查找屬於用戶組名為所給字串的所有的文件.
-user 』字串』 查找屬於用戶名為所給字串的所有的文件.
-empty 查找大小為 0的目錄或文件.
-path 』字串』 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[ ].
-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711,644.
-size n[bckw] 查找指定文件大小的文件,n 後面的字元表示單位,預設為 b,代表512位元組的塊.
-type x 查找類型為 x 的文件,x 為下列字元之一:
b 塊設備文件
c 字元設備文件
d 目錄文件
p 命名管道(FIFO)
f 普通文件
l 符號鏈接文件(symbolic links)
s socket文件
-xtype x 與 -type 基本相同,但只查找符號鏈接文件.
以時間為條件查找
-amin n 查找n分鐘以前被訪問過的所有文件.
-atime n 查找n天以前被訪問過的所有文件.
-cmin n 查找n分鐘以前文件狀態被修改過的所有文件.
-ctime n 查找n天以前文件狀態被修改過的所有文件.
-mmin n 查找n分鐘以前文件內容被修改過的所有文件.
-mtime n 查找n天以前文件內容被修改過的所有文件.


[火星人 ] linux中Find命令的使用已經有371次圍觀

http://coctec.com/docs/linux/show-post-53320.html