> 일반적인 문제 > 리눅스 실행 파일이란 무엇입니까?

리눅스 실행 파일이란 무엇입니까?

青灯夜游
풀어 주다: 2023-03-09 10:00:21
원래의
3360명이 탐색했습니다.

Linux에서 실행 파일은 파일을 실행할 수 있고 해당 파일에 "x" 권한이 있음을 의미합니다. 실행 파일은 코드 파일(스크립트 파일) 또는 바이너리 파일일 수 있습니다. 파일을 실행하는 방법에는 두 가지가 있습니다. 1. 인터프리터를 사용하여 파일을 직접 실행합니다. 2. "./"를 사용하여 파일을 실행하며 구문은 "./파일 이름"입니다.

리눅스 실행 파일이란 무엇입니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

실행 파일이란

실행 파일이란 이 파일을 실행할 수 있다는 의미입니다. 이 파일은 코드 파일일 수도 있고 바이너리 파일일 수도 있습니다

리눅스 파일 시스템에는 파일과 디렉터리만 있습니다(모든 것). 는 파일입니다).

Linux에서는 파일을 실행하는 두 가지 주요 방법이 있습니다: bash test.sh 또는 ./test.sh.bash test.sh或者./test.sh.

这个test.sh就被叫做可执行文件.

可执行文件分为两种: 一种是常见的二进制文件,一种是脚本文件.前者如常用的ls,mkdir命令等都是二进制的文件,后者常见的有shell脚本,或者Python脚本这些依赖于解释器执行的文件.

通过命令file可以查看一个文件的类型,如二进制文件会显示:

리눅스 실행 파일이란 무엇입니까?

而脚本文件则输出:
리눅스 실행 파일이란 무엇입니까?

可执行文件的区别

在上面的两个脚本文件中可以看到,输出的内容是不同的.一个被识别为了shell script一个则认为就是普通的text文件.但是两个文件都是可执行的:

리눅스 실행 파일이란 무엇입니까?

如图:两个文件运行后都会输出hello world!.

此处使用了两种不同的运行方式,第一种直接指定一个可执行文件./hello.sh,如果使用这种方式运行的话,脚本必须满足以下两个要求:

  • 文件有"x"权限

  • 文件如果不是二进制类型文件,那么在开头第一行必须指定了他的解释器

第一个就是指的Linux文件系统中的"rwx" r为只读,w代表可写,而"x"则意味着这个文件可执行.

这里判断这个文件可执行和"鸭子类型"有些类似,即只要一个动物会嘎嘎叫我就认为是鸭子.此时哪怕走过来一条狗嘎嘎叫了两声,那么也认为他是一个鸭子.
换算过去.不管文件类型是什么,只要这个文件具备"X"权限,那么系统就认为他是一个可执行文件.

示例: 新建一个text类型文件,内容为hello world!,然后添加"x"执行权限.

리눅스 실행 파일이란 무엇입니까?

可以看到,查看文件类型时,他和上面Python脚本打印内容一致,认为这是个txt文件.

随后给他加上了执行权限,然后’./'运行,提示"未找到命令".

此处,系统把他当成了一个shell脚本去执行,依次从中读取内容,然后交给"/bin/bash"解释器去执行.

接下来如法炮制,将Python脚本也变成一个系统认可的可执行文件

리눅스 실행 파일이란 무엇입니까?

此时,你也能用./去运行他了.

./ 表示什么?

一个文件运行有两种方式,第一种是用他的解释器直接去运行它,如:

리눅스 실행 파일이란 무엇입니까?

每个解释器只能运行对应自己语法的脚本,如果用了别的解释器那么则会抛出错误,如Python解释器无法运行shell脚本.

接下来说./,点在Linux系统中表示"当前目录",而"/“就是个普通的路径分隔符,组合在一起无非就是个相对路径,如:

리눅스 실행 파일이란 무엇입니까?

所以在执行一个系统认可的可执行文件的时候,./

이test.sh는 실행 파일이라고 합니다.

7-리눅스 실행 파일이란 무엇입니까?실행 파일은 두 가지 유형으로 나누어집니다. 하나는 일반적인 바이너리 파일이고 다른 하나는 일반적으로 사용되는 입니다. ls code>, <code>mkdir 명령 등은 모두 바이너리 파일입니다. 일반적으로 사용되는 쉘 스크립트나 Python 스크립트는 인터프리터의 실행에 의존하는 파일입니다.

🎜명령 file. 파일 유형을 확인할 수 있습니다. 예를 들어 바이너리 파일이 표시됩니다: 🎜🎜리눅스 실행 파일이란 무엇입니까?🎜🎜그리고 스크립트 파일은 다음을 출력합니다:
🎜🎜🎜🎜실행 파일의 차이점🎜🎜🎜을 확인하실 수 있습니다 위의 두 스크립트 파일에서 출력 내용은 다릅니다. 하나는 쉘 스크립트로 인식되고 다른 하나는 일반 텍스트 파일로 간주됩니다. 그러나 두 파일 모두 실행 가능합니다. 🎜🎜리눅스 실행 파일이란 무엇입니까?🎜🎜그림과 같이: 둘 다 hello world!를 실행한 후에 파일이 출력됩니다.🎜🎜여기에서는 두 가지 다른 실행 방법이 사용됩니다. 첫 번째 방법은 실행 파일 ./hello.sh를 직접 지정합니다. 그렇다면 스크립트는 다음 두 가지 요구 사항을 충족해야 합니다: 🎜
  • 🎜파일에 "x" 권한이 있습니다🎜
  • 🎜파일이 바이너리 형식 파일이 아닌 경우 해당 인터프리터는 시작 부분의 첫 번째 줄에 지정되어야 합니다.🎜
🎜첫 번째는 Linux 파일 시스템 r에서 "rwx"를 나타냅니다. 읽기 전용, w는 쓰기 가능, "x"는 이 파일이 실행 가능하다는 것을 의미합니다. 🎜🎜🎜이 파일이 실행 가능하다는 판단은 "오리 유형"과 다소 비슷합니다. 개가 와서 두 번 꽥꽥거려도 오리로 간주됩니다.
즉, 파일 형식에 관계없이 "X" 권한이 있으면 됩니다. 🎜🎜🎜예: hello world! 콘텐츠로 새 텍스트 유형 파일을 만든 다음 "x" 실행 권한을 추가합니다.🎜🎜리눅스 실행 파일이란 무엇입니까?🎜🎜 🎜🎜그런 다음 실행 권한을 추가한 다음 './'를 실행하여 "명령을 찾을 수 없습니다"라는 메시지를 표시했습니다. , 시스템은 이를 실행할 쉘 스크립트로 처리하고, 내용을 차례로 읽은 다음 "/bin/bash" 인터프리터에 전달하여 실행합니다.🎜🎜그런 다음 동일한 방법을 따르고 Python 스크립트를 실행 파일로 변환합니다. 시스템에서 인식되는 파일🎜🎜리눅스 실행 파일이란 무엇입니까?🎜🎜이때 ./로도 실행할 수 있습니다. 🎜🎜
🎜🎜./ 무슨 뜻인가요? 🎜🎜🎜두 가지가 있어요. 첫 번째는 다음과 같이 인터프리터를 사용하여 직접 실행하는 것입니다. png" title="167832674788859리눅스 실행 파일이란 무엇입니까?" alt="리눅스 실행 파일이란 무엇입니까?"/>🎜🎜🎜각 통역사는 자신의 구문에 해당하는 스크립트만 실행할 수 있습니다. 다른 통역사를 사용하면 오류가 발생합니다. 예를 들어, Python 인터프리터는 셸 스크립트를 실행할 수 없습니다. 🎜🎜🎜 다음으로 ./라고 말하고 Linux 시스템을 클릭하면 "현재 디렉터리"를 의미하며 "/"는 함께 결합하면 일반적인 경로 구분 기호입니다. 🎜🎜🎜🎜그래서 시스템에서 인식하는 실행 파일을 실행할 때 ./가장 중요한 부분은 아니고, 파일 자체가 실행 파일을 실행할 수 있습니다. 절대 경로가 있는 파일:🎜🎜🎜🎜

이전 /root/file/을 제거하고 마지막에 .py를 삭제한 경우, 즉 "hello"를 입력하고 를 인쇄하면 됩니다. hello world ! 그렇다면 이 파일은 리눅스 시스템의 명령어와 별반 차이가 없어 보입니다./root/file/都去掉,然后删掉结尾的.py,也就是只输入"hello”,打印一个hello world!,那么这个文件似乎和Linux系统中的一个命令没什么区别了.

接下来就把他变成和ls这种命令相同的一个"命令".

리눅스 실행 파일이란 무엇입니까?

  • 先把这个可执行文件重命名了

  • 接下来把他放到了 /usr/bin 目录下

  • 直接输入hello,直接打印了hello world!

这也从侧面说明,只要你把一个脚本 变成 系统承认的可执行文件,并且放到/usr/bin 目录下,他就和常用的命令没什么两样.

为什么是/usr/bin?

实际上在Linux系统中有个变量叫做PATH,这个变量中是一组路径的集合,当你输入一个命令的时候(如ls),他就在这个变量的内容中给出的目录里,寻找是否有对应名称的文件,然后运行它.

所以,如果我能把当前目录也加入到这个变量中,那么当前目录下的文件也就可以直接被系统运行而不需要指定路径.

리눅스 실행 파일이란 무엇입니까?

如果一个文件没有"x"属行,那么即便是丢到了/usr/bin目录下也无法执行.

一般很少会直接声明PATH变量,对这个变量操作时也会将其写入到~/.bashrc目录或者/etc/profile

다음으로 ls와 동일한 "명령어"로 바꿔보겠습니다. .

  • 먼저 실행 파일의 이름을 변경하세요

  • 그런 다음 /usr/bin 디렉터리에 넣으세요

  • hello를 직접 입력하고 hello world!

  • 를 인쇄하세요.이 역시 스크립트를 시스템이 인식하는 실행 파일로 변환하고 /usr/bin 디렉토리에 위치하므로 일반적으로 사용되는 명령과 다르지 않습니다.
    🎜왜 /usr/bin인가요?🎜🎜 실제로 Linux 시스템에는 PATH라는 변수가 있습니다. 이 변수는 경로 집합입니다(ls 등). 콘텐츠에 지정된 디렉터리에 있습니다. 🎜🎜그래서 이 변수에 현재 디렉토리를 추가할 수 있다면 현재 디렉토리에 있는 파일들이 경로를 지정하지 않고 바로 실행될 수 있습니다. 🎜🎜9 .png🎜🎜파일에 "x" 속성 줄이 없으면 /usr/bin 디렉터리에 던져도 실행할 수 없습니다.🎜🎜 일반적으로 PATH 변수를 직접 선언하는 경우는 거의 없습니다. 이 변수에 대해 작업하면 ~/.bashrc 디렉터리나 두 환경 변수 /etc/profile의 파일에도 기록됩니다. 세션 연결이 시작된 후 내부 콘텐츠가 자동으로 실행되고 이 디렉터리가 PATH 변수에 추가됩니다. 🎜🎜🎜🎜 요약 🎜🎜 스크립트 파일에 "x" 권한이 있고 해당 인터프리터가 첫 번째에 지정되어 있는 경우 라인 또는 바이너리 파일에 "X" 권한이 있는 경우 해당 파일은 시스템에서 인식하는 실행 파일이 됩니다. 이때, 실행 시 절대 경로 또는 상대 경로를 지정할 수 있을 뿐만 아니라 이를 통해 실행할 수도 있습니다. 🎜🎜스크립트 파일이 위 요구 사항을 충족하지 않으면 "bash hello.sh"와 같은 해당 인터프리터를 통해서만 실행할 수 있습니다. " 또는 "python hello." py" 이렇게 하세요.🎜🎜관련 추천: "🎜Linux 비디오 튜토리얼🎜"🎜

    위 내용은 리눅스 실행 파일이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿