《初入linux》--第七部分-文件本地管理和远程管理

一.本地包管理

在管理文件时,往往把大量同类型文件打包或压缩,文件归档后方便储存于传输,归档,即把多个文件归为一个

GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。另外,常在linux系统下使用的压缩包格式还有:bz2 和 xz 

1.tar 归档命令

格式:tar   [选项]  [...]  file/dir

常用选项:

-c                                          创建归档文件

-f                                           命名归档文件或指定要解的包名(一般使用tar命令都得在最后加上 -f 选项表示指定名称

-t                                           显示归档文件中的内容

-r                                           继续添加文件到归档文件

--get                                     从归档文件中取出单个文件

--delete                               从归档文件中删除单个文件

-x                                          取出归档文件所有内容

-C                                         指定取出文件存放目录

-zcf                                       打包并压缩成gz

-jcf                                        打包并压缩成bz2

-JCF                                     打包并压缩成xz

 

例:1)给file1,file2,file3打包并命名为my.tar

[root@localhost dir1]# tar -cf my.tat file[1-3]
[root@localhost dir1]# ls
file1  file2  file3  my.tat

例:2)给file1,file2,file3以bz2格式打包并压缩,命名为my.bz2

[root@localhost dir1]# tar -cjf my.bz2 file[1-3]
[root@localhost dir1]# ls
file1  file2  file3  my.bz2
        3)从my.bz2中取出file1

[root@localhost dir1]# tar -xf my.bz2 
[root@localhost dir1]# ls
file1  file2  file3  my.bz2  te.tar

2. 压缩命令 gzip  bzip2  xz

gzip [选项] [...] file/dir                  压缩为gz格式

注:gzip命令和tar的最大区别在于,tar命令可以将多个文件打成一个包,gzip命令默认是将文件逐个压缩,没有打包功能。我们将用一个例子更直观的展现:

例:用tar 命令将file[1-3] 打包并压缩

[root@localhost dir1]# ls
file1  file2  file3
[root@localhost dir1]# tar -zcf my.tar.gz file[1-3]
[root@localhost dir1]# ls
file1  file2  file3  my.tar.gz

        用gzip 命令压缩file[1-3]

[root@localhost dir1]# gzip  file[1-3]
[root@localhost dir1]# ls
file1.gz  file2.gz  file3.gz

常用选项

-c                                           将输出写到标准输出上,并保留原有文件。
-d                                           将压缩文件解压。
-l                                            对每个压缩文件,显示下列字段:压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字
-r                                            递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t                                            测试,检查压缩文件是否完整。
-v                                           对每一个压缩和解压的文件,显示文件名和压缩比。
例:
bizp
xz

注:在打包压缩系列时,参数有特定规则,一般都需要加上-f 参数,且 -f 参数必须放在所有参数最后最后。


二.远程传输与同步

1.远程文件复制:scp

格式:scp file username@ip:/dir                从本地目录复制文件到远端主机

            scp username@ip:file /dir                从远端主机复制文件到本地目录

 例:用mazha1主机通过ssh发送到mazha2主机

发送之前状态:

[root@mazha2 dir2]# ls
[root@mazha2 dir2]# ifconfig
此时mazha2主机的/dir 中无file1文件

在mazha1上操作:

[root@mazha1 dir1]# ls
file1  file2  file3
[root@mazha1 dir1]# scp file1 [email protected]:/dir2
The authenticity of host '192.168.10.128 (192.168.10.128)' can't be established.
ECDSA key fingerprint is 85:ed:85:b9:d6:9f:78:08:4e:22:32:f8:ac:8c:3f:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.128' (ECDSA) to the list of known hosts.
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
file1                                         100%  129     0.1KB/s   00:00    
此时file1发送完成,切换到mazha2我们看看:

[root@mazha2 dir2]# ls
file1
file1出现!


2.文件同步:rsync

rsync[参数] file username@ip:/dir

-r 同步目录

-l 不忽略链接

-p 不忽略文件权限(否则去掉g和o的写权限)

-t 不忽略为文件时间戳

-g  不忽略文件所有组

-o 不忽略文件所有人

-D 不忽略设备文件


注:rsync和scp命令用法类似,区别在于,在多文件的移动时,使用rsync的效率远高于scp,如:直接远程同步一个目录下的所有文件,这时,rsync速度较scp快得多


你可能感兴趣的:(linux,管理)