创作不易,请帮忙转发、点赞和评论! 三、Linux目录结构 在Windows操作系统中打开计算机可以看到多个驱动盘符,每个盘符都有自己的根目录且盘符之间是并列关系。而在Linux或Unix操作系统中所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构,文件系统的最顶层是由根目录开始的,使用/来表示根目录。在根目录之下的既可以是目录也可以是文件,而每一个目录中又可以包含子目录文件。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。如此反复构成一个庞大的文件系统。(一)、系统目录 进入Linux系统,打开树状系统目录(CentOS 8.1依次点击左上角的【活动】/【+其他位置】/【计算机】,CentOS 6.5依次点击桌面上的【计算机】/【文件系统】),如图: 目录含义如下: ●系统启动必须: ①/boot: 存放启动Linux 时使用的内核文件,包括连接文件以及镜像文件; ②/etc: 存放所有的系统管理所需要的配置文件和子目录,更改目录下的文件可能会导致系统不能启动; ③/lib:存放着系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。其作用类似于Windows里的DLL文件; ④/sys:该目录下安装了2.6内核中新出现的一个文件系统sysfs。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映,当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建; ●系统运行相关: ①/proc:它是系统内存的映射,是一个虚拟目录,可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,可以直接修改里面的某些文件,如可以通过下面的命令来屏蔽主机的ping命令:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all; ②/var:存放着在不断扩充着的东西,经常被修改的数据放在这个目录下,包括各种日志文件; ●指令集合相关: ①/bin: 存放最常用的程序和指令; ②/sbin: 存放系统管理员可以使用的系统管理程序和指令; ●外部文件相关: ①/dev :该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 ②/media:linux系统会自动识别一些设备(如U盘、光驱等等),当识别后linux会把识别的设备挂载到这个目录下; ③/mnt:让用户临时挂载别的文件系统的,可以将光驱挂载在/mnt/上,进入该目录就可以查看光驱里的内容了; ●账户相关: ①/home: 用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的; ②/root: 系统管理员(也称超级权限者)的用户主目录; ③/usr: 存放用户的应用程序和文件,类似于windows下的program files目录; ●扩展相关 ①/opt: 默认是空的,我们安装额外软件可以放在这个里面,习惯安装在user/local目录下; ②/srv:存放服务启动后需要提取的数据; ●临时文件: ①/run:存储系统启动以来的临时信息,当系统重启时该目录下的文件应该被删掉或清除,如果系统上有/var/run目录应让它指向 run; ②/tmp:存放一些临时文件的。(二)、当前目录/相对路径 ●当前目录: 目录的写法:用户所在的工作目录,可以使用"."或"./"来表示; ●父目录: 目录的写法:用户所在的工作目录上一级目录,可以使用".."或"../"来表示; ●绝对路径: 路径的写法:由根目录/写起,例如:"/home/ww"这个目录进入ww这个用户下; ●相对路径: 路径的写法:不是由/写起,例如:由"/home/ww/图片"要到"/home/ww/音乐"底下时,可以写成"cd ../音乐"这就是相对路径的写法啦!(三)、文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位拥有不同的权限。Linux系统对不同的用户访问同一文件或目录的权限做了不同的规定以保护系统的安全性。 用户对文件或目录拥有3种基本操作权限,即读权限、写权限和执行权限(注意:通常Unix/Linux系统只允许文件的属主(所有者)或超级用户改变文件的读、写权限): ①读权限(r):读取文件内容或浏览目录的权限; ②写权限(w):新增、修改文件内容或删除、移动目录文件的权限; ③执行权限(x):执行文件或进入目录的权限; 在Linux中我们可以使用ls –l或者ll(Ubuntu默认不支持该命令 )命令来显示一个文件或目录的属性,下文将以etc目录权限展开讲解,如图: 我们将etc目录的文件属性进行拆分讲解,如下图: 1.★文件类型: 第一区第1个字符(即第0位)代表这个文件类型,包括目录、文件或链接文件等,共有以下5种: ①若是[ d ]则是目录,如上例的boot、dev等文件; ②若是[ - ]则是文件; ③若是[ l ]则表示为链接文件,存放的是其他文件和文件夹的相关信息,如上例的bin、sbin等文件; ④若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置); ⑤若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。2.★属主权限: 第一区第2~4个字符(即第1~3位)代表属主(即该文件的所有者)拥有该文件的权限,我们用符号"u"来表示(即user缩写) : ①其中[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)权限,这三个权限的位置不会改变,如果没有某个权限则对应位置用减号[ - ]; ②上例中属主对该文件具有可读、可写、可执行权限,我们分别给读、写、可执行权限设置分数为4、2、1,则上例中属主对该文件具有权限可表示为:u=4+2+1=7; ③有时可执行权限[x]会被[s]替换,表示用户临时可以有和拥有者一样的权利来执行该文件。3.★属组权限: 第一区第5~7个字符(即第4~6位)代表属组(即所有者的同组用户)拥有该文件的权限,我们用符号"g"来表示(即group缩写) : ①其中[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)权限,这三个权限的位置不会改变,如果没有某个权限则对应位置用减号[ - ]; ②上例中属主对该文件具有可读、可执行权限,没有可写的权限,我们分别给读、写、可执行权限设置分数为4、2、1,则上例中属主对该文件具有权限可表示为:g=4+0+1=5; ③有时可执行权限[x]会被[s]替换,表示用户临时可以有和拥有者一样的权利来执行该文件。4.★其他用户权限: 第一区第8~10个字符(即第7~9位)代表其他用户拥有该文件的权限,我们用符号"o"来表示(即others缩写) : ①其中[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)权限,这三个权限的位置不会改变,如果没有某个权限则对应位置用减号[ - ]; ②上例中属主对该文件具有可读、可执行权限,没有可写的权限,我们分别给读、写、可执行权限设置分数为4、2、1,则上例中属主对该文件具有权限可表示为:g=4+0+1=5; ③有时可执行权限[x]会被[s]替换,表示用户临时可以有和拥有者一样的权利来执行该文件。5.文件数量: 第三区表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。 6.★属主账户: 第二区表示表示该文件或目录的所有者,对文件或目录具有所有权限。 7.★属组名称: 第二区表示该文件所有者的同组用户, 在Linux系统中用户是按组分类的,一个用户属于一个或多个组 。 8.文件或目录大小: 第六区表示文件大小,文件大小用byte来表示,空目录一般都是1024byte。 9.修改时间: 第六区表示最后一次修改时间,以"月,日,时间"的格式表示。 10.文件或目录名称: 第七区表示表示文件或目录的名称,可以用ls –a显示隐藏的文件或目录。 【SpringBoot后端开发】第三部分 Linux操作系统简介及安装(1) 【SpringBoot后端开发】第三部分 Linux操作系统常用命令(3)