1. 程式人生 > >耳朵(七):linux——檔案查詢與編輯器

耳朵(七):linux——檔案查詢與編輯器

Linux下查詢檔案命令:which,whereis,locate,find which命令:which是通過 PATH環境變數到該路徑內查詢可執行檔案,所以基 本的功能是尋找可執行檔案 -a :將所有由 PATH 目錄中可以找到的指令均列出,而不止第一個 在這裡插入圖片描述 whereis : whereis [-bmsu] 檔案或者目錄名稱 -b : 只找二進位制檔案 -m: 只找在說明檔案manual路徑下的檔案 -s : 只找source原始檔 -u : 沒有說明文件的檔案 在這裡插入圖片描述 和find相比,whereis查詢的速度非常快,這是因為linux系統會 將 系統內的所有檔案都記錄在一個數據庫檔案中,當使用whereis 和下面即將介紹的locate時,會從資料庫中查詢資料,而不是像 find命令那樣,通 過遍歷硬碟來查詢,效率自然會很高。 但是該資料庫檔案並不是實時更新,預設情況下時每天更新一次, 因此,我們在用whereis和locate 查詢檔案時,有時會找到已經被 刪除的資料,或者剛剛建立檔案,卻無法查詢到,原因就是因為數 據庫檔案沒有被更新。 locate: locate [檔名或目錄] -i :忽略大小寫的差異; - -r :後面可接正則表示法的顯示方式 locate 尋找的資料是由『已建立的資料庫 /var/lib/mlocate/』 裡面的資料所搜尋到的,所以不用直接在去硬碟中存取資料,因此 很快。 find: find 路徑 引數 -atime n :將n24小時記憶體取過的的檔案列出來 -ctime n :將n

24小時內改變、新增的檔案或者目錄列出來 -mtime n :將n*24小時內修改過的檔案或者目錄列出來 -newer file :把比file還要新的檔案列出來 • +4代表大於等於5天前的檔名: find /var -mtime +4 • -4代表小於等於4天內的檔案檔名:find /var -mtime -4 • 4則是代表4-5那一天的檔案檔名: find /var -mtime 4 與使用者或組名有關引數: -gid n :尋找群組ID為n的檔案 -group name :尋找群組名稱為name的檔案 -uid n :尋找擁有者ID為n的檔案 -user name :尋找使用者者名稱為name的檔案 -nouser :尋找檔案的擁有者不存在 /etc/passwd 的人! -nogroup :尋找檔案的擁有群組不存在於 /etc/group 的檔案! -name:按照關鍵字查詢 -size:按照檔案大小尋找在這裡插入圖片描述
-name:在這裡插入圖片描述 額外操作: -exec command :command 為其他挃令,-exec 後面可再接額 外的指令來處理搜尋到癿結果。 -print :將結果列印到螢幕上,這個動作是預設! 在這裡插入圖片描述 #{} 代表是『由 find 找到內容』,如上圖所示,find 結果會 被放置到 {} 位置中; #-exec 一直到 ; 是關鍵詞,代表 find 額外動作開始 (-exec) 到 結束 (? ,在這中間的就是find 命令內的額外動作。 在本例中就是 『 ls -l {} 』,因為『 ; 』在 bash 環境下是有特殊意義的,因此利用反斜槓來轉義。

上述的-exec還可以用xargs 在這裡插入圖片描述 -exec 1.引數是一個一個傳遞的,傳遞一個引數執行一次rm 2.檔名有空格等特殊字元也能處理 -xargs 1.一次將引數傳給命令,可以使用-n控制引數個數 2.處理特殊檔名需要採用如下方式: find . -name “*.txt” print0 |xargs -0 rm {} xargs是給命令傳遞引數的一個過濾器,也是組合多個命令的一個 工具。它把一個數據流分割為一些足 夠小的塊,以方便過濾器和命 令進行處理。 1、查詢/etc 目錄下屬主為 root,且屬組為 mail 的所有檔案或目錄; 2、查詢/etc目錄下不屬於root, bin或hadoop的所有檔案或目錄; 在這裡插入圖片描述

vi、vim編輯器 Vi是Visual interface的簡稱。 Vim是Vi的增強版,即Vi Improved。 模式:工作模式、命令模式、輸入模式、末行模式 Vim擁有5種編輯模式:命令模式、輸入模式、末行模式、視覺化 模式、查詢模式。 1).命令模式(其它模式→ESC) 2).輸入模式(命令模式→a、i、o、A、I、O) 3).末行模式(命令模式→:) 4).視覺化模式(命令模式→v) 5).查詢模式(命令模式→?、/)

vi/輸入模式常用命令 dd 刪除(剪下)游標所在整行 10dd 刪除(剪下)從游標處開始的10行 yy 複製游標所在整行 10yy 複製從游標處開始的10行 p 刪除(dd)或複製(yy)過的資料貼上到游標後面 n 顯示搜尋命令定位到的下一個字串 N 顯示搜尋命令定位到的上一個字串 u 撤銷上一步的操作 ctrl+f 向檔案尾翻一屏 ctrl+b 向檔案首翻一屏 a 在當前字元後新增文字 i 在當前字元前新增文字 o 在當前後面插入一空行 h、j、k、l 左、下、上、右 shirf + $ 行尾 shift + ^ 行首 shift + G 尾部 gg 首部

vi/末行模式常用命令 :w 儲存 :q 退出 :q! 強制退出 :wq! 強制儲存退出 :set nu 顯示行號 :set nonu 不顯示行號 ?/one/two 當前游標所在行的第一個one替換成two ?/one/two/g 當前游標所在行的所有one替換成two :%s/one/two/g 將全文中的所有one替換成two ?str 在文字中從下至上搜索該字串 /str 在文字中從上至下搜尋該字串