Linux中常用的查詢指令(which、whereis、find、locatae)
我們經常在linux要查詢某個檔案,但不知道放在哪裡了,可以使用下面的一些命令來搜尋:
Which 檢視可執行檔案的位置。
whereis 檢視檔案的位置。
locate 配合資料庫檢視檔案位置。
Find 實際搜尋硬碟查詢檔名稱
which
which命令的作用是,在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。也就是說,使用which 命令,就可以看到某個系統命令是否存在,以及執行的到底是哪個位置的命令。
1.命令格式: which 可執行檔名稱
2.命令功能: which指令會在PATH變數指定的路徑中,搜尋某個系統命令的位置,並且返回第一個搜尋結果。
例1:
查詢有別名的命令時,顯示別名的資訊
例如:在環境變數指定的路徑中,搜尋ls命令的位置
3.命令引數:
-n 指定檔名長度,指定的長度必須大於或等於所有檔案中最長的檔名。
-p 與-n引數相同,但此處的包括了檔案的路徑。
-w 指定輸出時欄位的寬度。
-V 顯示版本資訊
which -v
whereis指令:
whereis命令只能用於程式名的搜尋,並且只搜尋二進位制檔案 (引數-b)、man說明檔案(引數-m)和原始碼檔案(引數-s)。
如果省略引數,則返回所有資訊。
和find相比,whereis查詢的速度非常快,這是因為linux系統會將系統內的所有檔案都記錄在一個數據庫檔案中,當使用 whereis和下面即將介紹的locate時,會從資料庫中查詢資料, 而不是像find命令那樣,通過遍歷硬碟來查詢,效率自然會很高。
但是該資料庫檔案並不是實時更新,預設情況下時每星期更新一次,因此,我們在用whereis和locate 查詢檔案時,有時會找到已經被刪除的資料,或者剛建立檔案,卻無法查詢到,原因就是因為資料庫檔案沒有被更新。
1.命令格式:
whereis [-bmsu] [BMS 目錄名 -f ] 檔名
2.命令功能:
whereis命令是定位可執行檔案、原始碼檔案、幫助檔案在檔案系統中的位置。這些檔案的屬性應屬於原始程式碼,二進位制文 件,或是幫助檔案。whereis 程式還具有搜尋原始碼、指定備用搜索路徑和搜尋不尋常項的能力。
3.命令引數:
-b 定位可執行檔案。
-m 定位幫助檔案。
-s 定位原始碼檔案。
-u 搜尋預設路徑下除可執行檔案、原始碼檔案、幫助檔案以外的其它檔案。
-B 指定搜尋可執行檔案的路徑。
-M 指定搜尋幫助檔案的路徑。
-S 指定搜尋原始碼檔案的路徑。
4.使用例項:
whereis –b grep 定位可執行檔案。
whereis -m grep 定位幫助檔案。
whereis -s grep 定位原始碼檔案。
whereis -u grep 搜尋預設路徑下除可執行檔案、原始碼檔案、幫助檔案以外的其它檔案
-B 指定搜尋可執行檔案的路徑。
-M 指定搜尋幫助檔案的路徑。
-S 指定搜尋原始碼檔案的路徑。
find指令:
Linux下find命令在目錄結構中搜索檔案,並執行指定的操作。 Linux下find命令提供了相當多的查詢條件,功能很強大。由於 find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網路檔案系統( NFS), find命令在該檔案系統中同樣有效,只你具有相應的許可權。 在執行一個非常消耗資源的find命令時,很多人都傾向於把它放在後臺執行,因為遍歷一個大的檔案系統可能會花費很長的時間(這裡是指30G位元組以上的檔案系統)。
1.命令格式:
find pathname -options [-print -exec -ok ...]
2.命令功能:
用於在檔案樹種查詢檔案,並作出相應的處理(可能訪問磁碟)
3.命令引數:
pathname: find命令所查詢的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄
-print: find命令將匹配的檔案輸出到標準輸出。
-exec: find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為'command' {} \;,注意{}和\; 之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓使用者來確定是否執行
使用用例:
查詢當前目錄下的test.cpp 並輸出
查詢當前目錄下的test.c並且顯示許可權
查詢當前目錄下的test.c並且顯示許可權
4.命令選項:
-name 按照檔名查詢檔案(精確查詢區分大小寫)
-iname 按照檔名查詢檔案(不區分大小寫)
-perm 按照檔案許可權來查詢檔案
-user 按照檔案屬來查詢檔案。
-group 按照檔案所屬的組來查詢檔案
-mtime -n +n 按照檔案的更改時間來查詢檔案
- n表示檔案更改時間距現在n天以內
+ n表示檔案更改時間距現在n天以前
find命令還有-atime和-ctime 選項,但它們都和-m time 選項相同
-nogroup 查詢無有效所屬組的檔案,即該檔案所屬的組在/ etc/groups中不存在
-nouser 查詢無有效屬主的檔案,即該檔案的屬主在/etc/ passwd中不存在。
-newer file1 ! file2 查詢更改時間比檔案file1新但比檔案file2舊的檔案
-type 查詢某一型別的檔案,諸如
b - 塊裝置檔案
d - 目錄
c - 字元裝置檔案
p - 管道檔案
l - 符號連結檔案
f - 普通檔案
-size n:[c] 查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。
-depth:在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢
-fstype:查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案/etc/fstab中找到,該配置檔案中包含了本系統中有關檔案系統的資訊
-mount:在查詢檔案時不跨越檔案系統mount點。
-follow:如果find命令遇到符號連結檔案,就跟蹤至連結所指向的檔案
-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。
另外,下面三個的區別:
- 建時間來查詢檔案,-n指n天以內,+n指n天以前
例子:
1. 在當前目錄中查詢更改時間在5日以前的檔案並刪除它們:
find . -type f -mtime +5 -ok rm {} \;
2. Linux 用find命令查詢檔案大小為XX的檔案的辦法
例如:一個檔案5556位元組,可以這樣寫
即查詢大於5555位元組小於5557位元組的檔案,以上查詢的是/root 目錄
find /root -size -5557c -size +5555c -exec ls -ld {} \;
查詢小於500K,大於50K的檔案
find /root -size -500K -size +50K -exec ls -ld {} \;
練習:
查詢/目錄下檔名為test的目錄
$ find / -name test -print
查詢當前所有目錄並排序
升序
降序
查詢所有目錄名稱中按照”.log”結尾的目錄
]$ find / -name '*.log' -print
查詢系統中最近5分鐘訪問的目錄
查詢系統中最近5天訪問的檔案
find / -mtime -5
查詢當前目錄下所有許可權為775的檔案,並設定成777
find . -perm 775 -ok chmod 777 {} \;
查詢檔案大小為10k的檔案,並刪除
locate指令:
使用許可權:所有使用者
使用方式: locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
locate [-Vh] [--version] [--help]
說明:
locate 讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。其方法是先建立一個包括系統內所有檔案名稱及路徑的資料庫,之後當尋找時就只需查詢這個資料庫,而不必實際深入檔案系統之中了。
在一般的 distribution 之中,資料庫的建立都被放在 contab 中自動執行。一般使用者在使用時只要用 # locate your_file_name 的型式就可以了。
引數:
-u
-U
建立資料庫,-u 會由根目錄開始,-U 則可以指定開始的位置。
-l
如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到許可權無法看到的檔案。這會使速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的許可權資料
-f
將特定的檔案系統排除在外,例如我們沒有到理要把 proc 檔案系統中的檔案放在資料庫中
-q
安靜模式,不會顯示任何錯誤訊息
-n
至多顯示 n個輸出
-r
使用正規運算式做尋找的條件
-o
指定資料庫存的名稱
-d
指定資料庫的路徑
-h
顯示輔助訊息
-v
顯示更多的訊息
-V
顯示程式的版本訊息
範例:
locate chdrv : 尋找所有叫chdrv 的檔案
locate -n 100 a.out :尋找所有叫 a.out 的檔案,但最多隻顯示100個
locate -u : 建立資料庫
相關推薦
Linux中常用的查詢指令(which、whereis、find、locatae)
我們經常在linux要查詢某個檔案,但不知道放在哪裡了,可以使用下面的一些命令來搜尋:Which 檢視可執行檔案的位置。whereis 檢視檔案的位置。locate 配合資料庫檢視檔案位置。Find 實際搜尋硬碟查詢檔名稱whichwhich命令的作用是,在PAT
Linux中常用操作命令(轉)
備份 並不會 使用方法 nts 系統 版本 不定 vim常用 相同 1、cd命令 這是一個非常基本,也是大家經常需要使用的命令,它用於切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。如: [plain] view plain
linux中常用的壓縮、解壓命令詳解
壓縮 不管在windows中還是在linux中,我們會經常看到各種壓縮的文件,此刻我們需要使用就得解壓,在這就介紹介紹linux中解壓、壓縮的命令。 在做實驗之前,我們先創建幾個文件,大小都是100M,方便我們更能清晰理解。 一、compress【選項】file(不是太常用,而且tab鍵還不能補齊)
linux運維中常用的指令
png ima shel 登錄用戶 linu init 電力 src linux運維 一、Shell中常用的快捷鍵 man界面中的快捷鍵: ?keyword 向上搜索關鍵詞keyword,n向下搜索,N繼續向上搜索 /key
Linux中常用命令(檔案與目錄)
1、pwd 檢視當前目錄(Print Working Directory) 2、cd 切換工作目錄(Change Directory) (1)格式:cd [目錄位置] 特殊目錄: .當前目錄 ..上一級目錄 ~使用者主目錄 -上個
C語言中常用排序演算法(氣泡排序、選擇排序、插入排序、希爾排序、快速排序、堆排序)實現比較
以下程式在win10 X64位作業系統,使用VS2017執行驗證可行 排序是非常重要且很常用的一種操作,有氣泡排序、選擇排序、插入排序、希爾排序、快速排序、堆排序等多種方法。 例項1 冒泡法排序 1.前言: 陣列中有N個整數,用冒泡法將它們從小到大(或從大到小)排序。冒泡法
Linux中檢視系統版本(核心和發行)、CPU資訊以及修改主機名
檢視cpu資訊 cat /proc/cpuinfo 檢視系統與核心相關資訊 Uname [選項] &nbs
iOS開發——oc——founctation中常用結構體(NSRange、NSPoint\CGPoint、NSSize\CGSize、NSRect\CGRect)
founcation中常用結構體 一、概述: 在foundation框架中,有一些關於位置和尺寸的結構體,在我們實際開發ios的時候會經常被使用到,所以這裡詳細講解下: NSRange : 表示範圍 NSPoint\CGPoint
linux中搜尋檔案或目錄(which,whereis,locate,find)
[[email protected] ~]# locate passwd /home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_DB_war/DB.war/jsp/as/user/passw
Linux下各種查詢命令(find, grep, which, whereis, locate)
find命令 find < path > < expression > < cmd > path: 所要搜尋的目錄及其所有子目錄。預設為當前目錄。expression: 所要搜尋的檔案的特徵。cmd: 對搜尋結果進行特定的處理。 如果什麼引數也不加,find預設搜尋當
Linux c中一些常用函式總結(c語言中文網。。。)
fgets()函式 標頭檔案:include<stdio.h> fgets()函式 標頭檔案:include<stdio.h>fgets()函式用於從檔案流中讀取一行或指定個數的字元,其原型為: char * fgets(char *
Linux常用操作指令(面試專用)
常用指令 ls 顯示檔案或目錄 &nbs
linux中如何查詢端口被占用的情況
linux查詢端口今日要運用python寫一個端口勘探的小程序,以檢測一些特定的效勞端口有沒有被占用,突然發現自個竟然不知道在linux中怎麽查詢端口被占用的情況,天吶,從速學習一下。Linux如何查看端口1、lsof -i:端口號 用於查看某一端口的占用情況,比如查看8000端口使用情況,lsof -i:8
Linux 中常用命令
ln -s directory 沒有 開始 media 關機命令 範圍 後臺作業 解壓縮 命令基本格式: 命令提示符:[[email protected]/* */ ~]# root 代表當前的登錄用戶(linux當中管理員賬號是root)
【Linux】Linux中常用操作命令
詳細信息 hadoop 用戶組 軟件 name vim使用 title redhat tail Linux簡介及Ubuntu安裝 常見指令 系統管理命令 打包壓縮相關命令 關機/重啟機器 Linux管道 Linux軟件包管理 vim使用 用戶及用戶組管理 文件權限管理
linux中常用時間和字符串之間相互轉化
時間函數 spa lin cell form time函數 地理 -1 名稱 在Linux中經常會遇到時間和字符串相互轉化的情形,有兩個函數專門對應相應的轉化。 1、時間轉字符串函數strftime 函數原型:size_t strftime(char *s,size_t m
String類中常用的方法(重要)
循環 類型 demo width 尋找 str2 子字符串 replace table 1.字符串與字節 public String(byte[] byte); 將全部字節變成字符串 public String (byte[] byte,int offset,in
Linux中的 man 命令(2017年9月21日 22:41:20)
code kernel des dev games usr 配置文件 jce lib 輸入q,回車就退出; 輸入man man,會詳細告訴你man手冊的使用方法; man手冊是學習linux中經常用到的東西 使用方法: 1. man的查詢後面的數字含義: 1
Linux中的目錄功能(Red Hat 7)
linux zhang linux中 文件的 程序 tmp red hat 7 /tmp hang 目錄的基本功能: /bin:存放普通用戶使用的命令 /sbin:存放管理員可以執行的命令 /home:存放普通的家目錄 如張三家目錄為/home/zhangsan /roo
Linux中常用操作命令
有用 lena 第一個字符 pda dha 查看 加載 rmdir 結構 常用指令 ls:顯示文件或目錄 -i:列出文件詳細信息(list) -a:列出當前目錄下所有文件及目錄,包括隱藏文件和文件夾(a) mkdir:創建目錄 -p:創建目錄,若無上級目錄則創建(