linux基本命令之find

來源:互聯網
上載者:User

linux中的find命令功能非常強大,他可以根據各種不同的參數搜尋硬碟尋找檔案或目錄。他的基本命令格式如下:

find [PATH] [option] [action]

一、選項

1、與時間有關的參數

-atime n:  n為數字,含義為在n天之前的“一天之內”訪問(access)過的檔案。

-ctime n:  n為數字,含義為在n天之前的“一天之內”修改(change)過z狀態的檔案。

-mtime n:  n為數字,含義為在n天之前的“一天之內”修改(modification)過的檔案。

-mtime -n +n: n為數字,-n含義為在n天之內修改(modification)過的檔案,+n含義為在n天之前修改(modification)過的檔案。同理應用到-ctime, -atime。

-newer file: file為一個存在的檔案,只要比檔案file新,就會被列出來。

2、與使用者或使用者組名稱有關的參數

-uid n:  n為數字,這個數字是使用者賬戶的id,即UID,這個UID記錄在/etc/passwd裡邊與賬戶名稱對應的數字。

-gid n:  n為數字,這個數字是使用者組的id,即GID,這個GID記錄在/etc/group裡邊。

-user name:  name為使用者帳號名稱。如zhangzhiwi

-group name:  name為使用者組名稱。如users.

-nouser:  尋找檔案的擁有者不在/etc/passwd中的檔案。

-nogroup:  尋找檔案的擁有使用者組不在/etc/group中的檔案。某些自行安裝的軟體可能沒有檔案擁有者和使用者組。

3、與檔案許可權及名稱有關的參數

-name filename:  搜尋檔案名稱為filename的檔案。

-type typeid:  搜尋檔案類型為typeid的檔案。主要類型有

                    f    普通檔案類型

                    b   塊裝置檔案類型

                    c   字元裝置檔案類型

                    d   目錄類型

                     l   串連檔案內容

                     s  通訊端類型

                     p   FIFO,管道等類型。

-size [+-]filesize:  搜尋比filesize大(+)或者小(-)的檔案。filesize要有規則。c表示byte,k表示1024bytes。

                    例如,要尋找目前的目錄下大於50k的檔案: find . -size +50k

-perm mode:  搜尋檔案屬性剛好為mode的檔案。例如-perm 755。則檔案屬性為rwxr-xr-x的檔案將被搜出來。

-perm -mode:  搜尋檔案屬性包含全部mode的檔案。例如搜尋-perm -755。則檔案屬性為rwxrwxrwx(777)的檔案也會被搜尋出來。

-perm +mode:   搜尋檔案屬性包含任一mode的檔案。例如搜尋-perm +755。則檔案屬性為rwx------(700)的檔案也會被搜尋出來。

二、附加操作。

        find命令尋找出檔案後,常常需要對這些檔案進行處理,例如刪除掉或者列印出來等等。此時就需要exec或者ok來配合find來進行處理。其基本命令為:

find [PATH] [OPTION] -exec(-ok) command {} /;

-exec和-ok的區別是-exec提醒使用者,-ok不提醒。其後是command命令,然後是一對兒{},之後有個空格,然後是/和;

例如尋找目前的目錄下所有名稱為“.svn”的目錄並刪除它:

find . -name .svn -type d -exec rm -rf {} /;

三、使用xargs。

xargs是一條Unix和類Unix作業系統的常用命令。它的作用是將參數列錶轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題。他配合grep命令使我們經常會用到的一個用法:尋找某個目錄下包含某個字串的檔案。

find . –type f|xargs grep ‘mystring’。

 

關於find命令,更具體的用法請參考:http://www.linuxsir.org/main/node/137

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.