上一篇                     
               
			  Linux可执行文件运行教程?
- Linux
- 2025-06-17
- 4919
 在Linux中运行可执行文件,需先通过
 
 
chmod +x 文件名赋予执行权限,再使用
 ./文件名执行,若为系统命令或已配置环境变量,可直接输入文件名运行,图形界面可双击执行。
核心前提:赋予可执行权限
Linux文件默认无执行权限,需手动添加:
chmod +x 文件名 # 为当前用户添加权限 chmod a+x 文件名 # 为所有用户添加权限
示例:
若文件名为 app,执行:
chmod +x app
运行可执行文件的4种方法
直接运行(需在文件所在目录)
./文件名
示例:
./app
通过绝对路径运行(无需进入目录)
/完整路径/文件名
示例:
/home/user/projects/app
使用解释器运行脚本
- Shell脚本(.sh): bash script.sh # 无需权限也可运行 
- Python脚本(.py): python3 script.py 
全局运行(安装到系统路径)
将文件移动到标准路径(需管理员权限):

sudo cp 文件名 /usr/local/bin/ # 复制到全局路径 文件名 # 任意位置直接运行
常见问题与解决方案
-  权限拒绝(Permission denied) -bash: ./app: Permission denied 解决:执行 chmod +x app。
-  文件不存在(No such file) 
 原因:路径错误或文件未下载完整。
 验证:用ls -l 文件名检查是否存在。
-  动态链接库缺失  error while loading shared libraries: libxxx.so: cannot open shared object file 解决: - 安装依赖库:sudo apt install libxxx(Ubuntu/Debian)或sudo yum install libxxx(CentOS/RHEL)。
- 手动指定库路径: export LD_LIBRARY_PATH=/path/to/libs:$LD_LIBRARY_PATH ./app 
 
- 安装依赖库:
-  32/64位不兼容 
 现象:bash: ./app: cannot execute binary file: Exec format error。
 解决:- 确认系统架构:uname -m(x86_64为64位,i686为32位)。
- 安装兼容库: sudo apt install libc6:i386 # Ubuntu/Debian支持32位程序 
 
- 确认系统架构:
安全注意事项
-  验证文件来源 - 仅运行可信来源的可执行文件,避免反面程序。
- 下载后扫描干扰:clamscan 文件名(需安装ClamAV)。
 
-  避免使用 sudo运行未知程序
 防止提权攻击,必要时用沙盒工具(如firejail)隔离运行。 
-  检查文件属性 file 文件名 # 查看文件类型(ELF可执行文件、脚本等) strings 文件名 | less # 查看嵌入的文本(识别可疑内容) 
高级技巧
- 后台运行: nohup ./app & # 退出终端仍运行,日志保存到nohup.out 
- 调试运行: gdb ./app # 使用GDB调试 strace ./app # 跟踪系统调用 
总结流程
- 下载文件 → 2. chmod +x赋予权限 → 3. 用或绝对路径运行 → 4. 遇错按本文排查。
引用说明参考Linux核心文档(kernel.org/docs)、Ubuntu Manpage仓库及Stack Exchange社区技术讨论,实践前建议查阅具体发行版官方文档(如Ubuntu、CentOS)。
 
  
			