tar | 打包 | 压缩 | 文件搜索 | 常用命令(二)
文章目录
- 1.打包、压缩和解压缩
- 2.搜索文件相关命令
1.打包、压缩和解压缩
在网络传输的过程中通常要将文件经行打包,压缩和解压缩,接下来看看Linux下的一些常用的命令!
1)ta命令:
tar打包命令,用来归档文件。归档是将多个文件合并成一个文件,归档操作不会减少文件大小,它只是将文件合并到一个文件中,方便管理和传输。而压缩 : 是将一个大文件通过某些压缩算法变成一个小文件。
tar本身不支持压缩,但是通过指定选项和压缩工具结合可以完成打包和压缩的功能。
xiyan@LAPTOP-87PRR6K8:~$ mkdir package
xiyan@LAPTOP-87PRR6K8:~$ cd package
xiyan@LAPTOP-87PRR6K8:~/package$ pwd
/home/xiyan/package
xiyan@LAPTOP-87PRR6K8:~/package$ touch file{1,2,3,4}.txt
xiyan@LAPTOP-87PRR6K8:~/package$ ls
file1.txt file2.txt file3.txt file4.txt
使用tar命令对上面的文件进行归档。用法:tar [选项] [归档文件名] [文件或目录列表]
xiyan@LAPTOP-87PRR6K8:~/package$ tar -cvf file.tar .
或
xiyan@LAPTOP-87PRR6K8:~/package$ tar -cvf file.tar file1.txt file2.txt file3.txt file4.txt
选项:c 建立一个压缩文件(create)v 压缩的过程中显示文件f 使用档名,请留意,在 f 之后要立即接档名
查看归档中的内容,不解包
xiyan@LAPTOP-87PRR6K8:~/package$ tar -tf file.tar
选项:t 查看 tarfile 里面的文件
追加文件到归档中
xiyan@LAPTOP-87PRR6K8:~/package$ touch file5.txt
xiyan@LAPTOP-87PRR6K8:~/package$ tar -rvf file.tar file5.txt
选项:r 追加文件到归档末尾
解包,如果包中的很多文件,可以创建一个目录去解包(一般来说打包的时候应该将文件放到一个目录下,自己创建指定目录解包是一个好习惯,避免别人打包不规范。),而不是在自己的工作目录去解包,不然导致自己的工作目录很乱。
xiyan@LAPTOP-87PRR6K8:~/package$ tar -xvf file.tar
选项:x 解开一个压缩文件C 解压到指定目录
打包并压缩
xiyan@LAPTOP-87PRR6K8:~/package$ ls
file1.txt file2.txt file3.txt file4.txt file5.txt
xiyan@LAPTOP-87PRR6K8:~/package$ tar -zcvf file.tar.gz .
选项:z 使用 gzip 压缩或解压缩j 使用 bzip2 压缩或解压缩
解包并解压缩
xiyan@LAPTOP-87PRR6K8:~/package$ tar -zxvf file.tar.gz
2)zip/unzip,rar/unrar
在Linux中以.tar.gz
和 .tar.bz2
结尾的压缩文件是很常见的,如果要解压Windows中以.zip
或 .rar
结尾的压缩文件,就要要到unzip和unrar命令。
xiyan@LAPTOP-87PRR6K8:~/package$ ls
file1.txt file2.txt file3.txt file4.txt file5.txt
xiyan@LAPTOP-87PRR6K8:~/package$ zip -r file.zip .
Command 'zip' not found, but can be installed with:
sudo apt install zip
xiyan@LAPTOP-87PRR6K8:~/package$ sudo apt install zip
xiyan@LAPTOP-87PRR6K8:~/package$ zip -r file.zip .
选项:r 递归处理,将指定目录下的所有文件和子目录一并处理xiyan@LAPTOP-87PRR6K8:~/package$ unzip file.zip -解压缩
2.搜索文件相关命令
1)which命令:用来查找可执行文件的位置,它会在系统的环境变量下找。
xiyan@LAPTOP-87PRR6K8:~$ which ls
/usr/bin/ls
xiyan@LAPTOP-87PRR6K8:~$ which python3
/usr/bin/python3
2)locate 使用系统的文件数据库(通常每日更新一次)来快速查找文件,是最快速的查找工具。
locate 文件名
3)whereis 用于查找命令的可执行文件、源代码和手册页的位置
xiyan@LAPTOP-87PRR6K8:~$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/gcc /usr/share/man/man1/gcc.1.gz
4)find(灰常重要) 用于在文件树种查找文件,并作出相应的处理。find的用法非常多,这里演示按照名字查找。
find 路径 -name "文件名"
xiyan@LAPTOP-87PRR6K8:~$ find /home/xiyan/ -name *.c
5)grep在文件中搜索字符串,将找到的行打印出来。通常配合管道来使用。
xiyan@LAPTOP-87PRR6K8:~$ ps axj | grep init