|
|
1.1 ! root 1: .TH AR 1 ! 2: .SH NAME ! 3: ar \- archive and library maintainer ! 4: .SH SYNOPSIS ! 5: .B ar ! 6: .I key ! 7: [ ! 8: .I posname ! 9: ] ! 10: .I afile ! 11: [ ! 12: .I file ... ! 13: ] ! 14: .SH DESCRIPTION ! 15: .I Ar ! 16: maintains groups of files ! 17: combined into a single archive file, ! 18: .IR afile . ! 19: The main use of ! 20: .I ar ! 21: is to create and update library files for the loaders ! 22: .IR 2l (1), ! 23: etc. ! 24: It can be used, though, for any similar purpose. ! 25: .PP ! 26: .I Key ! 27: is one character from the set ! 28: .BR drqtpmx , ! 29: optionally concatenated with ! 30: one or more of ! 31: .BR vuaibclo . ! 32: The ! 33: .I files ! 34: are constituents of the archive ! 35: .IR afile . ! 36: The meanings of the ! 37: .I key ! 38: characters are: ! 39: .TP ! 40: .B d ! 41: Delete ! 42: .I files ! 43: from the archive file. ! 44: .TP ! 45: .B r ! 46: Replace ! 47: .I files ! 48: in the archive file, or add them if missing. ! 49: Optional modifiers are ! 50: .RS ! 51: .PD0 ! 52: .TP ! 53: .B u ! 54: Replace only files with ! 55: modified dates later than that of ! 56: the archive. ! 57: .TP ! 58: .B a ! 59: Place new files after ! 60: .I posname ! 61: in the archive rather than at the end. ! 62: .TP ! 63: .BR b " or " i ! 64: Place new files before ! 65: .I posname ! 66: in the archive. ! 67: .RE ! 68: .PD ! 69: .TP ! 70: .B q ! 71: Quick. Append ! 72: .I files ! 73: to the end of the archive without checking for duplicates. ! 74: Avoids quadratic behavior in ! 75: .LR "for (i in *.o) ar r lib.a $i" . ! 76: .TP ! 77: .B t ! 78: List a table of contents of the archive. ! 79: If names are given, only those files are listed. ! 80: .TP ! 81: .B p ! 82: Print the named files in the archive. ! 83: .TP ! 84: .B m ! 85: Move the named files to the end or elsewhere, ! 86: specified as with ! 87: .LR r . ! 88: .TP ! 89: .B o ! 90: Preserve the access and modification times of files ! 91: extracted with the ! 92: .B x ! 93: command. ! 94: .TP ! 95: .B x ! 96: Extract the named files. ! 97: If no names are given, all files in the archive are ! 98: extracted. ! 99: In neither case does ! 100: .B x ! 101: alter the archive file. ! 102: .TP ! 103: .B v ! 104: Verbose. ! 105: Give a file-by-file ! 106: description of the making of a ! 107: new archive file from the old archive and the constituent files. ! 108: With ! 109: .BR p , ! 110: precede each file with a name. ! 111: With ! 112: .BR t , ! 113: give a long listing of all information about the files, ! 114: somewhat like a listing by ! 115: .IR ls (1), ! 116: showing ! 117: .br ! 118: .ns ! 119: .IP ! 120: .B ! 121: mode uid/gid size date name ! 122: .TP ! 123: .B c ! 124: Create. ! 125: Normally ! 126: .I ar ! 127: will create a new archive when ! 128: .I afile ! 129: does not exist, and give a warning. ! 130: Option ! 131: .B c ! 132: discards any old contents and suppresses the warning. ! 133: .TP ! 134: .B l ! 135: Local. ! 136: Normally ! 137: .I ar ! 138: places its temporary files in the directory ! 139: .BR /tmp . ! 140: This option causes them to be placed in the local directory. ! 141: .PP ! 142: When a ! 143: .BR d , ! 144: .BR r , ! 145: or ! 146: .BR m ! 147: .I key ! 148: is specified and all members of the archive are valid object files for ! 149: the same architecture, ! 150: .I ar ! 151: inserts a table of contents, required by the loaders, at ! 152: the front of the library. ! 153: The table of contents is ! 154: rebuilt whenever the archive is modified, except ! 155: when the ! 156: .B q ! 157: .I key ! 158: is specified or when the table of contents is ! 159: explicitly moved or deleted. ! 160: .SH EXAMPLE ! 161: .TP ! 162: .L ! 163: ar cr lib.a *.o ! 164: Replace the contents of library ! 165: .L lib.a ! 166: with the object files in the current directory. ! 167: .SH FILES ! 168: .TF /tmp/vxxxx ! 169: .TP ! 170: .B /tmp/v* ! 171: temporaries ! 172: .SH SOURCE ! 173: .B /sys/src/cmd/ar.c ! 174: .SH "SEE ALSO" ! 175: .IR 2l (1), ! 176: .IR ar (6) ! 177: .SH BUGS ! 178: If the same file is mentioned twice in an argument list, ! 179: it may be put in the archive twice. ! 180: .br ! 181: This command predates Plan 9 and makes some invalid assumptions, ! 182: for instance that user id's are numeric.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.