Linux目录

首先注意usr 指 Unix System Resource,而不是User

然后通常:

/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。

/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

/bin
在Linux系统中,根目录下的 /bin 目录是 “binary” 的缩写,意味着“二进制”的意思。这个目录主要用于存放重要的二进制执行文件,即可执行文件。

/bin 目录的主要用途如下:

基本命令工具:它包含了用户在单用户模式或系统启动时所需的基本命令工具。这些工具对于系统管理和维护是必不可少的。
系统启动和恢复:在系统启动和恢复时,特别是在紧急情况下或维护模式下,/bin 目录中的工具非常关键,因为它们提供了基础的文件操作和系统检查功能。
静态编译的命令:/bin 目录中的大多数命令是静态编译的,这意味着它们不依赖于系统上的其他库文件。因此,在系统的某些库损坏或丢失时,这些命令仍然可以运行。
日常操作:普通用户和系统管理员经常使用/bin目录中的命令进行日常的文件管理和系统操作,例如 ls, cp, mv, cat, rm 等。
/sbin
在Linux系统中,根目录下的 /sbin 目录是 “system binary” 的缩写。这个目录主要用于存放系统管理和维护相关的二进制执行文件,即系统管理员使用的可执行命令。

/sbin 目录的主要用途如下:

系统管理命令:它包含用于系统管理的命令,如启动、修复、恢复、配置网络等操作。这些命令通常由系统管理员使用,而不是普通用户。
启动和恢复过程中的命令:在系统启动和恢复过程中,/sbin 目录中的命令非常重要,因为它们涉及到系统的核心操作。
关键服务的管理:例如,网络服务(如ifconfig, iptables)、文件系统服务(如fsck, mount)、以及其他系统级服务的管理和操作工具通常位于这个目录。
与/bin目录不同的是,/sbin目录中的命令更专注于系统级的管理操作,而非普通用户的日常任务。由于这些命令通常具有较高的权限要求和复杂性,因此通常仅由具有管理员权限的用户使用。

/boot
在Linux系统中,根目录下的 /boot 目录不是一个缩写,它直接代表 “boot”, 意味着启动。这个目录用于存放启动Linux系统时所需的关键文件。

/boot 目录的主要用途如下:

内核文件:最重要的是Linux内核文件,通常命名为 vmlinuz 或类似的名称。这是系统启动时加载的核心文件。
引导加载器配置:如GRUB(GNU GRand Unified Bootloader)的配置文件。这些文件用于配置启动菜单和其他启动时的选项。
初始内存磁盘映像(initrd 或 initramfs):这是一个临时的根文件系统,用于支持内核的启动过程。它在内核能够挂载实际的根文件系统之前提供必要的驱动程序和工具。
系统映射文件:如内存映射等,有助于内核了解系统的硬件布局。
简而言之,/boot 目录包含了启动Linux系统所必需的文件,包括内核本身、引导加载器的配置文件,以及在系统启动过程中所需的其他关键文件。这些文件对于系统的启动和运行至关重要。

/cdrom
在Linux系统中,根目录下的 /cdrom 目录并不是一个缩写,而是一个字面上的表示,指的是“CD-ROM”。这个目录通常用作CD-ROM驱动器的挂载点。

/cdrom 目录的主要用途如下:

CD-ROM挂载点:当你插入一个CD或DVD时,Linux系统可以将这个光盘自动挂载到/cdrom目录。这样,用户就可以访问光盘上的文件和数据。
兼容性和方便性:这个目录提供了一个标准和方便的位置来访问CD-ROM上的数据。虽然现代Linux系统通常使用/media或/mnt下的子目录作为外部存储设备的挂载点,/cdrom仍被保留,以保持向后兼容性。
软件安装和数据恢复:在一些情况下,比如从CD-ROM安装软件或进行系统恢复时,/cdrom目录是访问这些光盘内容的一个重要途径。
虽然随着USB驱动器和网络存储的普及,CD-ROM的使用已经大大减少,但在一些特定场景中,特别是在较老的系统或具有特定需求的环境中,/cdrom目录仍然发挥着作用。

/dev
在Linux系统中,根目录下的 /dev 目录是 “device” 的缩写。这个目录非常重要,它用于表示设备文件。

/dev 目录的主要用途如下:

设备文件的表示:在Linux中,几乎所有的硬件设备都以文件的形式表示,而这些设备文件就存放在/dev目录下。这些设备包括硬盘、分区、USB驱动器、声卡、打印机等。
字符设备和块设备:/dev目录包含两种主要类型的设备文件:字符设备(character devices)和块设备(block devices)。字符设备允许系统以字符为单位进行数据读写(例如键盘),而块设备则以块为单位进行数据处理(例如硬盘)。
系统和硬件交互的接口:这个目录为操作系统提供了与物理硬件交互的接口。通过在/dev目录中的设备文件进行读写操作,系统和程序能够与实际的硬件设备通信。
伪设备的表示:此外,/dev目录还包含一些伪设备文件,如/dev/null、/dev/random 和 /dev/zero,它们提供了特殊的功能,但并不对应于物理硬件。
简而言之,/dev目录是Linux系统中用于存放设备文件的地方,这些文件代表了系统中的硬件设备,使得操作系统和程序可以通过标准的文件操作接口来访问和控制这些硬件设备。

/etc
在Linux系统中,根目录下的 /etc 目录并非一个缩写,它通常被解释为 “et cetera”,拉丁语中的“等等”。这个目录在Linux系统中扮演着非常关键的角色,因为它包含了系统配置文件和脚本。

/etc 目录的主要用途包括:

系统配置文件:这个目录包含了几乎所有的系统级配置文件。这些配置文件用于定义系统的行为和参数。例如,网络配置、系统服务(daemon)配置、用户账户限制、启动脚本等。
服务启动脚本:在某些Linux发行版中,/etc也包含了启动系统服务的脚本。虽然一些现代的Linux发行版可能使用像systemd这样的系统和服务管理器,但/etc仍然包含相关的配置文件。
主机信息:例如,/etc/hosts 文件用于存储静态的主机名和IP地址的映射信息。
用户账户和组信息:如/etc/passwd 和 /etc/group 文件,存储用户账户和组的信息。
安全和权限设置:例如,/etc/sudoers 文件定义了哪些用户和组可以使用sudo命令,以及它们可以执行哪些命令。
应用程序配置:很多应用程序也在/etc目录下存放它们的配置文件,这样即使在升级应用程序时,原始的配置也能保留下来。
简而言之,/etc 目录是Linux系统中用于存放系统和应用程序的配置文件的地方。这些配置文件对于系统的正常运行和行为定制至关重要。

/home
在Linux系统中,根目录下的 /home 目录并不是一个缩写。这个目录字面上表示“家”,它通常用于存放普通用户的个人数据和配置文件。

/home 目录的主要用途包括:

用户数据存储:每个有权限访问Linux系统的用户通常会在/home目录下拥有一个以他们的用户名命名的子目录。例如,一个名为john的用户将有一个路径为/home/john的目录。
个人配置文件:用户的个人配置文件通常也存放在他们的/home目录中。这些文件包括用户的个人设置,如桌面环境配置、用户安装的程序的配置文件等。
文档和媒体存储:用户可以在他们的/home目录中存储个人文件、文档、图片、音乐等媒体文件。
隔离和安全:/home目录提供了一个隔离的环境,用户在自己的家目录中的操作不会影响到其他用户的数据或系统的其他部分。每个用户目录的访问权限通常限制为该用户本身,增加了系统的安全性。
简而言之,/home目录是Linux系统中每个用户存放个人文件和配置的地方,它为用户提供了一个私人的、隔离的工作空间。

/lib
在Linux系统中,根目录下的 /lib 目录是 “library” 的缩写。这个目录用于存放系统运行时所需的基本共享库文件和内核模块。

/lib 目录的主要用途如下:

共享库文件:共享库(通常是.so文件,即共享对象文件)是可以被多个程序共同使用的代码和数据的集合。这些库提供了程序运行时所需的基本函数和资源,例如标准C库(libc.so)。
链接器和加载器:/lib目录还包含动态链接器/加载器,如ld-linux.so。这是一个特殊的共享库,用于加载其他共享库并将它们与执行文件链接。
内核模块:在某些Linux发行版中,/lib目录还包含了内核模块(在/lib/modules目录中)。这些模块可以在系统运行时动态加载或卸载,用于扩展内核的功能,而无需重新编译或重启内核。
系统级程序的库文件:一些系统级别的程序或服务也可能将它们的共享库存放在/lib目录中。
总的来说,/lib 目录是存放Linux系统运行所必需的共享库和内核模块的地方,这些文件对于系统的正常运行和程序执行至关重要。

/mnt
在Linux系统中,根目录下的 /mnt 目录并不是一个缩写。这个目录的名称代表 “mount”,它主要用作临时挂载文件系统的标准位置。

/mnt 目录的主要用途包括:

临时挂载点:/mnt 通常用于临时挂载外部设备,如USB驱动器、外部硬盘、CD-ROM等。当管理员或用户需要手动挂载一个设备时,/mnt 或其子目录通常被用作挂载点。
测试和维护:在一些情况下,系统管理员可能会在/mnt下创建子目录来临时挂载文件系统,用于测试或维护目的。
灵活性:虽然Linux系统提供了其他标准的挂载点(如/media或/cdrom),/mnt 提供了额外的灵活性,允许用户或管理员根据需要自定义挂载点。
向后兼容性:在早期的Linux系统中,/mnt 曾经是外部存储设备默认的挂载点。虽然现代Linux发行版通常使用/media来自动挂载这些设备,但/mnt目录仍然存在,保持向后兼容性。
简而言之,/mnt目录是Linux系统中用于临时挂载文件系统的地方,提供了一个方便的位置来访问临时连接的存储设备或其他文件系统。

/opt
在Linux系统中,根目录下的 /opt 目录通常被认为是 “optional” 的缩写。这个目录用于安装和存放第三方应用程序及其相关数据。

/opt 目录的主要用途包括:

第三方软件安装:当从源代码或第三方提供商安装软件时,这些软件通常会被安装在/opt目录下。这包括那些不是通过系统的包管理器安装的软件。
独立软件的存放:为了避免与系统默认的软件包冲突,一些大型的、自包含的软件包(如商业软件或游戏)经常被放置在/opt目录中。
方便管理:将第三方应用程序存放在/opt目录下可以使系统更加整洁,便于管理,尤其是当这些应用程序需要独立于系统包管理器之外更新或维护时。
软件的完整包含:在/opt目录下安装的软件通常包括其所有需要的文件(如库文件、配置文件等),使得这些软件成为自包含的单元。
总的来说,/opt目录在Linux系统中提供了一个存放和管理第三方及自包含软件应用的标准位置,使得这些应用与系统自带的软件包分离,便于维护和管理。

/proc
在Linux系统中,根目录下的 /proc 目录并不是一个缩写。这个目录是一个特殊的文件系统——proc文件系统,它提供了一个接口到内核和运行中的进程的数据结构。

/proc 目录的主要用途包括:

进程信息:/proc 目录包含了每个运行中的进程的子目录,这些子目录以进程的PID(进程标识符)命名。每个子目录下包含了该进程的详细信息,如内存使用、打开的文件、网络状态等。
系统信息:这个目录还包含了关于系统硬件和配置的信息。例如,/proc/cpuinfo 提供CPU的详细信息,/proc/meminfo 显示内存使用情况,而/proc/mounts 则列出了当前挂载的文件系统。
内核参数:/proc 目录还允许访问和修改运行时内核参数。例如,通过读写特定的文件,可以调整内核的行为。
伪文件系统:/proc 不是一个常规的文件系统,它不占用磁盘空间。它是一个伪文件系统,完全在内存中生成,并在访问时动态创建其内容。这意味着它用于表示系统和内核的实时状态。
调试和诊断:对于系统管理员和开发人员来说,/proc 目录是一个非常重要的工具,因为它提供了丰富的内部信息,有助于系统的监控、调试和优化。
简而言之,/proc 目录是一个动态的、虚拟的文件系统,主要用于提供内核、系统环境和正在运行的进程的实时信息。通过它,可以读取和修改系统的某些参数,是Linux系统监控和管理的重要工具。

/run
在Linux系统中,根目录下的 /run 目录不是一个缩写。这个目录是一个较新的标准,用于存放在系统启动后生成的运行时数据。它通常包含自上次启动以来的系统运行信息。

/run 目录的主要用途包括:

运行时数据:/run 存储的是运行时必需的数据,如当前运行的服务的PID文件、锁文件、Unix套接字文件等。
替代旧的目录:在引入/run之前,这些运行时数据存储在多个位置,如/var/run、/var/lock等。/run 的引入旨在将这些散布在不同位置的数据集中到一个单一的位置。
动态生成和临时性质:/run 目录中的数据是动态生成的,它们在系统重启时会被清除。这样,它只包含自系统最后一次启动以来的信息。
支持早期启动服务:/run 为那些在系统文件系统完全挂载之前就启动的服务提供了存储空间。
系统进程通信:它还被用作系统进程间通信的一个接口,例如通过套接字文件。
总的来说,/run目录是一个相对较新的标准,用于存储自系统启动以来生成的运行时数据。这些数据通常是临时的、动态生成的,它们为系统服务的启动和运行提供必要的支持。

/sys
在Linux系统中,根目录下的 /sys 目录不是一个缩写。它是sysfs(系统文件系统)的挂载点,一个虚拟文件系统,用于从用户空间向内核空间提供一个接口。这个目录包含了大量与系统硬件相关的信息和内核参数。

/sys 目录的主要用途包括:

硬件设备信息:/sys 提供了关于系统中所有检测到的硬件设备的详细信息。这包括CPU、内存、存储设备、网络设备等的信息。
内核对象的表示:在/sys中,系统的硬件设备和某些内核数据结构被表示为文件和目录。这使得用户和开发者可以阅读这些文件来获取设备和驱动程序的信息。
设备和驱动程序的交互:用户或管理员可以通过写入/sys目录下的文件来更改设备的设置或触发某些内核操作,从而影响硬件设备的行为。
调试和优化:对于系统管理员和开发者来说,/sys 目录是一个重要的工具,用于调试硬件问题和优化系统性能。
动态视图:与传统的/dev目录不同,/sys提供了一个更为动态的视图,它反映了系统当前的状态和配置。
总的来说,/sys目录在Linux系统中提供了一个丰富的界面,用于检索和控制系统的硬件组件和某些内核参数,它对于系统的管理和调试非常重要。

/tmp
在Linux系统中,根目录下的 /tmp 目录是 “temporary” 的缩写。这个目录用于存储临时文件,即那些在程序运行期间创建但不需要长期保存的文件。

/tmp 目录的主要用途包括:

临时文件存储:程序和服务在运行时会创建临时文件,这些文件通常被存储在 /tmp 目录中。例如,临时缓存文件、会话文件等。
系统重启时清空:在许多Linux系统中,/tmp 目录在系统重启时会自动清空。这意味着存储在此目录中的数据不是持久的。
缓解存储压力:由于 /tmp 通常在重启后清空,因此它可以帮助减少硬盘空间的长期占用。
支持程序的临时需求:很多程序在执行某些操作时,比如编辑文件、处理数据,需要创建临时文件,/tmp 提供了一个便捷的位置用于此类需求。
用户和程序都可访问:/tmp 通常对所有用户和程序都是可写的。因此,这是一个共享的临时文件存储空间。
综上所述,/tmp 目录是Linux系统中用于存放临时文件的地方,这些文件在系统重启后通常会被自动删除。它对于程序的运行和数据处理非常重要,但不应用于存储重要或持久的数据。

/usr
在Linux系统中,根目录下的 /usr 目录通常被认为是 “Unix System Resources” 或 “User System Resources” 的缩写。这个目录在历史上用于存放用户级的系统资源和应用程序,但现在它主要用于存放系统范围内共享的数据。

/usr 目录的主要用途包括:

标准系统二进制文件:/usr/bin 包含了系统用户通常使用的二进制文件(即程序和命令)。
系统库文件:/usr/lib 包含标准库文件和模块,这些文件通常被存放在此处以供系统范围内的程序使用。
文档和手册页:/usr/share 包含了文档、手册页、以及其他共享数据。
静态只读数据:/usr 目录的内容在系统运行后一般不会改变。它包含了非必须的应用程序和文件,不同于/bin和/lib中的那些对系统启动和恢复至关重要的文件。
软件安装:许多从源代码或通过包管理器安装的标准Linux软件和服务都安装在/usr目录下。
可选软件和第三方应用程序:/usr/local 通常用于存储系统管理员手动安装的软件和数据,这些软件可能是从源代码编译的或者不是通过系统的包管理器安装的。
总体来说,/usr 目录是Linux系统中用于存储共享、非临时性的用户级系统资源和应用程序的重要组成部分。它包含了系统运行所需的大多数应用程序和文件。

/var
在Linux系统中,根目录下的 /var 目录是 “variable” 的缩写。这个目录用于存放经常变化的数据,如日志、邮件、缓存和临时文件等。

/var 目录的主要用途包括:

日志文件:/var/log 存放系统日志文件,这些文件记录了各种系统事件、服务和应用程序的日志信息,对于系统监控和故障诊断非常重要。
邮件存储:/var/mail 用于存储用户的邮件数据。
程序数据:很多服务和程序运行时产生的数据存放在 /var 目录下的相应子目录中,如/var/lib 通常用于存放持久化的程序状态数据。
打印队列:/var/spool 包含各种队列数据,如打印作业、邮件队列等。
缓存数据:/var/cache 用于存储应用程序缓存的数据,以便快速重新访问。
临时文件:/var/tmp 类似于 /tmp,但它用于存放在重启过程中仍然需要保留的临时文件。
Web服务器数据:对于运行Web服务的服务器来说,网站的内容经常放在 /var/www 目录下。
简而言之,/var 目录是Linux系统中用于存放经常变动的数据的地方。它对于记录系统运行情况、存储临时数据和处理程序数据至关重要。

/tmp 与 /var/tmp 目录是一样的吗?
答案是否定的。/tmp 目录和 /var/tmp 目录有着显著的差异。尽管他们都是用于处理临时文件,但处理方式却是不同的。

总体来说,/tmp 目录用于存储短期临时文件,而 /var/tmp 目录用于存储长期临时文件。

具体来说:

持久性(Endurance):通常,存储在 /tmp 目录中的文件会在系统启动时删除,而 /var/tmp 中的文件不会被删除;

用户权限和系统范围(For user VS Systemwide):通常来讲,每个用户都可以访问 /tmp 目录中的文件,而 /var/tmp 中的文件大多是针对于特定用户的;

用法(Usage):这个是最关键的区别。/tmp 目录用于存储短时间内所需的文件,如安装软件包;而 /var/tmp 目录用于较长时间所需的文件,如系统备份或日志文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值