轉自於:https://github.com/jaywcjlove/linux-command,後不贅述
ar
建立或修改備存檔案,或是從備存檔案中抽取檔案
補充說明
ar命令 是一個建立或修改備存檔案,或是從備存檔案中抽取檔案的工具,ar可讓您集合許多檔案,成為單一的備存檔案。在備存檔案中,所有成員檔案皆保有原來的屬性與許可權
語法
用法: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
ar -M [<mri-指令碼]
選項
以下內容來自 GNU ar (GNU Binutils) 2.40 版本指令
命令:
d - 從歸檔檔案中刪除檔案
m[ab] - 在歸檔檔案中移動檔案
p - 列印在歸檔檔案中找到的檔案
q[f] - 將檔案快速追加到歸檔檔案中
r[ab][f][u] - 替換歸檔檔案中已有的檔案或加入新檔案
s - 作為 ranlib 工作
t[O][v] - display contents of the archive
x[o] - 從歸檔檔案中分解檔案
特定命令修飾符:
[a] - 將檔案置於 [成員名] 之後
[b] - 將檔案置於 [成員名] 之前 (於 [i] 相同)
[D] - 將 0 用於時間戳和 uid/gid(預設)
[D] - 使用實際時間戳和 uid/gid
[N] - 使用名稱的例項 [數量]
[f] - 截去插入的檔名稱
[P] - 在匹配時使用完整的路徑名
[o] - 保留原來的日期
[O] - display offsets of files in the archive
[u] - 只替換比當前歸檔內容更新的檔案
通用修飾符:
[c] - 不在必須建立庫的時候給出警告
[s] - 建立歸檔索引 (cf. ranlib)
[l <text> ] - specify the dependencies of this library
[S] - 不要建立符號表
[T] - deprecated, use --thin instead
[v] - 輸出較多資訊
[V] - 顯示版本號
@<file> - 從 <file> 讀取選項
--target=BFDNAME - 指定目標物件格式為 BFDNAME
--output=DIRNAME - specify the output directory for extraction operations
--record-libdeps=<text> - specify the dependencies of this library
--thin - make a thin archive
可選項:
--plugin <p> - 載入指定的外掛程式
模擬選項:
沒有模擬特有的選項
例項
打包檔案
[root@localhost ~]# ls # 顯示當前目錄檔案
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: 正在建立 one.bak
a - a.c
a - b.c
打包多個檔案
[root@localhost ~]# ar rv two.bak *.c // 打包以.c結尾的檔案
ar: 正在建立 two.bak
a - a.c
a - b.c
a - c.c
a - d.c
顯示打包檔案的內容
[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