LINUX / SPACE MAP返回博客

/一切皆文件

Linux 不是一张命令清单,而是一片有结构的空间。拖拽、缩放并进入目录,用命令聚光灯理解系统。

DRAG TO PAN / WHEEL TO ZOOM / CLICK TO INSPECT
root@linux:/#
FHS

把命令放进空间里理解

$ root@songhahaha:~# pwd
/root
root@songhahaha:~# ls -la
drwx------ root root .

三个先建立的心智模型

命令

ps aux 产生进程列表。

管道

| 把输出送入下一个程序。

过滤

grep nginx 只留下关心的行。

权限不是魔法数字

读为 4,写为 2,执行为 1。755 表示所有者拥有全部权限,组和其他用户可读、可执行。

chmod 755 script.sh
chown user:group file
usermod -aG docker user
sudo systemctl restart nginx

Complete article

完整原文

文字、链接、图片、表格与代码均保留 开始阅读

文件系统

目录结构

Linux 的目录结构遵循 FHS(Filesystem Hierarchy Standard,文件系统层次结构标准),常见的顶级目录及其作用如下:

PLAINTEXT
├── bin        # 二进制可执行文件(普通用户常用命令,如 ls, cp)
├── boot       # 启动文件(如内核 vmlinuz、GRUB 引导程序)
├── dev        # 设备文件(如 /dev/sda 硬盘,/dev/null)
├── etc        # 配置文件(系统和服务的配置,如 /etc/passwd)
├── home       # 普通用户的主目录(如 /home/user)
├── lib        # 共享库和内核模块(32 位系统的库)
├── lib64      # 64 位系统的共享库
├── media      # 可移动介质挂载点(如 USB 设备、光盘)
├── mnt        # 临时挂载点
├── opt        # 可选软件包(如第三方应用)
├── proc       # 进程和系统信息的虚拟文件系统(如 /proc/cpuinfo)
├── root       # root 用户的主目录
├── run        # 运行时数据(如 PID 文件、Socket)
├── sbin       # 系统管理命令(如 fdisk, reboot,仅 root 可用)
├── srv        # 服务相关数据(如 Web 服务器数据)
├── sys        # 系统信息的虚拟文件系统(如 /sys/class)
├── tmp        # 临时文件(重启后可能会清除)
├── usr        # 用户级应用程序和库(类似 /usr/bin, /usr/lib)
│   ├── bin    # 用户程序(如 gcc, python)
│   ├── lib    # 共享库文件
│   ├── local  # 本地安装的软件(如 /usr/local/bin)
│   ├── share  # 共享数据(如 /usr/share/man)
├── var        # 可变数据(如日志 /var/log, 邮件 /var/mail)

重点目录

路径

绝对路径

从根目录 / 开始,完整地指定文件或目录的位置。 例如:

BASH
/home/user/documents/file.txt
/etc/nginx/nginx.conf

相对路径

基于当前目录(pwd 查看当前目录)。 常用符号:

BASH
cat ./file.txt   # 等同于 cat file.txt

上一级目录的文件:

BASH
cd ..            # 返回上一级目录
ls ../docs       # 列出上一级目录下 docs 文件夹中的内容

用户主目录的文件:

BASH
cd ~             # 进入当前用户的主目录
ls ~/Downloads   # 查看主目录的 Downloads 文件夹

命令行

命令行提示符

命令行提示符是用户与操作系统交互的界面,通常显示当前用户、主机名和当前目录。

命令行提示符的组成部分

例如

BASH
root@songhahaha:~# 

root@songhahaha:~# 是一个 Linux 命令行提示符(prompt),它包含了以下几个部分:

总结:

管道

管道是一种将一个命令的输出作为另一个命令的输入的机制。

BASH
ls -l /etc | grep passwd
BASH
ps aux | grep process_name

ps aux

|:管道符,用于将前一个命令的输出传递给后一个命令。

grep process_name

在这里,grep process_name 会查找所有包含 process_name 的行,即过滤出包含指定进程名称的进程信息。

重定向

重定向是一种将命令输出重定向到文件或设备的方法。

输出重定向:

BASH
ls -l /etc > output.txt

或者

BASH
ls -l /etc >> output.txt

输入重定向:

BASH
cat < input.txt

错误重定向:

BASH
ls -l /etc 2> error.txt # 将错误信息输出到 error.txt 文件中
ls -l /etc 2>> error.txt # 将错误信息追加到 error.txt 文件中

同时重定向标准输出和标准错误:

BASH
command &> output.txt

后台运行

在命令后面加上 & 符号,可以使命令在后台运行。

BASH
command &

nohup 命令可以使命令在后台运行,并且即使退出终端也不会停止。

BASH
nohup command &

基础命令

常见命令

权限和用户管理

进程管理