基础执行方法
直接执行当前目录的程序
- 命令格式:
./程序名
示例:./myapp # 执行当前目录下的myapp
- 前提条件:
- 文件必须有可执行权限(通过
chmod +x myapp
添加)。 - 系统默认不搜索当前目录(出于安全考虑),因此必须加 。
- 文件必须有可执行权限(通过
通过绝对路径执行
- 命令格式:
/完整/路径/程序名
示例:/home/user/projects/myapp # 直接指定完整路径
通过解释器运行脚本
- 适用场景:Python、Bash、Perl等脚本。
示例:bash script.sh # 用Bash执行Shell脚本 python3 app.py # 用Python解释器执行
- 注意:脚本首行需声明解释器(如
#!/bin/bash
)。
高级执行方式
后台执行程序
- 添加
&
符号:程序在后台运行,不阻塞终端。
示例:./long_task & # 后台运行,输出仍显示在终端
- 脱离终端运行(
nohup
):
退出终端后程序继续执行,输出重定向到文件。nohup ./server > log.txt 2>&1 &
修改环境变量 PATH
- 目的:直接输入程序名即可执行(无需路径)。
- 步骤:
- 将程序所在目录加入
PATH
:export PATH=$PATH:/your/project/dir # 临时生效
- 永久生效:在
~/.bashrc
或/etc/profile
中添加上述命令。
- 将程序所在目录加入
- 验证:
myapp # 直接执行程序
影响当前Shell环境(source
或 )
- 适用场景:执行脚本并继承其环境变量(如配置加载)。
示例:source config.sh # 或 . config.sh
替换当前进程(exec
)
- 特点:执行程序后,原Shell进程被替换,退出时终端关闭。
示例:exec ./new_app # 当前Shell被new_app替代
定时与自动化执行
使用 cron
定时任务
- 步骤:
- 编辑任务列表:
crontab -e
- 添加规则(每天9点执行):
0 9 * * * /path/to/backup.sh
- 编辑任务列表:
- 日志:查看
/var/log/syslog
调试。
at
单次定时任务
- 示例:
echo "shutdown -h now" | at 23:00 # 今晚23点关机
关键注意事项
-
权限管理:
- 用
ls -l
检查文件权限,必要时用chmod
修改:chmod u+x script.sh # 仅给所有者添加执行权
- 避免使用
chmod 777
(过度授权有安全风险)。
- 用
-
安全建议:
- 勿执行来源不明的脚本或程序(可能含恶意代码)。
- 下载的程序先验证哈希值(如
sha256sum
)。
-
调试技巧:
- 缺少依赖时,用
ldd ./program
检查动态库。 - 脚本错误时,用
bash -x script.sh
逐步调试。
- 缺少依赖时,用
场景 | 推荐命令 | 特点 |
---|---|---|
运行当前目录程序 | ./program |
需可执行权限 |
后台运行 | nohup program & |
退出终端不终止 |
脚本环境变量继承 | source script.sh |
影响当前Shell |
定时任务 | crontab -e |
自动化定期执行 |
替换当前进程 | exec program |
原Shell被替代 |
掌握这些方法可高效管理Linux任务,始终遵循最小权限原则,并优先使用官方或可信源的程序以保障系统安全。
引用说明参考Linux官方文档(kernel.org)及GNU Coreutils手册(gnu.org),结合Linux安全实践指南(Linux Foundation Security)编写。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9309.html