您好,登錄后才能下訂單哦!
這篇文章主要介紹如何快速上手Linux的size命令,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
size命令用于查看目標文件、庫或可執行文件中各段及其總和的大小,是 GNU 二進制工具集 GNU Binutils 的一員。
size 命令基本上就是輸出指定輸入文件各段及其總和的大小。下面是該命令的語法:
size [-A|-B|--format=compatibility] [--help] [-d|-o|-x|--radix=number] [--common] [-t|--totals] [--target=bfdname] [-V|--version] [objfile...]
man 頁是這樣描述它的:
?
GNU 的 size 程序列出參數列表中各目標文件或存檔庫文件的段大小 — 以及總大小。默認情況下,對每個目標文件或存檔庫中的每個模塊都會產生一行輸出。
objfile… 是待檢查的目標文件。如果沒有指定,則默認為文件 a.out。
下面是一些問答方式的案例,希望能讓你對 size 命令有所了解。
size 的基本用法很簡單。你只需要將目標文件/可執行文件名稱作為輸入就行了。下面是一個例子:
size apl
該命令在我的系統中的輸出如下:
How to use size command
前三部分的內容是文本段、數據段和 bss 段及其相應的大小。然后是十進制格式和十六進制格式的總大小。最后是文件名。
Q2、如何切換不同的輸出格式?
根據 man 頁的說法,size 的默認輸出格式類似于 Berkeley 的格式。然而,如果你想的話,你也可以使用 System V 規范。要做到這一點,你可以使用 –format 選項加上 SysV 值。
size apl --``format``=SysV
下面是它的輸出:
How to switch between different output formats
Q3、如何切換使用其他的單位?
默認情況下,段的大小是以十進制的方式來展示。然而,如果你想的話,也可以使用八進制或十六進制來表示。對應的命令行參數分別為 o 和 -x。
How to switch between different size units
關于這些參數,man 頁是這么說的:
?
-d
-o
-x
–radix=number
使用這幾個選項,你可以讓各個段的大小以十進制(-d 或 –radix 10)、八進制(-o 或 –radix 8);或十六進制(-x 或 –radix 16)數字的格式顯示。–radix number 只支持三個數值參數(8、 10、 16)。總共大小以兩種進制給出; -d 或 -x 的十進制和十六進制輸出,或 -o 的八進制和十六進制輸出。
Q4、如何讓 size 命令顯示所有對象文件的總大小?
如果你用 size 一次性查找多個文件的段大小,則通過使用 -t 選項還可以讓它顯示各列值的總和。
size -t [file1] [file2] ...
下面是該命令的執行的截屏:
How to make size command show totals of all object files
-t 選項讓它多加了最后那一行。
Q5、如何讓 size 輸出每個文件中公共符號的總大小?
若你為 size 提供多個輸入文件作為參數,而且想讓它顯示每個文件中公共符號(指 common segment 中的 symbol)的大小,則你可以帶上 –common 選項。
size --common [file1] [file2] ...
另外需要指出的是,當使用 Berkeley 格式時,這些公共符號的大小被納入了 bss 大小中。
Q6、還有什么其他的選項?
除了剛才提到的那些選項外,size 還有一些一般性的命令行選項,比如 v (顯示版本信息)和 -h (可選參數和選項的匯總)。
What are the other available command line options
除此之外,你也可以使用 @file 選項來讓 size 從文件中讀取命令行選項。下面是詳細的相關說明:
?
讀出來的選項會插入并替代原來的 @file 選項。若文件不存在或著無法讀取,則該選項不會被替換,而是會以字面意義來解釋該選項。文件中的選項以空格分隔。當選項中要包含空格時需要用單引號或雙引號將整個選項包起來。通過在字符前面添加一個反斜杠可以將任何字符(包括反斜杠本身)納入到選項中。文件本身也能包含其他的 @file 選項;任何這樣的選項都會被遞歸處理。
以上是“如何快速上手Linux的size命令”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。