【Linux】归档和备份
简介
计算机系统管理员的一个主要任务就是保护系统的数据安全,其中一种方法是通过时时备份系 统文件,来保护数据。即使你不是一名系统管理员,也经常会处理大量文件,在这里我们看看常见的管理文件集合命令。
压缩命令:
gzip
:压缩文件。bzip2
:块排序文件压缩器。
归档命令:
tar
:磁带打包工具。zip
:打包和压缩文件。
同步命令:
rsync
:同步远端文件和目录。
压缩文件
数据压缩就是一个删除冗余数据的过程。
压缩算法(数学技巧被用来执行压缩任务)分为两大类,无损压缩和有损压缩。无损压缩保留了原始文件的所有数据;有损压缩,执行压缩操作时会删除数据,允许更大的压缩。
使用gzip
命令,可以用来压缩一个或多个文件,原始文件的压缩版会替代原始文件。
gzip foo.txt
使用gunzip
命令,可以用来把压缩文件复原为没有被压缩的版本。
gunzip foo.txt.gz
使用bzip2
命令,可以用来压缩文件,原始文件的压缩版会替代原始文件。
bzip2 foo.txt
使用bunzip2
或bzcat
命令,可以用来把压缩文件复原为没有被压缩的版本。
bunzip2 foo.txt.bz2
# bzcat 会伴随着打印内容
bzcat foo.txt.bz2
归档文件
归档就是收集许多文件,并把它们捆绑成一个大文件的过程。经常作为系统备份的一部分来使用,当把旧数据从一个系统移到某种类型的长期存储设备中时,也会用到归档命令。
tar
归档后文件扩展名为.tar 或者.tgz,分别表示“普通”的 tar 包和被 gzip 程序压缩过的 tar 包,一个 tar 包可以由一组独立的文件,一个或者多个目录,或者两者混合体组成。
# 命令语法
tar mode[options] pathname...
# 归档样例
tar cf download_file.tar download_file
常见的选项:
c
:为文件和/或目录列表创建归档文件。x
:抽取归档文件,意思就是解开或解压。r
:追加具体的路径到归档文件的末尾。t
:列出归档文件的内容。
# 归档样例
tar cf download_file.tar download_file
# 列出归档的文件
tar tf download_file.tar
# 列出归档文件详细信息
tar tvf download_file.tar
解压归档文件,可以使用如下命令:
# 解压 tar包
tar xvf file.tar
# 解压tar.gz
tar -xzvf file.tar.gz
# 解压 tar.bz2
tar -xjvf file.tar.bz2
# 解压tar.Z
tar -xZvf file.tar.Z
# 解压并制定文件夹存放
tar xvf file.tar -C /Users/guanfawang/1/python_crawer/urllib_request/download_file
zip
zip
命令既是压缩工具,也是一个打包工具。
zip download_file.zip download_file
使用unzip
命令可以解压zip
文件。
unzip download_file.zip
# 指定位置
unzip download_file.zip -d /Users/guanfawang/1/python_crawer
同步文件和目录
使用rsync
命令,能同步本地与远端的目录,通过使用 rsync 远端更新协议,此协议允许 rsync 快速地检测两个目录的差异,执行最小量的复制来达到目录间的同步
# 语法
rsync options source destination
这里 source 和 destination 是下列选项之一:
- 一个本地文件或目录。
- 一个远端文件或目录,以 [user@]host:path 的形式存在。
- 一个远端 rsync 服务器,由 rsync://[user@]host[:port]/path 指定。
注意 source 和 destination 两者之一必须是本地文件。rsync 不支持远端到远端的复制。
rsync -av playground foo
-a 选项(递归和保护文件属性)和-v 选项(冗余输出),来在 foo 目录中制作一 个 playground 目录的镜像。我们可以多次执行该命令,将会根据差异进行复制数据。
总结
tar和zip 压缩文件最为常见,有时候我们常常去找一些解压软件去实现解压,而且有些解压软件还伴随着费用,如果我们能掌握这些基本语法,那么我们就可以不用下载任何软件,轻松就可以压缩和解压对应不同文件,所以学习和掌握它,也至关重要。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!