文件查詢命令

當你拿到一個文件時,不知道它在哪兒,在什麼路徑,屬於什麼類型,這個時候,這些命令就能幫助到你了~~~~

1. file 查看文件類型:查看文件的基本數據,例如屬於ASCII 還是data或者是binary,有沒有使用帶動態函數庫等信息

用法:file 文件名

如:file ~/.bashrc


2 which(尋找 "執行文件")

用法:which [-a] command    (command就是在終端輸入的那些東西,如cd   ifconfig等)

-a :將所有PATH目錄(有些是在bash內置的,這時用 type 命令)中可以找到的命令全部都列出來,不僅列出查詢到的第一個

如: which -a ifconfig


3.  whereis 文件名查詢,尋找特定文件(whereis和locate是linux在數據庫文件裏面查找的,而find直接遍歷硬盤查詢的)

用法:whereis [-bmsu] 文件或者目錄名

參數:-b :只尋找二進制格式文件

           -m :只找在說明文件manual路徑下的文件

           -s :只找source源文件下的

          -u:在以上三種以外的特殊文件

如:whereis ifconfig


4. locate [-ir] keyword

參數:-i :忽略大小寫

            -r :後面可接正則表達式的方式

如:locate -i ifconfig

有時你會查不到,很有可能是你的locate數據庫/var/lib/mlocate/沒有更新,只要你執行updatedb更新後再查詢


5. find [ PATH ] [ option ] [ action ]

參數:

(一). 與時間有關的有-atime,-ctime, -mtime,這三個時間都代表什麼可以去看看我以前寫的,現在以mtime爲例子。

-mtime n  :這個n是一個數字,指第 n 天當天被更改過的文件

-mtime +n :列出 n 天之前的(不含 n 天本身)被更改過的文件, 如:find /etc  -mtime +4

-mtime -n :在 n 天之內(含 n 天)被修改過的內容

-newer 文件file :列出比已存在文件 file 還要新的文件名,如:find  /etc -newer  /etc/passwd  列出新舊兩個文件之間的文件


(二)與用戶或用戶組有關的參數

-uid n :這個n是數字,是用戶的賬號ID,即UID,記錄在/etc/passwd

-gid n :這個 n 是用戶組ID,即UID,記錄在/etc/group裏

-user name:這個name是用戶名稱,如root(用戶)

-group name:這個name是用戶組名稱,如root(用戶組)

-nouser name:尋找文件所有者不存在/etc/passwd中的文件

-nogroup name :/尋找文件所有用戶組不存於/etc/group中的文件,當自行安裝軟件,使用-nouser和-nogroup來查找吧

如:find /home -user username


(三)與文件權限及名稱有關的參數

-name filename:直接查找文件名爲filename的文件

-size [ + - ] SIZE:查找比 SIZE 還大(+)或小(-)的文件,c:代表byte,k代表1024bytes,如find -size +50k

-type TYPE:查找文件類型爲TYPE的文件,文件都有什麼類型,之前的博客我也寫過


(四)其他可進行的操作

-exec command:-exec後面接其他的命令來擴展輸出的結果,如:find  / -type f ls -al {}  \ ;

-print :打印查詢結果,默認



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章