学习Linux运维的个人笔记:文件属性,类型及链接文件(九)

一、文件属性

  • 例:
-rw-r--r--. 1 root root  31 Mar  9 09:56 123.txt
#  -                   1.文件类型
#  rw-r--r--           2.权限
#  1                   3.表示硬链接数
#  root                4.这个文件的拥有人是谁(个人)
#  root                5.这个文件的拥有组是谁(家庭)
#  31                  6.文件大小
#  Mar 9 09:56         7.文件创建或修改时间
#  123.txt             8.文件的名称

二、文件类型

  • 例:
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
——————————————————————————————————————————————————————
#  -          表示是一个文件(普通文件,脚本文件,压缩文件,命令文件)
#  s          Socket,进程与进程之间的通讯协议
#  c          字符设备(终端,键盘)
#  b          块设备(磁盘)
#  l          软连接(快捷方式)
#  d          表示一个目录
  • 如何更精准的判断是一个什么类型的文件?
file /home/file3.txt 
/home/file3.txt: ASCII text
#  file命令可以判断文件类型更准确(mp4 sh zip txt log......)
#  ll是看文件类型的

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

  • 软连接
    ln+s+源文件路径+新路径=软连接创建成功
  • 例:
#准备1.1版本 
mkdir /data/rainbow-v1.1
echo '123' > /data/rainbow-v1.1/1.txt 
#创建软连接并检查
ln -s /data/rainbow-v1.1/ /data/rainbow
ll /data/
total 0
lrwxrwxrwx. 1 root root 19 Mar 10 15:58 rainbow -> /data/rainbow-v1.1/
drwxr-xr-x. 2 root root 19 Mar 10 15:57 rainbow-v1.1
#查看软连接
cat /data/rainbow/1.txt
123
#更新1.2版本
mkdir /data/rainbow-v1.2
echo '123456' > /data/rainbow-v1.2/1.txt
#替换版本并检查软连接
rm -f /data/rainbow && ln -s /data/rainbow-v1.2/ /data/rainbow
cat /data/rainbow/1.txt
123456
#回退版本
rm -f /data/rainbow && ln -s /data/rainbow-v1.1/ /data/rainbow
cat /data/rainbow/1.txt 
123

软连接

  • 硬链接与软链接区别
  1. ln命令创建硬链接,ln -s命令创建软链接。
  2. 目录不能创建硬链接,并且硬链接不可以跨越分区系统。
  3. 目录软链接特别常用,并且软链接支持跨越分区系统。
  4. 硬链接文件与源文件的inode相同,软链接文件与源文件inode不同。
  5. 删除源文件及其硬链接文件,整个文件会被真正的删除。
  • inode和Block
    在这里插入图片描述

四、习题记录

  • 使用awk取出系统的IP地址,思路如下:
  1. 我要取的IP值在哪里 ifconfig yum install net-tools -y
  2. 如何缩小取值范围(行)
  3. 如何精确具体内容(列)
    方式1:
ifconfig eth0 | head -2 | tail -1 | awk '{print $2}'
	172.16.1.53

方式2:

ifconfig eth0 | grep "netmask" | awk '{print $2}'
	172.16.1.53

方式3:

ifconfig eth0 | awk '/netmask/ {print $2}'
	172.16.1.53

方式4:

ifconfig eth0 | sed -n '/netmask/p' | awk '{print $2}'
	172.16.1.53

方式5:

ifconfig eth0 | sed -n '2p' | sed -r 's#(^.*et )(.*)(net.*$)#\1#g'
	inet
ifconfig eth0 | sed -n '2p' | sed -r 's#(^.*et )(.*)(net.*$)#\2#g'
	172.16.1.53
ifconfig eth0 | sed -n '2p' | sed -r 's#(^.*et )(.*)(net.*$)#\3#g'
	netmask 255.255.255.0  broadcast 172.16.1.255
发布了34 篇原创文章 · 获赞 10 · 访问量 2329

猜你喜欢

转载自blog.csdn.net/weixin_44903608/article/details/104775614
今日推荐