初识Linux(5)

文件压缩解压缩
常见压缩档
>*.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

你可能感兴趣的:(linux,服务器,运维)