Linux系統文件查找與解壓縮方法

如同我們平時在操作?Windows系統時,文件查找與解壓縮文件是經常要使用到的操作,Linux系統中也要經常用到相同的操作,今天我們就來介紹Linux系統中的一些文件查找與解壓縮時使用到的工具。

本節索引

一、文件查找

二、壓縮與解壓縮

 

如同我們平時在操作 Windows系統時,文件查找與解壓縮文件是經常要使用到的操作,Linux系統中也要經常用到相同的操作,今天我們就來介紹Linux系統中的一些文件查找與解壓縮時使用到的工具。

timg_image&quality=80&size=b9999_10000&sec=1523524960870&di=c1ed97ff04b653b2e198

一、文件查找

Linux系統中自帶兩個文件查找命令locate和find,那兩個命令如何進行使用選擇呢?各自又有什么優點和缺點呢,我們來詳細看一下:

(1)locate命令

優點:搜索速度快,節省系統性能(生產環境適合使用locate)

缺點:不能即時更新(文件索引數據庫在每次開機后更新),要想搜索最新文件需手動輸入命令updatedb更新文件索引數據庫,模糊搜索;

 

Locate命令適合搜索不經常變化的文件,如系統文件

 

查詢系統上預建的文件索引數據庫:

/var/lib/mlocate/mlocate.db

 

locate

-i????? 忽略大小寫

-b???? 只搜索基名符合條件的文件

-n???? 只列出前幾個

-r????? 支持擴展正則表達式

 

(2)find命令

優點:精確查找;實時查找;搜索條件靈活

缺點:查找速度慢;占用系統性能

 

find [OPTION]…[查找路徑] [查找條件] [處理動作]

指定搜索層級:

不指定情況下默認當前目錄下搜索

-maxdepth level????? 最大搜索深度,默認為1層

-mindepth level 最小搜索深度

 

根據文件名和inode查找:

-name “filename” 支持使用通配符glob;注意文件名一定加””

-iname “filename” 不區分字母大小寫

-inum n???????????? 按節點號inode查找文件

-samefile name?????? 查找相同inode的文件,即硬鏈接

-links n???? 查找鏈接數為n的文件

-regex “PATTERN” 使用正則表達式搜索

 

根據屬主、屬組查找:

-user USERNAME:查找屬主為指定用戶(UID)的文件

-group GRPNAME:查找屬組為指定組(GID)的文件

-uid UID:?????? 查找屬主為指定UID號的文件

-gid GID:?????? 查找屬組為指定GID號的文件

-nouser:??????? 查找沒有屬主的文件

-nogroup:???? 查找沒有屬組的文件

-nouser -o -nogroup?????? 查找沒有屬主或沒有屬組的文件

 

根據文件類型查找:

-type TYPE:

f:?? 普通文件

d:? 目錄文件

l:?? 符號鏈接文件

s:?? 套接字文件

b:? 塊設備文件

c:? 字符設備文件

p:? 管道文件

 

搜索空文件或目錄:

-empty???????????? 查找空文件或空目錄

例:find/app -type d -empty

 

組合條件:

-a???? 與

-o???? 或

-not,!?????? 非

 

德摩根定律:

????????????????? (非A)或(非B)=非(A且B)

????????????????? (非A)且(非B)=非(A或B)

注意:使用()表示組合條件時,括號內兩邊一定要加空格,且括號一定要加轉義符”\”。

 

根據文件大小來查找:

-size[+|-]#UNIT

常用單位:k,M,G,c(byte)

1024c? (1024-1,1024]

+1024c??? (1024,+)

-1024c???? [0,1024-1]

 

根據時間戳查找:

以“天”為單位:

-atime[+|-]#

3:[3,4)

+3:[4,+]

-4:[0,4)

-mtime

-ctime

以“分鐘”為單位:

-atime

-mtime

-ctime

根據權限查找:

-perm[/|+|-]MODE

MODE:精確權限匹配(數字法)

/|+MODE:任何一類(u,g,o)對象的權限中只要能一位匹配即可,或關系;

CentOS6使用“+”,CentOS7使用“/”

-MODE:沒類對象權限都有對應權限時,才會匹配,且關系;

 

處理動作:

-print??????????????? 默認的處理動作,顯示到屏幕

-ls???????????? 類似于對查找的文件執行”ls -l”命令

-delete???????????? 刪除查找到的文件,不進行提示

-fls file???? 查找到的所有文件的長格式信息保存至指定文件中

-ok COMMAND{}\; {}代表前面搜索到的結果,-ok后必須跟\;結尾,語法要求;對

查找到的每個文件執行COMMAND命令,每個文件執行命令時,會要求

用戶確認

例:find -name “f*” -ok rm {} \;

將f開頭的文件刪除,每個文件刪除時會要求確認。

-exec COMMAND{}\; 對每個搜索到的文件執行COMMAND命令,不要求用戶確認

例:find -name “f*” -exec mv {} /data/ \;

將f開頭的文件移動到data目錄下,不要求用戶確認

 

 

 

二、壓縮和解壓縮

Linux系統中支持多種文件解壓縮工具,不同壓縮工具壓縮比有所不同,壓縮后的后綴名也不一樣。要注意的是:前面我們說過在linux系統中,文件是不通過后綴判斷的,但在解壓縮中是個例外,不同的解壓縮工具對后綴是有要求的。

Linux常見解壓縮工具:

file-roller???????? 圖形化解壓縮工具(類似于windows系統winrar)

compress/uncompress:?????? .Z后綴

gzip/gunzip:????????? .gz后綴(主流)

bzip2/bunzip2:????????????? .bz2后綴(主流)

xz/unxz:???????????????? .xz后綴(主流,新興)

zip

tar

cpio

 

(1)compress/uncompress

-d???? 解壓縮,相當于uncompress,壓縮文件刪除

-c???? 壓縮結果輸出至標準輸出,不刪除原文件

例:compress -c b > b.Z 解壓文件b并且不刪除

-v???? 顯示詳情

uncompress??? 解壓縮,同compress -d,壓縮文件刪除

zcat file.Z > file? 解壓縮,原壓縮文件不刪除

 

(2)gzip/gunzip

-d???? 解壓縮,相當于gunzip

-c???? 將壓縮結果輸出至標準輸出,不刪除原文件

-v???? 顯示詳情

zcat file.gz > file? 解壓縮,原壓縮文件不刪除

 

(3)bzip2/bunzip

-k???? 保留原文件

-d???? 解壓縮

bunzip2??????????? 解壓縮

bzcat???????????????? 不解壓縮前提查看文本內容,與gzip的zcat用法類似

 

(4)xz/unxz

-k???? 保留原文件

-d???? 解壓縮

unxz???????? 解壓縮,功能同xz -d

xzcat???????????????? 功能同zcat,bzcat

 

壓縮比:xz > bzip2 > gzip > compress

 

(5)zip/unzip

打包壓縮

zip -r /tsetdir/sysconfig /etc/sysconfig/

解包解壓縮

unzip sysconfig.zip

cat /var/log/messages|zip messages –

unzip -p message > message?? ?? 解壓縮重定向

 

 

 

(6)tar工具:(Tape ARchive,磁帶歸檔的縮寫)打包工具,并不壓縮

tar[OPTION]…

-c???? 創建一個打包文件

-C???? 指定解壓的目錄

-p???? 保留屬性

-v???? 查看過程

-f????? 對哪個進行文件歸檔或打包

-t????? 查看列表

 

 

1.創建文檔(打包文件或目錄)

tar -cpvf /PATH/TO/SOMEFILE.tar FILE…

2.追加文件到歸檔:注:不支持對壓縮文件追加

tar -r -f /PATH/TO/SOMEFILE.tar FILE…

3.查看歸檔文件中的文件列表

tar -t -f /PATH/TO/SOMEFILE.tar

4.展開歸檔(解包)

tar -x -f /PATH/TO/SOMEFILE.tar

tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/

5.結合壓縮工具實現:歸檔并壓縮

-j:bizp2

-z:gzip

-J:xz

 

6.-T選項指定輸入文件,-X選項指定包含要排除的文件列表

例:tar zcvf myback.tgz -T /root/includefilelist -X /root/excludefilelist

 

7.分割打的tar文件為多份小文件:

split

-b Size -d tar-file-name prefix-name

-b 1M –d mybackup.tgz mybackup-parts

-b 1M mybackup.tgz mybackup-parts

8.合并tar分割的多個小文件:

cat mybackup-parts* > mybackup.tar.gz

 

(7)cpio

功能:復制文件從或到歸檔

cpio命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,他可以解壓以

“cpio”或者”tar”結尾的文件

 

cpio[option] > 文件名或者設備名

cpio[option] < 文件名或者設備名

選項

-o???? 將文件拷貝打包成文件或者將文件輸出到設備上

-i????? 解包,將打包文件解壓或將設備上的備份還原到系統

-t????? 預覽,查看文件內容或者輸出到設備上的文件內容

-v???? 顯示打包過程中的文件名稱

-d???? 解包生產目錄,在cpio還原時,自動的建立目錄

-c???? 一種較新的存儲方式

示例:

將etc目錄備份

find ./etc -print |cpio -ov >etc.cpio

內容預覽

cpio -tv < etc.cpio

解包文件

cpio -idv <etc.cpio

 

 

關于linux系統的文件查找和解壓縮方法今天就先介紹到這里了。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95750

(0)
wangxczwangxcz
上一篇 2018-04-12 14:10
下一篇 2018-04-12 17:24

相關推薦

  • 服務器

    服務器的組成及應用

    2018-04-01
  • 網絡管理第一篇

    重點介紹OSI七層模型和TCP/IP四層模型,理解TCP三次握手和TCP的四次揮手以及IP地址的分類,另外基本的網絡配置命令下次在介紹,精彩內容請聽下回分解

    2018-04-28
  • Virtualization虛擬化技術介紹

    Virtualization即虛擬化技術,在計算機方面通常是指計算元件在虛擬的基礎上而不是真實的基礎上運行。虛擬化技術可以擴大硬件的容量,簡化軟件的重新配置過程。CPU的虛擬化技術可以單CPU模擬多CPU并行,允許一個平臺同時運行多個操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率

    2018-07-27
  • SElinux簡介

    本文主要介紹:SELinux概念、配置SELinux、管理文件安全標簽、管理端口標簽、管理SELinux布爾值開關、管理日志、查看SELinux幫助以及SElinux操作示例(遷移httpd服務默認目錄)

    2018-05-17
  • DNS主服務器

    httpd測試頁 echo xxx > /var/www/html/index.html systemctl restart httpd nano /etc/named.conf /etc/named.rfc1912.zones 復制模板文件 cd /var/named/ cp -a named.localhost nixiao.com.zone 重新…

    2018-06-03
欧美性久久久久