歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux+命令與文件的查詢

腳本文件名的查詢

which : 尋找執行文件

可以將所有path目錄中可以找到的命令列出,要也就是根據path環境變量所規劃的路徑去查詢文件名

比如 which ifconfig

用roo賬號和一般賬號是不同的

前者可查出正確的執行文件名

/sbin/ifconfig

用一般用戶是找不到的

which cd沒法查找

因為cd是bash內置的命令,但which默認是查找path內所規范的目錄,所以當然找不到

文件名的查找

一般命令有三種,whereis locate find 一般是用whereis 和locate 因為這兩者是利用數據庫啊查找數據的,而find是查找硬盤,數據較慢。

whereis 尋找特定文件

whereis ifconfig 發現root和一般用戶都可以找到這個文件

因此,當找不到某些命令的時候,先用文件查找試試看

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

-s 只找source源文件

locate

參數 -i 忽略大小寫的差異

這個locate更簡單,直接在後面輸出文件的部分名稱

但是這個命令有限制,因為是查找數據庫的,這個數據庫是在/var/lib/mlocate/裡面的數據,二數據庫創建是默認每天執行一次,因為當新建文件後查找該文件,locate會找不到

因此必須要更新數據庫。

手動更新數據庫:直接輸入updatedb,就行。updatedb會讀取/etc/updatedb。conf這個配置文件的設置,再去硬盤查找文件名的操作,最後更新整個數據庫文件,因為updatedb會去查找硬盤,因此會耗時數分鐘。

find

與時間有關的參數:-atime -mtime

-mtime n:n為數字,意義在n天之前的一天之內更改過得文件

-mtime +n:列出在n天之前的更改過的文件名

-mtime -n: 列出n天之內更改過的文件名

find / -mtime 0

0代表目前的時間,所以從現在開始到24小時前

參數2:-user anme:name為賬戶名

比如 find /home -user c 找出任何一個用戶在系統中的所有文件

Copyright © Linux教程網 All Rights Reserved