linux ar命令的說明

helloxchen發表於2010-11-08
linux ar命令的說明

功能說明:建立或修改備存檔案,或是從備存檔案中抽取檔案。

語  法:ar[-dmpqrtx][cfosSuvV][a][b][i][備存檔案][成員檔案]

補充說明:ar可讓您集合許多檔案,成為單一的備存檔案。在備存檔案中,所有成員檔案皆保有原來的屬性與許可權。

參  數:
指令引數
-d  刪除備存檔案中的成員檔案。
-m  變更成員檔案在備存檔案中的次序。
-p  顯示備存檔案中的成員檔案內容。
-q  將問家附加在備存檔案末端。
-r  將檔案插入備存檔案中。
-t  顯示備存檔案中所包含的檔案。
-x  自備存檔案中取出成員檔案。
選項引數
a  將檔案插入備存檔案中指定的成員檔案之後。
b  將檔案插入備存檔案中指定的成員檔案之前。
c  建立備存檔案。
f  為避免過長的檔名不相容於其他系統的ar指令指令,因此可利用此引數,截掉要放入備存檔案中過長的成員檔名稱。
i  將問家插入備存檔案中指定的成員檔案之前。
o  保留備存檔案中檔案的日期。
s  若備存檔案中包含了物件模式,可利用此引數建立備存檔案的符號表。
S  不產生符號表。
u  只將日期較新檔案插入備存檔案中。
v  程式執行時顯示詳細的資訊。
V  顯示版本資訊。

ar用來管理一種文件。這種文件中可以包含多個其他任意類別的檔案。這些被包含的檔案叫做這個文件的成員。ar用來向這種文件中新增、刪除、解出成員。成員的原有屬性(許可權、屬主、日期等)不會丟失。

實際上通常只有在開發中的目標連線庫是這種格式的,所以儘管不是,我們基本可以認為ar是用來操作這種目標連結庫(.a檔案)的。

ar的常用用法見正文。

1、建立庫檔案

我 不知道怎麼建立一個空的庫檔案。好在這個功能好像不是很需要。通常人們使用“ar cru liba.a a.o"這樣的命令來建立一個庫並把a.o新增進去。"c"關鍵字告訴ar需要建立一個新庫檔案,如果沒有指定這個標誌則ar會建立一個檔案,同時會給出 一個提示資訊,"u"用來告訴ar如果a.o比庫中的同名成員要新,則用新的a.o替換原來的。但是我發現這個引數也是可有可無的,可能是不同版本的ar 行為不一樣吧。實際上用"ar -r liba.a a.o"在freebsd5上面始終可以成功。

2、加入新成員

使用"ar -r liba.a b.o"即可以將b.o加入到liba.a中。預設的加入方式為append,即加在庫的末尾。"r"關鍵字可以有三個修飾符"a", "b"和"i"。

  • "a"表示after,即將新成員加在指定成員之後。例如"ar -ra a.c liba.a b.c"表示將b.c加入liba.a並放在已有成員a.c之後;
  • "b"表示before,即將新成員加在指定成員之前。例如"ar -rb a.c liba.a b.c";
  • "i"表示insert,跟"b"作用相同。

3、列出庫中已有成員

"ar -t liba.a"即可。如果加上"v"修飾符則會一併列出成員的日期等屬性。

4、刪除庫中成員

"ar -d liba.a a.c"表示從庫中刪除a.c成員。如果庫中沒有這個成員ar也不會給出提示。如果需要列出被刪除的成員或者成員不存在的資訊,就加上"v"修飾符。

5、從庫中解出成員

"ar -x liba.a b.c"

6、調整庫中成員的順序

使用"m"關鍵字。與"r"關鍵字一樣,它也有3個修飾符"a","b", "i"。如果要將b.c移動到a.c之前,則使用"ar -mb a.c liba.a b.c"


%5F%5Flove/blog/item/e714c6aadebbf7bccb130c8d.html[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24790158/viewspace-1041124/,如需轉載,請註明出處,否則將追究法律責任。

相關文章