当前位置: 首页 > >

Linux基础??Linux系统文件树

发布时间:



Linux基础??Linux系统文件树
Linux文件树结构etc文件目录home文件目录root文件目录opt文件目录usr文件目录var文件目录参考文章



本文档演示所使用的Linux信息



有图形化界面的配置
虚拟环境:VMware Workstation 15.x
Linux版本信息:deepin15.11




无图形化界面配置
虚拟环境:Azure-VM
Linux版本信息:centos 7.3




本文为了能更加清晰的体现linux文件结构,所以同时将有图形界面和五图形界面的Linux系统穿插进行演示,但不会影响本文章的演示结果,此文章不适合深度研究linux和IOT开发人员,如果发现文章存在问题或者需要补充,恳请大佬积极发言,谢谢。
前言:不知道作为一个linux小白刚上手linux的时候有没有被linux复杂的文件路径管理给吓着,其实linux文件目录只不过是一个十分庞大的套娃结构,在很久之前就有一群人给目录名称划分了具体的功能和名称,并沿用至今,如今已经成为了开发人员心中的标准,因此,只要了解文件目录名称所赋予的含义,对于理解linux文件结构来讲就不会有手忙脚乱的现象。


Linux文件树结构


文件目录内容简介
/boot系统引导驱动文件夹,如果PC电脑是uefi启动的话,在linux安装的时候会将此文件夹复制到硬盘的efi分区内,同样如果系统引导出问题的话,也是修改此文件夹。
/bin存放系统基础常用可执行文件,其中也包括常用的linux指令集如ls,mkdir,free等都存放在此目录中新手勿动
/sbin和bin目录同样功能,但是只能是超级管理员才能调用里面的程序,如reboot,lvs,update等指令新手勿动
/lib,/lib64存放跟文件系统中的程序运行所需要的共享库及内核模块,不清楚是什么文件的时候勿动
/tmp系统缓存文件夹,用来存放从各种程序产生的临时文件*时可以不用管
/mnt系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂*渌奈募低
/devlinux基础设备文件夹,存放硬件管理接口和硬件信息(如磁盘,CPU,显示串口等),如果不是搞硬件开发或者是研究linux内核建议不要随意乱动,出问题是要发疯的!!!
/opt存放不通过linux源管理的第三方软件,如tomcat,nginx
/usr存放几乎所有的linux软件,但是内部结构大部分都和根目录差不多。
/usr/local存放本地安装的linux软件,即不通过linux包管理安装的Linux源中存在的软件,如python3,而Linux自带的python2.7则存放在/usr/bin目录中
/usr/bin与跟目录的bin同样的功能,存放linux系统软件,如python2.7
/usr/sbin与根目录sbin同样功能,功能相同,但是存放的基本上都是扩展指令集,也就是说/sbin中没有用的都放到了这里面
/usr/srclinux内核源码就在这里面
/var系统一般运行时要改变的数据,可以是用户信息,也有缓存文件的存放
/var/log存放各个成勋运行的日志文件
/var/lock锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件当然,*时解锁占用删除的也是此文件里面的.lock文件
/home存放用户产生的基础信息文件,所有创建的用户都会以用户名为文件夹名存放在home目录中,而用户文件夹的目录结构与root文件夹是一样的
/root超级用户文件夹,在一些系统的安装中,会将root放到home目录中,有些会独立分开,但是文件结构和home目录里面的用户目录是相同的,区别在于,root用户本身自带管理员权限
/proc虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

通过上述介绍可以不难发现
如果只是想要使用linux进行简单软件开发(研究linux系统除外),需要去了解的文件目录只有
/usr/home/root/opt/etc
etc文件目录
etc存放了系统环境变量和各种配置文件,同样如果是要修改全局环境变量只需要修改以下文件即可
etcprofile:有关Linux环境变量的东西,常在/etc/profile文件中修改环境变量,在这里修改的内容是对所有用户起作用的,个人非常不建议在此文档中添加函数或者别名,此文档负责管理环境变量,如果需要添加别名或者函数,可以在bashrc中添加,如果添加shell脚本,可以放在profile.d中。etcashrc:修改.bashrc(deepin中是bash.bashrc也有其他系统也是这名称)可以改变全局环境变量,个人非常不建议在这个文件系统中添加或修改环境,此文档负责管理别名和函数。如果需要修改环境或者添加指令可以修改profile或者是在profile.d文件夹(/etc没有profile.d可以自行创建)中创建shell脚本,系统环境会自动在终端执行时将这些加载到环境中。

这里以在bashrc中添加别名作为演示示例


需要注意的是在root文件和home里的用户文件中都存在.bashrc文件,如果修改那些文件只能是当前用户可以使用环境,其他用户无法使用,即无法全局共享。
home文件目录
home文件夹中存放的都是以用户名命名的用户文件夹,每个用户文件夹都存放着独立于用户的个人文件,如文档,视频,音频等。
需要注意的是,当前用户只能访问自己的用户文件夹,其他用户文件夹均无法访问,除非登陆超级管理员模式,或者被赋予了超级管理员权限。


用户文件夹中通常都会出现有着相同文件名的几个文件,分别是:
.bash_history 记录之前输入的命令
此功能就是当你在终端通过上下方向键操纵,可以看见你以前输入过的指令。
.bash_logout 当你退出时执行的命令.bash_profile 当你登入shell时执行(如果修改不能通过*糁斩怂⑿).bashrc 当你登入shell时执行(如果修改可以通过*糁斩怂⑿)需要注意的是,用户文件夹中的bashrc同样也可以修改环境变量,但是其他用户不会受到你修改的环境的影响,也就是说你改的环境只能你自己用。 root,用户文件目录与etc中的bashrc之间的关系图如下

root文件目录
root文件夹与home目录中的用户文件夹结构高度相似,同样也有环境配置文件.bashrc等,不过需要注意的是,普通用户可以借助登陆超级用户root访问root文件,而一旦登陆root用户,则其他所有用户文件均可通过root账户访问。需要注意的是输入sudo su登陆超级用户后,用户根目录即~ 指向的位置会发生变化,从原来的home用户文件转变为 oot文件夹这在修改环境变量的时候需要注意的地方,你使用~ 的时候到底是想修改root用户的环境还是自己本身的环境,如果稍不注意,会引发很严重的后果。




opt文件目录
所有扩展软件均可以放在此文件目录中,建议此文件夹存放集成软件,如果是运行环境最好是存放在/usr/local中

usr文件目录
usr文件夹是一个十分庞大的文件目录,里面存放了基本上linux系统中绝大部分指令集和软件环境。可以看见usr文件夹中的结构与根目录有着类似的文件目录结构,但是因为在usr文件中所以也有一定的范围区别
usrin:存放Linux源安装的软件,如gcc,python等(全局变量中已经将此文件夹纳入环境变量中


usrlib|lib64:软件或者环境所依赖的动态链接库或者配置文件。usrsbin:和sbin功能相同,sbin存放基础指令集,usrsbin存放一些优化后的指令集usrlocal:用户安装的本地软件,如自行下载的python3.8可以放在这里,local中有者和usr相同的文件目录结构,因此就不再过多赘述。usrshare:共享文件夹。。这个没什么可以说明的吧。。。usrsrc:存放源码文件,里面有linux内核源码
需要注意的是usrlocal中最好存放环软件环境如python环境,java环境,mysql等,因为usrin与usrlocalin已经自动写入系统环境,而tomcat,nginx需要依赖这些运行的软件最好放到opt文件目录中,当然这个仅仅是我个人的*惯,并不是强求。但是并不提倡在这两个文件夹之外安装可执行文件,即不方便管理,也不方便运行。
var文件目录
此目录存放系统运行时数据变动的文件,文件结构与根目录很相似
varlocal:存放usrlocal中的软件的可变动的数据文件varopt:opt中安装的程序的可变数据varlog:各种程序的Log文件,特别是login (varlogwtmp log所有到系统的登录和注销) 和syslog (varlogmessages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.var un:保存到下次引导前有效的关于系统的信息文件.例如, var unutmp 包含当前登录的用户的信息.var mp:比 mp 允许的大或需要存在较长时间的临时文件. (虽然系统管理员可能不允许var mp 有很旧的文件.)varlocak:锁定文件.许多程序遵循在varlock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件. var,opt,usr三个文件夹之前的关系图

参考文章

Linux 下各个目录的作用及内容
Linux?/var目录详解
linux系统/var目录的作用
Linux 设备文件/dev/*详解、查询
Linux /etc/profile文件详解
Linux的环境配置文件----.bashrc文件



友情链接: