linux学习笔记----7

时间:2021-03-10 14:37:47

归档文件并在系统间复制文件

1、管理压缩的tar存档

创建备份和通过网络传输数据时,归档和压缩文件非常有用。用来创建和使用备份归档的其中一个最常见的命令是tar命令。

通过他人命令,用户可以将大型文件集汇为一个文件(存档)。该存档可以使用gzip、bzip2或xz压缩方式压缩。

操作tar命令

c                                   创建文档

t                                    列出文档内容

x                                    提取档案

f    filename                  指定要操作的存档文件名

v                                    详细信息用于查看添加到存档中或从中提取的文件有哪些

p                                    保留文件权限

注意:tar选项前可以不用 - 

创建新存档时要使用的第一个选项是 c ,后跟 f ,接着是要创建的存档的文件名,最后是应当添加到该存档中的文件和目录列表。存档会创建在当前目录中,除非另外指定。

tar  cf    archive.tar    file1   file2   file3

列出tar存档内容

tar  tf    archive.tar

提取tar创建的存档

tar xf   /home/lvyang/archive.tar


2、创建压缩的tar存档

tar命令支持三种不同的压缩方式。

z                      用于gzip压缩(后缀.tar.gz或者.tgz)         压缩速度最快,使用最广泛

j                       用于bzip2压缩(后缀.tar.bz2)             生成文件较小

J                      用于xz压缩(后缀.tar.xz)                      比较新,通常提供可用方式中最佳压缩率

示例:

tar        czf       /etc/etcbackup.tar.gz       /etc                 压缩

tar        xzf      /etc/etcbackup.tar.gz                               解压缩

gzip、bzip2、xz 也可以单独用于压缩单个文件

gzip      /path/filename.tar.gz        /path/filename

对应解压命令  gunzip、bunzip2、unxz

gunzip     /path/filename.tar.gz


3、在系统间安全地复制文件

scp命令可将文件从远程主机传输到本地,或者反之。它利用的是SSH服务器进行身份验证和加密数据传输。在启动传输之前,用户必须通过验证。

scp        file1   file2      username@hostname:/path                将文件复制到远程主机

scp        username@hostname:/path/file        /path                从远程主机复制文件到本地

要递归方式复制,可使用 -r 选项

scp   -f      /home/lvyang        lvyang@192.168.10.3:/home/james


使用sftp远程传输文件

交互式工具,会话与典型的ftp会话相似,但也是使用SSH服务器的安全身份验证和加密数据传输功能

建立sftp会话

sftp   username@hostname

提示符  sftp>

sftp会话接受各种命令,运行方式基本与本地系统相同。使用put和get命令供上传和下载文件使用,使用exit可退出sftp会话。

示例:拷贝本地/etc/hosts  到 192.168.10.3的/home/lvyang目录下,然后再下载到本地当前目录下

sftp     lvyang@192.168.10.3

sftp>mkdir    /home/lvyang

sftp> cd     /home/lvyang

sftp>put    /etc/hosts

sftp>get    /home/lvyang/hosts


4、在系统间安全的同步文件

rsync工具是另一种在系统之间安全复制文件的方式。它与scp的区别在于,如果两个系统间的两个文件或目录相似,rsync仅需复制系统间的差异部分,而scp复制所有内容

rsync的一个最重要选项是 -n  选项,它用于执行空运行。空运行是对真正执行命令时所发生情况的模拟,建议在任何rsync操作前先执行空运行,以确保重要的文件不会被覆盖或删除。

-r                                           以递归方式同步整个目录

-l                                            同步符号链接

-p                                           保留权限

-t                                            保留时间戳

-g                                           保留组所有权

-o                                            保留文件所有者

-D                                           同步设备文件

-v                                           同步进行时向输出中添加详细信息

-a                                            代表 存档模式

示例

rsync    -av     /var/log           username@hostname:/tmp       将本地log目录同步到异地/tmp

raync   -av     username@hostname:/var/log        /tmp              将远程log目录通道本地/tmp