本文已参与「新人创作礼」活动,一起开启掘金创作之路。
第一章:背景知识
1.1 Linux 系统中一切皆文件
- 在 Linux 系统中任何东西都是以文件的形式来存储的,这其中不仅包括我们熟悉的文本文件、可执行文件等,还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。
1.2 Linux 的文件系统
- Linux 系统环境下的文件系统和 Windows 有很大区别。
- 在 Windows 中,每一个盘符下是一个独立的文件系统,硬盘有多少个分区就有多少个文件系统。
- 在 Linux 系统中不管创建了多少个硬盘分区都只有一个文件系统,整个文件系统的根目录是
/
,从/
出发可以找到 Linux 系统中的所有目录和文件。
.
Linux 系统中的路径
- 绝对路径:以
/
根目录开始逐层查找文件和目录。
/etc/sysconfig/network-scripts
/tmp/vmware-root/vmware-db.pl.2267
- 相对路径:以当前目录或上一级目录为基准逐层查找文件和目录。
./ # 当前目录
../ # 当前目录的上一级目录
./
如果省略不写,也表示当前目录。
-
而
/
表示的是最顶层、最上面的那个根目录,不是当前目录
。 -
除非你现在所在的位置就是根目录那里,否则
/
和./
完全是两码事。
用户的家目录
- Linux 是一个多用户系统,每个登录到系统的用户都需要有一个自己专属的目录保存自己私有的文件。
- 系统看到了这个需求,所以每创建一个用户,系统就会在
/home
目录下创建一个和用户同名的目录作为这个用户的家目录,比如:创建一个名为tom
的用户,它的家目录就是/home/tom
。
- 可以使用
~
代表用户的家目录。
- 如果是系统的超级管理员
root
,root
用户的家目录是/root
目录。
文件扩展名不敏感
- 在 windows 系统中,操作系统会负责根据文件扩展名识别文件类型,然后再根据文件类型匹配打开这种文件的应用程序,让用户不必记住大量的对应关系,用哪个直接打开就可以了。
- 但是,Linux 是一个命令行操作系统,虽然现在也有了图形化界面,但是还是以命令行为主。
- Linux 系统中通常使用命令去打开文件,而这个命令是否和文件匹配,就需要运行命令的人自己注意。