Linux size 命令

size命令是GNUBinutils的一部分,用于查看目标文件、库或可执行文件的各段大小。它可以以SystemV或Berkeley两种风格显示输出,并支持多种进制显示。用户可以使用不同选项来定制输出格式,例如查看总大小或打印commonsymbols的信息。
摘要由CSDN通过智能技术生成

  1. 详解Linux size命令

1.命令简介

size命令用于查看目标文件、库或可执行文件中各段及其总和的大小,是 GNU 二进制工具集 GNU Binutils 的一员。

2.命令格式

size [-A|-B|--format=compatibility]
   [--help]
   [-d|-o|-x|--radix=number]
   [--common]
   [-t|--totals]
   [--target=bfdname] [-V|--version]
   [OBJFILE...]


其中 OBJFILE… 为待检测的文件列表,若未给定,则默认为 a.out。

3.选项说明

-A
-B
--format=compatibility
控制输出格式。-A 或 --format=sysv 表示使用 System V size 风格,-B 或 --format=berkeley 表示使用 Berkeley size 风格。默认使用 Berkeley size 风格的输出。

下面是 Berkeley 风格示例:

$ size --format=Berkeley ranlib size
text    data    bss     dec     hex     filename
294880  81920   11592   388392  5ed28   ranlib
294880  81920   11888   388688  5ee50   size

下面是接近 System V 风格示例:

$ size --format=SysV ranlib size
ranlib  :
section         size         addr
.text         294880         8192
.data          81920       303104
.bss           11592       385024
Total         388392

size  :
section         size         addr
.text         294880         8192
.data          81920       303104
.bss           11888       385024
Total         388688

--help
显示帮助信息

-d
-o
-x
--radix=number
控制大小输出的进制 -d 或 --radix=10 表示 10 进制,-o 或 --radix=8 表示八进制,-x 或 --radix=16 表示 16 进制

--common
打印每个文件的 common symbols 大小

-t
--totals
列出所有文件的总大小。注意,只能使用 Berkeley 风格输出

--target=bfdname
指明目标文件的格式。该选项没有必要指定,因为 size 可自动推导

-V
--version
显示版本

@file

从指定的文件 file 读取命令行选项。文件中的选项由空白符(空格,TAB和回车)分隔。选项中可以包含空白字符,方法是将整个选项用单引号或双引号括起来。任何字符(包括反斜杠)可以通过添加前缀反斜杠来包含。文件本身可能包含额外的 @file 选项,该选项将以递归方式处理

4.常用示例

(1)查看指定程序各个段的大小。以 size 为例。

size /bin/size
text    data     bss     dec     hex filename
22565    1428    1360   25353    6309 /bin/size

(2)查看静态库中的各个目标文件的段大小。以 libc.a 为例。

size /usr/lib64/libc.a

text    data     bss     dec     hex filename
233       4       0     237      ed init-first.o (ex /usr/lib64/libc.a)
1667       0       0    1667     683 libc-start.o (ex /usr/lib64/libc.a)
64       0       0      64      40 sysdep.o (ex /usr/lib64/libc.a)
953       0       0     953     3b9 version.o (ex /usr/lib64/libc.a)
395       0       0     395     18b check_fds.o (ex /usr/lib64/libc.a)
852       8    2192    3052     bec libc-tls.o (ex /usr/lib64/libc.a)
307       0       0     307     133 elf-init.o (ex /usr/lib64/libc.a)
8       0       0       8       8 dso_handle.o (ex /usr/lib64/libc.a)
0       0       4       4       4 errno.o (ex /usr/lib64/libc.a)
...
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux下的size命令可以用于查看可执行文件、目标文件和共享库等二进制文件的大小,同时还可显示文件中各个段的大小信息。 size命令的使用格式如下: ``` size [选项] 文件名 ``` 常用选项包括: - -B:指定以字节为单位显示大小信息; - -t:按照段(section)的大小来显示信息; - -A:显示所有符号信息,包括未使用的符号等; - -G:显示全局变量的大小信息。 例如,要查看可执行文件test的大小信息,可以使用以下命令: ``` size test ``` 输出结果中,第一列为各个段的大小信息,第二列为段的名称,最后一列为文件名。 ### 回答2: size命令是用于查看目标文件或目标文件中函数和数据对象的大小的Linux命令。 这个命令用法非常简单,只需要在命令后面跟上目标文件的路径即可。当然,也可以同时指定多个目标文件,用空格分隔开即可。 size命令的输出结果通常会展示三个值,分别是text段(代码段)的大小、data段(数据段)的大小和bss段(未初始化数据段)的大小。这些值通常以十进制表示,但也可以通过size的选项进行控制。 通过size命令,我们可以了解目标文件的大小情况,这对于优化和调试程序非常有用。通过分析text段的大小,我们可以了解程序的代码长度,如果代码过长,可能需要进行一些优化措施以提高程序的执行效率。同样,通过分析data段和bss段的大小,我们可以了解目标文件中使用的全局变量和静态变量的大小情况,这对于程序的内存使用情况也非常有帮助。 总之,size命令是一个简单实用的Linux命令,可以帮助我们了解目标文件或可执行文件的大小情况,从而进行代码优化和程序调试。 ### 回答3: Size命令是一个用于统计目标文件或目录大小的Linux命令。它可以用来查看文件或目录占用的磁盘空间大小。 Size命令可以在终端中使用,语法如下: size [选项] [目标文件] 其中,选项可以是以下几种: - -A 或 --format=SysV: 以SysV格式显示文件大小。 - -B 或 --format=Berkeley: 以Berkeley格式显示文件大小。 - -H 或 --format=GNU: 以GNU format显示文件大小。 - -L 或 --format=SysV: 以SysV格式显示文件大小。 - -d 或 --decimal: 以十进制显示文件大小。 - -s 或 --total: 显示所有目标文件的总大小。 若不指定任何目标文件,则Size命令会显示当前目录下所有文件的大小。 Size命令会输出三个值:text、data和bss。这三个值分别表示可执行文件的代码段大小、数据段大小和空的BSS段(即在程序中声明但未进行初始化的全局变量占用的空间)大小。 除此之外,Size命令还会显示文件的总大小。有时候,我们需要查看某个文件夹下所有文件的总大小,可以使用Size命令的选项-s或--total。 总的来说,Size命令对于查看文件或目录大小是非常有用的。它可以帮助我们了解文件或目录占用的磁盘空间,方便我们进行存储管理和资源分配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值