ar

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

補充說明

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

語法

1用法: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
2      ar -M [<mri-腳本]

選項

以下內容來自 GNU ar (GNU Binutils) 2.40 版本指令

 1命令:
 2      d            - 從歸檔文件中刪除文件
 3      m[ab]        - 在歸檔文件中移動文件
 4      p            - 打印在歸檔文件中找到的文件
 5      q[f]         - 將文件快速追加到歸檔文件中
 6      r[ab][f][u]  - 替換歸檔文件中已有的文件或加入新文件
 7      s            - 作爲 ranlib 工作
 8      t[O][v]      - display contents of the archive
 9      x[o]         - 從歸檔文件中分解文件
10特定命令修飾符:
11      [a]          - 將文件置於 [成員名] 之後
12      [b]          - 將文件置於 [成員名] 之前 ([i] 相同)
13      [D]          - 將 0 用於時間戳和 uid/gid(默認)
14      [D]          - 使用實際時間戳和 uid/gid
15      [N]          - 使用名稱的實例 [數量]
16      [f]          - 截去插入的文件名稱
17      [P]          - 在匹配時使用完整的路徑名
18      [o]          - 保留原來的日期
19      [O]          - display offsets of files in the archive
20      [u]          - 只替換比當前歸檔內容更新的文件
21通用修飾符:
22      [c]          - 不在必須創建庫的時候給出警告
23      [s]          - 創建歸檔索引 (cf. ranlib)
24      [l <text> ]  - specify the dependencies of this library
25      [S]          - 不要創建符號表
26      [T]          - deprecated, use --thin instead
27      [v]          - 輸出較多信息
28      [V]          - 顯示版本號
29      @<file>       - 從 <file> 讀取選項
30      --target=BFDNAME - 指定目標對象格式爲 BFDNAME
31      --output=DIRNAME - specify the output directory for extraction operations
32      --record-libdeps=<text> - specify the dependencies of this library
33      --thin       - make a thin archive
34可選項:
35      --plugin <p> - 加載指定的插件程序
36仿真選項:
37      沒有仿真特有的選項

實例

打包文件

1[root@localhost ~]# ls   # 顯示當前目錄文件   
2a.c	b.c d.c   install.log	  qte
3anaconda-ks.cfg c.c Desktop 
4
5[root@localhost ~]# ar rv one.bak a.c b.c  # 打包 a.c b.c文件 
6ar: 正在創建 one.bak
7a - a.c
8a - b.c

打包多個文件

1[root@localhost ~]# ar rv two.bak *.c  // 打包以.c結尾的文件  
2ar: 正在創建 two.bak
3a - a.c
4a - b.c
5a - c.c
6a - d.c

顯示打包文件的內容

1[root@localhost ~]# ar t two.bak    
2a.c
3b.c
4c.c
5d.c

刪除打包文件的成員文件

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

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: