Linux系统之ar命令详解

ar 命令是 Unix 和类 Unix 操作系统中的一个工具,用于创建、修改以及提取归档文件(archive)。归档文件是一种将多个文件打包成一个单独文件的方式,但与 tar 不同,它通常用于静态库的创建,这些静态库可以被编译器和链接器用来构建可执行程序。扩展名为 .a 的文件就是一种由 ar 创建的归档文件。

基本语法

ar [选项] [操作] [归档文件] [成员文件...]

常用操作

  • r (replace):将文件插入归档文件中。如果文件已存在,则替换它。
  • d (delete):从归档文件中删除指定的文件。
  • t (table):列出归档文件中的内容。
  • x (extract):从归档文件中提取指定的文件。
  • q (quick):快速追加文件到归档文件中,不检查是否已存在。
  • c (create):创建新的归档文件。
  • s (index):为归档文件创建或更新符号表索引。

常用选项

  • v (verbose):显示详细的操作信息。
  • u (update):仅当文件比归档文件中的版本新时才替换。
  • a (after):将新文件插入到指定成员文件之后。
  • b (before):将新文件插入到指定成员文件之前。
  • f (file):指定归档文件的名称。
  • o (original):保留原始文件的修改时间。
  • P (preserve):保留文件的路径名。

示例

  1. 创建一个归档文件

    ar rcs libexample.a file1.o file2.o
    

    这个命令会创建一个名为 libexample.a 的归档文件,并将 file1.ofile2.o 添加进去。c 选项告诉 ar 创建归档文件如果它还不存在的话;s 选项则会在归档中生成一个索引。

  2. 列出归档文件的内容

    ar t libexample.a
    
  3. 从归档文件中提取所有文件

    ar x libexample.a
    
  4. 从归档文件中删除某个文件

    ar d libexample.a file1.o
    
  5. 更新归档文件中的文件

    ar ru libexample.a file1.o
    
    • u:仅当文件比归档文件中的版本新时才替换。
  6. 显示详细操作信息

    ar rv libexample.a file1.o file2.o
    
    • v:显示详细的操作信息。
  7. 快速创建或更新存档
    当想要快速创建一个存档或者更新现有存档时,可以使用q选项,它比r更快因为它不检查重复项。

    ar q libexample.a file1.o file2.o
    
  8. 移动文件到存档中并删除原始文件
    虽然ar本身没有直接支持这种操作的选项,但可以结合使用ar和其他命令来实现这一点。例如,先用ar命令添加文件,然后手动删除原始文件。

    ar rcs libexample.a file1.o && rm file1.o
    

你可能感兴趣的:(linux,ar,运维,服务器,ar详解)