ar [-]p[mod [relpos] [count]] archive [member...]
ar -M [ <mri-script ]
The GNU ar
program creates, modifies, and extracts from
archives. An archive is a single file holding a collection of
other files in a structure that makes it possible to retrieve
the original individual files (called members of the archive).
The original files' contents, mode (permissions), timestamp, owner, and
group are preserved in the archive, and can be restored on
extraction.
GNU
¾ÆÄ«À̺꿡´Â ¿ø·¡ ÆÄÀÏÀÇ ³»¿ë, (±ÇÇÑ) ¸ðµå, ½Ã°£, ¼ÒÀ¯ÀÚ, ±×·ìÀÌ ÀúÀåµÇ¾î,
ÃßÃâÇÒ ¶§ º¹±¸µÈ´Ù.
ar
Àº ¾ÆÄ«À̺긦 ¸¸µé°í ¼öÁ¤ÇÑ´Ù. ¾ÆÄ«À̺ê(archive)´Â
¿©·¯ ÆÄÀÏÀ» ¹¾îµÐ ÆÄÀÏ·Î, ¿ø·¡ (¾ÆÄ«À̺êÀÇ ¸â¹ö¶ó°í ºÒ¸®´Â)
ÆÄÀϵéÀÇ ³»¿ëÀ» ´Ù½Ã ¾ò¾î³¾ ¼ö ÀÖ´Ù.
GNU
GNU ar
can maintain archives whose members have names of any
length; however, depending on how ar
is configured on your
system, a limit on member-name length may be imposed for compatibility
with archive formats maintained with other tools. If it exists, the
limit is often 15 characters (typical of formats related to a.out) or 16
characters (typical of formats related to coff).
ar
¿¡¼ ¸â¹ö´Â ¾î¶² ±æÀÌÀÇ À̸§µµ °¡Áú ¼ö ÀÖ´Ù.
±×·¯³ª ÄÄÆÄÀÏ ¶§, ´Ù¸¥ µµ±¸¿Í ¾ÆÄ«À̺ê Çü½ÄÀ» ȣȯÇϱâ À§ÇØ ±æÀÌ¿¡
Á¦ÇÑÀ» °É ¼öµµ ÀÖ´Ù. Á¦ÇÑÀÌ Á¸ÀçÇÏ¸é º¸Åë (a.out°ú °ü·ÃµÈ Çü½Ä¿¡ ÀüÇüÀûÀÎ)
15 ÀÚÀ̰ųª (coff¿Í °ü·ÃµÈ Çü½Ä¿¡ ÀüÇüÀûÀÎ) 16 ÀÚÀÌ´Ù.
ar
is considered a binary utility because archives of this sort
are most often used as libraries holding commonly needed
subroutines.
¾ÆÄ«À̺갡 ´ëºÎºÐ °øÅëÀ¸·Î ÇÊ¿äÇÑ ÇÔ¼ö¸¦ ÀúÀåÇÏ´Â
¶óÀ̺귯¸®À̱⠶§¹®¿¡ ar
¸¦ ÀÌÁø µµ±¸¶ó ºÎ¸¥´Ù.
ar
creates an index to the symbols defined in relocatable
object modules in the archive when you specify the modifier `s'.
Once created, this index is updated in the archive whenever ar
makes a change to its contents (save for the `q' update operation).
An archive with such an index speeds up linking to the library, and
allows routines in the library to call each other without regard to
their placement in the archive.
You may use `nm -s' or `nm --print-armap' to list this index
table. If an archive lacks the table, another form of
»öÀÎÀ» º¸·Á¸é `nm -s'³ª `nm --print-armap'¸¦
»ç¿ëÇ϶ó. ¾ÆÄ«À̺꿡 »öÀÎÀÌ ¾ø´Ù¸é ar
called
ranlib
can be used to add just the table.
ar
´Â ¼öÁ¤ÀÚ `s'¸¦ ÁöÁ¤Çϸé Àç¹èÄ¡°¡´ÉÇÑ
¿ÀºêÁ§Æ®¿¡ Á¤ÀÇµÈ ½Éº¼ÀÇ »öÀÎÀ» ¾ÆÄ«À̺꿡 ¸¸µç´Ù. Çѹø ¸¸µé¸é, (`q'
°»½Å ¸í·É¾î¸¦ Á¦¿ÜÇÏ°í) ³»¿ëÀ» ¼öÁ¤ÇÒ ¶§¸¶´Ù
»öÀÎÀÌ ´Ù½Ã ¸¸µé¾î Áø´Ù. ÀÌ·± »öÀÎÀÌ ÀÖ´Â ¾ÆÄ«À̺ê´Â ¶óÀ̺귯¸®·Î ¸µÅ©¸¦
ºü¸£°Ô ÇØÁÖ°í, ¾ÆÄ«À̺꿡¼ÀÇ À§Ä¡¿Í °ü°è¾øÀÌ ¾ÆÄ«À̺êÀÇ ÇÔ¼öµéÀÌ ¼·Î¸¦
È£ÃâÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
ar
ÀÇ ´Ù¸¥ Çü½ÄÀÎ
ranlib
·Î »öÀθ¸À» Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù. (¿ªÁÖ; ar
°ú
ranlib
Àº °°Àº ¼Ò½º¿¡¼ ÄÄÆÄÀϵǸç, º¯¼ö Çϳª Â÷ÀÌ ¹Û¿¡ ¾ø´Ù.)
GNU
GNU ar
is designed to be compatible with two different
facilities. You can control its activity using command-line options,
like the different varieties of ar
on Unix systems; or, if you
specify the single command-line option `-M', you can control it
with a script supplied via standard input, like the MRI "librarian"
program.
ar
´Â µÎ ´Ù¸¥ ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¿ì¼± À¯´Ð½º¿¡¼ ´Ù¸¥ ar
°ú °°ÀÌ ¸í·ÉÇàÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¶Ç ¸í·ÉÇà ¿É¼Ç `-M'À» »ç¿ëÇϸé MRI ¸í·É¾î¿Í
ºñ½ÁÇÑ ½ºÅ©¸³Æ®¸¦ Ç¥ÁØÀÔ·ÂÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Ù..
¸í·ÉÇàÀ¸·Î
ar
»ç¿ëÇϱâ
ar [-X32_64] [-]p[mod [relpos] [count]] archive [member...]
When you use ar
in the Unix style, ar
insists on at least two
arguments to execute: one keyletter specifying the operation
(optionally accompanied by other keyletters specifying
modifiers), and the archive name to act on.
Most operations can also accept further member arguments,
specifying particular files to operate on.
À¯´Ð½º Çü½ÄÀ¸·Î
´ëºÎºÐ ÀÛ¾÷Àº Ãß°¡·Î ÀÛ¾÷ÇÒ ÆÄÀÏÀ» member ¾Æ±Ô¸ÕÆ®·Î ¹Þ´Â´Ù.
ar
À» »ç¿ëÇÒ ¶§, ÃÖ¼ÒÇÑ µÎ ¾Æ±Ô¸ÕÆ®°¡ ÇÊ¿äÇÏ´Ù.
Çϳª´Â (¼±ÅÃÀûÀÎ ¼öÁ¤ÀÚ¿Í ÇÔ²²) ÀÛ¾÷À» ÁöÁ¤ÇÏ°í,
´Ù¸¥ Çϳª´Â ´ë»ó ¾ÆÄ«À̺ê À̸§ÀÌ´Ù.
GNU ar
allows you to mix the operation code p and modifier
flags mod in any order, within the first command-line argument.
If you wish, you may begin the first command-line argument with a
dash.
GNU
¿øÇÑ´Ù¸é ù ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®¸¦ »©±â·Î ½ÃÀÛÇصµ µÈ´Ù.
ar
´Â ù ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®¿¡¼ ¸í·ÉÄÚµå p¿Í
¼öÁ¤ÀÚ mod¸¦ ¾î¶² ¼ø¼·Îµµ »ç¿ë°¡´ÉÇÏ´Ù.
The p keyletter specifies what operation to execute; it may be
any of the following, but you must specify only one of them:
¸í·ÉÄÚµå p´Â ¼öÇàÇÒ ÀÛ¾÷À» Áö½ÃÇÑ´Ù. ´ÙÀ½ Áß ¿ÀÁ÷ Çϳª¸¸ °¡´ÉÇÏ´Ù.
d
ar
lists each module
as it is deleted.
m
m
, any members you name in the
member arguments are moved to the end of the archive;
you can use the `a', `b', or `i' modifiers to move them to a
specified place instead.
m
°ú ÇÔ²² »ç¿ëµÈ ¼öÁ¤ÀÚ°¡ ¾ø´Ù¸é, member ¾Æ±Ô¸ÕÆ®¿¡ Áö½ÃÇÑ
¸â¹ö´Â ¾ÆÄ«ÀÌºê ³¡À¸·Î À̵¿ÇÑ´Ù. ´Ù¸¥ °÷À¸·Î ¿Å±â·Á¸é
`a'³ª `b', `i'À» »ç¿ëÇÑ´Ù.
p
q
ar
list each file as it is appended.
Since the point of this operation is speed, the archive's symbol table
index is not updated, even if it already existed; you can use `ar s' or
ranlib
explicitly to update the symbol table index.
However, too many different systems assume quick append rebuilds the
index, so GNU ar implements q
as a synonym for r
.
ranlib
·Î ½Éº¼Ç¥ »öÀÎÀ»
¸í½ÃÀûÀ¸·Î °»½ÅÇÒ ¼ö ÀÖ´Ù.
±×·¯³ª ¸¹Àº ½Ã½ºÅÛ¿¡¼ ÀÌ ÀÛ¾÷ÀÌ »öÀÎÀ» °»½ÅÇÑ´Ù°í °¡Á¤ÇÏ¿©,
GNU ar¿¡¼ q
´Â r
°ú °°´Ù.
r
ar
displays an error message, and leaves undisturbed any existing members
of the archive matching that name.
By default, new members are added at the end of the file; but you may
use one of the modifiers `a', `b', or `i' to request
placement relative to some existing member.
The modifier `v' used with this operation elicits a line of
output for each file inserted, along with one of the letters `a' or
`r' to indicate whether the file was appended (no old member
deleted) or replaced.
t
x
ar
list each name as it extracts it.
If you do not specify a member, all files in the archive
are extracted.
A number of modifiers (mod) may immediately follow the p
keyletter, to specify variations on an operation's behavior:
ÀÛ¾÷ÀÇ ¼¼ºÎ»çÇ×À» ÁöÁ¤ÇÏ´Â ¼öÁ¤ÀÚ(mod)´Â
¸í·ÉÄÚµå p ¹Ù·Î µÚ¿¡ ³ª¿Â´Ù.
a
b
c
f
ar
will normally permit file
names of any length. This will cause it to create archives which are
not compatible with the native ar
program on some systems. If
this is a concern, the `f' modifier may be used to truncate file
names when putting them in the archive.
ar
´Â ¾î¶² ±æÀÌÀÇ À̸§µµ
Çã¿ëÇÑ´Ù. ±×·¡¼ ¸î¸î ½Ã½ºÅÛ¿¡¼ ±âÁ¸ÀÇ ar
°ú ȣȯµÇÁö ¾Ê´Â
¾ÆÄ«À̺긦 ¸¸µé ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ¼öÁ¤ÀÚ `f'Àº ÆÄÀÏÀ» ¾ÆÄ«À̺꿡
ÀúÀåÇÒ ¶§ ±ä À̸§À» ©¶ó³½´Ù.
i
l
N
o
P
ar
can not create an archive with a full path name (such archives
are not POSIX complaint), but other archive creators can. This option
will cause GNU ar
to match file names using a complete path
name, which can be convenient when extracting a single file from an
archive created by another tool.
ar
´Â Æнº·Î ¾ÆÄ«À̺긦 (ÀÌ·± ¾ÆÄ«À̺ê´Â POSIX ȣȯÀÌÁö
¾Ê´Ù) ¸¸µé ¼ö ¾øÁö¸¸, ´Ù¸¥ µµ±¸´Â ÀÌ·¸°Ô ¾ÆÄ«À̺긦 ¸¸µé±âµµ ÇÑ´Ù. ÀÌ ¿É¼ÇÀº
GNU ar
ÀÌ ´Ù¸¥ µµ±¸·Î ¸¸µç ¾ÆÄ«À̺꿡¼ ÆÄÀÏÀ» ÃßÃâÇÒ ¶§
Æнº·Î ÆÄÀϸíÀ» ã°Ô ÇÑ´Ù.
s
S
u
v
V
ar
.
ar
ÀÇ ¹öÀüÀ» Ãâ·ÂÇÑ´Ù.
ar
ignores an initial option spelt -X32_64
, for
compatibility with AIX. The behaviour produced by this option is the
default for GNU ar
. ar
does not support any of the other
-X
options; in particular, it does not support -X32
which is the default for AIX ar
.
ar
Àº AIX°ú ȣȯÀ» À§ÇÑ -X32_64
Àº ¹«½ÃÇÑ´Ù.
GNU ar
Àº ±âº»ÀûÀ¸·Î ÀÌ ¿É¼ÇÀÌ ÀǵµÇÏ´Â ÇൿÀ» ÇÑ´Ù.
ar
Àº ´Ù¸¥ -X
¿É¼ÇÀº Áö¿øÇÏÁö ¾Ê´Â´Ù. ƯÈ÷
AIX ar
ÀÇ ±âº»ÀÎ -X32
´Â Áö¿øÇÏÁö ¾Ê´Â´Ù.
½ºÅ©¸³Æ®·Î
ar
½ÇÇàÇϱâ
ar -M [ <script ]
If you use the single command-line option `-M' with ar
, you
can control its operation with a rudimentary command language. This
form of ar
operates interactively if standard input is coming
directly from a terminal. During interactive use, ar
prompts for
input (the prompt is `AR >'), and continues executing even after
errors. If you redirect standard input to a script file, no prompts are
issued, and ar
abandons execution (with a nonzero exit code)
on any error.
The
ar
command language is not designed to be equivalent
to the command-line options; in fact, it provides somewhat less control
over archives. The only purpose of the command language is to ease the
transition to GNU ar
for developers who already have scripts
written for the MRI "librarian" program.
ar
¿¡ ¸í·ÉÇà ¿É¼Ç `-M'¸¸À» »ç¿ëÇϸé, Ãʺ¸ÀûÀÎ
¸í·É ¾ð¾î·Î ÀÛµ¿ÇÑ´Ù. ±×·¡¼ Ç¥ÁØÀÔ·ÂÀÌ Å͹̳ο¡¼ ¿À¸é ´ëÈÀûÀ¸·Î ÀÛµ¿ÇÑ´Ù.
ÀÌ °æ¿ì ar
´Â (`AR >') ÇÁ·ÒÇÁÆ®¸¦ Ãâ·ÂÇÏ°í,
¿À·ù¸¦ ¸¸³ªµµ ½ÇÇàÀ» °è¼ÓÇÑ´Ù. Ç¥ÁØÀÔ·ÂÀ» ½ºÅ©¸³Æ® ÆÄÀÏ·Î ¸®´ÙÀÌ·ºÆ®Çϸé
ÇÁ·ÒÇÁÆ®°¡ Ãâ·ÂµÇÁö ¾Ê°í, ¿À·ù¸¦ ¸¸³ª¸é (0ÀÌ ¾Æ´Ñ Á¾·áÄÚµå·Î) ½ÇÇàÀ» ±×¸¸µÐ´Ù.
ar
¸í·É ¾ð¾î´Â ¸í·ÉÇà ¿É¼Ç°ú ´ëÀÀÇϵµ·Ï ¼³°èµÇÁö ¾Ê¾Ò´Ù.
»ç½Ç ±â´ÉÀÌ ´õ Àû´Ù. ¸í·É ¾ð¾îÀÇ À¯ÀÏÇÑ ¸ñÀûÀº ÀÌ¹Ì MRI ¶óÀ̺귯¸® ÇÁ·Î±×·¥À»
À§ÇØ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ °³¹ßÀÚ°¡ ½±°Ô GNU ar
·Î ¿Å°Ü¿Ã ¼ö ÀÖ°Ô
Çϱâ À§ÇÔÀÌ´Ù.
The syntax for the ar
command language is straightforward:
¸í·É ¾ð¾îÀÇ ¹®¹ýÀº ½±´Ù.
LIST
is the same as list
. In the following descriptions, commands are
shown in upper case for clarity.
LIST
´Â
list
¿Í °°´Ù. ¾Æ·¡ ¼³¸í¿¡¼ ¸í·É¾î´Â ´ë¹®ÀڷΠǥ½ÃµÈ´Ù.
ar
command, you can separate the individual names with either commas or
blanks. Commas are shown in the explanations below, for clarity.
Here are the commands you can use in ar
scripts, or when using
ar
interactively. Three of them have special significance:
OPEN
or CREATE
specify a current archive, which is
a temporary file required for most of the other commands.
´ÙÀ½Àº ½ºÅ©¸³Æ®³ª ´ëÈÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¸í·É¾îµéÀÌ´Ù. ÀÌÁß 3 ¸í·É¾î´Â
Ưº°È÷ Áß¿äÇÏ´Ù.
SAVE
commits the changes so far specified by the script. Prior
to SAVE
, commands affect only the temporary copy of the current
archive.
OPEN
³ª CREATE
´Â ´ëºÎºÐ ¸í·É¾î°¡ ÀÓ½ÃÆÄÀÏ·Î »ç¿ëÇÏ´Â
ÇöÀç ¾ÆÄ«À̺긦 ÁöÁ¤ÇÑ´Ù.
SAVE
´Â ¾ÆÁ÷±îÁö º¯È¸¦ ÀúÀåÇÑ´Ù. SAVE
¸¦
»ç¿ëÇϱâ Àü±îÁö´Â ¸í·É¾îµéÀº ÇöÀç ¾ÆÄ«À̺êÀÇ Àӽà º»»çº»À» »ç¿ëÇÑ´Ù.
ADDLIB archive
ADDLIB archive (module, module, ... module)
OPEN
or CREATE
.
OPEN
³ª CREATE
À» »ç¿ëÇß¾î¾ß ÇÑ´Ù.
ADDMOD member, member, ... member
OPEN
or CREATE
.
OPEN
³ª CREATE
À» »ç¿ëÇß¾î¾ß ÇÑ´Ù.
CLEAR
SAVE
. May be executed (with no
effect) even if no current archive is specified.
SAVE
ÀÌÈÄÀÇ ¸í·É¾îµéÀ»
Ãë¼ÒÇÑ´Ù. ÇöÀç ¾ÆÄ«À̺갡 ÁöÁ¤µÇÁö ¾Ê¾Æµµ (±â´ÉÀº ¾øÁö¸¸) »ç¿ëÇÒ ¼ö ÀÖ´Ù.
CREATE archive
SAVE
.
You can overwrite existing archives; similarly, the contents of any
existing file named archive will not be destroyed until SAVE
.
SAVE
¸¦ »ç¿ëÇÒ ¶§±îÁö
½ÇÁ¦·Î archive¿¡ ÀúÀåµÇÁö ¾Ê´Â´Ù. ±âÁ¸ ¾ÆÄ«À̺긦 µ¤¾î¾µ ¼ö
ÀÖ´Ù. ±×·¯³ª SAVE
¶§±îÁö archive¶ó´Â ±âÁ¸ ÆÄÀÏÀÌ
Æı«µÇÁö ¾Ê´Â´Ù.
DELETE module, module, ... module
OPEN
or CREATE
.
OPEN
³ª CREATE
À» »ç¿ëÇß¾î¾ß ÇÑ´Ù.
DIRECTORY archive (module, ... module)
DIRECTORY archive (module, ... module) outputfile
VERBOSE
specifies the form of the output: when verbose
output is off, output is like that of `ar -t archive
module...'. When verbose output is on, the listing is like
`ar -tv archive module...'.
Output normally goes to the standard output stream; however, if you
specify outputfile as a final argument, ar
directs the
output to that file.
VERBOSE
¸í·É¾î´Â Ãâ·Â Çü½ÄÀ» ÁöÁ¤ÇÑ´Ù. ÀÚ¼¼ÇÑ Ãâ·ÂÀ»
²ô¸é `ar -t archive module...'°ú °°°í,
³¢¸é `ar -tv archive module...'°ú °°´Ù.
º¸Åë Ç¥ÁØÃâ·Â¿¡ Ãâ·ÂµÈ´Ù. ¸¶Áö¸· ¾Æ±Ô¸ÕÆ®·Î outputfileÀ»
ÁöÁ¤ÇÏ¸é ±× ÆÄÀÏ¿¡ Ãâ·ÂÀ» ÇÑ´Ù.
END
ar
, with a 0
exit code to indicate successful
completion. This command does not save the output file; if you have
changed the current archive since the last SAVE
command, those
changes are lost.
0
À¸·Î Á¾·áÇÑ´Ù. ÀÌ ¸í·É¾î´Â
Ãâ·Â ÆÄÀÏÀ» ÀúÀåÇÏÁö ¾Ê´Â´Ù. ¸¶Áö¸· SAVE
¸í·É¾î ÀÌÈÄ¿¡
ÇöÀç ¾ÆÄ«À̺긦 º¯°æÇß´Ù¸é ±× º¯È´Â »ç¶óÁø´Ù.
EXTRACT module, module, ... module
OPEN
or CREATE
.
OPEN
³ª CREATE
À» »ç¿ëÇß¾î¾ß ÇÑ´Ù.
LIST
VERBOSE
. The effect is like `ar
tv archive'. (This single command is a GNU ar
enhancement, rather than present for MRI compatibility.)
Requires prior use of OPEN
or CREATE
.
VERBOSE
»óÅÂ¿Í °ü°è¾øÀÌ ÀÚ¼¼ÇÏ°Ô ÇöÀç ¾ÆÄ«À̺êÀÇ ¸ðµç ³»¿ëÀ» Ãâ·ÂÇÑ´Ù.
`ar tv archive'¿Í °°´Ù. (ÀÌ ¸í·É¾î´Â MRI ȣȯ¼º ¶§¹®ÀÌ
¾Æ´Ï°í GNU ar
È®ÀåÀÌ´Ù.)
Àü¿¡ OPEN
³ª CREATE
À» »ç¿ëÇß¾î¾ß ÇÑ´Ù.
OPEN archive
SAVE
.
SAVE
¸¦ »ç¿ëÇÒ ¶§±îÁö
½ÇÁ¦·Î archive¿¡ ¿µÇâÀ» ÁÖÁö ¸øÇÑ´Ù.
REPLACE module, module, ... module
REPLACE
arguments) from files in the current working directory.
To execute this command without errors, both the file, and the module in
the current archive, must exist.
Requires prior use of OPEN
or CREATE
.
OPEN
³ª CREATE
À» »ç¿ëÇß¾î¾ß ÇÑ´Ù.
VERBOSE
DIRECTORY
.
When the flag is on, DIRECTORY
output matches output from
`ar -tv '....
DIRECTORY
Ãâ·ÂÀ» Á¶Á¤ÇÏ´Â ³»ºÎ Ç÷¡±×¸¦ Å°°í ²ö´Ù.
ÀÌ Ç÷¡±×°¡ ÄÑÁö¸é DIRECTORY
ÀÇ Ãâ·ÂÀº `ar -tv '...¿Í
°°´Ù.
SAVE
CREATE
or OPEN
command.
Requires prior use of OPEN
or CREATE
.
CREATE
¸í·É¾î³ª
OPEN
¸í·É¾î¿¡¼ ÁöÁ¤ÇÑ À̸§¿¡ ½ÇÁ¦·Î ÀúÀåÇÑ´Ù.
Àü¿¡ OPEN
³ª CREATE
À» »ç¿ëÇß¾î¾ß ÇÑ´Ù.
Go to the first, previous, next, last section, table of contents.