归档管理
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
压缩文件
tar 命令表示压缩文件
语法格式:
tar [参数] 打包文件名 文件
选项说明:
-c 建立新的压缩文件
-z 通过 gzip 压缩文件
-v 显示操作过程
-f 指定压缩文件
tar -czvf day01.tar.gz day01.py
tar -czvf ../ggg/day01.tar.gz day01.py
tar -czvf day03.tar.gz t1.sql t2.sql t3.sql
解压文件
tar 命令表示解压文件
语法格式:
tar 选项 压缩文件名称
选项说明:
-x 从压缩的文件中提取文件
-z 通过 gzip 压缩文件
-v 显示操作过程
-f 指定压缩文件
tar -xzvf t02.tar.gz
tar -xzvf ../test1/day03.tar.gz
文件压缩解压
gzip
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz
gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
选项 | 含义 |
---|---|
-d | 解压 |
-r | 压缩所有子目录 |
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法:tar cvzf 压缩包包名 文件1 文件2 ...
-z :指定压缩包的格式为:file.tar.gz
解压用法: tar zxvf 压缩包包名
-z :指定压缩包的格式为:file.tar.gz
解压到指定目录:-C (大写字母“C”)
文件压缩解压bzip2
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程
压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
文件压缩解压:zip、unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
查看文件
which指令会在环境变量$PATH设置的目录里查找符合条件的文件
语法格式:
which [文件...]
参数:
-n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息。
which bash
查看bash的绝对路径
通过什么命令查找执行命令?
which 只能查可执行文件
whereis 只能查二进制文件、说明文档,源文件等
查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加?
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
补充说明:whereis 指令会在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。
-b 只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。-u 查找不包含指定类型的文件。
which 指令会在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n 参数相同,但此处的包括了文件的路径。-w 指定输出时栏位的宽度。
-V 显示版本信息
查看各类环境变量用什么命令?
查看所有 env
查看某个,如 home:env $HOME
删除文件
rm 命令表示删除文件
语法格式:
rm 选项 文件名称
选项说明:
-f 忽略不存在的文件,不会出现警告信息
-r 递归删除
rm -f test.doc
练习:在testing目录下,进行如下操作:
(1)创建2个目录,分别是: test1、test2
cd testing
mkdir test1 test2
ls
(2)在test1目录中,新建文件,t1.sql、t2.sql、t3.sql
cd test1
touch t1.sql t2.sql t3.sql
ls
(3)在test1目录中,将文件t1.sql、t2.sql、t3.sql压缩
变成一个压缩包,名称为linux_day03.tar.gz
tar -czvf linux_day03.tar.gz t1.sql t2.sql t3.sql
(4)将linux_day03.tar.gz压缩包,解压到test2目录中
cd ../test2
tar -xzvf ../test1/linux_day03.tar.gz
(5)删除test2目录中,t3.sql文件
rm -f t3.sql
ls