Linux如何运行程序与脚本?

运行可执行程序

直接运行(需可执行权限)

  • 步骤
    chmod +x 程序名    # 添加可执行权限
    ./程序名           # 执行当前目录下的程序
  • 示例
    chmod +x myapp
    ./myapp
  • 注意:若程序在系统路径(如/usr/bin),可直接输入程序名(如firefox)。

通过包管理器安装的程序

  • 使用系统包管理器安装的软件(如APT、YUM/DNF、Pacman)会自动配置可执行路径:
    sudo apt install vim  # Debian/Ubuntu
    vim                   # 安装后直接运行

运行脚本文件

Shell脚本(.sh)

  • 方法一:显式指定解释器
    bash script.sh
  • 方法二:添加可执行权限后运行
    chmod +x script.sh
    ./script.sh

Python脚本(.py)

  • 方法一:使用Python解释器
    python3 script.py
  • 方法二:添加可执行权限并指定解释器(需在脚本首行添加#!/usr/bin/env python3):
    chmod +x script.py
    ./script.py

其他脚本语言(如Perl/Ruby)

原理相同,确保解释器已安装并指定路径:

   perl script.pl    # 运行Perl脚本
   ruby script.rb    # 运行Ruby脚本

后台运行与终止

后台运行

  • 在命令末尾加&
    ./long_running_task &  # 程序在后台运行
  • 使用nohup防止退出终端时关闭:
    nohup ./program > output.log 2>&1 &

终止程序

  • 查找进程ID并终止:
    ps aux | grep 程序名   # 查询PID
    kill -9 PID           # 强制终止

常见问题解决

权限不足(Permission Denied)

  • 原因:文件无可执行权限。
  • 修复:
    chmod +x 文件名

命令未找到(Command Not Found)

  • 原因:文件不在系统路径。
  • 修复:
    • 使用绝对路径:/home/user/app
    • 临时添加路径:export PATH=$PATH:/自定义路径

依赖缺失

  • 现象:报错提示缺少库(如libxxx not found)。
  • 修复:安装对应依赖包(如sudo apt install libxxx)。

安全注意事项

  1. 验证来源
    勿运行未知来源的脚本,可能包含恶意代码,下载后检查内容:

    cat 可疑文件.sh    # 查看脚本内容
  2. 最小权限原则
    避免使用root运行普通程序,用普通用户执行:

    sudo -u 用户名 ./程序名
  3. 沙盒测试
    使用容器(如Docker)或虚拟机测试高风险程序。

高级技巧

  • 别名运行
    将常用命令设为别名(写入~/.bashrc):

    alias myapp='~/apps/start.sh'
  • 定时任务
    通过cron定时运行脚本:

    crontab -e
    # 添加行:0 * * * * /路径/脚本.sh  # 每小时执行

Linux运行程序的核心在于权限管理、路径配置及解释器调用,掌握基础命令后,可灵活组合应用,建议通过man命令查阅手册(如man bash)深化理解,并在安全环境中实践。

引用说明参考Linux官方文档(kernel.org)、GNU Bash手册(gnu.org)及Ubuntu社区指南(help.ubuntu.com),遵循Linux标准规范(LSB)及POSIX兼容性实践。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9986.html

(0)
酷番叔酷番叔
上一篇 2025年8月8日 10:55
下一篇 2025年8月8日 11:32

相关推荐

  • Linux编译中.o文件为何不可或缺?

    .o文件的本质作用:.o文件是源代码经编译、汇编后生成的可重定位目标文件(Relocatable Object File),包含:机器指令(二进制代码)全局变量和函数的符号表重定位信息(供链接器调整地址)特点:不可直接执行,需通过链接器与其他.o文件或库合并生成可执行文件,生成.o文件的核心步骤预处理(Prep……

    2025年6月15日
    8600
  • Linux系统下如何彻底卸载Redis服务?

    Redis作为高性能的内存数据库,在Linux系统中被广泛应用于缓存、消息队列等场景,但若因版本过旧、业务调整或不再使用,需彻底卸载以释放系统资源,卸载Redis需根据安装方式(包管理器或源码编译)选择不同方法,核心步骤包括停止服务、删除安装文件、清理配置及数据残留,确保系统无冗余,以下分不同安装场景详细说明卸……

    2025年10月1日
    2800
  • 如何修改Linux系统的root登录密码?

    在Linux系统中,root账户是具有最高权限的管理员账户,定期修改root密码是保障系统安全的重要措施,修改root密码的方法根据系统当前状态(是否正常登录、是否忘记密码等)有所不同,以下是几种常见场景下的详细操作步骤,系统正常启动且有权限时修改密码当系统可以正常登录,且当前用户具有sudo权限(或已经是ro……

    2025年9月20日
    5400
  • Linux系统下,如何通过具体命令正确停止php-fpm服务?

    在Linux系统中停止php-fpm是日常服务器维护中常见的操作,php-fpm(FastCGI Process Manager)作为PHP的FastCGI进程管理器,负责处理PHP请求的执行和响应,停止php-fpm通常有几种方法,具体操作取决于系统的初始化系统(如systemd或SysV init)以及ph……

    2025年8月24日
    6500
  • Linux服务重启的命令与操作步骤是什么?

    在Linux系统中,服务是后台运行的关键程序,负责提供特定功能(如Web服务、数据库服务等),当服务配置更新、出现故障或需要优化性能时,重启服务是最常见的操作之一,本文将详细介绍Linux系统中重启服务的多种方法,包括主流的systemctl命令、传统的service命令,以及底层的init.d脚本操作,并说明……

    2025年9月17日
    4400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信