您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux云服務器的查找命令有哪些及怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
whereis命令用來查找二進制文件、源代碼和幫助手冊。whereis僅在常用的幾個安裝目錄的范圍內查找,不會查找整個系統上的所有文件。這雖然是whereis的局限性,但也正是由于這個原因,whereis的查找速度非常快。另外值得注意的是,whereis不會查找那些shell內置的命令。
比如,我們要查找ls命令:
whereis ls
結果如下,其中/bin/ls是ls的路徑,另外兩個是幫助手冊的路徑。
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
如果我們把ls復制到home目錄和/usr/bin/ls目錄,再次執行whereis命令:
cp /bin/ls ~ cp /bin/ls /usr/bin/ls whereis ls
結果如下,可以發現,whereis并沒有查找home目錄,因為home目錄并不是常用的安裝目錄之一。
ls: /bin/ls /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
用whereis查找cd這些shell內置的命令:
whereis cd
結果如下,只顯示了幫助手冊的路徑。
cd: /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
locate命令是基于文件數據庫(/var/lib/mlocate/mlocate.db)的查找工具,文件數據庫是整個文件系統的一個鏡像。locate命令的查找模式默認是模糊匹配的,也就是說包含文件名的所有文件都會被查找到,因此返回結果通常比較多。值得注意的是,文件數據庫通常每天更新一次,因此可能無法查找一些剛剛創建或刪除的文件。我們可以執行updatedb命令手動更新這個數據庫。由于是基于文件數據庫而不是文件系統進行查找,locate的執行速度也是相當快的。
仍然以ls為例進行查找:
locate ls
我們會得到大量含有ls的結果。為了讓輸出結果更精確,可以用-b指令,也就是使用精確匹配模式來查找。
locate -b "\ls"
這樣輸出結果就只包含ls命令的所在的路徑了。
/bin/ls
which命令的查找范圍是環境變量PATH,并且默認只返回第一個結果,執行速度很快。如果我們查找的是別名,which命令也會在查找之前,映射到別名對應的真實路徑。
比如我們定義了一個名為ll的別名,查找命令如下:
which ll
結果如下:
alias ll='ls -l --color=auto' /bin/ls
如果我們要顯示全部結果,加上-a指令即可。
which -a your_command
type命令用來顯示某個命令的類型,比如別名、關鍵詞、函數、內置命令、文件等。和whereis命令一樣,type命令也僅在常用的幾個安裝目錄的范圍內查找。
顯示cd命令的類型:
type cd cd is a shell builtin
顯示某個二進制文件的類型:
type sudo sudo is /usr/bin/sudo
顯示別名:
type ls ls is aliased to `ls --color=auto'
在5種查找命令中,find命令是功能最強大的命令,也是執行速度最慢的命令。和其他4種命令不同,find命令是基于文件系統的查找,一個文件節點一個文件節點的查找。find命令甚至可以對查找的結果進行后續的操作。
find命令的基本使用方法:
find [path] [option] [action]
在home目錄及其子目錄中,查找文件名為aaa的文件:
find ~ -name 'aaa'
在整個文件系統中,查找修改時間24小時內的文件:
find / -mtime 0
在nginx的web目錄及其子目錄中,查找所屬用戶為nginx的文件:
find /usr/share/nginx/html/ -user nginx
在當前目錄中,查找權限為744的文件:
find -perm -0744
在當前目錄中,查找文件名為aaa的文件,并顯示其詳細信息:
find -name 'aaa' -exec ls -l {} \;
“Linux云服務器的查找命令有哪些及怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。