2019-04-19日 课程总结

sed回顾

1.使用shell脚本,找出/etc目录下以.conf 结尾文件复制到/tmp下面
打包备份/etc目录到/backup 下面 保证每天备份的压缩包名字不同
使用shell脚本,找出/etc目录下以.conf 结尾文件复制到/tmp下面
[root@oldboyedu59 ~]# find /etc/ -type f -name "*.conf" |xargs cp /tmp/
cp: target ‘/etc/locale.conf’ is not a directory
老男孩教育出品-|xargs执行过程-find命令与复制
https://www.processon.com/view/link/5a389696e4b0bf89b84a17e0

1.
find /etc/ -type f -name "*.conf"  |xargs cp -t /tmp/

\cp  /etc/hosts /etc/fstab  /tmp/
\cp -t /tmp/  /etc/hosts /etc/fstab

2.
cp  $(find /etc/ -type f -name "*.conf")   /tmp 

3.
find /etc/ -type f -name "*.conf"  -exec cp  {}   /tmp  \; 

4.
find /etc/ -type f -name "*.conf"  |xargs -i cp {} /tmp/

xargs -i 让xargs后面可以使用{}| 表示前面find找出的文件 类似 -exec 里面的{}

打包备份/etc目录到/backup 下面 保证每天备份的压缩包名字不同

[root@oldboyedu59 ~]# mkdir -p /backup 
[root@oldboyedu59 ~]# #tar zcf  /backup/etc-2019-01-01.tar.gz   /etc/ 
[root@oldboyedu59 ~]# date +%F
2019-04-19
[root@oldboyedu59 ~]# date +%F_%w
2019-04-19_5
[root@oldboyedu59 ~]# date +%T
09:28:57
[root@oldboyedu59 ~]# tar zcf  /backup/etc-$(date +%F).tar.gz   /etc/ 
tar: Removing leading `/' from member names
[root@oldboyedu59 ~]# tree  /backup/
/backup/
|-- etc-2019-04-19.tar.gz
`-- etc.tar.gz

0 directories, 2 files

取出网卡ip地址:
ip a s eth0

方法1 sed 正则 
[root@oldboyedu59 ~]# ip a s eth0 |sed -n '3p' |sed 's#^.*t ##g'
10.0.0.201/24 brd 10.0.0.255 scope global eth0
[root@oldboyedu59 ~]# ip a s eth0 |sed -n '3p' |sed 's#^.*t ##g'|sed 's#/.*$##g'
10.0.0.201
方法2 sed 后向引用
[root@oldboyedu59 ~]# ip a s eth0 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:ff:79:0e brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feff:790e/64 scope link 
       valid_lft forever preferred_lft forever
[root@oldboyedu59 ~]# ip a s eth0 |sed -n 3p 
    inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
[root@oldboyedu59 ~]# ip a s eth0 |sed -n 3p |sed -r 's#^.*t (.*)/.*$#\1#g'
10.0.0.201
[root@oldboyedu59 ~]# 
[root@oldboyedu59 ~]# ip a s eth0 |sed -n 3p |sed -r 's#(^.*t )(.*)(/.*$)#\1#g'
    inet 
[root@oldboyedu59 ~]# ip a s eth0 |sed -n 3p |sed -r 's#(^.*t )(.*)(/.*$)#\3#g'
/24 brd 10.0.0.255 scope global eth0
stat /etc/hosts
取出结果中的644

下次:
awk 如何使用正则 某一列中包含什么内容
如何计算1+...+100
seq 100 |awk
其他取出网卡ip地址方式

Linux权限体系
对文件 对目录 rwx含义

Linux用户管理
定时任务
Linux磁盘管理

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容