隨筆-109  評論-187  文章-25  trackbacks-0
          find 命令在linux中是很常用到的一個查找命令,它的功能非常地強大??梢越Y合正則匹配來搜索系統中的指定的內容,以下我就記錄一下這個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
          主站蜘蛛池模板: 黔南| 玛沁县| 黑山县| 石泉县| 永吉县| 普格县| 息烽县| 绵竹市| 山东省| 民权县| 井陉县| 达日县| 海盐县| 汉沽区| 新田县| 曲周县| 江门市| 阿图什市| 西乡县| 济南市| 黄平县| 乌鲁木齐市| 靖西县| 瑞丽市| 轮台县| 秀山| 都昌县| 松滋市| 武城县| 紫阳县| 马关县| 浦北县| 南乐县| 湖口县| 镇江市| 鄂托克旗| 土默特左旗| 崇礼县| 延川县| 夏邑县| 金寨县|