[内容] 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
                                                    |||||||||

文件名

[步骤] Linux 应用可自动随机使用的 IPv4 端口号范围的设置

步骤一:查看应用可自动随机使用的 IPv4 端口号范围

1.1 方法一:查看 /proc/sys/net/ipv4/ip_local_port_range

# cat /proc/sys/net/ipv4/ip_local_port_range
32768 65536

(补充:从这里的输出结果可以看出应用可自动随机使用的 IPv4 端口号是从 32768 到 65536)

1.2 方法二:查看 sysctl 参数

# sudo sysctl -a | grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 65536

(补充:从这里的输出结果可以看出应用可自动随机使用的 IPv4 端口号是从 32768 到 65536)

步骤二:设置应用可随机自动使用的 IPv4 端口号范围

2.1 临时设置应用可自动随机使用的 IPv4 端口号范围

# echo "32768 65536" > /proc/sys/net/ipv4/ip_local_port_range

(补充:这里以设置应用可自动随机使用的 IPv4 端口号是从 32768 到 65536 为例)

2.2 永久应用应用可自动随机使用的 IPv4 端口号范围

2.2.1 修改 /etc/sysctl.conf 文件

# vim /etc/sysctl.conf

添加以下内容:

......
net.ipv4.ip_local_port_range = 32768 65536

(补充:这里以设置应用可自动随机使用的 IPv4 端口号是从 32768 到 65536 为例)

2.2.2 让刚刚修改的 /etc/sysctl.conf 文件里的参数生效

# sysctl -p

[步骤] 系统升级 (从 Fedora 39 升级到 Fedora 40)

步骤一:升级所有已安装的软件

# sudo dnf update

步骤二:安装 Fedora 升级软件

# sudo dnf install dnf-plugin-system-upgrade

步骤三:刷新所有现有版本的软件源

# sudo dnf upgrade --refresh

步骤四:下载升级所有所需的软件

# sudo dnf system-upgrade download --releasever=40

步骤五:重启并升级系统

# sudo dnf system-upgrade reboot

(注意:系统会重启,并在后台升级系统,这个步骤可能会持续很长一段时间,根据虚拟机的硬件性能而定)

[步骤] Linux 远程图形界面的安装 (Ubuntu 版)

注意:

安装图形界面的 Ubuntu 需要满足的条件 (否则系统会变得很卡)

处理器

必须:2 核及以上

建议:4 核及以上

内存

必须:2G 及以上

建议:4G 及以上

硬盘

必须:20G 及以上

建议:30G 及以上

网络

和要连接它的客户端之间网络延迟低且宽带够高,建议选择地理位置较近的网络直连机房

正文:

步骤一:更新 Ubuntu 系统

1.1 更新 Ubuntu 系统的软件源

# sudo apt update

1.2 更新 Ubuntu 系统

# sudo apt upgrade

步骤二:安装 Linux 图形界面 (注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.1 安装 Linux 图形界面的选择一:安装完整的 Ubuntu GNOME 桌面 (推荐)

# sudo apt install ubuntu-gnome-desktop


注意:
1) 步骤 2.1 到步骤 2.6 只用执行其中之一
2) 安装完整的 Ubuntu GNOME 桌面是推荐选择

2.2 安装 Linux 图形界面的选择二:安装最新小化的 Ubuntu GNOME 桌面 (不推荐)

# sudo apt install ubuntu-desktop-minimal

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.3 安装 Linux 图形界面的选择三:安装香草版本的 (原味) 的 GNOME 桌面 (不推荐)

# sudo apt install vanilla-gnome-desktop

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.4 安装 Linux 图形界面的选择四:安装最小化的香草版本的 (原味) 的 GNOME 桌面 (不推荐)

# sudo apt install gnome-session gnome-terminal

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.5 安装 Linux 图形界面的选择五:安装轻量级的 lxde 桌面 (不推荐)

# sudo apt-get install lxde

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

2.6 安装 Linux 图形界面的选择六:安装轻量级的 xfce 桌面 (不推荐)

# sudo apt install xfce4 xfce4-goodies

(注意:步骤 2.1 到步骤 2.6 只用执行其中之一)

步骤三:安装 Linux 图形远程服务 (注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1 安装 Linux 图形远程服务的选择一:安装 NoMachine 远程连接工具 (推荐)

3.1.1 下载 NoMachine 远程连接工具 (推荐)
# wget https://download.nomachine.com/download/8.13/Linux/nomachine_8.13.1_1_amd64.deb

(补充:这里以下载 64 位的 8.13.1_1 版本的 NoMachine 远程连接为例)

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1.2 安装 NoMachine 远程连接工具 (推荐)
# sudo dpkg -i nomachine_8.13.1_1_amd64.deb

(补充:这里以安装 64 位的 8.13.1_1 版本的 NoMachine 远程连接为例)

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1.2 在系统防火墙上开放 NoMachine 远程连接工具使用的端口 (推荐)
# ufw allow 4000

(补充:这里以 Ubuntu 的默认翻过墙 ufw 开放 NoMachine 远程连接工具默认使用的 4000 端口为例)

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.1.3 在使用 NoMachine 客户端远程连接 Linux (推荐)

参考:https://www.nomachine.com/

(注意:步骤 3.1 到步骤 3.2 只用执行其中之一)

3.2 安装 Linux 图形远程服务的选择二:安装 xrdp 远程连接工具 (不推荐)

3.2.1 安装 xrdp 远程工具 (不推荐)
# sudo apt install xrdp -y

(补充:xrdp 使用的是 Remote Desktop Connection (RDC) 协议,默认端口是 3389,所以可以直接使用 Microsoft Terminal Services Client (MSTSC) 进行连接)


注意:
1) 步骤 3.1 到步骤 3.2 只用执行其中之一
2) xrdp 协议对 Linux 的音频兼容性不高,可能会没有声音

3.2.2 在系统防火墙上开放 xrdp 远程连接工具使用的端口 (不推荐)
# ufw allow 3389

(补充:这里以 Ubuntu 的默认翻过墙 ufw 开放 NoMachine 远程连接工具默认使用的 3389 端口为例)


注意:
1) 步骤 3.1 到步骤 3.2 只用执行其中之一
2) xrdp 协议对 Linux 的音频兼容性不高,可能会没有声音

3.2.3 使用 xrdp 客户端远程连接 Linux (不推荐)

Windows 系统可以直接使用 mstsc 工具连接
Mac 系统可以下载、安装并使用 Microsoft Remote Desktop 工具连接


注意:
1) 步骤 3.1 到步骤 3.2 只用执行其中之一
2) xrdp 协议对 Linux 的音频兼容性不高,可能会没有声音

步骤四:添加中文输入法

4.1 在系统中添加中文

依次点击或勾选以下按键或选项

Settings --> Region & Language --> Manage Installed Languages --> Install/Remove Language --> Chinese(Simplified) --> Apply --> Apply System-Wide 

4.2 重启系统

(步骤略)

4.3 在系统中添加中文输入法

依次点击或勾选以下按键或选项

Settings --> Keyboard --> + Chinese(Intelligent Pinyin)

步骤五:安装火狐浏览器官方已经创建好了的火狐浏览器文件版 (用于解决系统自带火狐浏览器显示乱码的问题)

5.1 在火狐浏览器官网上下载文件版的火狐浏览器

(步骤略)

5.2 进入下载目录

? cd ~/Downloads

5.3 解压下载的火狐浏览器压缩包

? tar xjf firefox-*.tar.bz2

5.4 删除解压后的火狐浏览器压缩包

? rm firefox-*.tar.bz2 

5.5 将解压后的火狐浏览器文件版移动家目录的根目录下

? mv firefox ~/firefox

5.6 创建启动火狐浏览器文件版的快捷方式

? ln -s ~/firefox/firefox ~/firefox-go

5.7 此时双击家目录里的 firefox-go 图标就可以启动文件版的火狐浏览器

(步骤略)

5.8 在火狐狸浏览器把所有的安全设置设置到最严重

(步骤略)

(注意:安全的 DNS (Secure DNS) 在某些地方强制开启以后,浏览器就无法上网了)

参考文献:

https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04
https://bytexd.com/how-to-install-gnome-desktop-in-ubuntu/
https://support.mozilla.org/en-US/kb/install-firefox-linux?_gl=1*1if3s8q*_ga*MTAyODgyNTcyNi4xNzIzNTU1MDkx*_ga_MQ7767QQQW*MTcyMzU2MjY3MS4xLjEuMTcyMzU2MjcyMC4wLjAuMA..#w_install-firefox-deb-package-for-debian-based-distributions