源本科技 | 码上会

Linux 文件管理

2025/12/23
79
0

在 Linux 系统中,文件管理是指对文件和目录进行创建、修改、组织以及访问控制等一系列操作。Linux 遵循“一切皆文件”的设计哲学——不仅普通数据是文件,连硬件设备(如硬盘、键盘)和系统配置也被抽象为文件形式,从而实现统一的 I/O 接口。


Linux 中的三大文件类型

Linux 将文件分为以下三类,每类在系统中承担特定角色:

1. 普通文件

  • 最常见的文件类型,用于存储用户数据。

  • 包括:文本文件(.txt)、脚本(.sh)、程序二进制文件、图片、文档等。

  • 可通过 touch 命令创建空文件。

  • 内容可以是:

    • ASCII 文本(人类可读)

    • 二进制数据(如可执行程序)

    • 结构化数据(如数据库文件)

普通文件构成了 Linux 系统中绝大多数的文件实体。

2. 目录

  • 本质上是特殊类型的文件,用于组织其他文件和子目录,形成树状层级结构。

  • 类似于 Windows 中的“文件夹”。

  • 使用 mkdir 命令创建新目录。

  • 关键系统目录包括:

目录

说明

/

根目录,整个文件系统的起点

/home/

用户主目录(如 /home/alice

/bin/

存放基本用户命令(如 ls, cp

/boot/

启动所需的静态文件(内核、引导加载器)

3. 设备文件

  • 位于 /dev/ 目录下,代表物理或虚拟硬件设备。

  • 允许系统通过标准文件操作(读 / 写)与硬件交互。

  • 例如:

    • /dev/sda:第一块 SATA 硬盘

    • /dev/tty:终端设备

    • /dev/null:丢弃所有写入数据的“黑洞”设备

这种设计使程序员无需了解硬件细节,只需像操作普通文件一样即可控制设备。


常用文件管理命令详解

以下是 Linux 中最核心的文件操作命令及其用途:

1. 列出文件

显示当前或指定目录的内容。

$ ls
  • 默认列出文件和子目录名称。

  • 颜色编码辅助识别类型:

    • 蓝色:目录

    • 白色 / 绿色:普通文件

    • 闪烁红色:损坏或特殊文件(依终端配色而定)

详细列表模式

$ ls -l

输出示例:

-rw-r--r-- 1 alice users 1024 Dec  6 10:00 report.txt
drwxr-xr-x 2 alice users 4096 Dec  5 14:30 projects/

各字段含义:

字段

说明

-rw-r--r--

文件权限(用户 / 用户组 / 其他用户)

1

硬链接数

alice

文件所有者

users

所属用户组

1024

文件大小(字节)

Dec 6 10:00

最后修改时间

report.txt

文件名

此信息对理解文件安全性和访问控制至关重要。


2. 创建文件

创建一个空文件,或更新现有文件的时间戳。

$ touch notes.txt
  • notes.txt 不存在 → 创建空文件。

  • 若已存在 → 不改变内容,仅更新“最后修改时间”。

常用于初始化日志文件或占位符。


3. 查看文件内容

将整个文件内容输出到终端。

$ cat config.ini
  • 适合查看短小文件

  • 对于大文件,建议使用分页工具:

    • more filename:逐页向下翻

    • less filename:支持上下滚动(更强大)


4. 复制文件

复制文件或目录。

$ cp source.txt /backup/
  • source.txt 复制到 /backup/ 目录下,保留原名。

  • 若目标路径包含新文件名,则重命名:

    $ cp old.txt new.txt

注意:cp 默认不复制目录内容,需加 -r 参数递归复制整个目录。


5. 移动或重命名文件

既可用于移动文件,也可用于重命名。

移动文件

$ mv document.pdf /archive/
  • document.pdf 从当前位置移至 /archive/

重命名文件

$ mv old_name.log new_name.log
  • 文件内容不变,仅更改名称。

mv 是原子操作,在同一文件系统内非常高效。


6. 删除文件

永久删除文件。

$ rm temp.txt
  • 无法轻易恢复!Linux 默认无“回收站”机制。

  • 安全提示:可先用 ls 确认文件名,避免误删。

  • 删除目录需加 -r(递归):

    $ rm -r old_project/

强烈建议重要操作前备份,或使用 rm -i 启用交互确认模式。


文件权限与安全控制

Linux 通过权限所有权机制保障文件安全:

  • 每个文件有三个角色:

    • Owner(所有者)

    • Group(所属组)

    • Others(其他用户)

  • 每个角色拥有三种权限:

    • r(读)

    • w(写)

    • x(执行)

使用 chmod 修改权限,chown 修改所有者。

示例:

$ chmod 755 script.sh    # 所有者可读写执行,组和其他人可读执行
$ chown alice:users data.csv

重点总结

操作

命令

说明

列出文件

ls, ls -l

查看目录内容及详细信息

创建文件

touch

新建空文件或更新时间戳

查看内容

cat, less

显示文件内容

复制

cp

创建文件副本

移动 / 重命名

mv

改变文件位置或名称

删除

rm

永久移除文件

创建目录

mkdir

新建文件夹

设置权限

chmod, chown

控制访问安全


五、思考题

  1. 为什么 Linux 要把硬件设备也表示为文件?这种设计有什么优势?

  2. 执行 rm * 命令前,应如何确保不会误删重要文件?

  3. 如果你运行 ls -l 看到某文件权限为 -rwxr-x---,请问:

    • 文件所有者有哪些权限?

    • 同组用户能修改该文件吗?

    • 其他用户能否执行它?