gzip 壓縮命令
Usage: gzip [OPTION]... [FILE]...
1.gzip 只能壓縮文件非竿,不能壓縮目錄
2.gzip 壓縮文件之后,源文件會(huì)消失
3.gzip 解壓文件后战秋,壓縮包會(huì)消失
4.gzip 壓縮文件,后面可以跟多個(gè)文件名,但是會(huì)分別壓縮一個(gè)包
5.使用zcat可以直接查看壓縮包中文件內(nèi)容
6.打包的文件在哪個(gè)路徑下诸典,然后就把包放在源文件所在的目錄中
單個(gè)文件壓縮
[root@localhost ~]# gzip file1
# 多個(gè)文件壓縮
[root@localhost ~]# gzip file2 file3
# 解壓
[root@localhost ~]# gzip -d file1.gz
# 查看文件類型
[root@localhost ~]# file file1.gz
zip壓縮命令
Usage:zip [option] [filename] [file]...
1.zip 壓縮文件跪帝,源文件不會(huì)消失
2.zip 解壓后今膊,如果目錄下存在和壓縮包內(nèi)相同的文件名,則詢問(wèn)是否覆蓋
3.zip 壓縮目錄伞剑,什么參數(shù)都不加的情況下斑唬,只能打包空目錄,如果想要打包目錄下所有內(nèi)容加 -r參數(shù)
4.如果打包的是絕對(duì)路徑,那么會(huì)把絕對(duì)路徑的內(nèi)容都打包進(jìn)去黎泣,并且刪除/,打包恕刘,在哪個(gè)目錄下執(zhí)行,就會(huì)打包到哪個(gè)目錄下
zip 行李箱 衣服...
-r:遞歸打包
-q:不輸出打包過(guò)程
# 打包單個(gè)文件
[root@localhost ~]# zip f.zip file1
# 打包多個(gè)文件
[root@localhost ~]# zip f.zip file1 file8
# 打包目錄
[root@localhost ~]# zip -r zls_dir.zip /root/zls_dir
tar 歸檔
用法: tar [選項(xiàng)...] [FILE]...
c:創(chuàng)建新的歸檔文件(create)
x:解壓歸檔文件
f:指定包文件名(行李箱)抒倚,如果是多個(gè)選項(xiàng)褐着,f一定要放在最后
v:顯示過(guò)程
z:歸檔之后使用gzip壓縮
P:不刪/ ,使用絕對(duì)路徑打包
t:查看壓縮包中的壓縮項(xiàng)目
C:指定解壓路徑
j:
J:
h:打包軟鏈接
X:將要排除的目錄或者文件托呕,寫到文件中含蓉,然后使用X指定該文件,即可排除
--exclude:直接寫要排除的文件或者目錄
練習(xí)題:
1.如何使用gzip命令對(duì)文件進(jìn)行壓縮项郊、解壓
壓縮:gzip filename
解壓:gzip -d filename
2.如何用zip命令對(duì)文件以及目錄進(jìn)行壓縮馅扣、解壓
壓縮文件:zip 包名.zip file1 file2? file3
壓縮目錄:zip -r? 包名.zip dir
解壓:unzip 包名.zip
3.創(chuàng)建一個(gè)自己名字的文件至/opt目錄
touch /opt/zls
4.打包opt整個(gè)目錄,并命名test_opt.tar.gz
tar zcf test_opt.tar.gz /opt
5.查看打包好的test_opt.tar.gz里的文件
tar tf test_opt.tar.gz
6.將打包好的test_opt.tar.gz內(nèi)容指定解壓至/tmp目錄
tar xf test_opt.tar.gz -C /tmp
7.打包etc一級(jí)目錄下的所有文件着降,不要目錄只要文件
[root@localhost etc]# cd /etc && tar zcfh etc_2.tgz $(ls -F /etc |grep -v '/$')
1.linux下常見(jiàn)的壓縮包類型有哪些
gzip
zip
tar
02.執(zhí)行這條命令? echo "qiandao da shuai bi" > oldboy.txt
(1)使用gzip命令進(jìn)行打包
[root@oldboy ~]# gzip oldboy.txt
(2)查看壓縮包的內(nèi)容
[root@oldboy ~]# zcat oldboy.txt.gz
(3)解壓剛才的壓縮包(至少用兩種方式解壓)
[root@oldboy ~]# gzip -d oldboy.txt.gz
[root@oldboy ~]# gunzip oldboy.txt.gz
03.用gzip命令打包oldboy目錄
抱頭痛哭
[root@oldboy ~]# gzip oldboy/
gzip: oldboy/ is a directory -- ignored
04.查看打包之后的/etc/hosts的文件內(nèi)容差油,在不解壓的情況下查看
zcat? hosts.gz
05.使用zip打包/etc目錄,包名為etc.zip
[root@oldboy ~]# zip -r etc.zip /etc/
06.將/etc/passwd /etc/resolv.conf /etc/hosts這三個(gè)文件復(fù)制到/opt目錄下,將/opt下的這3個(gè)文件打包,包名為qiandao.zip,并把壓縮包放在/mnt目錄下
[root@oldboy ~]# zip /mnt/qiandao.zip /opt/hosts /opt/resolv.conf /opt/passwd
? adding: opt/hosts (deflated 65%)
? adding: opt/resolv.conf (deflated 14%)
? adding: opt/passwd (deflated 59%)
07.用zip打包/opt目錄任洞,要求不顯示打包過(guò)程
[root@oldboy ~]# zip -q? /mnt/qiandao1.zip /opt/hosts /opt/resolv.conf /opt/passwd
08.將/etc/hosts文件用tar格式打包
[root@oldboy ~]# tar zcf hosts.tar.gz /etc/hosts
09.使用tar打包/var/log/目錄
[root@oldboy ~]# tar zcf var.tar.gz /var/log/
10.查看/var/log/目錄的壓縮包中有哪些內(nèi)容
[root@oldboy ~]# tar tf var.tar.gz
11.將/var/log/目錄解壓到/opt目錄中
[root@oldboy ~]# tar xf var.tar.gz -C /opt/
12.打包/etc/目錄蓄喇,要求是.bz2格式
[root@oldboy ~]# tar cjf etc.tar.bz2 /etc/
13.打包/var/log目錄发侵,要求是.xz格式
[root@oldboy ~]# tar cJf etc.tar.xz /etc/
14.使用tar命令打包/etc/時(shí),會(huì)出現(xiàn)一個(gè)刪根的操作妆偏,怎樣打包不會(huì)進(jìn)行刪根的操作
[root@oldboy ~]# tar zcfP var1.tar.gz /var/log/
15.打包/etc/目錄刃鳄,要求不打包/etc/hosts這個(gè)文件
[root@oldboy ~]# tar zcf etc.tar.gz /etc/ --exclude=/etc/hosts
16.打包/etc/目錄,要求不打包/etc/hosts和/etc/hostname這兩個(gè)文件
[root@oldboy ~]# tar zcf etc1.tar.gz /etc/ --exclude=/etc/hosts --exclude=/etc/hostname
17.已知/etc/grub2.cfg文件是個(gè)軟連接文件楼眷,在你不知道的情況下铲汪,請(qǐng)問(wèn)怎么打包該文件的真實(shí)文件
[root@oldboy ~]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 Sep 24? 2019 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
[root@oldboy ~]# cd ../boot/grub2
[root@oldboy /boot/grub2]# pwd
/boot/grub2
[root@oldboy /boot/grub2]# ll
[root@oldboy /boot/grub2]# tar zcf xxxx.tar.gz grub.cfg
18.把/var/log/目錄中所有.log的文件進(jìn)行打包成一個(gè)壓縮包,名稱定義為log.tar.gz的壓縮包
#方法一
[root@oldboy /var/log]# ls /var/log/|grep -E "*\.log$" | xargs tar zcf log.tar.gz
#方法二
[root@oldboy ~]# tar zcf log.tar.gz $(find /var/log/ -maxdepth 1 -type f? -name "*.log")
#方法三
[root@oldboy ~]# tar czf? log1.tar.gz? /var/log/*.log
19.打包/etc/目錄罐柳,命令以ip地址+當(dāng)前時(shí)間方式的壓縮包
? ? 比如: 10.0.0.100_2019-12-24_etc.tar.gz
[root@oldboy ~]# tar zcf $(hostname -I|awk '{print $1}')_$(date +%F)_etc.tar.gz /etc/
20.創(chuàng)建/data/bak目錄掌腰,然后復(fù)制如下文件到/data/bak目錄下
/etc/hosts
/etc/resolv.conf
/etc/fstab
/etc/bashrc
/etc/profile
/etc/rc.local
/etc/sudoers
21.接22題,使用tar命令對(duì)/data/bak目錄下的文件及目錄以gzip的格式進(jìn)行歸檔壓縮到/data目錄下(壓縮包的名字以自己名字命名)
[root@oldboy /data]# tar zcf qzg.tar.gz bak/
22.使用tar命令查看上題/data目錄下壓縮包內(nèi)的內(nèi)容
[root@oldboy /data]# tar tf qzg.tar.gz
bak/
bak/hosts
bak/resolv.conf
bak/fstab
bak/bashrc
bak/profile
bak/rc.local
bak/sudoers
23.把第22題/data目錄下的壓縮包张吉,解壓到/backup目錄下
[root@oldboy /data]# tar xf qzg.tar.gz? -C /backup
24.再次使用tar命令把/data/bak目錄下的文件及目錄以gzip的格式進(jìn)行歸檔壓縮到/data目錄下齿梁,但是在進(jìn)行歸檔壓縮時(shí),排除文件“sudoers”肮蛹,然后查看該壓縮包內(nèi)容是否存在文件“sudoers”(壓縮包名自行擬定)
[root@oldboy /data]# tar zcf qzg1.tar.gz bak/? —exclude=bak/sudoers
25.打包/etc/目錄到/opt/目錄下勺择,名稱要求以當(dāng)前主機(jī)名和ip地址命名,
? ? 例:oldboy_10.0.0.100.tar.gz
tar zcf? /opt/$(hostname)_$(hostname -I|awk '{print $1}’).tar.gz /etc
##曾導(dǎo)題
26.打包etc目錄下的所有文件伦忠,不要目錄只要文件
grep -v
find
27.打包etc目錄下的所有文件省核,排除passwd,shadow
- -exclude=xxx
28.打包etc目錄下的所有以p開頭的文件
[root@oldboy ~]# tar zcf etc33.tar.gz $(find /etc/ -maxdepth 1 -type f -name "p*")
29.打包etc目錄下所有大于1M的文件
[root@oldboy ~]# tar zcf cls.tar.gz $(find /etc/ -type f -size +1M)
30.列出linux下面常用的打包工具并寫出相應(yīng)的壓縮解壓參數(shù)(兩種)
tar
tar zcf
tar tf
tar xf
-C?
—exclude
-X
zip
-r
unzip
gzip
#回顧題
31. 創(chuàng)建/data/test目錄昆码,已知/data目錄不存在气忠,請(qǐng)給出命令?
-p
32.查看/etc/hosts文件的內(nèi)容赋咽。(請(qǐng)使用三種方法實(shí)現(xiàn))
cat? less? more? ? tail (特殊一點(diǎn))
33.給文件的每一行結(jié)尾加一個(gè)標(biāo)識(shí)符旧噪。(兩種方法實(shí)現(xiàn))
#方法一
vim
:%s#$#\##g
#方法二
[root@oldboy ~]# sed -i "s#\$#\##g" qzg.txt
34.把/etc/中的所有目錄(僅目錄)? 復(fù)制到/tmp下,目錄結(jié)構(gòu)不變脓匿?
[root@oldboy ~]# find /etc/ -type d -exec mkdir? /tmp/{} \;
[root@oldboy /tmp]# find /etc/ -type d |xargs -I {} mkdir -p /tmp/{}
[root@oldboy ~]# find /tmp/etc/ ! -type d -delete
35.顯示系統(tǒng)中所有以tre開頭的軟件包淘钟?(兩種方法)
[root@oldboy ~]# yum list |grep "^tre"
tree.x86_64? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.6.0-10.el7? ? ? ? ? ? ? ? @base? ?
tre.x86_64? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0.8.0-18.20140228gitc2f5d13.el7
tre-common.noarch? ? ? ? ? ? ? ? ? ? ? ? 0.8.0-18.20140228gitc2f5d13.el7
tre-devel.x86_64? ? ? ? ? ? ? ? ? ? ? ? ? 0.8.0-18.20140228gitc2f5d13.el7
treelayout.noarch? ? ? ? ? ? ? ? ? ? ? ? 1.0.3-4.el7? ? ? ? ? ? ? ? ? epel? ?
treelayout-demo.noarch? ? ? ? ? ? ? ? ? ? 1.0.3-4.el7? ? ? ? ? ? ? ? ? epel? ?
treelayout-javadoc.noarch? ? ? ? ? ? ? ? 1.0.3-4.el7? ? ? ? ? ? ? ? ? epel? ?
tremulous.x86_64? ? ? ? ? ? ? ? ? ? ? ? ? 1.2.0-0.15.beta1.el7? ? ? ? epel? ?
tremulous-data.noarch? ? ? ? ? ? ? ? ? ? 1.2.0-0.9.beta1.el7? ? ? ? ? epel? ?
36.列舉你熟悉的服務(wù)器性能查看命令(不低于8個(gè))
w? uptime? df? free? iostat? top? htop? iotop? iftop? glances? netstat? vmstat? ps
37.快速返回到上一次所在的目錄的命令為( )
cd -
38.把/data 目錄復(fù)制到 /tmp目錄下并改名為data_20200327 (20200327為當(dāng)天時(shí)間)?
[root@oldboy ~]# date +%Y%m%d
20200330
[root@oldboy ~]# cp -r /data/ /tmp/data_$(date +%Y%m%d)
39.Linux文件系統(tǒng)中每個(gè)文件用()或者稱為()來(lái)標(biāo)識(shí)?
inode
索引
40.操作系統(tǒng)歷史命令記錄中陪毡,執(zhí)行次數(shù)最多的5條米母?
[root@oldboy ~]# history |awk '{print $2}'|sort |uniq -c|sort -nrk 1|head -5
? ? 140 ll
? ? 83 sed
? ? 74 cat
? ? 51 vim
? ? 50 grep