RedHat系Linux:Centos7学习笔记1-文件系统

文件系统与目录结构

    学习centos7的文件系统,先认识一下根目录的结构,再进一步了解每个子目录的作用。
centos7根目录结构
    上面图片中显示的正是一张单根倒置树结构图。我们可以发现centos7与Windows系统在根结构上的明显差异。
    我们知道Windows是多根结构,有几个盘就有几个根。Centos7是则单根结构,"/:"是其根目录,其他所有资源都在其下,包括硬盘等设备也是作为文件挂载在对应的目录下,这就是Linux的一切皆文件的思想。
    观察结构图,我们发现有几条虚线指向了在其他目录下的同名文件,这是怎么回事呢?
我们执行

ll

/根目录下的文件信息
    可以看到根目录下的/bin目录和/sbin目录,只是个转向/usr内同名目录的软连接,即快捷方式。Centos7为了方便集中管理就把这几个目录合一,让原来的/bin目录作为一个软连接,这里我们可以打印一下$PATH环境变量。

echo $PATH

环境变量
    我们可以看到已经变成软连接的/bin目录也仍然环境变量中,保证了兼容性。

文件系统梳理

    说了这么多,现在进入正题,学习认识文件系统结构:

  • /boot:启动centos的引导文件存放目录,包括Linux内核文件(vmlinuz)及引导加载器(bootloader,grub)都存放于此目录下。核心文件请务必小心对待!
  • /bin:包含供所有用户使用的基本命令,这个目录中都是常用的可执行的文件,如ls,mv等。该目录保存在系统环境变量$PATH中,因此可以直接执行。当前版本下,该目录作为一个软连接指向/usr/bin目录。
  • /sbin:与/bin的相似,但是定位不同,该目录存放的大多是涉及系统管理的命令,是管理员权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,只有root权限才能执行。
  • /lib:系统动态链接共享库,启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)。
  • /lib64:专用于x86_64系统上的共享库库文件存放位置,与/bin的相似,但只能64位程序使用。
  • /etc:存放系统和应用程序配置文件的目录。如果是自己编译的程序可以指定其他的目录存放配置文件。
  • /home:该目录默认存放普通用户的家目录。这里主要存放你的个人数据。具体每个用户的设置文件(可以个性化设置用户,比如提示的颜色,使用用什么shell),用户的桌面文件夹,还有用户的数据都放在这里。
  • /root:管理员root的家目录。
  • /media:便携式移动设备挂载点, 例如USB,CD光驱等外接设备,完成设备识别后就会挂载到该目录下。
  • /mnt:临时文件系统挂载点,一般挂载储存设备,比如挂载一个硬盘。
  • /dev:设备文件及特殊文件(包括外设)存储位置,基于Linux一切皆文件特性。
  • /opt:第三方应用程序预留的安装目录,现在一般装到usr中,留着opt空目录保证兼容性,防止报错。
  • /proc: /proc并不是真正的文件系统,实际上是系统内存的映射,用于输出内核与进程信息相关的虚拟文件系统,存有进程信息及内核信息(比如cpu、硬盘分区、内存信息等)。
  • /run:存放运行中的进程相关数据,通常用于存储进程pid文件,重启后丢失。
  • /srv:该目录存放启动后,系统上运行的服务需要用到的数据。
  • /tmp:临时文件存储位置。对于某些程序来说,有些文件被用了一次两次之后,就不会再被用到,像这样的文件就放在这里。有些linux系统会定期自动对这个目录进行清理,因此,千万不要把重要的数据放在这里。
  • /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统。Linux2.6内核更新后新增的一个文件系统sysfs,包含进程信息proc,设备devfs以及伪终端Devpts。
  • /usr: 在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。目录包含了许多子目录,centos7中的根目录下的bin,lib已经直接链接到usr内部的对应目录。
        /usr/bin: /bin的实际目录。
        /usr/sbin: /sbin的实际目录。
        /usr/lib:/bin的实际目录。
        /usr/lib64:/bin64的实际目录,只存在64位系统,目录用于存放那些不能直接运行的,但却是许多程序运行所必需的一些函数库文件。
        /usr/include: C程序的头文件(header files)
        /usr/share:结构化独立的数据,例如doc, man等。用于存放一些共享的数据,比如音乐文件,字体或图标等。
        /usr/local:第三方应用程序的安装位置。这里主要存放那些手动安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面。
  • /var: 可变数据目录,用于存放系统和应用程序的可变数据。
        /var/cache: 应用程序缓存数据目录。
        /var/lib: 应用程序状态信息数据目录。
        /var/lock: 锁文件。
        /var/log: 日志目录及文件。
        /var/opt: 专用于为/opt下的应用程序存储可变数据;这里主要存放那些可选的程序。安装到/opt目录下的程序, 它所有的数据、库文件等等都是放在同一个目录下面。便于管理,不想要了就一键删干净!。
        /var/run: 存放启动后运行中的进程相关数据,通常用于存储进程pid文件,重启后丢失。
    spool: 应用程序数据池。
        /var/tmp: 保存系统两次重启之间产生的临时数据。

    至此,初步认识了Centos7的文件系统,在学习Linux及应用之路上又前进了一小步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值