在linux中,执行一个文件意味着该文件可以运行,并且该文件拥有“X”权限;执行文件可以是代码文件(脚本文件)或二进制文件。有两种方法运行文件:1。用解释器直接运行文件;2.用“.”运行文件。/",语法是"。/文件名”。
本教程的操作环境:linux7.3系统和Dell G3电脑。
何为可执行文件
可执行文件意味着该文件可以运行。该文件可以是代码文件或二进制文件。
Linux文件系统只有文件和目录(一切都是文件)。
在Linux中,有两种运行文件的主要方法:bash test.sh或。/test.sh .
这个test.sh称为可执行文件。
可执行文件分为两种:一种是常见的二进制文件,另一种是脚本文件。前者是二进制文件,比如ls和LS,mkdir命令,后者是shell脚本或者Python脚本,取决于解释器的执行。
您可以通过命令文件查看文件的类型。例如,二进制文件将显示:
而脚本文件则输出:
输出脚本文件时:
可执行文件之间的差异
从上面两个脚本文件可以看出,输出内容是不同的。一个被认为是shell脚本,另一个被认为是普通的文本文件。但是这两个文件都是可执行的:
如图:两个文件运行后都会输出hello world!。
这里使用了两种不同的运行模式。第一个直接指定了一个可执行文件。/hello.sh。如果以这种方式运行,脚本必须满足以下两个要求:
这里判断这个文件是可执行的和“鸭子类型”有些相似之处,也就是说,只要一个动物会嘎嘎叫,我就认为它是一只鸭子。这时候就算狗叫两声,也算鸭子。
不管文件类型是什么,只要文件有“X & quot权限,那么系统认为是可执行文件。
示例:创建一个新的文本文件,内容为hello world!,然后添加“x & quot行政权力。
可以看到,在检查文件类型时,他与上面打印的Python脚本一致,认为是txt文件。
然后他被授予行政权力,然后。/'运行,提示“命令”没有找到。。
在这里,系统将它作为一个shell脚本来执行,依次从中读取内容,然后将其交给“/bin/bash & quot;要执行的解释程序。
接下来,做同样的事情,把Python脚本变成系统识别的可执行文件。
此时,您也可以使用。/来运行它。
。/什么意思?
有两种方法运行文件。第一种方法是用它的解释器直接运行它,比如:
每个解释器只能运行对应于自己语法的脚本。如果使用另一个解释器,就会抛出一个错误,比如Python解释器不能运行shell脚本。
接下来说。/,在Linux系统中圆点代表“。当前目录",而"/"只是一个普通的路径分隔符,它们加在一起无非是一个相对路径,比如:
所以在执行系统认可的可执行文件时,。/不是最重要的部分,而是文件本身。例如,我可以用绝对路径运行一个可执行文件:
如果你甚至删除了前面的/root/file/py结尾,也就是只需输入“Hello”,打印一个hello world!那么这个文件看起来和Linux系统中的一个命令没什么区别。
然后把他变成和ls“命令”一样的命令。
为什么/usr/bin?
其实Linux系统中有一个变量叫做PATH。这个变量是一组路径。当您输入一个命令(比如ls)时,他会在这个变量的内容中给出的目录中查找具有相应名称的文件,然后运行它。
所以,如果我可以将当前目录添加到这个变量中,那么当前目录中的文件就可以由系统直接运行,而不需要指定路径。
如果文件没有“x & quot是一行,那么即使它被放到/usr/bin目录中,也不能被执行。
通常,PATH变量很少直接声明。当操作这个变量时,它也将被写入~/。bashrc目录或两个环境变量/etc/profile的文件。这样,内容将在会话连接后自动运行,并且该目录将被添加到PATH变量中。
摘要
如果脚本文件有“x & quot权限还在第一行指定了相应的解释器,或者一个二进制文件有“X & quot权限,那么这个文件就成为系统识别的可执行文件。此时,运行它不仅可以指定绝对路径或相对路径,还可以通过它的解释器执行它,甚至可以将其目录添加到“PATH & quot在这个变量中。
如果一个脚本文件不满足上述要求,你只能通过它的解释器来执行,比如“bash hello.sh & quot或者“python hello.py & quot这边走。
相关推荐:《Linux视频教程》
以上是linux可执行文件是什么的细节。更多详情请关注AdminJS的其他相关文章!