1. 程式人生 > >Linux常用查找命令

Linux常用查找命令

whereis min 特殊文件 顯示 小寫 二進制 pos test 原因

find

find使用基本格式如下

find <指定目錄> <指定條件> <指定動作>

以下是幾個示例,搜索範圍包括指定目錄和子目錄

// 在根目錄下查找文件名以.txt結尾的文件
find / -name '*.txt'
// 在根目錄下查找文件名以abc開頭的文件,並顯示詳情
find / -name 'abc*' -ls
// 在當前目錄中搜索過去10分鐘更新的普通文件,如果不加-type f參數,則搜索普通文件+特殊文件+目錄
find . -type f -mmin -10

locate

locate比find速度要快,原因在於不搜索目錄,而是搜索linux系統的數據庫,linux系統會自動創建這個數據庫。

// 搜索etc目錄下所有以sh開頭的文件
locate /etc.sh
// 搜索用戶主目錄下所有以sh開頭的文件
locate ~/sh
// 搜索用戶主目錄下所有以sh開頭的文件,並且忽略大小寫
locate -i ~/sh

grep

grep使用的格式如下

grep [選項] pattern [文件名]
  • 選項是一些參數,如-i表示忽略大小寫
  • pattern是匹配模式,類似於正則表達式的基本使用,如^匹配行開頭
  • 文件名是指搜索的目錄或文件

使用示例:

// 在ls的結果中搜索以a開頭的文件或目錄
ls | grep '^a' 
// 顯示所有以d開頭的文件中包含test的行
grep 'test' d*

xargs

管道 + xargs表示把上遊的輸出轉化為下遊的輸入
比如:

// 移除當前目錄中所有以.bak結尾的文件
ls *.bak | xargs rm -f

whereis

whereis命令只能用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。

whereis grep

which

which命令的作用是,在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

which grep

type

type命令主要是判斷一個命令是外部命令還是shell自帶的命令。

type cd 
type grep
// 加上-p參數相當於which命令
type -p grep

Linux常用查找命令