黄色片网站免费观看-黄色片网站观看-黄色片网站大全-黄色片视频网-色偷偷网址-色偷偷网站

ar

建立或修改備存文件,或是從備存文件中抽取文件

補充說明

ar命令 是一個建立或修改備存文件,或是從備存文件中抽取文件的工具,ar可讓您集合許多文件,成為單一的備存文件。在備存文件中,所有成員文件皆保有原來的屬性與權(quán)限

語法

ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files...
Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
       ar -M [<mri-腳本]

選項

ar 允許你 在第一個 命令行 參數(shù)中 以任意 順序 混合 指定 操作碼p 和修飾符mod .

只要你 愿意, 也可以 用破折號 作為 命令行 第一個 參數(shù)的 開始.

p 關(guān)鍵字 指明 要執(zhí)行的 操作, 只能 指明為 如下 之一:

d      從檔案中刪除 模塊. 通過files 指明 要刪除的 模塊的 名稱; 如果 沒有 指出 要刪除的  文件  名稱,  檔案不會  改變  任何
      內(nèi)容.

      如果 給出了'v' 修飾符,ar 會例出 它刪除的 每一個 模塊.

m      用此 操作 在檔案中移動 成員.
      如果 某個 符號名 在檔案的 多個 成員中 有定義, 那么 程序 怎樣 連接 檔案 文件 得到的 結(jié)果 可能是 不同的.
      如果  沒有為m 指定 修飾符, 由files 指出的 成員 將移動到 檔案的末尾 ; 可以 通過 `a', `b' 或 `i' 等修飾符, 指定 成員
      移動的 具體 位置.

p      在標(biāo)準(zhǔn) 輸出上 打印 檔案中 指定的 成員.  如果 給出了`v' 修飾符, 在 打印 成員 內(nèi)容 之前, 先打印 成員的 名字.
      如果沒有 指明files 參數(shù), 檔案中 所有的 成員 都會被 打印 出來.

q      快速 追加; 增加 files 到 archive 的末尾, 不進行 替換 檢查.
      修飾符 `a' `b'`i'不 影響此 操作, 新成員 始終 追加到 檔案的 末尾處.
      修飾符 `v' 可以使 ar 列出 它追加的 所有文件.
      由于 本功能 是用于 快速操作, 即使 檔案中 有 符號表 索引 也不 進行 更新; 可以 使用 `ar s' 或 ranlib 明確 要求  更新
      這些索引.

      在為快速 追加 重建 索引時,由于 有 太多 不同的 系統(tǒng), 所以 GNU ar 采用 `q' 作為 `r'的一個 同義字.

r      把文件  files  插入 archive ( 替換 ). 本操作與 `q' 是不同的, 如果 檔案中 已有的 某個 成員與 插入 文件的 名稱 相同,
      此成員 將被刪除.
      如果 不存在 名稱為 files 的文件, ar 顯示 一個 錯誤 消息, 并且 保留 檔案中 已有的 同名 成員.
      缺省情況下, 新成員 增加到 擋案的 末尾; 可以 通過 使用 `a' `b' 或 `i' 等修飾符 指定 相對于 已有 成員的 位置.
      通過 使用 `v' 修飾符 會為每個 插入的 文件 產(chǎn)生 一行 輸出, 根據(jù) 輸出中的 字符 `a' 或 `r' 可以 表明 該文件  是追加的
      (沒有 刪除 以前的成員) 還是 替換的.

t      顯示  一個 archive 檔案 所包含 內(nèi)容的 列表 , 或 檔案中的 由 files 指出的 文件 列表.  通常 只顯示 成員的 名稱, 如果
      使用 `v' 修飾符, 可以 得到 成員的 權(quán)限, 時間屬性, 屬主, 組和 大小.

      如果 沒有 指出 files, 檔案中的 所有 文件 都會 列出.

      如果 檔案中 (稱為 `b.a') 有多個 同名 成員 (稱為 `fie'), `ar t b.a fie' 僅僅 列出 第一個; 要看到 它們的 全部,  必須
      要求 完整的 列表 —在本例中是 `ar t b.a'.

x      從檔案中 抽取  成員 (名稱為 files) .  如果 使用 `v' 修飾符, ar 會列出 它抽取的 每一個 文件的 名字.
      如果沒有給出 files, 抽取 檔案中 所有的 文件.

可以在 操作符 p 后緊隨 一定數(shù)量的 修飾符 mod 以指明 操作的 各種 行為.

a      增加 文件到 檔案中 已有 成員 之后  , 如果 使用了 修飾符 a, 必須在 檔案 名稱 archive 之前 以 membername 參數(shù)的 形式
      給出 檔案中 已有 成員的 名字.

b      增加 文件到 檔案中 已有 成員 之前  , 如果 使用了 修飾符 b, 必須在 檔案 名稱 archive 之前 以 membername 參數(shù)的 形式
      給出 檔案中 已有 成員的 名字.  (和修飾符 `i' 相同).

c      建立    檔案.  指定的 檔案 archive 始終 會被建立, 如果 你要求 執(zhí)行的是 更新, 通過 此修飾符 建立 檔案時 會給出 一個
      警告.
      
f      截短 檔案成員的 名字.  ar 通常 允許 任意 長度的 文件名, 但這會 導(dǎo)致 與某些 系統(tǒng)上的 ar 出現(xiàn) 兼容性  問題,  使用  f
      修飾符 可以 在往檔案中 追加 文件時 把名字 截短.

i      插入 文件到 檔案中 已有 成員 之前  , 如果 使用了 修飾符 i, 必須在 檔案 名稱 archive 之前 以 membername 參數(shù)的 形式
      給出 檔案中 已有 成員的 名字.  (與修飾符 `b' 相同).

l      接受此修飾符, 但不起作用.

N      使用 count 參數(shù). 本修飾符 用于 在檔案中 有多個 同名 成員的 情況.  刪除 或抽取 檔案中 給定 名字的第 count 個實例.

o      抽取 成員時 保留 他們 原始的  時間屬性. 如果 沒有 此修飾符, 文件以抽取 的時間 作為 它的時間 屬性.

P      匹配 檔案中的 名字時 使用 完整的 路徑名.  ar 不能 建立 使用 完整 路徑名的 檔案  (這不符合  POSIX  標(biāo)準(zhǔn)),  但其它的
      檔案  工具  能夠建立, 本選項 會使 ar 在抽取 由其它 工具 建立的 檔案 文件時, 使用完整的 路徑名 去匹配 檔案中 成員的
      名字.

s      即使 沒有對 檔案 進行 改變, 用本 修飾符 也可以 往檔案中 寫一個 目標(biāo) 文件的 索引 或更新 已經(jīng) 存在的  索引.   可以與
      其它 操作 一起 使用 本修飾符, 也可以 單獨使用.  對一個 檔案 執(zhí)行 `ar s' 與執(zhí)行 `ranlib' 等價.

S      不生成  檔案的 符號表. 這可以 加速 建立 大的檔案 文件的 過程,但這樣 建立的 檔案 不能被 連接器 使用, 為建立 符號表,
      在最后 執(zhí)行 `ar' 時應(yīng)該 不用 `S' 修飾符, 或者 對檔案 執(zhí)行 一次 `ranlib' .

u      通常ar r... 把所有 列出的 文件 插入到 檔案中, 如果 希望 僅僅 插入比 檔案中 已有 成員 更新的  文件時,  就應(yīng)該  使用
      此修飾符.   `u'  修飾符  僅允許  與 `r' (替換) 操作 一起 使用.  某些 情況下, 由于 用 `q' 操作 比較 文件的 時間屬性
      會失去 速度上的 優(yōu)勢, 所以 不允許 執(zhí)行 `qu' 組合操作.

v      使用本修飾符可以進行 冗余的 操作。附加了此修飾符時,很多操作會顯示 更多的消息,如處理的文件名等。
V      顯示 ar 的版本號。

選項參數(shù)

--plugin <p> - load the specified plugin

ar:支持的目標(biāo): elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex

實例

打包文件

[root@localhost ~]# ls   # 顯示當(dāng)前目錄文件   
a.c	b.c d.c   install.log	  qte
anaconda-ks.cfg c.c Desktop 

[root@localhost ~]# ar rv one.bak a.c b.c  # 打包 a.c b.c文件 
ar: 正在創(chuàng)建 one.bak
a - a.c
a - b.c

打包多個文件

[root@localhost ~]# ar rv two.bak *.c  // 打包以.c結(jié)尾的文件  
ar: 正在創(chuàng)建 two.bak
a - a.c
a - b.c
a - c.c
a - d.c

顯示打包文件的內(nèi)容

[root@localhost ~]# ar t two.bak    
a.c
b.c
c.c
d.c

刪除打包文件的成員文件

[root@localhost ~]# ar d two.bak a.c b.c c.c  
[root@localhost ~]# ar t two.bak       
d.c