操作文件
约 1002 字大约 3 分钟
2026-09-30
这一章集中列出 Linux 中最常用的文件操作,可以顺序阅读,也可以在需要时直接查询。
命令中的“来源”和“目标”都可以写成绝对路径或相对路径。执行前如果不确定当前位置,可以先使用 pwd;不确定目录中有什么,可以先使用 ls。
创建
| 需求 | 命令 | 说明 |
|---|---|---|
| 创建目录 | mkdir notes | 创建名为 notes 的目录 |
| 连同缺少的上级目录一起创建 | mkdir -p project/src | -p 会自动创建不存在的中间目录 |
| 创建空文件 | touch todo.txt | 如果文件已存在,只更新时间,不会清空内容 |
复制、移动与重命名
cp 和 mv 的基本结构都是“来源在前,目标在后”:
cp 来源 目标
mv 来源 目标| 需求 | 命令 | 说明 |
|---|---|---|
| 复制文件 | cp a.txt b.txt | 将 a.txt 复制为 b.txt |
| 复制到另一个目录 | cp a.txt notes/ | 文件名保持不变 |
| 复制整个目录 | cp -r notes notes-backup | -r 表示递归复制目录中的内容 |
| 移动文件 | mv a.txt notes/ | 将文件移动到 notes 目录 |
| 重命名文件 | mv old.txt new.txt | 移动到同一目录下的新名字,即为重命名 |
如果目标位置已经有同名文件,cp 和 mv 可能直接覆盖它。加上 -i 选项,可以让程序在覆盖前询问:
cp -i a.txt b.txt
mv -i a.txt b.txt查看文件
| 需求 | 命令 | 适用情况 |
|---|---|---|
| 查看文件类型 | file report.pdf | 不确定文件是什么格式时 |
| 显示全部内容 | cat notes.txt | 较短的文本文件 |
| 分页查看内容 | less long.log | 较长的文本或日志 |
| 查看开头 | head data.csv | 快速确认文件结构 |
| 查看结尾 | tail server.log | 查看最新的日志内容 |
| 持续查看新增内容 | tail -f server.log | 观察正在运行的程序所写的日志 |
在 less 中,可以使用方向键或 Page Up、Page Down 翻页,按 / 搜索,按 q 退出。
编辑文本文件
服务器上不一定有图形界面的编辑器。对初学者而言,nano 的操作最直接:
nano config.txt| 操作 | nano 快捷键 |
|---|---|
| 保存 | Ctrl + O,再按回车确认文件名 |
| 退出 | Ctrl + X |
| 搜索 | Ctrl + W |
nano 底部显示的 ^O、^X 中,^ 代表 Ctrl 键。
如果系统中只有 Vim,最少需要知道下面几个操作:
| 操作 | Vim 按键 |
|---|---|
| 开始编辑 | 按 i |
| 停止编辑 | 按 Esc |
| 保存并退出 | 按 Esc,输入 :wq,再按回车 |
| 放弃修改并退出 | 按 Esc,输入 :q!,再按回车 |
删除
| 需求 | 命令 | 说明 |
|---|---|---|
| 删除文件 | rm file.txt | 删除单个文件 |
| 删除空目录 | rmdir empty-dir | 目录不为空时会拒绝删除 |
| 删除目录及其内容 | rm -r old-project | 递归删除目录中的全部内容 |
| 删除前询问 | rm -i file.txt | 适合不确定时使用 |
rm 通常没有回收站
在终端中被 rm 删除的内容通常无法简单恢复。删除前应确认三件事:
- 用
pwd确认当前工作目录。 - 用
ls确认目标名称和内容。 - 再次检查命令中的路径是否正确。
rm -rf 会递归删除目标并跳过确认。不要复制执行自己没有完全理解的 rm -rf 命令,更不要对 /、~ 或陌生目录使用它。
常用的 ls 选项
ls 不只是列出文件名。下面几个选项在查询文件时经常使用:
| 命令 | 作用 |
|---|---|
ls -l | 显示权限、所有者、大小和修改时间等详细信息 |
ls -a | 包含以 . 开头的隐藏文件 |
ls -h | 与 -l 配合,将大小显示为 KB、MB、GB 等易读格式 |
ls -la | 组合多个短选项,详细显示所有文件 |
ls -lh /path | 详细查看指定路径,并使用易读的文件大小 |
多个短选项通常可以合并。例如,ls -l -a 可以简写为 ls -la。
贡献者
更新日志
2026/9/30 07:24
查看所有更新日志
65efd-docs(linux): add introductory Linux guide于
