Linux ar 命令使用详解

简介

Linux 中的 ar(Archive) 命令用于创建、修改和从存档中提取文件。它通常用于在 C/C++ 开发中创建静态库(.a 文件)。

基础语法

shell 复制代码
ar [options] archive-file file(s)
  • archive-file:要创建/修改的档案的名称

  • file(s):要添加到档案的文件

  • [options]:控制操作

常用选项

  • c:创建一个新的档案(如果不存在)

  • r:替换或添加文件到档案中

  • d:从档案中删除文件

  • t:列出档案的内容

  • x:从档案中提取文件

  • v:详细模式(显示详细信息)

示例用法

创建存档文件

shell 复制代码
ar rcs libexample.a file1.o file2.o
  • r:添加/替换文件

  • c:如果档案不存在则创建该档案

  • s:添加索引以便更快地查找符号

示例:

shell 复制代码
gcc -c file1.c file2.c
ar rcs libexample.a file1.o file2.o

# 从 file1.o 和 file2.o 创建静态库 libexample.a

列出存档内容

shell 复制代码
ar t libexample.a

示例输出:

shell 复制代码
file1.o
file2.o

详细列出:

shell 复制代码
ar tv libexample.a

提取文件

shell 复制代码
ar x libexample.a file1.o

提取所有文件:

shell 复制代码
ar x libexample.a

从存档中删除文件

shell 复制代码
ar d libexample.a file1.o

# 从 libexample.a 中删除 file1.o

更新存档文件

shell 复制代码
ar r libexample.a file1.o

在编译中使用静态库(.a)

shell 复制代码
gcc main.c -L. -lexample -o myprogram
  • -L.:在当前目录中查找库

  • -lexample:与 libexample.a 链接

相关推荐
代码游侠11 小时前
学习笔记——写时复制(Copy-on-Write)
linux·网络·笔记·学习·写时复制
被AI抢饭碗的人11 小时前
linux:线程同步与互斥
linux·开发语言
HalvmånEver11 小时前
Linux:基础IO(终)
linux·运维·c++·学习·缓冲区·libc
西柚小萌新12 小时前
【计算机常识】--Windows 安装 WSL2 并运行 Ubuntu 22.04
linux·windows·ubuntu
福尔摩斯张12 小时前
基于TCP的FTP文件传输系统设计与实现(超详细)
linux·开发语言·网络·网络协议·tcp/ip·udp
Sleepy MargulisItG12 小时前
【Linux网络编程】应用层自定义协议与序列化
linux·服务器·网络·网络协议·tcp/ip
..过云雨12 小时前
15-2.【Linux系统编程】进程信号 - 信号保存(信号处理流程的三种状态:未决、阻塞、递达,信号保存由未决表完成、sigset_t信号集类型及相关函数)
linux·c++·后端·信号处理
坏一点12 小时前
Yocto项目构建(3)——构建和部署树莓派镜像
linux·驱动开发·嵌入式硬件
Ronin30512 小时前
【Linux网络】多路转接select
linux·网络·select·多路转接
zhuzewennamoamtf12 小时前
Linux设备树理解和应用
linux·运维·服务器