常见压缩档
*.rar | rar 程序压缩打包的档案; (在Windows上很常见,但是是商业软件)
*.zip | zip 程序压缩打包的档案; (很常见,但是因为不包含文档名编码信息跨平台可能会乱码) *.gz | gzip程序压缩的档案;(Linux目前使用最广泛的压缩格式)
*.bz2 | bzip2 程序压缩的档案;
*.xz | xz 程序压缩的档案
*.tar | tar 程序打包的档案,并且没有压缩过
***.tar.gz | tar 程序打包的档案,其中并且经过gzip的压缩(最常见)**
*.tar.bz2 | tar 程序打包的档案,其中并且经过bzip2的压缩
***.tar.xz | tar 程序打包的档案,其中并且经过xz的压缩(新一代压缩选择)**
***.7z | 7zip 程序压缩打包的档案
zip
zip 压缩文件名 文件名... zip
zip -r 压缩文件名 目录名... 压缩目录以及目录下所有文件
zip -m 压缩文件名 文件名 压缩文件中添加文件
zip -d 压缩文件名 文件名 删除压缩文件中的文件
unzip 压缩文件名 解压
unzip -v 压缩文件名 解压显示详细信息
gzip
gzip gunzip=gzip -d
#注意:以上压缩之后原始文件就没有了
gzip test1.txt gzip -r dir1/ 将dir1目录下的文本文件进行压缩
gzip -c test2.txt > test2.txt.gz 压缩但保留原始文件
zcat 文件名.gz 查看压缩过的文本文件内容
bzip2
bzip2、bunzip2(=bzip2 -d)gzip有着更高的压缩率
bzip2 -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、unxz
xz、xz -d=unxz
xz test1.txt
unxz test1.txt.xz
xz dirl/* 将目录下所有文件本文件分别进行压缩
xzcat test1.txt.xz
zcat、zless、bzcat、bzless 不解压,显示压缩文件的内容
tar归档命令
格式:tar [选项]打包文件名 被打包的源文件或目录列表
tar [选项]打包文件名 [-c 目标文件夹]
v | 表示在命令执行时显示详细的提示信息 |
f 包文件名 | 用于指定包文件名。当-c选项一起使用时,创建的tar包文件使用该选项指定文件名;当与-x选项一起使用是,则释放该选项指定的tar包文件 |
p | 打包时保留文件及目录的权限 |
z | 调用gzip程序,以gzip格式压缩或解压缩文件 |
j | 调用bzip2程序,以bzip2格式压缩或解压缩文件 bz2 |
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 目标位置]
[root@peach ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
文件查找
which 基于环境变量路径开始匹配文件,查找是可执行文件 echo $PATH
whereis 基于环境变量路径开始匹配文件,查找所有文件
locate 全盘搜索,默认查找的是数据库中的数据文件,所以查找文件前需要更新数据库
find 全盘搜索
find [查找路径] 寻找条件 操作
find命令中的参数以及作用
-name | 匹配名称 inum通过索引节点号搜索 |
-perm 644 | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-4指小于等于4天内的文件名;+4指大于等于5天前的文件名;4指前4~5那一天的文件) -cmin |
-atime -n +n | 匹配访问文件的时间 -amin |
-ctime -n +n | 匹配修改文件权限的时间 -cmin |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 ! -newer f2 | 匹配比文件f1新但比f2旧的文件 |
--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当前目录 |
1.按照文件名搜索 find / -mtime -30
[root@peach ~]# find 搜索路径 [选项] 搜索内容 选项: -name:按照文件名搜索 -iname:按照文件名搜索,不区分文件名大小写 -inum:按照inode号搜索 [root@peach ~]# find /etc -name "host*" -print
2.按照文件大小搜索
[root@peach ~]# find 搜索路径 [选项] 搜索内容
[root@peach ~]# time cd real 0m0.000s user 0m0.000s sys 0m0.000s [root@peach ~]# time touch a real 0m0.010s user 0m0.001s sys 0m0.001s |
命令类型
内置命令:执行速度快
help cd
cd --help
外置命令:执行速度相对较慢
cat --help
Linux中命令匹配顺序:1别名--->2命令缓存--->通过系统环境变量中所定义的命令文件路径开始匹配
alias 命令别名
alias 别名=命令本身 alias cc=touch
alias tm=`echo"系统时间是 date | cut -d " " -f 4"`
临时更改
vim /etc/bashrc 定义永久生效的别名,对系统中所有用户都生效
vim ~
hash 查看系统目录缓存
hash -d 命令 删除指定命令的缓存
hash -r 清空所有命令缓存
exit 退出终端可以清空终端中的命令缓存
#cat /etc/passwd
#mv /usr/bin/cat /usr/local/bin
#[root@peach ~]# cat /A
-bash: /usr/bin/cat: No such file or directory ---通过缓存路径匹配命令文件
#hash -d cat
date
%Y-%m-%d %H-%M-%s
%F full date ; same as %Y-%m-%d
%T time ; same as %H:%M:%s
[root@peach ~]# touch `date +"%H:%M:%s"file.txt`
[root@peach ~]# touch `date +"%H:%M:%s"file.txt`
[root@peach ~]# touch `date +"%H:%M:%s"file.txt`
更改时间
[root@peach ~]# date 101110122020.34 (月日时分年点秒)
Sun Oct 11 10:12:34 CST 2020
[root@peach ~]# date -s '2022-11-30'
Wed Nov 30 00:00:00 CST 2022
[root@peach ~]# date -s '2022-11-30 17:34:56'
Wed Nov 30 17:34:56 CST 2022
更改时区
[root@peach ~]# timedatectl set-timezone asia/shanghai
cal [[[日]月]年]
cal -j 查看一年的儒略日