Linux知识分享|Linux目录结构(最全最详细)

Posted 我是沐风晓月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux知识分享|Linux目录结构(最全最详细)相关的知识,希望对你有一定的参考价值。

文章目录


前言

在Linux世界里,一切皆文件。 我们今天一起来看看linux的目录结构


一、文件系统的概念

计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易。

文件系统使用文件和树形目录的抽象逻辑概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名即可。

二、文件系统的分类

ext2 : 早期linux中常用的文件系统
ext3 : ext2的升级版,带日志功能
ext4 : 基于磁盘(存放根目录分区)
NFS : 网络文件系统,由SUN发明,主要用于远程文件共享
NTFS : Windows NT/XP 操作系统采用的文件系统

XFS : 由SGI开发的先进的日志文件系统,支持超大容量文件
ISO9660 : 大部分光盘所采用的文件系统
SMBFS : Samba 的服务的共享文件系统
tmpfs : 临时文件系统(内存文件系统)

三, 文件系统的目录结构

3.1 windows的目录结构

在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录

3.2 linux目录结构

在 Linux 系统中,所有内容都是以文件的形式保存和管理的,即「一切皆文件」。普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。

linux只有一个根目录,而且文件和目录被组织成一个单根倒置树结构,
此结构最上层是根目录,用“/”表示

根文件系统(rootfs):root filesystem 标准Linux文件系统(如:ext4)

如下图:

有几个特性:

  • 文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
  • 以 . 开头的文件为隐藏文件
  • 路径的分割用"/"
  • 文件名最长255个字节
  • 包括路径在内文件名称最长4095个字节

3.2.1 使用tree命令查看目录结构

具体的目录结构可以使用tree命令查看:
若无tree命令可以安装

[root@mufenggrow ~]# yum install tree -y

只查看第一层目录:

[root@mufenggrow ~]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var

tree后面不加任何内容,表示 tree . ,也就是当前目录的目录树
只显示目录可以用tree -d

[root@mufenggrow test]# tree -d
.
├── a
├── b
└── c

3 directories

3.2.2 目录作用说明

  • bin 普通用户使用的命令 /bin/ls, /bin/date
  • dev 设备文件 /dev/sda,/dev/tty1,dev/tty2,/dev/pts/1
  • home 普通用户家目录小区
  • lost+found 孤儿文件
  • proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态
  • sbin 管理员使用的命令
  • usr 系统文件,相当于C:\\Windows
    • /usr/local 相当于C:\\Program
    • /usr/bin 普通用户使用的应用程序
    • /usr/sbin 管理员使用的应用程序
  • boot 存放的启动相关的文件,例如kernel,grub(引导装载程序)
  • etc 配置文件
  • lib 库文件Glibc
  • lib64 库文件Glibc

设备(主要指存储设备)挂载目录

  • media 移动设备默认的挂载点
  • mnt 手工挂载设备的挂载点
  • misc automount进程挂载
  • net automount进程挂载
  • root root用户的HOME
  • tmp 临时文件(主要是程序产生的临时文件)
  • var 存放的是一些变化文件,比如数据库,日志,邮件…
    • mysql: /var/lib/mysql
    • vsftpd: /var/ftp
    • mail: /var/spool/mail
    • cron: /var/spool/cron
    • log: /var/log
    • 临时文件 /var/tmp (主要是程序产生的临时文件)

总结

关于目录结构,有些比较重要的目录我们要需要记住:

  • /etc/resolv.conf linux系统DNS客户端配置文件,DNS(Domain Name System)在网站的运行中起到了至关重要的作用,其主要负责将网站域名解析为对应的IP地址。
  • /etc/hostname 主机名配置文件
    hostnamectl set-hostname itlaoxin 这个命令会直接修改配置文件
  • /etc/hosts 设定用户IP与名字(或域名)的对应解析表,相当于本地(局域网内)的DNS解析文件
    Linux系统下的这个/etc/hosts类似于C:\\WINDOWS\\system32\\drivers\\etc\\hosts文件
  • /etc/fstab:配置开机设备自动挂载的文件
  • /etc/inittab:系统启动时设定运行级别等配置的文件
  • ./etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件
  • /etc/profile.d:用户登录后执行的脚本所在的目录
  • /etc/init.d:软件启动程序所在的目录(centos7之前),centos7之后这个目录已经不用了。
  • /etc/motd:配置用户登录系统之后显示提示内容的文件
  • /etc/redhat-release:查看Red Hat版本号和名称信息的文件
  • /etc/sysctl.conf:Linux内核参数设置文件
  • /var/log:记录系统及软件运行信息文件所在的目录
  • var/log/secure:用户登录信息日志文件
  • /var/log/dmesg:记录硬件信息加载情况的日志文件
  • /proc/cpuinfo 当前cpu相关的信息
  • /proc/meminfo 当前内存信息
  • /proc/loadavg 当前平均负载相关的信息
  • /proc/mounts 当前挂载相关的信息

好了,今天就学到这吧。

详细解析Linux目录结构

Linux目录结构是和windows有大不同的设计,这很容易让初学者搞不明白,这里是个人总结的一些知识点,讲解Linux目录结构包括文件类型和一些重要的文件子目录。

linux文件系统的最顶端是/,称为linux的root,所有的目录、文件、设备都在/之下。

文件类型

linux有四种基本文件系统类型:普通文件、目录文件、连续文件和特殊文件。可以用file命令来识别。
普通文件:如文本文件、c语言源代码、shell脚本等,可以用cat、less、more、vi等来察看内容,用mv来改名。
目录文件:包括文件名、子目录名及其指针。可以用ls列出目录文件
链接文件:是指向一索引节点的那些目录条目,用ls来查看时,链接文件的标志用l开头,而文件后以"->"指向所链接的文件
特殊文件:如磁盘、终端、打印机等都在文件系统中表示出来,常放在/etc目录内。例如:软驱A称为/dev/fd0,/dev/had来自第一硬盘。
/bin:存放系统所需要的那些命令,比如ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户可以使用的命令。
/boot:这是Linux的内核及引导系统程序所需要的文件目录,比如initrd.img等文件都位于这个目录中,grub系统引导管理器也位于这个目录。
/dev:设备文件存储目录,比如声卡、磁盘。
/etc:系统配置文件的所在,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件。
/home:普通用户目录默认存放目录。
/lib:库文件存放目录
/lost+found:当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck公交会检查这里,并修复已经损坏的文件系统。
/mnt:这个目录是用于存放挂载储存设备的挂载目录的。比如有cdrom等目录。/etc/fatab
/opt:表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包。
/proc:操作系统运行时,进程信息及内核信息存放在这里。proc并不是真正的文件系统,它的定义可以参见/etc/fstab
/root:linux超级权限用户root的目录。
/sbin:大多是涉及系统管理的命令的存放,是超级权限用户root的可指向命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin;/usr/local/sbin目录是相似的。凡是目录sbin中包含的都是root权限才能执行的。
/tmp:临时文件目录,有时用户运行程序的时候,会产生临时文件。这个目录和/var/tmp目录相似。
/usr:这个是系统存放程序的目录,比如命令、帮助文件等。当我们安装一个linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括设计字体目录/usr/share/fonts,帮助目录/usr/share/man 或/usr/share/doc,普通用户可执行文件目录/usr/bin或/usr/local/bin;超级权限用户root可执行命令存放目录,比如/usr/sbin或/usr/local/sbin等,还有程序的头文件存放目录/usr/include
/var:这个目录的内容是经常变动的,/var下有/var/log这是用来存放系统日志的目录。/var/lib用来存放一些库文件,比如MySQL的。
/media:本目录是空的,是用于挂载的。
/selinux:不知道到底是怎么用的!!!
/srv:一些服务需要访问的文件存放在这
/sys:系统的核心文件
/cdrom:光驱

一些重要子目录:

/etc/init.d:这个目录是用来存放系统或服务器以System V模式启动的脚本。

/etc/X11:这是X-Window相关的配置文件存放地。

/usr/bin:这个目录是可执行程序的目录,普通用户就有权限执行;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。

/usr/sbin :这个目录也是可执行程序的目录,但大多存放设计系统管理的命令,只有root权限才能执行。


/usr/local:这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。

/usr/share:系统共用的东西存放地。

/usr/src:内核源码存放的目录。

这是收集的比较全面的介绍Linux目录结构的知识了。

以上是关于Linux知识分享|Linux目录结构(最全最详细)的主要内容,如果未能解决你的问题,请参考以下文章

csdn最全的Linux常用指令详细解析[2023/1/16]

csdn最全的Linux常用指令详细解析[2023/1/16]

最全最详细的PHP面试题(带有答案)

这可能是最全最详细的Redis安装使用教程

深入理解linux系统的目录结构(总结的非常详细)

史上最全kali Linux目录结构详解