"exe 파일"에 해당하는 것은 무엇입니까?


47

정확한 실행 파일 확장자가 무엇인지 모르겠습니다. 그것은인가 .deb또는 .tar.gz?


13
대답은 아니지만 LINUX의 모든 것을 추가하고 싶습니다 . 확장자는 .exe로 중요하지 않습니다.
atenz

15
@tijybba "모든 것이 파일"이라는 디자인 철학은 기본 실행 파일에 필요하지 않은 확장 전혀 관련.exe없습니다. 전자의 내용을 설명합니다 /dev; 후자는 실행 권한 과 파일 내부를 검사하여 파일이 어떤 종류인지 확인하는 데 의존하기 때문입니다.
Eliah Kagan

@ Eliah Kagan-Windows 확장은 실행에 필요하기 때문에 기본 정보 일뿐입니다. Linux에서는 실행 가능 권한 에 관한 한, 더 이상 필요하지 않습니다. Sudo-User Access 및 Underlaid 보안 문제 , 나는 누군가가 답을 후자의 부분으로 명확히 할 것이라고 생각했습니다.
atenz 2016 년

4
@tijybba 그러나 파일 인 "모든 것"은 실제로이 질문의 주제와 관련이 없습니까?
Eliah Kagan 2016

2
" exe 파일이 Ubuntu에 무엇입니까?"라는 질문의 해당 부분을 잘못 읽은 것 같습니다. 나는 Executable을 고려 했지만 이제는 열성적인 도움으로 " .exe 파일이 Ubuntu에 무엇입니까?"인 것 같습니다. 그것이 부적절하다면, 기꺼이 그것을 삭제하게되어 기쁩니다. (실수는 훌륭한 학습 경험입니다 : D).
atenz

답변:


41

Windows에는 ".exe"파일과 같은 표준 File-Extention이 없습니다.

Linux에서는 거의 모든 파일을 실행할 수 있습니다. 파일 끝 부분은 파일이 "실행되는"내용 또는 방법을 설명하지만 반드시 그런 것은 아닙니다.

예를 들어 쉘 스크립트는 .sh로 끝나고 bash 쉘을 통해 "실행"됩니다.

귀하의 질문에 .deb 및 .tar.gz를 요청하십시오. .deb 파일은 시스템에 소프트웨어를 설치합니다 (주의하십시오!). .tar.gz 파일은 .zip과 같은 압축 파일로 알 수 있습니다. Windows.


1
따라서 .deb는 .exe 파일입니다!
user54905

13
@Nick, .deb파일은 실행 파일이 아닌 경향이 있습니다. 파일은 ELF 나 "she-bang"스크립트가 아니며 binfmt에 등록되지 않을 것입니다. 실행 가능한 권한이 있더라도 커널은 그들과 함께 무엇을해야할지 모릅니다. 확장명에 따라 특정 응용 프로그램으로 파일을 열도록 파일 탐색기를 등록 할 수 있다는 사실은 파일 권한 또는 커널 이진 형식 실행과 관련하여 실행 파일과 관련이 없습니다.
Bruno

4
.deb 파일은 .zip과 .exe와 비슷합니다. 요점은 .deb 가 자체적으로 실행되지 않고 다른 응용 프로그램에 의해 추출, 해석 및 설치된다는 것입니다.
Rafał Cieślak 2016 년

5
다른 응용 프로그램은 일반적으로 설치 프로그램으로 두 배가되는 소프트웨어 센터입니다. Linux는 Windows에 비해 확장에 덜 의존 하므로 확장이 아닌 권한에 따라 실행 가능성을 결정합니다.
tyjkenn 2016 년

33
.deb.msi파일보다 파일 과 비슷 .exe합니다.
detly

79

다음과 같은 방식으로 시스템을 요약합니다.

Linux extension    |Windows Equivalent    |Short description
------------------------------------------------------------
.so, .o            | .dll                 | Object that can be loaded at runtime (Similar to DLL)
.a                 | .lib                 | Static library
[none], .elf(rare),| .exe, .com(rare)     | Linux executables
  .bin(rare)       |                      |
.sh                | .bat                 | Shell script
.exe               | .exe                 | Mono application, Wine application
.deb               | .msi                 | Installer package for Debian/Ubuntu releases
                   |                      |   (Though .deb is much more powerful with 
                   |                      |   native support for dependencies and repos). Note that .deb is actually a .ar archive with a special control file, a special file order, and a different extension.
.rpm               | .msi                 | Installer package for RedHat/CentOS releases.
.tar.gz, .tar, .gz | .zip                 | Compressed files that can contain a program or any other data, like images, documents, etc
.ko                | .sys                 | Drivers and kernel modules are loaded into the Linux kernel and have more hardware access than other programs.
.sh, .php, .py, etc| .bat, .cmd, .vbs,    | Linux is capable of running any file that it has an interpreter for. 
                   |   .js                |   A line at the top of the file called the shebang specifies what interpreter to run the file with. 
                   |                      |   Windows only supports .bat and .cmd files as Batch files, and .vbs (vbscript) and .js (JScript, not to be confused with JavaScript) via the Windows Script Host (WSH).

#!첫 번째 줄에서 시작되는 파일 (shebang 또는 hashbang이라고 함)은 스크립트 일뿐입니다. shebang 뒤의 경로는 파일 에 대해 실행 권한이 설정되어 있다고 가정 하고 스크립트를 구문 분석해야하는 프로그램 (실행 파일)의 경로 입니다 chmod a+x filename.

따라서 원래 질문에 답하십시오. 확장자가 없거나 드물게 .elf또는 .bin입니다.

커뮤니티 위키가 만들어 졌으므로 누구나 항목을 추가 할 수 있습니다.


2
나는 .elf 확장자를 본 적이 없지만 .bin 확장자를 자주 보았다.
Calmarius

1
다른 답변은 '모든'파일이 실행 파일이 될 수 있다는 사실에 초점을 맞추고 있지만이 답변은 실제로 머리에 못 박히는 반면 '모든 것이'실행 파일이 될 수 있다고 말하는 것은 실제로 유익하거나 사실이 아니라 오히려 예외적입니다. Windows의 파일 이름을 .exe로 바꿀 수 있으며 실행하려고 시도하지만 Linux에서 반드시 실행되지는 않지만 실행되지 않을 경우 작동하지 않습니다 ... 내 문제 여러 번 패키지를 다운로드하고 실제로 무엇을 시작해야하는지 이해하지 못하지만 물론 rtfm입니다.
TrySpace

.bin 확장자를 추가해야합니다 (Windows는 .exe와 동일)
Dani-Br

@ Dani-Br 이것은 커뮤니티 위키 게시물로, 다른 사람들이이 게시물을 편집 할 수 있으며, 이에 대한 평판이 충분합니다 (101). 지금은 .bin을 추가했습니다.
ζ--

그것은 확장이 아니지만 Windows 의 "PE" 형식이 Linux의 "ELF" 형식 과 동일 하다는 것을 아는 것이 유용했습니다.
회계 원

23

유닉스 / 리눅스에서 실행 파일의 개념은 Windows와 다릅니다.

윈도우

실행 파일로 끝나 .exe거나 .com실행되는 모든 것 .

리눅스 / 유닉스

각 파일마다 실행 가능한 비트가 있으므로 Windows와 달리 모든 파일을 실행할 수 있습니다. 파일이 실행 가능한지 확인하려면 해당 속성 (권한 탭)을 확인하거나 터미널에 표시된 파일 (모두 *로 표시)을 확인할 수 있습니다.

쉘 스크립트와 같은 텍스트 파일조차도 실행 가능한 비트를 설정하고 하나로 실행할 수 있습니다.


4
또한 텍스트 파일의 경우 파일 #!/bin/bash시작 부분의 shebang ( 예 :) 이 파일을 실행하는 프로그램을 추가 할 가치가 있습니다.
jackweirdy

사용자, 그룹 및 기타에 대해 별도의 실행 가능 비트가 존재합니다. 이 비트를 사용하면 프로그램을 실행할 수있는 사람이 제한 될 수 있습니다. SUID 및 SGID에 추가 비트가 존재하여 프로그램이 파일을 소유 한 사용자 또는 그룹으로 실행되도록합니다.
BillThor

2) "모든 파일에 실행 가능 비트가 있습니다": 3 개의 실행 가능 비트 (소유자, 그룹 및 기타)가 있으므로 하나는 자신을 허용하지만 다른 사람은 파일을 실행할 수는 없습니다. "소유자로서 실행"및 setgid "그룹으로 실행"에 setuid 비트도 있습니다. 2) "모든 파일을 실행할 수 있습니다": 그렇지 않습니다. 권한 비트는 파일을 성공적으로 실행하기위한 필수이지만 불충분 한 조건입니다. 예를 들어 파일을 실제로로드하여 실행할 수없는 경우 즉시 실패가 발생합니다 (Ref : file magic numbers man magic, ELF man elf및 hash-bang line man execve)
arielf

16

UNIX 운영 체제가 특정 파일 유형을 어떻게 생각하는지 확인하려면 file 명령을 사용하십시오.

$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1, for OpenBSD, statically linked, stripped

위의 예에서 프로그램 'ls'에 대한 경로를 제공하면 파일 경로로 대체됩니다.

스크립트 파일은 다음과 같습니다.

$ file script.sh
script.sh: Bourne-Again shell script text

임의의 텍스트 파일 :

$ file textfile
textfile: ASCII text

아카이브 파일 :

$ file rsync-3.0.6.tar.gz
rsync-3.0.6.tar.gz: gzip compressed data, from Unix

UNIX 프로그램에 Windows 프로그램이 있으면 Windows 프로그램을 올바르게 식별 할 수있을 정도로 똑똑합니다.

$ file FMZsetup.exe
FMZsetup.exe: MS-DOS executable (EXE), OS/2 or Windows

그리고 파일이 무엇인지 알 수 없지만 열 수는 있으면 데이터라고합니다.

$ file myrandom
myrandom: data

1
실제로 대답은 아니지만 좋은 측면- "답변"
dlin

11

Linux에서의 파일 실행은 파일 이름 또는 확장자와 전혀 관련이 없습니다. 커널의 binfmt메커니즘에 의해 처리되고 실행 권한이 설정되어 있으면 모든 파일을 잠재적으로 실행할 수 있습니다 .

실행 파일의 가장 일반적인 형식은 ELF 이지만 일부 커널은 이전 a.out형식 을 지원하도록 컴파일 할 수 있습니다 . (자세한 기술 정보 binfmt_elf.c는 어디를 참조하십시오 .)

또 다른 일반적인 메커니즘은 파일의 시작 부분 을 찾는 "Shebang" 시스템 입니다.binfmt_script#!/path/to/interpreter

binfmt_misc여기에 설명 된대로 다른 핸들러를 등록 할 수 있습니다 .

약간의 커널 프로그래밍을 좋아한다면 자신 만의 글을 쓸 수도있다 .

직접 관련이 없지만 file명령은 파일이 ELF 실행 파일인지 아니면 다른 파일인지를 알려줍니다.

명명 규칙은 파일의 실행 상태와 관련이 없습니다 ( binfmt_misc등록에 사용 된 경우 제외 ). 그들은 단지 컨벤션 일뿐입니다. 일반적으로 .exeLinux에서 찾은 파일 은 Windows / .Net 환경에서 확장명을 얻는 단일 응용 프로그램 일 수 있습니다 .exe.

파일을 "실행"할 때 발생할 수있는 다른 측면은 레지스터 확장을 사용하는 파일 탐색기 도구를 사용하여 이러한 파일을 여는 프로그램을 실행할 수 있도록하는 것입니다. 이것은 당신의 경우 더블 클릭 무슨 일이 일어날 지입니다 .txt, .tar.gz또는 .deb예를 들어, 다음 파일을 실행하거나 실행하지 않습니다,하지만 당신이 사용하는 것은 이러한 파일을 열려면 시작하는 실행 파일이 선택하는을 두 번 클릭합니다.


나는 이것이 더 포괄적 인 답변 중 하나에 대한 의견으로 더 낫다고 생각합니다.
ζ--

@ObsessiveFOSS,하지만 공감 비가 필요합니까? 내 대답 전에 아무도 모노를 언급하지 않았습니다. 어쨌든 리눅스 실행 파일이 실제로 어떻게 작동하는지에 대한 대답은 없습니다 (허용 된 답변에 대한 binfmt에 대한 내 의견 참조).
Bruno

나는 공감하지 않았다. 투표는 그대로 유지되어야한다고 느꼈습니다.
ζ--

@ObsessiveFOSS, 문제 없습니다. 또한 질문에 답한 후 약간의 의미를 변경하고 (처음에는 "exe 파일이 있는데 실행할 수 없습니다 ..."로 이해하고) 대답을 줄이면서 질문이 편집되었음을 알았습니다. 실제로 관련.
Bruno

승인. 문제 없어요.
ζ--

2

Windows에서 .exe 파일은 일반적으로 실행 파일이라고하는 확장명 ".exe"로 끝나는 컴퓨터 파일입니다. exe 파일을 클릭하면 내장 루틴이 여러 기능을 동작으로 설정할 수있는 코드를 자동으로 실행합니다. EXE 파일은 일반적으로 Windows 운영 체제에 파일을 설치하는 데 사용됩니다.

또한 압축 파일이라고하는 .tar 파일이 있습니다. Ubuntu와 같은 Linux 버전은 대부분의 소프트웨어 소스 코드와 함께 tar.gz 형식으로 제공되는 다양한 소프트웨어 배포 기능을 사용합니다. 그 tar를 가정 할 수 있습니다. gz는 잘 알려진 .tar 형식의 형식으로, 보관에 사용됩니다.

반면 우분투에서는 .deb 파일 형식이 Windows의 .exe 파일과 비슷하게 동작하는 형식으로, 소프트웨어 센터를 열면 소프트웨어 센터에서 코드를 처리하고 실행 파일과 같은 프로그램을 설치합니다.

소스 형식 (tar.gz)에서 소프트웨어 및 패키지를 계속 설치할 수 있지만 소프트웨어 설치에 가장 적합한 형식은 .deb입니다. 포함 된 모든 응용 프로그램은 실제로 .deb 파일입니다. 일반적으로 Linux에서는 거의 모든 파일 형식 (.deb 및 tar.gz 및 잘 알려진 bash 파일 .sh 포함)을 실행 파일로 사용할 수 있으므로 패키지 또는 소프트웨어를 설치할 수 있습니다.


5
오히려 데비안에서 파생 된 시스템의 .deb 파일과 Microsoft Installer의 .msi 파일을 비교하고 싶습니다.
MvG

맞아요! :)
dlin

2

파일이 실행 가능함을 나타내는 Windows 의 exe 파일 확장자 와 동일하지 않습니다 . 대신, 실행 파일은 확장자를 가질 수 있으며 일반적으로 확장자없습니다 .

Linux / Unix는 파일 권한 을 사용 하여 파일 실행될 있는지 표시합니다 . 특히,이 실행 이 파일이되는 시스템 말한다 파일을 권한을 허용 실행되는이. 그러나이 권한이 없다고해서 파일이 실행 파일이 아님을 나타내지는 않습니다. 단지 해당 사용자가되지 않는다는 것을 허용 그것을 실행하려고합니다. 마찬가지로이 권한이 있다고해서 항상 파일이 유효한 실행 파일임을 나타내는 것은 아닙니다.

Linux / Unix에는 일반적으로 확장명이 .exe 인 PE (Windows) 또는 MZ / NE (DOS) 이진 실행 파일 형식에 해당하는 ELF라는 이진 실행 파일 형식이 있습니다.

그러나 셸에 따라 다른 유형의 파일이 실행 가능할 수 있습니다. 일반적으로 시스템이 이진 실행 파일 (예 : ELF 형식)로 인식하지 않는 파일을 실행하려고하면 현재 셸 인터프리터가이를 해석합니다. 이는 Windows 또는 DOS의 배치 파일 과 동일한 효과를 수행하지만 , 해당 유형 또는 실행 방법을 식별하는 확장자가 아닙니다.

쉘 파일은 선택적으로 해시 뱅 (파일에서 처음 두 문자 #!뒤에 인터프리터에 대한 경로)으로 시작할 수 있습니다.이 경우 현재 쉘 인터프리터로 파일의 나머지 부분을 해석하는 대신 대체 쉘 또는 인터프리터를 실행할 수 있습니다. 파일을 실행하십시오. 따라서 모든 해석 언어로 스크립트를 작성할 수 있으며 스크립트 를 실행할 때 올바른 인터프리터로 스크립트를 실행할 수 있습니다.


우와, 나도 이것에 거의 대답했다. 날짜를보십시오,이 포스트는 공룡입니다.
Tamsyn Michael

1

EXE 및 DLL 파일은 휴대용 실행 파일입니다. 이들은 PE / COFF 유닉스 파일을 기반으로합니다.

읽기 http://en.wikipedia.org/wiki/Portable_Executable을 자세한 내용은.

우분투에는 실행 파일에 대한 특정 확장자가 없습니다. 이들은 일반적으로 관련 응용 프로그램의 이름을 따서 명명 된 파일입니다.

중요한 요소는 이러한 파일에 실행 가능 비트가 설정되어 있다는 것입니다. 색상 터미널이있는 경우을 사용하여 나열하면 색상이 다른 것을 알 수 있습니다 ls.

유닉스 파일 시스템에서 바이너리 실행 파일은 일반적으로 자체 위치에 저장됩니다.

  1. / bin (코어 바이너리)
  2. / sbin (시스템 바이너리)
  3. / usr / bin (애플리케이션 바이너리)

다른 응용 프로그램 자원은 / usr / lib / 또는 / usr / share /에 저장 될 수 있습니다.

deb 파일은 Windows의 msi 파일 (예 : 패키지 설치 프로그램)에보다 정확하게 대응됩니다.

일반적으로 tar.gz 파일 또는 bz2 파일에는 애플리케이션을 빌드 할 수있는 소스 코드가 포함되어 있습니다.


0

.exe / .com 파일의 Ubuntu equallant는 확장명이없는 파일이며 일반적으로 .bin ..run과 같은 일부 확장명은 편의를 위해 추가됩니다.

.bat 파일 (거의 모든 파일)에 대한 여러 가지 대안이 있으며, 가장 인기있는 파일은 .sh입니다

.deb는 데비안 standerds가있는 아카이브 바이너리 파일 (Windows의 .msi와 유사)입니다.

.tar.gz는 우분투에서 사용되는 일반적인 보관 형식입니다.


0

확장명에 관계없이 모든 파일 이름을 실행 파일로 설정할 수 있지만 파일에 적절한 권한 세트가 있어야합니다. 노틸러스에서 파일을 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭 한 다음 "파일을 프로그램으로 실행 허용"체크 상자를 선택하여 권한을 부여 할 수 있습니다.

실행을 표시하는 메뉴 항목 : -checkbox- 프로그램으로 파일 실행 허용


"모든 파일"이라는 문구가 나타내는 것처럼 파일 형식이 아닌 모든 파일 이름 을 실행 파일로 만들 수 있음 을 지적하고 싶습니다 . 명확성을 위해 편집.
Geek

-3

표준 GNU zip (gzip) 압축 알고리즘으로 압축 된 Linux 및 TAR 아카이브 용 .deb 데비안 패키지; 하나 이상의 압축 파일을 포함합니다. 파일, 프로그램 및 설치 프로그램을 패키지하기 위해 Unix 운영 체제에서 일반적으로 사용됩니다.

참고 : TAR.GZ 파일은 먼저 압축을 풀고 TAR 유틸리티를 사용하여 확장해야합니다. .TAR 및 .GZ 파일 형식이 모두 포함됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.