第一节 为什么需要文件?
假设:你买了一台新的 Linux 服务器。
登录进去里面几乎什么都没有。
如果现在问你:
怎么保存一个配置?
怎么保存网站?
怎么保存图片?
答案就是:
文件(File)
文件不是 Linux 独有,Windows 也有。
第二节 什么是目录?
很多新手认为:目录和文件其实差不多。
实际上,Linux 看它们完全不同。
假设:
你家有一个衣柜,衣服就是文件,衣柜就是目录。
衣柜里面可以放很多衣服。目录里面,可以放很多文件,还可以放更多目录。
于是形成:
/home
└── x
├── Documents
│ ├── report.docx
│ └── notes.txt
└── Pictures
├── cat.jpg
└── dog.png
所以目录真正的作用不是存数据,而是:组织数据。
第三节 第一个创建命令:mkdir
假设你想建一个目录:
LinuxStudy
命令:
mkdir LinuxStudy
其实就是:
Make Directory。建立目录。
执行以后不会有任何输出。
如果已经存在,它才会提示:
mkdir: cannot create directory 'LinuxStudy': File exists
不要因为没有输出就觉得命令没执行。
💡 为什么 Linux 喜欢"沉默"?
这是 Unix 时代留下来的传统。
Linux 认为程序最重要的是:把真正需要关注的信息告诉你。
成功属于正常情况。没有必要一直说:
创建成功
复制成功
移动成功
否则脚本运行几千条命令,终端全是:成功。真正的错误反而看不到。
所以Linux 更喜欢:
正常情况保持安静,异常情况主动提醒。
第四节 查看结果:ls
创建完成以后怎么确认?
当然还是:
ls
例如:
mkdir LinuxStudy
ls
输出:
Desktop
Downloads
LinuxStudy
说明:
目录已经创建成功。
第五节 当前目录创建
很多人第一次学:
mkdir
都会问:到底创建在哪里?
假设当前位置:
/home/x
那么输入:
mkdir Test
实际上创建的是:
/home/x/Test
如果当前位置:
/etc
那么创建的是:
/ etc/Test
所以Linux 所有命令几乎都遵循一个原则:
如果没有写完整路径,就默认在当前目录操作。
这也是为什么上一章一直强调:
pwd
第六节 创建多级目录
假设你想创建:
LinuxStudy
└── Chapter1
└── Notes
很多人会这样:
mkdir LinuxStudy
cd LinuxStudy
mkdir Chapter1
cd Chapter1
mkdir Notes
可以。但是太慢。
Linux 有一种更聪明的方法。
mkdir -p LinuxStudy/Chapter1/Notes
什么意思?
就是:如果上一级不存在。自动创建。
💡 为什么有 -p?
因为企业里面目录可能很深。
例如:
/opt/company/project/logs/2026/June
难道一级一级建?太慢。
所以Linux 提供:
mkdir -p
一次完成。
这就是Linux 的设计理念:
让重复工作自动化。
第七节 创建文件:touch
现在目录有了。但是里面没有文件。
Linux 提供:
touch
例如:
touch notes.txt
以后:
ls
输出:
notes.txt
文件就出现了。
touch 真的是"创建文件"吗?
这里有一个有趣的知识。其实touch 最初的目的并不是创建文件。它真正的意思是:
更新文件时间戳(timestamp)
例如:文件已经存在。
执行:
touch notes.txt
不会删除。不会覆盖。只是:更新时间。
因为如果文件不存在。Linux 顺便创建一个空文件。所以后来大家都拿它来建文件。
第八节 Linux 文件为什么没有"类型"?
Windows:
你看到:
Word
Excel
图片
视频
其实Windows 是根据扩展名判断。
例如:
report.docx
知道Word。
Linux其实没有真正的"Word 文件",只有文件。
例如:
notes
没有后缀。Linux 完全可以接受。
所以:
README
LICENSE
Dockerfile
这些都没有后缀。但是都是正常文件。
这也是 Linux 和 Windows 一个很大的区别。
🏢 企业里的真实场景
假设你今天进入一家互联网公司。领导说:
创建一个新的项目目录。
真正可能做的是:
cd /home/project
mkdir backend
mkdir frontend
mkdir logs
mkdir config
或者直接:
mkdir -p backend logs config
然后创建:
touch README.md
touch .env
touch config.yaml
本章总结
今天,你学会了三个非常重要的命令:
| 命令 | 作用 | 使用频率 |
|---|---|---|
mkdir |
创建目录 | ⭐⭐⭐⭐⭐ |
mkdir -p |
创建多级目录 | ⭐⭐⭐⭐☆ |
touch |
创建空文件(或更新时间戳) | ⭐⭐⭐⭐⭐ |
更重要的是,你建立了两个思维:
- 所有相对路径操作,默认都基于当前目录。
- Linux 倾向于提供能够自动化重复工作的工具(例如
-p)。