[内容] Linux ls 命令输出结果的解析

内容一:ls 命令输出结果

# ls
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu

(补充:这里以显示文件名为 mingyuzhu 的文件)

内容二:ls 命令输出结果简介

2.1 第 1 个字母 (输出结果的第 1 段)

# ls
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
|

1) – 普通文件 (file)
2) b 块设备 (block device)
3) c 字符串 (char device)
4) d 目录 (directory)
5) l 链接文件 (link file)
6) p 管道文件 (pipe file)
7) s 套接字文件 (socket)

2.2 第 2 个到第 4 个字母 (输出结果的第 2 段)

# ls
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
 |||
2.2.1 第 2 个字母 (输出结果的第 2 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
 |

1) – 所属主没有读权限
2) r 所属主有读权限 (read)

2.2.2 第 3 个字母 (输出结果的第 2 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
  |

1) – 所属主没有写权限
2) w 所属主有写权限 (write)

2.2.3 第 4 个字母 (输出结果的第 2 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
   |

1) – 所属主没有执行权限
2) x 所属主有执行权限 (execute)
3) s 所属主有执行权限 (execute),且让所有的用户都可以执行此文件 (Set UID)
4) S 所属主没有执行权限,但让所有的用户都可以执行此文件 (Set UID)

2.3 第 5 个到第 7 个字母 (输出结果的第 3 段)

drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
    |||
2.3.1 第 5 个字母 (输出结果的第 3 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
    |

1) – 所属组没有读权限
2) r 所属组有读权限 (read)

2.3.2 第 6 个字母 (输出结果的第 3 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
     |

1) – 所属组没有写权限
2) w 所属组有写权限 (write)

2.3.3 第 7 个字母 (输出结果的第 3 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
      |

1) – 所属组没有执行权限
2) x 所属组有执行权限 (execute)
3) s 所属组有执行权限 (execute),且让所有的用户在此目录下创建的目录的所属组都和此目录相同 (Set GID)
4) S 所属组没有执行权限,且让所有的用户在此目录下创建的目录的所属组都和此目录相同 (Set UID)

(注意:目录的执行权限代表可以进入这个目录)

2.4 第 8 个到第 10 个字母 (输出结果的第 4 段)

drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
       |||
2.4.1 第 8 个字母 (输出结果的第 4 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
       |

1) – 其他用户没有读权限
2) r 其他用户有读权限 (read)

2.4.2 第 9 个字母 (输出结果的第 4 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
        |

1) – 其他用户没有写权限
2) w 其他用户有写权限 (write)

2.4.3 第 10 个字母 (输出结果的第 4 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
         |

1) – 其他用户没有执行权限
2) x 其他用户有执行权限 (execute)
3) s 所属组有执行权限 (execute),且只有创建此文件的用户和 root 用户可以删除 (Sticky Bit)
4) S 所属组没有执行权限,且只有创建此文件的用户和 root 用户可以删除 (Sticky Bit)

2.5 第 11 个字母 (输出结果的第 5 段)

drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
           ||

1) 如果是文件,则代表此文件的链接数

(注意:此链接数包含软链接数和硬链接数)

2) 如果是目录,则代表此目录内的目录数

(注意:此最低值为 2,因为每个目录都至少包含 . (1 个点代表当前目录) 和 .. (2 个点代表此目录第上级目录) 这 2 个隐藏目录)

2.6 第 11 个到第 12 个字母 (输出结果的第 5 段)

drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
              ||||||||| |||||||||
2.6.1 第 11 个字母 (输出结果的第 5 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
              |||||||||

此项目的所属主

(补充:这里的所属主显示的是 mingyuzhu)

2.6.2 第 12 个字母 (输出结果的第 5 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
                        |||||||||

此项目的所属组

(补充:这里的所属组显示的是 mingyuzhu)

2.7 第 13 个字母 (输出结果的第 6 段)

drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
                                  ||||

此项目的大小

(补充:这里显示的大小是 4.0K)

2.8 第 14 个到第 16 个字母 (输出结果的第 7 段)

drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
                                       ||| || |||||
2.8.1 第 14 个字母 (输出结果的第 7 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
                                       |||

文件最后修改的月份

2.8.2 第 15 个字母 (输出结果的第 7 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
                                           ||

文件最后修改的日期

2.8.3 第 16 个字母 (输出结果的第 7 段)
drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
                                              |||||

文件最后修改的时间

2.9 第 17 个字母 (输出结果的第 8 段)

drwxr-x--- 21 mingyuzhu mingyuzhu 4.0K Aug 29 14:34 mingyuzhu
                                                    |||||||||

文件名

[CONTENT] Linux common parameters of /etc/fstab file

/dev/vg/lv_var /var xfs nodev,nosuid,noexec 0 0
/dev/vg/lv_var_log /var/log xfs nodev,nosuid,noexec,x-systemd.requires-mounts-for=/var 0 0

(
Add:
1) nodev parameter here means this directory can not be interpreted by devices or blocks
2) nosuid parameter here means no setuid files can be created in this directory
3) noexec parameter here means no files can be executed in this directory
4) x-systemd.requires-mounts-for=/var here parameter means /var/log directory can not be mounted until /var directory has been mounted
)

[DEBUG] Linux resolve df command is stuck

Error phenomenon:

Input df command and the command is stuck
Can not us cd / command to access /(root) directory
Can not us ls / command to display /(root) directory

Analysis:

There may be some network storage disconnected

Solution:

Step One: Use mount command to check if there is any disconnected network storage here

# mount

(Add: At this moment, we can see at least one remote storage mount to local directory. If we cd to this directory, system command prompt will output target is busy)

Step Two: Use unmount command to unmount this disconnected network storage

# umount -f <nfs storage which is stuck>

Or:

# umount -l <nfs storage which is stuck>

Or:

# umount -f -l <nfs storage which is stuck>

[步骤] Linux journal 日志的永久存储

正文:

步骤一:理解 journal 日志存储机制

默认情况下,journal 的日志存储在 /run/log/journal,而 /run 目录只是一个临时目录。

将 Storage 参数设置为 persistent 后,journal 的日志将存储在 /var/log/journal,/var/log 则是一个永久的目录。

步骤二:将 journal 日志设置为永久存储

2.1 修改 /etc/systemd/journald.conf 文件

# vi /etc/systemd/journald.conf

将部分内容修改如下:

[Journal]
......
Storage=persistent
......

2.2 重启 systemd-journald 服务

# systemctl restart systemd-journald.service

参考文献:

https://linuxconfig.org/introduction-to-the-systemd-journal