第十二单元
- 打包
打包表示把一堆文件变成一个包裹,打包是必须指定要打包的文件。
tar ####打包工具
-f ####指定包的名字
-c ####创建包
-v ####显示创建过程
-t ####查看包中内容
-x ####解包
-r ####添加文件到包中
--delete filename ##删除包中指定文件
--get filename ##取出包中指定文件
【例】
tar cf etc.tar /etc ##创建一个名为etc.tar的包
scp etc.tar root@172.25.12.111
tar vcf etc.tar /etc ##创建指定名称为etc.tar的包,并显示详细信息
tar xf etc.tar ##将包解为文件夹
tar -rf etc.tar file ##将文件添加(其实是复制)到包中
tar tf etc.tar ##查看名为etc.tar包中的内容
- 压缩
以etc.tar文件夹为例(30M),压缩后的文件大小:gzip(8.4M)、bz2(15M)、xc(8M)、zip(16M)
gzip
gzip xxxx.tar =====> xxxx.tar.gz ##压缩
gunzip xxxx.tar.gz =====> xxxx.tar ##解压
tar zcvf xxxx.tar.gz 目标文件 ##打包压缩文件,一步完成
tar zxvf xxxx.tar.gz ###解压xxxx.tar.gz===>xxxx
【例】
tar zcvf etc.tar.gz /etc/ ##压缩etc目录下的文件并命名为etc.gar.gz
bz2
bzip2 xxxx.tar =====> xxxx.tar.bz2 ##压缩
bunzip2 xxxx.tar.bz2 =====> xxxx.tar ##解压
tar jcvf xxxx.tar.bz2 目标文件 ##打包压缩文件
tar jxvf xxxx.tar.bz2 ###解压xxxx.tar.bz2===>xxxx
【例】
tar jcvf etc.tar.bz2 /etc ##压缩etc目录下的文件并命名为etc.gar.bz2
xz
xz xxxx.tar =====> xxxx.tar.xz ##压缩
unxz xxxx.tar.xz =====> xxxx.tar ##解压
tar Jcvf xxxx.tar.xz 目标文件 ##打包压缩文件
tar Jxvf xxxx.tar.xz ###解压xxxx.tar.xz===>xxxx
tar Jxf etc.tar.xz ###解压etc.tar.xz===>etc,这个更快一些,因为不用显示细节,xxxx的意思是名为etc.tar.xz的文件解压后只有一个名为etc的文件
zip
zip -r xxx.tar.zip xxx.tar ###压缩
unzip xxx.tar.zip ###解压
- 远程文件传输
scp ##远程复制
scp file user@ip:/directory ##上传文件
scp -r dir user@ip:/directory ##上传目录
scp user@ip:/filename /direcotry ##下载文件
scp -r user@ip:/directory /direcotry ##下载目录
rsync ###远程同步
rsync file|direcotry user@ip:/directory
rsync user@ip:/directory /directory
-r ##同步目录
-l ##不忽略链接
-p ##不忽略权限
-t ##不忽略时间戳将时间一起同步过来
-g ##不忽略组信息,显示组信息
-o ##不忽略用户信息,显示用户信息
-D ##不忽略设备文件
sftp
rsync -r /mnt root@172.25.12.11:/mnt ##同步一个目录过来
rsync -ro /mnt root@172.25.12.11:/mnt/ ##同步目录和用户信息
rsync -rog /mnt root@172.25.12.11:/mnt/ ##同步目录、用户、组