案例:复制、删除、移动

1. 在目录/opt下创建一个子目录 nsd

2. 在目录/opt/nsd/创建文件readme.txt,利用vim写入内容 I Love Linux


3. 将/etc/passwd 和 /etc/fstab同时拷贝到/opt/nsd目录下

4. 将文件 /etc/shells复制到 /root/ 下,同时 改名为 version.txt


5. 将文件 /root/version.txt 移动到/opt/nsd/目录下

6. 将/home目录复制到/opt/nsd/目录下



常见的压缩格式:

gzip------》.gz

 bzip2----》.bz2

 xz----》.xz


制作压缩包(打包)

格式:

tar   [选项]   /路径/压缩包名字    /路径/被归档压缩的数据………


-c:制作压缩包(制作tar包)   -f:指定压缩包名字(必须在所有选项的最后)

 -z  -j  -J:  gzip   bzip2     xz


]# tar  -zcf  /root/cbd.tar.gz  /etc/passwd  /home

]# ls  /root          


]# tar  -jcf  /root/haha.tar.bz2  /etc/passwd  /home

]# ls   /root


]# tar  -Jcf  /root/cctv.tar.xz  /etc/passwd   /home

]# ls   /root



释放压缩包(解包)

格式:

tar   [选项]    /路径/压缩包的名字   [选项]   /释放路径


  -x:解包操作    -f:指定tar包名字

  -C:指定路径

[root@nb ~]# mkdir   /nsd10

[root@nb ~]# ls   /nsd10

[root@nb ~]# tar  -xf  /root/cbd.tar.gz  -C   /nsd10

[root@nb ~]# ls  /nsd10

[root@nb ~]# ls  /nsd10/etc

[root@nb ~]# ls  /nsd10/home/




tar高级使用:归档压缩时不进行路径的归档

]# tar -zcf  /root/zz.tar.gz   -C   /etc/    passwd         -C  /usr/    games


]# tar  -tf   /root/zz.tar.gz    #查看tar包内容


]# tar  -zcf  /root/yy.tar.gz  -C  /etc/  shells    fstab  hosts

]# tar  -tf  /root/yy.tar.gz     #查看tar包内容


[root@nb ~]# mkdir   /nsd11

[root@nb ~]# tar   -xf   /root/yy.tar.gz   -C  /nsd11

[root@nb ~]# ls   /nsd11



本例要求使用tar工具完成以下备份任务:

创建一个名为/root/backup.tar.bz2的归档文件

其中包含/usr/local目录中的内容

tar归档必须使用bzip2进行压缩


[root@nb ~]# tar  -jcf   /root/backup.tar.bz2  /usr/local

tar: 从成员名中删除开头的“/”

[root@nb ~]# ls  /root


[root@nb ~]# tar  -tf  /root/backup.tar.bz2


重定向操作:重新定向命令的输出

将前面命令的输出,作为内容,写入到后面的文件

>:覆盖重定向

>>:追加重定向


[root@A /]# head  -5  /etc/passwd  >  /opt/p.txt

[root@A /]# cat   /opt/p.txt


[root@A /]# head  -2  /etc/passwd  >  /opt/p.txt

[root@A /]# cat  /opt/p.txt


[root@A /]# hostname

[root@A /]# hostname   >>   /opt/p.txt

[root@A /]# cat   /opt/p.txt


echo命令的使用

]# echo     123456           

]# echo   123456    >    /opt/p.txt

]# cat     /opt/p.txt


]# echo     hello  world           

]# echo   hello  world    >>    /opt/p.txt

]# cat     /opt/p.txt


]# cat     /etc/hostname

]# echo    nb.tedu.cn    >    /etc/hostname

]# cat    /etc/hostname



管道操作  |  

作用:将前面命令的输出,传递给后面命令,作为后面命令的参数


]# head  -4  /etc/passwd   |      tail  -1

]# head  -8  /etc/passwd  |   tail  -1


]# cat -n  /etc/passwd  |  head  -8  |   tail  -1


]# ifconfig  |  head  -2


不支持管道:

1.命令没有参数也能执行

  2.所有双参数以上的命令  cp  mv  mount

  3.命令没有输出不能参与管道


显示8~12行内容

]# head  -12  /etc/passwd   |    tail  -5

]# cat -n  /etc/passwd   |  head -12

]# cat -n  /etc/passwd  |  head  -12  |  tail -5


]# cat -n  /etc/passwd  |  head -12  |   tail -5  > /opt/pa.txt


]# cat  /opt/pa.txt  




Linux中大多数配置文件内容,以#开头的行为注释行

显示配置文件有效信息(去除以#开头的注释行和去除空行)

]# grep -v  ^#  /etc/login.defs

]# grep -v  ^#  /etc/login.defs  |  grep -v  ^$


]# grep -v ^# /etc/login.defs   |  grep -v ^$  > /opt/log.txt


]# cat  /opt/log.txt


过滤命令的输出

[root@localhost /]# ifconfig  |    grep  inet

[root@localhost /]# ifconfig   |    grep  127

[root@localhost /]# ifconfig    |    less       #方便查看