Linux文件目录结构

根目录(/)

根目录(/)是Linux文件系统的顶层目录。所有的文件和目录都从这里开始,形成一个树形结构。根目录下的每一个子目录都有其特定的功能和用途。

/bin:存放基本用户命令

/sbin:存放系统管理命令

/etc:存放系统配置文件

/dev:存放设备文件

/tmp:存放临时文件

/home:存放用户主目录

/var:存放可变数据文件

/usr:存放用户级应用程序和文件

/opt:存放附加软件包

/mnt:用于临时挂载文件系统

/media:用于自动挂载的可移动设备

/boot:存放启动加载程序和内核文件

/lib:存放系统库文件和内核模块

/proc:存放系统内核和进程信息

/sys:存放系统设备和内核信息

/root:超级用户的主目录

/bin 目录

/bin(binary)目录包含系统启动和单用户提式下使用的基本命令。这些命令是系统正常运行所必需的,并且在单用户模式或系统紧急修复时也可以使用。

常见的命令包括:

ls:列出目录内容

cp:复制文件或目录

mv:移动或重命名文件或目录

rm:删除文件或目录

cat:连接文件并显示输出

echo:显示消息

/sbin 目录

/sbin(system binary)目录包含系统管理命令,这些命令通常需要超级用户权限执行。它们用于系统启动、维护和修复。

常见的命令包括:

ifconfig:配置网络接口

reboot:重启系统

shutdown:关闭系统

fdisk:磁盘分区工具

mkfs:创建文件系统

/etc 目录

/etc 目录包含所有的系统全局配置文件。这些文件定义了系统的各种设置和参数。

常见的配置文件和目录包括:

/etc/passwd:用户账号信息文件

/etc/fstab:文件系统挂载表

/etc/hosts:主机名和P地址对应表

/etc/hostname:定义系统的主机名

/etc/network/intefaces:网络接口配置文件

(在基于 Debian 的系统中)

/clev 目录

/dev目录包含设备文件,这些文件表示系统中的各种硬件设备。Linux 中的一切皆文件,包括硬件设备。

常见的设备文件包括:

/dev/sda:第一个 SCSl硬盘

/dev/tty:终端设备

/dcv/null:空设备,丢弃所有写入其中的致据

/dev/random:随机数生成器

/tmp 目录

/tmp 目录用于存放临时文件。系统和应用程序在运行过程中可能会在此目录下创建临时文件。通常,系统会在每次启动时清理/tmp目录,以防止磁盘空间被临时文件占用过多。

/tmp 目录中的文件通常对所有用户可读写,但应注意临时文件的权限和安全性。

/home 目录

/home 目录是用户的主目录,每个用户在/home 目录下都有一个以其用户名命名的子目录。用户的所有个人文件和配置文件都存放在这个子目录中。例如,用户john的主目录为/home/john

常见的文件和子目录包括:

~/Documents:用户的文档目录

~/Downloads:用户的下载目录

~/Pictures:用户的图片目录

~/.bashrc:Bash Shell配置文件

~/.profile:用户的环境设置文件

/var 自录

/var 日录用于存放系统运行时产生的可变数据。不同于/etc目录中的配置文件,/var中的数据是动态变化的。

常见的子目录和文件包括:

/var/log:系统日志文件目录

常见的日志文件有/var/log/syslog(系统日志)、var/log/auth.log(认证日志)、/var/log/kern.log(内核日志)等。

/var/mail:用户邮件存放目录。

/var/spool:队列目录,用于存放打印任务、邮件队列等

/var/cache:应用程序缓存文件。

/var/www:Web 服务器的根目录,存放网站文件。

/usr 自录

/usr目录用于存放用户级应用程序和文件。这是一个非常重要的目录包含了大量的二进制文件、库文件、文档和其他资源。

常见的子目录包括:

/usr/bin:用户级命令的二进制文件

常见的命令有gcc(GNU编译器)、perl(Perl解释器)等

/usr/sbin:系统管理命令的二进制文件

/usr/lib:库文件目录,存放应用程序和系统所需的共享库

/usr/share:共享数据目录,存放不特定于某个用户或系统的共享数据,如文档、图标、声音等。

/usr/local:本地安装的软件和文件

/opt 目录

/opt 目录用于安装附加软件包。通常,第三方软件或自定义应用程序会安装在此目录下。每个软件通常会在/opt 下有一个独立的子目录例如 /opt/software。这种方式可以避免与系统的其他部分产生冲突,并便于管理和卸载。

/mnt 目录

/mnt 目录用于临时挂载文件系统。系统管理员可以将外部存储设备(如 USB 驱动器、网络文件系统等),挂载到/mnt 下的某个子目录中。例如,可以使用 mount /dev/sdb1/mnt/usb 将一个USB 驱动器挂载到 /mnt/usb

/medlia 目录

/media 目录用于自动挂载的可移动设备,如光盘、U盘等,当这些设备插入时,系统会自动将其挂载到/media 下的一个子目录中。例如,插入一个 U盘后,系统可能会在/media/user/USB下自动创建一个目录并挂载该设备。

/lib自录

/ib 目录包含系统库文件和内核模块。系统启动时,许多关键程序依赖于这些库文件。

常见的库文件包括C标准库(Iibc.so)、动态链接器(Id-linux.so)等。

内核模块(如文件系统驱动、硬件驱动)通常位于/lib/modules 目录中。

/boot目录

/boot 目录包含启动加载程序和内核文件。系统启动时,启动加载程序(如GRUB)会从这里加载内核和其必要文件。

常见文件包括:

vmlinuz:压缩的Linux 内核镜像文件

initrd.img:初始 RAM 盘,用于启动时加载必要的驱动程序和文件系统

grub:GRUB 启动加载程序的配置文件和模块

/proc 目录

/proc 目录是一个虚拟文件系统,包含系统内和进程信息。这个目录中的内客并不实际存在于磁盘上,而是由内核在运行时动态生成的。/proc目录提供了一种方便的方式来访问系统信息和进程数据。

常见的文件和目录包括:

/proc/cpuinfo:显示CPU的信息,包括型号、速度和核心数

/proc/meminfo:显示内存使用情况,包括总内存、可用内存和存

/proc/uptime:显示系统的运行时间和空闲时间

/proc/[pid]/:每个运行中的进程部有一个以其PID(进程标识符)命名的子目录,包含该进程的详细信息,如状态、内存映射打开的交件等。

/sys 目录

/sys 目录是另一个虚拟文件系统,提供系统设备和内核信息。与/proc 类似,/sys 目录中的内容也是由内核在运行时动态生成的。/sys 目录主要用于提供内核与用户空间之间的接口,允许用户查看和配置硬件设备。

常见的文件和目录包括:

/sys/class/:分类显示不同类型的设备,如网络设备(/sys/class/net)、块设备(/sys/class/block)等

/sys/devices/:显示系统中的所有设备,以设备树的形式组织

/sys/module/:显示已加载的内核模块及其参数

/root 目录

/root 目录是超级用户(ro0t)的主目录。与普通用户的主目录位于home下不同,root用户的主目录直接位于根目录下:这是因为root用户需要在单用户模式下进行系统维护和修复,/root目录可以在没有挂载其他文件系统的情况下访问。

常见的文件和目最包括:

/root.bashrc:root用户的BashShell配置文件

/root.profile:root 用户的环境设置文件

/run 目录

/run 目录是一个临时文件系统。用于存故系统运行时的状态文件和进程信息。它是在系统启动时动态创建的,并且其内客在每次启动时都会被清空。

常见的文件和目录包括:

/run/lock:用手锁文件,防止多个进程同时访问同一个资源

/run/user/:用于用户相关的运行时数据,每个用户都有一个以其UID 命名的子目录

/srv 目录

/srv 目录用于存放服务相关的数据,srv是"service"的缩写,表示该目录用于存放系统提供的各种服务的数据。例如,Web 服务器的文件可以存放在 /srV/WWW 下,FTP 服务器的文件可以存放在/srv/ftp 下./srv 目录结构可以根据具体服务的需求进行自定义。

/ost+found 目录

/lost+found 目录存在于每个使用 ext 文件系统(如 ext2.ext3、ext4)的文件系统根目录下。它用于存放文件系统在崩溃或损坏后恢复的文件碎片。当文件系统进行fsck(文件系统一致性检查)时,找回的孤立文件会被放置在/ost+found 目录中。系统管理员可以在检查后决定如何处理这些文件。

相关推荐
重生之我是数学王子几秒前
网络编程 TCP编程 Linux环境 C语言实现
linux·服务器·c语言·网络·tcp/ip
花生的酱几秒前
第二章 IP、子网划分、VRP
服务器·网络·tcp/ip
hgdlip2 分钟前
网络设置:静态IP与动态IP,何去何从?
网络·网络协议·tcp/ip
阑梦清川3 分钟前
JavaEE初阶---网络原理之TCP篇(二)
服务器·网络·tcp/ip
1037号森林里一段干木头3 分钟前
ubuntu双屏只显示一个屏幕另一个黑屏
linux·运维·ubuntu
Хайде8 分钟前
VIM的使用
linux·编辑器·vim
夜观天象昼编程19 分钟前
服务器的免密登录和文件传输
运维·服务器
skywind34 分钟前
为什么 C 语言数组是从 0 开始计数的?
c语言·开发语言·网络·c++
vvw&1 小时前
Flarum:简洁而强大的开源论坛软件
运维·服务器·部署·flarum·论坛