小白linux运维day-9

今天内容

习题1: 使用awk取出系统的IP地址,思路如下: 1.我要取的IP值在哪里 ifconfig 2.如何缩小取值范围(行) 3.如何精确具体内容(列)

yum install net-tools -y (没有ifconfig这个命令可以使用这个命令来安装)

[图片上传失败...(image-18e2f8-1583844823618)]

[图片上传失败...(image-4a22c9-1583844823618)]

[图片上传失败...(image-551b1c-1583844823618)]

[图片上传失败...(image-178858-1583844823618)]

[图片上传失败...(image-e3e20-1583844823618)]

方法一:

[root@oldboy ~]# ifconfig ens32 | head -2 | tail -1| awk '{print $2}'

方法二:

[root@oldboy ~]# ifconfig ens32 | grep "netmask" | awk '{print $2}'

方法三:

语法:sed -n '/匹配的内容/对匹配的内容做什么动作' 匹配字符串

示例:sed -n '/netmask/p'

[root@oldboy ~]# ifconfig ens32 | sed -n '/netmask/p'| awk '{print $2}'

方法四:

[root@oldboy ~]# ifconfig ens32 | awk '/netmask/{print $2}'

方法五:

sed 's#替换文件中什么内容#替换成什么#g'

[root@oldboy ~]# ifconfig ens32 | sed -n '2p'| sed -r 's#(^.et )(.)(net.*$)#\2#g' 备注:后向引用

习题2: 将/etc/passwd文件中的第一行中的第一列和最后一列位置进行交换。

[root@oldboy ~]# head -1 /etc/passwd | awk -F ':' '{print 7":"2":"3":"4":"5":"6":"$1}' /bin/bash❌0:0:root:/root:root

[图片上传失败...(image-61e425-1583844823618)]

习题3: 将/etc/sysconfig/selinux 文件中的SELINUX=enforcing替换成SELINUX=disabled (sed)

[root@oldboy ~]# sed 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux (模拟) 备注:这个命令只能替换但不改变 /etc/sysconfig/selinux 这个文件的原来内容,如果有改变内容则需要[root@oldboy ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux (实战)

[图片上传失败...(image-7d1a99-1583844823618)]

文件属性

-rw-r--r--. 1 root root 26 3月 9 18:27 oldboy.txt

-:文件的类型

rw-r--r- :权限

1 :表示硬链接数目

root :这个文件的拥有人是谁

root :这个文件的拥有组是谁

26 :表示 文件大小

3月 9 18:27 :文件创建或修改的时间

oldboy.txt :文件名称

文件类型

[root@oldboy ~]# ll -d /etc/hosts /tmp /bin/ls /dev/vda /dev/tty1 /etc/grub2.cfg /dev/log -rwxr-xr-x. 1 root root 117680 10月 31 2018 /bin/ls srw-rw-rw-. 1 root root 0 11月 13 23:03 /dev/log crw--w----. 1 root tty 4, 1 11月 13 23:04 /dev/tty1 brw-rw----. 1 root disk 253, 0 11月 13 23:03 /dev/vda lrwxrwxrwx. 1 root root 22 6月 4 2019 /etc/grub2.cfg -> ../boot/grub2/grub.cfg -rw-r--r--. 1 root root 159 6月 4 2019 /etc/hosts drwxrwxrwt. 11 root root 4096 3月 10 11:21 /tmp

使用ll 或者是ls -l能够区分出的效果

-: 表示一个文件

s:socket,进程与进程之间的通信协议

c :字符设备(终端、键盘)

b:快设备(磁盘)

l: 软连接

d: 表示一个目录

判断文件类型的三种方法

我们可以使用ls-l查看

我们也可以根据文件的后缀来区分

前面两种方法都不太正确,所以我们可以用 file来查看文件的类型这种方法比较正确

备注:如果我们把后缀名改了之后file这个命令也会显示他本来的属性

链接文件(软链接、硬链接)

文件有文件名与数据,在liuux上被分成了两部分:文件数据(data)与文件元数据(metadata)

软链接图示:

[图片上传失败...(image-86e59a-1583844823618)]

软链接应用图示:

[图片上传失败...(image-4574a8-1583844823618)]

软链接实战练习

网站1.1版本代码

[root@oldboy ~]# mkdir /data/rainbow-v1.1 -p [root@oldboy ~]# echo "123" > /data/rainbow-v1.1/index.html

[图片上传失败...(image-95e42-1583844823618)]

创建软链接

[root@oldboy ~]# ln -s /data/rainbow-v1.1/ /data/rainbow [root@oldboy ~]# ll /data/ 总用量 0 lrwxrwxrwx. 1 root root 19 3月 10 18:58 rainbow -> /data/rainbow-v1.1/ drwxr-xr-x. 2 root root 24 3月 10 18:53 rainbow-v1.1

[图片上传失败...(image-a12e44-1583844823618)]

检查网站程序

[root@oldboy ~]# cat /data/rainbow/index.html 123

[图片上传失败...(image-206924-1583844823618)]

更新一个网站的代码

[root@oldboy ~]# mkdir /data/rainbow-v1.2 [root@oldboy ~]# echo "456" > /d data/ dev/ [root@oldboy ~]# echo "456" > /data/rainbow-v1.2/index.html

[图片上传失败...(image-6dd393-1583844823618)]

升级

[root@oldboy ~]# rm -f /data/rainbow && ln -s /data/rainbow-v1.2/ /data/rainbow [root@oldboy ~]# cat /data/rainbow/index.html

[图片上传失败...(image-9e066c-1583844823617)]

回退

[root@oldboy ~]# rm -f /data/rainbow && ln -s /data/rainbow-v1.1/ /data/rainbow [root@oldboy ~]# cat /data/rainbow/index.html 123

[图片上传失败...(image-dd0e0f-1583844823617)]

硬链接

[图片上传失败...(image-9f6634-1583844823617)]

硬链接与软链接区别

  1. ln命令创建硬链接,ln -s命令创建软链接。

  2. 目录不能创建硬链接,并且硬链接不可以跨越分区系统。

  3. 目录软链接特别常用,并且软链接支持跨越分区系统。

  4. 硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。

  5. 删除源文件及其硬链接文件,整个文件会被真正的删除。

    ln-s的用法

ln -s 真实位置 链接位置 (绝对路径)

1.软链接比较常用,特别用于代码的版本迭代与回退。 软件的升级与回退。

2.硬链接基本不用,硬链接不支持目录,也不支持跨域分区。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容