导读 今天来介绍一下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)
...

原文来自:https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666549937&idx=3&sn=6b17f1af617a1726eb9db570288a6a76&chksm=80dc961ab7ab1f0ce27f7037fce10863a8f3e2619bb9b56e3513f55ee20bb97c7b72e1face2b&mpshare=1&scene=1&srcid=1225PcQximg8Y7M1rAgABkWQ&sharer_sharetime=1608902431380&sharer_shareid=6f243aebe9fbc3604fa7bbcda4395fb6&key=b0ef2a265df6e2d53c7d3fe8b9a5d7895c9d58437847438cf93275a6ba90e6f1b7115082004d6ac04811480f786501ea52f328d715b10834abe9b787f0c6c271cb2ad390aae894d9fe04ac33c3dd71f983fcc9824f59fe8667e07efcd0c8880b9caeadf5ce753dda9bffea96747bfa944b2ccd873b8499e72cb3905ccdb57058&ascene=1&uin=MjE0MDM3ODYyNw%3D%3D&devicetype=Windows+10+x64&version=6300002f&lang=zh_CN&exportkey=A8qhkoqA%2FOh7SvXWyPtK5W8%3D&pass_ticket=t%2Fnp4%2BcS3FeeBId9yTfWJb71XcYZtNiwIa%2F5zve7x3huRryHT%2BpiHCt0GHG4reSb&wx_header=0

本文地址:https://www.linuxprobe.com/size-linux.html编辑:王华超,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/