Linux系统目录结构介绍

一、目录结构

Linux系统的目录结构是一颗倒状树:
在这里插入图片描述
“/”表示最顶层的目录,叫做根目录。

(1)pwd可以显示当前所在的目录。

(2)cd可以切换当前的目录,例如,cd /是进入根目录下,注意命令和参数之间有一个空格。这里的“/”表示的是分隔符。

(3)ls可以显示当前目录下的所有文件。

通过终端显示当前目录下的所有文件:

在这里插入图片描述

通过图形化界面显示当前目录下的所有文件:

在这里插入图片描述

(4)如何表示一个绝对路径:

例如,现在要表示下图中man的路径

在这里插入图片描述

应该这样表示:/usr/local/man

(5)相对路径的表示

例如:

在这里插入图片描述
这里进入home文件夹,然后显示home文件夹中的所有文件,这里显示home文件夹中有一个stu文件,这里显示出来的stu前面没有加任何路径,此时stu就称为相对路径。

(6)清屏命令——clear

把当前窗口的内容都清除掉。

二、常见目录说明

1./bin 存放常用命令

命令就是一个可执行程序,cd、ls等都是命令

2./lib 存放库文件

例如,printf是一个库函数,它的实现在c库中。c库就存放在lib下。

3./home 所有普通用户的家目录

4./root 管理员用户的家目录

管理员的家目录并不在/home下面,而是在/root。

5./boot 系统内核及启动有关的文件

6./etc 存放系统的配置文件

7./proc 虚拟文件系统目录,以进程为单位存储内存的映射

8./usr 存放系统应用程序及文档

9./dev 存放设备文件

10./mnt 临时挂载点

11./tmp 存放各种临时文件,是所有用户均可访问的地点

12./var 存放系统运行中常改变的文件,如系统日志

三、家目录的概念

假如有两个用户普通用户stu1和stu2,这两个用户如果的同时登录,我们不希望stu1创建的文件被stu2看到甚至去修改它,我们期望每个用户能够拥有自己对自己文件操作的权限,而其他用户不拥有。

1.在/home文件夹下创建stu1和stu2两个文件夹,把stu1创建的所有文件都存放到stu1文件夹下,这个文件夹中的内容只能stu1可以看到或操作,把stu2创建的文件都存放到stu2文件夹下,这个文件夹中的内容只能stu2可以看到或操作。每一个普通用户都会在/home下面创建属于自己的文件夹,这个文件夹以该用户的名字来命名。后续,用户也可以在各自的文件夹下再创建其他的文件夹来存放其他的文件。每个用户都不能访问别的用户的目录以及目录下的子文件。起到了一个保护作用。如果是用户stu1,那么它的家目录是/home/stu1;如果是用户stu2,那么它的家目录是/home/stu2。用户不同,家目录也不同。

2.普通用户只有在家目录下才可以创建文件,才可以存文件。

普通用户stu在家目录下创建文件:

在这里插入图片描述
如上图所示,stu用户在家目录/home下创建文件a.c时无法创建,显示权限不够,原因是,stu用户只是进入到了家目录/home,并没有进入家目录下自己的文件夹stu中,所以没有权限在家目录下创建自己的文件。

此时,stu要想在家目录下创建文件a.c,那么必须首先进入到家目录/home下的stu文件夹:

在这里插入图片描述

这里的“~”就代表家目录,在任意地方执行cd ~就可以回到家目录:

在这里插入图片描述

用户stu在家目录下创建文件的正确方法:

(1)进入家目录下的stu文件夹

(2)显示当前位置

(3)显示当前文件夹中的所有文件

(4)创建一个文件a.c,创建成功

(5)显示当前文件夹下的所有文件,显示里面有刚刚创建的文件a.c

在这里插入图片描述

3.在Linux系统中,如果是普通用户,只能是把自己的文件删除,在家目录以外的地方,既不能创建文件也不能修改文件。所有用户除了家目录以外,在根目录下的tmp目录下也可以创建文件,但是一般不用,在特定情况下才会使用。

4.管理员的家目录并不在/home下面,而是在/root。

对于管理员在管理员家目录下甚至可以删除系统的文件或者删除系统内核也可以。

四、绝对路径和相对路径

绝对路径: 是从系统根目录(“/”)开始到指定位置的路径

例如:以绝对路径表示a.c的位置 /home/stu/a.c 以绝对路径表示桌面的位置 /home/stu/Desktop

相对路径: 是从当前目录开始到指定位置的相对路径

例如: “.” 代表当前位置 “…” 代表当前位置的上一层目录 “./a.c” 表示当前位置下的a.c文件

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐