一、文件打包
tar c //创建
tar f //打包后的文件名
tar t //显示打包后文件中的内容
tar r //在打包文件中添加文件
tar x //取出打包文件中的所有内容
tar z //gz格式进行压缩
tar j //bz2格式压缩
tar J //xz格式压缩
例如:
将目录/etc下的文件打包,命名为etc.tar,操作如下:
tar cf etc.tar /etc
注:创建参数 -c和文件名参数 -f顺序不能颠倒。
grep 功能为:搜索etc.tar下所有文件含有passwd的文件。
二、打包文件压缩
(一)几种基本压缩
1、gz格式压缩
gzip etc.tar //压缩成gz格式 (图1)
gunzip etc.tar.gz //解压缩gz格式的压缩包 (图2)
图 1
图 2
注:图1、图2操作对象都是打包文件,如图中的 etc.tar就是已经打包好的文件包。
2、bz2格式压缩(和gz格式压缩类似)
bzip2 etc.tar //压缩成bz2格式
bunzip2 etc.tar.bz2 //解压缩bz2格式的压缩包
3、xz格式压缩
xz etc.tar //压缩成xz格式
unxz etc.tar.xz //对xz格式压缩包进行解压缩
4、zip格式压缩
zip -r etc.tar.zip etc.tar //压缩成zip格式
unzip etc.tar.zip //解压zip格式压缩包
(二)上述几种压缩操作都是基于已经打包好的文件,我们也可以使用一步命令对文件进行打包和压缩同时进行。
比如:
tar zcf etc.tar.gz /etc 就是将/etc目录下的所有文件进行打包,并进行gz格式压缩。如果进行bz2格式压缩,输入命令 tar jcf etc.tar.bz2 /etc/ 即可,进行xz格式压缩也是类似的:tar Jcf etc.tar.xz /etc/
当然,有压缩就有解压缩。
tar zxf etc.tar.gz 就是将gz格式的压缩包进行解压缩。bz2格式解压缩, tar jxf etc.tar.bz2 即可,进行xz格式解压缩也是类似的:tar Jxf etc.tar.xz
三、系统间的文件传输
1、 scp file root@ip:/dir //上传
scp root@ip:/dir/file /dir //下载
举例: scp file root@172.25.254.221:/mnt //将本机文件file上传至另一台主机ip为172.25.254.221的用户root的/mnt下
scp root@172.25.254.221:/mnt/file /mnt //将另一台主机ip为172.25.254.221的用户root下的/mnt下的文件file下载到本机下的/mnt目录下
注:scp可以传送文件内容,但文件属性不会发生改变。如图,在虚拟机desktop上创建了文件file,改变其相应权限、文件所有人、文件所有组,将此文件上传至另一台虚拟机server上,文件的权限,所有人,所有组仍旧是创建时的状态,并未发生改变。要使传输过程中文件的属性信息一块传送过去,这个问题的解决我们需要用到rsync,下面我们会介绍到使用方式。
2、rsync [参数] file root@ip:/dir 远程同步(当rsync后没有加任何参数,作用相当于scp)
-r //同步目录
-l //不忽略链接
-p //不忽略文件权限
-t //不忽视文件时间戳
-g //不忽视文件所有组
-o //不忽视文件所有人
-D //不忽视设备文件
例如:上述问题,用rsync解决。
注:rsync 与 scp 也是先打包,后解压的过程。
四、系统登录
/etc/motd 这个文件记录了当用户在字符界面下登录成功后可以看见的欢迎语
操作:vim /etc/motd
hello //输入的内容
welcome //
你好 //
欢迎 //
效果如图: