Linux 根目录结构详解

Linux 根目录结构详解

1. 什么是 Linux 根目录

Linux 文件系统从一个唯一的顶层目录开始:

text 复制代码
/

这个目录称为:

text 复制代码
根目录
root directory

Linux 不像 Windows 那样主要使用:

text 复制代码
C:\
D:\
E:\

在 Linux 中,所有磁盘、分区、移动硬盘、网络文件系统和设备,最终都会挂载到 / 下面的某个目录。

例如:

text 复制代码
/
├── home
├── usr
├── etc
├── var
├── opt
└── mnt

需要注意:

  • / 是整个文件系统的根目录。
  • /root 是管理员 root 用户的个人主目录。
  • //root 不是同一个目录。

2. Linux 根目录结构总览

常见根目录如下:

text 复制代码
/
├── bin
├── boot
├── dev
├── etc
├── home
├── lib
├── lib64
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin
├── snap
├── srv
├── sys
├── tmp
├── usr
└── var

不同 Linux 发行版可能略有差异,并不是每个系统都一定包含所有目录。


3. 各目录详细说明

/bin

名称来源

text 复制代码
bin = binary

这里的 binary 指可执行程序,而不只是狭义上的"二进制数据"。

主要用途

存放系统最基础、最常用的普通命令。

传统上,即使 /usr 尚未挂载,系统也应能够使用 /bin 中的基础命令。

常见命令

text 复制代码
bash
cat
chmod
cp
date
echo
grep
ls
mkdir
mv
pwd
rm
sed
sh

现代 Linux 中的变化

许多现代系统已经将 /bin 合并到 /usr/bin

检查方法:

bash 复制代码
ls -ld /bin
readlink -f /bin

可能看到:

text 复制代码
/bin -> usr/bin

这表示 /bin 实际上是 /usr/bin 的符号链接。

是否可以修改

不建议手动删除、移动或覆盖其中的文件,否则可能导致系统命令失效。


/sbin

名称来源

text 复制代码
sbin = system binary

也可理解为:

text 复制代码
system administration binaries

主要用途

存放系统管理、磁盘维护、网络配置和启动修复相关命令。

常见命令

text 复制代码
fdisk
fsck
halt
ifconfig
ip
mkfs
reboot
shutdown
swapon
useradd

具体命令可能因发行版不同而变化。

/bin 的区别

text 复制代码
/bin   普通用户经常使用的基础命令
/sbin  系统管理员使用的系统管理命令

普通用户可以看到或运行部分 /sbin 命令,但涉及系统修改时通常需要管理员权限。

例如:

bash 复制代码
sudo fdisk -l

现代 Linux 中的变化

很多系统中:

text 复制代码
/sbin -> /usr/sbin

可以使用:

bash 复制代码
readlink -f /sbin

查看实际位置。


/boot

名称来源

text 复制代码
boot = 系统启动

主要用途

存放 Linux 启动所需文件。

常见内容

text 复制代码
vmlinuz-...
initrd.img-...
initramfs-...
grub/
System.map-...
config-...

其中:

  • vmlinuz:Linux 内核文件。
  • initrdinitramfs:启动早期使用的临时根文件系统。
  • grub:GRUB 启动加载器的配置和相关文件。

是否可以修改

不要随意删除 /boot 中的文件。

错误删除内核或 GRUB 文件可能导致系统无法启动。


/dev

名称来源

text 复制代码
dev = device

主要用途

存放设备文件。

Linux 将许多硬件和虚拟设备表示为文件。

常见内容

text 复制代码
/dev/sda
/dev/sda1
/dev/nvme0n1
/dev/tty
/dev/null
/dev/zero
/dev/random
/dev/urandom

常见设备说明

text 复制代码
/dev/sda       第一块 SATA/SCSI 磁盘
/dev/sda1      第一块磁盘的第一个分区
/dev/nvme0n1   第一块 NVMe 磁盘
/dev/tty       当前终端设备
/dev/null      丢弃所有写入内容
/dev/zero      持续产生零字节
/dev/random    随机数据设备

例如:

bash 复制代码
echo "test" > /dev/null

输出会被直接丢弃。

重要特点

/dev 中多数内容并不是普通磁盘文件,而是内核和设备管理系统创建的特殊设备节点。

是否可以修改

不要随意删除或向不熟悉的设备文件写数据,尤其是磁盘设备:

text 复制代码
/dev/sda
/dev/nvme0n1

错误操作可能破坏磁盘数据。


/etc

名称来源

etc 的历史来源存在不同解释。

常见理解包括:

text 复制代码
etcetera

即"其他杂项"。

现代 Linux 中更适合把它理解为:

text 复制代码
系统级配置文件目录

主要用途

存放整个系统使用的配置文件。

常见内容

text 复制代码
/etc/passwd
/etc/group
/etc/hosts
/etc/hostname
/etc/fstab
/etc/ssh/
/etc/systemd/
/etc/profile
/etc/bash.bashrc
/etc/apt/

重要文件说明

text 复制代码
/etc/passwd       用户账户基本信息
/etc/group        用户组信息
/etc/hosts        主机名与 IP 的本地映射
/etc/hostname     系统主机名
/etc/fstab        开机自动挂载配置
/etc/ssh/         SSH 服务配置
/etc/profile      系统级登录 Shell 配置

/etc 与用户配置的区别

系统级配置通常在:

text 复制代码
/etc

当前用户自己的配置通常在:

text 复制代码
/home/用户名

例如:

text 复制代码
/etc/bash.bashrc              所有用户的 Bash 配置
/home/liu/.bashrc             用户 liu 自己的 Bash 配置

是否可以修改

可以修改,但系统级配置通常需要管理员权限,并且修改前建议备份。

例如:

bash 复制代码
sudo cp /etc/fstab /etc/fstab.bak

/home

名称来源

text 复制代码
home = 用户的家目录

主要用途

存放普通用户的个人文件和用户级配置。

目录示例

text 复制代码
/home/alice
/home/bob
/home/ud202482025

用户 ud202482025 的主目录通常是:

text 复制代码
/home/ud202482025

也可简写为:

text 复制代码
~

例如:

bash 复制代码
cd ~

等价于:

bash 复制代码
cd /home/ud202482025

常见内容

text 复制代码
Documents/
Downloads/
Desktop/
projects/
.conda/
.cache/
.config/
.local/
.bashrc
.profile
.ssh/

. 开头的文件或目录通常是隐藏配置文件。

查看隐藏文件:

bash 复制代码
ls -la ~

是否可以修改

这是普通用户最主要的工作区域,一般可以自由创建、修改和删除自己的文件。


/root

名称来源

text 复制代码
root 用户的 home 目录

主要用途

存放超级管理员 root 用户的个人文件和配置。

注意区别

text 复制代码
/       整个文件系统的根目录
/root   root 管理员用户的个人目录

普通用户通常没有权限进入:

bash 复制代码
cd /root

为什么不放在 /home/root

即使 /home 位于单独分区且未挂载,管理员仍可能需要访问自己的主目录进行系统修复,所以传统上将 root 的主目录直接放在:

text 复制代码
/root

/lib

名称来源

text 复制代码
lib = library

主要用途

存放基础命令和系统启动所需的共享库。

常见内容

text 复制代码
libc.so
ld-linux.so
内核模块
动态链接库

Linux 程序经常依赖共享库。

例如:

bash 复制代码
ldd /bin/ls

可以查看 ls 命令依赖的共享库。

现代 Linux 中的变化

许多系统中:

text 复制代码
/lib -> /usr/lib

是否可以修改

不要手动删除或覆盖其中的库文件,否则可能造成大量程序无法启动。


/lib64

名称来源

text 复制代码
64-bit library

主要用途

在部分 64 位 Linux 系统中,存放 64 位基础共享库和动态链接器。

例如:

text 复制代码
/lib64/ld-linux-x86-64.so.2

不同发行版的组织方式不同,有些系统中 /lib64 也可能是符号链接。


/usr

名称来源

历史上通常与:

text 复制代码
user

有关。

但现代 Linux 中,不应把 /usr 理解为"某个用户自己的目录"。

普通用户的个人文件应存放在:

text 复制代码
/home/用户名

现代 /usr 更适合理解为:

text 复制代码
系统的大部分用户空间程序、库、文档和共享资源

主要用途

存放操作系统的大多数程序和只读资源。

常见子目录

text 复制代码
/usr/bin
/usr/sbin
/usr/lib
/usr/lib64
/usr/include
/usr/share
/usr/local
/usr/src

/usr/bin

存放大多数普通用户命令。

例如:

text 复制代码
python3
git
gcc
vim
awk
find
ssh

查看某个命令的位置:

bash 复制代码
which git
type -a git

/usr/sbin

存放系统管理类命令。

例如:

text 复制代码
sshd
cron
useradd
apache2

实际内容因发行版而异。


/usr/lib

存放程序使用的库、模块和内部支持文件。

例如:

text 复制代码
/usr/lib/python3/
/usr/lib/systemd/
/usr/lib/x86_64-linux-gnu/

/usr/include

存放 C/C++ 等开发使用的头文件。

例如:

text 复制代码
stdio.h
stdlib.h
pthread.h

编译软件时经常使用。


/usr/share

存放与 CPU 架构无关的共享数据。

常见内容:

text 复制代码
/usr/share/doc
/usr/share/man
/usr/share/icons
/usr/share/fonts
/usr/share/locale

包括:

  • 帮助文档
  • man 手册
  • 图标
  • 字体
  • 多语言翻译文件

/usr/src

存放源代码或内核头文件。

例如:

text 复制代码
/usr/src/linux-headers-...

/usr/local

名称来源

text 复制代码
local = 当前这台机器本地安装的内容

主要用途

存放系统管理员手动安装的软件。

它通常不由系统的主要包管理器直接管理。

常见目录

text 复制代码
/usr/local/bin
/usr/local/sbin
/usr/local/lib
/usr/local/include
/usr/local/share

/usr 的区别

text 复制代码
/usr        发行版或系统包管理器安装的软件
/usr/local  当前机器管理员手动安装的软件

例如,Ubuntu 使用 apt 安装的程序通常进入:

text 复制代码
/usr/bin
/usr/lib

而源码编译后执行:

bash 复制代码
sudo make install

程序通常进入:

text 复制代码
/usr/local/bin
/usr/local/lib

PATH 优先级

通常:

text 复制代码
/usr/local/bin

会排在:

text 复制代码
/usr/bin

前面。

因此本机手动安装的同名软件可以优先于系统版本。


/opt

名称来源

text 复制代码
opt = optional

主要用途

存放可选的、附加的、相对独立的第三方软件。

常见例子

text 复制代码
/opt/conda
/opt/cuda
/opt/matlab
/opt/google
/opt/microsoft

某个大型软件常常完整放在一个独立目录中:

text 复制代码
/opt/软件名

例如:

text 复制代码
/opt/conda/bin
/opt/conda/lib
/opt/conda/envs

/usr/local 的区别

两者都可用于额外软件,但常见习惯是:

text 复制代码
/usr/local   按 Linux 标准目录拆分安装的软件
/opt         每个软件作为一个完整独立目录安装

例如:

text 复制代码
/usr/local/bin/tool
/usr/local/lib/tool/

与:

text 复制代码
/opt/tool/bin/
/opt/tool/lib/

你的服务器示例

text 复制代码
/opt/conda/bin

通常表示管理员安装的共享 Conda。

这和个人目录中的:

text 复制代码
/home/ud202482025/anaconda3

不是同一个安装。


/var

名称来源

text 复制代码
var = variable

主要用途

存放运行过程中经常变化的数据。

常见子目录

text 复制代码
/var/log
/var/cache
/var/lib
/var/spool
/var/tmp
/var/run
/var/www

/var/log

存放系统和服务日志。

例如:

text 复制代码
/var/log/syslog
/var/log/auth.log
/var/log/kern.log
/var/log/nginx/

查看日志常用:

bash 复制代码
less /var/log/syslog
journalctl

/var/cache

存放应用缓存。

缓存通常可以重新生成,但不要在不了解用途时随意删除。

例如:

text 复制代码
/var/cache/apt

/var/lib

存放程序运行状态和持久数据。

例如:

text 复制代码
/var/lib/docker
/var/lib/mysql
/var/lib/postgresql
/var/lib/dpkg

它可能包含数据库、包管理器状态、容器数据等重要内容。


/var/spool

存放等待处理的队列数据。

例如:

text 复制代码
邮件队列
打印任务
定时任务

/var/tmp

存放临时文件。

/tmp 相比,/var/tmp 中的文件通常预期保留更久,重启后不一定被删除。


/var/www

常用于存放 Web 服务器网站文件。

例如:

text 复制代码
/var/www/html

不过网站目录也可以由管理员配置到其他位置。


/tmp

名称来源

text 复制代码
tmp = temporary

主要用途

存放临时文件。

系统和应用程序都可能在这里创建短期文件。

重要特点

  • 通常所有用户都可以写入。
  • 一般设置了特殊的 sticky bit 权限。
  • 系统重启后内容可能被清理。
  • 不适合存放重要文件。

查看权限:

bash 复制代码
ls -ld /tmp

常见结果:

text 复制代码
drwxrwxrwt

最后的 t 表示 sticky bit。

它意味着用户虽然都能在 /tmp 创建文件,但通常只能删除自己的文件。


/var/tmp/tmp 的区别

text 复制代码
/tmp       短期临时文件,可能在重启时清理
/var/tmp   较长期临时文件,通常重启后仍保留

实际清理规则由系统配置决定。


/proc

名称来源

text 复制代码
proc = process

主要用途

这是内核提供的虚拟文件系统,用于展示进程和系统运行信息。

它通常不是真正存储在磁盘上的普通文件。

常见内容

text 复制代码
/proc/cpuinfo
/proc/meminfo
/proc/version
/proc/uptime
/proc/mounts
/proc/1234/

数字目录表示进程 PID。

例如:

text 复制代码
/proc/1234

表示 PID 为 1234 的进程信息。

常用命令

查看 CPU:

bash 复制代码
cat /proc/cpuinfo

查看内存:

bash 复制代码
cat /proc/meminfo

查看当前 Shell 的进程信息:

bash 复制代码
ls /proc/$$

其中 $$ 表示当前 Shell 的 PID。

是否可以修改

部分 /proc 文件可由管理员写入,用于临时修改内核参数,但不应在不了解含义时操作。


/sys

名称来源

text 复制代码
sys = system

主要用途

这是另一个内核虚拟文件系统,主要展示:

  • 设备
  • 驱动
  • 内核对象
  • 总线
  • 电源状态
  • 硬件属性

常见内容

text 复制代码
/sys/class
/sys/devices
/sys/block
/sys/bus
/sys/module

例如:

text 复制代码
/sys/class/net

可以查看网络接口。

/sys/proc 的区别

简化理解:

text 复制代码
/proc   更偏向进程和传统内核运行信息
/sys    更偏向设备、驱动和结构化内核对象

二者都主要是虚拟文件系统。


/run

名称来源

text 复制代码
run = 运行时数据

主要用途

存放系统本次启动期间的运行时状态信息。

常见内容

text 复制代码
/run/user/
/run/lock/
/run/systemd/
/run/sshd.pid

可能包括:

  • PID 文件
  • Socket 文件
  • 服务状态
  • 登录会话信息
  • 临时锁文件

重要特点

/run 通常位于内存文件系统中,系统重启后内容会消失。


/mnt

名称来源

text 复制代码
mnt = mount

主要用途

传统上用于管理员临时挂载文件系统。

例如:

bash 复制代码
sudo mount /dev/sdb1 /mnt

挂载后,该磁盘内容可以通过:

text 复制代码
/mnt

访问。

也可以创建子目录:

text 复制代码
/mnt/data
/mnt/backup

适用场景

  • 临时挂载磁盘
  • 挂载网络文件系统
  • 系统维护
  • 数据恢复

/media

名称来源

text 复制代码
media = removable media

主要用途

通常用于自动挂载移动设备。

例如:

text 复制代码
USB 移动硬盘
U 盘
光盘
SD 卡

常见挂载位置:

text 复制代码
/media/用户名/设备名

例如:

text 复制代码
/media/alice/USB_DISK

/mnt/media 的区别

text 复制代码
/mnt    管理员手动或临时挂载
/media  桌面系统自动挂载移动设备

这只是常见约定,不是绝对限制。


/srv

名称来源

text 复制代码
srv = service

主要用途

存放系统对外提供服务的数据。

例如:

text 复制代码
/srv/www
/srv/ftp
/srv/git

适用于:

  • Web 服务
  • FTP 服务
  • Git 服务
  • 文件共享服务

实际系统中,很多服务也会把数据放在 /var/lib/var/www,因此 /srv 不一定被广泛使用。


/snap

名称来源

来自 Ubuntu 等系统使用的 Snap 软件包格式。

主要用途

存放 Snap 软件包挂载点或相关数据。

例如:

text 复制代码
/snap/core/
/snap/code/
/snap/firefox/

Snap 软件通常以只读压缩镜像方式挂载。

用户自己的 Snap 数据可能位于:

text 复制代码
~/snap

/lost+found

主要用途

常见于 ext2、ext3、ext4 等文件系统的根目录。

文件系统检查工具 fsck 在修复文件系统时,如果找到失去目录关联但仍存在的数据块,可能将恢复出的文件放入:

text 复制代码
lost+found

注意

  • 每个 ext 文件系统都可能有自己的 lost+found
  • 不要把它当作普通垃圾箱。
  • 正常情况下它通常是空的。
  • 进入时可能需要管理员权限。

4. 常见目录之间的关系

4.1 /bin/usr/bin/usr/local/bin/opt/.../bin

可以这样理解:

text 复制代码
/bin
基础命令,现代系统中常链接到 /usr/bin

/usr/bin
由操作系统或包管理器安装的大多数普通命令

/usr/local/bin
本机管理员手动安装的普通命令

/opt/软件名/bin
某个独立第三方软件自己的命令

例如同时存在:

text 复制代码
/usr/bin/python3
/usr/local/bin/python3
/opt/conda/bin/python
/home/user/miniconda3/bin/python

实际输入 python 时使用哪一个,由 PATH 的顺序决定。


4.2 /sbin/usr/sbin/usr/local/sbin

text 复制代码
/sbin
基础系统管理命令,现代系统中常链接到 /usr/sbin

/usr/sbin
系统包管理器安装的管理命令

/usr/local/sbin
本机管理员手动安装的管理命令

4.3 /lib/usr/lib/usr/local/lib

text 复制代码
/lib
基础启动和基础命令所需库,现代系统中常链接到 /usr/lib

/usr/lib
系统软件使用的库和模块

/usr/local/lib
管理员手动安装软件使用的库

4.4 /home/root

text 复制代码
/home/用户名   普通用户的个人目录
/root          root 管理员的个人目录

例如:

text 复制代码
/home/ud202482025
/root

4.5 /tmp/var/tmp/run

text 复制代码
/tmp
短期临时文件

/var/tmp
可能需要跨重启保留一段时间的临时文件

/run
仅当前启动周期有效的运行状态数据

4.6 /mnt/media

text 复制代码
/mnt
通常用于手动或临时挂载

/media
通常用于自动挂载 U 盘等移动介质

4.7 /opt/usr/local

text 复制代码
/opt
一个软件通常完整放在一个独立目录中

/usr/local
软件按 bin、lib、share 等标准目录拆分安装

示例:

text 复制代码
/opt/tool/bin/tool
/opt/tool/lib/libtool.so

对比:

text 复制代码
/usr/local/bin/tool
/usr/local/lib/libtool.so

5. PATH 与这些目录的关系

PATH 是 Shell 查找可执行命令的目录列表。

查看原始 PATH:

bash 复制代码
echo "$PATH"

逐行显示:

bash 复制代码
printf '%s\n' "${PATH//:/$'\n'}"

带编号显示:

bash 复制代码
printf '%s\n' "${PATH//:/$'\n'}" | nl

例如:

text 复制代码
1  /opt/conda/bin
2  /usr/local/bin
3  /usr/bin
4  /bin

输入:

bash 复制代码
python

Shell 会依次检查:

text 复制代码
/opt/conda/bin/python
/usr/local/bin/python
/usr/bin/python
/bin/python

找到第一个存在且可执行的文件后就停止。


查看命令实际来自哪里

bash 复制代码
which python

更完整:

bash 复制代码
type -a python

查看符号链接最终指向:

bash 复制代码
readlink -f "$(which python)"

查看文件类型:

bash 复制代码
file "$(which python)"

6. 哪些目录普通用户通常可以修改

通常可以自由修改

text 复制代码
/home/你的用户名
/tmp 中属于你自己的文件

例如:

text 复制代码
/home/ud202482025

通常需要管理员权限

text 复制代码
/etc
/usr
/opt
/var
/root
/boot

普通用户没有写权限时会出现:

text 复制代码
Permission denied

不要为了绕过权限随意使用 sudo chmod -R 777


不应随意修改

以下目录尤其需要谨慎:

text 复制代码
/boot
/dev
/proc
/sys
/lib
/lib64
/usr/lib
/etc
/var/lib

错误操作可能导致:

  • 系统无法启动
  • 服务无法运行
  • 软件包损坏
  • 数据库损坏
  • 磁盘数据丢失
  • 安全权限失效

7. 查看根目录的实用命令

查看根目录内容

bash 复制代码
ls /

详细显示:

bash 复制代码
ls -lah /

查看目录大小

bash 复制代码
sudo du -sh /* 2>/dev/null

普通用户无法读取的目录会被忽略。

查看当前用户主目录:

bash 复制代码
du -sh ~/*

包括隐藏目录:

bash 复制代码
du -sh ~/.??* ~/* 2>/dev/null

查看文件系统挂载情况

bash 复制代码
findmnt

或者:

bash 复制代码
mount

查看磁盘空间

bash 复制代码
df -h

查看文件系统类型:

bash 复制代码
df -Th

查看某个目录属于哪个分区

bash 复制代码
df -h /home
df -h /opt
df -h /tmp

判断目录是否是符号链接

bash 复制代码
ls -ld /bin /sbin /lib

查看最终位置:

bash 复制代码
readlink -f /bin
readlink -f /sbin
readlink -f /lib

查看目录权限和所有者

bash 复制代码
ls -ld /opt
ls -ld /usr/local
ls -ld /home/ud202482025

示例输出:

text 复制代码
drwxr-xr-x 10 root root 4096 Jul 5 10:00 /opt

其中:

text 复制代码
root root

分别表示所有者和所属用户组。


8. 服务器环境中的常见情况

在学校、实验室或计算集群服务器上,经常会看到:

text 复制代码
/opt/conda
/opt/R
/opt/cuda
/usr/local/cuda
/home/用户名
/data
/work
/scratch

其中:

text 复制代码
/opt

通常存放管理员安装的软件。

text 复制代码
/home/用户名

通常存放用户代码、配置和小型文件。

text 复制代码
/data
/work
/scratch

通常是服务器管理员额外创建的数据盘或高速临时盘,它们不一定属于 Linux 标准目录。

需要根据服务器说明判断用途。

常见约定:

text 复制代码
/home     容量较小,适合代码和配置
/data     长期数据
/work     项目工作目录
/scratch  高速临时计算数据,可能定期清理

这些约定不是所有服务器都相同。


9. 一张表快速总结

目录 名称来源 主要用途 常见内容
/ root 整个文件系统起点 所有目录
/bin binary 基础普通命令 lscpbash
/sbin system binary 基础系统管理命令 fsckreboot
/boot boot 启动文件 内核、GRUB、initramfs
/dev device 设备文件 磁盘、终端、随机设备
/etc 历史上常解释为 etcetera 系统配置 SSH、用户、网络配置
/home home 普通用户主目录 用户文件和配置
/root root home root 用户主目录 root 的个人文件
/lib library 基础共享库 动态库、内核模块
/lib64 64-bit library 64 位基础库 64 位动态链接器
/usr 历史上与 user 有关 大部分系统程序和资源 bin、lib、share
/usr/local local 管理员手动安装软件 bin、lib、share
/opt optional 独立第三方软件 Conda、CUDA、MATLAB
/var variable 经常变化的数据 日志、缓存、数据库
/tmp temporary 短期临时文件 应用临时数据
/proc process 进程和内核运行信息 CPU、内存、PID
/sys system 设备和内核对象 驱动、总线、硬件
/run runtime 当前启动周期的运行数据 PID、Socket、状态
/mnt mount 手动临时挂载 磁盘、网络盘
/media media 自动挂载移动设备 U 盘、光盘
/srv service 服务对外提供的数据 Web、FTP、Git
/snap Snap Snap 软件挂载和数据 Snap 应用
/lost+found 文件系统恢复目录 保存 fsck 恢复的数据 孤立文件

10. 最核心的记忆方法

可以按下面的方式记忆:

text 复制代码
/bin、/sbin
基础命令和系统管理命令

/usr
系统安装的大多数程序、库和共享资源

/usr/local
本机管理员手动安装的软件

/opt
独立放置的第三方大型软件

/etc
系统配置

/home
普通用户自己的文件

/root
root 用户自己的文件

/var
不断变化的数据

/tmp
临时文件

/dev
设备

/proc、/sys
内核提供的虚拟系统信息

/boot
启动相关文件

/mnt、/media
挂载磁盘和移动设备

对于普通用户而言,最常接触的是:

text 复制代码
/home/用户名
/usr/bin
/usr/local/bin
/opt
/tmp
/etc

在服务器上使用 Conda、R、Python 时,最重要的是分清:

text 复制代码
/opt/conda

通常是管理员或系统提供的 Conda,而:

text 复制代码
/home/用户名/anaconda3
/home/用户名/miniconda3
/home/用户名/conda_envs

通常是用户自己安装或创建的 Conda 与环境。

最终运行哪个程序,主要由:

text 复制代码
PATH

以及当前激活的 Conda 环境共同决定。

相关推荐
SkyWalking中文站2 小时前
认识 Horizon UI · 17/17:安装与迁移
运维·监控·自动化运维
千逐682 小时前
Uniapp 鸿蒙实战之 AtomGit APP - 仓库详情与文件树浏览
服务器·microsoft·uni-app
SkyWalking中文站2 小时前
认识 Horizon UI · 16/17:八种语言的本地化
运维·监控·自动化运维
郝学胜-神的一滴2 小时前
CMake 038:OBJECT目标复用编译+Linux动态库版本自动化管理
linux·c++·程序人生·软件工程·软件构建·cmake·工程配置
liuyicenysabel3 小时前
多服务上线日记二:
服务器·笔记·学习
单位圆的日常3 小时前
FRP反向隧道实现异地SSH家用Linux
linux·运维·ssh·frp
小比特_蓝光3 小时前
匿名管道+进程池
linux
BS_Li4 小时前
【Linux网络编程】NAT、代理服务、内网穿透
linux·网络·智能路由器
龙萱坤诺4 小时前
Claude Fable 5 重新开放:最强模型回归
大数据·运维·人工智能