Linux 文件和目录的新建与编辑完全指南


Linux 文件和目录的新建与编辑完全指南

基础介绍

文件和目录 (Files and Directories)

在 Linux 系统中,一切皆文件。目录(Directories,也常被称为文件夹)是一种特殊的文件,用于组织和管理其他文件和目录。理解如何在 Linux 中创建、编辑文件和目录是进行系统管理和软件开发的基础。

工作原理简图:

1
2
3
4
5
文件系统根目录 (/)
├── 目录 (Directory)
│ ├── 文件 (File)
│ └── 子目录 (Subdirectory)
└── 其他目录...

在 Linux 系统中的作用:

  • 组织数据: 目录用于组织文件,方便查找和管理。
  • 权限控制: 可以为文件和目录设置不同的权限,控制用户的访问。
  • 程序运行环境: 程序的可执行文件、配置文件和数据文件通常放在特定的目录下。

常用命令

命令 参数 说明
mkdir -p (parents), -v (verbose) 创建目录。-p 用于创建多级目录,-v 显示创建过程。
touch 无常用参数 创建空文件。
rmdir -p (parents) 删除空目录。-p 用于删除多级空目录。 ⚠️ 删除目录不可恢复!
rm -r (recursive), -f (force) 删除文件或目录。-r 用于递归删除目录及其内容,-f 强制删除。 ⚠️ 强制递归删除非常危险!
cp -r (recursive) 复制文件或目录。-r 用于复制目录及其内容。
mv 无常用参数 移动或重命名文件或目录。
nano 无常用参数 一个简单的文本编辑器。
vi/vim 无常用参数 高级文本编辑器,功能强大,但学习曲线较陡峭。
cat 无常用参数 用于显示文件内容。
echo 用于在终端输出内容,常用于向文件中写入内容。
> 重定向操作符,将命令的输出写入到文件中(覆盖原有内容)。
>> 重定向操作符,将命令的输出追加到文件中。

命令使用频率:

  • mkdir: ★★★★
  • touch: ★★★☆
  • rmdir: ★★☆☆
  • rm: ★★★★
  • cp: ★★★☆
  • mv: ★★★★
  • nano: ★★★☆
  • vi/vim: ★★★★
  • cat: ★★★★
  • echo: ★★★☆
  • >: ★★★☆
  • >>: ★★★☆☆

示例代码

1. 创建目录和文件

场景: 创建一个名为 project 的目录,并在其中创建 srcdocs 两个子目录,以及一个名为 README.md 的文件。

1
2
3
4
5
6
7
8
9
10
11
# 创建 project 目录
mkdir project

# 进入 project 目录
cd project

# 创建 src 和 docs 目录,并显示创建过程
mkdir -v src docs

# 创建 README.md 文件
touch README.md

预期输出:

1
2
mkdir: created directory 'src'
mkdir: created directory 'docs'

2. 编辑文件

场景: 使用 nano 编辑器向 README.md 文件中添加一些描述信息。

1
2
# 使用 nano 编辑 README.md
nano README.md

nano 编辑器中输入以下内容:

1
2
3
# Project Title

This is a sample project.

按下 Ctrl + O 保存,然后按下 Ctrl + X 退出 nano

3. 复制和移动文件

场景:README.md 文件复制到 docs 目录下,并将 src 目录重命名为 source

1
2
3
4
5
# 复制 README.md 到 docs 目录
cp README.md docs/

# 将 src 目录重命名为 source
mv src source

4. 删除文件和目录

场景: 删除 docs 目录下的 README.md 文件,并删除空的 source 目录。

1
2
3
4
5
# 删除 docs 目录下的 README.md
rm docs/README.md

# 删除空的 source 目录
rmdir source

⚠️ 高危操作警告: 使用 rm -rf 命令可以强制递归删除目录及其所有内容,务必谨慎使用,避免误删重要数据!

5. 使用 echo 和重定向创建和编辑文件

场景: 使用 echo 命令和重定向操作符创建一个名为 config.txt 的文件,并向其中写入一些配置信息。

1
2
3
# 创建 config.txt 文件并写入配置信息
echo "database_url=localhost:5432" > config.txt
echo "username=admin" >> config.txt

解释:

  • echo "database_url=localhost:5432" > config.txt:创建一个名为 config.txt 的文件,并将 “database_url=localhost:5432” 写入该文件。如果文件已存在,则会覆盖原有内容。
  • echo "username=admin" >> config.txt:将 “username=admin” 追加到 config.txt 文件的末尾。

查看文件内容:

1
cat config.txt

预期输出:

1
2
database_url=localhost:5432
username=admin

Metadata

  • Tags: Linux, 文件管理, 目录操作, 文件编辑, 命令行, Shell
  • Categories: 系统管理, 基础操作, 命令行工具

文章作者: 达朵
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 达朵 !
  目录