文件后缀名 |
说明 |
*.zip |
zip 程序打包压缩的文件 |
*.rar |
rar 程序压缩的文件 |
*.7z |
7zip 程序压缩的文件 |
*.tar |
tar 程序打包,未压缩的文件 |
*.gz |
gzip 程序 (GNU zip) 压缩的文件 |
*.xz |
xz 程序压缩的文件 |
*.bz2 |
tar 打包,gzip 程序压缩的文件 |
*.tar.gz |
tar打包,gzip程序压缩的文件 |
*.tar.xz |
tar打包,xz程序压缩的文件 |
*.tar.bz2 |
tar打包,bzip2程序压缩的文件 |
*.tar.7z |
tar打包,7z程序压缩的文件 |
用法基本上是以压缩 文件格式的名称开头,比如:
zip all.zip *.txt
将当前目录下的所有txt文件压缩为all.zip。
解压缩,比如:
unzip all.zip
是不是非常简单呢?
tar是系统自带的命令,zip默认也是自带的,没有的话就需要安装了。
tar的命令看起来稍微有点复杂,
首先是解压tar包:
tar -xvf all.tar
v代表visual,可视化,可不加;
x代表extract翻译为提取,实际是解压;
f 代表file,必要参数,用于指定解压哪个文件;(f一定放在最后)
如果你不指定解压到哪里的话,默认解压到当前文件夹。
解压tar.gz包:
tar -xzvf all.tar.gz
z代表gz文件, 解压为直接解压,包里面的文件会被释放到当前目录。
注意不会新建同名文件夹存放解压的文件,我相信大多数人使用Windows的时候习惯解压文件到文件名了,Linux的这个动作叫extract提取。
压缩tar.gz包:
tar -czvf test.tar.gz file1
把file1打包tar并压缩为gz。
c 代表compress,压缩。
tar -czvf testDir.tar.gz secondDir
把secondDir文件夹及里面的文件打包tar并压缩为gz。
还有其它格式的用法用到了再说。
删除指令rm
最常用的是rm -rf,
r 代表recursive,递归的,作用是删除目录和目录的内容;
f 代表force,不需要用户确认,这个f不能和上面的混淆意思。
(略过不存在的文件,不显示任何信息,强制删除)
禁止使用:
rm -rf /
循环递归删除你的所有目录,包括系统,该操作过程不可逆。
解决方案:
禁用rm指令并建立一个目录,当作回收站,写一个shell定时清除回收站的内容。
思考题:
rm -rf / home/work/logs/
rm -rf /home/work/logs/
Q:这两个指令有什么区别?
A:删除日志与删库跑路,有的时候,只差一个空格 。
Q:为什么第一个指令会执行rm -rf / ?
A:rm可以一次性删除多个文件,文件直接用空格隔开。
rm -rf 目标1 目标2
会优先执行目标1,不管目标2是否存在:
所以,思考题的两条指令虽然一空之差,但是效果是完全不一样的。
参考资料: