设为首页 收藏本站
查看: 720|回复: 0

[经验分享] Linux标准目录结构

[复制链接]

尚未签到

发表于 2017-11-17 13:13:51 | 显示全部楼层 |阅读模式
  一、结合第二一起理解
  初学Linux,首先需要弄清Linux 标准目录结构
DSC0000.png

  /

  • root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。
  • home --- 存储普通用户的个人文件

    • ftp --- 用户所有服务
    • httpd
    • samba
    • user1
    • user2

  • bin --- 系统启动时需要的执行文件(二进制)
  • sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行
  • proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息

    • 1 --- 进程编号

  • usr --- 用户目录,存放用户级的文件

    • bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin
    • sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序
    • include ---  存放C/C++头文件的目录
    • lib --- 固定的程序数据
    • local --- 本地安装软件保存位置
    • man --- 手工生成的目录
    • info --- 信息文档
    • doc --- 不同包文档信息
    • tmp
    • X11R6 ---  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
    • X386 --- 功能同X11R6,X11 发行版5 的系统文件

  • boot --- 引导加载器所需文件,系统所需图片保存于此
  • lib --- 根文件系统目录下程序和核心模块的公共库

    • modules --- 可加载模块,系统崩溃后重启所需模块

  • dev --- 设备文件目录
  • etc --- 配置文件

    • skel --- home目录建立,该目录初始化
    • sysconfig --- 网络,时间,键盘等配置目录

  • var

    • file
    • lib --- 该目录下的文件在系统运行时,会改变
    • local --- 安装在/usr/local的程序数据,变化的
    • lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问
    • log --- 记录日志
    • run --- 系统运行合法信息
    • spool --- 打印机、邮件、代理服务器等假脱机目录
    • tmp
    • catman --- 缓存目录

  • mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。
  • tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp
  • lost+found --- 在文件系统修复时恢复的文件
  /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
  /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
  /boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
  /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
  /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。
  注:/etc/X11存放与x windows有关的设置。
  /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
  /lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。
  /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
  /mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。
  /opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下
  /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
  /root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
  /sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。
  /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
  /srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
  /usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间
  /var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间
  二、结合第一一起理解
   DSC0001.png
  与Windows将硬盘看做“C盘”、“D盘”几个独立的分区不同,Linux将整个文件系统看做一棵树,这棵树的树根叫做根文件系统,用/表示。各个分区通过“挂载”(Mount)以文件夹的形式访问。
  在/中的文件夹很多,本文介绍常见文件夹的意义。Linux的目录结构确实比较复杂,但设置合理、层次鲜明。本文以FHS 2.3为例进行介绍。
/bin根文件系统

这一目录中存放了供所有用户使用的完成基本维护任务的命令。其中bin是binary的缩写,表示二进制文件,通常为可执行文件。一些常用的系统命令,如cp、ls等保存在该目录中。/boot这里存放的是启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。/dev在此目录中包含所有的系统设备文件。从此目录可以访问各种系统设备。如CD-ROM,磁盘驱动器,调制解调器和内存等。在该目录中还包含有各种实用功能,如用于创建设备文件的MAKEDEV。/etc该目录中包含系统和应用软件的配置文件。/etc/passwd该目录中包含了系统中的用户描述信息,每行记录一个用户的信息。/home存储普通用户的个人文件。每个用户的主目录均在/home下以自己的用户名命名。/lib这个目录里存放着系统最基本的共享链接库和内核模块。共享链接库在功能上类似于Windows里的.dll文件。/lib6464位系统有这个文件夹,64位程序的库。/lost+found这并不是Linux目录结构的组成部分,而是ext3文件系统用于保存丢失文件的地方。不恰当的关机操作和磁盘错误均会导致文件丢失,这意味着这些被标注为“在使用”,但却并未列于磁盘上的数据结构上。正常情况下,引导进程会运行fsck程序,该程序能发现这些文件。除了“/”分区上的这个目录外,在每个分区上均有一个lost+found目录。/media可移动设备的挂载点,当前的操作系统通常会把U盘等设备自动挂载到该文件夹下。/mnt临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。(注意在GNOME中,只有挂载到/media的文件夹才会显示在“计算机”中,挂载到/mnt不会做为特殊设备显示,详见自动挂载分区)/opt多数第三方软件默认安装到此位置,如Adobe Reader、google-earth等。并不是每个系统都会创建这个目录。/proc它是存在于内存中的虚拟文件系统。里面保存了内核和进程的状态信息。多为文本文件,可以直接查看。如/proc/cpuinfo保存了有关CPU的信息。/root这是根用户的主目录。与保留给个人用户的/home下的目录很相似,该目录中还包含仅与根用户有关的条目。/sbin供超级用户使用的可执行文件,里面多是系统管理命令,如fsck, reboot, shutdown, ifconfig等。/tmp该目录用以保存临时文件。该目录具有Sticky特殊权限,所有用户都可以在这个目录中创建、编辑文件。但只有文件拥有者才能删除文件。为了加快临时文件的访问速度,有的实现把/tmp放在内存中。/usr静态的用户级应用程序等,见下。/var动态的程序数据等,见下文。/usr目录结构
  /usr通常是一个庞大的文件夹,其下的目录结构与根目录相似,但根目录中的文件多是系统级的文件,而/usr中是用户级的文件,一般与具体的系统无关。


DSC0002.gif 提示:
usr最早是user的缩写,/usr的作用与现在的/home相同。而目前其通常被认为是 User System Resources 的缩写,其中通常是用户级的软件等,与存放系统级文件的根目录形成对比。[2]  应注意,程序的配置文件、动态的数据文件等都不会存放到/usr,所以除了安装、卸载软件外,一般无需修改/usr中的内容。说在系统正常运行时,/usr甚至可以被只读挂载。由于这一特性,/usr常被划分在单独的分区,甚至有时多台计算机可以共享一个/usr
/usr/bin多数日常应用程序存放的位置。如果/usr被放在单独的分区中,Linux的单用户模式不能访问/usr/bin,所以对系统至关重要的程序不应放在此文件夹中。/usr/include存放C/C++头文件的目录/usr/lib系统的库文件/usr/local新装的系统中这个文件夹是空的,可以用于存放个人安装的软件。安装了本地软件的/usr/local里的目录结构与/usr相似/usr/sbin在单用户模式中不用的系统管理程序,如apache2等。/usr/share与架构无关的数据。多数软件安装在此。/usr/X11R6该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。/usr/src源代码/var目录结构
  /var中包括了一些数据文件,如系统日志等。/var的存放使得/usr被只读挂载成为可能。
/var/cache应用程序的缓存文件/var/lib应用程序的信息、数据。如数据库的数据等都存放在此文件夹。/var/local/usr/local中程序的信息、数据/var/lock锁文件/var/log日志文件/var/opt/opt中程序的信息、数据/var/run正在执行着的程序的信息,如PID文件应存放于此/var/spool存放程序的假脱机数据(即spool data)/var/tmp临时文件  三、见博客:http://www.cnblogs.com/resn/p/5800922.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407895-1-1.html 上篇帖子: Linux基本命令(二) 下篇帖子: Linux系统学习之Linux账号管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表