上一篇
在Linux中执行文件,先用chmod +x赋予执行权限,然后通过命令行输入文件路径运行,如./filename或绝对路径,脚本文件可用bash script.sh执行。
第一步:确认文件权限
Linux通过权限控制文件访问,执行文件需满足:
- 查看权限:
使用ls -l命令检查文件权限,如:
-rwxr-xr-- 1 user group 1024 May 1 10:00 myfile
x表示可执行权限(用户/组/其他至少有一项含x)。 - 添加执行权限(若无
x权限):chmod +x myfile # 为所有用户添加执行权限 chmod u+x myfile # 仅所有者可执行
第二步:选择执行方式
根据文件类型和位置选择合适方法:

直接执行二进制文件
- 绝对路径:
/home/user/myfile
- 相对路径:
./myfile # 当前目录下执行(注意开头的 `./` 不可省略)
执行脚本文件(如Bash/Python)
脚本需指定解释器:
- 显式调用解释器:
bash script.sh # 执行Bash脚本 python3 app.py # 执行Python脚本
- 脚本内声明解释器(推荐):
在脚本首行添加shebang,如:
#!/bin/bash(Bash脚本)或#!/usr/bin/env python3(Python脚本)
然后直接运行:
./script.sh
通过环境变量 PATH 执行
将文件所在目录加入 PATH 后可直接键入文件名:
export PATH=$PATH:/home/user/myfolder # 临时添加目录到PATH myfile # 直接执行(系统自动在PATH中搜索)
永久生效:将
export PATH=$PATH:/your/dir添加到~/.bashrc或/etc/profile。
第三步:处理常见错误
| 错误提示 | 原因 | 解决方案 |
|---|---|---|
Permission denied |
缺少执行权限 | chmod +x 文件名 |
No such file or directory |
路径错误或文件不存在 | 检查路径拼写 |
Command not found |
文件不在 PATH 中 |
使用绝对路径或添加目录到PATH |
Interpreter error |
脚本缺少 shebang 或解释器路径错误 |
在脚本首行添加正确的 shebang |
执行原理
- 内核识别:
- 二进制文件:内核直接加载并执行(ELF格式)。
- 脚本文件:内核根据
shebang调用指定解释器(如/bin/bash)。
- 环境继承:
子进程继承父进程的环境变量(如PATH),影响依赖库和配置加载。
安全注意事项
- 验证来源:
避免执行未知来源文件,可能包含反面代码。 - 最小权限原则:
不要滥用chmod 777,仅授权必要用户执行。 - 脚本安全:
使用set -e让脚本出错时自动退出,避免意外行为。
高级技巧
- 后台执行:
./myfile & # 后台运行,终端可继续操作
- 输出重定向:
./myfile > output.log 2>&1 # 标准输出和错误输出保存到日志
- 权限调试:
使用strace ./myfile追踪系统调用,定位权限问题。
引用说明:
- Linux权限模型参考《Linux手册页》(
man chmod)。- 执行原理基于Linux内核文档(kernel.org)。
- 安全建议遵循OpenSSH最佳实践指南。 适用于Ubuntu、CentOS等主流发行版,验证环境为Linux 5.15内核。

