隨筆-109  評論-187  文章-25  trackbacks-0
          find 命令在linux中是很常用到的一個查找命令,它的功能非常地強大。可以結合正則匹配來搜索系統中的指定的內容,以下我就記錄一下這個find常用到的一些用法

          ?

          首先我們來看年find的總體用法

          find path option [-print -exec -ok]

          其中path是指定在哪個路徑中查找內容。如/var下查找內容,option是find中的一些屬性值,常用的有-name,-type,-mtime,-ctime,-atime,-user,-group,-nouser,-nogroup,-perm等,[-print -exec -ok]是可選屬性值,-print是指把查找到的內容輸出到指定的地方,-exec與-ok都是執行另處的command命令,但兩都也有一點不同,-exec在執行指定的command時不會給用戶顯示提示或操作信息,但是-ok就會在有提示詢問操作時給用戶顯示信息,直到用戶做了選擇時才繼續執行。

          ?

          常用的option值說明

          -name 指定查找的內容是文件。

          -type 指定查找的文件的類型,它有d,l,b,p,f,c等文件類型,d是查找目錄,l是查找鏈接檔,b是查找塊文件,p是查找管道文件,f是普通文件,c是字符設備文件

          -mtime,-ctime,atime都是指按時間查找,-mtime是文件的修改時間,-ctime是文件的創建時間,atime是后找開文件時間

          -user是查找指定用戶帳號的文件

          -group是查找指定組帳號的文件

          -nouser查找無用戶帳號文件

          -nogroup是查找無組帳號文件

          ?

          下面舉幾個例子說明一下find的用法

          (1)我想找出/etc目錄下是passw開頭的所有文件

          ?? find /etc -name "passw*"?

          這個例子中"*"號是正則匹配中的“所有”的意思

          (2)我想找出/var/log目錄下所有的前5天的.log文件

          ?? find /var/log -name "*.log" -mtime +5

          這個例子中"+5"是指5天以前的文件,如是查"-5"則是5天以內的文件

          (3)我想找出/home目錄下是"ygl"這個用戶的文件

          ?? find /home -user "ygl"

          (4)我想找出/home目錄下是"ygl"這個用戶的所有的普通檔的文件

          ?? find /home -user "ygl" -type f

          (5)我想找出/var/log目錄下的所有的.log文件并查看它的詳細信息

          ?? find /var/log -name "*.log" -type f -exec ls -l {} \;

          這個例子中用到了可選屬性-exec用來執行ls命令,其中的-exec或者-ok的用法都要在它所執行的command后面接" {} \;"

          (6)我想查找出在/etc中以passw開頭的所有文件中有沒有ygl這些內容的

          ?? find /etc -name "passw*" -exec grep -in "ygl" {} \;

          posted on 2006-11-06 09:34 小小程序程序員混口飯吃 閱讀(663) 評論(0)  編輯  收藏 所屬分類: linux
          主站蜘蛛池模板: 鹤岗市| 通化市| 新余市| 泰顺县| 汉中市| 香河县| 碌曲县| 泰兴市| 巴林左旗| 广水市| 玉山县| 中山市| 常山县| 敦化市| 乌兰浩特市| 襄城县| 宁城县| 古丈县| 包头市| 崇左市| 交口县| 湖北省| 安多县| 昔阳县| 五莲县| 白河县| 行唐县| 凤城市| 齐河县| 新泰市| 筠连县| 什邡市| 石阡县| 祁阳县| 丘北县| 桂东县| 嘉禾县| 杭锦后旗| 临猗县| 阿坝县| 广德县|