想要管理Linux服务器,先搞清楚它的目录结构

linux目录结构说明谈到Linux文件管理,首先我们需要了解的是要对文件做些什么事情,其实无非就是对一个文件进行创建、复制、移动、查看、编辑、压缩、查找、删除等等 。
例如我们想要修改系统的主机名称,首先需要知道该文件存储在哪个目录,才能做相应的修改,因此需要先了解Linux系统的目录结构,搞清楚每个目录存放的是什么文件,有什么的作用 。
几乎所有的计算机操作系统都是使用目录结构组织文件 。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会存放子子目录和文件,以此类推形成一个树状的文件结构 。由于其结构很像一棵树的分支,因此该结构又被称为目录树 。
windows系统是以多根的方式组织文件,例如C:表示C盘,D:表示D盘,也就是以每个盘符作为一个根 。

想要管理Linux服务器,先搞清楚它的目录结构

文章插图
 
Linux系统是以单根的方式组织文件,使用/表示
如下图所示是centos7的目录结构,在管理文件之前需要先搞清楚根目录下的一级子目录的作用
想要管理Linux服务器,先搞清楚它的目录结构

文章插图
 
可以使用tree -L 1 /命令查看根目录下的一级子目录
想要管理Linux服务器,先搞清楚它的目录结构

文章插图
 
[root@centos7-1 ~]# tree -L 1 //├── bin -> usr/bin├── boot├── data├── dev├── etc├── home├── lib -> usr/lib├── lib64 -> usr/lib64├── media├── mnt├── opt├── proc├── root├── run├── sbin -> usr/sbin├── srv├── sys├── tmp├── usr└── var如果执行命令时发现系统提示command nout found,可以使用yum install -y tree 来安装tree命令
[root@centos7-1 ~]# yum install -y treeCentOS7系统中,/bin、/sbin、/lib、/lib64都是以软连接的方式链接到/usr目录下,软连接就是Windows下的快捷方式 。
  • /bin -->/usr/bin
  • /sbin–>/usr/sbin
  • /lib -> usr/lib
  • /lib64 -> usr/lib64
Linux根目录下的几个你需要里了解的根目录下的一级子目录
  • /media 便携式移动设备挂载点,例如U盘
  • /mnt 临时文件系统挂载点
  • /opt 目录用于存放第三方应用程序的安装位置
  • /run目录用于存放系统运行时所需要的文件,以前是放在/var/run目录下
  • srv 服务启动后需要访问的数据目录,例如saltstack就会将数据放到该目录下
  • sys和proc一样,记录的是系统的核心硬件信息
Linux目录结构-/bin和/sbin目录/bin目录和/sbin目录都是用于存放命令的目录,命令的本质就是一个应用程序 。
  • /bin 存放普通用户使用的命令,例如/bin/ls和/bin/date等等
    当我们在终端执行ls或者是date命令时,系统会从/bin目录下查找命令对应的可执行程序我们可以使用which命令查看命令的路径
[root@centos7-1 ~]# which lsalias ls='ls --color=auto'/usr/bin/ls不过/bin目录实际上是一个快捷方式,指向/usr/bin目录
[root@centos7-1 ~]# ll /binlrwxrwxrwx. 1 root root 7 Oct2 20:55 /bin -> usr/bin也就是说/bin目录和/usr/bin目录内容是一样的
  • /sbin目录存放管理员执行的命令,例如/sbin/reboot ,/sbin/shutdown,/sbin/useradd等等
[root@centos8 ~]# which shutdown/usr/sbin/shutdown[root@centos8 ~]# which reboot/usr/sbin/reboot/sbin目录也是一个软连接,指向的是/usr/sbin目录
[root@centos7-1 ~]# ll /sbinlrwxrwxrwx. 1 root root 8 Oct2 20:55 /sbin -> usr/sbinLinux目录结构-/home和/root目录/home和/root用于存放用户相关数据的家目录
  • /home表示普通用户的家目录,例如/home/guanglei,guanglei是我在安装系统时创建的普通用户
  • /root 表示管理员的家目录,普通用户是无权操作的,但是管理员可以进入任何普通用户的家目录
以root账号的登录后,使用pwd命令查看当前的目录是/root
[root@centos8 ~]# pwd/root以普通账号登录后,使用pwd命令查看当前的目录是/home/guanglei
[guanglei@centos8 ~]$ pwd/home/guanglei普通用户使用cd /root切换到root用户的家目录,系统会提示没有权限 。就像老百姓没有权利访问皇帝的家
[guanglei@centos8 ~]$ cd /root-bash: cd: /root: Permission denied


推荐阅读