每天一個 Linux 命令:size 命令

Python實戰社羣

Java實戰社羣

長按識別下方二維碼,按需求添加

掃碼關注添加客服

進Python社羣▲

掃碼關注添加客服

進Java社羣

轉自:戀貓大鯉魚

dablelv.blog.csdn.net/article/details/92708379

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  :
 p         size         addr
 .text         294880         8192
 .data          81920       303104
 .bss           11592       385024
 Total         388392

 size  :
 p         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的

 有個大神級女朋友是什麼體驗

 世界上五個最不務正業的科學家!

 魂鬥羅只有128KB爲何可以實現那麼長的劇情


在看點這裏好文分享給更多人↓↓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章