大兔包子叨叨叨--Linux篇(六)--目录结构
小兔包子:大包大包,怎么我重新启动后客户端就连不上了呢?
大兔包子:是滴,现在的版本默认网卡是不会开机自启动的,可以通过修改文件内属性的方式让他开机自启动,这个我们后面会介绍,现在就打一条指令ifup eth0就可以了。
那我们接着聊咱们的Linux,对于习惯使用Windows的人来说,刚开始接触Linux是很麻烦的事情,这个麻烦我觉得主要体现在三点上:
一、目录结构的变化,和Windows有一定差距;
二、鼠标基本被抛弃,指令集模式,键盘交互;
三、各种命令,都需要去学习和练习;
首先我们今天就来聊聊Linux的目录结构,经常使用Windows的人肯定对C:盘,D:盘这些基础盘更熟悉,然后才是这些盘下面不同的文件夹,文件夹内的内容...
这里可以把Linux的目录结构想象为只有一个基础盘,这个基础盘就所谓的根目录/,对,就是一个杠,他是Linux中所有目录的起始位置,就像无论你在C:盘中找什么内容,开头肯定是C:一样。
Linux的目录本身采用树形结构,我们上面提到的根目录/,就是这棵树的根部。
从根目录开始,我们往下还会有他的子目录,而子目录还可以有子目录,就像上面这样。
这里我们会发现到Linux中我们经常提目录,而在Windows中我们总说文件夹,一开始的时候我们可以把他们当做是一个东西,只不过称呼习惯不同罢了。
就像Windows系统安装完成后会自带一些基础文件夹一样,Linux系统安装完成后也会自带一部分基础目录,我们登陆成功后直接打ls /就可以看到这些目录。
那我们就来聊聊这些基础目录。
/根目录
根目录位于文件系统的最顶层(根部),用斜线/表示。它是所有文件和目录的起始位置,因此可以说它包含了所有的目录和文件。
/bin目录
也称为二进制目录,包含了那些供系统管理员和普通用户使用的重要的Linux命令的二进制(可执行)镜像。
bin是binary的缩写,也就是说这个目录中都是二进制文件,或者我们称呼为二进制命令,我们之后见到bin都应该联想到,这样的目录往往都是二进制的可执行文件。
/dev目录
设备目录,存放连接到计算机上的设备的对应文件。这些文件实际上是访问外部设备的端口,Linux系统通过这样的方式使得访问外部设备就像访问一个文件或一个目录一样。
/etc目录
配置文件目录,存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件,文件系统、用户信息等。
/etc目录不包含任何二进制文件,这个目录主要由管理员使用;普通用户对大部分文件仅有读权限。
/home目录
用户的基本目录,也称之为家目录。如果建立一个名为xx的用户,那么默认情况下,会在/home目录下多出一个对应的/home/xx目录,作为该用户的家目录。
/root目录
root用户的家目录。root为Linux系统自带的管理员账号,/root目录为root用户的家目录。
/lib目录
/lib目录存放了各种编程语言库,包括库文件和kernel模块,几乎所有应用程序都会用到该目录下的共享库文件。
/mnt目录
主要用来临时装载文件系统,可以理解为文件系统中预留出的外部存储设备的默认挂载点,如光驱,U盘等。
/sbin目录
用来存放系统管理员的二进制系统管理程序文件,s即system缩写。
/usr
/usr目录是Linux文件系统最大的一部分,要用到的应用程序和文件几乎都放在这个目录下。usr并非user的缩写而是unix system resource的缩写。
/tmp目录
/tmp目录用来存放不同程序执行时产生的临时文件。一些命令和应用程序要用到该目录。也可以用该目录存放一些临时文件。该目录中的文件会被定期删除,以保证磁盘不会被临时文件塞满。
/var目录
/var目录是系统在工作时预先设置的工作目录,如各种服务的日志文件和手法的邮件等。
/var目录用于放置变量数据(当系统运行时这些数据不断变化)。
以上就是一些会经常用到的Linux的目录,了解这些目录的名称和作用,对于后面的进一步了解Linux有很大的帮助。
大肚子:有点多~~~
大兔包子:这可能就是Linux的门槛吧,学习Linux的代价确实要比Windows高很多,但公司的服务器基本上都是Linux或者Unix系统的,这是绕不开的,所以加油吧。
而且刚开始学习的时候我们可以简单记忆,比如带bin目录里就是二进制命令,etc里就是配置文件,dev里就是设备文件,home里就是家目录,lib里就是库文件,usr里就是各种系统资源。
至于更深层的目录和各种目录的具体作用,随着对Linux的逐渐了解,我们逐步记忆就是了。
说了这些基本目录的时候,会发现我们都会在目录前加上我们的根目录/,比如etc我们会写成/etc。
这就是我们要说的绝对目录和相对目录的问题了,在Linux中基本各处都存在这绝对目录和相对目录的问题,所以一定要搞明白这两个基本概念,否则很多时候你打完的指令会出现各种问题。
绝对路径
均以/根目录为起始点,从根目录一级级向下查找。
起始点固定,不易发生歧义
比较死板,查询级数较多
不需要考虑当前所在目录位置
相对路径
以当前所在目录为起点,开始查找
需要考虑当前所在目录位置
起始点不固定,容易产生歧义
使用灵活,查找方便
比如说以目录/a/b/c为例,根目录下有a目录,a目录下有b目录,b目录下有c目录
cd是改变所在目录的指令,我们可以通过cd命令移动到任意目录,比如 cd /启动到根目录下
如果是使用绝对路径的方式的话,无论你当前处于哪个目录,想要移动到c目录的话,只需要
cd /a/b/c
就可以直接移动c目录下,因为绝对目录是不考虑当前目录的,就是从根目录开始查找
而如果是以相对路径的方式的话,比如你当前处于b目录下,则
cd c
因为b目录下直接就是c目录,只需要直接移动到c目录即可,
而如果所在目录是a目录,则
cd b/c
可见相对目录的书写方式更灵活,但需要考虑当前所在位置。
理解并熟悉绝对路径和相对路径是必须的,因为后面我们会发现Linux指令中大批量的涉及到路径的问题。
~~~~未完待续
版权说明:本文为博主myfelix1925原创,转载请注明出处。https://blog.****.net/myfelix1925/article/details/80505426