Unix에서 제거된 실행 파일과 제거되지 않은 실행 파일은 무엇입니까?

Unix에서 제거된 실행 파일과 제거되지 않은 실행 파일은 무엇입니까?

~에서사람 파일,

EXAMPLES
   $ file file.c file /dev/{wd0a,hda}
   file.c:   C program text
   file:     ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
             dynamically linked (uses shared libs), stripped
   /dev/wd0a: block special (0/0)
   /dev/hda: block special (3/0)
   $ file -s /dev/wd0{b,d}
   /dev/wd0b: data
   /dev/wd0d: x86 boot sector
   $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
   /dev/hda:   x86 boot sector
   /dev/hda1:  Linux/i386 ext2 filesystem
   /dev/hda2:  x86 boot sector
   /dev/hda3:  x86 boot sector, extended partition table
   /dev/hda4:  Linux/i386 ext2 filesystem
   /dev/hda5:  Linux/i386 swap file
   /dev/hda6:  Linux/i386 swap file
   /dev/hda7:  Linux/i386 swap file
   /dev/hda8:  Linux/i386 swap file
   /dev/hda9:  empty
   /dev/hda10: empty

   $ file -i file.c file /dev/{wd0a,hda}
   file.c:      text/x-c
   file:        application/x-executable, dynamically linked (uses shared libs),
   not stripped
   /dev/hda:    application/x-not-regular-file
   /dev/wd0a:   application/x-not-regular-file

실행 가능한 스트리핑이란 무엇을 의미합니까?

일부 실행 파일은 삭제되고 다른 실행 파일은 삭제되지 않는 이유는 무엇입니까?

답변1

실행 파일이 gcc의 -g 플래그로 컴파일되면 디버깅 정보가 포함됩니다. 이는 각 명령어에 대해 이를 생성한 소스 코드의 줄, 소스 코드의 변수 이름이 보존되고 런타임 시 일치하는 메모리와 연결될 수 있다는 정보가 있음을 의미합니다. Strip은 실행 파일의 크기를 줄이기 위해 이러한 디버깅 정보와 실행에 필요하지 않은 실행 파일에 포함된 기타 데이터를 제거할 수 있습니다.

관련 정보