linux中的strip命令简介------给文件脱衣服
我们来看main.c文件:
然后我们看看结果:
通过ls -l 命令可知, a.out的大小是4673个字节;
通过file命令可知, a.out是可执行文件, 且是not stripped, 也就是说没有脱衣服。
通过nm命令, 可以读出a.out中的符号信息。
现在, 我把a.out的衣服strip掉, 得到的结果为:
通过ls -l 命令可知, a.out的大小是2980个字节, 大大减小;
通过file命令可知, a.out是可执行文件, 且是stripped, 也就是说衣服被脱了;
通过nm命令, 发现a.out中的符号没有了。
由此可见, strip用于脱掉文件的衣服, 文件会变小, 其中的符号信息会失去。 那这个strip有什么用呢? 很有用的! 原来的a.out比较大, 可以执行。 在strip之后, 文件变小了, 仍然可以执行, 这就就节省了很多空间。
其实, strip不仅仅可以针对可执行文件, 还能针对目标文件和动态库等。
在实际的开发中, 经常需要对动态库.so进行strip操作, 减少占地空间。 而在调试的时候(比如用addr2line), 就需要符号了。 因此, 通常的做法是: strip前的库用来调试, strip后的库用来实际发布, 他们两者有对应关系。 一旦发布的strip后的库出了问题, 就可以找对应的未strip的库来定位。
最后啰嗦一句, 某某动态库strip前是18M左右, strip后是3M左右, 可见, 脱脱衣服还是有明显好处的。
补充: 后来发现, 在调试过程中, 经常涉及到传库, 库太大时, 很耗费传输时间, 所以还是用strip来搞一下吧。
相关文章
- Linux 执行文件查找命令 which 详解
- 转:linux 文件解压命令
- [文件]Linux文本处理常用命令总结
- Linux rm删除大批量文件
- 如何从windows中拷贝文件到linux (ubuntu)??
- Linux中使用SecureCRT上传、下载文件命令sz与rz用法实例
- Linux Shell脚本自动化编程实战- scp非交互传文件
- linux crontab 文件位置和日志位置
- 重新点亮linux 命令树————文件特殊权限[十一]
- Linux scp -r命令主机间文件复制
- 一个JSON字符串和文件处理的命令行神器jq,windows和linux都可用
- 002-linux命令-文件和目录、查看文件内容-【cp、${}、basename、dirname、ls】
- win下gvim或者linux下的vim安装vundle都适用的配置文件 - 在当前目录及其子目录下**, 的所有文件* 中, 搜索当前光标所在的单词
- L36.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- locate和updatedb
- L35.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- which和whereis
- L31.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- uname和hostname
- L26.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- od和tee命令
- L22.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- uniq和wc命令
- L19.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- tailf和cut命令
- L18.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- head和tail命令
- L14.linux命令每日一练 -- 第二章 文件和目录操作命令 -- md5sum和chown命令
- Linux基础命令-ls显示目录和文件的属性信息
- The Linux device model
- linux 查看文件命令总结
- 位于/var/log目录下的20个Linux日志文件
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
- Linux中的文件
- linux 查看so库文件函数信息
- 【看表情包学Linux】shell 命令及运行原理 | Linux 权限 | 文件权限的修改和转让 | 目录的权限 | Sticky bit 粘滞位
- Ubuntu 安装Samba(Linux与Windows共享文件)