歡迎您光臨本站 註冊首頁

Linux中與文件查找相關命令

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0
在Linux操作系統中,我們經常會遇到這樣的情況:我們創建了一個文件,然後過了幾天需要再用文件的時候忘了文件放在哪兒了.因此,我們就需要做文件查找.需要用到以下命令.
一,locate
特點:根據資料庫,做非實時查找,查找結果不精確,但速度快;
怎樣使用:locate KEYWORD
-c KEYWORD 統計匹配到的文件個數;
-n KEYWORD 匹配前n個;
另:使用命令updatedb 手動生成locate所依賴的資料庫;
二,find
特點:實時查找,精確但速度慢;
怎樣使用:find [dir1(路徑),...] [criteria(查找標準),...] [action(查找到后的操作),...]
eg:find /etc -name "passwd"
1)Criteria(查找標準):
-name NAME 精確查找 文件名有空格得用雙引號引起來;支持globbing方式的文件名通配,*:匹配任意長度的任意字元;?:任意單個字元.
eg:find /etc/ -name "passwd*"
-iname 不區分文件名中字母的大小寫
-regex 「PATTERN」查找符合模式的文件名
-user USERNAME 根據用戶名查找
eg:find /tmp -user redhat 查找/tmp下屬主是redhat的文件;
-group GRPNAME 根據屬組查找
-uid
-gid
-nouser 查找沒有屬主的文件
-nogroup 查找沒有屬組的文件
-type f
d
l
b
c
p
s
eg:find /tmp -type s 查找/tmp下文件類型為套接字文件的文件
2)組合條件:
-a 與
-b 或
-not 非
(!!!註:「非」的優先順序最高 然後是「與」最后是「或」)
eg:find /tmp -not -user redhat
find /tmp -not \( -user redhat -o -iname "*lc*" \) -size n(K,M,G) 按文件大小查找;
eg:10M-->9-10M
-10M-->小於10M
10M--> 大於10M
3)-atime n-->文件距離上一次被訪問n天;


-n ---n天內
n ---至少3天
-mtime n --文件被修改
-ctime n --文件被改變
-amin n --與atime 對應 單位為分鐘
-mmin n
-cmin n
4)-perm
eg:-perm 755 精確到755,匹配文件的許可權位755的文件
755 |/755 --任何一類用戶某一個許可權位符合條件
-755 --所有類別用戶的所有許可權位符合條件;
5)action
-print 默認值 將匹配到的內容顯示出來
-ls --以長格式顯示文件屬性信息
-ok --提醒確認
-exec --查找到文件后執行命令;
eg: -exec rm {} \;
(註:{} 文件名引用符;\;--結束符)
6)xargs 通過管道接受find命令查找的結果
eg:find /tmp -perm 644 | xargs chomd 755 --將find搜索到/tmp 下的文件許可權位644的文件並將其許可權修改為755. 總結:以上便是與文件查找的相關的兩個命令;可以看出find的功能很強大,也很好用,也將是我們今後常用的命令.

本文出自 「Linux」 博客,請務必保留此出處http://wld6linux.blog.51cto.com/4356376/777683


[火星人 ] Linux中與文件查找相關命令已經有525次圍觀

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