17, 搜尋檔案

2021-09-27 07:32:58 字數 1331 閱讀 1822

locate是通過資料庫的方式搜尋的,所以速度更快,要先安裝locate,新系統都是mlocate或者slocate,locate命令通過符號鏈結過去。所以可以

yum install mlocate

查詢檔案如果報錯

[root@minimal html]# locate mysql.log

locate: 無法執行 stat () `/var/lib/mlocate/mlocate.db': 沒有那個檔案或目錄

可以使用

updatedb

命令更新資料庫,如果有新檔案,需要執行updatedb,更新才能搜尋到。應該仍然比find快。updatedb也會每天自動執行一次。

-type c        匹配c型別檔案

-user name  匹配屬於name使用者的檔案/目錄

-perm mode  匹配許可權

-empty 匹配空檔案/目錄

還有其他一些時間測測試項

-and 簡寫為 -a,邏輯與

-or    簡寫為 -o,邏輯或

-not  簡寫為 !,邏輯非

( )     可以改變優先順序,使用的時候,前面要加反斜線,\(   \)

-delete  刪除匹配到的

-ls         顯示匹配到的

-print     列印匹配到的

-print0   將檔案中的單引號、雙引號、換行符、空格顯示成null

例如:

find ~ -type f -name '*.bak' -delete
-exec command {} ;

{} 代表匹配到的檔案和目錄,分號;代表exec目錄的結束。在實際使用的時候要加引號,如下:

-exec rm '{}' ';'
除了-exec,還有-ok選項,-ok會彈出乙個互動,讓使用者選擇是否執行。

-exec command '{}'  ';'    會在每個匹配到的檔案/目錄上反覆執行command命令,但是

-exec command '{}' +     是將所有檔案/目錄組合成乙個列表,來執行command一次。

區別有點類似於

ls -l a.txt

ls -l b.txt

和 ls -l a.txt b.txt

更通用的是用xargs命令 

將標準輸入轉換成命令的引數列表。例如:

find ~ -type f -name 'foo*' -print | xargs ls -l
為了防止檔名中有特殊字元,應該這麼配合使用

SDAU 搜尋專題 17 非常可樂

1 問題描述 problem description 大家一定覺的運動以後喝可樂是一件很愜意的事情,但是seeyou卻不這麼認為。因為每次當seeyou買了可樂以後,阿牛就要求和seeyou一起分享這一瓶可樂,而且一定要喝的和seeyou一樣多。但seeyou的手中只有兩個杯子,它們的容量分別是n ...

洛谷題單 演算法1 7 搜尋

綠色為列標號,記 lie i 為列標記 紅色為主對角線標號,記 zhu i 為主對角線標記 藍色為次對角線標號,記 ci i 為次對角線標記 觀察 1,1 位置,它在 3 號主對角線上。向右移動到 1,2 位置,它就變為在 2 號主對角線上,可以確認 列標號與主對角線負相關 向下移動到 2,1 位置...

Oracle 17概要檔案

概要檔案用於限制由使用者使用的系統和資料庫資源,並可以對口令進行管理。如果在建立使用者時沒有指定概要檔案,將使用預設的概要檔案。1 使用create profile命令建立概要檔案 語法格式如下 create profile profile name limit resource parameter...