Linux系统usr目录解析和软件无法启动原因排查

Ubuntu 22.04 系统目录结构解析

系统核心目录 (/usr)

注意/usrUnix 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 手册、iconszoneinfo
/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
posted on 2025-03-14 00:11  风惊庭前叶  阅读(65)  评论(0)    收藏  举报