linux - 'size' vs 'ls -l' 获取可执行文件的大小

标签 linux bash binutils

对于同一个文件,我认为ls -l xxx的输出总是大于等于size xxx的输出。

但是当我输入 ls -l/bin/ls 时,输出是:

 -rwxr-xr-x 1 root root 104508  1月 14  2015 /bin/ls

对于size/bin/ls,输出为:

   text    data     bss     dec     hex filename
 101298     976    3104  105378   19ba2 /bin/ls

为什么 ls 显示小于 size104508 < 105378

最佳答案

ls -l 告诉你文件的大小,而 size 命令告诉你存储在文件中的可执行镜像的大小——多少内存加载时需要。一些段(例如 .bss)是零初始化的,而不需要文件中的数据来初始化它们,因此文件很可能因此小于可执行镜像。

关于linux - 'size' vs 'ls -l' 获取可执行文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41476750/

相关文章:

linux - 从 Expect Script 执行对话框命令

arrays - 将命令的输出读入 Bash 中的数组

php - 在php中运行系统命令

C++:Linux平台上的线程同步场景

bash - 如何检查是否在 Cygwin、Mac 或 Linux 中运行?

c++ - 使用与用于编译实际代码的不同(更高)版本的 gcc 构建 strip/binutils 是否会导致任何问题?

perl - 如何用IPC::Open2过滤大量数据?

c - 为已弃用的函数生成链接时错误

linux - 根据文件输入执行不同功能的 Shell 脚本

linux - useradd 命令选项 [-c comment] 不起作用