---
url: https://eoht.net/fe/linux/file.md
description: 掌握 Linux 文件操作的基本命令，如创建、删除、复制、移动文件等。
---

# Linux 文件操作 基本文件管理命令 {#linux-file-operations}

## 查看文件内容 {#view-linux-file-content}

|                        |                                          |
| ---------------------- | ---------------------------------------- |
| `cat`                  | 由第一行开始显示文件内容                 |
| `more`                 | 一页一页的显示文件内容                   |
| `more` `空格键(space)` | 代表向下翻一页                           |
| `more` `Enter`         | 代表向下翻【一行】                       |
| `more` `f`             | 立刻显示出档名以及目前显示的行数         |
| `more` `q`             | 代表立刻离开 more , 不再显示该文件内容。 |
| `less`                 | 一页一页翻动                             |
| `less` `空格键(space)` | 向下翻动一页                             |
| `less` `pagedowm`      | 向下翻动一页                             |
| `less` `pageup`        | 向上翻动一页                             |
| `less` `q`             | 离开 less 这个程序                       |

## 创建文件 {#create-linux-file}

语法：`touch` 创建一个空白的普通文件

## 写入内容 {#write-content-to-file}

`echo` 把内容重定向到指定的文件中，有则打开，无则创建
| | |
| -------- | -------------------------------------------------------------- |
|`echo '内容'>文件名称`|覆盖模式|
|`echo '内容'>>文件名称`|追加模式|

## 复制/拷贝文件 {#copy-linux-files}

```bash
cp \[-adfilprsu\] 来源档(source) 目标档(destination)
```

|      |                                                                           |
| ---- | ------------------------------------------------------------------------- |
| `-a` | 相当于 `-pdr` 的意思                                                      |
| `-d` | 若来源档为连接档的属性 `link file`，则复制连接档属性而非文件本身；        |
| `-f` | 为强制 `force` 的意思，若目标文件已经存在且无法开启，则移除后再尝试一次； |
| `-i` | 若 `clear` 动作的进行                                                     |
| `-l` | 进行硬式连结 `hard link` 的连结档创建，而非复制文件本身；                 |
| `-p` | 连同文件的属性一起复制过去，而非使用默认属性 `备份常用`                   |
| `-r` | 递归持续复制，用于目录的复制行为：`常用`                                  |
| `-s` | 复制成为符号连接档 `symbolic link`，亦即 `捷径` 文件；                    |
| `-u` | 若 `destination` 比 `source` 旧才升级 `destination`                       |

## 移动文件 {#move-linux-files}

`mv` 可以移动文件与目录，或修改名称。

```bash
mv \[-fiu\] source destination
```

|      |                                                                |
| ---- | -------------------------------------------------------------- |
| `-f` | `force` 强制的意思，如果目标文件已经存在，不会询问而直接覆盖； |
| `-i` | 若目标文件 `destination` 已经存在时，就会询问是否覆盖；        |
| `-u` | 若目标文件已经存在，且 `source` 比较新，才会升级 `update`      |

## 删除文件 {#remove-linux-files}

`rm` 可以移除文件或目录

```bash
rm \[-fir\] 文件或目录
```

|      |                                                           |
| ---- | --------------------------------------------------------- |
| `-f` | 就是 `force` 的意思，忽略不存在的文件，不会出现警告信息。 |
| `-i` | 互动模式，在删除前会询问使用者是否动作                    |
| `-r` | 递归删除，最常用在目录的删除，此操作危险                  |

## Linux 学习路径 {#linux-learning-path}

需要回顾路径与目录命令时，可返回 [Linux 目录结构](/fe/linux/directory)；掌握文件的创建、复制、移动和删除后，下一步是 [Linux 文件权限](/fe/linux/file-permission)。
