Ubuntu 22.04 系统目录结构解析
系统核心目录 (/usr
)
注意:
/usr
是 Unix Software Resources 的缩写,存储系统级软件和资源,与用户数据无关。
目录结构
目录 | 说明 | 示例文件/用途 |
---|---|---|
/usr/bin |
用户级命令(所有用户可执行) | ls , gcc , python3 |
/usr/sbin |
系统管理命令(需 root 权限) |
sshd , iptables , fdisk |
/usr/lib |
共享库文件(.so 动态库、模块) |
libc.so , Python 模块目录 |
/usr/include |
C/C++ 头文件(开发依赖) | stdio.h , stdlib.h |
/usr/share |
架构无关的共享数据(文档、图标、时区等) | man 手册、icons 、zoneinfo |
/usr/local |
本地编译安装的软件(避免与系统包冲突,见下文) |
无法运行程序排查
以/usr/local/bin/yazi为例
是否具有执行权限
ls -l /usr/local/bin/yazi
shell缓存未更新
# 更新缓存
hash -r
# 再次尝试
yazi
文件类型不兼容
# 简单查看
file /usr/local/bin/yazi
# 如果是Linux可执行的elf文件,可以详细查看elf文件结构
readelf -a /usr/local/bin/yazi
依赖库缺失
# 查看
ldd /usr/local/bin/yazi
如果有not found,就说明需要安装对应的依赖库
文件路径冲突
# 检查是不是又同名的优先级更高的命令
which -a yazi