通配符
-
*
:匹配任意单个或多个字符例:
-
注:通配符可以用于rm,cp,ls等指令中
-
?:匹配任意单个字符
例:
-
权限说明
权限类型 | 权限数字 | 操作文件 | 操作目录 |
---|---|---|---|
r:读 | 4 | cat,more,less,head,tail,greo等 | ls |
w:写 | 2 | >(覆盖写入),>>(追加写入),touch,rm | mkdir,rm,rmdir,mv(重命名) |
x:执行 | 1 | ./文件名(此时文件可执行程序) | cd,dp,mv(移动) |
-:无权限 | 0 | 无操作 | 无操作 |
补:
-
移动操作(mv)需要源目录和目标目录的执行权限(用于访问路径)
-
同时需要源目录的写权限(删除原位置条目)和目标目录的写权限(创建新位置条目)
压缩,打包,解压缩
gzip
说明:Linux压缩文件为.gz格式,只能压缩文件,不能压缩目录;只能压缩,不能打包
gzip [选项] 文件路径
选项:
-r
:可以将目录下的文件递归压缩/解压缩(绕过文件目录找到文件进行压缩)
-l
:显示已经压缩文件的压缩信息
-d
:解压缩
注:
gzip -r 命令会递归压缩指定的目录下的每个文件(每个文件单独压缩成.gz
),不会将整个目录打包成一个压缩文件
例:
gzip 1.c
#解释,压缩当前路径下的1.c文件,压缩后的名称默认为1.c.gz,压缩后源文件被删除
gzip -d 1.c.gz
#解释,解压后源文件会被删除
gzip -r a
#解释,递归压缩a目录中的文件,每个文件会单独压缩为.gz,压缩后删除源文件
#例,源文件:a/1.c -> 压缩后:a/1.c.gz
gzip -rd a
#解释,解压缩.gz文件,解压后删除源文件
gzip 1.c 2.c
#解释,可以批量压缩
gzip -d 1.c.gz 2.c.gz
#解释,同样也可以批量解压
注:
如果已经是.gz文件就不能再次压缩
更高的压缩效率指令:bzip2
说明:压缩文件为.bz2
格式,同样这种压缩不提供打包功能
bzip [选项] 文件路径
选项:
-k
:保留源文件
-d
:解压缩
-f
:覆盖式压缩/解压缩(压缩或解压缩路径下,出现同名文件 ,用后出现的文件覆盖)
例:
bzip2 1.c
#解释,压缩当前路径下的1.c文件,源文件删除
bzip2 -d 1.c.bz2
#解释,解压缩1.c.bz2,源文件删除
bzip2 -k 2.c
#解释,压缩当前2.c,源文件保留
bzip2 -kdf 2.c.bz2
#解释,解压所当前路径下的2.c.bz2,解压缩后保留.bz2文件,覆盖掉之前的.c文件
bzip2 -kf 1.c 2.c
#解释,批量压缩,保留.c文件,覆盖同名的.bz2文件
bzip2 -df 1.c.bz2 2.c.bz2
#解释。批量解压缩,删除.bz2文件,覆盖已经存在的.c文件
总结
gzip和bzip2的区别:
-
gzip可以绕过目录,递归压缩文件;bzip2不能绕过目录压缩文件
-
与gzip相比,bzip2有更高的压缩效率
-
这两者不能混合使用,主要通过压缩文件扩展名区别
打包指令:tar
tar [选项] 打包文件的名称 被打包的文件或目录路径 (有多个,用空格隔开)
选项:
-c
:打包
-v
:显示命令执行的过程
-f
:用于指定打包文件的名称
-z
:打包时压缩/解包时解压缩,操作的文件扩展名为.gz
,使用gzip算法
-x
:解包,-c和-x不能同时使用
-j
:打包时压缩/解包时解压缩,操作的文件扩展名为.bz2
,使用bzip2算法,-z和-j不能同时使用
注:
使用-f
时选项必须将其放在最后,后接文件名
例:
#打包,打包不会影响文件的大小,只会将多个文件整合在一起
tar -cvf all.tar a 1.c
#解释,打包a目录和1.c文件到all.tar,此时是未经过压缩,保留源文件
tar -xvf all.tar
#解释,解包all.tar中的a目录和1.c文件
tar -zcvf all.tar.gz a all.tar 1.c
#解释,打包并压缩a,all.tar 1.c到all.tar.gz,经过压缩,保留源文件
tar -zxvf all.tar.gz
#解释,解包并解压缩all.tar.gz中a,all.tar,1.c
打包+压缩(bzip)
tar -jcvf all.tar.bz2 a all.tar 1.c
tar -jxvf all.tar.bz2
#解释,解包并解压缩all.tar.bz2
压缩文件或目录:zip
文件的后缀名是.zip,同时支持打包和压缩
注:
1.这个指令不是Linux自带的,如果需要用,需要额外安装,zip是跨平台的,各个平台都能用
2.当压缩一个目录的时候,必须使用-r
否则只会压缩目录本身(空目录),不包括目录中的文件
安装命令:
sudo apt-get update
#解释,更新软件
sudo apt-get install zip(注意sudo apt-get install 文件名,将下载和安装整合在一起了)
#解释,安装zip工具
注:
以上命令需要在联网的环境下进行
压缩算法:
zip [选项] 压缩后的文件名 文件/目录路径
解压算法:
unzip [选项] 压缩文件的文件名
选项:
-
-r
:递归压缩,用于对于目录的操作(体现在压缩算法上,并不是真的生成多个zip) -
注:不带选项会保留源文件(默认保留源文件)
例:
zip 1.zip 1.c #解释,压缩当前目录下的1.c文件,压缩后文件名为1.zip,压缩后保留源文件(*.c) unzip 1.zip #解释,解压当前路径下的1.zip文件,如果出现同种文件,会提示用户选择性处理 zip a.zip a #解释,压缩当前路径下的目录a,压缩后文件为a.zip,压缩后,保留源文件,从外部整体压缩 unzip a.zip #解释,解压当前路径下的a.zip文件,如果出现同种文件,会提示用户选择性处理 zip -r a1.zip a #解释,压缩当前路径下a目录,为a1.zip,保留源文件,逐层递归压缩 unzip a1.zip aip -r all.zip a/1.c a.zip 1.c #解释,将a/.c a.zip 1.c 打包压缩到all.zip unzip all.zip