中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Linux基礎命令---ar-創(chuàng)新互聯(lián)

ar

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網營銷推廣、網站重做改版、峽江網站定制設計、自適應品牌網站建設、H5頁面制作商城網站建設、集團公司官網建設、外貿營銷網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為峽江等各大城市提供網站開發(fā)制作服務。

ar 指令可以創(chuàng)建、修改庫,也可以從庫中提取單個模塊。庫是一個單獨的文件,里面包含了按照特定結構組織起來的其他文件,我們稱作member。歸檔文件通常是一個二進制文件,我們一般將歸檔文件當作庫來使用。原始文件的內容、模式(權限)、時間戳、所有者和組保存在存檔中,并可在提取時恢復。

GNU ar 可以維護其成員具有任意長度的名稱的檔案;但是,根據您的系統(tǒng)上對ar的配置方式,可以對成員名長度進行限制,以便與其他工具維護的存檔格式兼容。如果存在,限制通常是15個字符(典型的與a.out相關的格式)或16個字符(典型的與coff相關的格式)。

當您指定修飾符的時候,ar會為存檔中可重定位的對象模塊中定義的符號創(chuàng)建一個索引。創(chuàng)建之后,每當ar對其內容進行更改時,這個索引就會在存檔中更新(除了Q更新操作外)。具有這樣一個索引的歸檔可以加速鏈接到庫,并允許庫中的例程相互調用,而不考慮它們在存檔中的位置。您可以使用“nm -s”或“nm --print-armap”列出此索引表。如果存檔缺少表,則可以使用另一種稱為ranlib的ar形式來添加表。

GNU ar 可以隨意創(chuàng)建一個瘦存檔,其中包含一個符號索引和對檔案成員文件的原始副本的引用。這樣的存檔對于構建用于本地構建的庫非常有用,因為在本地構建中,可重新定位的對象將保持可用,而復制每個對象的內容只會浪費時間和空間。薄檔案也是扁平的,因此將一個或多個檔案添加到一個瘦歸檔中將單獨添加嵌套歸檔的元素。存檔元素的路徑是相對于歸檔本身存儲的。

GNU Ar 被設計成與兩個不同的設施兼容。您可以使用命令行選項來控制它的活動,比如Unix系統(tǒng)上的不同類型的ar;或者,如果您指定了單一命令行選項-M,您可以使用標準輸入提供的腳本來控制它,比如MRI "librarian"程序。

此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1 、語法

ar  [--plugin name]   [-X32_64]  [-]p[mod [relpos]  [count]]   archive   [member...]

 

2 、選項列表

GNU ar 允許您在第一個命令行參數中按任意順序混合操作代碼p和修飾符標志mod。如果您愿意,可以用“-”開始第一個命令行參數。p鍵字母指定要執(zhí)行的操作;它可能是以下任一操作,但您必須僅指定其中一個操作

操作代碼

說明

c

創(chuàng)建歸檔文件

d

刪除歸檔中的成員文件,將要刪除的模塊的名稱指定為member。如果沒有指定要刪除的文件,則存檔將保持不變

m

改變成員文件在歸檔中的順序 。如果在多個成員中定義了一個符號,則存檔中成員的排序會改變程序使用庫鏈接的方式。如果在“m”中沒有使用修飾符,那么在成員參數中命名的任何成員都會移動到歸檔文件的末尾;您可以使用a、b或i修飾符將它們移動到指定的位置。

p

將存檔的指定成員打印到標準輸出文件。如果指定了v修飾符,請在將其內容復制到標準輸出之前顯示成員名。

q

將文件附加在歸檔文件的最后。修飾符a、b和i不影響此操作;新成員總是放在歸檔的末尾。修飾符v在追加時使每個文件都有ar列表。因為這個操作的重點是速度,所以存檔的符號表索引不會更新,即使它已經存在;您可以顯式地使用ar或ranlib來更新符號表索引。但是,有太多不同的系統(tǒng)假設快速追加索引,因此GNU ar實現了q作為r的同義詞。

r

將文件‘member’插入到歸檔文件,如果歸檔中存在要插入的文件,那么就覆蓋。此操作與q的不同之處在于,如果現有成員的名稱與要添加的成員匹配,則刪除它們。如果成員中不存在‘member’,ar顯示錯誤消息,并保持與該名稱匹配的任何現有存檔成員不受干擾。默認情況下,在文件末尾添加新成員;但您可以使用其中一個修飾符a、b或i請求相對于現有成員的位置。與此操作一起使用的修飾符v將引發(fā)插入的每個文件的一行輸出。字母a或r,以指示文件是否被追加(沒有刪除舊成員)或被替換。

t

顯示歸檔文件包含的文件列表。通常只顯示成員名稱;如果還希望查看模式(權限)、時間戳、所有者、組和大小,則還可以通過指定v修飾符來請求。如果未指定成員,則將列出存檔中的所有文件。如果一個存檔中有多個同名文件,只列出第一個實例;要查看它們,您必須要求一個完整的列表。

x

從歸檔文件中提取成員文件,您可以在此操作中使用v修飾符,在提取時請求ar列出每個名稱。如果不指定成員,則提取存檔中的所有文件。無法從瘦存檔中提取文件。

許多修飾符(Mod)可以緊跟p鍵,以指定操作行為的變化

修飾符

說明

a

在存檔的現有成員之后添加新文件。如果使用修飾符a,則現有存檔成員的名稱必須作為relpos參數出現在歸檔規(guī)范之前。

b

在存檔的現有成員之前添加新文件。如果使用修飾符b,則現有存檔成員的名稱必須作為relpos參數出現在歸檔規(guī)范之前。(與i相同)

c

創(chuàng)建檔案。當您請求更新時,如果指定的存檔不存在,則始終創(chuàng)建它。但是,除非事先指定通過使用此修飾符來創(chuàng)建警告,否則將發(fā)出警告。

D

在確定性模式下操作。當添加文件和存檔索引時,對UID、GID、時間戳使用零,并對所有文件使用一致的文件模式。當使用此選項時,如果ar與相同的選項和相同的輸入文件一起使用,則多次運行將創(chuàng)建相同的輸出文件,而不管輸入文件的所有者、組、文件模式或修改時間。

f

截斷存檔中的名稱。GNU ar通常允許任意長度的文件名。這將導致它創(chuàng)建與某些系統(tǒng)上的本機ar程序不兼容的檔案。如果這是個問題,那么當將f修飾符放在歸檔文件中時,可以使用f修飾符來截斷文件名。

i

在存檔的現有成員之前插入新文件。如果使用修飾符i,則現有存檔成員的名稱必須作為relpos參數出現在歸檔規(guī)范之前。(與b相同)

l

沒有用的修飾符

N

使用計數參數。如果存檔中有多個具有相同名稱的條目,則使用此方法。從存檔中提取或刪除給定名稱的實例計數

o

提取成員時保留成員的原始日期。如果不指定此修飾符,則從檔案中提取的文件將加蓋提取時間。

P

在存檔中匹配名稱時使用完整路徑名稱。GNU ar不能創(chuàng)建具有完整路徑名的存檔(這類檔案不是POSIX投訴),但其他歸檔創(chuàng)建者可以。此選項將導致GNU ar使用完整的路徑名匹配文件名,這在從另一個工具創(chuàng)建的歸檔文件中提取單個文件時非常方便。

s

將對象文件索引寫入存檔,或更新現有的索引,即使沒有對歸檔進行其他更改。您可以在任何操作中使用此修飾符標志,也可以單獨使用。在存檔上運行ar等于在它上運行ranlib。

S

不要生成存檔符號表。這可以加快構建一個大型庫的幾個步驟。結果存檔不能與鏈接器一起使用。為了構建符號表,必須在ar的最后一次執(zhí)行時省略S修飾符,或者必須在歸檔文件上運行ranlib。

T

將指定的歸檔文件設置為瘦存檔。如果它已經存在并且是一個常規(guī)存檔,則現有成員必須與存檔目錄相同。

u

通常,ar r將列出的所有文件插入存檔中。如果只想插入比同名的現有成員更新的文件,請使用此修飾符。u修飾符僅允許用于操作r(替換)。特別是不允許使用組合qu,因為檢查時間戳將失去操作q的任何速度優(yōu)勢。

v

顯示詳細執(zhí)行過程

V

顯示ar的版本

AR 忽略初始選項-x32_64,以便與AIX兼容。此選項產生的行為是GNU ar的默認行為。ar不支持任何其他-X選項;特別是,它不支持-x32,這是AIX ar的默認設置。

可選的命令行開關“--plugin name”使ar加載名為name的插件,這增加了對更多文件格式的支持。只有在工具鏈已啟用插件支持的情況下,此選項才可用。

@file 選項,從文件中讀取命令行選項。已讀取的選項被插入以代替原始的@file選項。如果文件不存在或無法讀取,則將按字面處理該選項,而不刪除該選項。file中的選項用空格分隔。可以在選項中包含空格字符,方法是將整個選項包圍在單引號或雙引號中。任何字符(包括反斜杠)都可以通過前綴所包含的字符來包括在反斜杠中。file本身可能包含額外的@file選項;任何此類選項都將被遞歸處理。

 

3 、實例

1 )創(chuàng)建歸檔文件

[root@localhost weijie]#  ar -rc mlib.a 1.c 2.c           // 創(chuàng)建歸檔

[root@localhost weijie]# ls

11.c  1.c  1.c~  2.c  3.c 4.c  4.c~  5.c  6.c  mlib.a

[root@localhost weijie]#  ar -t mlib.a                      // 查看歸檔的文件列表

1.c

2.c

2 )在歸檔中插入文件

[root@localhost weijie]# ar -rc mlib.a 3.c              // 插入 3.c ,此時歸檔中還沒有 3.c

[root@localhost weijie]# ar -t mlib.a                   // 查看文件列表, 3.c 被加入

1.c

2.c

3.c

[root@localhost weijie]#  ar -rc mlib.a 1.c            // 插入 1.c ,注意此時 1.c 已經存在了

[root@localhost weijie]#  ar -t mlib.a                  // 查看文件列表, 1.c 已經被覆蓋了

1.c

2.c

3.c 

3 )在歸檔的最后插入文件 

[root@localhost weijie]#  ar -q mlib.a 1.c             // 是用選項 q 來追加到最后,注意這個和 r 是不一樣的

[root@localhost weijie]#  ar -t mlib.a                  // 查看文件列表,新增加了 1.c

1.c

2.c

3.c

1.c

4 )從歸檔中刪除文件 

[root@localhost weijie]#  ar -d mlib.a 1.c             // 刪除 1.c

[root@localhost weijie]#  ar -t mlib.a                  // 查看文件列表,第一個 1.c 已經刪除,但是最后還有一個

2.c

3.c

1.c

[root@localhost weijie]#  ar -d mlib.a 1.c             // 再次刪除 1 C

[root@localhost weijie]#  ar -t mlib.a                  // 查看文件列表, 1.c 已經被刪除

2.c

3.c

 

 

分享名稱:Linux基礎命令---ar-創(chuàng)新互聯(lián)
URL分享:http://m.2m8n56k.cn/article6/docgog.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網站建設動態(tài)網站響應式網站網站收錄外貿建站全網營銷推廣

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網站建設
主站蜘蛛池模板: 加勒比毛片 | aaaaaa级特色特黄的毛片 | 国产亚洲精品一区久久 | 亚洲一区二区三区精品国产 | 久久精品国产屋 | 日韩欧美一级毛片在线 | 亚洲精品一级片 | 久久在线免费观看 | 亚洲网在线观看 | 亚洲乱码一二三四五六区 | 久久精品一区二区三区不卡牛牛 | 欧美在线视频不卡 | 精品日韩在线视频一区二区三区 | 久久久久久免费播放一级毛片 | 一区二区3区免费视频 | 中国一级特黄真人毛片 | 狠狠88综合久久久久综合网 | 国产欧美日本在线 | 国产一级毛片国语版 | 一区免费在线观看 | 萌白酱粉嫩jk福利在线观看 | 国产高清在线精品免费 | 成年人在线免费观看网站 | 悟空影视大全免费影视 | 国产亚洲精品久久久久久无 | 成人午夜精品 | 欧美人与鲁交大毛片免费 | 美女视频黄色在线观看 | 国产精品18久久久久网站 | 在线国产一区二区 | 久久精品片 | 日本三级香港三级网站 | 亚洲精品国产一区二区图片欧美 | 国产精品久久久久久免费播放 | a毛片基地免费全部香蕉 | 九九九九视频 | 青青青免费手机版视频在线观看 | 这里只有精品国产 | 久久国产欧美日韩高清专区 | 成人免费看片 | 日韩色视频一区二区三区亚洲 |