跳转至

文件系统

文件结构

与 Windows 不同(Windows 中每个盘符如 C:、D: 都是一棵独立的树),Linux 只有一个根目录,用斜杠 / 表示,所有其他文件和目录都在这个根目录下。

系统目录

  • /bin (Binaries)

    • 存放二进制可执行文件,也就是常用的命令。
    • 这里存放的是所有用户(包括普通用户和 root 用户)都能使用的命令,例如 ls(列出文件)、cp(复制)、cd(切换目录)等。
  • /boot

    • 存放启动系统所需的核心文件。
    • 包括 Linux 内核、引导加载程序(如 GRUB)的配置文件等。通常不要随意修改这里的文件。
  • /dev (Devices)

    • 存放设备文件
    • 在 Linux 中,“一切皆文件”,硬盘、键盘、鼠标、USB 等硬件都以文件的形式存在这里。例如 /dev/sda 通常代表第一块硬盘。
  • /etc

    • 存放系统配置文件
    • 这是管理员最常打交道的目录之一。绝大多数软件和服务的配置文件都在这里(例如网络配置、用户列表、软件设置等)。注意,这里通常没有普通的二进制程序,只有文本配置文件。
  • /lib & /lib64 (Libraries)

    • 存放系统库文件
    • 这些文件类似于 Windows 中的 .dll 文件,是 /bin/sbin 下的程序运行时必须依赖的代码库。
  • /sbin (System Binaries)

    • 存放系统二进制可执行文件
    • 这里的命令通常是供系统管理员使用的,用于系统维护或管理,例如 fdisk(分区工具)、ifconfig(网络配置)、reboot(重启)等。

用户与程序

  • /home

    • 存放普通用户的个人主目录
    • 类似于 Windows 的 C:\Users\用户名。如果你创建了一个用户名为 alice,她的个人文件就会放在 /home/alice 中。这里存放用户的文档、下载、桌面、配置文件等。
  • /root

    • 超级用户的主目录
    • 这不是根目录 /,而是 root 用户的的主目录。为了安全起见,普通用户通常没有权限访问这里。
  • /opt (Optional)

    • 存放可选的第三方软件包
    • 有些大型商业软件或自行编译的软件习惯安装在这里,而不是默认的系统程序目录中。
  • /usr (Unix System Resources)

    • 存放用户安装的软件和系统资源
    • 通常通过 apt install 安装的软件,大部分程序文件会放在 /usr/bin,库文件放在 /usr/lib
      • /usr/bin: 绝大多数用户应用程序(如 Firefox、Python、Gedit)。
      • /usr/lib: 程序所需的库文件。
      • /usr/share: 共享数据,如图标、字体、文档、帮助文件。

临时与运行时

  • /tmp (Temporary)

    • 存放临时文件
    • 系统或用户在运行程序时产生的临时文件会放在这里。系统重启时,这个目录下的文件通常会被自动清空。
  • /var (Variable)

    • 存放经常变化的文件
    • 这里的内容在系统运行期间会不断改变。
      • /var/log: 系统日志文件(记录系统发生了什么)。
      • /var/www: 网站服务器文件(如果你搭建了网站)。
      • /var/spool: 打印任务、邮件队列等。

挂载与外部设备

  • /mnt (Mount) & /media
    • 用于挂载外部设备(如 U 盘、移动硬盘、光盘)。
    • /media 通常用于自动挂载(当你插入 U 盘时,系统会自动在这里创建一个文件夹)。
    • /mnt 通常用于管理员手动挂载设备。

系统信息目录(虚拟文件系统)

  • /proc & /sys
    • 这两个目录并不存在于硬盘上,它们是内存中的映射
    • 它们包含系统和内核的实时信息(如 CPU 信息、内存使用情况、已加载的驱动程序)。你可以读取这些文件来查看系统状态,但不能直接编辑它们来保存设置。

查看存储容量

df 是最常用的查看磁盘使用情况的命令。添加 -h 参数可以使输出更易读(人性化格式显示,以 GB、MB 等单位显示):

df -h

输出示例:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   10G   9G  53% /
tmpfs           448M     0  448M   0% /dev/shm

使用 du 命令可以查看特定目录的磁盘占用情况。例如,查看当前目录:

du -sh