首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux中怎么运行程序

在Linux中运行程序主要有以下几种常见方式:

一、基础概念

  1. 可执行文件
    • 这是能够被操作系统直接执行的二进制文件。通常具有特定的权限设置(如可执行权限),可以通过命令行来运行。
  • 脚本文件
    • 包含一系列命令的文本文件。常见的脚本类型有Shell脚本(以.sh为扩展名)、Python脚本(.py)等。脚本文件本身不是可执行文件,但当赋予其执行权限并使用合适的解释器时就可以运行。

二、运行方式

  1. 直接运行可执行文件
    • 如果程序的可执行文件位于当前目录下,在命令行中输入./程序名(这里的./表示当前目录)。例如,如果有一个名为myprogram的可执行文件在当前目录,输入./myprogram
    • 如果可执行文件位于系统的环境变量PATH所包含的目录下,可以直接输入程序名运行。例如ls命令,它位于/bin目录下,而/bin通常在PATH环境变量中。
  • 运行脚本文件
    • 对于Shell脚本:
      • 首先要确保脚本有可执行权限。可以使用chmod +x script.sh命令给名为script.sh的脚本添加执行权限。
      • 然后可以直接运行脚本./script.sh。或者使用sh script.sh(这里sh是Shell解释器)或者bash script.sh(如果脚本是基于Bash编写的)来运行脚本。
    • 对于Python脚本:
      • 如果系统中安装了Python,可以直接使用python script.py来运行名为script.py的Python脚本。

三、优势

  1. 灵活性
    • 可以方便地在不同的环境中运行程序,无论是本地开发环境还是服务器环境。
  • 命令行操作的高效性
    • 对于熟悉命令行的用户,通过命令行运行程序可以快速执行操作,并且可以方便地与其他命令组合使用,如在脚本中自动化一系列任务。

四、应用场景

  1. 系统管理
    • 管理员经常通过命令行运行各种系统管理工具和脚本,如监控系统资源(使用top命令等)、管理用户账户(使用useradduserdel等命令)。
  • 软件开发
    • 开发人员在编译和运行自己的程序时,经常在Linux的命令行环境下操作。例如,运行测试脚本、启动开发服务器等。

五、常见问题及解决方法

  1. “command not found”错误
    • 原因:如果输入程序名后出现这个错误,可能是因为程序不在PATH环境变量所包含的目录下,并且没有使用相对路径或绝对路径来指定程序位置。
    • 解决方法:如果是自己编写的程序,确保将其所在目录添加到PATH环境变量中(可以通过修改~/.bashrc~/.bash_profile文件并添加export PATH = $PATH:/your/directory,然后执行source ~/.bashrcsource ~/.bash_profile使更改生效),或者使用相对路径(如./myprogram)或绝对路径(如/home/user/myprogram)来运行程序。
  • 权限不足错误
    • 原因:当试图运行没有可执行权限的文件时会遇到这个错误。
    • 解决方法:使用chmod +x filename命令给文件添加可执行权限。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CPU中的程序是怎么运行起来的

总述 最近一位朋友问我,开发的代码是怎么在芯片运行起来的,我就开始给他介绍代码的预编译、汇编、编译、链接然后到一般的文件属性,再到代码运行。...首先在指令表可以查到 0010 对应着执行指令是LOAD_A 意思为从内存地址取出数据,放到寄存器A中。 ? CPU看到00101110是怎么执行的呢?...前面介绍程序运行时候我们是假设程序已经在内存里面了,但实际上程序储存的位置不在内存,并且需要在执行时候加载到内存里面。...只要内存足够,不仅可以储存要运行的程序,还可以存程序需要的数据,以及运行程序时候产生的新数据。...这就是我分享CPU代码是如何执行起来,里面资料如果大家又想要的,可以关注我微信号回复CPU中的程序是怎么运行起来的,后台会自动把资料获取方式发给你,关于本篇文章如果大家有什么更好的思路,欢迎分享交流哈。

1.1K20
  • Linux下可以替换运行中的程序么?

    今天被朋友问及“Linux下可以替换运行中的程序么?”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。...结果朋友发来一个执行结果:(test正在运行中) # cp test2 test cp: cannot create regular file `test': Text file busy 看起来是程序被占用...Linux由于Demand Paging机制的关系,必须确保正在运行中的程序镜像(注意,并非文件本身)不被意外修改,因此内核在启动程序后会锁定这个程序镜像的inode。...不过想想也可以宽恕,毕竟ld也是用户态程序,没有权利去锁定inode,也不应与内核的文件系统底层实现耦合。 到这里都还算在情理之中,看起来Linux也都处理的很好。...在思考这个问题的过程中,我意识到前面这个测试程序的一个致命漏洞,稍作修改如下: #include int main(int argc, char * argv[]) { loop: foo(

    6.4K20

    linux查看运行中的java_linux怎么查看当前进程

    【www.hyheiban.com–知识文库】 在linux系统下可以通过命令查看进程,那么具体是那个命令呢?下面由小编为大家整理了linux查看进程的命令,希望对大家有帮助!...,或在队列中的进程 +—S 处于休眠状态 +—T 停止或被追踪 +—Z 僵尸进程 +—W 进入内存交换(从内核2.6开始无效) +—X 死掉的进程 +—< 高优先级 +—N 低优先级 +—L 有些页被锁进内存...如果结束单个进程,请用 kill killall killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。...当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消。 比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172494.html原文链接:https://javaforall.cn

    13K20

    linux中怎么知道进程运行了多长时间

    你有没有遇到过想知道一个进程在你的 Linux 机器上运行了多长时间的情况? 你不需要任何监控应用程序。...在 Linux 和其他类 Unix 操作系统中,有一个名为 的命令ps,用于显示有关活动进程的信息。使用ps命令,我们可以很容易地找出一个进程在 Linux 中运行了多长时间。...查看一个进程在 Linux 中运行了多长时间 该ps命令具有不同的格式说明符(关键字),可用于控制输出格式。我们将使用以下两个关键字来查找活动进程的正常运行时间。...$ ps -eo pid,comm,lstart,etime,time,args image-20220111214133243 第一个命令以[[DD-]hh:]mm:ss格式显示所有 Linux...进程的正常运行时间,后者以秒为单位显示正常运行时间。

    8.4K20

    Linux后台运行jar程序

    Linux后台运行jar程序在Linux系统中,有时候我们需要将Java程序以后台进程的方式运行,以便在关闭终端或退出登录时仍然保持程序的运行状态。...本文将介绍如何在Linux中后台运行一个Java的jar程序。准备工作在开始之前,确保您的Linux系统中已经安装了Java运行环境(JRE 或 JDK)。...&在上述命令中,nohup命令用于使程序忽略SIGHUP信号,并继续在后台运行。...通过以上步骤,您就可以在Linux系统中成功地将一个Java的jar程序以后台进程的方式运行起来。示例代码,以帮助理解:shellCopy code#!...fi在上述示例代码中,我们首先通过cd命令进入了存放jar程序的目录。然后,使用pgrep命令检查是否已有同名的后台进程在运行。如果已经有同名的进程在运行,输出提示信息并结束脚本的执行。

    98910

    在Linux系统运行WinForm程序

    在Linux系统下,虽然也有桌面窗体应用程序,但应用很少。 能否将WinForm程序移植到Linux系统上面呢?...下面我们看看一个简单的WinForm程序在Redhat的运行效果: 显示效果不错,跟在Windows下面的VS2008中的设计界面一致,但有一个致命Bug,就是窗体无法接收键盘事件,尽管使用鼠标没有任何问题...,下面是该虚拟机的系统桌面: 在它的英文环境下,运行MonoWinForm程序,除了汉字无法显示,没有Redhat中的无法输入文字的问题 切换OpenSUSE系统到简体中文环境,再次运行MonoWinForm...总结: 目前在Linux平台上运行WinForm程序基本上是可行的,推荐使用OpenSUSE发行版,不过对WinForm应用程序的中文支持还有问题。...如果要开发真正跨平台的窗体应用程序,推荐使用Gtk#做开发,它开发出的.NET程序,即可运行在Linux系统,也可以运行在Windows系统。

    6.6K70

    linux编译运行c++程序

    要求保存程序名为count-character-in-string.cc,运行方式为 ..../count-character-in-string your-string 在linux环境下编译运行c++我也是第一次,同时他这种运行方式也和我之前在win下的不一样,在win下我都是直接编译运行,...这个题目的要求就是在执行的程序后面跟上一串输入,而这个操作,需要在main函数中添加特定的参数 #include using namespace std; int main(int...首先通过linux自带的编辑软件创建一个test.cc文件 demeen@VM-0-4-ubuntu:~/cpp_code$ nano test.cc 然后将上述代码复制进去,依次摁下ctrl+o,Enter.../test" argv[1] = "abcd" argv[2] = "hello" argv[3] = "world" char *argv[]指向的数组中至少有一个字符指针,即argv[0],他通常指向程序中的可执行文件的文件名

    9.5K20

    让linux程序在后台运行

    ,并使之运行——但是如果关闭终端,那么这个程序也就随着关闭了。...那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?...tty是所有终端设备的总称 pty是其中一类,伪终端,或者叫虚拟终端 “&” 命令行结尾法: 在Unix/Linux下如果想让程序独立终端运行,一般都是使用 & 在命令结尾来让程序自动运行。...所以你需要和第一个方法混用,即 nohup command {option} & 混用后,它会自动把你执行的命令输出结果记录到权限为-rw——-,名为nohup.out的文件中。...$ 或 #) 其他相关命令: jobs:查看当前有多少在后台运行的命令 fg:将后台中的命令调至前台继续运行。

    5.1K10

    idea中运行jar程序

    IDEA中进行白盒测试–java竟然也在学python 前言:今天在学习大数据中的项目的时候遇到了jar包。我之前就有看到在jdk中是有很多的jar包的。请看图如下。...jdk中jar包确实很多,怪不得我们的程序都得以来jdk才能运行。 但是没想到这一次我直接使用了单独的jar包对一个纯方法进行运行,而且还可以多次运行,不会报错。...没错,我们可以绕过main方法,不要写main方法就可以直接运行我们所写的任何方法。例如上面的代码,但是@Test一定要写,不然会识别不出来的。...右击项目, 选择new => directory : 在项目下创建新目录 lib 把需要的.jar文件复制到这个目录中 右击每一个.jar文件, 点击 “Add as Library”,

    1K30

    【说站】java程序编好了怎么运行

    java程序编好了怎么运行 1、编译java程序获得MainApp.class文件后,在命令行敲击java AppMain。该系统将启动jvm过程。...java动态绑定的基础实现) 4、使用animal.printName()时,JVM根据animal引用找到animal对象,根据animal对象持有的引用定位在方法区域的animal类型信息的方法表中,...5、开始运行printName()函数。 拓展: 运行说明 编译后的字节代码文件格式主要分为常量池和方法字节代码两部分。...常量池记录了代码出现的token(类名、成员变量名等)和符号引用(方法引用、成员变量引用等)的方法的打工代码放置在类别中各种方法的打工代码中。...以上就是java程序编译后运行的方法,需要我们在之前就对文件有所编译,对这部分内容不太清楚的可以在课后学习。然后就可以跟着上面的运行步骤,执行有关的程序了。

    93440

    如何使程序在Linux后台运行

    经常在Linux上面运行程序都有这样的体验: 某个程序运行的时候,会产生大量的log(提示)信息,但实际上我们只想让它跑一下而已,log暂时不需要或者后面才有需要。...如果程序已经在运行了,其实也是有办法加入后台的,只需使用快捷键 ctrl-z 就能立马放到后台中了,不过这种方法其实是暂停了程序的运行,所以想要让程序继续运行还得输入 “fg” 命令让程序返回前台来。...那现在程序在后台运行了,我们怎么找到它呢?很简单,有两种方法: 1. jobs命令 jobs命令可以查看当前有多少在后台运行。...但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。...◆ ◆ ◆ ◆ ◆ nohup命令来避免程序中断 在命令的末尾加个&符号后,程序可以在后台运行,但是一旦当前终端关闭(即退出当前帐户),该程序就会停止运行。

    8.8K20

    使程序在Linux下后台运行

    一、为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。...所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行。...二、怎么样使程序在后台执行 方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。...附: 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ....那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令: $ .

    4.3K31
    领券