文件压缩解压缩
常见压缩档
>*.zip zip程序压缩打包的档案(很常见,但因为不包含文档名编码信息,跨平台可能会乱码)
>*.gz gzip程序压缩的档案(Linux目前使用最广泛的压缩格式)
>*.bz2 bzip2程序压缩的档案
>*.xz xz程序打包的档案
>*.tar
zip
zip 压缩文件名 文件名...
zip -r 压缩文件名 目录名.... 压缩目录以及目录下所有文件
zip -m 压缩文件名 文件名 压缩文件中添加文件
zip -d 压缩文件名 文件名 删除压缩文件中的文件
unzip 压缩文件名 解压
unzip -v 压缩文件名 解压显示详细信息
gzip
gzip gunzip=gzip -d
#注意:以上压缩之后原始文件就没有了
gzip test1.txt
gzip -r dirl/ 将dirl目录下的文本文件进行压缩
gzip -c test2.txt > test.txt.gz 压缩但保留原始文件
zcat 文件名.gz 查看压缩过的文本文件内容
bzip
bzip2,bunzip2(=bzip2 -d)gzip有着更高的压缩率
bzip -z man.config //将man.config以bzip2压缩,此时man.config变成man.config.bz2
bzip2 -c man.config > man.config.bz2 //将man.config用最佳的压缩比压缩,并保留原本的档案
bzip2 -d man.config.bz2 //将man.config.bz2解压缩,可用bunzip2取代bzip2 -d
bunzip2 man.config.bz2 //将man.config.bz2解压缩
: bzcat 文件名.bz2 //查看压缩过的文件内容
xz
xz,xz -d=unxz
xz test1.txt
unxz test1.txt.xz
xz dril/* 将目录下所有文本文件分别进行压缩
xzcat test1.txt.xz
zcat,zless,bzcat,bzless 不解压,显示压缩文件的内容
tar归档命令
格式:tar[选项]打包文件名 被打包的源文件或目录列表
tar[选项]打包文件名[-C 目标文件夹]
常用选项:
c 创建.tar格式的包文件
x 释放.tar格式的包文件
t 产看包中的文件列表
v 表示在命令执行时显示详细的提示信息
f 包文件名 用于指定包文件名,当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名;当与-x选项一起使用时,则释放该选项指定的tar包文件(打选项时f在最后)
p 打包时保留文件及目录的权限
z 调用gzip程序以gzip格式压缩或解压文件
j 调用bzip程序,以bzip2格式压缩或解压文件
J 使用xz压缩(.tar.xz)xz的压缩率通常比bzip2更高
C目录路径名 释放包时指定释放的目标的位置
-P 参数作用是保留绝对路径
1、创建(非压缩的)包文件
命令:tar -cvf 包文件名 要打包的目录或文件名列表
功能:将指定的一个或多个文件或目录备份生成一个指定的包文件
2、创建带压缩的包文件
为节省存储空间,通常需要生成压缩格式的tar包文件,tar命令支持三种不同的压缩方式
命令:tar -c[z j|J]f 压缩包文件名 要备份的目录或文件名
3、列出包文件中的文件列表
命令:tar t[v]f 包文件名
4、提取包文件到指定目录
格式:tar x[z j|J][v]f 包文件名 [-C 目标位置]
文件查找
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,
如:临时我呢见驾位置和系统文件夹位置等
which 基于环境变量路径开始匹配文件,查找的是可执行文件 echo $PATH(可以查找路径)
whereis 基于环境变量路径开始匹配文件,查找所有文件
locate 全盘搜索,默认查找的是数据库中的数据文件,所以查找文件前需要更新数据库
find 全盘搜索
find [查找路径] 寻找条件 操作
find命令中参数以及作用
-name 匹配名称 inum通过索引节点号搜索
-perm 644 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有使用者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-4指小于等于四天内的文件名;+4,大于等于5天前文件名;4指前4~5那一天的文件)-mmin
-atime -n +n 匹配访问文件的时间 -amin
-ctime -n +n 匹配修改文件权限的时间 -cmin
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 ! - newer f2 匹配比文件f1新但是比f2旧的文件 -a -o !-not
-type b/d/c/p/l/f 匹配文件类型(后面的字母参数以此表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50kb的文件,而-50kb为查找小于50kb的文件)
*-exec ...... {}\; 后面可跟用于进一步处理搜索结果的命令 -ok -print
-mindepth n 从第n级目录开始搜索 例:eg:/etc 的第三级子目录开始搜索 find /etc -mindepth 3
-maxdepth n 表示至多搜索到第n-1级子目录。 注:0为当前目录
命令类型
内置命令:执行速度快
内置命令帮助查询:help cd
cd --help
外置命令:执行速度相对较慢
外置命令帮助查询cat --help
Linux中命令执行顺序:1、命令缓存 ——>2、别名——> 3、通过系统环境变量中所定义的路径开始匹配
alias 命令别名
alias 别名=命令本身 alias cc=touch
alias tm='echo"系统时间是`date | cut -d " " -f 4"'
[root@www/]#tm ---tm不是别名命令,通过$PATH开始匹配是否有tm可执行命令
bash:tm:command not found...
[root@www/]# alias tm+'echo"系统时间是 date | cut -d " " -f a"' ---创建了一个tm别名命令
tm --现在系统中匹配别名命令,通过别名找到命令本身
作业:
[root@~]# /etc/passwd
-rw-r--r--. l root root 2554 11月 19 12:25 /etc/passwd
[root@~]# cut -d : -f 3 /etc/passwd sort -nr UID
[root@~]# cut -d : -f 4 /etc/passwd sort -nr GIU
[root@~]# cat UID
65534
1000
999
998
997
996
995
994
993
992
991
990
989
981
980
979
978
977
976
975
193
172
171
113
107
81
75
74
72
70
59
42
32
29
14
12
11
8
7
6
5
4
3
2
1
0
[root@~]# cat GIU
65534
1000
997
996
995
992
989
988
987
986
984
983
981
980
979
978
977
976
975
193
172
171
113
107
100
81
76
75
74
72
70
59
50
42
32
29
12
7
4
2
1
0
0
0
0
0
[root@~]# echo 'date'
2022年 11月 28日 星期一 13:42:03 CST
[root@~]# echo 'date' | cut -d : -f 1-5 > A
[root@~]# cat A
2022年 11月 28日 星期一 13:44:49 CST
[root@~]# wc -l /etc/passwd
46 /etc/passwd
[root@~]# vim /etc/login.defs