centos目录结构的介绍

centos目录结构(centos和linux目录结构差不多,后面centos和linux会温混用,都是一样的)的组织形式和 Windows 有很大的不同。首先 Linux 没有 “盘(C盘、D盘、E盘)” 的概念,起始就是一个 “/“ 根目录(也可以将 根目录 理解为一个盘),/目录下面有很多子目录,和windows分区盘符下面是一样的,只不过windows开始的是盘符,而linux开始的是/。

还有一点区别是windows的路径分隔符为反斜杠 “",而centos的路径分隔符为正斜杠 “/“ 。

linux的目录结构就像一颗倒着的树,我们在putty下面输入 ls / 可以看到/目录下面的所有子目录
注释: ls / 表示列出/目录下的所有目录和文件

目录结构说明

  • /bin 文件夹

bin 是 Binary 的缩写, 这个目录存放着最经常使用的可执行命令

  • /boot 文件夹

这里存放的是启动 Linux 时所使用的一些核心文件,包括一些连接文件以及镜像文件

  • /dev 文件夹

dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的

  • /etc 文件夹

这个目录用来存放所有的系统管理所需要的配置文件和子目录(如: 网卡的配置文件、redis的配置文件、……)

  • /home 文件夹

普通用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的

  • /lib 文件夹

这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库

  • /lost+found 文件夹

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件

  • /media 文件夹

Linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下

  • /mnt 文件夹

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了

  • /opt 文件夹

这是给主机额外安装软件所摆放的目录(即: 将第三方软件安装到 obt 目录下)。比如你安装一个 MySQL 数据库则就可以放到这个目录下。默认是空的

  • /proc 文件夹

这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息

这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

  • /root 文件夹

该目录为系统管理员,也称作超级权限者的用户主目录

  • /sbin 文件夹

s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序

  • /selinux 文件夹

这个目录是 Redhat/CentOS 所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的

  • /srv 文件夹

该目录存放一些服务启动之后需要提取的数据

  • /sys 文件夹

这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs

sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统

该文件系统是内核设备树的一个直观反映

当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建

  • /tmp文件夹

这个目录是用来存放一些临时文件的,可随时删掉该文件夹中的内容

  • /usr文件夹

这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录

  • /usr/bin文件夹

系统用户使用的应用程序

  • /usr/sbin文件夹

超级用户使用的比较高级的管理程序和系统守护程序

  • /usr/src文件夹

内核源代码默认的放置目录

  • /var文件夹

这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件

相对路径和绝对路径

Linux中非常重要的概念–路径,路径用来定位如何找到某个文件,比如/root是超级用户root的家目录,/root表示/目录下的root目录,/root就是一个路径,只不过这是一个绝对路径,因为是从/开始写起的。

  • 绝对路径:由根目录 “/“ 为开始写起的文件名或者目录名称,如/root/test,/home/k8s_node/test.txt

  • 相对路径:相对于当前路径的文件名写法,例如 ./test.txt,表示当前目录下的test.txt文件,./ 代表当前目录

简单来说只要开头不是”/“,就是属于相对路径,反之绝对路径

路径符号的说明

  • .
    .代表当前目录,也可以用 ./ 来表示

  • ..
    ..代表上一级的目录,也可以用 ../ 来表示

  • /
    / 代表根目录

  • ~
    ~ 代表用户的家目录,家目录表示用户登录系统默认进行的目录,如果是root登录,则默认进入的目录是/root。如果是其他用户,比如test用户登录系统,则是进入/home/test目录,所有普通用户的家目录都在/home目录下

路径举例

  • 例子1: 例如你现在的位置在 /root/movie 下,且 movie 下有一个 DC 的文件夹(即: /root/movie/DC),如果此时要进入DC这个文件夹,应该如何编写呢?

使用绝对路径: cd /root/movie/DC
使用相对路径: cd DC, cd ./DC,cd DC/ 这几个都可以

  • 例子2: 例如你现在在 /home 这个目录下,如果要进入 /root/movie 这个路径,如何写呢?

使用绝对路径: cd /root/movie
使用相对路径: cd ../root/movie ../表示当前目录的父目录,当前目录是/home目录,那么他的父目录就是/,加上后面的root/moive,那么就是/root/moive

路径的相关命令

  • pwd 命令 -> 查看当前的路径(打印当前目录)

  • cd 命令 -> 切换目录,cd 命令只能进入文件夹,不能进入文件

总结

  • linux的目录结构是从/开始的,要查看任何文件或者目录,都要从/根目录开始往下找

  • /etc是系统中的配置文件所在目录,/bin、/sbin、/usr/bin、/usr/sbin 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。/bin、/usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。/var是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下。/tmp目录用于存放系统的临时数据,过期就会自动被删除

  • 绝对路径是指从/开始写起的路径,而相对路径表示相对于当前目录的路径

  • ls命令用于展示当前目录下的目录或者文件,pwd用于显示当前目录,cd命令用于切换目录

问题

  • 使用命令切换到/tmp目录

  • 分别用绝对路径和相对路径进入/usr/bin目录

  • 使用ls命令列出当前目录下的文件

  • 分别用绝对路径、相对路径(要包括~符号)回到家目录

  • 显示当前的家目录

原创文章,转载请注明出处:http://b.nwumba.cn/article/98/