如何ar x filename.a到不同的目录

Jon*_*Jon 8 linux unix-ar

是否有任何ar选项将对象提取到另一个目录?有什么方法可以将它们提取到下面的tmp?

[test]# ls -l
total 1828
-rw-r--r-- 1 root root 1859628 Aug 24 02:10 libclsr11.a
drwxr-xr-x 2 root root    4096 Aug 24 02:12 tmp
[test]# ar x libclsr11.a
[test]# ls -l
total 3760
-rw-r--r-- 1 root root  157304 Aug 24 02:13 clsrcact.o
-rw-r--r-- 1 root root   19304 Aug 24 02:13 clsrcclu.o
-rw-r--r-- 1 root root   55696 Aug 24 02:13 clsrccss.o
..
drwxr-xr-x 2 root root    4096 Aug 24 02:12 tmp
[test]#
Run Code Online (Sandbox Code Playgroud)

Str*_*zel 10

不幸的是,ar似乎没有提供一种方法来指定提取文件的目录.(至少我找不到一个.)它总是使用当前目录.但是,有一个简单的解决方法:在提取之前更改目标目录并使用存档的相对路径:

# cd ./tmp/
# ar x ../libclsr11.a
Run Code Online (Sandbox Code Playgroud)

这样你最终应该在./tmp/目录中使用clsrcact.o,clsrcclu.o和clsrccss.o.