云网牛站
所在位置:首页 > Linux常用命令大全 > 更多实用命令 > strip命令

strip命令

strip命令通过删除可执行文件中ELF头的 typchk段、符号表、字符串表、行号信息、调试段、注解段、重定位信息等来实现缩减程序体积的目的。而被剪裁过的可执行文件不可进行还原。

参数

-H:删除文件头(不删除符号表)
-l:删除行号信息
-r:删除调试段、typchk段、符号表(不删除外部符号、静态符号与重定位信息)
-t:删除符号表(不删除函数符号与行号信息)
-x:删除重定位信息、符号表(不删除外部符号、静态符号)
-X[mode]:删除文件特定符号信息(mode: 32、64、32_64 | 模式: 32位 、64位、32_64位等符号表)
-V:输出版本号

注:使用注意

gcc 对于编译时已经进行深层优化的程序,使用strip命令可能会导致无法正常运行。

实例

[root@localhost ~]# gcc -g -o test test.c      #-g 生成带调式信息的可执行文件  test

[root@localhost ~]# ls -l test                 #查看文件xinxi
-rwxrwxrwx 1 root root 114688 2017-10-23 test

[root@localhost ~]# strip test                 #裁剪可执行文件

[root@localhost ~]# ls -l test
-rwxrwxrwx 1 root root 62281 2017-10-23 test
 
[root@localhost ~]# strip -X 32  test         #裁剪可执行文件,删除32位符号表等信息

相关命令