Linux目录

一、概述

名称含义简称
/整个文件系统的最上层根目录
/bin存放必要的命令,这些命令对于系统的正常运行至关重要,可供所有用户使用二进制目录
/boot存放引导加载程序和内核镜像文件,这些文件用于启动系统
包含系统所需的文件:
GRUB引导加载程序的文件
Linux内核
启动文件目录
/dev包含代表许多设备的特殊文件和为伪设备
/dev/sda表示系统中第一个SATA驱动器
/dev/random产生随机数(伪设备)
/dev/null一种特殊设备,不产生任何输出并自动丢弃所有输出
设备文件目录
/etc包含系统范围内的配置文件
注:特定于用户的配置文件位于每个用户的家目录中
配置文件目录
/home用户的家目录,包含用户的数据文件和用户特定的配置文件用户主目录
/rootroot用户的家目录超级用户目录
/run用于存储系统启动以来的信息,如正在运行的服务的状态文件运行信息目录
/sbin目录包含二进制文件命令目录
/tmp存储临时文件,重启时自动清理临时文件目录
/usr(unix software resource)包含用户使用的应用程序和文件,而不是系统使用的应用程序和文件
/usr/bin:非必需的应用程序
/usr/sbin:非必需的系统管理二进制文件
/usr/local:本地编译的应用程序安装目录
/usr/lib:/usr/bin目录中的二进制文件所需的库文件
用户程序目录
/var包含系统运行中内容不断变化的文件
日志,脱机文件和历史电子邮件文件
变量数据目录
/lib/ bin和/sbin目录中二进制需要的库文件库文件目录
/media可移除媒体挂载点,用于挂载外部媒体设备,如 U 盘、CD/DVD 驱动器等挂载目录
/mnt临时挂载文件系统的位置临时挂载目录
/opt可选应用软件包目录(空目录,不知道放哪就放这里)应用程序目录
/proc虚拟文件系统,将内核于进程状态归档为文本文件
该目录是一个虚拟目录,是系统内存的映射,可以通过直接访问这个目录来获取系统信息
系统运行信息目录
/srv保存系统提供的服务的数据
/cdrom插如CD-ROM临时位置
注:临时媒体的标准位置在/media
/lost+found存放系统系统异常时文件的碎片,以便恢复



二、/usr /opt /etc

/usr 目录

系统级应用和库:/usr 目录主要用于存放系统级的应用程序和库文件。这里存放的软件通常被认为是系统的一部分,是预装的或通过包管理器安装的。

  • Web 服务器:例如 Apache HTTP Server (httpd)、Nginx (nginx)。
  • 数据库管理系统:如 MySQL (mysql-server)、PostgreSQL (postgresql)。
  • 编程语言和解释器:如 Python (python3)、Ruby (ruby)。
  • 文本编辑器:如 Vim (vim)、Nano (nano)。
  • 编译器和开发工具:如 GCC (gcc)、GDB (gdb)。
  • 实用工具:如 Git (git)、Docker (docker)。

这些软件通常安装在 /usr/bin、/usr/lib、/usr/local 等子目录中。

/opt 目录

可选的第三方应用:/opt 目录通常用于安装那些不是系统核心部分的可选应用或服务,特别是那些由特定供应商提供的软件包。

  • 办公套件:如 LibreOffice (libreoffice)。
  • 数据库系统:如 MongoDB (mongodb)。
  • 企业级应用:如 Oracle 数据库 (oracle)、SAP HANA (sap-hana)。
  • 开发工具:如 IntelliJ IDEA (intellij-idea)、Eclipse (eclipse)。
  • 多媒体应用:如 VLC Media Player (vlc)。

这些软件通常作为一个完整的包安装在 /opt 下的单独目录中,例如 /opt/libreoffice 或 /opt/mongodb。

/etc 目录

系统配置文件:/etc 目录主要用于存放各种服务和应用的配置文件。这里存放的文件通常不是可执行文件,而是配置文件或脚本。

  • 系统服务配置:如 SSH (sshd_config)、NetworkManager (NetworkManager.conf)。
  • Web 服务器配置:如 Apache (httpd.conf)、Nginx (nginx.conf)。
  • 数据库配置:如 MySQL (my.cnf)、PostgreSQL (postgresql.conf)。
  • 防火墙配置:如 iptables (iptables.rules)。
  • 系统工具配置:如 cron (crontab)。

这些配置文件通常位于 /etc 目录及其子目录中,例如 /etc/httpd、/etc/mysql 等。

示例

Apache Web 服务器:Apache 可能安装在 /usr 目录下,其配置文件位于 /etc/httpd。

  • /usr/sbin/httpd:Apache 服务器的可执行文件。
  • /etc/httpd/conf/httpd.conf:Apache 的主配置文件。
  • /etc/httpd/conf.d:存放站点配置文件。

MongoDB 数据库:MongoDB 可能安装在 /opt 目录下。

  • /opt/mongodb/bin/mongod:MongoDB 服务器的可执行文件。
  • /etc/mongod.conf:MongoDB 的配置文件。

SSH 服务:SSH 服务的配置文件位于 /etc 目录下。

  • /etc/ssh/sshd_config:OpenSSH 服务器的配置文件。



三、二进制文件和库文件(/bin和/lib)

库文件:

  • 定义:预编译好的代码集合,用于提供功能给程序使用
  • 用途:提供功能给多个程序共享
  • 类型:静态库(编译时链接)、动态库(运行时链接)
  • 位置:/lib、/usr/lib、/usr/local/lib 等
  • 示例:/lib64/libc.so.6(动态库)
    • 用途:提供 C 语言的标准库功能。
    • 内容:预编译的代码,实现了如 malloc、free、printf 等函数。
    • 链接方式:在程序运行时动态链接

二进制文件:

  • 定义:编译后的机器码文件,可以直接执行
  • 用途:直接运行的程序文件
  • 位置:/bin、/sbin、/usr/bin、/usr/sbin 等
  • 示例:/bin/ls
    • 用途:列出目录内容。
    • 内容:编译后的机器码,可以直接执行。
    • 执行方式:直接运行

库文件可以类比为java中jar包,二进制文件可以类比为.class文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值