LinuxDay9 檔案查詢和壓縮

2022-07-03 02:21:15 字數 3203 閱讀 7207

locate

查詢系統上預建的檔案索引資料庫,依賴於事先構建的索引

/var/lib/mlocate/mlocate.db

索引構建過程需要遍歷整個根檔案系統,極消耗資源;查詢速度快;模糊查詢;非實時查詢;搜尋的是檔案的全路徑,不僅僅是檔名;可能只搜尋使用者具備讀取和執行許可權的目錄

-i 不區分大小寫的搜尋

-n n 只列舉前n個匹配專案

-r 使用正規表示式

find

查詢速度慢;精確查詢;實時查詢;

-maxdepth:  level最大搜尋目錄深度,指定目錄為第1級

-mindepth:  level最小搜尋目錄深度

-name "檔名稱":  支援使用glob

-iname "檔名稱":  不區分字母大小寫

-inum n:  按inode號查詢

-samefile name:   相同inode號的檔案

-regex 「pattern」:以pattren匹配整個檔案路徑字串,而不僅僅是檔名稱

-user username:  查詢屬主為指定使用者(uid)的檔案

-group grpname:  查詢屬組為指定組(gid)的檔案

-uid userid:  查詢屬主為指定的uid號的檔案

-gid groupid:   查詢屬組為指定的gid號的問價

-nouser:  查詢沒有屬主的檔案

-nogroup:  查詢沒有屬組的檔案

-type:

f:普通檔案

d:目錄檔案

s:套接字檔案

b:塊裝置檔案

c:字元裝置檔案

p:管道檔案

-empty

與:-a  或:-o  非:-not,!

德·摩根定律

(非a)或(非b)=非(a且b)

(非a)且(非b)=非(a或b)

-size [+ | -] # unit

常用單位:k,m,g,c(byte)

#unit:(#-1,#)

例如:6k表示(5k,6k]

-unit:[0,#-1]

例如:-6k表示[0,5k]

+unit:(#,∞)

例如:+6k表示(6k,∞) 

以「天」為單位;

-atime [+ | -] #

#: [#,#+1)

+#: [#+1,∞]

-#: [0,#)

-mtime

-ctime

-amin

-mmin

-cmin

-perm

mode:精確許可權匹配

/mode: 任何一類物件的許可權中只要有一位符合即可

-mode:每一類物件都必須同時擁有指定許可權和關係

-print:預設的處理動作,顯示至螢幕

-ls:查詢到的檔案執行「ls -l」

-delete:刪除查詢到的檔案

-fls file:查詢到的所有檔案的長格式資訊儲存至指定檔案中

-ok command {}\;對查詢到的每個檔案執行command指定的命令,對於每個檔案執行之前,都會互動式要求使用者確認

-exec command{}\;對查詢到的每個檔案執行由command指定的命令

{}:用於引用查詢到的檔名稱自身

find傳遞差遭到到檔案至後面指定的命令時,查詢到所有符合條件的檔案要一次性傳遞給後面的命令

xargs

用於生產某個命令的引數,xargs可以讀入stdin的資料,並以空格符或回車符將stdin的資料分割成aruguments。

gnome

圖形化搜尋工具

compress/uncompress

compress [-dfvcvr] [-b maxbits] [file ...]

uncompress 解壓縮

-d: 解壓縮,相當於uncompress

-c: 結果輸出至標準輸出,不刪除原檔案

-v: 顯示詳情

zcat file.z >file

gzip/gunzip

gzip [option]... file ...

-d: 解壓縮,相當於gunzip

-c: 將壓縮或解壓縮的結果輸出至標準輸出

-#:1-9,指定壓縮比,值越大壓縮比越大

zcat

bzip2/bunzip2/bzcat

bzip2 [option]... file ...

-k: keep, 保留原檔案

-d:解壓縮

-#:1-9,壓縮比,預設為9

bzcat

xz/unxz/xzcat

xz [option]... file ...

-k: keep, 保留原檔案

-d:解壓縮

-#:1-9,壓縮比,預設為6

xzcat: 不顯式解壓縮的前提下檢視文字檔案內容

zip/unzip:打包壓縮/解包解壓縮

tar

(tape archive,磁帶歸檔的縮寫)

-c(建立)打包 -cpvf

-f指定到那個檔案

-v顯示詳細資訊

-p保留原有屬性

-x解壓縮(預設當前路徑)

-z 打包成gz字尾

-j 打包成bz2字尾

-j打包成xz字尾

-t 選擇指定輸入檔案

-x選項指定要包含排除的檔案

分割大的 tar 檔案為多份小檔案:

split –b size –d tar-file-name prefix-name

split -b 1m –d mybackup.tgz mybackup-parts

split -b 1m mybackup.tgz mybackup-parts

合併:cat mybackup-parts* > mybackup.tar.gz

cpio

-o 將檔案複製打包成

-i 解包

-t預覽

-v顯示打包過程

-d接包成目錄

linux 檔案管理 9 檔案查詢和壓縮

locate sh locate i sh 不區分大小寫 locate n sh 顯示前幾個 locate r sh 正則 只搜尋data目錄本身 find data maxdepth 1 find data depth 先處理檔案再處理目錄 find data name test find dat...

實驗9 檔案操作

1.有一英語文字檔案,編寫程式,使其中的小寫字母變大寫,大寫字母變小寫。2.用shutil模組進行檔案移動 import shutil shutil.move d text.txt c text.txt 3.使用者輸入乙個目錄名和乙個檔名,判斷檔案是否在該目錄下。import os dirct in...

06 檔案查詢和檢索

檔名 find 查詢目錄 name 查詢的檔名 檔案型別 find 查詢目錄 type檔案型別 普通檔案 f 目錄 d 管道 p 套接字 s 字元裝置 c 塊裝置 b 檔案大小 find 查詢目錄 size 檔案大小 大於 小於 大於10k且小於100k size 10k size 100k 按日期...