查找PATH环境变量中的文件,Linux内置命令不在path中
[root@timy-test-k8s01 ~]# which python
/usr/bin/python
whereis命令用来定位指定的二进制程序、源代码文件和man手册页等相关文件的路径
[root@timy-test-k8s01 ~]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
tar命令在Linux系统里,可以实现对多个文件进行,压缩、打包、解包
打包:将一大堆文件或目录汇总成一个整体
压缩:将大文件压缩成小文件,节省磁盘空间
语法:
tar (选项) (参数)
-A或--catenate: 新增文件到以存在的备份文件;
-B: 设置区块大小;
-c或--create: 建立新的备份文件;
-C<目录>&#xff1a; 这个选项用在解压缩&#xff0c;若要在特定目录解压缩&#xff0c;可以使用这个选项&#xff1b;
-d: 记录文件的差别&#xff1b;
-x或--extract或--get&#xff1a; 从备份文件中还原文件&#xff1b;
-t或--list&#xff1a; 列出备份文件的内容&#xff1b;
-z或--gzip或--ungzip&#xff1a; 通过gzip指令处理备份文件&#xff1b;
-Z或--compress或--uncompress&#xff1a; 通过compress指令处理备份文件
-f<备份文件>或--file&#61;<备份文件>&#xff1a; 指定备份文件&#xff1b;
-v或--verbose&#xff1a; 显示指令执行过程&#xff1b;
-r&#xff1a; 添加文件到已经压缩的文件
-u&#xff1a; 添加改变了和现有的文件到已经存在的压缩文件&#xff1b;
-j&#xff1a; 支持bzip2解压文件&#xff1b;
-v&#xff1a; 显示操作过程
-l&#xff1a; 文件系统边界设置&#xff1b;
-k&#xff1a; 保留原有文件不覆盖
-m&#xff1a; 保留文件不被覆盖
-w&#xff1a; 确认压缩文件的正确性
-p或--same-permissions&#xff1a; 用原来的文件权限还原文件
-p或--absoulte-names&#xff1a; 文件名使用绝对名称&#xff0c;不移除文件名称前的"/"号&#xff1b;不建议使用
-N <日期格式> 或 --newer&#61;<日期时间>: 只将较指定日期更新的文件保存到备份文件里
--exclude&#61;<范本样式>&#xff1a; 排除符合范本样式的文件
-h --dereference跟踪符号链接&#xff1b;将它们所指向的文件归档并输出
案例
1.仅打包&#xff0c;不压缩
#tar 参数 包裹文件名 需要打包的文件
tar -cvf alltemp.tar ./*
[root&#64;timy-test-k8s01 Desktop]# tar -cvf alltemp.tar ./*
./0test/
./1test/
./2test/
./3test/
./4test/
./5test/
./6test/
./7test/
./8test/
./9test/
./alex.txt
./cesh1.txt
./ceshi1.txt
./ceshi.xt
./mjj.txt
./test.sh
./test.txt[root&#64;timy-test-k8s01 Desktop]# ll
total 44
drwxr-xr-x. 2 root root 6 Apr 23 01:45 0test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 1test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 2test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 3test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 4test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 5test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 6test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 7test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 8test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 9test
-rw-r--r--. 1 root root 17 Apr 22 05:25 alex.txt
-rw-r--r--. 1 root root 20480 Apr 23 21:56 alltemp.tar
-rw-r--r--. 1 root root 14 Apr 16 04:32 cesh1.txt
-rw-r--r--. 1 root root 39 Apr 16 04:36 ceshi1.txt
-rw-r--r--. 1 root root 0 Apr 16 05:31 ceshi.xt
-rw-r--r--. 1 root root 14 Apr 19 21:34 mjj.txt
-rwxr-xr-x. 1 root root 66 Apr 16 04:14 test.sh
-rw-r--r--. 1 root root 43 Apr 23 02:55 test.txt2.对Desktop下的所有文件进行打包并压缩&#xff0c;节省磁盘空间
tar -czvf alltemp1.tar.gz ./* #./*代表当前目录下的所有文件
[root&#64;timy-test-k8s01 Desktop]# tar -czvf alltemp1.tar.gz ./*
./0test/
./1test/
./2test/
./3test/
./4test/
./5test/
./6test/
./7test/
./8test/
./9test/
./alex.txt
./alltemp.tar
./cesh1.txt
./ceshi1.txt
./ceshi.xt
./mjj.txt
./test.sh
./test.txt
[root&#64;timy-test-k8s01 Desktop]# ll
total 48
drwxr-xr-x. 2 root root 6 Apr 23 01:45 0test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 1test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 2test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 3test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 4test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 5test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 6test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 7test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 8test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 9test
-rw-r--r--. 1 root root 17 Apr 22 05:25 alex.txt
-rw-r--r--. 1 root root 656 Apr 23 22:02 alltemp1.tar.gz
-rw-r--r--. 1 root root 20480 Apr 23 21:56 alltemp.tar
-rw-r--r--. 1 root root 14 Apr 16 04:32 cesh1.txt
-rw-r--r--. 1 root root 39 Apr 16 04:36 ceshi1.txt
-rw-r--r--. 1 root root 0 Apr 16 05:31 ceshi.xt
-rw-r--r--. 1 root root 14 Apr 19 21:34 mjj.txt
-rwxr-xr-x. 1 root root 66 Apr 16 04:14 test.sh
-rw-r--r--. 1 root root 43 Apr 23 02:55 test.txt3.解压缩文件&#xff0c;将之前的压缩的文件解压到Desktop路径
tar -xzvf alltemp1.tar.gz
[root&#64;timy-test-k8s01 Desktop]# tar -xzvf alltemp1.tar.gz
./0test/
./1test/
./2test/
./3test/
./4test/
./5test/
./6test/
./7test/
./8test/
./9test/
./alex.txt
./alltemp.tar
./cesh1.txt
./ceshi1.txt
./ceshi.xt
./mjj.txt
./test.sh
./test.txt
[root&#64;timy-test-k8s01 Desktop]# ll
total 48
drwxr-xr-x. 2 root root 6 Apr 23 01:45 0test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 1test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 2test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 3test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 4test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 5test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 6test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 7test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 8test
drwxr-xr-x. 2 root root 6 Apr 23 01:45 9test
-rw-r--r--. 1 root root 17 Apr 22 05:25 alex.txt
-rw-r--r--. 1 root root 656 Apr 23 22:02 alltemp1.tar.gz
-rw-r--r--. 1 root root 20480 Apr 23 21:56 alltemp.tar
-rw-r--r--. 1 root root 14 Apr 16 04:32 cesh1.txt
-rw-r--r--. 1 root root 39 Apr 16 04:36 ceshi1.txt
-rw-r--r--. 1 root root 0 Apr 16 05:31 ceshi.xt
-rw-r--r--. 1 root root 14 Apr 19 21:34 mjj.txt
-rwxr-xr-x. 1 root root 66 Apr 16 04:14 test.sh
-rw-r--r--. 1 root root 43 Apr 23 02:55 test.txt4.列出压缩文件中的内容
tar -ztvf alltmp1.tar.gz
[root&#64;timy-test-k8s01 Desktop]# tar -ztvf alltemp1.tar.gz
drwxr-xr-x root/root 0 2022-04-23 01:45 ./0test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./1test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./2test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./3test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./4test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./5test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./6test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./7test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./8test/
drwxr-xr-x root/root 0 2022-04-23 01:45 ./9test/
-rw-r--r-- root/root 17 2022-04-22 05:25 ./alex.txt
-rw-r--r-- root/root 20480 2022-04-23 21:56 ./alltemp.tar
-rw-r--r-- root/root 14 2022-04-16 04:32 ./cesh1.txt
-rw-r--r-- root/root 39 2022-04-16 04:36 ./ceshi1.txt
-rw-r--r-- root/root 0 2022-04-16 05:31 ./ceshi.xt
-rw-r--r-- root/root 14 2022-04-19 21:34 ./mjj.txt
-rwxr-xr-x root/root 66 2022-04-16 04:14 ./test.sh
-rw-r--r-- root/root 43 2022-04-23 02:55 ./test.txt5.单独的取出压缩文件中的内容
tar -zxvf alltemp.tar.gz ./7test #从alltemp.tar.gz中拷贝出7test文件
[root&#64;timy-test-k8s01 Desktop]# tar -zxvf alltemp1.tar.gz ./7test
./7test/
[root&#64;timy-test-k8s01 Desktop]# ls
7test alltemp1.tar.gz6.指定目录解压缩
[root&#64;timy-test-k8s01 Desktop]# mkdir alltemp #创建alltemp文件夹
[root&#64;timy-test-k8s01 Desktop]# ls
7test alltemp alltemp1.tar.gz
[root&#64;timy-test-k8s01 Desktop]# tar -zxvf alltemp1.tar.gz -C ./alltemp/
#将alltemp.tar.gz&#xff0c;指定解压到alltemp文件夹&#xff0c;-C指定解压路径
./0test/
./1test/
./2test/
./3test/
./4test/
./5test/
./6test/
./7test/
./8test/
./9test/
./alex.txt
./alltemp.tar
./cesh1.txt
./ceshi1.txt
./ceshi.xt
./mjj.txt
./test.sh
./test.txt7.排除文件解压缩 --exclude
[root&#64;timy-test-k8s01 Desktop]# tar -zxvf alltemp1.tar.gz #查看压缩文件内容
./0test/
./1test/
./2test/
./3test/
./4test/
./5test/
./6test/
./7test/
./8test/
./9test/
./alex.txt
./alltemp.tar
./cesh1.txt
./ceshi1.txt
./ceshi.xt
./mjj.txt
./test.sh
./test.txt
[root&#64;timy-test-k8s01 Desktop]# tar -zvxf alltemp1.tar.gz --exclude alltemp.tar
#除了alltemp.tar&#xff0c;其他的全部解压出来
./0test/
./1test/
./2test/
./3test/
./4test/
./5test/
./6test/
./7test/
./8test/
./9test/
./alex.txt
./cesh1.txt
./ceshi1.txt
./ceshi.xt
./mjj.txt
./test.sh
./test.txt
要说tar命令是个纸箱子用于打包&#xff0c;gzip命令就是压缩机器
gzip通过压缩算法lempel-ziv算法(lz77)将文件压缩为较小文件&#xff0c;节省60%以上的存储空间&#xff0c;以及网络传输速率
gzip无法压缩文件夹&#xff0c;必须先tar对文件夹打包后&#xff0c;才可以gzip压缩
gzip &#xff08;选项&#xff09; &#xff08;参数&#xff09;
-a或者--ascii&#xff1a; 使用ASCII文字模式&#xff1b;
-c或--stdout或--to-stdout 把解压后的文件输出到标准输出设备
-d或--decompress或----uncompress&#xff1a; 解开压缩文件&#xff1b;
-f或--force&#xff1a;强行压缩文件。不理会文件名称或硬链接是否存在以及该文件是否为符号连接
-h或--help&#xff1a; 在线帮助
-l或--list&#xff1a;列出压缩文件的相关信息
-L或--license&#xff1a; 显示版本与版权信息&#xff1b;
-n或--no-name&#xff1a; 压缩文件时&#xff0c;不保存原来的文件名称及时间戳记&#xff1b;
-N或--name&#xff1a; 压缩文件时&#xff0c;保存原来的文件名称及时间戳记&#xff1b;
-q或--quiet&#xff1a; 不显示警告信息
-r或--recursive&#xff1a; 递归处理&#xff0c;将指定目录下的所有文件及子目录一并处理&#xff1b;
-S或<压缩字尾字符串>或----suffix<压缩字尾字符串>&#xff1a; 更改压缩字尾字符串&#xff1b;
-t或--test&#xff1a; 测试压缩文件是否正确无误&#xff1b;
-v或--verbose&#xff1a; 显示指令执行过程&#xff1b;
-V或--version&#xff1a; 显示版本信息&#xff1b;
-<压缩效率>&#xff1a;压缩效率是一个介于1-9的数值&#xff0c;预设值为"6"&#xff0c;指定愈大的数值&#xff0c;压缩效率就会愈高
--best&#xff1a; 此参数的效果和指定"-9"参数相同
--fast&#xff1a; 此参数的效果和指定"-1"参数相同
案例
#压缩目录中每一个html文件为.gz&#xff0c;文件夹无法压缩&#xff0c;必须先tar打包
gzip *.html #gzip压缩&#xff0c;解压都会删除源文件
1.压缩所有.txt文件
[root&#64;timy-test-k8s01 alltemp]# gzip ./*.txt
2.列出压缩文件中信息
[root&#64;timy-test-k8s01 alltemp]# gzip -l *.gzcompressed uncompressed ratio uncompressed_name46 17 -11.8% alex.txt44 14 -14.3% cesh1.txt66 39 5.1% ceshi1.txt42 14 -14.3% mjj.txt72 43 -4.7% test.txt270 127 -91.3% (totals)
zip命令&#xff1a;是一个应用广泛的跨平台的压缩工具&#xff0c;压缩文件的后缀为zip文件&#xff0c;还可以压缩文件夹
语法&#xff1a;
zip 压缩文件名 要压缩的内容
-A 自动解压文件
-c 给压缩文件加注释
-d 删除文件
-F 修复损坏文件
-k 兼容DOS
-m 压缩完毕后&#xff0c;删除源文件
-q 运行时不显示信息处理信息
-r 处理指定目录和指定目录下的使用子目录
-v 显示信息的处理信息
-x "文件列表"压缩时排除文件列表中的指定文件
-y 保留符号链接
-b<目录> 指定压缩到的目录
-i<格式> 匹配格式进行压缩
-L 显示版权信息
-t<日期> 指定压缩文件的日期
-<压缩率> 指定压缩率
案例
#压缩当前目录下所有内容为alltemp2.zip文件
[root&#64;timy-test-k8s01 alltemp]# zip alltemp2.zip ./*
#压缩多个文件夹
[root&#64;timy-test-k8s01 alltemp]# zip -r data.zip ./data ./data2
参数
-l 显示压缩文件内所包含的文件
-d<目录> 指定文件解压缩后所要存储的目录