Create or modify a backup file, or extract files from a backup file
ar command is a tool for creating or modifying backup files, or extracting files from backup files. ar allows you to combine many files into a single backup file. In the saved file, all member files retain their original attributes and permissions.
Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
ar -M [<mri-script]
Order:
d - delete files from archive
m[ab] - move files within an archive
p - Print files found in the archive
q[f] - Quickly append a file to the archive
r[ab][f][u] - replace existing files in the archive or add new files
s - works as ranlib
t[O][v] - display contents of the archive
x[o] - explode files from archive
Specific command modifiers:
[a] - Place file after [member name]
[b] - Place file before [member name] (same as [i])
[D] - Use 0 for timestamp and uid/gid (default)
[D] - use actual timestamp and uid/gid
[N] - Instances using name [number]
[f] - truncate inserted file name
[P] - use full pathname when matching
[o] - keep the original date
[O] - display offsets of files in the archive
[u] - Replace only files newer than the current archive contents
Common modifiers:
[c] - Don't give a warning when a library must be created
[s] - Create archive index (cf. ranlib)
[l <text> ] - specify the dependencies of this library
[S] - Do not create a symbol table
[T] - deprecated, use --thin instead
[v] - output more information
[V] - Display version number
@<file> - read options from <file>
--target=BFDNAME - Specify target object format as BFDNAME
--output=DIRNAME - specify the output directory for extraction operations
--record-libdeps=<text> - specify the dependencies of this library
--thin - make a thin archive
Options:
--plugin <p> - load the specified plug-in
Simulation options:
No emulation-specific options
Package file
[root@localhost ~]# ls # Display files in the current directory
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 # Package a.c b.c files
ar: Creating one.bak
a-a.c
a-b.c
Pack multiple files
[root@localhost ~]# ar rv two.bak *.c // Pack files ending with .c
ar: creating two.bak
a-a.c
a-b.c
a-c.c
a-d.c
Display the contents of the packaged file
[root@localhost ~]# ar t two.bak
a.c
b.c.
c.c.
d.c
Delete member files of packaged files
[root@localhost ~]# ar d two.bak a.c b.c c.c
[root@localhost ~]# ar t two.bak
d.c