当使用命令ls -l
输出的内容,分别都代表什么?下面一一来介绍
$ ls -l
total 21
lrwxrwxrwx. 1 root root 7 1月 10 2022 bin -> usr/bin
drwx------ 7 root root 4096 7月 27 14:56 boot
drwxr-xr-x 8 root root 4096 7月 27 14:56 data
drwxr-xr-x 20 root root 4640 8月 11 10:08 dev
drwxr-xr-x. 146 root root 12288 8月 12 10:12 etc
drwxr-xr-x. 3 root root 4096 7月 25 10:38 home
lrwxrwxrwx. 1 root root 7 1月 10 2022 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 1月 10 2022 lib32 -> usr/lib32
lrwxrwxrwx. 1 root root 9 1月 10 2022 lib64 -> usr/lib64
lrwxrwxrwx. 1 root root 10 1月 10 2022 libx32 -> usr/libx32
...
lrwxrwxrwx. 类似这种,代表的是文件属性
文件属性概括起来,包含下面的这些
# b开头的为块设备文件,可以提供存储的接口
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 8月 8 09:13 /dev/sda
# c开头的为串口文件,例如键盘鼠标tty等设备
$ ls -l /dev/tty
crw-rw-rw- 1 root tty 5, 0 8月 12 13:26 /dev/tty
# l开头的则是软连接文件
$ ls -l /bin
lrwxrwxrwx. 1 root root 7 1月 10 2022 /bin -> usr/bin
# d开头的是目录
$ ls -l /home
drwxr-x---. 30 test test 4096 8月 12 15:02 test
# -开头的代表文件
$ ls -l /etc/rsyslog.conf
-rw-r--r--. 1 root root 2105 1月 20 2021 /etc/rsyslog.conf
# s开头socket 文件
$ ls -l /tmp/mysql.sock
sr--r--r-- 1 mysql mysql 4013 1月 14 2022 /tmp/mysql.sock
# p开头的管道文件,运维的话,不是很常见,有小伙伴知道可以私信我,添加到文章中
最常见的3中就是 文件,目录,软连接这三种文件
细心的同学会看到,文件属性最后有的文件存在一个“.”,他代表的是selinux
未关闭之前生成的文件,受selinux权限影响。
同理,没有"."的则不会受到selinux影响。
表示目录文件里面包含的目录文件数(包括普通目录文件和隐藏目录文件);如果是文件,则表示该文件的链接数
所属用户(owner)
所属组(group)
所有者和所属组 可以使用chown 命令来修改 例如 chown mysql.mysql /tmp/mysql_logfile.log
文件大小,以字节为单位
ls -lh
命令 则会根据文件大小,变为可读性较高的M,G等
文件的mtime 也就是文件的修改时间