Linux目录理解

news2025/3/20 2:11:34

前言

最近在复习linux,发现有些目录总是忘记内容,发现有些还是得从原义和实际例子去理解会记忆深刻些。以下是个人的一些理解

Linux目录

常见的Linux下的目录如下:
image-20250316225021912

1. 根目录 / (Root Directory)

  • 英文含义/ 是文件系统的根(root)目录。它是所有文件和目录的起点,类似于树的根,所有其他文件夹和文件都是从这里延伸出来的。
  • 作用:作为文件系统的根目录,它是所有路径的起始点。
  • PS:根目录在系统启动初期可能是只读挂载的,普通用户无法直接在根目录下创建文件,只有管理员(root 用户)有权限操作。
  • 实际例子:运行 ls / 可以列出根目录下的所有子目录

2. /bin (Binary Files)

  • 英文含义bin 是 “binary”(二进制)的缩写,表示存放可执行程序的地方。这些二进制文件是操作系统和用户交互的基本命令。

  • 作用:包含启动和运行操作系统所需的基本命令。这里的命令是系统和用户都可以使用的,甚至在单用户模式下也可以执行。

  • 常见文件

    • /bin/ls:列出当前目录下的文件和文件夹(ls 是 “list” 的缩写)。
    • /bin/cp:复制文件或目录(cp 是 “copy” 的缩写)。
    • /bin/mv:移动或重命名文件或目录(mv 是 “move” 的缩写)。
    • /bin/rm:删除文件或目录(rm 是 “remove” 的缩写)。
  • PS:在现代 Linux 发行版中,/bin 有时会符号链接到 /usr/bin,这是因为 Filesystem Hierarchy Standard (FHS) 的演进,旨在统一二进制文件存放位置。

  • 实际例子:运行 which ls 会返回 /bin/ls,告诉你 ls 命令的具体路径。

image-20250316232449259

3. /sbin (System Binary Files)

  • 英文含义sbin 是 “system binary”(系统二进制)的缩写,存放的是需要管理员权限来执行的系统管理命令。
  • 作用:包含系统管理和维护所需的命令,普通用户一般不需要使用这些命令,除非是系统管理员。
  • 常见文件
    • /sbin/init:系统初始化进程,是系统启动时运行的第一个程序。
    • /sbin/reboot:重启系统的命令。
    • /sbin/shutdown:关闭系统的命令。
  • PS:这些命令通常需要超级用户权限(sudo),普通用户尝试直接运行会提示权限不足。
  • 实际例子:执行 sudo /sbin/fdisk -l 可以列出磁盘分区信息(需要 root 权限)。这些命令通常用于系统维护和调试。

image-20250316232551196

4. /etc (Etcetera - Configuration Files)

  • 英文含义etc 是 “et cetera”(等等)的缩写,虽然这个名字没有直接说明它的内容,但通常用于存放系统配置文件(历史遗留问题,遗传unix)。
  • 作用:包含所有系统和程序的配置文件。通常会在这里配置一些与程序、用户、服务等相关的设置。
  • 常见文件
    • /etc/passwd:存储用户账户信息的文件。这里包括每个用户的用户名、密码、UID 和 GID 等信息。
    • /etc/fstab:用于系统启动时挂载文件系统的配置文件。
    • /etc/hostname:存储系统主机名的文件。
    • /etc/network/interfaces:配置网络接口的文件。
  • PS/etc 不仅是系统配置的中心,许多服务的配置文件也集中在这里,例如 Apache、Nginx 或 SSH。
  • 常见文件补充
    • /etc/resolv.conf:定义 DNS 服务器地址,用于网络域名解析。
    • /etc/crontab:系统级别的定时任务配置文件。
  • 实际例子:编辑 /etc/hosts 可以添加本地主机名解析,例如 127.0.0.1 mylocalserver。你可以在这些配置文件中修改系统和服务的行为。

5. /home (Home Directories)

  • 英文含义home 目录存放的是每个用户的家目录。这里是每个用户存放个人文件的地方。
  • 作用:存放用户个人文件,会在这里存放自己的代码、文档等文件。
  • 常见文件
    • /home/username:每个用户的个人目录,username 是你的用户名。例如,如果你的用户名是 oy,你的家目录就是 /home/oy
  • PS:用户的家目录通常包含隐藏文件(以 . 开头),如 .bashrc.profile,用于配置用户的 shell 环境。
  • 实际例子:在 /home/username 下运行 ls -a 可以看到 .bash_history,记录用户执行过的命令历史。

6. /var (Variable Files)

  • 英文含义var 是 “variable”(可变的)的缩写,表示存放那些内容经常变化的文件。通常包括日志、缓存、队列等。
  • 作用:存放程序运行时产生的动态数据,比如日志文件、缓存文件等。
  • 常见文件
    • /var/log:存放日志文件的目录。可以在这里查看系统和应用程序的日志信息,用来调试程序。
    • /var/tmp:存放临时文件的目录,这些文件在系统重启后可能还会存在。
    • /var/spool:存放程序任务队列文件,比如邮件队列、打印队列等。
  • PS/var 的内容通常与系统运行时间相关,占用空间可能会随时间增长,因此需要定期清理(如日志文件)。
  • 常见文件补充
    • /var/mail:存放用户邮件的目录(如果系统配置了邮件服务)。
  • 实际例子:运行 tail -f /var/log/syslog 可以实时查看系统日志,用于调试。

7. /lib/lib64 (Libraries)

  • 英文含义lib 是 “library”(库)的缩写,包含了程序运行所依赖的共享库文件。
  • 作用:存放系统和应用程序使用的共享库文件。共享库文件包含了程序运行时需要的函数、代码等。
  • 常见文件
    • /lib/libc.so:C 标准库的共享库文件,很多程序都依赖它。
    • /lib64/libc.so:64 位版本的 C 标准库共享库文件。
  • PS/lib64 只存在于 64 位系统上,用于区分 32 位和 64 位库文件。32 位库可能存放在 /lib32
  • 实际例子:运行 ldd /bin/ls 可以查看 ls 命令依赖的共享库文件路径。

image-20250316232757176

8. /tmp (Temporary Files)

  • 英文含义tmp 是 “temporary”(临时的)的缩写,表示存放临时文件的地方。
  • 作用:用于存储系统或应用程序在运行过程中产生的临时文件。通常这些文件不会永久保留,系统重启后有时会被清除。
  • 常见文件
    • /tmp:存放临时文件的目录,程序在运行时可能会创建文件存放在这里。比如安装程序临时解压的文件、应用程序的缓存文件等。
  • PS/tmp 的内容通常由系统服务(如 tmpfiles.d)或重启时自动清理,清理规则可能在 /etc/tmpfiles.d/ 中定义。
  • 实际例子:运行 echo "test" > /tmp/testfile 创建临时文件,重启后检查是否被清除。在处理临时数据时,可能会使用这个目录来存放文件,确保数据不会占用永久存储空间。

9. /dev (Device Files)

  • 英文含义dev 是 “devices”(设备)的缩写,表示设备文件的目录。
  • 作用:存放所有设备文件,这些设备文件让用户和应用程序可以与硬件设备进行交互。设备文件可以是硬盘、键盘、显示器、串口等设备的接口。
  • 常见文件
    • /dev/sda:表示系统中的第一个硬盘。
    • /dev/tty:表示终端设备,用于用户与系统交互的控制台。
    • /dev/null:空设备,写入它的所有数据都会丢失。常用它来丢弃不需要的输出。
  • PS:Linux 遵循“一切皆文件”的哲学,设备文件分为字符设备(如 /dev/tty)和块设备(如 /dev/sda)。
  • 常见文件补充
    • /dev/random/dev/urandom:生成随机数的伪设备文件,常用于加密或测试。
  • 实际例子:运行 cat /dev/urandom | head -c 10 可以生成 10 字节的随机数据。常常会通过设备文件来与硬件设备进行交互,例如读写硬盘,控制外部设备等。

10. /mnt (Mount Points)

  • 英文含义mnt 是 “mount”(挂载)的缩写,表示挂载点的目录。
  • 作用:用于临时挂载文件系统的目录。当你挂载一个磁盘或其他文件系统时,它的内容会显示在 /mnt 下的子目录中。
  • 常见文件
    • /mnt:这个目录通常为空,系统管理员可以在这里挂载外部存储设备或分区。比如,挂载一个 USB 驱动器时,可能会在 /mnt/usb 下显示该驱动器的文件系统。
  • PS:与 /mnt 类似,/media 也常用于挂载,但 /media 更倾向于用户手动挂载的设备(如 U 盘)。
  • 实际例子:运行 sudo mount /dev/sdb1 /mnt 将第二个硬盘的第一个分区挂载到 /mnt。有时会使用这个目录来挂载外部存储或进行调试。

11. /opt (Optional Add-on Software Packages)

  • 英文含义opt 是 “optional”(可选的)的缩写,表示可选的附加软件包。
  • 作用:存放可选的第三方软件包及其相关文件。与 /usr 目录类似,但 /opt 通常用于那些不属于系统基础安装的软件。
  • 常见文件
    • /opt:存放附加软件的目录。比如你安装了一些额外的第三方应用程序,它们通常会存放在这里。
  • PS/opt 中的软件通常自成体系,包含自己的子目录(如 /opt/appname/bin),便于独立管理。
  • 实际例子:安装 Google Chrome 时,它可能被放置在 /opt/google/chrome。一般会在这里安装一些额外的应用程序或库,以便开发自己的应用。

12. /usr (User Programs)

  • 英文含义usr 是 “user”(用户的)或 “Unix System Resources”(Unix 系统资源)的缩写。
  • 作用:存放系统和应用程序的可执行文件、库文件以及共享数据等。这个目录包含了大部分的用户程序和资源文件。
  • 常见文件
    • /usr/bin:存放用户应用程序的命令。
    • /usr/lib:存放系统和程序使用的库文件。
    • /usr/share:存放共享数据文件,如文档、图标、语言文件等。
    • /usr/local:存放本地安装的应用程序,通常由管理员手动安装,不属于系统默认软件。
  • PS/usr 是系统安装后的大本营,通常占用较多磁盘空间。/usr/local 是用户自定义安装的首选位置,避免与系统包管理器冲突。
  • 常见文件补充
    • /usr/include:存放 C/C++ 的头文件,编译程序时需要。

image-20250316232911181

  • 实际例子:运行 /usr/bin/python3 启动系统安装的 Python 解释器。通常会在 /usr 下存放安装的软件包和共享资源。

13. /srv (Service Data)

  • 英文含义srv 是 “service”(服务)的缩写,表示服务数据的目录。
  • 作用:存放服务提供的数据,通常是系统服务或者用户服务的文件。例如,网站的页面文件、数据库文件等。
  • 常见文件
    • /srv/www:存放 Web 服务器的数据文件,如网站的文件。
    • /srv/ftp:存放 FTP 服务器的数据文件。
  • PS/srv 的使用因系统而异,有些发行版可能不默认使用,管理员可以根据需要自定义。
  • 实际例子:运行 Nginx 时,可以将网站文件放在 /srv/www/html。可能会在这里放置由服务器提供的数据或文件,如网站文件、数据库文件等。

14. /sys (System Information)

  • 英文含义sys 是 “system”(系统)的缩写,表示系统信息的目录。
  • 作用:提供关于系统内核和硬件的实时信息。这里存放了很多虚拟文件,它们代表了系统的状态,可以通过读取这些文件来获取系统的运行状态。
  • 常见文件
    • /sys/class:存放系统硬件的信息,如网络设备、存储设备等。
    • /sys/fs:存放文件系统的信息,如挂载的文件系统。
  • PS/sys 是 sysfs 文件系统的一部分,与 /proc 类似,但更专注于硬件和内核参数。

15. /proc (Process Information)

  • 英文含义proc 是 “process”(进程)的缩写,表示进程信息的目录。
  • 作用:提供关于运行中的进程、内核等信息。这个目录下的文件是虚拟文件,它们不存储数据,而是内核实时生成的数据。可以用它来监控系统状态,获取进程信息。
  • 常见文件
    • /proc/cpuinfo:显示 CPU 信息。
    • /proc/meminfo:显示内存使用情况。
    • /proc/[pid]:每个进程都有一个对应的目录,[pid] 是进程 ID。你可以在这里查看进程的内存、CPU 使用情况等。
  • PS/proc 是 procfs 文件系统,内容完全动态生成,占用内存而非磁盘空间。
  • 常见文件补充
    • /proc/uptime:显示系统运行时间(秒)和空闲时间。
  • 实际例子:运行 cat /proc/self/stat 查看当前进程(即 cat 命令本身)的状态。可以通过 /proc 目录获取系统资源的详细信息,用于性能监控或调试。

image-20250317000349165

16. /boot (Boot Loader Files)

  • 英文含义boot 是 “bootstrap”(引导)的缩写,表示系统启动相关文件。
  • 作用:存放启动加载程序(bootloader,如 GRUB)和内核映像文件。
  • 常见文件
    • /boot/vmlinuz:压缩的 Linux 内核文件。
    • /boot/grub/grub.cfg:GRUB 引导配置文件。

17. /run (Runtime Data)

  • 英文含义run 表示运行时数据。
  • 作用:存放系统运行时的临时文件(如 PID 文件或锁文件),通常在重启后清空。
  • 常见文件
    • /run/lock:存放锁文件,防止多个进程冲突。
  • 实际例子:运行 cat /run/mysqld/mysqld.pid 查看 MySQL 服务的进程 ID。

image-20250317001316555

18. /lost+found

  • 英文含义:表示“丢失并找到”的文件。
  • 作用:在文件系统检查(如 fsck)后,损坏或未链接的文件会存放在这里。

建议

自己手动查看一下目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可视化图解算法:链表中倒数(最后)k个结点

1. 题目 描述 输入一个长度为 n 的链表,设链表中的元素的值为ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 数据范围:0≤n≤105,0 ≤ai≤109,0 ≤k≤109 要求&am…

Swift 并发中的任务让步(Yielding)和防抖(Debouncing)

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

HW基本的sql流量分析和wireshark 的基本使用

前言 HW初级的主要任务就是看监控(流量) 这个时候就需要我们 了解各种漏洞流量数据包的信息 还有就是我们守护的是内网环境 所以很多的攻击都是 sql注入 和 webshell上传 (我们不管对面是怎么拿到网站的最高权限的 我们是需要指出它是…

docker-compose install nginx(解决fastgpt跨区域)

CORS前言 CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种安全措施,它允许或拒绝来自不同源(协议、域名、端口任一不同即为不同源)的网页访问另一源中的资源。它的主要作用如下: 同源策略限制:Web 浏览器的同源策略限制了从一个源加载的文档或脚本如何与另一…

设计模式(创建型)-单例模式

摘要 在软件开发的世界里,设计模式是开发者们智慧的结晶,它们为解决常见问题提供了经过验证的通用方案。单例模式作为一种基础且常用的设计模式,在许多场景中发挥着关键作用。本文将深入探讨单例模式的定义、实现方式、应用场景以及可…

鸿蒙NEXT开发问题大全(不断更新中.....)

目录 问题1:鸿蒙NEXT获取华为手机的udid ​问题2:[Fail]ExecuteCommand need connect-key? 问题3:测试时如何安装app包 问题1:鸿蒙NEXT开发获取华为手机的udid hdc -t "设备的序列号" shell bm get --udid 问题2&…

TI的Doppler-Azimuth架构(TI文档)

TI在AWR2944平台上推出新的算法架构,原先的处理方式是做完二维FFT后在RD图上做CFAR检测,然后提取各个通道数据做测角。 Doppler-Azimuth架构则是做完二维FFT后,再做角度维FFT,生成Doppler-Azimuth频谱图,然后在该频谱图…

「自动驾驶的数学交响曲:线性代数、微积分与优化理论的深度共舞」—— 解析人工智能背后的高阶数学工具链

引言 自动驾驶系统是数学工具链的集大成者。从传感器数据的多维空间映射到控制指令的生成,每一步都隐藏着线性代数、微积分、概率论和优化理论的精妙配合。本文将构建一个数学模型完整的自动驾驶案例,结合Python代码实现,揭示以下核心数学工具: 线性代数:张量运算与特征空…

调试 Rust + WebAssembly 版康威生命游戏

1. 启用 Panic 日志 1.1 让 Panic 信息显示在浏览器控制台 如果 Rust 代码发生 panic!(),默认情况下不会在浏览器开发者工具中显示详细的错误信息。这使得排查问题变得困难。 我们可以使用 console_error_panic_hook 这个 Rust crate,将 Panic 信息打…

VSCode通过SSH远程登录Windows服务器

系列 1.1 VSCode通过SSH远程登录Windows服务器 1.2 VSCode通过SSH免密远程登录Windows服务器 文章目录 系列1 准备工作2 远程服务器配置2.1 安装SSH服务器2.2 端口 3 本地电脑配置3.1 安装【Remote - SSH】。3.2 登录 1 准备工作 本地电脑Windows 11,已安装VS Cod…

qt下载和安装教程国内源下载地址

qt不断在更新中,目前qt6日渐成熟,先前我们到官方下载或者国内镜像直接可以下载到exe文件安装,但是最近几年qt官方似乎在逐渐关闭旧版本下载通道,列为不推荐下载。但是qt5以其广泛使用和稳定性,以及积累大量代码使得qt5…

mysql 到 doris 挪移数据

工具datax..... 下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz 下载以后解压:tar -xvzf datax.tar.gz 然后,理论上就可以直接使用了。但是,datax本身是python2写的,如果需要python3…

ubuntu系统下添加pycharm到快捷启动栏方法

一、背景 之前在ubuntu系统下使用pycharm时,总是要进入/home/dlut/pycharm-community-2022.1/bin文件夹下,然后终端执行命令下面的命令才可修改代码: ./pycharm.sh为了以后方便,这里给出添加pycharm到快捷启动栏的方法 二、添加…

开源:LMDB 操作工具:lmcmd

目录 什么是 LMDB为什么编写 lmcmd安装方法如何使用 连接数据库命令列表 小结 1. 什么是 LMDB LMDB(Lightning Memory-Mapped Database)是一种高效的键值存储数据库,基于内存映射(memory-mapping)技术,提供…

angular中的路由传参

目录 一、矩阵参数 一、矩阵参数 在angular中传参时可以使用矩阵参数,即直接通过变量值的形式在地址中体现,但需要注意参数的使用范围为当前路径段,而不是全局的查询参数。 const params {name: lhhh,age: 18,list: [{ name: htt }],}; //先…

AI时代下的心理咨询师新利器:心理咨询小程序

在AI技术日新月异的今天,心理咨询师们也需要与时俱进,借助新型工具来提升咨询效率和服务质量。正如一位优秀的厨师离不开一把锋利的菜刀,心理咨询师同样需要一款得力助手来辅助其工作。而心理咨询小程序,正是这样一款应运而生的工…

垃圾分类--环境配置

写在前面: 如果你们打这届比赛时,还有我们所保留的内存卡,那么插上即可运行(因为内存卡里我们已经配置好所有的环境) 本文提供两种环境的配置 一种是基于yolov8:YOLOv8 - Ultralytics YOLO Docshttps://d…

json字符串转对象,对象转JSON

背景: JSON字符串与对象之间的转换。在对接接口的数据的时候,因为是实时数据转发过来的。发现后端发过的数据是字符串【JSON字符串】但是我们前端需要的是一个对象。 核心代码: JSON.parse(JSON字符串) 效果展示: 接口JSON字符串转…

pandas中excel自定义单元格颜色

writerpd.ExcelWriter(filepathf05教师固定学生占比1月{today}.xlsx,engineopenpyxl) df.to_excel(writer,sheet_name明细) piv1.to_excel(writer,sheet_name1月分布) wswriter.book.create_sheet(口径) ws.cell(1,1).value综合占比: ws.cell(1,2).value固定学生占比…

3D标定中的平面约束-平面方程的几何意义

平面方程的一般形式为 AxByCzD0,其中系数 A、B、C、D共同决定了平面的几何特性。 系数对平面姿态的影响 1. 法向量方向2. 平面位置3. 比例关系4. 姿态变换5.平面空间变换 1. 法向量方向 法向量方向由 A、B、C 决定 核心作用:系数 A、B、C 构成的向量 (…