隨筆-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 小小程序程序員混口飯吃 閱讀(668) 評論(0)  編輯  收藏 所屬分類: linux
          主站蜘蛛池模板: 共和县| 桐庐县| 师宗县| 定州市| 嘉黎县| 利津县| 华容县| 兰坪| 通化市| 彝良县| 巧家县| 丹阳市| 鄂托克旗| 韶山市| 广东省| 象山县| 长宁区| 屏东市| 民乐县| 固始县| 临武县| 敦化市| 左贡县| 那坡县| 东乡| 秭归县| 略阳县| 德州市| 忻州市| 龙门县| 洮南市| 开封县| 镇安县| 汉沽区| 库伦旗| 奉化市| 慈溪市| 平阳县| 庆安县| 锡林浩特市| 农安县|