新手必須掌握的Linux命令---打包壓縮與搜索命令

[TOC]

新手必須掌握的Linux命令---打包壓縮與搜索命令

在Linux系統(tǒng)中對文件進行打包壓縮與解壓,以及讓用戶基于關(guān)鍵詞在文本文件中搜索相匹配的信息、在整個文件系統(tǒng)中基于指定的名稱或?qū)傩运阉魈囟ㄎ募?/p>

1、tar命令

參數(shù)

  • -c(小寫) 參數(shù):創(chuàng)建壓縮文件
  • -x(小寫) 參數(shù):解開壓縮文件
  • -t 參數(shù):查看壓縮包內(nèi)有哪些文件
  • -z 參數(shù):用Gzip壓縮或解壓
  • -j 參數(shù):用bzip2壓縮或解壓
  • -v 參數(shù):顯示壓縮或解壓
  • -f 參數(shù):目標(biāo)文件名
  • -p(小寫) 參數(shù):保留原始權(quán)限與屬性
  • -P(大寫) 參數(shù):使用絕對路徑來壓縮
  • -C(大寫) 參數(shù):指定解壓到目錄

首先,-c參數(shù)用于創(chuàng)建壓縮文件,-x參數(shù)用于解壓文件,因此這兩個參數(shù)不能同時使用。其次,-z參數(shù)指定使用Gzip格式來壓縮或解壓文件,-j參數(shù)指定使用bzip2格式來壓縮或解壓文件。用戶使用時則是根據(jù)文件的后綴來決定應(yīng)使用何種格式參數(shù)進行解壓。在執(zhí)行某些壓縮或解壓操作時,可能需要花費數(shù)個小時,如果屏幕一直沒有輸出,您一方面不好判斷打包的進度情況,另一方面也會懷疑電腦死機了,因此非常推薦使用-v參數(shù)向用戶不斷顯示壓縮或解壓的過程。-C參數(shù)用于指定要解壓到哪個指定的目錄。-f參數(shù)特別重要,它必須放到參數(shù)的最后一位,代表要壓縮或解壓的軟件包名稱。

命令
tar -czvf 壓縮包名稱.tar.gz 要打包的目錄 命令:把指定的文件進行打包壓縮
tar -xzvf 壓縮包名稱.tar.gz 命令:解壓壓縮包
tar xzvf 壓縮包名稱.tar.gz -C 命令:解壓壓縮包到指定目錄

2、grep命令

grep命令用于在文本中執(zhí)行關(guān)鍵詞搜索,并顯示匹配的結(jié)果,格式為“grep [選項] [文件]”。

參數(shù)

  • -b 參數(shù):將可執(zhí)行文件(binary)當(dāng)作文本文件(text)來搜索
  • -c 參數(shù):僅顯示找到的行數(shù)
  • -i 參數(shù):忽略大小寫
  • -n 參數(shù):顯示行號
  • -v 參數(shù):反向選擇——僅列出沒有“關(guān)鍵詞”的行

在Linux系統(tǒng)中,/etc/passwd文件是保存著所有的用戶信息,而一旦用戶的登錄終端被設(shè)置成/sbin/nologin,則不再允許登錄系統(tǒng),因此可以使用grep命令來查找出當(dāng)前系統(tǒng)中不允許登錄系統(tǒng)的所有用戶信息:grep /sbin/nologin /etc/passwd
[圖片上傳失敗...(image-471a88-1545122523732)]

3、find命令

find命令用于按照指定條件來查找文件,格式為“find [查找路徑] 尋找條件 操作”。

參數(shù)

  • -name 參數(shù):匹配名稱
  • -perm 參數(shù):匹配權(quán)限
  • -user 參數(shù):匹配所有者
  • -group 參數(shù):匹配所有組
  • -mtime -n +n 參數(shù):匹配修改內(nèi)容的時間(-n指n天以內(nèi),+n指n天以前)
  • -atime -n +n 參數(shù):匹配訪問文件的時間(-n指n天以內(nèi),+n指n天以前)
  • -ctime -n +n 參數(shù):匹配修改文件權(quán)限的時間(-n指n天以內(nèi),+n指n天以前)
  • -nouser 參數(shù):匹配無所有者的文件
  • -nogroup 參數(shù):匹配無所有組的文件
  • -newer f1 !f2 參數(shù):匹配比文件fi新但比f2舊的文件
  • --type b/d/c/p/l/f 參數(shù):匹配文件類型(后面的子母依次表示設(shè)備、目錄、字符設(shè)備、管道、鏈接文件、文本文件)
  • -size 參數(shù):匹配文件的大?。?50KB為查找超過50KB的文件,而50KB為查找小于50KB的文件)
  • -prune 參數(shù):忽略某個目錄
  • -exec ......{}\; 參數(shù):后面可跟用于進一步處理搜索結(jié)果的命令

指令
find /etc -name "host*":獲取 /etc 目錄中host開頭的文件列表
find / -perm -4000:搜索權(quán)限中包括SUID權(quán)限的所有文件,需使用 -4000

進階:在整個文件系統(tǒng)中找出所有歸屬于 cc 用戶的文件并復(fù)制到 /root/findresults目錄
命令:find / -user cc -exec cp -a {} /root/findresults/ \;
重點:-exec {} \;參數(shù),其中{}表示find命令搜索出來的每一個文件,并且命令的結(jié)尾必須是\;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容