[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é)尾必須是\;