에서 남자 파일 ,
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
실행 가능 제거는 무엇을 의미합니까?
일부 실행 파일이 제거 된 반면 다른 실행 파일은 제거되지 않은 이유는 무엇입니까?
답변
gcc의 -g 플래그를 사용하여 실행 파일을 컴파일하면 디버깅 정보가 포함됩니다. 즉, 각 명령어마다 소스 코드의 어느 라인이 소스 코드를 생성했는지, 소스 코드의 변수 이름이 유지되며 런타임시 일치하는 메모리와 연관 될 수 있습니다. 스트립은이 디버깅 정보 및 기타 포함 된 데이터를 제거 할 수 있습니다. 실행 파일의 크기를 줄이기 위해 실행에 필요하지 않은 실행 파일.