04: 归档及压缩 、 重定向与管道操作 、 find精确查找 、 vim高级使用 、 总结和答疑

Top

NSD ADMIN DAY04

  1. 案例1:创建一个备份包
  2. 案例2:重定向与管道操作
  3. 案例3:查找并处理文件
  4. 案例4:vim效率操作

1 案例1:创建一个备份包

1.1 问题

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

  1. 创建一个名为 /root/backup.tar.bz2 的归档文件
  2. 其中包含 /usr/local 目录中的内容
  3. tar 归档必须使用 bzip2 进行压缩

1.2 方案

制作归档压缩包:

  • tar -zcf 备份文件.tar.gz 文档....
  • tar -jcf 备份文件.tar.bz2 文档....
  • tar -Jcf 备份文件.tar.xz 文档....

查看归档压缩包:

  • tar -tf 备份文件

释放归档压缩包:

  • tar -xf 备份文件 [-C 目标目录]

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:创建备份文件

使用tar命令制作归档备份,结合-j选项调用bzip2压缩工具,保留绝对路径:

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

步骤二:确认结果

[root@server0 ~]# ls  -lh  /root/backup.tar.bz2  		//确认文件
-rw-r--r--. 1 root root 1.9K 12月 23 23:22 /root/backup.tar.bz2

[root@server0 ~]# tar -tf /root/backup.tar.bz2 //确认内容
usr/local/
usr/local/bin/
usr/local/bin/lab
usr/local/etc/
usr/local/games/

2 案例2:重定向与管道操作

2.1 问题

  1. 显示ifconfig命令的前两行内容
  2. 显示/etc/passwd第九行内容
  3. 将hostname命令的输出内容,覆盖写入到/opt/hn.txt
  4. 利用echo命令,将“tmooc”内容追加写入到/opt/hn.txt

2.2 方案

重新定向命令的输出:将前面命令的输出,写入到后面文本文件中

  • >:覆盖重定向
  • >>:追加重定向

管道 :将前面命令的输出,传递到后面命令,作为后面命令的参数

2.3 步骤

实现此案例需要按照如下步骤进行。

1)显示ifconfig命令的前两行内容

[root@server0 ~]# ifconfig  |  head  -2

2)显示/etc/passwd第九行内容

[root@server0 ~]# head  -9  /etc/passwd  |  tail -1

3)将hostname命令的输出内容,覆盖写入到/opt/hn.txt

[root@server0 ~]# hostname  >  /opt/hn.txt

4)利用echo命令,将“tmooc”内容追加写入到/opt/hn.txt

[root@server0 ~]# echo  tmooc  >>  /opt/hn.txt

3 案例3:查找并处理文件

3.1 问题

  1. 利用find查找所有用户 student 拥有的必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中
  2. 利用find查找/boot目录下大于10M并且必须是文件,拷贝到/opt
  3. 利用find查找/boot/ 目录下以 vm 开头且必须是文件,拷贝到/opt
  4. 利用find查找/boot/ 目录下为快捷方式
  5. 利用find查找/etc 目录下,以 tab 作为结尾的 必须是文件

3.2 方案

根据预设的条件递归查找对应的文件

格式:find [目录] [条件1]

常用条件表示:

  • -type 类型(f文件、d目录、l快捷方式)
  • -name "文档名称"
  • -size +|-文件大小(k、M、G)
  • -user 用户名
  • -mtime 修改时间

高级使用(处理find查找的结果)

  • -exec 额外操作的开始
  • \; 表示额外操作的结束
  • {} 前面find命令每一个查询的结果

3.3 步骤

实现此案例需要按照如下步骤进行。

1)利用find查找所有用student 拥有的必须是文件,把它们拷贝到 /root/findfiles/ 文件夹中(确保本机具有student用户)

[root@server0 ~]# id student
[root@server0 ~]# mkdir /root/findfiles
[root@server0 ~]# find /   -user   student   -type f
[root@server0 ~]# find /   -user   student   -type f  -exec  cp  {}  /root/findfiles \;
 [root@server0 ~]#  ls  /root/findfiles

2)利用find查找/boot目录下大于10M并且必须是文件,拷贝到/opt

[root@server0 ~]# find  /boot  -size +10M
[root@server0 ~]# find  /boot  -size +10M   -exec  cp  {}  /opt  \;
[root@server0 ~]# ls  /opt

3)利用find查找/boot/ 目录下以 vm 开头且必须是文件,拷贝到/opt

[root@server0 ~]# find  /boot  -name  “vm*”  
[root@server0 ~]# find  /boot  -name  “vm*”   -exec  cp  {}   /opt  \;
[root@server0 ~]# ls   /opt

4)利用find查找/boot/ 目录下为快捷方式

[root@server0 ~]# find  /boot  -type  l

5)利用find查找/etc 目录下,以 tab 作为结尾的 必须是文件

[root@server0 ~]# find  /etc   -name  “*tab”  -type f

4 案例4:vim效率操作

4.1 问题

本例要求掌握使用vim文本编辑器时能够提高操作效率的一些常用技巧和方法,完成下列任务:

  1. 将文件 /etc/passwd 复制为 /opt/nsd.txt,然后打开 /opt/nsd.txt 文件,练习命令模式下的切换/复制/删除/查找操作
  2. 将文件 /etc/man_db.conf 复制到 /opt 目录下,然后打开 /opt/man_db.conf 文件,将第50~100行内的“man”替换为“MAN”,在 vim 中设置显示行号查看效果

4.2 方案

命令模式常用操作:

  • 1G 或 gg ,跳转到文件的首行
  • G ,跳转到文件的末尾行
  • yy、#yy ,复制光标处的一行、#行
  • p、P ,粘贴到光标处之后、之前
  • x 或 Delete键 ,删除光标处的单个字符
  • dd、#dd ,删除光标处的一行、#行
  • d^、d$ ,从光标处之前删除至行首/行尾
  • /word 向后查找字符串“word”,再按n/N跳至后/前一个结果
  • u ,撤销最近的一次操作
  • U ,撤销对当前行的所有修改
  • Ctrl + r 取消前一次撤销操作
  • ZZ 保存修改并退出

末行模式常用操作:

  • :s/old/new ,替换当前行第一个“old”
  • :s/old/new/g ,替换当前行所有的“old”
  • :n,m s/old/new/g ,替换第n-m行所有的“old”
  • :% s/old/new/g ,替换文件内所有的“old”
  • :w /root/newfile ,另存为其它文件
  • :r /etc/filesystems ,读入其他文件内容
  • :set nu|nonu ,显示/不显示行号
  • :set ai|noai ,启用/关闭自动缩进

4.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:vim命令模式下的切换/复制/删除/查找

1)建立练习文件

将文件 /etc/passwd 复制为 /opt/nsd.txt:

[root@svr7 ~]# cp  /etc/passwd  /opt/nsd.txt

2)使用vim打开练习文件,默认处于命令模式

[root@svr7 ~]# vim  /opt/nsd.txt
.. ..

3)在命令模式下完成下列操作

切换操作:G 最后一行,5G 第5行,gg 第一行。

复制操作:按2yy复制2行,7G移动到第7行,p 粘贴。

删除操作:25G 移动到第25行,200dd 从此行开始删除200行(不够就剩下全删)。

查找操作:gg 第一行,/adm 查找关键词adm,n 跳转到下一个结果。

4)保存并退出编辑器

ZZ 保存退出。

步骤二:vim末行模式下的替换/设置操作

1)建立练习文件

将文件 /etc/man_db.conf 复制到 /opt/ 目录下:

[root@svr7 ~]# cp  /etc/man_db.conf  /opt/

2)使用vim打开练习文件,输入:切换到末行模式

[root@svr7 ~]# vim  /opt/man_db.conf
.. ..
: 

3)在末行模式下完成下列操作

输入 :set nu ,确认后显示行号。

输入 :50,100 s/man/MAN/g ,确认将第50~100行内的“man”替换为“MAN”。

4)保存并退出编辑器

输入 :wq ,确认后保存并退出编辑器。


                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值