aboutsummaryrefslogtreecommitdiff
path: root/ja/man/man1
diff options
context:
space:
mode:
Diffstat (limited to 'ja/man/man1')
-rw-r--r--ja/man/man1/a2p.1218
-rw-r--r--ja/man/man1/addftinfo.193
-rw-r--r--ja/man/man1/apply.1136
-rw-r--r--ja/man/man1/apropos.139
-rw-r--r--ja/man/man1/ar.1314
-rw-r--r--ja/man/man1/as.1290
-rw-r--r--ja/man/man1/at.1262
-rw-r--r--ja/man/man1/awk.11938
-rw-r--r--ja/man/man1/basename.199
-rw-r--r--ja/man/man1/bc.1740
-rw-r--r--ja/man/man1/biff.196
-rw-r--r--ja/man/man1/bison.1354
-rw-r--r--ja/man/man1/brandelf.189
-rw-r--r--ja/man/man1/btreeop.1170
-rw-r--r--ja/man/man1/cal.182
-rw-r--r--ja/man/man1/calendar.1238
-rw-r--r--ja/man/man1/cap_mkdb.1112
-rw-r--r--ja/man/man1/cat.1116
-rw-r--r--ja/man/man1/catman.1142
-rw-r--r--ja/man/man1/cccp.1650
-rw-r--r--ja/man/man1/cd.199
-rw-r--r--ja/man/man1/cdcontrol.1163
-rw-r--r--ja/man/man1/checknr.1160
-rw-r--r--ja/man/man1/chflags.1143
-rw-r--r--ja/man/man1/chgrp.1131
-rw-r--r--ja/man/man1/chio.1215
-rw-r--r--ja/man/man1/chmod.1281
-rw-r--r--ja/man/man1/chpass.1405
-rw-r--r--ja/man/man1/ci.1887
-rw-r--r--ja/man/man1/cksum.1177
-rw-r--r--ja/man/man1/cmp.1111
-rw-r--r--ja/man/man1/co.1743
-rw-r--r--ja/man/man1/col.1123
-rw-r--r--ja/man/man1/colcrt.1104
-rw-r--r--ja/man/man1/colldef.1237
-rw-r--r--ja/man/man1/colrm.175
-rw-r--r--ja/man/man1/column.194
-rw-r--r--ja/man/man1/comm.1101
-rw-r--r--ja/man/man1/compile_et.180
-rw-r--r--ja/man/man1/compress.1168
-rw-r--r--ja/man/man1/cp.1218
-rw-r--r--ja/man/man1/cpio.1361
-rw-r--r--ja/man/man1/crontab.1120
-rw-r--r--ja/man/man1/crunchgen.1302
-rw-r--r--ja/man/man1/crunchide.176
-rw-r--r--ja/man/man1/csh.12190
-rw-r--r--ja/man/man1/ctags.1210
-rw-r--r--ja/man/man1/ctm.1315
-rw-r--r--ja/man/man1/ctm_rmail.1502
-rw-r--r--ja/man/man1/cu.1325
-rw-r--r--ja/man/man1/cursor.174
-rw-r--r--ja/man/man1/cut.1113
-rw-r--r--ja/man/man1/cvs.12121
-rw-r--r--ja/man/man1/date.1317
-rw-r--r--ja/man/man1/dc.1367
-rw-r--r--ja/man/man1/dd.1327
-rw-r--r--ja/man/man1/df.1150
-rw-r--r--ja/man/man1/dialog.1282
-rw-r--r--ja/man/man1/diff.1433
-rw-r--r--ja/man/man1/diff3.1190
-rw-r--r--ja/man/man1/dig.1354
-rw-r--r--ja/man/man1/dnsquery.1163
-rw-r--r--ja/man/man1/domainname.167
-rw-r--r--ja/man/man1/du.1131
-rw-r--r--ja/man/man1/echo.170
-rw-r--r--ja/man/man1/ed.1966
-rw-r--r--ja/man/man1/ee.1548
-rw-r--r--ja/man/man1/eqn.1852
-rw-r--r--ja/man/man1/error.1301
-rw-r--r--ja/man/man1/expand.195
-rw-r--r--ja/man/man1/expr.1140
-rw-r--r--ja/man/man1/f2c.1323
-rw-r--r--ja/man/man1/f77.174
-rw-r--r--ja/man/man1/false.162
-rw-r--r--ja/man/man1/fdformat.1167
-rw-r--r--ja/man/man1/fdwrite.1123
-rw-r--r--ja/man/man1/fetch.1312
-rw-r--r--ja/man/man1/file.1386
-rw-r--r--ja/man/man1/file2c.153
-rw-r--r--ja/man/man1/find.1498
-rw-r--r--ja/man/man1/finger.1206
-rw-r--r--ja/man/man1/fmt.192
-rw-r--r--ja/man/man1/fold.167
-rw-r--r--ja/man/man1/fontedit.161
-rw-r--r--ja/man/man1/fpr.192
-rw-r--r--ja/man/man1/from.199
-rw-r--r--ja/man/man1/fsplit.1103
-rw-r--r--ja/man/man1/fstat.1268
-rw-r--r--ja/man/man1/ftp.11083
-rw-r--r--ja/man/man1/gcc.14008
-rw-r--r--ja/man/man1/gcore.1100
-rw-r--r--ja/man/man1/gctags.1222
-rw-r--r--ja/man/man1/gdb.1366
-rw-r--r--ja/man/man1/gdbserver.1103
-rw-r--r--ja/man/man1/gencat.161
-rw-r--r--ja/man/man1/getNAME.165
-rw-r--r--ja/man/man1/getopt.1105
-rw-r--r--ja/man/man1/global.1135
-rw-r--r--ja/man/man1/gperf.123
-rw-r--r--ja/man/man1/gprof.1296
-rw-r--r--ja/man/man1/grep.1420
-rw-r--r--ja/man/man1/grodvi.1175
-rw-r--r--ja/man/man1/groff.1412
-rw-r--r--ja/man/man1/grolj4.1111
-rw-r--r--ja/man/man1/grops.1796
-rw-r--r--ja/man/man1/grotty.1198
-rw-r--r--ja/man/man1/groups.165
-rw-r--r--ja/man/man1/gtags.190
-rw-r--r--ja/man/man1/gzexe.147
-rw-r--r--ja/man/man1/gzip.1488
-rw-r--r--ja/man/man1/h2ph.144
-rw-r--r--ja/man/man1/head.185
-rw-r--r--ja/man/man1/hexdump.1322
-rw-r--r--ja/man/man1/host.1200
-rw-r--r--ja/man/man1/hostname.165
-rw-r--r--ja/man/man1/htags.1126
-rw-r--r--ja/man/man1/id.1145
-rw-r--r--ja/man/man1/ident.1186
-rw-r--r--ja/man/man1/indent.1457
-rw-r--r--ja/man/man1/indxbib.1204
-rw-r--r--ja/man/man1/info.1239
-rw-r--r--ja/man/man1/install-info.156
-rw-r--r--ja/man/man1/install.1171
-rw-r--r--ja/man/man1/intro.197
-rw-r--r--ja/man/man1/ipcrm.179
-rw-r--r--ja/man/man1/ipcs.1150
-rw-r--r--ja/man/man1/join.1212
-rw-r--r--ja/man/man1/jot.1197
-rw-r--r--ja/man/man1/kbdcontrol.1110
-rw-r--r--ja/man/man1/kbdmap.1133
-rw-r--r--ja/man/man1/kcon.1124
-rw-r--r--ja/man/man1/kdump.1100
-rw-r--r--ja/man/man1/key.149
-rw-r--r--ja/man/man1/keyinfo.154
-rw-r--r--ja/man/man1/keyinit.190
-rw-r--r--ja/man/man1/kill.1150
-rw-r--r--ja/man/man1/killall.1139
-rw-r--r--ja/man/man1/ktrace.1173
-rw-r--r--ja/man/man1/lam.1137
-rw-r--r--ja/man/man1/last.1139
-rw-r--r--ja/man/man1/lastcomm.1172
-rw-r--r--ja/man/man1/ld.1290
-rw-r--r--ja/man/man1/ldd.154
-rw-r--r--ja/man/man1/leave.199
-rw-r--r--ja/man/man1/lex.14071
-rw-r--r--ja/man/man1/limits.1298
-rw-r--r--ja/man/man1/lint.1530
-rw-r--r--ja/man/man1/lkbib.1105
-rw-r--r--ja/man/man1/ln.1167
-rw-r--r--ja/man/man1/loadfont.197
-rw-r--r--ja/man/man1/locate.1262
-rw-r--r--ja/man/man1/lock.170
-rw-r--r--ja/man/man1/lockf.1119
-rw-r--r--ja/man/man1/logger.197
-rw-r--r--ja/man/man1/login.1175
-rw-r--r--ja/man/man1/logname.173
-rw-r--r--ja/man/man1/look.1105
-rw-r--r--ja/man/man1/lookbib.176
-rw-r--r--ja/man/man1/lorder.178
-rw-r--r--ja/man/man1/lp.1113
-rw-r--r--ja/man/man1/lpq.1135
-rw-r--r--ja/man/man1/lpr.1242
-rw-r--r--ja/man/man1/lprm.1142
-rw-r--r--ja/man/man1/lptest.170
-rw-r--r--ja/man/man1/ls.1324
-rw-r--r--ja/man/man1/lsvfs.157
-rw-r--r--ja/man/man1/m4.1194
-rw-r--r--ja/man/man1/mail.1996
-rw-r--r--ja/man/man1/mailq.183
-rw-r--r--ja/man/man1/make.1963
-rw-r--r--ja/man/man1/makewhatis.1150
-rw-r--r--ja/man/man1/man.1133
-rw-r--r--ja/man/man1/manpath.167
-rw-r--r--ja/man/man1/mcon.1172
-rw-r--r--ja/man/man1/md5.160
-rw-r--r--ja/man/man1/merge.1151
-rw-r--r--ja/man/man1/mesg.194
-rw-r--r--ja/man/man1/mkdep.1101
-rw-r--r--ja/man/man1/mkdir.1103
-rw-r--r--ja/man/man1/mkdosfs.1145
-rw-r--r--ja/man/man1/mkfifo.174
-rw-r--r--ja/man/man1/mklocale.1257
-rw-r--r--ja/man/man1/mkstr.1142
-rw-r--r--ja/man/man1/more.1307
-rw-r--r--ja/man/man1/mset.1173
-rw-r--r--ja/man/man1/msgs.1205
-rw-r--r--ja/man/man1/mt.1255
-rw-r--r--ja/man/man1/mv.1150
-rw-r--r--ja/man/man1/netstat.1308
-rw-r--r--ja/man/man1/newaliases.175
-rw-r--r--ja/man/man1/nfsstat.1100
-rw-r--r--ja/man/man1/nice.1117
-rw-r--r--ja/man/man1/nm.1128
-rw-r--r--ja/man/man1/nohup.182
-rw-r--r--ja/man/man1/nroff.184
-rw-r--r--ja/man/man1/od.184
-rw-r--r--ja/man/man1/pagesize.155
-rw-r--r--ja/man/man1/passwd.1205
-rw-r--r--ja/man/man1/paste.1108
-rw-r--r--ja/man/man1/patch.1589
-rw-r--r--ja/man/man1/pax.11174
-rw-r--r--ja/man/man1/perl.15933
-rw-r--r--ja/man/man1/pfbtops.147
-rw-r--r--ja/man/man1/pic.1747
-rw-r--r--ja/man/man1/pkg_add.1379
-rw-r--r--ja/man/man1/pkg_create.1403
-rw-r--r--ja/man/man1/pkg_delete.1193
-rw-r--r--ja/man/man1/pkg_info.1135
-rw-r--r--ja/man/man1/pr.1331
-rw-r--r--ja/man/man1/printenv.1104
-rw-r--r--ja/man/man1/printf.1259
-rw-r--r--ja/man/man1/ps.1523
-rw-r--r--ja/man/man1/psbb.139
-rw-r--r--ja/man/man1/pwd.167
-rw-r--r--ja/man/man1/qcamcontrol.170
-rw-r--r--ja/man/man1/quota.1141
-rw-r--r--ja/man/man1/ranlib.192
-rw-r--r--ja/man/man1/rcp.1145
-rw-r--r--ja/man/man1/rcs.1448
-rw-r--r--ja/man/man1/rcsclean.1204
-rw-r--r--ja/man/man1/rcsdiff.1158
-rw-r--r--ja/man/man1/rcsfreeze.167
-rw-r--r--ja/man/man1/rcsintro.1315
-rw-r--r--ja/man/man1/rcsmerge.1192
-rw-r--r--ja/man/man1/rdist.1423
-rw-r--r--ja/man/man1/refer.11257
-rw-r--r--ja/man/man1/rev.147
-rw-r--r--ja/man/man1/rlog.1309
-rw-r--r--ja/man/man1/rlogin.1198
-rw-r--r--ja/man/man1/rm.1163
-rw-r--r--ja/man/man1/rmdir.198
-rw-r--r--ja/man/man1/rpcgen.1496
-rw-r--r--ja/man/man1/rs.1232
-rw-r--r--ja/man/man1/rsh.1190
-rw-r--r--ja/man/man1/rtld.1227
-rw-r--r--ja/man/man1/rtprio.1199
-rw-r--r--ja/man/man1/rup.193
-rw-r--r--ja/man/man1/ruptime.182
-rw-r--r--ja/man/man1/rusers.199
-rw-r--r--ja/man/man1/rwall.179
-rw-r--r--ja/man/man1/rwho.175
-rw-r--r--ja/man/man1/s2p.1114
-rw-r--r--ja/man/man1/sasc.197
-rw-r--r--ja/man/man1/scon.1219
-rw-r--r--ja/man/man1/script.1118
-rw-r--r--ja/man/man1/sdiff.1201
-rw-r--r--ja/man/man1/sed.1482
-rw-r--r--ja/man/man1/send-pr.1243
-rw-r--r--ja/man/man1/sgsc.195
-rw-r--r--ja/man/man1/sh.11171
-rw-r--r--ja/man/man1/shar.1112
-rw-r--r--ja/man/man1/size.162
-rw-r--r--ja/man/man1/skey.165
-rw-r--r--ja/man/man1/sleep.1120
-rw-r--r--ja/man/man1/soelim.186
-rw-r--r--ja/man/man1/sort.1237
-rw-r--r--ja/man/man1/split.196
-rw-r--r--ja/man/man1/startslip.1208
-rw-r--r--ja/man/man1/strings.193
-rw-r--r--ja/man/man1/strip.172
-rw-r--r--ja/man/man1/stty.1530
-rw-r--r--ja/man/man1/su.1212
-rw-r--r--ja/man/man1/symorder.194
-rw-r--r--ja/man/man1/systat.1399
-rw-r--r--ja/man/man1/tail.1137
-rw-r--r--ja/man/man1/talk.1137
-rw-r--r--ja/man/man1/tar.1439
-rw-r--r--ja/man/man1/tbl.1178
-rw-r--r--ja/man/man1/tconv.1168
-rw-r--r--ja/man/man1/tcopy.190
-rw-r--r--ja/man/man1/tcpdump.11280
-rw-r--r--ja/man/man1/tcpslice.1254
-rw-r--r--ja/man/man1/tee.185
-rw-r--r--ja/man/man1/telnet.11322
-rw-r--r--ja/man/man1/test.1220
-rw-r--r--ja/man/man1/tfmtodit.1156
-rw-r--r--ja/man/man1/tftp.1171
-rw-r--r--ja/man/man1/time.192
-rw-r--r--ja/man/man1/tip.1449
-rw-r--r--ja/man/man1/tn3270.1320
-rw-r--r--ja/man/man1/top.1373
-rw-r--r--ja/man/man1/touch.1151
-rw-r--r--ja/man/man1/tput.1119
-rw-r--r--ja/man/man1/tr.1288
-rw-r--r--ja/man/man1/troff.12022
-rw-r--r--ja/man/man1/true.161
-rw-r--r--ja/man/man1/tset.1389
-rw-r--r--ja/man/man1/tsort.192
-rw-r--r--ja/man/man1/tty.178
-rw-r--r--ja/man/man1/ul.1112
-rw-r--r--ja/man/man1/uname.192
-rw-r--r--ja/man/man1/unifdef.1138
-rw-r--r--ja/man/man1/uniq.1128
-rw-r--r--ja/man/man1/units.1160
-rw-r--r--ja/man/man1/unvis.159
-rw-r--r--ja/man/man1/uptime.158
-rw-r--r--ja/man/man1/users.160
-rw-r--r--ja/man/man1/uucp.1218
-rw-r--r--ja/man/man1/uuencode.1137
-rw-r--r--ja/man/man1/uustat.1555
-rw-r--r--ja/man/man1/uux.1265
-rw-r--r--ja/man/man1/vacation.1187
-rw-r--r--ja/man/man1/vgrind.1239
-rw-r--r--ja/man/man1/vi.11585
-rw-r--r--ja/man/man1/vidcontrol.1121
-rw-r--r--ja/man/man1/vis.1123
-rw-r--r--ja/man/man1/vt220keys.1131
-rw-r--r--ja/man/man1/vttest.116
-rw-r--r--ja/man/man1/w.1143
-rw-r--r--ja/man/man1/wait.189
-rw-r--r--ja/man/man1/wall.163
-rw-r--r--ja/man/man1/wc.1108
-rw-r--r--ja/man/man1/what.177
-rw-r--r--ja/man/man1/whereis.1132
-rw-r--r--ja/man/man1/which.167
-rw-r--r--ja/man/man1/who.1104
-rw-r--r--ja/man/man1/whoami.161
-rw-r--r--ja/man/man1/whois.187
-rw-r--r--ja/man/man1/window.1887
-rw-r--r--ja/man/man1/write.1100
-rw-r--r--ja/man/man1/xargs.1159
-rw-r--r--ja/man/man1/xstr.1151
-rw-r--r--ja/man/man1/xten.197
-rw-r--r--ja/man/man1/yacc.1134
-rw-r--r--ja/man/man1/yes.155
-rw-r--r--ja/man/man1/ypcat.172
-rw-r--r--ja/man/man1/ypmatch.174
-rw-r--r--ja/man/man1/yyfix.1113
-rw-r--r--ja/man/man1/zdiff.147
-rw-r--r--ja/man/man1/zforce.128
-rw-r--r--ja/man/man1/zgrep.150
-rw-r--r--ja/man/man1/zmore.1138
-rw-r--r--ja/man/man1/znew.143
333 files changed, 93167 insertions, 0 deletions
diff --git a/ja/man/man1/a2p.1 b/ja/man/man1/a2p.1
new file mode 100644
index 0000000000..47c2e7b869
--- /dev/null
+++ b/ja/man/man1/a2p.1
@@ -0,0 +1,218 @@
+.rn '' }`
+.\" jpman %Id: a2p.1,v 1.3 1997/07/22 14:10:51 konuma Stab %
+''' %Header: /home/ncvs/src/gnu/usr.bin/perl/x2p/a2p.1,v 1.1.1.1 1994/09/10 06:27:55 gclarkii Exp %
+'''
+''' %Log: a2p.1,v %
+''' Revision 1.1.1.1 1994/09/10 06:27:55 gclarkii
+''' Initial import of Perl 4.046 bmaked
+'''
+'''
+.\" Revision 1.1.1.1 1993/08/23 21:30:10 nate
+.\" PERL!
+.\"
+''' Revision 4.0 91/03/20 01:57:11 lwall
+''' 4.0 baseline.
+'''
+''' Revision 3.0 89/10/18 15:34:22 lwall
+''' 3.0 baseline
+'''
+''' Revision 2.0.1.1 88/07/11 23:16:25 root
+''' patch2: changes related to 1985 awk
+'''
+''' Revision 2.0 88/06/05 00:15:36 root
+''' Baseline version 2.0.
+'''
+'''
+.de Sh
+.br
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+'''
+''' Set up \*(-- to give an unbreakable dash;
+''' string Tr holds user defined translation string.
+''' Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+.ds L' '
+.ds R' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds L' `
+.ds R' '
+'br\}
+.TH A2P 1 LOCAL
+.SH 名称
+a2p - Awk から Perl へのトランスレータ
+.SH 書式
+.B a2p [options] filename
+.SH 解説
+.I a2p
+はコマンドラインで指定された (あるいは標準入力からの) awk スクリプトを
+とり、同等の働きをする
+.I perl
+スクリプトを標準出力に出力します。
+.Sh オプション
+オプションには以下のものがあります:
+.TP 5
+.B \-D<number>
+デバッグフラグをセットします。
+.TP 5
+.B \-F<character>
+awk スクリプトが常にこの -F スイッチ付きで実行されることを指定します。
+.TP 5
+.B \-n<fieldlist>
+入力を分割して配列に格納する必要がない場合、
+入力フィールドの名前を指定します。
+例えば、パスワードファイルを処理する awk スクリプトを変換する場合、
+このように指定します:
+.sp
+ a2p -7 -nlogin.password.uid.gid.gcos.shell.home
+.sp
+フィールド名の区切りには任意のデリミタが使用できます。
+.TP 5
+.B \-<number>
+a2p は、入力が常に指定した数のフィールドから成っていることを仮定します。
+.Sh 考察
+a2p は人間と同じぐらいうまい変換はできませんが、
+大抵の場合はそこそこうまく処理します。
+場合によっては、
+生成された perl スクリプトを吟味し、少し手を加えたいと思うことも
+あるでしょう。
+以下にいくつかの場合を、順不同で説明します。
+.PP
+文字列を表す式のまわりに int() を付け、
+数値として解釈されるようにする awk イディオムが
+あります (その引数は常に整数型なのですが)。
+これは一般に perl では不要ですが、
+a2p は引数が常に整数となるかどうか判断できないので、
+このイディオムはそのまま残します。
+ユーザはこれを取り除くことができます。
+.PP
+perl では数値比較と文字列比較は区別されています。
+awk ではどちらにも同じ演算子が用いられ、
+実行時にどちらの比較を行うかが決定されます。
+この点で a2p は awk エミュレーションを完全には行おうとしません。
+その代わり、a2p はどちらの種類の比較を行おうとしているのか推測します。
+これはほとんどの場合正しいものですが、だまされることもあります。
+推測を行った部分には \*(L"#???\*(R" というコメントが付与されますので、
+それらの部分を調べ、中身をチェックすべきです。
+ユーザは、少なくとも一度は \-w スイッチ付きで perl を走らせるとよいでしょう。
+こうすると、eq を使うべきところで == を使っている場合に警告を受けます。
+.PP
+存在しない配列要素でも、単にそれを参照しただけで存在するようになるか、
+という点で、perl は awk の動作をエミュレートしようとしません。
+何らかの理由で、このメカニズムに依存して後続の for...in のために
+ヌルエントリを作成しようとする場合、
+perl ではヌルエントリは作成されません。
+.PP
+a2p が、(Fld1, Fld2, Fld3...) のような、変数のリストへの代入を行う行を
+分割する場合、
+上に述べた \-n オプションを用いて再度 a2p を走らせた方がいいかもしれません。
+これにより、スクリプト内のフィールドに名前を付けます。
+そうではなく、分割して配列に格納する場合、
+その分割はおそらくどこかでフィールド数を参照しているでしょう。
+.PP
+awk の exit ステートメントは必ずしも exit せず、
+END ブロックがあればそこへ処理が移ります。
+ある条件下で END ブロックをバイパスするような細工を END ブロックに
+仕掛けてある awk スクリプトは、
+END ブロック内の条件文を取り除き、perl スクリプトから直接 exit するように
+修正することで簡単化できます。
+.PP
+perl には 2 種類の配列、すなわち数値でインデクスされる配列と連想配列とが
+あります。
+通常、awk の配列は連想配列に変換されますが、
+もしそのインデクスが常に数値であるとわかったら、
+配列添字の {...} を [...] に変更できます。
+連想配列に対する繰り返し処理は関数 keys() を用いて行われますが、
+数値配列に対してはそうではありません。
+問題となっている配列の繰り返し操作を行うあらゆるループ構造を
+修正する必要があるかもしれません。
+.PP
+awk は起動時、OFMT の値が %.6g であると仮定しています。
+perl でこれに相当する変数 $# は、初期値として %.20g を持っています。
+OFMT のデフォルト値を用いる場合は $# を明示的に設定して下さい。
+.PP
+awk スクリプトでは、行の先頭付近で行分割 (split) 操作が暗黙的に
+繰り返されます。
+場合によっては、全体レコードをテストする何らかの条件文より下に
+これを移動させることができます。
+そうすることで無用な行分割処理を避けることができます。
+.PP
+美的理由から配列の基底 $[ を元々の 1 から perl でのデフォルトである 0 に
+変更したいこともあるでしょう。
+しかし、全ての配列添字式だけでなく、全ての substr() および index() 関数も
+適合するように修正しなければならないことを忘れないで下さい。
+.PP
+"# awk は馬鹿だからこうやって工夫してます" といった気の利いたコメントは、
+そのまま修正されずに渡されます。
+.PP
+awk スクリプトはしばしばシェルスクリプトに埋め込まれ、
+awk の入出力がパイプで接続されます。
+こういったシェルスクリプトのラッパーも perl スクリプトに取り込める場合が
+かなりあります。
+perl なら入出力パイプを開始でき、
+awk が自分ではできなかった他の処理も行うことができるからです。
+.PP
+特殊変数 RSTART および RLENGTH を参照するスクリプトは、
+これらの変数を定義するパターン照合のスコープの中で参照されている限り、
+変数 $`, $&, $' を参照することで簡単化できる場合がかなりあります。
+.PP
+生成された perl スクリプトには、
+getline および print に関する awk の意味規則に対処するための
+サブルーチンが定義されている場合があります。
+a2p は通常、効率よりも正確さを選ぶからです。
+ほとんどの場合、ご丁寧に意味規則に対処してくれるサブルーチンを捨てて、
+もっと効率的なコードに書き換えることができます。
+.PP
+効率を上げるために、
+サブルーチンで最後に実行される return ステートメントから
+キーワード return を取り除くことができる場合があります。
+a2p は最も一般的な場合は見つけますが、
+稀にある埋め込まれたブロックを解析したりしません。
+.PP
+ARGV[0] は $ARGV0 に変換されますが、ARGV[n] は $ARGV[$n] に変換されます。
+ARGV[0] を含めて繰り返し処理を行おうとするループは、
+うまくいきません。
+.SH 環境変数
+a2p は環境変数を参照しません。
+.SH 作者
+Larry Wall <lwall@jpl-devvax.Jpl.Nasa.Gov>
+.SH 関連ファイル
+.SH 関連項目
+perl perl コンパイラ/インタプリタ
+.br
+s2p sed から perl へのトランスレータ
+.SH 診断
+.SH バグ
+実行時にオペランドを調べることで、文字列演算か数値演算かの選択で awk の
+エミュレーションを行うことは可能でしょうが、
+プログラムは肥大し、非効率的になるでしょう。
+なお、a2p の推測はほとんど常に正しく行われます。
+.PP
+awk 文法ツリー用の領域は現在のところ静的に確保しており、
+不足する可能性があります。
+.rn }` ''
diff --git a/ja/man/man1/addftinfo.1 b/ja/man/man1/addftinfo.1
new file mode 100644
index 0000000000..10fb7f17f4
--- /dev/null
+++ b/ja/man/man1/addftinfo.1
@@ -0,0 +1,93 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: addftinfo.1,v 1.2 1997/05/13 16:07:12 horikawa Stab %
+.TH ADDFTINFO 1 "8 September 1996" "Groff Version 1.10"
+.SH 名称
+addftinfo \- troff 用のフォントファイルに groff で用いるための情報を付加する
+.SH 書式
+.B addftinfo
+[
+.BI \- param\ value\fR.\|.\|.
+]
+.I res
+.I unitwidth
+.I font
+.SH 解説
+.B addftinfo
+は troff フォントファイルを読み、groff
+システムで用いられるフォントメトリック情報を付加します。情報が付加されたフォントファイル
+は標準出力に書き出されます。
+追加される情報は、フォント自体のパラメトリックな情報と、伝統的な troff
+の文字名のつけかたに関する仮定から推定されます。
+この情報は、主に文字の高さや深さです。引数の
+.I res
+と
+.I unitwidth
+は DESC ファイルの対応するパラメータと一致するべきです;
+.I font
+はフォントの名前です。
+.I font
+が
+.B I
+で終わる場合はイタリック体であると仮定されます。
+.SH オプション
+各オプションは、高さや深さなどを得るために用いられるパラメータのうちの 1 つを
+変更します。フォントファイル内の現行の数量のように、各
+.I value
+はポイントの大きさが
+.I unitwidth
+であるフォントについて
+.I res
+あたりのインチ数で表現します。
+.I param
+には、以下のなかから 1 つを選びます:
+.TP
+.B x-height
+x などのような、背の低い小文字の高さ。
+.TP
+.B fig-height
+図の高さ ( 十進の数値 )
+.TP
+.B asc-height
+b, d, l などのような、背の高い文字の高さ。
+.TP
+.B body-height
+括弧などの文字の高さ。
+.TP
+.B cap-height
+A のような大文字の高さ。
+.TP
+.B comma-depth
+``,'' の深さ。
+.TP
+.B desc-depth
+p, q, y などのような、ベースラインよりも下に出た文字の深さ。
+.TP
+.B body-depth
+括弧などの文字の深さ。
+.LP
+.B addftinfo
+は、指定しなかったパラメータの値を推測するために、指定してある
+パラメータの値を用いることはしません。パラメータが指定されない場合は
+デフォルトの値が用いられます。デフォルトの値は、
+Times フォントの手頃な値を選びます。
+.SH 関連項目
+.BR groff_font (5),
+.BR groff (1),
+.BR groff_char (7)
diff --git a/ja/man/man1/apply.1 b/ja/man/man1/apply.1
new file mode 100644
index 0000000000..b3bacd0959
--- /dev/null
+++ b/ja/man/man1/apply.1
@@ -0,0 +1,136 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)apply.1 8.2 (Berkeley) 4/4/94
+.\" jpman %Id: apply.1,v 1.2 1997/03/26 12:22:42 horikawa Stab %
+.\"
+.Dd April 4, 1994
+.Dt APPLY 1
+.Os BSD 4.2
+.Sh 名称
+.Nm apply
+.Nd 引数の集合にコマンドを適用する
+.Sh 書式
+.Nm apply
+.Op Fl a Ns Ar c
+.Op Fl Ns Ar #
+.Ar command argument ...
+.Sh 解説
+.Nm apply
+は、
+指定されたコマンド
+.Ar command
+に、各引数
+.Ar argument
+を順番に与えて実行します。
+.Pp
+.Ar command
+内に
+.Dq Li \&%d
+の形をした文字列があった場合には (ここで
+.Dq Li d
+は 1 から 9 までの数字)、これらは未使用の引数
+.Ar argument
+のうちの
+.Li d
+番目のものと置き換えられます。
+このとき
+.Ar command
+の実行ごとに最大の
+.Dq Li d
+の数だけ引数は捨てられます。
+.Pp
+オプションは以下のものがあります:
+.Bl -tag -width "-ac"
+.It Fl Ns Ar #
+通常は引数は一つしか渡されません。オプション
+.Fl #
+で
+.Ar command
+に渡される引数の個数を指定できます。
+この数値が 0 のときは、引数なしで
+.Ar command
+が引数
+.Ar argument
+につき 1 回、実行されます。
+.Pp
+もしコマンド内に
+.Dq Li \&%d
+があった場合、
+.Fl #
+オプションは無視されます。
+.It Fl a Ns Ar c
+デフォルトではマジックキャラクタとして
+.Dq Li %
+を使っていますが、これは
+.Fl a
+オプションで変更ができます。
+.El
+.Sh 環境変数
+以下の環境変数が
+.Nm apply
+の実行に影響します:
+.Bl -tag -width SHELL
+.It Ev SHELL
+利用する shell のパス名です。
+この変数が定義されていない場合は Bourne shell が使われます。
+.El
+.Sh 使用例
+.Bl -tag -width apply -compact
+.It Li "apply echo a*"
+ls(1) に似た出力になります。
+.It Li "apply \-2 cmp a1 b1 a2 b2 a3 b3"
+`a' のファイルと `b' のファイルを比較します。
+.It Li "apply \-0 who 1 2 3 4 5"
+who(1) を 5 回実行します。
+.It Li "apply \'ln %1 /usr/joe\'" *
+カレントディレクトリ内の全てのファイルをディレクトリ
+.Pa /usr/joe
+にリンクします。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /bin/sh -compact
+.It Pa /bin/sh
+デフォルトの shell です。
+.El
+.Sh 作者
+Rob Pike
+.Sh バグ
+.Ar command
+内に shell のメタキャラクタを使用すると、異常な動作をするかもしれません。
+複雑なコマンドはシングルクォート
+.Pq Sq
+で括るのがベストです。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.2
+から登場しました。
diff --git a/ja/man/man1/apropos.1 b/ja/man/man1/apropos.1
new file mode 100644
index 0000000000..f851bb6c12
--- /dev/null
+++ b/ja/man/man1/apropos.1
@@ -0,0 +1,39 @@
+.\" Man page for apropos an wahtis
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" jpman %Id: apropos.1,v 1.3 1997/06/14 16:18:57 kubo Stab %
+.Dd Jan 15, 1991
+.Dt APROPOS 1
+.Os
+.Sh 名称
+.Nm apropos , whatis
+.Nd whatis データベースを文字列で探索検索する
+.Sh 書式
+.Nm apropos
+.Ar keyword ...
+.br
+.Nm whatis
+.Ar keyword ...
+.Sh 解説
+.Nm apropos
+は、システムコマンドに関する短い簡単な説明を含んだデータベースファイルを、
+キーワードによって探索して、その結果を標準出力に表示します。
+.Nm whatis
+では完全な語にのみ適合します。
+.Sh 戻り値
+.Nm apropos
+は成功時には 0 を、キーワードがマッチしない場合には 1 を返します。
+.Sh 関連項目
+.Xr man 1 ,
+.Xr makewhatis 1
diff --git a/ja/man/man1/ar.1 b/ja/man/man1/ar.1
new file mode 100644
index 0000000000..8286323404
--- /dev/null
+++ b/ja/man/man1/ar.1
@@ -0,0 +1,314 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Hugh Smith at The University of Guelph.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ar.1 8.1 (Berkeley) 6/29/93
+.\" %Id: ar.1,v 1.2.2.1 1997/06/24 06:35:04 charnier Exp %
+.\" jpman %Id: ar.1,v 1.2 1997/03/29 02:06:03 horikawa Stab %
+.\"
+.Dd June 29, 1993
+.Dt AR 1
+.Sh 名称
+.Nm ar
+.Nd ライブラリアーカイブの作成およびメンテナンス
+.Sh 書式
+.Nm ar
+.Fl d
+.Op Fl \Tv
+.Ar archive file ...
+.Nm ar
+.Fl m
+.Op Fl \Tv
+.Ar archive file ...
+.Nm ar
+.Fl m
+.Op Fl abiTv
+.Ar position archive file ...
+.Nm ar
+.Fl p
+.Op Fl \Tv
+.Ar archive [file ...]
+.Nm ar
+.Fl q
+.Op Fl cTv
+.Ar archive file ...
+.Nm ar
+.Fl r
+.Op Fl cuTv
+.Ar archive file ...
+.Nm ar
+.Fl r
+.Op Fl abciuTv
+.Ar position archive file ...
+.Nm ar
+.Fl t
+.Op Fl \Tv
+.Ar archive [file ...]
+.Nm ar
+.Fl x
+.Op Fl ouTv
+.Ar archive [file ...]
+.Sh 解説
+The
+.Nm ar
+ユーティリティは、ファイルの集まりであるアーカイブファイルの作成、およ
+びそのアーカイブの整備を行ないます。いったんアーカイブを作成した
+後は、新しいファイルの追加、存在しているファイルの展開、削除、置き換えな
+ども行なうことが可能です。
+.Pp
+ファイルはアーカイブ内では、一つの要素で名づけられます。
+つまり、スラッシュ(``/'')を含むパスで参照されたファイルは
+そのパスの最後の要素によって名づけられるのです。
+コマンドラインに並べられたパスをアーカイブ内のファイル名と一致させる
+ときには、パスの最後の要素のみが比較されます。
+.Pp
+すべての情報およびエラーメッセージは、コマンドラインにパスが
+指定されていれば、それを利用します。指定されていなければ、
+アーカイブ内の名前を利用します。もし、アーカイブ内で複数のファイルが
+同じ名前で存在しており、ある操作を行うためにアーカイブ
+ファイルを``選択''するようコマンドラインにパスを並べた場合は、
+.Em 最初に
+名前の一致したファイルのみが選択されます。
+.Pp
+.Nm ar
+の通常の利用方法は、ローダ(
+.Xr ld 1
+を参照してください)に適したライブラリの作成および整備です。しかし、
+この目的に限定されているのではありません。
+オプションは以下の通りです:
+.Bl -tag -width indent
+.It Fl a
+.Fl r
+や
+.Fl m
+と共に用いられ、格納位置を修正します。
+ファイルはアーカイブ内の要素である
+.Ar position
+の
+.Em 後ろに
+格納もしくは移動されます。
+.Ar position
+を指定する必要があります。
+.It Fl b
+.Fl r
+や
+.Fl m
+と共に用いられ、格納位置を修正します。
+ファイルはアーカイブ内の要素である
+.Ar position
+の
+.Em 前に
+格納もしくは移動されます。
+.Ar position
+を指定する必要があります。
+.It Fl c
+通常、アーカイブが作成されるときは、その動作状況についての
+情報が、標準エラー出力に出力されます。
+.Fl c
+オプションが指定されると、
+.Nm ar
+はこの出力を行わなくなります。
+.It Fl d
+指定されたアーカイブファイルを削除します。
+.It Fl i
+.Fl b
+オプションと同じです。
+.It Fl m
+指定されたアーカイブファイルをアーカイブ内に移動します。
+.Fl a ,
+.Fl b ,
+.Fl i
+のオプションの一つが指定された場合は、ファイルは
+アーカイブ内のファイルである
+.I position
+の前後に移動されます。これらのオプションが指定されなかった場合には、
+ファイルはアーカイブの最後に移動されます。
+.It Fl o
+展開されたファイルのアクセス時刻および修正時刻を、アーカイブに
+格納された時点での修正時刻に合わせます。この操作は、ユーザが
+そのファイルの所有者でもスーパユーザでもない場合には失敗します。
+.It Fl p
+指定されたアーカイブファイルの内容を標準出力に出力します。
+ファイルが指定されなかった場合には、アーカイブ内のすべての
+ファイルの内容が、アーカイブ内にある順番どおりに出力されます。
+.It Fl q
+指定されたファイルをアーカイブにすばやく追加します。アーカイブが
+存在しない場合には、新たなアーカイブファイルが作成されます。
+ファイルがアーカイブ内のファイルと重複していないかどうかを
+調べないため、大きなアーカイブをすこしづつ作っている場合には
+.Fl r
+オプションより非常に高速です。
+.It Fl r
+指定されたファイルをアーカイブに追加、もしくは置換します。
+アーカイブが存在しない場合には、新たなアーカイブファイルが
+作成されます。すでにあるファイルを置換する場合にも、
+アーカイブ内の順序は変化しません。
+.Fl a ,
+.Fl b ,
+.Fl i
+のいずれかの
+オプションが指定されない限り、追加されるファイルは最後尾に
+追加されます。
+.It Fl T
+アーカイブメンバを選択するとき、およびアーカイブメンバに
+名前をつけるとき、アーカイブメンバ名やコマンドラインファイル名の
+最初の15文字だけを利用するようにします。古いアーカイブ形式は
+名前として16バイトの領域がありましたが、古いアーカイバや
+ローダの中には、その領域すべてを使うような名前を扱えない実装の
+ものもあったのです。これは、最初の15文字が等しいファイル名は
+後で混同されるかもしれない、ということを意味しています。
+もし、いずれかのファイル名が切り捨てられた場合には、標準エラー
+出力に警告メッセージが出力されます。(さらに情報を得るには、
+.Xr ar 5
+を参照してください。)
+.It Fl t
+指定されたファイル名を、アーカイブ内に格納されている順で、
+1行に1つずつ出力します。もしファイル名が指定されなかった場合には、
+アーカイブ内のすべてのファイル名が出力されます。
+.It Fl u
+ファイルを更新します。
+.Fl r
+オプションと共に指定された場合には、
+アーカイブ内のファイルの修正時刻よりもディスクのファイルの
+修正時刻のほうが新しい場合のみ、アーカイブファイルが
+置き換えられます。
+.Fl x
+オプションと共に指定された場合には、
+ディスクのファイルの修正時刻よりもアーカイブ内のファイルの
+修正時刻の方が新しい場合のみ、アーカイブファイルが展開されます。
+.It Fl v
+動作状況を詳しく出力します。
+.Fl d ,
+.Fl m ,
+.Fl q ,
+.Xl x
+オプションと共に
+指定された場合には、
+.Nm ar
+はアーカイブの変更について、ファイル
+ごとに報告します。この情報は、空白で区切られた3つの
+フィールド、すなわちオプション名、ダッシュ(``-'') 、
+ファイル名から構成されています。
+.Fl r
+オプションと共に使われた
+場合には、
+.Nm ar
+は上と同様の出力を行いますが、最初の文字は
+ファイルがアーカイブに追加された場合は ``a''、アーカイブ内に
+既にあるファイルを置き換えた場合には ``r'' となります。
+.Pp
+.Fl p
+オプションと共に指定された場合には、
+表示されるファイルそれぞれについて、
+改行 1 つ、
+``<'' と ``>'' に括られたファイルの名前、
+改行 2 つ、
+ファイルの内容の順で出力されます。
+.Pp
+.Fl t
+オプションと共に指定された場合には、
+.Nm ar
+は ``ls -l'' の形式で
+アーカイブのメンバについての情報を出力します。この情報は、
+空白で区切られた8つのフィールド、すなわち、ファイルの
+パーミッション(
+.Xr strmode 3
+を参照してください)、一つの
+スラッシュ(``/'')で区切られた、10進数表現のユーザIDと
+グループID、ファイルの大きさ(バイト単位)、ファイルの
+修正時刻(
+.Xr date 1
+の``%b %e %H:%M %Y''形式)、ファイル名
+から構成されています。
+.It Fl x
+指定されたアーカイブのメンバを、コマンドライン引数で
+指定されたファイルに展開します。メンバが指定されなかった
+場合には、アーカイブ内のすべてのメンバが現在のディレクトリに
+展開されます。
+.Pp
+ファイルが存在しなかった場合には、作成されます。存在していた
+場合には、所有者およびグループは変更されません。ファイルの
+アクセス時刻および修正時刻は、(
+.Fl o
+オプションの指定がない限り)
+展開を行った時刻となります。ファイルのパーミッションは、
+アーカイブ内に格納された時点のものに設定されます。この操作は、
+ユーザがそのファイルの所有者でもスーパユーザでもない場合には
+失敗します。
+.El
+.Pp
+.Nm ar
+ユーティリティは、成功の場合には0、エラーが起きた
+場合には0より大きい値を返します。
+.Sh 環境変数
+.Bl -tag -width indent -compact
+.It Ev TMPDIR
+テンポラリファイルを作成する時に使用されるディレクトリのパス名
+.El
+.Sh 関連ファイル
+.Bl -tag -width indent -compact
+.It Pa /tmp
+デフォルトのテンポラリディレクトリ
+.It Pa ar.XXXXXX
+テンポラリファイル名
+.El
+.Sh 互換性
+デフォルトでは、
+.Nm ar
+は古いアーカイブと互換性のないアーカイブを
+作成するかもしれません。というのも、15文字よりも長いファイル名を
+持ったアーカイブメンバの格納に用いるファイル形式が変更されたためです。
+現在の
+.Nm ar
+の実装では、(
+.Fl T
+オプションを用いることによって)古い
+アーカイブ形式の読み書きができるように、以前の
+.Nm ar
+との下位互換性が
+あります。
+.Fl T
+オプションは互換性のためだけに用意されており、
+将来のリリースでは削除されるかもしれません。さらに情報を得るには、
+.Xr ar 5
+を見てください。
+.Sh 規格
+.Nm ar
+ユーティリティは
+.St -p1003.2
+の機能のスーパセットを提供しているはずです。
+.Sh 関連項目
+.Xr ld 1 ,
+.Xr ranlib 1 ,
+.Xr strmode 3 ,
+.Xr ar 5
diff --git a/ja/man/man1/as.1 b/ja/man/man1/as.1
new file mode 100644
index 0000000000..3844608f9a
--- /dev/null
+++ b/ja/man/man1/as.1
@@ -0,0 +1,290 @@
+.\" Copyright (c) 1991, 1992 Free Software Foundation
+.\" See section COPYING for conditions for redistribution
+.TH as 1 "21 January 1992" "cygnus support" "GNU Development Tools"
+.\" jpman %Id: as.1,v 1.3 1997/10/11 07:37:12 horikawa Stab %
+
+.SH 名称
+GNU as \- ポータブル GNU アセンブラ
+
+.SH 書式
+.na
+.B as
+.RB "[\|" \-a "\||\|" \-al "\||\|" -as\c
+\&\|]
+.RB "[\|" \-D "\|]"
+.RB "[\|" \-f "\|]"
+.RB "[\|" \-I
+.I path\c
+\&\|]
+.RB "[\|" \-k "\|]"
+.RB "[\|" \-K "\|]"
+.RB "[\|" \-L "\|]"
+.RB "[\|" \-o
+.I objfile\c
+\&\|]
+.RB "[\|" \-R "\|]"
+.RB "[\|" \-v "\|]"
+.RB "[\|" \-w "\|]"
+.RB "[\|" \-\^\- "\ |\ " \c
+.I files\c
+\&\|.\|.\|.\|]
+
+.I i960 だけにあるオプション:
+.br
+.RB "[\|" \-ACA "\||\|" \-ACA_A "\||\|" \-ACB\c
+.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
+.RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
+.RB "[\|" \-b "\|]"
+.RB "[\|" \-norelax "\|]"
+
+.I m680x0 だけにあるオプション:
+.br
+.RB "[\|" \-l "\|]"
+.RB "[\|" \-mc68000 "\||\|" \-mc68010 "\||\|" \-mc68020 "\|]"
+.ad b
+
+.SH 解説
+GNU \c
+.B as\c
+\& とは、実は一連のアセンブラのことです。
+もしあるアーキテクチャで GNU アセンブラを使う (もしくは、使った
+ことがある) ならば、他のアーキテクチャで使う時もかなり似た環境となり
+ます。それぞれのバージョンは他のバージョンと共通の部分が多くあります。
+例えば、オブジェクトファイルフォーマットや
+ほとんどのアセンブラディレクティブ (
+\c
+.I 疑似命令(pseudo-ops)
+とも呼ばれます)\c
+\& 、アセンブラシンタクスなどです。
+
+GNU \c
+.B as\c
+のシンタクスや疑似命令(pseudo-ops)に関する情報については、
+.B info \c
+(もしくは、マニュアル \c
+.I
+.I
+Using as: The GNU Assembler\c
+\&)
+の
+\& `\|\c
+.B as\c
+\|' の項を参照してください。
+
+\c
+.B as\c
+\& が作られた第一の目的は、GNU C コンパイラ \c
+.B gcc\c
+\& の出力をリンカ
+.B ld\c
+\& で使用できるようアセンブルすることです。
+確かに、
+.B as\c
+\& が、
+ネイティブアセンブラがアセンブルできるものはすべて
+正しくアセンブルできるようにしようとしてきました。
+このことは、\c
+.B as\c
+\& の用いるシンタクスが、
+同一アーキテクチャの他のアセンブラと同じである、
+ということを意味するものではありません。
+たとえば、680x0 のアセンブラ言語
+のシンタクスには互換性のないバージョンが存在することが知られてい
+ます。
+
+.B as\c
+\& の起動 1 回ごとに、ちょうどひとつのソースプログラムだけをアセンブルします。
+ソースプログラムはひとつ以上のファイルから構成されます。
+(標準入力もファイルひとつとみなします。)
+
+もし \c
+.B as\c
+\& にファイル名が指定されなければ、ひとつの入力ファイルが \c
+.B as\c
+\& の標準入力 (ふつうは端末) から読み出されます。\c
+.B ctl-D\c
+\& をタイプすることで、これ以上アセンブルするプログラムが存在しないこと
+を \c
+.B as\c
+\& に通知します。
+コマンドライン上で明示的に標準入力を指定する必要のある時は、`\|\c
+.B \-\^\-\c
+\|' を使ってください。
+
+.B as\c
+\& は、警告およびエラーメッセージを標準エラー出力 (通常は端末)
+へ出力します。\c
+.B as\c
+\& が
+コンパイラによって自動起動された場合は、この限りではありません。
+警告とは、欠陥のあるプログラムのアセンブルを続行するために \c
+.B as\c
+\& が仮定した内容を報告したものです。
+エラーは、アセンブルを続行できない重大な問題を表します。
+
+.SH オプション
+.TP
+.BR \-a \||\| \-al \||\| \-as
+アセンブル時のリスト出力を行ないます。`\|\c
+.B \-al\c
+\&\|'はリスト出力のみ、`\|\c
+.B \-as\c
+\&\|'はシンボル出力のみ、
+`\|\c
+.B \-a\c
+\&\|'は両方の出力を行ないます。
+.TP
+.B \-D
+このオプションは、他のアセンブラ呼び出しとの互換のために用意され
+たものであり、 \c
+.B as\c
+\& では何の効果もありません。
+.TP
+.B \-f
+``高速 (fast)''オプションです--プリプロセシングを行ないません (ソースはコンパ
+イラの出力したものとみなします)。
+.TP
+.BI "\-I\ " path
+.I path
+を
+.B .include
+ディレクティブの検索リストに追加します。
+.TP
+.B \-k
+gcc -fpic によって作成された、位置独立なコードを処理します。
+.TP
+.B \-k
+gcc -fPIC によって作成された、位置独立なコードを処理します。
+ふつうは -k オプションと同じことです。
+.TP
+.B \-L
+`\|\c
+.B L\c
+\|' から始まるローカルシンボルを (シンボルテーブル内に) 保持します。
+.TP
+.BI "\-o\ " objfile
+.B as
+が出力するオブジェクトファイル名を指定します。
+.TP
+.B \-R
+データセクションをテキストセクション内に押し込みます。
+.TP
+.B \-v
+.B as\c
+\& のバージョンを表示します。
+.TP
+.B \-W
+警告メッセージの出力を抑制します。
+.TP
+.IR "\-\^\-" "\ |\ " "files\|.\|.\|."
+アセンブル対象のソースファイルまたは標準入力 (\c
+.BR "\-\^\-" ")\c"
+を指定します。
+.TP
+.BI \-A var
+.I
+(Intel 960 用。)
+960 アーキテクチャのどのプロセッサがターゲットかを指定します。
+.TP
+.B \-b
+.I
+(Intel 960 用)
+条件分岐の統計情報を収集するコードを追加します。
+.TP
+.B \-norelax
+.I
+(Intel 960 用。)
+ロングディスプレースメントの「比較-分岐」という命令列に対して
+変更を加えません。
+場合によってはエラーが発生します。
+.TP
+.B \-l
+.I
+(Motorola 68000 用)。
+.br
+2 ワードではなく、1 ワードの短い参照を未定義シンボルに適用します。
+.TP
+.BR "\-mc68000" "\||\|" "\-mc68010" "\||\|" "\-mc68020"
+.I
+(Motorola 68000用)。
+.br
+68000 ファミリのどのプロセッサがターゲットかを指定します
+(デフォルトは 68020)。
+
+.PP
+オプションの記述順は自由であり、ファイル名の前や後、ファイル名の
+間にも記述することができます。ファイル名の記述順は重要な意味を持ちます。
+
+`\|\c
+.B \-\^\-\c
+\|' (2つのハイフン) をファイル名に指定することで、\c
+.B as\c
+\& がアセンブルするファイルのひとつとして標準入力を明示的に指定
+できます。
+
+ハイフン
+(`\|\c
+.B \-\c
+\|') から始まるコマンドライン引数は、
+`\|\c
+.B \-\^\-\c
+\|' を除き、すべてオプションです。それぞ
+れのオプションは、\c
+.B as\c
+\&の振舞いを変更します。あるオプションが他のオプションの動作を変え
+ることはありません。
+オプションは `\|\c
+.B \-\c
+\|' に続けてひとつ以上の文字を書いて指定します; 英文字の大文字
+小文字の区別は重要です。すべてのオプションは省略可能です。
+
+`\|\c
+.B \-o\c
+\|' オプションの後には、ファイル名をひとつだけ指定します。ファイル名
+は、オプション文字の直後に記述する (古いアセンブラとの互換) 形式、または
+次のコマンド引数 (GNU 標準) として記述する形式の
+いずれでも指定することができます。
+
+つまり次の2つのコマンドラインは等価です:
+.br
+.B
+as\ \ \-o\ \ my\-object\-file.o\ \ mumble.s
+.br
+.B
+as\ \ \-omy\-object\-file.o\ \ mumble.s
+
+.SH "関連項目"
+.B
+info\c
+内の
+.RB "`\|" as "\|'"
+の項
+.B
+\&;
+.I
+Using as: The GNU Assembler\c
+\&;
+.BR gcc "(" 1 "),"
+.BR ld "(" 1 ")."
+
+.SH "歴史"
+.I as
+は、AT&T UNIX のバージョン1で初めて現れました。
+
+.SH COPYING
+Copyright (c) 1991, 1992 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
diff --git a/ja/man/man1/at.1 b/ja/man/man1/at.1
new file mode 100644
index 0000000000..c88338bf3f
--- /dev/null
+++ b/ja/man/man1/at.1
@@ -0,0 +1,262 @@
+.\" %Id: at.man,v 1.4 1995/10/05 06:18:48 joerg Exp %
+.\" jpman %Id: at.1,v 1.3 1997/08/05 18:36:01 george Stab %
+.Dd April 12, 1995
+.Dt "AT" 1
+.Os "FreeBSD 2.1"
+.Sh 名称
+.Nm at, batch, atq, atrm
+.Nd あとでジョブを実行させるためのキューの設定、確認、ジョブの削除をおこなう
+.Sh 書式
+.Nm at
+.Op Fl V
+.Op Fl q Ar queue
+.Op Fl f Ar file
+.Op Fl mldbv
+.Ar time
+.Pp
+.Nm at
+.Op Fl V
+.Fl c Ar job Op Ar job ...
+.Pp
+.Nm atq
+.Op Fl V
+.Op Fl q Ar queue
+.Op Fl v
+.Pp
+.Nm atrm
+.Op Fl V
+.Ar job
+.Op Ar job ...
+.Pp
+.Nm batch
+.Op Fl V
+.Op Fl q Ar queue
+.Op Fl f Ar file
+.Op Fl mv
+.Op Ar time
+.Sh 解説
+.Nm at
+と
+.Nm batch
+ユーティリティは、標準入力もしくは指定したファイルからコマンドを読み
+込み、あとで
+.Xr sh 1
+を使って実行します。
+.Pp
+コマンドの各機能を以下に示します:
+.Bl -tag -width indent
+.It Nm at
+コマンドを、引数で指定した時間に実行します。
+.It Nm atq
+ユーザの、実行待ち状態のジョブのリストを表示します。
+スーパーユーザが実行した場合は全員のジョブが表示されます。
+.It Nm atrm
+指定したジョブを削除します。
+.It Nm batch
+ロードアベレージが特定の値以下になったときにジョブを実行
+します。この値は、デフォルトでは 1.5 です。
+この値は
+.Nm atrun
+によって指定可能です。
+.El
+.Pp
+.Nm at
+では、様々な形式の時間を
+.Ar time
+として受け付けます。
+時刻は
+.Ar HHMM
+もしくは
+.Ar HH:MM
+の形で指定します
+(もしこの時刻が過ぎていた場合は、次の日のその時刻に設定されます)。また、
+.Nm midnight ,
+.Nm noon ,
+.Nm teatime
+(4pm) も受け付けますし、時刻の後ろに
+.Nm am
+もしくは
+.Nm pm
+をつけた時間も受け付けます。日付は、
+.Ar \%month-name day
+およびオプションの
+.Ar year
+の形で受け付けます。
+.Ar MMDDYY
+、
+.Ar MM/DD/YY
+、
+.Ar DD.MM.YY
+も受け付けます。
+日付の指定は時刻の指定の後に記述します。
+.Op Nm now
+.Nm + Ar count \%time-units
+のような形式で時間を指定することも可能です。time-units は時間の単位で、
+.Nm minutes ,
+.Nm hours ,
+.Nm days ,
+.Nm weeks
+のいずれかです。時間のサフィックスの
+.Nm today
+はジョブを今日に設定すること、
+.Nm tommorow
+はジョブを明日に設定することを意味します。
+たとえば、今から 3 日後の午後 4 時にジョブを走らせるためには
+.Nm 4PM + 3 days
+と指定します。7 月 31 日の午前 10 時の場合は
+.Nm 10am Jul 31
+と指定します。明日の午前 1 時は
+.Nm 1am tomorrow
+です。
+.Pp
+.Nm at
+と
+.Nm batch
+では、標準入力または
+.Fl f
+オプションで指定したファイルからコマンドを読み込み、実行します。
+ワーキングディレクトリと環境変数 (
+.Ev TERM ,
+.Ev TERMCAP ,
+.Ev DISPLAY
+および
+.Nm _
+は除く)、umask は実行時のものが保持されます。
+.Nm at
+もしくは
+.Nm batch
+が
+.Xr su 1
+で起動されたシェルから実行された場合は、カレントの userid を保持します。
+出力結果が得られた場合は、
+その標準出力と標準エラー出力がメールで送られます。メールは
+.Xr sendmail 8
+を使って送られます。もし
+.Nm at
+が
+.Xr su 1
+で起動されたシェルから実行された場合は、そのログインシェルのオーナが
+メールを受けることになります。
+.Pp
+スーパーユーザはどんな場合でもこれらのコマンドを実行できます。
+その他のユーザは
+.Pa /var/at/at.allow
+と
+.Pa /var/at/at.deny
+のファイルによって実行できるか決められます。
+.Pp
+もし
+.Pa /var/at/at.allow
+が存在するならば、その中にユーザ名を記述されたユーザだけが
+.Nm at
+の実行を許可されます。
+.Pp
+もし
+.Pa /var/at/at.allow
+が存在しなかったら、
+.Pa /var/at/at.deny
+がチェックされ、その中にユーザ名が記述されていないすべてのユーザが
+.Nm at
+の実行を許可されます。
+.Pp
+もし両方ともなければ、スーパーユーザだけが
+.Nm at
+を実行できます。
+これがデフォルトの設定です。
+.Pp
+空の
+.Pa /var/at/at.deny
+は全てのユーザがこれらのコマンドを使用できることを意味します。
+.Sh オプション
+オプションとしては以下のものがあります:
+.Bl -tag -width indent
+.It Fl V
+標準エラー出力にバージョン番号を出力します。
+.It Fl q Ar queue
+指定したキューを用います。キューの名称は単一の文字からなります。
+有効なキューの名前は
+.Nm a
+から
+.Nm z
+と
+.Nm A
+から
+.Nm Z
+です。
+.Nm at
+のデフォルトのキューは
+.Nm c
+で、
+.Nm batch
+のデフォルトのキューは
+.Nm E
+です。
+キューの文字が後の方であればあるほど nice 値が上がります。
+もし大文字のキューがジョブに対して指定されたならば、時間を指定して
+batch が実行されたものとして扱われます。
+もし
+.Nm atq
+でキューが指定されたときは、そのキューだけの実行待ちのジョブを表示します。
+.It Fl m
+出力がなかった場合でも、ジョブの完了時にメールをユーザに送ります。
+.It Fl f Ar file
+標準入力のかわりにファイルからジョブを読み込みます。
+.It Fl l
+.Nm atq
+のエイリアス。
+.It Fl d
+.Nm atrm
+のエイリアス。
+.It Fl b
+.Nm batch
+のエイリアス。
+.It Fl v
+atq の場合は、キューの中の実行されたがまだ削除されていないジョブを
+表示します。さもなければジョブが実行される時間を表示します。
+.It Fl c
+コマンドラインにリストされたジョブを標準出力に出力します。
+.Sh 関連ファイル
+.Bl -tag -width /var/at/jobs/.lockfile -compact
+.It Pa /var/at/jobs
+ジョブファイルを保管しておくディレクトリ
+.It Pa /var/at/spool
+出力ファイルを保管しておくディレクトリ
+.It Pa /var/run/utmp
+ログインレコード
+.It Pa /var/at/at.allow
+許可属性の設定
+.It Pa /var/at/at.deny
+不許可属性の設定
+.It Pa /var/at/jobs/.lockfile
+ジョブ作成のロックファイル
+.El
+.Sh 関連項目
+.Xr cron 8 ,
+.Xr nice 1 ,
+.Xr umask 2 ,
+.Xr sh 1 ,
+.Xr sendmail 8 ,
+.Xr atrun 8
+.Sh バグ
+.Pa /var/run/utmp
+が利用できないか不正であった場合、もしくは
+.Nm at
+が実行された時にユーザがログインしていない場合、
+メールは環境変数
+.Nm LOGNAME
+で表される userid に出されます。
+もし定義されていないか空ならばカレントの userid になります。
+.Pp
+ユーザ同士でリソースの競合がある場合は現実装の
+.Nm at
+と
+.Nm batch
+は適当ではありません。
+もしあなたのサイトがこのような場合にあてはまるのなら、
+.Nm nqs
+のようなバッチシステムを検討してください。
+.Sh 作者
+at のほとんどの部分は Thomas Koenig, ig25@rz.uni-karlsruhe.de
+によって作成されました。
+時間の構文解析部分は David Parsons, orc@pell.chi.il.us
+によって作成されました。
diff --git a/ja/man/man1/awk.1 b/ja/man/man1/awk.1
new file mode 100644
index 0000000000..704dd7b933
--- /dev/null
+++ b/ja/man/man1/awk.1
@@ -0,0 +1,1938 @@
+.\" jpman %Id: awk.1,v 1.3 1997/04/17 13:23:21 horikawa Stab %
+.ds PX \s-1POSIX\s+1
+.ds UX \s-1UNIX\s+1
+.ds AN \s-1ANSI\s+1
+.TH AWK 1 "Apr 18 1994" "Free Software Foundation" "Utility Commands"
+.SH 名称
+awk \- GNU awk パターン検索・処理言語
+.SH 書式
+.B awk
+[ POSIX or GNU style options ]
+.B \-f
+.I program-file
+[
+.B \-\^\-
+] file .\^.\^.
+.br
+.B awk
+[ POSIX or GNU style options ]
+[
+.B \-\^\-
+]
+.I program-text
+file .\^.\^.
+.SH 解説
+.I gawk
+は GNU プロジェクトが実装した プログラミング言語 AWK の処理系です。
+本処理系は \*(PX 1003.2 コマンド言語とユーティリティ規約に定められた
+言語の定義に適合しています。
+本バージョンはまた、Aho、Kernighan、Weinberger の著書『
+.I The AWK Programming Language
+』の記述にもとづいており、
+System V Release 4 \*(UX の
+.I awk
+の付加機能も含んでいます。
+.I gawk
+はまた、GNU 独自の拡張も提供します。
+.PP
+コマンドラインは、
+.I awk
+へのオプション、(もし
+.B \-f
+または
+.B \-\^\-file
+オプションにより指定されていなければ)AWK のプログラムテキスト、そして
+残りの引数列からなります。
+この残りの引数列は、定義済み AWK 変数
+.BR ARGC ,
+.B ARGV
+を用いることで参照できます。
+.SH オプション
+.PP
+.I gawk
+へのオプションは、伝統的な \*(PX 形式の一文字オプションと、GNU 形式の
+ロングオプションがあります。
+\*(PX 形式のオプションは単一の ``\-'' で始まり、一方 GNU 形式のもの
+は ``\-\^\-'' で始まります。GNU 形式のロングオプションは GNU の独自仕様と
+\*(PX の必須仕様の両方について用意されています。
+他の実装による AWK では、伝統的な一文字オプションのみを受け付けるものが
+多いようです。
+.PP
+\*(PX 標準に従い、
+.I awk
+独自仕様のオプションは
+.B \-W
+オプションへの引数で与えます。
+複数の
+.B \-W
+オプションを指定することもできますし、
+複数の引数をコンマで区切って、もしくは引用符で括り空白で区切ることで
+一度にまとめて
+.B \-W
+オプションに与えることもできます。
+.B \-W
+オプションへの引数では、大文字小文字の区別は行なわれません。後述の
+ように、各
+.B \-W
+オプションには、それに対応する GNU 形式のロングオプション
+が存在します。GNU 形式のロングオプションへの引数は、空白を入れずに
+.B =
+でつないで指定するか、その次のコマンドライン引数として渡すことができます。
+.PP
+.I gawk
+は以下のオプションを受け付けます。
+.TP
+.PD 0
+.BI \-F " fs"
+.TP
+.PD
+.BI \-\^\-field-separator= fs
+入力フィールドセパレータ(変数
+.B FS
+の値)を
+.I fs
+とします。
+.TP
+.PD 0
+\fB\-v\fI var\fB\^=\^\fIval\fR
+.TP
+.PD
+\fB\-\^\-assign=\fIvar\fB\^=\^\fIval\fR
+プログラムを実行する前に、変数
+.I var
+に値
+.I val
+を設定します。このようにして設定
+した変数は、 AWK プログラムの
+.B BEGIN
+ブロック内でも参照できます。
+.TP
+.PD 0
+.BI \-f " program-file"
+.TP
+.PD
+.BI \-\^\-file= program-file
+.B awk
+への第一引数を用いるかわりに、AWK プログラムをファイル
+.I program-file
+から読み込みます。
+.B \-f
+(または
+.B \-\^\-file
+) オプションは複数回使
+用することができます。
+.TP
+.PD 0
+.BI \-mf= NNN
+.TP
+.BI \-mr= NNN
+さまざまなメモリの制限値を
+.I NNN
+に設定します。フラグ
+.B f
+は最大フィールド数、フラグ
+.B r
+は最大レコードサイズを設定します。この2つのフラグと
+.B \-m
+オプションは、AT&T ベル研究所バージョンの \*(UX
+.I awk
+に由来しています。しかし、
+.I awk
+にはこのような制限はありませんので、
+.I awk
+では本オプションは無視されます。
+.TP \w'\fB\-\^\-copyright\fR'u+1n
+.PD 0
+.B "\-W compat"
+.TP
+.PD
+.B \-\^\-compat
+.I 互換
+モードで動作します。互換モードでは、
+.I awk
+は \*(UX
+.I awk
+と等価な動作を行い、GNU 独自拡張は解釈できません。
+詳しくは後述の
+.B "GNU 拡張"
+を参照してください。
+.TP
+.PD 0
+.B "\-W copyleft"
+.TP
+.PD 0
+.B "\-W copyright"
+.TP
+.PD 0
+.B \-\^\-copyleft
+.TP
+.PD
+.B \-\^\-copyright
+GNU の著作権表示の短いバージョンを標準エラー出力へ書き出します。
+.TP
+.PD 0
+.B "\-W help"
+.TP
+.PD 0
+.B "\-W usage"
+.TP
+.PD 0
+.B \-\^\-help
+.TP
+.PD
+.B \-\^\-usage
+短めのオプション一覧を標準エラー出力へ書き出します。GNU コーディング規約に
+従い、本オプションを指定すると
+.I awk
+はただちに終了し、成功を意味する終了ステータスを返します。
+.TP
+.PD 0
+.B "\-W lint"
+.TP
+.PD 0
+.B \-\^\-lint
+他の AWK での処理が疑わしい、あるいは他の AWK との互換性がない構造が
+ある場合に警告を行います。
+.ig
+.\" This option is left undocumented, on purpose.
+.TP
+.PD 0
+.B "\-W nostalgia"
+.TP
+.PD
+.B \-\^\-nostalgia
+長い間
+.I awk
+を使ってきたユーザのために郷愁の瞬間を提供します。
+..
+.TP
+.PD 0
+.B "\-W posix"
+.TP
+.PD
+.B \-\^\-posix
+.I 互換
+モードをオンにし、更に以下の制約が課せられます。
+.RS
+.TP \w'\(bu'u+1n
+\(bu
+.B \ex
+エスケープシーケンスを解釈しません。
+.TP
+\(bu
+キーワード
+.B function
+に対応する別名
+.B func
+を解釈しません。
+.TP
+\(bu
+演算子
+.B ^
+や
+.B ^=
+のかわりに
+.B **
+や
+.B **=
+を用いることができません。
+.RE
+.TP
+.PD 0
+.BI "\-W source=" program-text
+.TP
+.PD
+.BI \-\^\-source= program-text
+.I program-text
+を AWK プログラムとして用います。本オプションにより、ライブラリ化された関数(
+.B \-f
+または
+.B \-\^\-file
+オプションを用いて読み込む)とコマンドラインから入力されたプログラムを
+簡単に合成することができます。
+これは、主にシェルスクリプトで用いられる中規模から大規模な AWK プログラム
+のために用意されました。
+.sp .5
+.B "\-W source="
+形式においては、そのコマンドライン引数の残りの部分を
+.I program-text
+として解釈します。
+よって、同じ引数内でこれ以上
+.B \-W
+のオプション引数を続けることはできません。
+.TP
+.PD 0
+.B "\-W version"
+.TP
+.PD
+.B \-\^\-version
+実行された
+.I awk
+プログラムのバージョン情報を標準エラー出力へ書き出します。これは主に、
+あなたが使用している
+.I awk
+プログラムが Free Software Foundation が配布してい
+るプログラムのうち、最新のものであるかどうかを知る場合に便利です。本オ
+プションを指定すると、GNU コーディング規約に従い、
+.I awk
+はただちに終了し、成功を意味する終了ス
+テータスを返します。
+.TP
+.B \-\^\-
+オプションの終了を意味します。AWK に ``\-'' から始まるオプションではない
+引数を与える場合に便利です。
+これは主に、他の \*(PX プログラムの多くが引数に対して行
+う解釈と一貫性を保つためにあります。
+.PP
+互換モードでは、他のオプションは不正であるとされるか、無視されます。通
+常の実行において、プログラムテキストがコマンドラインに指定されていれば、
+不明なオプションは、AWK プログラムに
+.B ARGV
+配列を通して渡されます。これ
+は、AWK プログラムを ``#!'' 機構を用いて実行する場合に特に便利です。
+.SH AWK プログラムの実行
+.PP
+AWK プログラムは、パターンとアクションの組の列と、(もし必要なら)関数定義か
+らなります。
+.RS
+.PP
+\fIpattern\fB { \fIaction statements\fB }\fR
+.br
+\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements\fB }\fR
+.RE
+.PP
+.I gawk
+はまず、
+.I program-file
+(複数可)が指定されていればそれから、
+.B "\-W source="
+の引数から、あるいは、最初のオプションではない引数から
+プログラムを読み込みます。
+.B \-f
+と
+.B "\-W source="
+オプションは、コマンドラインで複数回指定できます。
+.I gawk
+は、すべての
+.I program-file
+とコマンドラインで指定したプログラムを結
+合して使用します。新しく作った AWK プログラム一つ一つに
+AWK 関数のライブラリを埋め込む必要が無いので、この機能はライブラリの構築に
+便利です。
+また、ライブラリ関数とコマンドラインで指定したプログラムとを混合して使
+うことも可能にしています。
+.PP
+環境変数
+.B AWKPATH
+により、
+.B \-f
+オプションで指定されたファイルを検索するパスを指定できます。
+.B AWKPATH
+が設定されていない場合のデフォルトパスは
+\fB".:/usr/lib/awk:/usr/local/lib/awk"\fR です。
+.B \-f
+オプションで指定したファイル名が ``/'' を含んでいる場合は、
+パス検索は行われません。
+.PP
+.I awk
+は、 AWK プログラムを以下の順序で実行します。
+.RS
+.TP \w'4.'u+1n
+1.
+.B \-v
+オプションで指定された変数への代入をすべて行う
+.TP
+2.
+プログラムを内部形式にコンパイルする
+.TP
+3.
+(もし存在すれば)
+.B BEGIN
+ブロック(複数存在可)を実行する
+.TP
+4.
+配列
+.B ARGV
+で指定されたファイルを順に読み、処理を行う(コマンドラインでファイル名が
+指定されていなければ、標準入力に対して処理を行う)。
+.RE
+.PP
+コマンドラインで指定されたファイル名が
+.IB var = val
+という形式ならば、それ
+は変数への代入であると解釈されます。変数
+.I var
+は値
+.I val
+に設定されます
+(これは、すべての
+.B BEGIN
+ブロックを実行したあとに行われます)。コマンドライン
+での変数の代入は、AWK が入力をフィールドやレコードに分割するためのセパレータ
+を実行時に変更するのに便利です。また、1つのデータファイルに
+対し数回処理を行う必要がある場合、状態をコントロールするのにも便利です。
+.PP
+配列
+.B ARGV
+の要素に空(\fB""\fR)がある場合、
+.I awk
+はその要素を無視します。
+.PP
+.I awk
+は、入力された各行に対してマッチする
+.I パターン
+が AWK プログラム内にあるかどうかを
+検索します。その行にマッチしたパターンすべてについて、それぞれ対応する
+.I アクション
+が実行されます。
+パターンは、プログラムテキストに出現した順序で検索されます。
+.PP
+入力がつきると、
+.I awk
+は(もしあれば)
+.B END
+ブロック(複数存在可)を実行します。
+.SH 変数とフィールド
+AWK における変数は動的、すなわち、最初に使用されたときに生成されます。
+変数の値は、浮動小数か、文字列か、あるいは両方です。変数の用い
+られ方により変化します。AWK ではまた、1次元配列を利用することができます。
+多次元配列
+も、擬似的にではありますが、利用可能です。プログラム実行開始時に、
+いくつかの定義済み変数が設定されます。
+.SS フィールド
+.PP
+入力ファイルから1行を読み込むと、
+.I awk
+はその行を
+.I フィールド
+に分割しま
+す。分割する際には、変数
+.B FS
+の値がフィールドセパレータとして参照されます。
+.B FS
+の値が1文字なら、その
+文字を境にフィールドが分割されます。1文字でないなら、
+.B FS
+は正規表現である
+と解釈されます。特殊な場合として
+.B FS
+が単一の空白のときには、フィールドは
+連続した空白とタブにより分割されます。変数
+.B IGNORECASE
+(下記参照)の
+値は、
+.B FS
+が正規表現の場合、フィールド分割にも影響を与えることに注意してください。
+.PP
+変数
+.B FIELDWIDTHS
+の値が空白で区切られた数字の列である場合、各フィールドは
+固定長であると解釈され、
+.I awk
+は指定された幅ごとにフィールドの
+分割を行います。この場合、
+.B FS
+の値は無視されます。
+.B FS
+に新たに値を設定
+することにより、この
+.B FIELDWIDTHS
+の効果を打ち消し、標準の動作に戻すことができます。
+.PP
+各フィールドの値は、左から
+.BR $1 ,
+.B $2
+等という名前で参照できます。
+.B $0
+は
+行全体です。フィールドに値を代入することもできます。フィールドは定数だ
+けでなく、変数によって参照することもできます。以下の例では、入力行の 5
+番目のフィールドの値を出力します。
+.RS
+.PP
+.ft B
+n = 5
+.br
+print $n
+.ft R
+.RE
+.PP
+変数 NF は、自動的にその行のフィールドの数に設定されます。
+.PP
+存在しないフィールド(すなわち、
+.B $NF
+より右のフィールド)を参照した結果は
+空文字列になります。しかしながら、存在しないフィールドへの代入(たとえ
+ば、
+.BR $(NF+2) = 5
+)は
+.B NF
+の値を増加させ、間のフィールドには空文字が設定されます。
+さらに
+.B $0
+の値は、フィールドの値を変数
+.B OFS
+の値で結合したものに再設定されます。
+負のフィールド番号への参照は致命的エラーとなります。
+.SS 組み込み変数
+.PP
+AWK の組込み変数は以下のとおりです。
+.PP
+.TP \w'\fBFIELDWIDTHS\fR'u+1n
+.B ARGC
+コマンドライン引数の個数(
+.I awk
+へのオプションと、プログラム指定は含みま
+せん)。
+.TP
+.B ARGIND
+現在処理中のファイル名が格納されている配列
+.B ARGV
+のインデックス。
+.TP
+.B ARGV
+コマンドライン引数の配列。配列は、 0 から
+.B ARGC
+\- 1 までのインデックスを
+持ちます。
+.B ARGV
+の内容を変更することで、入力に用いるファイル名を変
+更することができます。
+.TP
+.B CONVFMT
+数値の変換フォーマット。デフォルト値は \fB"%.6g"\fR です。
+.TP
+.B ENVIRON
+現在の環境変数の値からなる配列。配列は、環境変数名によりインデックスされ
+、各要素の値はその環境変数の値です(たとえば、環境変数
+.B HOME
+は \fBENVIRON["HOME"]\fP で参照できます)。本配列に
+代入を行っても、
+.I awk
+からリダイレクトや
+.B system()
+関数により実行される
+プログラムの環境には影響を与えません(これは、将来の
+.I awk
+では変更される可能性があります)。
+.\" but don't hold your breath...
+.TP
+.B ERRNO
+.B getline
+のリダイレクト、
+.B getline
+による読み込み、
+.B close()
+関数の実行時のいずれかにシステムエラーが発生した場合、変数
+.B ERRNO
+にはエラーの内容を示した文字列が設定されます。
+.TP
+.B FIELDWIDTHS
+空白で区切られたフィールド長のリスト。もしこの値が設定されていれば、
+.I awk
+は
+.B FS
+の値を用いてフィールド分割するかわりに、固定長のフィールド分割を行
+います。固定長のフィールド分割機能はまだ実験的なもので、
+.I awk
+が改良されるに従
+って意味が変化する可能性があります。
+.TP
+.B FILENAME
+現在の入力ファイル名。もし、コマンドラインで入力ファイルが指定されてい
+なければ、
+.B FILENAME
+の値は ``\-'' です。しかしながら、
+.B BEGIN
+ブロック内では
+.B FILENAME
+は未定義です。
+.TP
+.B FNR
+現在の入力ファイルにおける入力レコード番号。
+.TP
+.B FS
+入力フィールドセパレータ。デフォルトでは単一の空白です。
+.TP
+.B IGNORECASE
+すべての正規表現において大文字小文字の区別を制御します。もし、
+.B IGNORECASE
+が 0 でない値に設定されていれば、ルールのパターンマッチ、
+.B FS
+によるフィールド分割、
+.B ~
+と
+.B !~
+による正規表現マッチ、定義済み関数
+.BR gsub() ,
+.BR index() ,
+.BR match() ,
+.BR split() ,
+.B sub()
+において大文字と小文字の違いは無視されます。このため、
+.B IGNORECASE
+が 0 以外の
+値なら、
+.B /aB/
+は \fB"ab"\fP、\fB"aB"\fP、\fB"Ab"\fP、\fB"AB"\fP のいずれにもマッチすることになります。
+他のAWK 変数と同様に
+.B IGNORECASE
+のデフォルト値は 0 なので、通常は
+正規表現において大文字と小文字は区別されます。
+.TP
+.B NF
+現在の入力レコードのフィールド数。
+.TP
+.B NR
+現在までに読み込んだ入力レコード数の合計。
+.TP
+.B OFMT
+数字の出力フォーマット。デフォルト値は \fB"%.6g"\fR です。
+.TP
+.B OFS
+出力フィールドセパレータ。デフォルトは空白です。
+.TP
+.B ORS
+出力レコードセパレータ。デフォルトは改行です。
+.TP
+.B RS
+入力レコードセパレータ。デフォルトは改行です。
+.B RS
+は例外的な変数で、
+値の最初の1文字のみがレコード分割に用いられます(これは、将来リリースされる
+.I awk
+では変更されているかもしれません)。もし
+.B RS
+が空文字列に設定されていたなら、
+レコードは空行によって分割されます。この場合、
+.B FS
+の値が何であろうとも、改行はつねにフィールドセパレータとしての役割を
+果たします。
+.TP
+.B RSTART
+.B match()
+によりマッチした最初の文字の位置。0 はマッチしなかったことを示します。
+.TP
+.B RLENGTH
+.B match()
+によりマッチした文字列の長さ。\-1 はマッチしなかったことを示します。
+.TP
+.B SUBSEP
+多次元配列を実現する際に用いられる、配列のインデックスを結合する文字。
+デフォルト値は \fB"\e034"\fR です。
+.SS 配列
+.PP
+配列は、ブラケット
+.RB ( [
+と
+.BR ] )
+の間の式によってインデックスを指定します。もし式が式
+のリスト(式, 式, ...) なら、式の値を変数
+.B SUBSEP
+の値を区切りとして
+結合した文字列をインデックスとして用います。これにより、多次元配列を
+シミュレートしています。たとえば、
+.PP
+.RS
+.ft B
+i = "A" ;\^ j = "B" ;\^ k = "C"
+.br
+x[i, j, k] = "hello, world\en"
+.ft R
+.RE
+.PP
+は、文字列 \fB"hello, world\en"\fR を、文字列 \fB"A\e034B\e034C"\fR で
+インデックスした配列 x の要素に代入しています。
+AWK の配列はすべて、文字列によりインデックスを行う連想配列です。
+.PP
+特殊な演算子
+.B in
+を
+.B if
+または
+.B while
+ステートメントで用いることによって、あるインデックス値に
+おける配列の値が定義されているかを調べることができます。
+.PP
+.RS
+.ft B
+.nf
+if (val in array)
+ print array[val]
+.fi
+.ft
+.RE
+.PP
+もし、配列が多次元インデックスを持つなら、
+.B "(i, j) in array"
+を用います。
+.PP
+.B in
+はまた、
+.B for
+ループ中で、配列のすべてのインデックス値について繰り返すために
+用いることができます。以下の方法で、配列のすべての要素の値を表示する
+ことができます。
+.PP
+.RS
+.ft B
+.nf
+for (i in array)
+ print array[i]
+.fi
+.ft
+.RE
+.PP
+配列の要素は、
+.B delete
+ステートメントを用いて削除することができます。
+.B delete
+ステートメントはまた、
+配列全体を削除するのにも使えます。
+.SS 変数の型と変換
+.PP
+変数とフィールドは、(浮動小数の)数値または文字列、あるいは両方として
+扱われます。
+変数の値がどのように解釈されるかは、変数の使われ方によって変化します。
+数式中で用いられれば変数は数値として解釈され、文字列として用いられれ
+ば文字列として解釈されます。
+.PP
+変数の値を強制的に数値であると解釈させたい場合は、変数に 0 を加えます
+(var + 0)。文字列と解釈させたい場合は空文字列を結合します(var "")。
+.PP
+文字列を数値に変換する必要がある場合、変換は
+.IR atof (3)
+によって行われます。
+数値を文字列に変換する場合は、変数
+.B CONVFMT
+の値をフォーマット文字列として用いて、
+.IR sprintf (3)
+により行われます。AWK ではすべての数値は浮動小数ですが、整数値はつねに整数
+として変換が行われます。
+.PP
+よって、以下の場合、
+.PP
+.RS
+.ft B
+.nf
+CONVFMT = "%2.2f"
+a = 12
+b = a ""
+.fi
+.ft R
+.RE
+.PP
+変数
+.B b
+は文字列値 \fB"12"\fR となり、"12.00" とはなりません。
+.PP
+.I gawk
+は、以下のようにして比較を行います:
+2つの変数が数値なら数値として比
+較します。もし片方が数値で片方が`数値'文字列なら、数値として比較されます。
+片方が数値でない文字列なら、数値のほうが文字列に変換され、文字列として
+比較されます。両方とも文字列なら、文字列として比較されます。\*(PX 標準に従う
+なら、両方とも数値文字列の場合は数値として比較しますが、これは明ら
+かに間違いです。
+.I awk
+はそのような動作をしません。
+.PP
+初期化されていない変数は、数値としては 0 を、文字列としては空文字列を持ちます。
+.SH パターンとアクション
+awk は行指向の言語です。まずパターン、次にアクションが続きます。アクショ
+ンは
+.B {
+と
+.B }
+で囲みます。パターンまたはアクションは省略することもできます。
+もちろん、両方とも
+省略してしまっては意味がありません。
+パターンがない場合、アクションはすべての入力行に
+対して適用されます。省略されたアクションは以下と等価です。
+.RS
+.PP
+.B "{ print }"
+.RE
+.PP
+これは行全体を出力します。
+.PP
+コメントは ``#'' で始まり、行末まで続きます。空行は、複数ステートメントの
+間をあけるのに使うことができます。
+通常、ステートメントは改行で終わります。ただし、
+以下の記号で行が終わる場合にはこの限りではありません:
+``,'', ``{'', ``?'', ``:'',
+``&&'', ``||''。
+.B do
+または
+.B else
+で終わる行は、ステートメントが自動的に以降
+の行へ継続されます。また、改行の直前に ``\e'' を置くことで、
+行を継続することができます。この場合、その改行は無視されます。
+.PP
+``;'' で区切ることにより、1行に複数のステートメントを記述することができ
+ます。アクション部におけるステートメントだけではなく、
+パターンとアクションの対自体も ``;'' で区切って複数置くことができます。
+.SS パターン
+AWK のパターンは、以下のうちのいずれかです。
+.PP
+.RS
+.nf
+.B BEGIN
+.B END
+.BI / "regular expression" /
+.I "relational expression"
+.IB pattern " && " pattern
+.IB pattern " || " pattern
+.IB pattern " ? " pattern " : " pattern
+.BI ( pattern )
+.BI ! " pattern"
+.IB pattern1 ", " pattern2
+.fi
+.RE
+.PP
+.B BEGIN
+と
+.B END
+は特殊なパターンであり、入力と比較されることはありません。すべての
+.B BEGIN
+パターンに対応したアクション部は結合されます。結合されたアクションは
+すべての入力ファイルの読み込みに先立って実行されます。同様にすべての
+.B END
+ブロックは結合され、すべての入力ファイルの処理後(あるいは、exit ステートメント
+が実行されたとき)に実行されます。
+.B BEGIN
+と
+.B END
+はパターン式内で他のパターンと混ぜて使うことはできません。また、
+.B BEGIN
+と
+.B END
+パターンはアクション部を省略することができません。
+.PP
+.BI / "regular expression" /
+パターンでは、正規表現にマッチした入力行に対してアクション
+が実行されます。正規表現は
+.IR egrep (1)
+と同じものが使えます。あとに要約を示します。
+.PP
+関係式では、後述のアクションについての節で示す演算子を用いることが
+できます。
+これらは概して、特定のフィールドが正規表現にマッチするかどうかを
+調べるために用いられます
+($2 ~ /foo/ 等)。
+.PP
+演算子
+.BR && ,
+.BR || ,
+.B !
+は、それぞれ C 言語での論理AND、論理OR、論理NOT と等価です。
+C 言語と同様に、評価値が確定した時点で以降の評価を打ち切ります。
+これらは複数のパターン式を結合するために使用されます。
+他のプログラミング言語と同様、括弧によって評価順序を変更することができます。
+.PP
+?\^: 演算子は C 言語のものと同様です。もし、最初のパターンが真なら、
+テストのために 2 番目のパターンが用いられ、そうでなければ 3 番目のパターンが
+用いられます。2 番目と 3 番目のパターンのどちらかだけが評価されます。
+.PP
+.IB pattern1 ", " pattern2
+形式は
+.I 範囲パターン
+と呼ばれます。範囲パターンは、
+.I pattern1
+にマッチするレコードから、
+.I pattern2
+にマッチする行レコードまでのすべてにマッチします。
+この形式は、他のパターン式と混合して用いることはできません。
+.SS 正規表現
+awk の正規表現は
+.I egrep
+のものと同様に、拡張された正規表現です。
+以下の構成要素から成り立っています。
+.TP \w'\fB[^\fIabc...\fB]\fR'u+2n
+.I c
+メタ文字ではない
+.I c
+にマッチする。
+.TP
+.I \ec
+リテラル文字
+.I c
+にマッチする。
+.TP
+.B .
+改行以外の任意の一文字にマッチする。
+.TP
+.B ^
+行頭、または文字列の先頭にマッチする。
+.TP
+.B $
+行末、または文字列の終端にマッチする。
+.TP
+.BI [ abc... ]
+abc... のいずれか一文字にマッチする(文字クラス)。
+.TP
+.BI [^ abc... ]
+abc... と改行を除く任意の一文字にマッチする(否定文字クラス)。
+.TP
+.IB r1 | r2
+.I r1
+または
+.I r2
+にマッチする(選言)。
+.TP
+.I r1r2
+.I r1
+の直後に
+.I r2
+が続くものにマッチする(結合)。
+.TP
+.IB r +
+.I r
+の 1 回以上の繰り返しにマッチする。
+.TP
+.IB r *
+.I r
+の 0 回以上の繰り返しにマッチする。
+.TP
+.IB r ?
+.I r
+の 0 回または 1 回の繰り返しにマッチする。
+.TP
+.BI ( r )
+.I r
+にマッチする(グループ化)。
+.PP
+文字列定数中で用いることができるエスケープシーケンス(後述参照)は、
+正規表現中でも使用することができます。
+.SS アクション
+アクションは、ブレース
+.B {
+と
+.B }
+で囲みます。アクションは通常の代入、条件文、
+ループ文等からなります。演算子、制御文、入出力文は C 言語とほぼ同様です。
+.SS 演算子
+.PP
+AWK での演算子を、優先順位の低いものから順に示します。
+.PP
+.TP "\w'\fB*= /= %= ^=\fR'u+1n"
+.PD 0
+.B "= += \-="
+.TP
+.PD
+.B "*= /= %= ^="
+代入。絶対的な代入
+.BI ( var " = " value )
+と演算子代入(その他の形式)がサポートされています。
+.TP
+.B ?:
+C 言語の条件式と同様です。
+.IB expr1 " ? " expr2 " : " expr3\c
+の形式で使います。もし
+.I expr1
+が真なら式の値は
+.I expr2
+になり、そうでなければ
+.I expr3
+になります。
+.I expr2
+か
+.I expr3
+のうち片方のみが評価されます。
+.TP
+.B ||
+論理 OR。
+.TP
+.B &&
+論理 AND。
+.TP
+.B "~ !~"
+正規表現マッチ、否定のマッチ。
+.B 注意:
+.B ~
+と
+.B !~
+の左辺に正規表現定数
+.RB ( /foo/ 等)
+を用いてはいけません。正
+規表現定数は右辺にのみ置くことができます。式
+.BI "/foo/ ~ " exp
+は
+\fB(($0 ~ /foo/) ~ \fIexp\fB)\fR と等価であり、これは通常意図するものとは異なります。
+.TP
+.PD 0
+.B "< >"
+.TP
+.PD 0
+.B "<= >="
+.TP
+.PD
+.B "!= =="
+通常の関係演算子。
+.TP
+.I blank
+文字列の結合。
+.TP
+.B "+ \-"
+加算、減算。
+.TP
+.B "* / %"
+乗算、除算、剰余。
+.TP
+.B "+ \- !"
+単項プラス、単項マイナス、論理否定。
+.TP
+.B ^
+べき乗(\fB**\fR も同様の意味で使用できる。また \fB**=\fR 代入演算子も存在する)。
+.TP
+.B "++ \-\^\-"
+インクリメント、デクリメント。前置も後置も可能。
+.TP
+.B $
+フィールド参照
+.SS 制御ステートメント
+.PP
+制御ステートメントは以下のとおりです。
+.PP
+.RS
+.nf
+\fBif (\fIcondition\fB) \fIstatement\fR [ \fBelse\fI statement \fR]
+\fBwhile (\fIcondition\fB) \fIstatement \fR
+\fBdo \fIstatement \fBwhile (\fIcondition\fB)\fR
+\fBfor (\fIexpr1\fB; \fIexpr2\fB; \fIexpr3\fB) \fIstatement\fR
+\fBfor (\fIvar \fBin\fI array\fB) \fIstatement\fR
+\fBbreak\fR
+\fBcontinue\fR
+\fBdelete \fIarray\^\fB[\^\fIindex\^\fB]\fR
+\fBdelete \fIarray\^\fR
+\fBexit\fR [ \fIexpression\fR ]
+\fB{ \fIstatements \fB}
+.fi
+.RE
+.SS 入出力ステートメント
+.PP
+入出力ステートメントは以下のとおりです。
+.PP
+.TP "\w'\fBprintf \fI書式, 式の列\fR'u+1n"
+.BI close( filename )
+ファイルまたはパイプ(下記参照)をクローズします。
+.TP
+.B getline
+次のレコードを
+.B $0
+に読み込みます。
+.BR NF ,
+.BR NR ,
+.B FNR
+が設定されます。
+.TP
+.BI "getline <" file
+ファイル
+.I file
+から次のレコードを
+.B $0
+に読み込みます。
+.B NF
+が設定されます。
+.TP
+.BI getline " var"
+次のレコードを変数
+.I var
+に読み込みます。
+.BR NF ,
+.B FNR
+が設定されます。
+.TP
+.BI getline " var" " <" file
+ファイル
+.I file
+から次のレコードを変数
+.I var
+に読み込みます。
+.TP
+.B next
+現在のレコードに対する処理を終了し、次のレコードを読み込み、AWK プログ
+ラムの最初のパターンから処理を開始します。
+C 言語の continue と類似した意味を持ちます。
+もし、入力データの終端に達した場合、
+.B END
+ブロックが存在すれば実行されます。
+.TP
+.B "next file"
+現在の入力ファイルに対する処理を終了し、次の入力ファイルからレコードを
+読み込みます。
+.B FILENAME
+が更新され、
+.B FNR
+が 1 にリセットされ、AWK プログラムの
+最初のパターンから処理が開始されます。入力データの終端に達したときは、
+もし存在すれば、
+.B END
+ブロックが実行されます。
+.TP
+.B print
+現在のレコードを出力します。
+.TP
+.BI print " expr-list"
+式を出力します。各式は
+.B OFS
+の値で区切られます。出力されるレコードの最後に
+は
+.B ORS
+の値が付加されます。
+.TP
+.BI print " expr-list" " >" file
+式をファイル
+.I file
+に出力します。各式は
+.B OFS
+の値で区切られます。出力されるレコードの
+最後には
+.B ORS
+の値が付加されます。
+.TP
+.BI printf " fmt, expr-list"
+書式付き出力です。
+.TP
+.BI printf " fmt, expr-list" " >" file
+ファイル
+.I file
+への書式付き出力です。
+.TP
+.BI system( cmd-line )
+コマンド
+.I cmd-line
+を実行し、終了ステータスを返します(\*(PX に対応しない
+システムでは使用できない場合があります)。
+.PP
+その他の形式のリダイレクトとして以下のものが利用可能です。
+.B print
+と
+.B printf
+に対して、
+.BI >> file
+を指定すると出力はファイル
+.I file
+に追加され、
+.BI | " command"
+は出力をパイプに対して行います。同様に、
+.IB command "| getline"
+はコマンドの出力から
+.B getline
+を行ないます。
+.B getline
+はファイル終端では 0 を、エラー時には \-1 を返します。
+.SS \fIprintf\fP\^ ステートメント
+.PP
+AWK での
+.B printf
+ステートメントと
+.B sprintf()
+関数(後述参照)は、以下の変換指定書式を受け付けることができます。
+.TP
+.B %c
+1つの \s-1ASCII\s+1 文字。
+.B %c
+に対応する引数が数値なら、その値を \s-1ASCII\s+1 コードとみなし
+て文字に変換します。そうでなければ、引数は文字列であると解釈され、その1
+文字目が出力されます。
+.TP
+.B %d
+10進数(整数部分)。
+.TP
+.B %i
+.B %d
+と同じです。
+.TP
+.B %e
+.B [-]d.ddddddE[+-]dd
+という形式の浮動小数。
+.TP
+.B %f
+.B [-]ddd.dddddd
+という形式の浮動小数。
+.TP
+.B %g
+.B %e
+と
+.B %f
+の短い方の形式の浮動小数。余計な 0 は省略されます。
+.TP
+.B %o
+符号なしの 8 進数(整数)。
+.TP
+.B %s
+文字列。
+.TP
+.B %x
+符号なしの 16 進数(整数)。
+.TP
+.B %X
+.B %x
+と同様。ただし、
+.B abcdef
+のかわりに
+.B ABCDEF
+を用います。
+.TP
+.B %%
+単一の文字
+.B %
+。引数は使用しません。
+.PP
+.B %
+と上記のコントロール文字との間にオプショナルな追加のパラメータを置く
+ことができます。以下にそれらを示します。
+.TP
+.B \-
+左寄せ。
+.TP
+.I width
+フィールドが指定した幅
+.I width
+になるように拡張されます。もし、
+.I width
+が 0 で始まる数値の場合、
+フィールドは 0 によって拡張されます。さもなければ、空白で拡張されます。
+これは数値ではない出力に対しても適用できます。
+.TP
+.BI . prec
+文字列の最大長、または、小数点以下の桁数を指定します。
+.PP
+\*(AN C の
+.B printf()
+の動的な幅
+.I width
+と精度
+.I prec
+の指定機能が使用できます。幅または精
+度の指定部分に
+.B *
+を指定することで、その値を
+.B printf
+または
+.B sprintf()
+への引数で指定できます。
+.SS 特殊ファイル名
+.PP
+入出力リダイレクトを行う場合、
+.I awk
+が内部で解釈する特殊なファイル名があります。
+これらのファイル名により、親プロセス(通常はシェルです)から受け継いだ
+ファイルディスクリプタを用いて入出力を行ったり、実行中の
+.I awk
+プロセスに関する情報を得ることができます。
+特殊ファイル名は以下のとおりです。
+.TP \w'\fB/dev/stdout\fR'u+1n
+.B /dev/pid
+現在の
+.I awk
+プロセスのプロセスID(10進数で、最後に改行が付きます)を
+読み込むことができます。
+.TP
+.B /dev/ppid
+親プロセスのプロセスID(10進数で、最後に改行が付きます)を
+読み込むことができます。
+.TP
+.B /dev/pgrpid
+現在の awk プロセスのプロセスグループ ID(10進数で、最後に改行が付きます)
+を読み込むことができます。
+.TP
+.B /dev/user
+このファイルを読むことで、改行で終わる単一のレコードが得られます。
+各フィールドは空白で区切られています。
+.B $1
+は
+.IR getuid (2)
+システムコールの値、
+.B $2
+は
+.IR geteuid (2)
+システムコールの値、
+.B $3
+は
+.IR getgid (2)
+システムコールの値、$4
+は
+.IR getegid (2)
+システムコールの値です。もし、さらにフィールドがあれば、
+それは
+.IR getgroups (2)
+システムコールが返すグループ ID のリストです。
+全てのシステムで複数のグループがサポートされているわけではありません。
+.TP
+.B /dev/stdin
+標準入力。
+.TP
+.B /dev/stdout
+標準出力。
+.TP
+.B /dev/stderr
+標準エラー出力。
+.TP
+.BI /dev/fd/\^ n
+オープンされたファイルディスクリプタ
+.I n
+に対応しているファイル。
+.PP
+エラーメッセージを出力するには、以下の方法が便利です。
+.PP
+.RS
+.ft B
+print "You blew it!" > "/dev/stderr"
+.ft R
+.RE
+.PP
+もしこの機能が無かったら、次のようにするしかないところです。
+.PP
+.RS
+.ft B
+print "You blew it!" | "cat 1>&2"
+.ft R
+.RE
+.PP
+これらのファイル名は、コマンドラインのデータファイル指定で使うこともできます。
+.SS 数値関数
+.PP
+AWK は以下の定義済み数値関数を持っています。
+.PP
+.TP \w'\fBsrand(\^\fIexpr\^\fB)\fR'u+1n
+.BI atan2( y , " x" )
+.I y/x
+の逆正接(ラジアン単位)。
+.TP
+.BI cos( expr )
+余弦(与える値はラジアン)。
+.TP
+.BI exp( expr )
+指数関数。
+.TP
+.BI int( expr )
+整数への切捨て。
+.TP
+.BI log( expr )
+自然対数。
+.TP
+.B rand()
+0 から 1 の間の乱数。
+.TP
+.BI sin( expr )
+正弦(与える値はラジアン)。
+.TP
+.BI sqrt( expr )
+平方根。
+.TP
+.BI srand( expr )
+式
+.I expr
+の値を乱数生成関数の種として用います。式が指定されなかった場合は、
+時刻が用いられます。直前の種の値を返します。
+.SS 文字列関数
+.PP
+AWK は以下の定義済み文字列関数を持っています。
+.PP
+.TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
+\fBgsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR
+文字列
+.I t
+中で正規表現
+.I r
+にマッチした部分をすべて
+.I s
+に置換します。置換の個数を返します。
+.I t
+を指定しなかった場合は
+.B $0
+が用いられます。
+.TP
+.BI index( s , " t" )
+文字列
+.I s
+中に含まれる文字列
+.I t
+の位置を返します。
+.I t
+が含まれていない場合は 0 を返します。
+.TP
+.BI length( s )
+文字列
+.I s
+の長さを返します。
+.I s を指定しなかった場合には
+.B $0
+の長さを返します。
+.TP
+.BI match( s , " r" )
+文字列
+.I s
+中で正規表現
+.I r
+にマッチする位置を返します。マッチしない場合は 0 を
+返します。
+.B RSTART
+と
+.B RLENGTH
+の値が設定されます。
+.TP
+\fBsplit(\fIs\fB, \fIa\fB, \fIr\fB)\fR
+文字列
+.I s
+を正規表現
+.I r
+を用いて分割し、配列
+.I a
+に格納します。
+フィールド数を返します。
+.I r
+が省略され
+た場合は
+.B FS
+が用いられます。配列
+.I a
+の内容は、分割前にクリアされます。
+.TP
+.BI sprintf( fmt , " expr-list" )
+書式
+.I fmt
+に従って
+.I exp-list
+を整形表示し、結果の文字列を返します。
+.TP
+\fBsub(\fIr\fB, \fIs\fB, \fIt\fB)\fR
+.B gsub()
+と似てますが、最初にマッチした文字列のみが置換されます。
+.TP
+\fBsubstr(\fIs\fB, \fIi\fB, \fIn\fB)\fR
+文字列
+.I s
+の
+.I i
+文字目から始まる
+.I n
+文字の部分文字列を返します。
+.I n
+が省略された場合、
+.I i
+文字目以降の部分文字列が返されます。
+.TP
+.BI tolower( str )
+文字列
+.I str
+をコピーし、大文字をすべて小文字に変換したものを返します。
+アルファベットでない文字は変化しません。
+.TP
+.BI toupper( str )
+文字列
+.I str
+をコピーし、小文字をすべて大文字に変換したものを返します。
+アルファベットでない文字は変化しません。
+.SS 時間関数
+.PP
+タイムスタンプを含んだログファイルの処理は
+AWK プログラムの主な使い道の1つですから、
+.I awk
+はタイムスタンプを取り出したり、フォーマット
+するための 2 つの関数を提供します。
+.PP
+.TP "\w'\fBsystime()\fR'u+1n"
+.B systime()
+エポックからの経過秒数を返します
+(\*(PX システムでは、エポックは UTC で 1970 年 1 月 1 日 0:00 です)。
+.TP
+\fBstrftime(\fIformat\fR, \fItimestamp\fB)\fR
+書式
+.I format
+に従って
+.I timestamp
+をフォーマットします。
+.I timestamp
+は
+.B systime()
+が返す値と同じ形式でなければなりません。
+.I timestamp
+が省略された
+場合、現在の
+.B systime()
+の値が用いられます。利用可能なフォーマットにつ
+いては、\*(AN C の
+.B strftime()
+関数の仕様を参照して下さい。パブリックドメイン
+な
+.IR strftime (3)
+とそのマニュアルページが
+.I awk
+とともに配布されています。もし、
+.I awk
+を作成するためにその
+.B strftime
+を用いた場合は、そのマニュアルに記述さ
+れている変換書式が
+.I awk
+でも利用可能です。
+.SS 文字列定数
+.PP
+AWK での文字列定数は、ダブルクォート(\fB"\fR)に狭まれた文字の列です。
+文字列内では、C 言語のようにいくつかの
+.I エスケープシーケンス
+が使えます。
+.PP
+.TP \w'\fB\e\^\fIddd\fR'u+1n
+.B \e\e
+バックスラッシュそのもの。
+.TP
+.B \ea
+「警告」文字。通常は \s-1ASCII\s+1 \s-1BEL\s+1 文字です。
+.TP
+.B \eb
+バックスペース。
+.TP
+.B \ef
+改ページ。
+.TP
+.B \en
+改行。
+.TP
+.B \er
+復帰(キャリッジリターン)。
+.TP
+.B \et
+水平タブ。
+.TP
+.B \ev
+垂直タブ。
+.TP
+.BI \ex "\^hex digits"
+.B \ex
+に続く 16 進数で表現された文字。\*(AN C と同様に、
+.B \ex
+に続くすべての 16 進数字
+はエスケープシーケンスの一部であるとみなされます。
+(この機能によりコミッティによる言語デザインが分かります。)
+たとえば、\fB"\ex1B"\fR は
+\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。
+.TP
+.BI \e ddd
+1桁か2桁か3桁の 8 進数で表現された文字。たとえば、 \fB"\e033"\fR は
+\s-1ASCII\s+1 \s-1ESC\s+1 (エスケープ) 文字です。
+.TP
+.BI \e c
+文字 c そのもの。
+.PP
+エスケープシーケンスは正規表現定数内でも用いることができます(たとえば、
+.B "/[\ \et\ef\en\er\ev]/"
+は空白文字にマッチします)。
+.SH 関数
+AWK では関数を以下のようにして定義します。
+.PP
+.RS
+\fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements \fB}\fR
+.RE
+.PP
+関数は、アクション部から呼び出されたときに実行されます。
+関数呼び出しにおいて与えられた実引数が、関数宣言における仮引数に
+受け渡されます。
+このとき配列の場合は参照渡しが行われ、他の変数の場合は値渡しで行われます。
+.PP
+元々 AWK に関数は備わっていませんでしたので、局所変数の機構はあまり
+スマートではありません。
+局所変数は引数リストの余分な引数として宣言します。局所変数と関
+数引数を区別するため、余分な空白で区切るのが慣習です。たとえば、以下のよ
+うにします。
+.PP
+.RS
+.ft B
+.nf
+function f(p, q, a, b) { # a と b は局所変数
+ ..... }
+
+/abc/ { ... ; f(1, 2) ; ... }
+.fi
+.ft R
+.RE
+.PP
+関数呼び出しにおける左括弧は、空白を狭まずに関数名の直後に
+置かなければいけません。
+これは、文字列結合演算子との曖昧さを生じさせないために必要です。
+この制限は、上述の組み込み関数にはあてはまりません。
+.PP
+関数は、他の関数を呼び出したり、自分自身を再帰的に呼び出すことができます。
+局所変数として用いられる関数引数は、関数起動時に空文字列および 0
+に初期化されます。
+.PP
+.B function
+のかわりに
+.B func
+を用いることができます。
+.SH 例
+.nf
+``/etc/passwd'' から全ユーザのログイン名を取り出し、ソートして出力する。
+
+.ft B
+ BEGIN { FS = ":" }
+ { print $1 | "sort" }
+
+.ft R
+ファイルの行数を数える。
+
+.ft B
+ { nlines++ }
+ END { print nlines }
+
+.ft R
+行番号をつける。
+
+.ft B
+ { print FNR, $0 }
+
+.ft R
+全ファイルを通した行番号をつける。
+
+.ft B
+ { print NR, $0 }
+.ft R
+.fi
+.SH 関連項目
+.IR egrep (1),
+.IR getpid (2),
+.IR getppid (2),
+.IR getpgrp (2),
+.IR getuid (2),
+.IR geteuid (2),
+.IR getgid (2),
+.IR getegid (2),
+.IR getgroups (2)
+.PP
+.IR "The AWK Programming Language" ,
+Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger,
+Addison-Wesley, 1988. ISBN 0-201-07981-X.
+.PP
+.IR "The AWK Manual" ,
+Edition 0.15, published by the Free Software Foundation, 1993.
+.SH POSIX 互換
+.I awk
+は最新版の \*(UX
+.I awk
+との互換性だけでなく、\*(PX 標準との互換性も追求しています。
+このため
+.I awk
+には以下のような機能が取り入れられています。
+これらの機能は AWK 本には述べられていませんが、
+System V Release 4 および \*(PX 標準の
+.I awk
+が有している機能です。
+.PP
+プログラム実行前に変数代入を行なう
+.B \-v
+オプションは新しい物です。
+AWK 本によれば、コマンドラインで指定された変数代入は
+.I awk
+が引数をファイル名としてオープンする際に行なわれることになります。つまり
+これは
+.B BEGIN
+ブロックの実行後です。しかしながら初期の頃の実装では、引数の中でファイル名に
+先立って変数代入が指定されている場合には、代入は
+.B BEGIN
+ブロック実行の
+.I 前に
+行われていました。そしてアプリケーションは、この「仕様」に依存する
+ようになりました。
+.I awk
+がそのドキュメントに合うように直された時、昔の動作に依存している
+アプリケーションの便宜を図るためにこのオプションが加えられました。
+(この仕様は AT&T および GNU の開発者達によって合意されました。)
+.PP
+独自機能のための
+.B \-W
+オプションは \*(PX 標準に従ったものです。
+.PP
+引数の列に特別なオプション ``\fB\-\^\-\fP'' を指定すると、
+.I awk
+はそこがオプションの終わりであると解釈します。
+互換モードにおいては未定義オプションは警告が出力され、それ以外のものは
+無視されます。
+通常の実行においては残りの引数は AWK プログラムに引き渡されます。
+.PP
+AWK 本は
+.B srand()
+の返り値を定義していません。
+System V Release 4 版の \*(UX
+.I awk
+(と \*(PX 標準)
+では、その関数が使っている種を返します。
+したがって
+.I awk
+における
+.B srand()
+も現在の種を返すようにしてあります。
+.PP
+その他にも以下のような新機能があります。
+.B \-f
+オプションの複数回使用 (MKS
+.IR awk に倣いました);
+.B ENVIRON
+配列;
+エスケープシーケンス
+.B \ea
+と
+.B \ev
+(
+.I awk
+で最初に実装され、AT&T の
+.I awk
+にフィードバックされました);
+組み込み関数
+.B tolower()
+と
+.B toupper()
+(AT&T に倣いました);
+.B printf
+における \*(AN C 変換指定
+(AT&T 版で最初に実装されました)。
+.SH GNU 拡張
+.I gawk
+は \*(PX
+.I awk
+に対していくつかの拡張が行なわれています。
+この節ではそれらについて解説します。
+.B "\-W compat"
+オプション付きで
+.I awk
+を起動することによって、
+ここで述べられている拡張機能をすべて禁止することができます。
+.PP
+.I awk
+が持つ以下の機能は
+\*(PX
+.I awk
+では使用できません。
+.RS
+.TP \w'\(bu'u+1n
+\(bu
+エスケープシーケンス
+.B \ex
+。
+.TP
+\(bu
+関数
+.B systime()
+および
+.B strftime()
+。
+.TP
+\(bu
+入出力リダイレクトで利用可能な特殊ファイル名。
+.TP
+\(bu
+変数
+.B ARGIND
+および
+.B ERRNO
+は特殊変数ではありません。
+.TP
+\(bu
+変数
+.B IGNORECASE
+とその副作用は利用できません。
+.TP
+\(bu
+変数
+.B FIELDWIDTHS
+と固定長フィールド分割。
+.TP
+\(bu
+.B \-f
+オプションで指定されたファイル名について行われるパス検索。
+よって、環境変数
+.B AWKPATH
+は特殊な変数ではありません。
+.TP
+\(bu
+現在の入力ファイルに対する処理を終わらせるために使用される
+.B "next file"
+。
+.TP
+\(bu
+配列全体を削除するために使用される
+.BI delete " 配列"
+。
+.RE
+.PP
+AWK 本は関数
+.B close()
+の返り値を定義していません。
+.I gawk
+の
+.B close()
+は、ファイルやパイプをクローズする際に呼び出す
+.IR fclose (3)、
+や
+.IR pclose (3)、
+からの返り値を返します。
+.PP
+オプション
+.B "\-W compat"
+付きで
+.I awk
+を起動し
+.B \-F
+オプションへの引数
+.I fs
+として ``t'' を与えた場合に、
+.B FS
+の値はタブ文字に設定されます。
+これは少々見苦しい特殊事例ですので、デフォルトの動作としては
+採用されていません。
+.B "\-W posix"
+を指定した場合にも、この動作は行なわれません。
+.ig
+.PP
+If
+.I awk
+was compiled for debugging, it will
+accept the following additional options:
+.TP
+.PD 0
+.B \-Wparsedebug
+.TP
+.PD
+.B \-\^\-parsedebug
+Turn on
+.IR yacc (1)
+or
+.IR bison (1)
+debugging output during program parsing.
+This option should only be of interest to the
+.I awk
+maintainers, and may not even be compiled into
+.IR awk .
+..
+.SH 歴史的機能
+.I awk
+は歴代の AWK の実装にあった二つの機能を備えています。
+一つめとして、組み込み関数
+.B length()
+は引数無しで呼び出せるだけでなく、さらに括弧無しでも呼び出せます!
+したがって
+.RS
+.PP
+.ft B
+a = length
+.ft R
+.RE
+.PP
+は以下の2例と同じです。
+.RS
+.PP
+.ft B
+a = length()
+.br
+a = length($0)
+.ft R
+.RE
+.PP
+\*(PX 標準ではこの機能は ``deprecated'' と注意書きされており、
+.I awk
+ではコマンドラインで
+.B "\-W lint"
+を指定した場合に、この機能の使用に対して警告を出力します。
+.PP
+もう一つは、
+.BR while 、
+.BR for 、
+.B do
+ループ本体の外でも
+.B continue
+ステートメントを使用できるという機能です。
+伝統的な AWK の実装では、このように使用した
+.B continue
+ステートメントを
+.B next
+ステートメントと等価なものとして扱ってきました。
+.I gawk
+では
+.B "\-W posix"
+が指定されていない場合に、この機能を使うことができます。
+.SH 環境変数
+環境に
+.B POSIXLY_CORRECT
+が存在する場合には、
+.I awk
+はコマンドラインで
+.B \-\-posix
+が指定されている時と全く同じ動作をします。
+このとき
+.B \-\-lint
+が指定されていると
+.I awk
+はこの作用についての警告メッセージを出力します。
+.SH バグ
+コマンドラインでの変数代入機能を使用するには、変数への代入を直接
+コマンドラインに書けばよく、
+.B \-F
+オプションをつける必要はありません。
+このオプションは昔の
+.I awk
+との互換性のためだけに残されています。
+.PP
+ファイル
+.B /dev/fd
+および
+.BR /dev/stdin 、
+.BR /dev/stdout 、
+.B /dev/stderr
+を実際にサポートしているシステムでの
+.I awk
+からは、それらがないシステムとは違った出力が得られるかもしれません。
+.I awk
+はそれらのファイルを内部で解釈する際に標準出力への出力を
+.B /dev/stdout
+への出力と同期させますが、それらのファイルを持つシステムでは
+出力はそれぞれ異なるファイルへ向けられます。
+利用者の方で気を付けるようにしてください(Caveat Emptor)。
+.SH バージョン情報
+このマニュアルは
+.I awk
+バージョン 2.15 について書かれています。
+.PP
+バージョン 2.11 にあったオプション
+.BR \-c 、
+.BR \-V 、
+.BR \-C 、
+.ig
+.BR \-D 、
+..
+.BR \-a 、
+.B \-e
+は、バージョン 2.15 以降では使用できません。
+バージョン 2.16 のマニュアルでは、この事実の記述さえ無くなるでしょう。
+.SH 作者
+\*(UX
+.I awk
+の最初のバージョンは、AT&T ベル研究所の Alfred Aho と
+Peter Weinberger および Brian Kernighan によって設計、実装されました。
+Brian Kernighan はその保守と改良を続けています。
+.PP
+Free Software Foundation の Paul Rubin と Jay Fenlason
+が、Seventh Edition \*(UX で配布された最初のバージョンの
+.I awk
+と互換性を持つように
+.I gawk
+を書きました。
+John Woods は数々のバグ修正を送って下さいました。
+David Trueman は、Arnold Robbins が送って下さった内容をもとに、
+.I gawk
+を新バージョンの \*(UX
+.I awk
+互換にしました。
+.PP
+DOS への最初の移植は Conrad Kwok と Scott Garfinkle によって
+行なわれました。
+現在は Scott Deifik が DOS 版の保守をしています。
+Pat Rankin は VMS への移植を行ない、Michal Jaegermann は Atari ST への
+移植を行ないました。
+OS/2 への移植は Kai Uwe Rommel が Darrel Hankerson の助けを借りて
+行ないました。
+.SH 謝辞
+ベル研究所の Brian Kernighan はテストおよびデバッグの間、貴重な助力を
+提供して下さいました。
+感謝致します。
diff --git a/ja/man/man1/basename.1 b/ja/man/man1/basename.1
new file mode 100644
index 0000000000..2f6a8910c4
--- /dev/null
+++ b/ja/man/man1/basename.1
@@ -0,0 +1,99 @@
+.\" Copyright (c) 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)basename.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: basename.1,v 1.2 1997/03/26 15:20:48 jsakai Stab %
+.\" %Id: basename.1,v 1.2 1996/09/23 22:24:09 wosch Exp %
+.\"
+.Dd April 18, 1994
+.Dt BASENAME 1
+.Os
+.Sh 名称
+.Nm basename , dirname
+.Nd 指定したパスのファイル名部分やディレクトリ名部分を返す
+.Sh 書式
+.Nm basename
+.Ar string
+.Op Ar suffix
+.br
+.Nm dirname
+.Ar string
+.Sh 解説
+.Nm basename
+は
+.Ar string
+から最後の
+.Ql \&/
+までを
+削除し、
+.Ar suffix
+が指定された場合はこれも削除します。
+そして、その結果得られるファイル名を標準出力に書き出します。
+もし、
+.Ar string
+がスラッシュ
+.Ql /
+で終っているか、あるいは
+.Ar suffix
+引数と同じであった場合には、改行を出力します。
+存在しない
+.Ar suffix
+は無視します。
+.Pp
+.Nm dirname
+は
+.Ar string
+中の最後の
+.Ql \&/
+から最後尾までをファイル名とみなしてこの部分を削除し、
+残りを標準出力に書き出します。
+.Sh 使用例
+次の行は、シェル変数 FOO に /usr/bin を設定するものです。
+.Pp
+.Dl FOO=`dirname /usr/bin/trail`
+.Pp
+.Nm basename
+および
+.Nm dirname
+は共に、成功した場合は 0 を、
+エラーが起きた場合は 0 より大きな値を返します。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr sh 1
+.Sh 規格
+.Nm basename
+および
+.Nm dirname
+の機能は、POSIX 1003.2 準拠であると思われます。
+
diff --git a/ja/man/man1/bc.1 b/ja/man/man1/bc.1
new file mode 100644
index 0000000000..c1f9c36b08
--- /dev/null
+++ b/ja/man/man1/bc.1
@@ -0,0 +1,740 @@
+.\"
+.\" bc.1 - the *roff document processor source for the bc manual
+.\"
+.\" This file is part of bc written initially for MINIX.
+.\" Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License , or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; see the file COPYING. If not, write to
+.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"
+.\" You may contact the author by:
+.\" e-mail: phil@cs.wwu.edu
+.\" us-mail: Philip A. Nelson
+.\" Computer Science Department, 9062
+.\" Western Washington University
+.\" Bellingham, WA 98226-9062
+.\"
+.\" %Id: bc.1,v 1.3.2.1 1996/11/06 09:23:50 phk Exp %
+.\" jpman %Id: bc.1,v 1.3 1997/07/26 10:23:05 konuma Stab %
+.\"
+.TH bc 1 .\" "Command Manual" v1.03 "Nov 2, 1994"
+.SH 名称
+bc - 任意精度の計算言語
+.SH 書式
+\fBbc\fR [ \fB-lws\fR ] [ \fI file ...\fR ]
+.SH バージョン
+このマニュアルは GNU bc version 1.03 について記述してあります。
+.SH 解説
+\fBbc\fR は、任意の精度の数値を扱う事ができ、プログラミング言語 C の文法に
+よく似た形の入力をインタラクティブに実行する言語です。
+コマンドラインのオプションの指定により、標準数学ライブラリを使用することも
+できます。これを指定した場合は、どのファイルを処理するよりも前に
+数学ライブラリが定義されます。
+\fBbc\fR は動作を開始するとまず最初にコマンドラインで指定したファイルを
+順に処理します。全てのファイルを処理した後は、\fBbc\fR は
+標準入力からの読み込みを行います。全てのコードは、それが読み込ま
+れた時点で実行されていきます。(もし、ファイル中にプロセッサを止める
+コマンドが含まれていた場合は、標準入力からの読み込みは行われません。)
+.PP
+本バージョンの \fBbc\fR は、伝統的な \fBbc\fR のインプリメントおよび POSIX
+のドラフトよりも拡張されています。コマンドラインオプションにより、
+これらの拡張に対して警告を表示したり拒絶したりすることが可能です。
+本ドキュメントでは、このプロセッサが受理する言語について説明します。
+拡張機能についてはその旨明記します。
+.SS オプション
+.IP -l
+標準数学ライブラリを定義します。
+.IP -w
+POSIX \fBbc\fR に対する拡張機能が入力された場合は警告を出します。
+.IP -s
+POSIX \fBbc\fR の言語仕様に従って、厳密に処理します。
+.SS 数
+\fBbc\fR における最も基本的な要素は `数' です。数は、整数部と小数部があり、
+任意の精度をとることができます。全ての数は、内部では 10 進数で表現されており、
+計算も 10 進数で行われます。(本バージョンでは、除算と乗算で結果に切捨てが
+起こります。) 数には length と scale という 2 つの属性があります。
+length は 10 進での有効桁数で、 scale は小数点以下の 10 進での有効桁数です。
+例えば、
+.nf
+.RS
+ .000001 は、lengthが 6 で、scale も 6 です。
+ 1935.000 は、lengthが 7 で、scale が 3 です。
+.RE
+.fi
+.SS 変数
+数は、単純変数と配列の 2 種類の変数に保存されます。単純変数と配列変数には共に
+名前が付けられます。この名前は、最初の 1 文字目がアルファベットで、後は、
+アルファベット、数字およびアンダスコアを任意の文字数組み合わせて
+使うことができます。全てのアルファベットは小文字でなければなりません。
+(アルファベットと数字を使った名前の機能は拡張機能です。
+POSIX \fBbc\fR では、変数に英小文字 1 文字しか許されません。)
+配列変数の名前には必ずブラケット ([]) がつくので、変数の型は文脈において
+はっきりしています。
+.PP
+特殊な変数として \fBscale, ibase, obase, last\fR の 4 つの変数があります。
+\fBscale\fR で計算時の小数点以下の有効桁数を指定します。
+\fBscale\fR のデフォルトは 0 です。
+\fBibase\fR と \fBobase\fR で入力および出力の基数を指定します。
+デフォルトでは、入力、出力の基数は共に 10 です。
+\fBlast\fR は、最後に \fBbc\fR が出力した数を保持しています
+(これは拡張機能です)。これらについては、後で適切なところで詳しく説明します。
+これらの変数には、式で使われる代入と同様の代入を行うことが可能です。
+.SS コメント
+\fBbc\fR は、\fB/*\fR から \fB*/\fR の間をコメントとして扱います。
+コメントはどこから始まっていてもよく、1 文字の空白として扱われます。
+(これにより、コメントはその前後の入力アイテムを切り離します。たとえば、
+変数名の途中にコメントを置くことはできません。)
+コメントの中にはいくつ改行があってもかまいません。
+.SS 式
+`数' は、式および文によって操作されます。
+この言語はインタラクティブになるように設計されているため、
+文および式は即座に実行されます。
+"main" プログラムといったものはなく、そのかわり、コードは
+それに出くわした時点で実行されます。
+(後で述べる`関数'は、それに出くわした時点で定義されます。)
+.PP
+式の最も単純なものは、ただの定数です。\fBbc\fR は、入力された
+定数を、変数 \fBibase\fR で指定される現在の基数を元に、内部的には 10 進表現の
+数に変換します。(関数の場合には例外があります。)
+\fBibase\fR には、2 から 16 (F) までが使用できます。
+この範囲を越える値を \fBibase\fR に代入しようとすると、
+2 あるいは 16 を指定したことになります。
+数の入力には、0-9 および A-F の文字が利用できます。(注意:
+これは大文字でなければなりません。小文字は変数名です。)
+1 桁の数は \fBibase\fR の値に関係なくその値を持ちます (すなわち A=10)。
+複数桁の数の場合、\fBbc\fR は ibase 以上の値をもつ全ての入力桁を
+\fBibase\fR-1に変更します。これにより、数 \fBFFF\fR は常に、
+その入力基数を使って 3 桁で表現可能な最大の値を表します。
+.PP
+全ての演算式が、他の多くの高級言語に似たものとなっています。
+数の型は 1 種類しかないため、型変換の規則はありません。
+そのかわり、式の有効桁数に関する規則があります。
+全ての式に有効桁数があり、これはその被演算数の有効桁数と
+変数 \fBscale\fR から決定されます。\fBscale\fR には、0 から
+C の整数で表現できる最大の値までが指定可能です。
+.PP
+以下、bc で使用可能な演算子を説明します。なお、完全形の式を "expr"、
+単純変数または配列変数を "var" と表記します。
+単純変数は単に
+.RS
+\fIname\fR
+.RE
+と表し、配列変数は
+.RS
+\fIname\fR[\fIexpr\fR]
+.RE
+と表します。特に言及しない限り、結果の有効桁数は、注目している式の
+最大有効桁数になります。
+.IP "- expr"
+結果はその式の符号を反転したものとなります。
+.IP "++ var"
+変数を 1 だけインクリメントし、その新しい値が式の結果となります。
+.IP "-- var"
+変数を 1 だけデクリメントし、その新しい値が式の結果となります。
+.IP "var ++"
+式の結果はその変数の値となり、それからその変数を 1 だけ
+インクリメントします。
+.IP "var --"
+式の結果はその変数の値となり、それからその変数を 1 だけ
+デクリメントします。
+.IP "expr + expr"
+式の結果は 2 つの式の和となります。
+.IP "expr - expr"
+式の結果は 2 つの式の差となります。
+.IP "expr * expr"
+式の結果は 2 つの式の積となります。
+.IP "expr / expr"
+式の結果は 2 つの式の商となります。
+結果の scale は変数 \fBscale\fR の値となります。
+.IP "expr % expr"
+結果は、以下のようにして求められる剰余です。a%b を求めるために、まず a/b を
+\fBscale\fR の有効桁数で計算します。この結果を用いて、a-(a/b)*b を、
+\fBscale\fR+scale(b) と scale(a) の大きい方の有効桁数で計算します。
+もし \fBscale\fR に 0 がセットされ、両方の式が整数であれば、
+整数の剰余が求められます。
+.IP "expr ^ expr"
+式の結果は、1 番目の式の値を 2 番目の回数だけ乗じたものになります。
+2 番目の式は、整数でなければなりません。
+(2 番目の式が整数でない場合は警告が表示され、
+整数に切り詰めた値が使用されます。) 結果の scale は、べき指数が
+負なら \fBscale\fR になります。べき指数が正なら、
+"1 番目の式の scale とべき指数との積" および
+"\fBscale\fR と 1 番目の式の scale の大きい方" のうちの小さい方
+(つまり、scale(a^b) = min(scale(expr1)*expr2, max(scale, scale(expr1))))
+となります。
+expr^0 は常に 1 を返します。
+.IP "( expr )"
+標準の優先度を使わずに、この式の評価を優先します。
+.IP "var = expr"
+式の値が変数に代入されます。
+.IP "var <op>= expr"
+"var" が一度しか評価されないこと以外は "var = var <op> expr" と同じです。
+"var" が配列の場合は動作が違うことがあり得ます。
+.PP
+関係演算は特殊な演算で、結果は常に 0 か 1 になります。関係が偽の時 0、
+真の時 1 になります。関係演算は、演算式のどこでも使う事ができます。
+(POSIX bcでは、関係演算は、if, while, for 文の中だけで、しかも
+1 つの関係式しか使用できません。)
+関係演算子は以下の通り。
+.IP "expr1 < expr2"
+expr1 が expr2 より小さい場合 1 になります。
+.IP "expr1 <= expr2"
+expr1 が expr2 より小さいか等しい場合 1 になります。
+.IP "expr1 > expr2"
+expr1 が expr2 より大きい場合 1 になります。
+.IP "expr1 >= expr2"
+expr1 が expr2 より大きいか等しい場合 1 になります。
+.IP "expr1 == expr2"
+expr1 と expr2 が等しい場合 1 になります。
+.IP "expr1 != expr2"
+expr1 と expr2 が等しくない場合 1 になります。
+.PP
+論理演算も使えます。(POSIX \fBbc\fR には論理演算はありません。)
+論理演算も関係演算と同様、0 と 1 の 2 つの値 (各々偽および真)
+だけをとる演算です。
+論理演算子は以下の通り。
+.IP "!expr"
+expr が 0 なら 1 になります。
+.IP "expr && expr"
+expr1 と expr2 が両方とも 0 でないなら、1 になります。
+.IP "expr || expr"
+expr1 と expr2 のどちらか一方が 0 でないなら、1 になります。
+.PP
+各演算子の優先順位と結合規則は次の通りです。
+(最初のものほど低く、後にいくほど高い優先順位で先に実行されます。)
+.nf
+.RS
+|| operator, left associative
+&& operator, left associative
+! operator, nonassociative
+Relational operators, left associative
+Assignment operator, right associative
++ and - operators, left associative
+*, / and % operators, left associative
+^ operator, right associative
+- (単項マイナス), nonassociative
+++ and -- operators, nonassociative
+.RE
+.fi
+.PP
+この優先順位は、POSIX \fBbc\fR のプログラムがそのまま正しく動くように
+配慮して決められています。このため、関係演算と論理演算を
+代入文と共に用いた場合、通常とは異なる振る舞いをします。
+次の例を考えてみましょう:
+.RS
+a = 3 < 5
+.RE
+.PP
+C プログラマのほとんどは、
+``3 < 5'' の関係演算が実行された結果が変数 ``a'' に代入される、
+と考えるでしょう。
+ところが \fBbc\fR では、まず 3 が変数 ``a'' に代入され、
+それから 3 と 5 の比較が行われるのです。
+この間違いを避けるために、
+関係演算や論理演算を代入演算と共に用いる場合は、
+括弧を使うのが最良です。
+.PP
+\fBbc\fR には特別な式がさらにいくつか備わっています。
+それはユーザ定義関数と標準関数に関するもので、
+すべて "\fIname\fB(\fIparameters\fB)\fR" という形をしています。
+ユーザ定義関数については関数の章を参照して下さい。
+標準関数は以下の通りです:
+.IP "length ( expression )"
+expression の有効桁数を返します。
+.IP "read ( )"
+(拡張機能) 関数の出現位置に関係なく、標準入力から数を読み取ります。
+データとプログラムの両方を標準入力から与えるような場合には、
+問題を生じうることに注意して下さい。
+最良の方法は、
+ユーザからデータの入力の必要があるなら、プログラムはあらかじめ作っておき、
+標準入力からプログラムを入力しないようにすることです。
+read 関数の値は標準入力から読み込んだ数です。
+その際、変換基数として変数 \fBibase\fR の現在の値が用いられます。
+.IP "scale ( expression )"
+expression の小数点以下の有効桁数を返します。
+.IP "sqrt ( expression )"
+expression の平方根を返します。
+expression に負の値を指定した場合は、ランタイムエラーになります。
+.SS 文
+文は (ほとんどの算術言語がそうであるように)、処理を順番に実行していく単位です。
+\fBbc\fR では文は「できるだけ早い段階で」実行されます。
+改行が入力された時点で、実行可能な文が存在していれば、即座に実行します。
+このため \fBbc\fR では改行が重要な役割を持っています。
+実際、セミコロンと改行が文の区切りとして使用されます。
+不適当な場所で改行を入力すると、シンタックスエラーになります。
+改行は文の区切りですが、バックスラッシュを用いて改行を隠すことができます。
+\fBbc\fR にとって、"\e<nl>" (<nl>は改行) は改行ではなく空白に見えます。
+文のリストは、セミコロンと改行で区切られた文の並びです。
+以下、\fBbc\fR の文の種類とその動作について説明します。
+(なお、以下の説明で ([]) で括った部分は省略可能な項です。)
+.IP "演算式"
+演算式には次の 2 つの種類があります。
+演算式が "<variable> <assignment> ..." で始まっていれば、
+それは代入文として扱われます。
+そうでなければ、演算式は評価されて出力に表示されます。
+結果が表示された後、改行が表示されます。
+例えば、"a=1" は代入文であり、
+"(a=1)" は代入文が埋め込まれた演算式です。
+表示される数値は全て、変数 \fBobase\fR で決まる基数で表示されます。
+\fBobase\fR に指定できる値は 2 から BC_BASE_MAX までです。
+(「制限」の章を参照。)
+基数 2 から 16 まででは、通常の数表記法が用いられます。
+基数が 16 より大きい場合、\fBbc\fR は、
+各桁を 10 進表記する複数桁文字表記法で表示します。
+複数桁文字表記法では、各桁は空白で区切られます。
+各桁は "obase-1" を 10 進で表記するのに必要な桁数の数字から成ります。
+数の精度は任意に選べるため、数によっては 1 行に表示できない場合もあります。
+そのような長い数は、行末に "\e" を付けて次行に継続します。
+1 行に表示できる文字数は 70 です。
+\fBbc\fR の対話的性質により、ある数を表示すると、
+表示した値が特殊変数 \fBlast\fR に代入されるという副作用が生じます。
+ユーザはタイプし直すことなく最後に表示された値を再利用できます。
+\fBlast\fR に値を代入することも可能で、
+その場合、前回表示された値が代入値で上書きされます。
+新しく代入した値は、次に数が表示されるか別の値が \fBlast\fR に代入される
+まで有効です。(bc の実装によっては、
+数の一部になっていない単一のピリオド (.) を \fBlast\fR の短縮表記として
+用いることができます。)
+.IP "string"
+文字列 string が出力に表示されます。
+文字列は二重引用符で始まり、次の二重引用符までの全ての文字を含みます。
+改行を含め、全ての文字は文字通りに解釈されます。
+文字列の後に改行は出力されません。
+.IP "\fBprint\fR list"
+print 文 (これは拡張機能です) は、もう一つの出力方法です。
+"list" はコンマで区切った文字列および演算式のリストであり、
+各文字列あるいは演算式がリストの順に表示されます。
+最後に改行は出力されません。
+演算式は評価され、その値が表示されるとともに、
+変数 \fBlast\fR に代入されます。
+print 文中の文字列は出力に表示されますが、特殊文字を含めることができます。
+特殊文字はバックスラッシュ (\e) で始まります。
+\fBbc\fR で使える特殊文字は、
+"a" (ベル)、"b" (バックスペース)、
+"f" (フォームフィード)、"n" (改行)、"r" (復帰)、"q" (二重引用符)、
+"t" (タブ)、"\e" (バックスラッシュ) です。
+これ以外は無視されます。
+.IP "{ statement_list }"
+複文です。複数の文を 1 つのグループにまとめて実行します。
+.IP "\fBif\fR ( expression ) \fBthen\fR statement1 [\fBelse\fR statement2]"
+if 文は演算式 expression を評価し、その値に応じて
+文 statement1 または文 statement2 を実行します。
+expression の値がゼロでなければ statement1 が実行されます。
+statement2 が存在し、expression の値が 0 ならば、statement2 が実行されます。
+(else 節は拡張機能です。)
+.IP "\fBwhile\fR ( expression ) statement"
+while 文は expression がゼロでない間、繰り返し statement を実行します。
+statement の実行前に毎回 expression を評価します。
+expression の値がゼロになるか、break 文を実行すると、
+ループが終了します。
+.IP "\fBfor\fR ( [expression1] ; [expression2] ; [expression3] ) statement"
+for 文は statement の繰り返し実行を制御します。
+expression1 はループ実行の前に評価されます。
+expression2 は statement の実行前に毎回評価され、
+その値がゼロでなければ statement が実行されます。
+expression2 の値がゼロになると、ループは終了します。
+各 statement 実行の後、再び expression2 が評価される前に expression3 が
+評価されます。
+expression1 あるいは expression3 が省略されていると、
+そこでは何も評価されません。
+expression2 が省略されている場合、expression2 が 1 であるのと
+同様に扱われます。
+(各 expression が省略可能なのは拡張機能です。
+POSIX \fBbc\fR では、3 つの expression はどれも省略できません。)
+ 以下は for 文と等価なコードです:
+.nf
+.RS
+expression1;
+while (expression2) {
+ statement;
+ expression3;
+}
+.RE
+.fi
+.IP "\fBbreak\fR"
+それを含む最も内側の while もしくは for 文による繰り返しを強制的に中断します。
+.IP "\fBcontinue\fR"
+それを含む最も内側の for 文による繰り返しで、最初の文に戻って実行を続けます。
+(continue 文は拡張機能です)
+.IP "\fBhalt\fR"
+実行されると \fBbc\fR プロセッサを終了させます(拡張機能)。
+例えば "if (0 == 1) halt" の場合は \fBbc\fR は終了しません。
+halt 文が実行されないからです。
+.IP "\fBreturn\fR"
+関数から戻ります。関数の結果は 0 になります。(関数の章を参照)
+.IP "\fBreturn\fR ( expression )"
+関数から戻ります。関数の結果は expression になります。(関数の章を参照)
+.SS 疑似文
+これらは今までの文とは動作が異なります。
+疑似文は実行文ではなく、「コンパイル」時点で処理されます。
+.IP "\fBlimits\fR"
+\fBbc\fR のローカルバージョンにより制限される限界値を表示します。
+(limits は拡張機能です)
+.IP "\fBquit\fR"
+\fBbc\fR を終了します。どんな場所にあっても、quit 文は
+入力された時点で実行されます。例えば、
+"if (0 == 1) quit"
+という記述であっても、\fBbc\fR は終了します。
+.IP "\fBwarranty\fR"
+保証に関する注意を長めに表示します。
+(warranty は拡張機能です)
+.SS 関数
+関数は、後で実行されるべき計算手順を定義する機能です。
+.B bc
+の関数は常に値を計算し、それを呼びだし側に返します。
+関数定義は、それが入力から読み込まれた時点で定義が行われるという点で
+「ダイナミック(動的)」です。
+一度定義された関数は、同じ名前で別の関数が定義されるまで使用可能で、
+新しい関数が定義された場合は、前の関数が置き換えられます。
+関数の定義は、以下のように行います:
+.nf
+.RS
+\fBdefine \fIname \fB( \fIparameters \fB) { \fInewline
+\fI auto_list statement_list \fB}\fR
+.RE
+.fi
+関数呼び出しは、
+"\fIname\fB(\fIparameters\fB)\fR"
+という形式の演算式です。
+.PP
+パラメータ parameters は数あるいは配列 (拡張機能) です。
+関数定義では、ゼロあるいは 1 個以上のパラメータ名を
+コンマで区切って並べることで定義します。
+数は値渡し(call by value)でのみ渡され、配列は変数渡し(call by variable)で
+のみ渡されます。
+配列はパラメータ定義中で "\fIname\fB[]\fR" のように表記して指定します。
+関数呼び出しでは、数のパラメータに対して完全な演算式の実パラメータを
+記述します。
+配列を渡す表記は配列パラメータ定義と同様です。
+名前付き配列は変数(variable)によって関数に渡されます。
+関数定義はダイナミックゆえ、
+パラメータの数と型は関数呼び出しの際にチェックされます。
+パラメータの数あるいは型に何らかの不整合があると、
+ランタイムエラーが発生します。
+未定義関数を呼び出した場合もランタイムエラーとなります。
+.PP
+\fIauto_list\fR は省略可能で、ローカル変数として使用する変数のリスト
+です。auto_list が存在するなら、その文法は
+"\fBauto \fIname\fR, ... ;"
+となります。(セミコロンはオプションです。)
+各 \fIname\fR がローカル変数の名前となります。
+配列はパラメータと同様の表記で指定できます。
+これらの変数は、関数の最初でその値がスタックにプッシュされたのち
+値ゼロに初期化され、関数の実行中に使用されます。
+これらの変数は関数出口にてポップされ、
+(関数呼び出し時の)元の値が復元されます。
+パラメータは実際にはローカル変数であり、
+関数呼び出しで与えられた値に初期化されます。
+bc のローカル変数は伝統的な意味でのローカル変数と異なり、
+関数 A が関数 B を呼び出しているような場合、関数 B の中に
+関数 A のローカル変数と同じ名前のローカル変数がない限り、
+関数 A のローカル変数名をそのまま使って、
+関数 B から関数 A のローカル変数をアクセスできます。
+ローカル変数とパラメータはスタックにプッシュされるため、
+\fBbc\fR は再帰的な関数呼び出しをサポートしています。
+.PP
+関数本体は \fBbc\fR の文のリストです。
+繰り返し述べますと、文はセミコロンか改行で区切られています。
+return 文により関数は終了し、値を返します。
+return 文には 2 つの形式があり、
+ひとつめの形式 "\fBreturn\fR" は、呼び出し元に値 0 を返します。
+もうひとつの形式 "\fBreturn ( \fIexpression \fB)\fR" は、
+expression の値を計算し、それを呼び出し元に返します。
+各関数の最後には "\fBreturn (0)\fR" があるものと解釈されます。
+これにより、明示的に return 文を置かなくても、
+関数は終了して値 0 を返します。
+.PP
+関数の中では、変数 \fBibase\fR の動作が変わります。関数の中で使われて
+いる定数は、関数の呼びだし時点の \fBibase\fR を元に変換が行われます。
+このため、関数内部で \fBibase\fR を変更しても無視されます。ただし、標
+準関数 \fBread\fR を呼び出した場合は例外で、これは常に現在の
+\fBibase\fR の値をもとに変換が行われます。
+.SS 数学ライブラリ
+\fBbc\fR に \fB-l\fR オプションを付けて起動した場合は、数学ライブラリが
+読み込まれ、デフォルトの scale が 20 に設定されます。
+数学関数は、それを呼び出した時点の scale の値に従って計算を行います。
+数学ライブラリによって使用可能になる関数は、次の通りです:
+.IP "s (\fIx\fR)"
+sin (x の単位はラジアン)
+.IP "c (\fIx\fR)"
+cos
+.IP "a (\fIx\fR)"
+atan
+.IP "l (\fIx\fR)"
+log (自然対数)
+.IP "e (\fIx\fR)"
+exp
+.IP "j (\fIn,x\fR)"
+ベッセル関数
+.SS 使用例
+次の例は、/bin/sh でシェル変数 \fBpi\fR に ``パイ'' の値を代入します。
+.RS
+\f(CW
+pi=$(echo "scale=10; 4*a(1)" | bc -l)
+\fR
+.RE
+.PP
+次の例は、数学ライブラリで使われている ``e (x)'' の定義です
+この関数は POSIX \fBbc\fR で記述されています。
+.nf
+.RS
+\f(CW
+scale = 20
+
+/* Uses the fact that e^x = (e^(x/2))^2
+ When x is small enough, we use the series:
+ e^x = 1 + x + x^2/2! + x^3/3! + ...
+*/
+
+define e(x) {
+ auto a, d, e, f, i, m, v, z
+
+ /* Check the sign of x. */
+ if (x<0) {
+ m = 1
+ x = -x
+ }
+
+ /* Precondition x. */
+ z = scale;
+ scale = 4 + z + .44*x;
+ while (x > 1) {
+ f += 1;
+ x /= 2;
+ }
+
+ /* Initialize the variables. */
+ v = 1+x
+ a = x
+ d = 1
+
+ for (i=2; 1; i++) {
+ e = (a *= x) / (d *= i)
+ if (e == 0) {
+ if (f>0) while (f--) v = v*v;
+ scale = z
+ if (m) return (1/v);
+ return (v/1);
+ }
+ v += e
+ }
+}
+\fR
+.RE
+.fi
+.PP
+次の例は、\fBbc\fR の拡張機能を使って、``checkbook balances''
+(小切手帳残高) を計算する簡単なプログラムです。
+このプログラムをファイルにしておくと、
+毎回タイプしなおさずに何度も使うことができます。
+.nf
+.RS
+\f(CW
+scale=2
+print "\enCheck book program!\en"
+print " Remember, deposits are negative transactions.\en"
+print " Exit by a 0 transaction.\en\en"
+
+print "Initial balance? "; bal = read()
+bal /= 1
+print "\en"
+while (1) {
+ "current balance = "; bal
+ "transaction? "; trans = read()
+ if (trans == 0) break;
+ bal -= trans
+ bal /= 1
+}
+quit
+\fR
+.RE
+.fi
+.PP
+次の例は、再帰呼び出しにより階乗を計算する関数です。
+.nf
+.RS
+\f(CW
+define f (x) {
+ if (x <= 1) return (1);
+ return (f(x-1) * x);
+}
+\fR
+.RE
+.fi
+.SS 相違点
+このバージョンの
+.B bc
+は POSIX P1003.2/D11 ドラフトから実装されており、
+そのドラフトや以前の実装に比べていくつかの相違点や拡張点があります。
+伝統的に行われていたような
+.I dc(1)
+を用いた実装ではありません。
+このバージョンは単一プロセスであり、
+プログラムをバイトコードに変換したものを解析して実行します。
+「ドキュメントに記載されていない」オプション (-c) があり、
+プログラムを実行する代わりに、それをバイトコードに変換した結果を
+標準出力に出力します。
+これは主として、パーザのデバッグと数学ライブラリの準備に用いられました。
+.PP
+主な相違点は拡張機能によるものです。
+機能を高めたり追加したりするために機能が拡張されたり、
+新機能が追加されたりしています。
+相違点と拡張点のリストを以下に示します。
+.IP LANG
+このバージョンは、
+環境変数 LANG および LC_ で始まる全ての環境変数の処理に関して POSIX に
+準拠していません。
+.IP 名前
+伝統的な
+.B bc
+および POSIX
+.B bc
+は、関数、変数、配列の名前として単一の文字を使います。
+このバージョンでは、
+先頭が文字で始まり、文字と数字とアンダースコアから成る文字で
+構成される 2 文字以上の名前が使えるように拡張されています。
+.IP 文字列
+文字列には NUL 文字を含むことはできません。
+POSIX では、文字列にはあらゆる文字を含めることができなければならない、
+としています。
+.IP last
+POSIX \fBbc\fR には変数 \fBlast\fR はありません。
+\fBbc\fR の実装によっては、\fBlast\fR と同じ意味で
+ピリオド (.) を用いるものがあります。
+.IP 比較
+POSIX \fBbc\fR では、比較は if 文、while 文、for 文の第 2 式の中でのみ
+用いることができます。
+また、これらの文の中ではただ一つの関係演算しか使えません。
+.IP "if 文, else 節"
+POSIX \fBbc\fR には else 節はありません。
+.IP "for 文"
+POSIX \fBbc\fR では for 文の各演算式は省略できません。
+.IP "&&, ||, !"
+POSIX \fBbc\fR には論理演算子はありません。
+.IP "read 関数"
+POSIX \fBbc\fR には read 関数はありません。
+.IP "print 文"
+POSIX \fBbc\fR には print 文はありません。
+.IP "continue 文"
+POSIX \fBbc\fR には continue 文はありません。
+.IP "配列パラメータ"
+POSIX \fBbc\fR では配列パラメータは使えません。
+他の \fBbc\fR の実装では、値渡しで配列パラメータを使えるものがあります。
+.IP "=+, =-, =*, =/, =%, =^"
+POSIX \fBbc\fR ではこれらの「旧式」の代入演算子を定義する必要はありません。
+このバージョンではこれらの「旧式」代入演算子が使えるかも知れません。
+limits 文を使って、インストールしたバージョンがこれらをサポートしているか
+どうか、確かめてみて下さい。
+もしそのバージョンが「旧式」代入演算子をサポートしていれば、
+文 "a =- 1" は \fBa\fR に値 -1 を代入する代わりに \fBa\fR を 1 減じます。
+.IP "数字表記中の空白"
+他の \fBbc\fR 実装では、数字表記の中に空白を含めることが許されます。
+例えば、"x=1 3" は変数 x に値 13 を代入します。
+このバージョンの \fBbc\fR では、先の文は文法エラーになります。
+.IP "エラーと実行"
+このバージョンの bc は、
+プログラムに文法上のエラーや他のエラーが見つかった場合に
+どういうコードが実行されるか、
+という点で、他の実装と異なっています。
+ある関数定義中で文法エラーが見つかると、
+エラー回復機構は文の先頭を見つけて関数のパーズを続けようと努力します。
+ひとたび関数の中で文法エラーが見つかると、
+その関数は呼び出せなくなり、未定義状態となります。
+対話的実行コードで文法エラーがあると、
+現在の実行ブロックが無効になります。
+実行ブロックとは、ひと続きの完全な文のあとの行末までのことです。
+例えば、次のコード
+.nf
+.RS
+a = 1
+b = 2
+.RE
+.fi
+には 2 つの実行ブロックがあり、
+.\" ↑ここで groff 時の字下げ量がおかしくなっているようだが、
+.\" 元の英語マニュアルでもそうなっているようだ。(jpman 酒井)
+.nf
+.RS
+{ a = 1
+ b = 2 }
+.RE
+.fi
+には 1 つの実行ブロックがあります。
+ランタイムエラーが発生すると、現在の実行ブロックの実行が終了します。
+ランタイムの警告が発生しても、現在の実行ブロックは終了しません。
+.IP "割り込み"
+対話セッションの間、SIGINT シグナル (通常、端末からの Control-C 入力で
+発生します) によって現在の実行ブロックの実行が中断され、
+どの関数が中断されたかを示す「ランタイム」エラーが表示されます。
+ランタイムのデータ構造を全てクリアした後メッセージが表示され、
+\fBbc\fR は次の入力を受け付ける状態になったことを示します。
+これまでに定義した関数は全て定義されて残っており、
+ローカルでない変数の値は割り込み発生時点の値のままになっています。
+ローカル変数と関数パラメータは全て、クリア処理によって消去されます。
+非対話セッションでは、SIGINT シグナルで \fBbc\fR の実行全体が終了します。
+.SS 限界
+以下の項目が現在の
+.B bc
+プロセッサの限界値となっています。
+このうちいくつかは、インストール時に変更できます。
+実際の値を得るには limits 文を使って下さい。
+.IP BC_BASE_MAX
+現在のところ、出力の基数の最大値は 999 に設定されています。
+入力側の基数の最大値は 16 です。
+.IP BC_DIM_MAX
+現在のところ 65535 として配布されていますが、
+インストールしたバージョンでは異なっているかも知れません。
+.IP BC_SCALE_MAX
+小数点以下の桁数は INT_MAX 桁に制限されています。
+また、小数点より上の桁数も INT_MAX 桁に制限されています。
+.IP BC_STRING_MAX
+文字列中の文字数は INT_MAX 文字に制限されています。
+.IP 指数
+累乗演算 (^) の指数の値は LONG_MAX に制限されています。
+.IP 乗算
+全部で LONG_MAX / 90 桁以上になる数の積を計算すると
+誤った結果になることがあります。
+32 ビット long では、この数は 23,860,929 桁です。
+.IP コードサイズ
+各関数および "main" プログラムはバイトコードで 16384 バイト以内に
+制限されています。
+この限界値 (BC_MAX_SEGS) は 1024 バイトの 16 セグメント以上になるように
+容易に変更可能です。
+.IP 変数名
+単純変数、配列、関数各々について、一意に識別される名前は 32767 個に
+制限されています。
+.SH 関連ファイル
+ほとんどの実装では、\fBbc\fR は完全に自分自身で独立しています。
+実行ファイルのサイズが重要視される場合や、
+C コンパイラが長い文字列を扱えない場合は、
+\fBbc\fR は /usr/local/lib/libmath.b から標準の数学ライブラリを読み込みます。
+(実際のディレクトリ位置はこれとは異なり、
+例えば /lib/libmath.b かも知れません。)
+.SH 診断
+コマンドラインで指定したファイルがオープンできない場合、
+\fBbc\fR はファイルが利用できない旨を表示して終了します。
+また、コンパイル時あるいはランタイムの診断メッセージもありますが、
+それらは自身で理解できるようになっているはずです。
+.SH バグ
+エラーリカバリがまだうまくいっていません。
+.SH 作者
+.nf
+Philip A. Nelson
+phil@cs.wwu.edu
+.fi
+.SH 謝辞
+実装をテストする際に
+広範囲に手助けしてくれた Steve Sommars (Steve.Sommars@att.com) に感謝します。
+たくさんの素晴らしい意見をもらいました。
+彼のおかげでとてもよいものになりました。
diff --git a/ja/man/man1/biff.1 b/ja/man/man1/biff.1
new file mode 100644
index 0000000000..c6a1865bdb
--- /dev/null
+++ b/ja/man/man1/biff.1
@@ -0,0 +1,96 @@
+.\" Copyright (c) 1980, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)biff.1 6.5 (Berkeley) 3/14/91
+.\" jpman %Id: biff.1,v 1.2 1997/04/01 07:08:32 mutoh Stab %
+.\" %Id: biff.1,v 1.2.2.1 1997/06/24 06:43:41 charnier Exp %
+.\"
+.Dd June 6, 1993
+.Dt BIFF 1
+.Os BSD 4
+.Sh 名称
+.Nm biff
+.Nd メールの到着時に、メールの着信とメールの発信人を報告するかどうか設定する
+.Sh 書式
+.Nm biff
+.Op Cm n | y
+.Sh 解説
+.Nm biff
+は、現在の端末を利用している間、メールの到着を
+システムから報告してもらうかどうかを設定します。
+.Pp
+.Nm biff
+がサポートしているオプションとしては、以下のものがあります:
+.Bl -tag -width 4n
+.It Cm n
+報告しないように設定します。
+.It Cm y
+報告するように設定します。
+.El
+.Pp
+.\" 以下の一文は元の英語版マニュアルには含まれていないので
+.\" とりあえずコメントアウトしてある --- jpman project sakai@csl.cl.nec.co.jp
+.\"
+.\" オプションを指定しない場合は現在状態を表示します。
+.\"
+メールの到着を報告するように設定しているときにメールが届いた場合、
+メールのヘッダとメッセージの最初の数行が自分の画面に表示されます。
+ログインするたびに設定されるように、たいてい
+.Pa \&.login
+や
+.Pa \&.profile
+ファイルに
+.Dq Li biff y
+コマンドの記述が含められます。
+.Pp
+.Nm biff
+は非同期に動作します。同期して動作させる場合は、
+.Xr sh 1
+の
+.Ev MAIL
+変数を用いるか、
+.Xr csh 1
+の
+.Ev mail
+変数を利用してください。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr mail 1 ,
+.Xr sh 1 ,
+.Xr comsat 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.0
+から登場しました。
+.Nm biff
+コマンドの名前は、 Heidi Stettner の犬の名前にちなんでいます。
+彼は、1993年の8月に15歳で亡くなりました。
diff --git a/ja/man/man1/bison.1 b/ja/man/man1/bison.1
new file mode 100644
index 0000000000..f5db17dd65
--- /dev/null
+++ b/ja/man/man1/bison.1
@@ -0,0 +1,354 @@
+.TH BISON 1 local
+.\" jpman %Id: bison.1,v 1.3 1997/08/20 12:18:34 horikawa Stab %
+.SH 名称
+bison \- GNU プロジェクト パーサ・ジェネレータ (yacc 置き換え)
+.SH 書式
+.B bison
+[
+.BI \-b " file-prefix"
+] [
+.BI \-\-file-prefix= file-prefix
+] [
+.B \-d
+] [
+.B \-\-defines
+] [
+.B \-k
+] [
+.B \-\-token-table
+] [
+.B \-l
+] [
+.B \-\-no-lines
+] [
+.B \-n
+] [
+.B \-\-no-parser
+] [
+.BI \-o " outfile"
+] [
+.BI \-\-output-file= outfile
+] [
+.BI \-p " prefix"
+] [
+.BI \-\-name-prefix= prefix
+] [
+.B \-r
+] [
+.B \-\-raw
+] [
+.B \-t
+] [
+.B \-\-debug
+] [
+.B \-v
+] [
+.B \-\-verbose
+] [
+.B \-V
+] [
+.B \-\-version
+] [
+.B \-y
+] [
+.B \-\-yacc
+] [
+.B \-h
+] [
+.B \-\-help
+] [
+.B \-\-fixed-output-files
+]
+file
+.SH 解説
+.I bison
+は
+.IR yacc (1)
+風のパーサ・ジェネレータです。
+.IR yacc
+用に作成された入力ファイルについて上位互換になっているはずです。
+.PP
+入力ファイルは
+.I yacc
+の流儀に従い、末尾は
+.BR .y
+で終わるべきです。
+.IR yacc
+と異なり、生成されるファイルの名前は固定ではなく、
+入力ファイルのプレフィクスが用いられます。
+例えば、
+.B parse.y
+という名前の文法記述ファイルからは、
+.IR yacc
+のような
+.BR y.tab.c
+ではなく、
+.BR parse.tab.c
+というファイル名のパーサが生成されます。
+.PP
+ここに示す
+.I bison
+のオプション説明は、正式なドキュメントである
+.B bison.texinfo
+マニュアルの
+.B Invocation
+ノードからの抜粋です。
+.PP
+.I bison
+は、従来の単一文字オプションと覚えやすい長形式オプション名の
+両方をサポートしています。
+長形式のオプション名は
+.BR \-
+ではなく
+.B \-\-
+で指定します。
+一意に決められる限り、オプション名は略して記述して構いません。
+.BR \-\-file-prefix
+のように引数を取る長形式オプションの場合、
+オプション名とその引数とを
+.BR =
+で連結します。
+.SS オプション
+.TP
+.BI \-b " file-prefix"
+.br
+.ns
+.TP
+.BI \-\-file-prefix= file-prefix
+.I bison
+の全ての出力ファイルで用いるプレフィクスを指定します。
+出力ファイルの名前は、あたかも入力ファイルが
+\fIfile-prefix\fB.c\fR
+という名前であったかのように決められます。
+.TP
+.B \-d
+.br
+.ns
+.TP
+.B \-\-defines
+追加の出力ファイルを書き出します。
+このファイルには、
+少数の
+.B extern
+変数宣言に加え、
+文法記述で定義されたトークンの型名や
+セマンティックバリューの型
+.BR YYSTYPE
+を定義するマクロが含まれます。
+.sp
+パーサの出力ファイルが
+\fIname\fB.c\fR
+ならば、この追加出力ファイルの名前は
+\fIname\fB.h\fR
+となります。
+.sp
+.B yylex
+の定義を別のソースファイルに記述したい場合は、
+この出力ファイルが必ず必要になります。
+なぜなら、
+.B yylex
+はトークンの型コードや変数
+.BR yylval
+を参照可能である必要があるからです。
+.TP
+.B \-r
+.br
+.ns
+.TP
+.B \-\-raw
+\fIname\fB.h\fR ファイルのトークン番号は通常、Yacc 互換の置き換えです。
+このオプションを指定すると、
+それに代わって Bison のトークン番号が出力されます。
+(Yacc では、単一文字トークンを除き、トークン番号は 257 から始まります。
+Bison は全てのトークンについて、3 から始まる連番を割り当てます。)
+.TP
+.B \-k
+.br
+.ns
+.TP
+.B \-\-token-table
+出力ファイル \fIname\fB.tab.c\fR が
+トークン名のリストをその番号順に含むようにします。
+このリストは配列
+.IR yytname
+で定義されます。また、
+.IR YYNTOKENS ,
+.IR YYNNTS ,
+.IR YYNRULES ,
+.IR YYNSTATES
+がそれぞれ #define されます。
+.TP
+.B \-l
+.br
+.ns
+.TP
+.B \-\-no-lines
+パーサファイルにプリプロセッサコマンド
+.B #line
+を入れません。
+通常
+.I bison
+はパーサファイルに
+.B #line
+を挿入し、C コンパイラおよびデバッガがエラーとソースファイル、
+つまり文法ファイルとを結びつけられるようにします。
+このオプションを指定すると、エラーはパーサファイルと結びつけられ、
+自分の責任で独立したソースファイルとして取り扱うようになります。
+.TP
+.B \-n
+.br
+.ns
+.TP
+.B \-\-no-parser
+パーサコードを出力に生成せず、宣言のみ生成します。
+生成された \fIname\fB.tab.c\fR ファイルには
+定数宣言のみ含まれます。
+更に、変換した全てのアクションを含む switch 文本体
+を含むファイル \fIname\fB.act\fR を生成します。
+.TP
+.BI \-o " outfile"
+.br
+.ns
+.TP
+.BI \-\-output-file= outfile
+出力するパーサファイルの名前を
+.I outfile
+とします。
+.sp
+.B \-v
+オプションおよび
+.B \-d
+オプションのところで述べたように、
+この他の出力ファイルの名前は
+.I outfile
+から作られます。
+.TP
+.BI \-p " prefix"
+.br
+.ns
+.TP
+.BI \-\-name-prefix= prefix
+パーサで使われる外部シンボルの名前を変更し、
+.BR yy
+ではなく
+.I prefix
+で始まるようにします。
+名前を変更されるシンボルの正確なリストは以下の通り。
+.BR yyparse ,
+.BR yylex ,
+.BR yyerror ,
+.BR yylval ,
+.BR yychar ,
+.BR yydebug
+.sp
+例えば
+.BR "\-p c"
+と指定すると、これらは
+.BR cparse ,
+.BR clex
+等という名前になります。
+.TP
+.B \-t
+.br
+.ns
+.TP
+.B \-\-debug
+マクロ
+.B YYDEBUG
+の定義をパーサファイルに出力し、デバッグ機能がコンパイルされるようにします。
+.TP
+.B \-v
+.br
+.ns
+.TP
+.B \-\-verbose
+追加の出力ファイルを書き出します。
+このファイルには、
+パーサの状態と、その状態で各先読みトークンに対してどういう動作を行うか、
+に関する詳細説明が含まれます。
+.sp
+このファイルには、演算子の順位によって解決したものと
+解決していないものを合わせた、
+全ての競合についても記述されています。
+.sp
+このファイルの名前は、パーサの出力ファイル名から
+.B .tab.c
+あるいは
+.B .c
+を取り除き、代わって
+.B .output
+を付けたものになります。
+.sp
+従って、入力ファイルが
+.BR foo.y
+ならパーサファイルはデフォルトでは
+.B foo.tab.c
+となり、その結果、詳細出力ファイル名は
+.BR foo.output
+となります。
+.TP
+.B \-V
+.br
+.ns
+.TP
+.B \-\-version
+.I bison
+のバージョン番号を出力して終了します。
+.TP
+.B \-h
+.br
+.ns
+.TP
+.B \-\-help
+.I bison
+のオプション要約を表示して終了します。
+.TP
+.B \-y
+.br
+.ns
+.TP
+.B \-\-yacc
+.br
+.ns
+.TP
+.B \-\-fixed-output-files
+.BR "\-o y.tab.c"
+と等価です。つまり、パーサ出力ファイルは
+.BR y.tab.c
+となり、他の出力ファイルは
+.B y.output
+および
+.BR y.tab.h
+となります。
+このオプションの目的は、
+.IR yacc
+の出力ファイル名規則を真似ることです。
+従って、次のシェルスクリプトは
+.IR yacc
+の代用となります:
+.sp
+.RS
+.ft B
+bison \-y $*
+.ft R
+.sp
+.RE
+.PP
+以前のリリースとの互換性のため、
+長形式オプションは `\-\-' のほか、`+' で始めることもできます。
+ただしこれは POSIX.2 標準と非互換であるため、
+将来 `+' サポートはなくなるでしょう。
+.SH 関連ファイル
+/usr/local/lib/bison.simple 単純なパーサ
+.br
+/usr/local/lib/bison.hairy 複雑なパーサ
+.SH 関連項目
+.IR yacc (1)
+.br
+.I bison
+のソースディストリビューションに
+.B bison.texinfo
+として含まれている
+.IR "Bison Reference Manual"
+.SH 診断
+メッセージ自身で理解できるようになっています。
diff --git a/ja/man/man1/brandelf.1 b/ja/man/man1/brandelf.1
new file mode 100644
index 0000000000..341e7b15cf
--- /dev/null
+++ b/ja/man/man1/brandelf.1
@@ -0,0 +1,89 @@
+.\" Copyright (c) 1997
+.\" John-Mark Gurney. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the author nor the names of any co-contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY John-Mark Gurney AND CONTRIBUTORS ``AS IS''
+.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" jpman %Id: brandelf.1,v 1.3 1997/05/19 16:28:25 horikawa Stab %
+.\"
+.Dd February 6, 1997
+.Dt BRANDELF 1
+.Os FreeBSD
+.Sh 名称
+.Nm brandelf
+.Nd ELF バイナリに特定 ABI 向けのマークをつける
+.Sh 書式
+.Nm brandelf
+.Op Fl v
+.Op Fl t Ar string
+.Ar file ...
+.Sh 解説
+本コマンドは ELF バイナリにマークをつけ、
+.Tn FreeBSD
+用のある ABI 環境下で動作するようにします。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Fl
+.It Fl v
+詳細な報告を出力します。
+.It Fl t Ar string
+指定された ELF バイナリの ABI タイプとして
+.Ar string
+をマークします。現在サポートされている ABI は
+.Dq Tn FreeBSD
+と
+.Dq Linux
+です。
+.It Ar file
+同時に
+.Fl t Ar string
+が指定されていれば、
+.Ar file
+にタイプ
+.Ar string
+のマークを印します。
+それ以外の場合は、単に
+.Ar file
+のマークを表示します。
+.El
+.Sh 実行例
+.Nm
+コマンドの典型的な使用例を以下に示します:
+.Pp
+.Dl % brandelf file
+.Dl % brandelf -t Linux file
+.Sh 診断
+成功すると 0 で終了します。
+ファイルが存在しない、短すぎる、あるいは正しくマーク付けできなかった
+場合には 1 で終了します。
+.Sh 歴史
+.Nm
+のマニュアルページは
+.Fx 2.2
+で初めて登場しました。
+.Sh 作者
+このマニュアルページは
+John-Mark Gurney
+.Aq gurney_j@efn.org
+によって記述されました。
diff --git a/ja/man/man1/btreeop.1 b/ja/man/man1/btreeop.1
new file mode 100644
index 0000000000..8fc9a8fc35
--- /dev/null
+++ b/ja/man/man1/btreeop.1
@@ -0,0 +1,170 @@
+.\"
+.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Shigio Yamaguchi.
+.\" 4. Neither the name of the author nor the names of any co-contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd April 21, 1997
+.\" jpman %Id: btreeop.1,v 1.3 1997/06/18 13:41:54 jsakai Stab %
+.Dt BTREEOP 1
+.Os BSD 4
+.Sh 名称
+.Nm btreeop
+.Nd btree データベースメンテナンスツール
+.Sh 書式
+.Nm btreeop
+.Op Fl A
+.Op Fl C
+.Op Fl D Ar key
+.Op Fl K Ar key
+.Op Fl b
+.Op Fl c Ar cashesize
+.Op Fl l
+.Op Fl p Ar psize
+.Op Ar dbname
+.Sh 解説
+.Nm btreeop
+は、
+.Xr btree 3
+データベースに対して単純な操作を行います。
+.Nm btreeop
+は、データベースを作成したり、レコードを記入したり、(シーケンシャルや
+インデックスで)レコードを読み出したり、レコードを削除したりすることができます。
+重複したエントリを持つこともできます。
+.Sh オプション
+大文字はコマンドを示します。コマンドが指定されなかった場合は、
+シーケンシャルな読み出しであると想定します。
+.Bl -tag -width Ds
+.It Fl A
+レコードを追加します。データベースが存在しない場合、
+btreeop はそれを作成します。
+.It Fl C
+データベースを作成し、レコードを記入します。
+.It Fl D Ar key
+key を用いてレコードを削除します。
+.It Fl K Ar key
+key を用いてレコードを検索します。
+.It Fl b
+バイトオーダが BIG_ENDIAN であると仮定します。デフォルトでは LITTLE_ENDIAN
+です。
+.It Fl c Ar cashesize
+キャッシュサイズを指定します。BTREEINFO の
+.Nm info.cachesize
+と等価です (btree(3) 参照)。
+.It Fl l
+バイトオーダが LITTLE_ENDIAN であると仮定します。(デフォルトです)
+.It Fl p Ar psize
+ページサイズを指定します。BTREEINFO の
+.Nm info.psize
+と等価です (btree(3) 参照)。
+.It Ar dbname
+データベース名を指定します。デフォルトは 'btree' です。
+.Sh データフォーマット
+データベースを作成する (あるいは追加する) 際、
+.Nm btreeop
+はデータを標準入力から読み込みます。
+データのフォーマットは以下のようになります。
+
+ Key Data\\n
+ Key Data\\n
+ .
+ .
+ .
+
+.El
+
+.Bl -enum -offset indent
+.It
+key とデータはブランク ('\\t' あるいは ' ') で区切られます。
+.It
+key にブランクを含めることはできません。
+.It
+データにはブランクを含めることができます。
+.It
+空のデータは許されません。
+.It
+加えて、META レコードが利用できます。META レコードはブランクで始まる key を
+持ちます。このレコードは、インデックス検索 (-K オプション) だけで読むことが
+できます。使用方法は btreeop によっては制限されません。
+.El
+.Sh 使用例
+データベースの作成
+
+ % btreeop -C
+ key1 data1
+ key2 data2
+ key3 data3
+ ^D
+ %
+
+レコードの追加
+
+ % btreeop -A
+ __.VERSION 2
+ key2 data2-2
+ ^D
+ %
+
+シーケンシャルな読み出し
+
+ % btreeop
+ key2 data2
+ key3 data3
+ key2 data2-2
+ key1 data1
+ %
+
+インデックスによる読み出し
+
+ % btreeop -K key2
+ key2 data2-2
+ key2 data2
+ % btreeop -K ' __.VERSION'
+ __.VERSION 2
+ %
+
+レコードの削除
+
+ % btreeop -D ' __.VERSION'
+ % btreeop -K ' __.VERSION'
+ %
+
+.Sh 関連ファイル
+.Bl -tag -width tags -compact
+.It Pa btree
+デフォルトのデータベース名
+.El
+.Sh 診断
+.Nm btreeop
+は、エラーが発生した場合、値 1 で終了します。その他の場合は、0 で終了します。
+.Sh 関連項目
+.Xr btree 3
+.Sh 作者
+Shigio Yamaguchi (shigio@wafu.netgate.net)
+.Sh 歴史
+.Nm
+コマンドは、FreeBSD 2.2 から登場しました。
diff --git a/ja/man/man1/cal.1 b/ja/man/man1/cal.1
new file mode 100644
index 0000000000..7a917ec90f
--- /dev/null
+++ b/ja/man/man1/cal.1
@@ -0,0 +1,82 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Kim Letkeman.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cal.1 8.2 (Berkeley) 4/28/95
+.\" jpman %Id: cal.1,v 1.2 1997/05/17 15:48:43 horikawa Stab %
+.\".
+.Dd April 28, 1995
+.Dt CAL 1
+.Os
+.Sh 名称
+.Nm cal
+.Nd カレンダを表示する
+.Sh 書式
+.Nm cal
+.Op Fl jy
+.Op Oo Ar month Oc Ar \ year
+.Sh 解説
+.Nm cal
+は簡単なカレンダを表示します。
+もし引数が指定されなかった場合は今月のものを表示します。
+オプションには以下のものがあります。
+.Bl -tag -width Ds
+.It Fl j
+ユリウス日で表示します。(1 月 1 日を第 1 日とする通日です)
+(訳注:天文学での定義とは異なります。[Mar.1996])
+.It Fl y
+今年のカレンダを表示します。
+.El
+.Pp
+パラメータが 1 つの時は西暦年 (1 - 9999) を指定したものとして、
+その年のカレンダを表示します。
+年は完全な形で指定して下さい。例えば
+.Dq Li cal 89
+では 1989 年のカレンダは表示
+.Em しません
+。パラメータが 2 つの時は月 (1 - 12) と年を指定します。
+パラメータを指定しない場合は今月のカレンダを表示します。
+.Pp
+一年は 1 月 1 日から始まります。
+.Pp
+グレゴリオ暦への切り替えは 1752 年 9 月の 3 日目に行われたものと
+しています。
+この時までに、ほとんどの国が切り替えを済ませていました (いくつかの
+国は 1900 年代初期まで切り替えませんでした)。
+切り替えにあたり 11 日分の日付が飛ばされたので、この月の暦は少し
+変わっています。
+.Sh 歴史
+.Nm
+コマンドは
+.At v6
+から登場しました。
diff --git a/ja/man/man1/calendar.1 b/ja/man/man1/calendar.1
new file mode 100644
index 0000000000..6213c63388
--- /dev/null
+++ b/ja/man/man1/calendar.1
@@ -0,0 +1,238 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)calendar.1 8.1 (Berkeley) 6/29/93
+.\" jpman %Id: calendar.1,v 1.2 1997/04/20 09:45:28 jsakai Stab %
+.\"
+.Dd June 29, 1993
+.Dt CALENDAR 1
+.Os
+.Sh 名称
+.Nm calendar
+.Nd 予定表サービス
+.Sh 書式
+.Nm calendar
+.Op Fl a
+.Op Fl A Ar num
+.Op Fl B Ar num
+.Oo Fl t Ar dd
+.Sm off
+.Op . Ar mm Op . Ar year
+.Sm on
+.Oc
+.Op Fl f Ar calendarfile
+.Sh 解説
+.Nm calendar
+は、カレントディレクトリの
+.Pa calendar
+という名前のファイルをチェックし、今日もしくは明日の日付で始まる行を
+表示します。金曜日には、金曜日から月曜日までのイベントを表示します。
+.Pp
+オプションには以下のものがあります:
+.Bl -tag -width Ds
+.It Fl a
+全ユーザの ``calendar'' ファイルを処理し、結果をメールで各ユーザに
+送ります。このオプションを使用するためには、スーパーユーザの権限が必要です。
+.It Fl A Ar num
+今日から
+.Ar num
+日先(未来)までの行を表示します。
+.It Fl B Ar num
+今日から
+.Ar num
+日前(過去)までの行を表示します。
+.It Fl f Pa calendarfile
+デフォルトのカレンダファイルとして
+.Pa calendarfile
+を使用します。
+.It Xo Fl t
+.Sm off
+.Ar dd
+.Op . Ar mm Op . Ar year
+.Sm on
+.Xc
+テスト専用: 指定された値に日付を設定します。
+.El
+.Pp
+各国語でのカレンダを扱うには、
+カレンダファイルのできるだけ最初のほうに
+.Dq LANG=<locale_name>
+という記述を入れておきます。
+その国のカレンダでのイースター名を扱うには、
+.Dq Easter=<national_name>
+(Catholic Easter の場合)
+あるいは
+.Dq Paskha=<national_name>
+(Orthodox Easter の場合)
+という記述を入れます。
+.\" ↑ catholic easter, orthodox easter の訳がわからないのでそのままに
+.\" してあります。どなたか分かる方、修正して下さい。 (J.Sakai)
+.Pp
+各行は月や日で始まらなければなりません。
+数字による表記、文字による表記を含め、ほぼいかなる形式でも受け付けます。
+適切な locale が設定されていれば、
+その国の月表記や曜日表記も使用できます。
+アスタリスク(``*'') 1 つは、全ての月にマッチします。
+曜日だけで月の指定のないものは、毎週のその曜日にマッチします。
+月だけの指定で日のないものは、その月の 1 日(ついたち)にマッチします。
+.\" ↓原文と若干異なるがこの意味であっていると思う (J.Sakai)
+日の指定の後に 2 桁の数字が来た場合は、この数字が月の指定とみなされます。
+.\" 原文は "Two numbers default to the month followed by the day."
+タブではじまる行は直前に指定した日にちが指定されたことになり、
+これによって同一日のイベントを複数の行に記述することが出来ます。
+.Pp
+``Easter'' は今年のイースターであり、
+正または負の整数を後ろにつけることができます。
+.Pp
+``Paskha'' は今年の Orthodox Easter であり、
+正または負の整数を後ろにつけることができます。
+.Pp
+曜日の後ろには ``-4'' ... ``+5'' をつけることができます。
+これらは「最後」「第1」「第2」「第3」「第4」の別名であり、
+「4月の最後の月曜日」といった日付が変動するイベントの記述に用いられます。
+.Pp
+慣習により、日付の後にアスタリスクが付いているイベントは
+決まった日にちではなく、その年によって日にちが変わります。
+.Pp
+イベントの内容は行の中の最初のタブ文字以降に記述します。
+行の中にタブ文字がなければイベント内容は表示されません。
+行の中の最初の文字がタブである場合、
+その行は直前の行の継続行として扱われます。
+.Pp
+``calendar'' ファイルは
+.Xr cpp 1
+によって処理されます。例えば、その会社の休日やミーティングの予定などの
+共有ファイルを include することができます。
+共有ファイルがフルパス名指定されない場合、
+.Xr cpp 1
+はまずカレントディレクトリ(もしくはホームディレクトリ)を参照し、
+次に
+.Pa /usr/share/calendar
+ディレクトリを参照します。空行や C のコメント
+.Pq Li /* ... */
+の部分は無視されます。
+.Pp
+calendar ファイルの例を示します
+(タブ文字 <tab> は強調した \fB\et\fR で示します):
+.Bd -unfilled -offset indent
+LANG=C
+Easter=Ostern
+
+#include <calendar.usholiday>
+#include <calendar.birthday>
+
+6/15\fB\et\fR6月15日 (曖昧だと、デフォルトでは 月/日になります).
+Jun. 15\fB\et\fR6月15日.
+15 June\fB\et\fR6月15日.
+Thursday\fB\et\fR毎週木曜日.
+June\fB\et\fR毎年6月1日.
+15 *\fB\et\fR毎月15日.
+
+May Sun+2\fB\et\fR5月の第2日曜日 (母の日)
+04/SunLast\fB\et\fR4月の最後の日曜日,
+\fB\et\fR欧州のサマータイム
+Easter\fB\et\fRイースター
+Ostern-2\fB\et\fRGood Friday (イースターの2日前)
+Paskha\fB\et\fROrthodox Easter
+
+.Ed
+.Sh 関連ファイル
+.Pp
+.Bl -tag -width calendar.christian -compact
+.It Pa calendar
+カレントディレクトリにあるカレンダファイル。
+.It Pa ~/.calendar
+.Pa カレンダ
+のホームディレクトリ。
+もしこのディレクトリが存在すれば、
+.Nm calendar
+はそこに chdir します。
+.It Pa ~/.calendar/calendar
+カレントディレクトリにカレンダファイルが存在しない場合に
+用いるカンレダファイル。
+.It Pa ~/.calendar/nomail
+このファイルが存在すればメールは送信しません。
+.El
+.Pp
+デフォルトのカレンダファイルとして、以下のものが用意されています:
+.Pp
+.Bl -tag -width calendar.christian -compact
+.It Pa calendar.birthday
+有名な人(およびそれほど有名でない人)の誕生日や没日。
+.It Pa calendar.christian
+キリスト教の休暇。
+このカレンダは、その年にあうように、
+システム管理者が毎年更新する必要があります。
+.It Pa calendar.computer
+コンピュータ関連の人が知っておきたい記念日。
+.It Pa calendar.history
+その他いろいろ。主にアメリカの歴史的な記念日。
+.It Pa calendar.holiday
+その他の記念日。あまり知られていないものや、全く知られていないものも
+含まれています。
+.It Pa calendar.judaic
+ユダヤ教の休暇。
+このカレンダは、その年にあうように、
+システム管理者が毎年更新する必要があります。
+.It Pa calendar.music
+音楽関係の記念日。誕生日、没日。特にロックンロール系。
+.It Pa calendar.usholiday
+アメリカの記念日。
+このカレンダは、その年にあうように、
+システム管理者が毎年更新する必要があります。
+.It Pa calendar.german
+ドイツのカレンダ。
+.It Pa calendar.russian
+ロシアのカレンダ。
+.\" 日本のカレンダーも標準配布されるようになれば、
+.\" 以下のような行を追加しないとね。 (J.Sakai)
+.\" .It Pa calendar.japan
+.\" 日本の暦
+.El
+.Sh 関連項目
+.Xr at 1 ,
+.Xr cpp 1 ,
+.Xr cron 8 ,
+.Xr mail 1
+.Sh 互換性
+以前の
+.Nm calendar
+は、正しい日付であれば、行のどこにあっても認識するように
+プログラムされていましたが、本バージョンの
+.Nm calendar
+は、行の先頭にある日付しか認識しません。
+.Sh 歴史
+.Nm
+コマンドは Version 7 AT&T UNIX から登場しました。
+.Sh バグ
+ユダヤの祝日や月齢は
+.Nm calendar
+では処理できません。
diff --git a/ja/man/man1/cap_mkdb.1 b/ja/man/man1/cap_mkdb.1
new file mode 100644
index 0000000000..b477d0cc07
--- /dev/null
+++ b/ja/man/man1/cap_mkdb.1
@@ -0,0 +1,112 @@
+.\" Copyright (c) 1992 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)cap_mkdb.1 5.4 (Berkeley) 3/6/93
+.\" %Id: cap_mkdb.1,v 1.2.2.1 1997/09/14 20:39:28 jkh Exp %
+.\" jpman %Id: cap_mkdb.1,v 1.2 1997/05/17 15:50:47 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt CAP_MKDB 1
+.Os
+.Sh 名称
+.Nm cap_mkdb
+.Nd ケーパビリティ・データベースを作る
+.Sh 書式
+.Nm cap_mkdb
+.Op Fl v
+.Op Fl f Ar outfile
+.Ar file1
+.Op Ar file2 ...
+.Pp
+.Sh 解説
+.Nm cap_mkdb
+は、指定したファイルを連結して形成した
+.Xr getcap 3
+論理データベースから、ハッシュ化
+されたデータベースを作ります。
+.Pp
+データベースの名前は、先頭に指定したファイルのベース名に文字列
+.Dq .db
+を付け加えたものになります。
+.Xr getcap 3
+ルーチンの検索速度は、オリジナルのテキストファイルよりも、
+このデータベースのほうがずっと高速です。
+.Pp
+ファイル内の ``tc'' エントリは、データベースにストアされる前に展開され
+ます。
+.Pp
+オプションとしては、以下のものがあります:
+.Bl -tag -width XXXXXX -indent
+.It Fl f Ar outfile
+データベースのベース名として別のものを指定します。
+.It Fl v
+データベース内のケーパビリティレコードの登録数を表示します。
+.El
+.Pp
+.Sh 書式
+個々のレコードは二種類の異なるキーを用いてデータベース内に格納されます。
+.Pp
+第一の形式は、キーがレコードの最初のケーパビリティ
+(末端のコロン(``:'')は含みません)から構成され、
+データフィールドがスペシャルバイトとレコードの残りの部分から構成されています。
+スペシャルバイトの値は、0 あるいは 1 のいずれかです。ここで 0 はレコードの
+状態が良好であることを、1 はレコード中に展開することができなかっ
+た ``tc'' ケーパビリティが存在することを示します。
+.Pp
+第二の形式は、キーがレコード最初のケーパビリティの中の名前の一つで
+構成され、データフィールドがスペシャルバイトとレコードの最初のケーパビリティ
+から構成されています。この場合スペシャルバイトの値は 2 です。
+.Pp
+通常の動作においては、まずデータベースから名前を検索します。
+その結果得られるのは、第二の形式のキー/データ組です。
+このキー/データ組のデータフィールドを用いて、
+第一の形式のキー/データ組を検索します。これが
+与えられた名前に対する実際のデータになります。
+.Sh 戻り値
+.Nm cap_mkdb
+ユーティリティは成功した場合 0 を、エラーが起こった場合は 0 より大きな値を
+返します。
+.\"
+.\" 以下の使用例の章は FreeBSD オリジナルマニュアルには無い。
+.\" このような使用例の正当性を容易には確認できないので、
+.\" 残念だがこの章はコメントアウトすることにした。 --- jpman J.Sakai
+.\"
+.\".Sh 使用例
+.\"termcap ファイルにエントリを追加した場合などは、
+.\"このコマンドを用いてデータベースファイルを更新しておきます。
+.\".Pp
+.\".Dl # cap_mkdb -v /usr/share/misc/termcap
+.\".Dl cap_mkdb: 555 capability records
+.Sh 関連項目
+.Xr dbopen 3 ,
+.Xr getcap 3 ,
+.Xr termcap 5
+
diff --git a/ja/man/man1/cat.1 b/ja/man/man1/cat.1
new file mode 100644
index 0000000000..66183b6678
--- /dev/null
+++ b/ja/man/man1/cat.1
@@ -0,0 +1,116 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cat.1 8.3 (Berkeley) 5/2/95
+.\" jpman %Id: cat.1,v 1.3 1997/08/31 14:09:30 horikawa Stab %
+.\" %Id: cat.1,v 1.3.2.1 1997/02/28 07:54:20 mpp Exp %
+.\"
+.Dd May 2, 1995
+.Dt CAT 1
+.Os BSD 3
+.Sh 名称
+.Nm cat
+.Nd ファイルの連結、表示を行う
+.Sh 書式
+.Nm cat
+.Op Fl benstuv
+.Op Fl
+.Op Ar
+.Sh 解説
+.Nm cat
+はファイルを連続的に読み込み、標準出力に書き出します。
+.Ar file
+はコマンドラインに記述された順番で処理されます。
+``-'' は標準入力を表します。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width Ds
+.It Fl b
+.Fl n
+と同じですが、空行を行数として数えません。
+.It Fl e
+.Fl v
+と同じですが、各行の最後に
+.Pq Ql \&$
+を表示します。
+.It Fl n
+行番号を付け加えます。行番号は 1 から始まります。
+.It Fl s
+連続した空行を圧縮します。連続した空行は 1 行の空行
+として出力されます。
+.It Fl t
+.Fl v
+と同じですが、タブを
+.Ql ^I
+で表示します。
+.It Fl u
+出力のバッファリングを行いません。
+.It Fl v
+表示できない文字を目に見える形で表示します。
+control-X は
+.Ql ^X
+、削除文字 (8進数で 0177) は
+.Ql ^?
+と表示されます。
+ASCII 文字でないもの ( 最上位ビットが立っているもの )
+は、
+.Ql M-
+(メタ) のあとに残りの7ビットで表されるキャラクタを
+表示します。
+.El
+.Pp
+.Nm cat
+は実行に成功すると 0 を返し、エラーが起こると 0 より
+大きな値を返します。
+.Sh バグ
+シェルの出力リダイレクトのメカニズムが原因で、
+.Dq Li cat file1 file2 > file1
+は file1 に最初に入っているデータを消去してしまいます!
+.Sh 関連項目
+.Xr head 1 ,
+.Xr more 1 ,
+.Xr pr 1 ,
+.Xr tail 1 ,
+.Xr vis 1
+.Rs
+.%A Rob Pike
+.%T "UNIX Style, or cat -v Considered Harmful"
+.%J "USENIX Summer Conference Proceedings"
+.%D 1983
+.Re
+.Sh 歴史
+.Nm
+は Version 1 AT&T UNIX から登場しました。
+Dennis Ritchie がマニュアルの初版をデザインし、執筆しました。
+
diff --git a/ja/man/man1/catman.1 b/ja/man/man1/catman.1
new file mode 100644
index 0000000000..c0a546af3e
--- /dev/null
+++ b/ja/man/man1/catman.1
@@ -0,0 +1,142 @@
+.\" Copyright (c) March 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" /usr/bin/catman - preformat man pages
+.\"
+.\" %Id: catman.1,v 1.8.2.1 1996/12/10 17:23:05 joerg Exp %
+.\" jpman %Id: catman.1,v 1.3 1997/04/01 14:14:59 horikawa Stab %
+.Dd Mar 12, 1995
+.Dt CATMAN 1
+.Os
+.Sh 名称
+.Nm catman
+.Nd オンラインマニュアルを事前にフォーマットする
+.Sh 書式
+.Nm catman
+.Op Fl f | Fl force
+.Op Fl h | Fl help
+.Op Fl p | Fl print
+.Op Fl r | Fl remove
+.Op Fl v | Fl verbose
+.Op Ar directories...
+.Sh 解説
+.Nm catman
+はマニュアルを ASCII 形式にフォーマットします。これは
+.Ar directories
+で全てのマニュアルについて
+.Sq man program
+とタイプするのと似ています。
+.Ar directories
+はマニュアルの格納されているディレクトリやサブディレクトリを
+スペースかコロンで区切ったものです。
+.Ar directories
+が指定されなかった場合、デフォルトとして
+.Ar /usr/share/man
+が使われます。
+.Sh オプション
+.Bl -tag -width Ds
+.It Fl f , Fl force
+既にある cat 形式のマニュアルへの上書きを強制します。
+普通は、マニュアルが古くなったときだけ、
+フォーマットしなおされるべきものです。
+このオプションは時間と CPU と RAM の無駄使いです。
+.It Fl h , Fl help
+オプションを表示して終了します。
+.It Fl p , Fl print
+実際にはマニュアルのフォーマットを行わず、何を行うかのみを表示します。
+.It Fl r , Fl remove
+不要ファイルを削除します。例えば、
+man 形式の無い cat 形式、
+圧縮された cat 形式がある非圧縮の cat 形式、
+英数字で構成されていないファイル名を持つファイル、
+圧縮された man 形式がある非圧縮の man 形式です。
+.It Fl v , Fl verbose
+より多くの警告を表示します。
+.Sh 使用例
+.Pp
+.Dl $ catman
+.Pp
+.Ar /usr/share/man
+以下のマニュアルを、必要な分だけフォーマットします。
+.Pp
+.Dl $ catman $MANPATH
+.Pp
+ユーザの全てのマニュアルパス以下の
+マニュアルを、必要な分だけフォーマットします。
+.Pp
+.Dl $ catman -f /usr/local/man/man1 /usr/local/man/manl
+.Pp
+.Pa /usr/local/man/man1
+と
+.Pa /usr/local/man/manl
+以下のマニュアルを強制的にフォーマットしなおします。
+.Pp
+.Dl $ catman -p /usr/X11/man
+.Pp
+何が行われるかを表示するだけです。
+.Sh 関連ファイル
+.Bl -tag -width /etc/weeklyxxx -compact
+.Pa /etc/weekly
+このプログラムを起動します
+.Po
+または
+.Pa /etc/daily
+.Pc
+.El
+.Sh 特徴
+既に全てのマニュアルがフォーマットされている場合、
+動作が非常に速くなります。
+いくつかのシステムで採用されている
+.Fl w
+はサポートされていません。
+.Ql whatis
+データベースを再構築するには
+.Xr makewhatis 1
+を使って下さい。
+.Sh バグ
+.Xr man 1
+は setuid プログラムです。ユーザ
+.Sq man
+が cat 形式のマニュアルを格納するディレクトリに
+対して書き込み権限を持つように注意して下さい。
+.Nm catman
+は
+.Sq .so
+というマニュアルをチェックしません。
+マニュアルの必要以上のフォーマットを避けるには
+ハードリンク、シンボリックリンクを使って下さい。
+.Sh 関連項目
+.Xr man 1 ,
+.Xr manpath 1 ,
+.Xr makewhatis 1 .
+.Sh 歴史
+このバージョンの
+.Nm catman
+は
+.Fx 2.1
+から付属されました。
+.Sh 作者
+Wolfram Schneider
+.Aq wosch@FreeBSD.org ,
+Berlin.
diff --git a/ja/man/man1/cccp.1 b/ja/man/man1/cccp.1
new file mode 100644
index 0000000000..88c9831dec
--- /dev/null
+++ b/ja/man/man1/cccp.1
@@ -0,0 +1,650 @@
+.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*-
+.\" See section COPYING for conditions for redistribution
+.\"
+.\" %Id: cpp.1,v 1.3 1994/11/02 09:07:33 deraadt Exp %
+.\" jpman %Id: cccp.1,v 1.2 1997/05/12 00:19:12 jsakai Stab %
+.\"
+.TH cpp 1 "April 30, 1993" "FreeBSD" "GNU Tools"
+.SH 名称
+cpp \- GNU-C 互換のコンパイラプリプロセッサ
+.SH 書式
+.hy 0
+.na
+.TP
+.B cpp
+.RB "[\|" \-$ "\|]"
+.RB "[\|" \-A \c
+.I predicate\c
+.RB [ (\c
+.I value\c
+.BR ) ]\|]
+.RB "[\|" \-C "\|]"
+.RB "[\|" \-D \c
+.I name\c
+.RB [ =\c
+.I definition\c
+\&]\|]
+.RB "[\|" \-dD "\|]"
+.RB "[\|" \-dM "\|]"
+.RB "[\|" "\-I\ "\c
+.I directory\c
+\&\|]
+.RB "[\|" \-H "\|]"
+.RB "[\|" \-I\- "\|]"
+.RB "[\|" "\-imacros\ "\c
+.I file\c
+\&\|]
+.RB "[\|" "\-include\ "\c
+.I file\c
+\&\|]
+.RB "[\|" "\-idirafter\ "\c
+.I dir\c
+\&\|]
+.RB "[\|" "\-iprefix\ "\c
+.I prefix\c
+\&\|]
+.RB "[\|" "\-iwithprefix\ "\c
+.I dir\c
+\&\|]
+.RB "[\|" \-lang\-c "\|]"
+.RB "[\|" \-lang\-c++ "\|]"
+.RB "[\|" \-lang\-objc "\|]"
+.RB "[\|" \-lang\-objc++ "\|]"
+.RB "[\|" \-lint "\|]"
+.RB "[\|" \-M\ [ \-MG "\|]]"
+.RB "[\|" \-MM\ [ \-MG "\|]]"
+.RB "[\|" \-MD\ \c
+.I file\ \c
+\&\|]
+.RB "[\|" \-MMD\ \c
+.I file\ \c
+\&\|]
+.RB "[\|" \-nostdinc "\|]"
+.RB "[\|" \-nostdinc++ "\|]"
+.RB "[\|" \-P "\|]"
+.RB "[\|" \-pedantic "\|]"
+.RB "[\|" \-pedantic\-errors "\|]"
+.RB "[\|" \-traditional "\|]"
+.RB "[\|" \-trigraphs "\|]"
+.RB "[\|" \-U \c
+.I name\c
+\&\|]
+.RB "[\|" \-undef "\|]"
+.RB "[\|" \-Wtrigraphs "\|]"
+.RB "[\|" \-Wcomment "\|]"
+.RB "[\|" \-Wall "\|]"
+.RB "[\|" \-Wtraditional "\|]"
+.br
+.RB "[\|" \c
+.I infile\c
+.RB | \- "\|]"
+.RB "[\|" \c
+.I outfile\c
+.RB | \- "\|]"
+.ad b
+.hy 1
+.SH 解説
+C プリプロセッサは、
+実際のコンパイルの前にプログラムを変換するために
+C コンパイラから自動的に利用される
+.I マクロプロセッサ\c
+です。
+長い記述を簡略してマクロとして定義することができるため、
+マクロプロセッサと呼ばれます。
+
+C プリプロセッサは、以下の4つの機能を提供します。
+.TP
+\(bu
+ヘッダファイルを読み込みます。
+これは
+プログラムに組み込まれる
+(C 言語の)宣言の入ったファイルです。
+.TP
+\(bu
+C 言語の任意の部分の省略形として \c
+.I マクロ\c
+\&を定義し、C プリプロセッサがプログラム内の全てのマクロを
+その定義で置き換えます。
+.TP
+\(bu
+条件文の処理をします。専用のプリプロセッサコマンドを用いて、
+いろいろな条件にしたがってプログラムの一部を含めたり除外したりできます。
+.TP
+\(bu
+行番号の制御をします。
+ソースファイルと
+コンパイルされた中間ファイルとを組み合わせたり再アレンジしたりするプログラムを
+用いる場合、
+コンパイラにオリジナルのソースの何行目であるかを知らせるための、
+行番号制御のプリプロセッサコマンドを利用できます。
+.PP
+C プリプロセッサは、そのインプリメントによって細かな部分に違いが
+いくつかあります。GNU C プリプロセッサの完全なドキュメントは、
+.B info
+ファイルの `\|\c
+.B cpp.info\c
+\&\|', もしくは、マニュアルの
+.I The C Preprocessor\c
+\&を参照して下さい。
+この双方は `\|\c
+.B cpp.texinfo\c
+\&\|'から生成されます。GNU C プリプロセッサは ANSI Standard C のスーパセットと
+なっています。
+
+ANSI Standard C では、今日 C プログラムで一般的に用いられている多くの
+(無害な)構造が認められていません。
+この非互換性はユーザにとっては不便であり、そのため
+GNU C preprocessor ではこの記述をデフォルトで受け付けるように作られています。
+厳密にいえば、
+ANSI Standard C にするためには
+オプションとして `\|\c
+.B \-trigraphs\c
+\&\|', `\|\c
+.B \-undef\c
+\&\|', `\|\c
+.B \-pedantic\c
+\&\|'をつけなければなりません。
+しかし経験則から、厳密な ANSI Standard C にあわせてこうした設定を
+行なうと支障のある場合が多いことがわかっています。
+
+ほとんどの場合は、C プリプロセッサは明示的に実行する必要はありません。
+C コンパイラが自動的に実行してくれるからです。しかしながら、
+明示的にプリプロセッサを実行するのが有効なことが個々にはあります。
+
+C プリプロセッサ
+は、引数として \c
+.I infile\c
+\& と
+\c
+.I outfile\c
+\&の 2 つのファイル名を期待します。
+プリプロセッサは `\|\c
+.B #include\c
+\&\|'で指定したファイルと一緒に \c
+.I infile\c
+を読み込みます。
+入力ファイルの組合せで作られた出力は、
+全て \c
+.I outfile\c
+\&に書かれます。
+
+.I infile\c
+\& と \c
+.I outfile\c
+\& の指定に `\|\c
+.B \-\c
+\&\|'を使用することができます。\c
+.I infile\c
+\& が `\|\c
+.B \-\c
+\&\|' であれば\c
+\& 標準入力からデータを読み、\c
+.I outfile\c
+\& が `\|\c
+.B \-\c
+\&\|' であれば標準出力へ結果を書きます。もし \c
+.I outfile\c
+\& もしくは両方のファイル名が省略された場合、
+省略されたファイルの代わりに標準入力と標準出力が使われます。
+.SH オプション
+以下が C プリプロセッサが受け付けるオプションの一覧です。
+これらのオプションは、
+プリプロセッサがコンパイラから起動されている場合にも
+自動的に引き渡されるので、
+C プログラムをコンパイルする際にも指定することができます。
+.TP
+.B \-P
+`\|\c
+.B #\c
+\&\|'-行番号
+という行番号情報をプリプロセッサの出力に含めません。
+これは、C 以外の言語で行番号情報が含まれているとエラーを起こす言語を
+処理する場合に有用でしょう。
+.TP
+.B \-C
+コメントを削除せず、そのまま出力ファイルに含めます。
+マクロ呼び出しの引数に現れるコメントはマクロ呼び出しの展開後にコピーされます。
+.TP
+.B -traditional
+ANSI ではなく、旧形式の C の文法として解釈します。
+.TP
+.B -trigraphs
+ANSI標準のトリグラフ(trigraph)構文を処理します。
+これは ANSI C で 1 文字を表示すると定められた `\|\c
+.B ??\c
+\&\|' で始まる 3 文字の並びです。例えば、`\|\c
+.B ??/\c
+\&\|' は `\|\c
+.BR "\e" "\|'"
+を表しますので、`\|\c
+.B '??/n'\c
+\&\|' は改行文字の文字定数となります。
+厳密に言えば、GNU C プリプロセッサの `\|\c
+.B \-trigraphs\c
+\&\|' オプションは ANSI C 標準を完全にはサポートしません。
+が、普通のユーザならばその違いに気づく事は稀でしょう。
+
+トリグラフについで、これ以上知りたいとは思わないでしょ?
+.TP
+.B \-pedantic
+`\|\c
+.B #else\c
+\&\|' や `\|\c
+.B #endif\c
+\&\|' の後にコメント以外のテキストがつくといった場合に、
+ANSI C 標準で求められる警告を出力します。
+.TP
+.B \-pedantic\-errors
+`\|\c
+.B \-pedantic\c
+\&\|' に似ていますが、警告ではなくエラーにします。
+.TP
+.B \-Wtrigraphs
+トリグラフがあると警告を出力します(ただし、トリグラフの処理は行います)。
+.TP
+.B \-Wcomment
+.TP
+.B \-Wcomments
+コメント開始シーケンスである `\|\c
+.B /*\c
+\&\|' がコメント中に存在したならば警告を発生します
+(両形式は同じ効果を持ちます)。
+.TP
+.B \-Wall
+`\|\c
+.B \-Wtrigraphs\c
+\&\|' と `\|\c
+.B \-Wcomment\c
+\&\|' (ただし
+`\|\c
+.B \-Wtraditional\c
+\&\|' は除く) を指定したのと同じです。
+.TP
+.B \-Wtraditional
+ANSI と伝統派の C とで異なる振る舞いをとる構文が出現した場合に
+警告を発します。
+.TP
+.BI "\-I " directory\c
+\&
+ディレクトリ \c
+.I directory\c
+\& をヘッダファイルを検索するディレクトリリストの末尾に追加します。
+このオプションは、指定したディレクトリが
+システムのヘッダファイルが格納されているディレクトリよりも先に
+検索されるので、ユーザ自身の作成したバージョンで
+システムが提供するヘッダファイルを上書きさせることもできます。
+1 つ以上の `\|\c
+.B \-I\c
+\&\|' オプションを使用する場合、ディレクトリは左から右の順番で検索され、
+標準のシステムヘッダファイルはその後になります。
+.TP
+.B \-I\-
+`\|\c
+.B \-I\-\c
+\&\|' オプションよりも前に指定された `\|\c
+.B \-I\c
+\&\|' オプションで与えられたディレクトリは、`\|\c
+.B #include \c
+\&"\c
+.I file\c
+\&"\c
+\&\|' のインクルード文の場合にのみ検索されます。`\|\c
+.B #include <\c
+.I file\c
+\&>\c
+\&\|' では検索されません。
+
+オプション `\|\c
+.B \-I\-\c
+\&\|' の後のオプション `\|\c
+.B \-I\c
+\&\|' に追加のディレクトリが指定された場合、それらのディレクトリは
+全ての `\|\c
+.B #include\c
+\&\|' 文で検索されます。
+
+付け加えて言うならば、`\|\c
+.B \-I\-\c
+\&\|' オプションを指定すると、カレントディレクトリは `\|\c
+.B #include \c
+.I \&"file\c
+\&"\c
+\&\|' 文に対する最初の検索ディレクトリではなくなります。
+それゆえ、カレントディレクトリは明示的に `\|\c
+.B \-I.\c
+\&\|' として指定された場合にのみ検索されることになります。
+`\|\c
+.B \-I\-\c
+\&\|' と `\|\c
+.B \-I.\c
+\&\|' を双方とも指定することで、どのディレクトリがカレントディレクトリ
+の前に、あるいは後に検索されるかを厳密に指定することができます。
+.TP
+.B \-nostdinc
+ヘッダファイルの検索に標準システムディレクトリを用いません。`\|\c
+.B \-I\c
+\&\|' オプションで指定したディレクトリ(と、もし適切であるならば
+カレントディレクトリ)が検索されます。
+.TP
+.B \-nostdinc++
+ヘッダファイルの検索に C++ 仕様の標準ディレクトリを用いません。
+が、その他の標準ディレクトリは検索します。
+(このオプションは libg++ の構築時に用いられます。)
+.TP
+.BI "\-D " "name"\c
+\&
+\c
+.I name\c
+\& を既定義のマクロとして、`\|\c
+.B 1\c
+\&\|' に定義します。
+.TP
+.BI "\-D " "name" = definition
+\&
+\c
+.I name\c
+\& をマクロとして\c
+.I definition\c
+\& に定義します。\c
+.I definition\c
+\& の内容に制限はありませが、プリプロセッサをシェルやシェルに類似した
+プログラムから起動している場合、シェルの文法上意味を持つスペース
+などの文字を保護するため、そのシェルのクォート文法を使用する必要が
+あります。もし、1 つの
+.I name\c
+\& に対して複数の `\|\c
+.B \-D\c
+\&\|' を指定したならば、もっとも右側の定義が有効となります。
+.TP
+.BI "\-U " "name"\c
+\&\c
+.I name\c
+\& を定義しません。同一の \c
+.I name\c
+\& に対して `\|\c
+.B \-U\c
+\&\|' と `\|\c
+.B \-D\c
+\&\|' の双方が指定された場合、`\|\c
+.B \-U\c
+\&\|' が `\|\c
+.B \-D\c
+\&\|' に優先し、 \c
+.I name\c
+\& は定義されません。
+.TP
+.B \-undef
+非標準のマクロを一切定義しません。
+.TP
+.BI "\-A " "name(" value )
+(\c
+.B #assert\c
+\& コマンドと同じ方法で)
+述語 \c
+.I name\c
+\& にトークンリスト \c
+.I value\c
+\& をアサートします。シェルのコマンドライン上では括弧を
+エスケープするなりクォートすることを忘れないで下さい。
+
+既定義のアサーション全てを取り消すのに、`\|\c
+.B \-A-\c
+\&\|' を使えます。これはまた、既定義のマクロ全てを無効にします。
+.TP
+.B \-dM
+プリプロセッサの結果を出力する代わりに、
+プリプロセッサの実行中に定義された、既定義のものも含む全てのマクロの
+`\|\c
+.B #define\c
+\&\|' コマンドのリストを出力します。
+これは、使用しているプリプロセッサのそのバージョンで、
+どんなマクロが既定義であるかを知る方法を提供してくれます。
+それには、空のファイル `\|\c
+.B foo.h\c
+\&\|' をこのオプションで処理してみればよいのです。
+.sp
+.br
+touch\ foo.h;\ cpp\ \-dM\ foo.h
+.br
+.sp
+はすべての既定義マクロの値を見せてくれるでしょう。
+.TP
+.B \-dD
+`\|\c
+.B \-dM\c
+\&\|' に似てますが、2 つの相違点があります。これは既定義マクロを
+出力\c
+.I しません\c
+\&。また、`\|\c
+.B #define\c
+\&\|' コマンドとプリプロセス結果の\c
+.I 双方\c
+\& を出力します。これらの出力は両方とも標準出力に行われます。
+.PP
+.TP
+.BR \-M\ [ \-MG ]
+プリプロセスの結果を出力する代わりに、main のソースファイルの依存性を
+記述する\c
+.B make\c
+\& 規則を出力します。
+プリプロセッサはソースファイルのオブジェクトファイル名、コロン、
+そのすべてのインクルードファイル名から成る\c
+.B make\c
+\& 規則を出力します。複数のインクルードファイルがある場合、規則は`\|\c
+.B \\\\\c
+\&\|'-改行で複数行に区切られます。
+
+`\|\c
+.B \-MG\c
+\&\|' は、見つけられなかったヘッダファイルは(コンパイルの途中で)生成され、
+ソースファイルと同じディレクトリに存在するものとして扱います。`\|\c
+.B \-M\c
+\&\|' と共に指定しなければなりません。
+
+この機能は自動的に Makefile を更新するのに使います。
+.TP
+.BR \-MM\ [ \-MG ]
+これは `\|\c
+.B \-M\c
+\&\|' に似てますが、`\|\c
+.B #include
+"\c
+.I file\c
+\&"\c
+\&\|' でインクルードされるファイルのみを扱う点が異なります。`\|\c
+.B #include
+<\c
+.I file\c
+\&>\c
+\&\|' でインクルードされるシステムヘッダファイルは無視されます。
+.TP
+.BI \-MD\ file
+これも `\|\c
+.B \-M\c
+\&\|' に似てますが、依存情報が`\|\c
+.I file\c
+\&\|' に書き出されます。\(em\&`\|\c
+.B \-MD\c
+\&\|' を指定したファイルの処理もこれに加えて行われ、`\|\c
+.B \-M\c
+\&\|' のように通常の処理を抑制することはありません。
+
+gcc を実行する場合は `\|\c
+.I file\c
+\&\|' 引数を指定してはいけません。gcc は、入力ファイル名の末尾の
+`\|\c
+.B .c\c
+\&\|' を `\|\c
+.B .d\c
+\&\|' で置き換えたファイル名を出力に用いるからです。
+
+Mach では、`\|\c
+.B make\c
+\&\|' コマンドで便利なように複数のファイルを 1 つの依存規則ファイルに
+まとめるユーティリティ \c
+.B md\c
+\& が利用できます。
+.TP
+.BI \-MMD\ file
+`\|\c
+.B \-MD\c
+\&\|' に似てますが、ユーザのヘッダファイルのみを扱い、システムヘッダは
+無視する点が異なります。
+.TP
+.B \-H
+通常の動作に加えて、
+使用されたヘッダファイルのファイル名を出力します。
+.TP
+.BI "\-imacros " "file"\c
+\&
+ファイル \c
+.I file\c
+\& を入力として処理しますが、
+標準の入力ファイルを処理する前にその結果の出力を破棄します。
+.I file\c
+\& によって生成される出力は捨てられるため、`\|\c
+.B \-imacros \c
+.I file\c
+\&\c
+\&\|' の処理結果の影響は、\c
+.I file\c
+\& 中に記述されたマクロがメインの入力ファイル中で使用可能になることだけです。
+プリプロセッサは、`\|\c
+.B \-imacros\c
+.I file\c
+\&\|' を処理する前に、
+コマンドラインから与えられた全ての `\|\c
+.B \-D\c
+\&\|' や `\|\c
+.B \-U\c
+\&\|' オプションを評価します。
+.TP
+.BI "\-include " "file"\c
+\&
+ファイル \c
+.I file\c
+\& を、標準の入力ファイルの前に処理し、その結果出力をインクルードします。
+.TP
+.BI "\-idirafter " "dir"
+ディレクトリ \c
+.I dir\c
+\& を第 2 インクルードパスに加えます。第 2 インクルードパス中の
+ディレクトリは、メインインクルードパス (オプション
+`\|\c
+.B \-I\c
+\&\|' によって追加されます) 中にヘッダファイルを探した結果
+発見できなかった場合に検索されます。
+.TP
+.BI "\-iprefix " "prefix"
+\c
+.I prefix\c
+\& を、その後に続く `\|\c
+.B \-iwithprefix\c
+\&\|'
+オプション用のプレフィックスとして使用します。
+.TP
+.BI "\-iwithprefix " "dir"
+ディレクトリを第 2 インクルードパスに追加します。ディレクトリ名は \c
+.I prefix\c
+\& と \c
+.I dir\c
+\& を連結することによって得られます。ここで \c
+.I prefix
+は `\|\c
+.B \-iprefix\c
+\&\|' オプションによって指定されたものです。
+.TP
+.B \-lang-c
+.TP
+.B \-lang-c++
+.TP
+.B \-lang-objc
+.TP
+.B \-lang-objc++
+ソースの言語を指定します。`\|\c
+.B \-lang-c++\c
+\&\|' は、プリプロセッサに C++ のコメント文と、C++ 用の追加の
+デフォルトインクルードディレクトリを処理させ、`\|\c
+.B \-lang-objc\c
+\&\|' は、Objective C の `\|\c
+.B #import\c
+\&\|' ディレクティブを使用可能にします。`\|\c
+.B \-lang-c\c
+\&\|' は明示的にこれらの機能の切り離しを指定し、`\|\c
+.B \-lang-objc++\c
+\&\|' は双方を利用可能にします。
+
+これらのオプションはコンパイラドライバ \c
+.B gcc\c
+\& によって生成されますが、`\|\c
+.B gcc\c
+\&\|' のコマンドラインから引き渡すことはできません。
+.TP
+.B \-lint
+コメント中に埋め込まれた、プログラムチェッカ \c
+.B lint\c
+\& のコマンドを見つけ出し、それらの前に `\|\c
+.B #pragma lint\c
+\&\|' を埋め込みます。例えば、コメント `\|\c
+.B /* NOTREACHED */\c
+\&\|' は `\|\c
+.B #pragma lint
+NOTREACHED\c
+\&\|' になります。
+
+このオプションは直接 \c
+.B cpp\c
+\& を呼び出す場合にのみ使えます。\c
+.B gcc\c
+\& は、コマンドラインからこのオプションを引き渡しません。
+.TP
+.B \-$
+識別子中での `\|\c
+.B $\c
+\&\|' の使用を禁止します。これは ANSI 規格からの要求です。
+オプション `\|\c
+.B \-ansi\c
+\&\|' を指定した場合、\c
+.B gcc\c
+\& は自動的にこのオプションを設定します。が、\c
+.B gcc\c
+\& は `\|\c
+.B \-$\c
+\&\|' オプションそれ自身を認識しているわけではありません。
+\(em\& `\|\c
+.B \-ansi\c
+\&\|' の他の効果を抜きにこれを使うには、
+プリプロセッサを直接呼び出さねばなりません。
+.SH 関連項目
+.B info\c
+\&;
+.I The C Preprocessor\c
+, Richard M. Stallman.
+中のエントリ
+.RB "`\|" cpp "\|'"
+.br
+.BR gcc "(" 1 ");"
+.B info\c
+\&;
+.I
+Using and Porting GNU CC (for version 2.0)\c
+, Richard M. Stallman.
+中のエントリ
+.RB "`\|" gcc "\|'"
+.SH 著作権表示
+Copyright (c) 1991, 1992, 1993 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
diff --git a/ja/man/man1/cd.1 b/ja/man/man1/cd.1
new file mode 100644
index 0000000000..d9b54041ee
--- /dev/null
+++ b/ja/man/man1/cd.1
@@ -0,0 +1,99 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cd.1 8.1 (Berkeley) 6/5/93
+.\" %Id: cd.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp %
+.\" jpman %Id: cd.1,v 1.2 1997/03/26 14:56:29 horikawa Stab %
+.\"
+.Dd June 5, 1993
+.Dt CD 1
+.Os BSD 4
+.Sh 名称
+.Nm cd
+.Nd ワーキングディレクトリを変更する
+.Sh 書式
+.Nm cd
+.Ar directory
+.Sh 解説
+.Ar directory
+には、新しいワーキングディレクトリになる絶対もしくは相対パス名
+を記述します。
+cd の相対パス名の解釈は、環境変数のCDPATH
+に依存します(下記参照)。
+.Sh 環境変数
+以下の環境変数が cd の実行に影響します:
+.Pp
+.Bl -tag -width indent
+.It Ev CDPATH
+もし、オペランド
+.Ar directory
+がスラッシュ (/) で始まらず、かつ、最初がドット (.) やドット-ドット (..)
+でもない場合、
+.Nm cd
+は環境変数
+.Ev CDPATH
+に記述された各ディレクトリの相対ディレクトリを順番に検索します。
+新しいワーキングディレクトリは最初に見つかったディレクトリになります。
+.Ev CDPATH
+でディレクトリ名として空の文字列を指定した場合にはカレントディレクトリを
+表します。
+新しいワーキングディレクトリが
+.Ev CDPATH
+を用いて展開された場合には、その値が標準出力に表示されます。
+.It Ev HOME
+もし
+.Nm cd
+が引数無しで起動された場合で、環境変数
+.Ev HOME
+が存在しディレクトリ名が書かれている場合には、
+そのディレクトリが新しいワーキングディレクトリになります。
+.El
+.Pp
+環境変数に関する詳細については
+.Xr csh 1
+を参照して下さい。
+.Pp
+.Nm cd
+は成功時には 0 を、エラーが起こった時は
+0 より大きな値を返します。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr pwd 1 ,
+.Xr sh 1 ,
+.Xr chdir 2
+.Sh 規格
+.Nm cd
+は
+.St -p1003.2
+互換のはずです。
diff --git a/ja/man/man1/cdcontrol.1 b/ja/man/man1/cdcontrol.1
new file mode 100644
index 0000000000..0a0fec188d
--- /dev/null
+++ b/ja/man/man1/cdcontrol.1
@@ -0,0 +1,163 @@
+.\" %Id: cdcontrol.1,v 1.8.2.1 1997/09/15 06:27:47 charnier Exp %
+.\" jpman %Id: cdcontrol.1,v 1.3 1997/07/22 09:20:03 mutoh Stab %
+.\"
+.Dd July 3, 1995
+.Dt CDCONTROL 1
+.Os FreeBSD
+.Sh 名称
+.Nm cdcontrol
+.Nd コンパクトディスク制御ユーティリティ
+.Sh 書式
+.Nm cdcontrol
+.Op Fl s
+.Op Fl v
+.Op Fl f Ar discname
+.Op Ar command args ...
+.Sh 解説
+.Nm
+はオーディオ CD プレイヤーを操作するためのプログラムです。
+device には
+cd0 や mcd0 などを指定します。
+.Pp
+もし、device が指定されなかった場合、環境変数
+.Ev DISC
+をデバイス名として利用します。
+.Pp
+コマンドを指定しない場合、
+.Nm
+は対話モードになり、標準入力からコマンドを読み込みます。
+.Pp
+以下のオプションを使用可能です。
+.Bl -tag -width flag
+.It Fl s
+サイレントモード - テーブルヘッダ及び人間が可読なコメントを表示しません。
+.It Fl v
+冗長モード - 表示できる情報は全て表示します。
+.It Fl f Ar discname
+/dev/cd0c や mcd0 といったデバイス名を指定します。
+絶対パス及び /dev からの相対パスの指定が可能です。
+必要ならば最後に `c' を追加します。
+.El
+.Pp
+現時点では以下のコマンドが利用できます。
+コマンドをユニークに特定できるために必要な文字だけ指定する
+必要があります。
+語
+.Nm play
+は省略可能です。
+.Bl -tag -width Cm
+
+.It Cm play first_track last_track
+.Nm first_track
+で指定されたトラックから
+.Nm last_track
+で指定されたトラックまで演奏します。最初のトラックが1番になります。
+
+.It Cm play start_m:start_s.start_f Op Ar end_m:end_s.end_f
+絶対アドレス (MSF) を元に演奏します。演奏開始する時間は
+.Nm start_m
+に演奏開始する分を、
+.Nm start_s
+に秒を、
+.Nm start_f
+にはフレーム番号を指定します。演奏終了の時間は
+.Nm end_m
+に演奏終了する分を、
+.Nm end_s,
+に秒を、
+.Nm end_f
+にフレーム番号を指定することで指定できます。分指定で指定できる数値は 0
+から 99 の範囲の値です。秒には 0 から 59 までが指定できます。フレーム
+番号は 0 から 74 までの範囲で指定できます。
+
+.It Cm play Op Ar #start_block Op length
+論理ブロック
+.Nm start_block
+から
+.Nm length
+論理ブロック分だけ演奏します。
+
+.It Cm pause
+演奏を停止します。ディスクは停止しません。
+
+.It Cm resume
+演奏を再開します。
+.Nm pause
+で一時停止した後に使います。
+
+.It Cm stop
+ディスクを停止します。
+
+.It Cm eject
+ディスクを取り出します。
+
+.It Cm close
+ディスクを挿入します。
+
+.It Cm setvol left_channel right_channel
+左チャンネルのボリュームを
+.Nm left_channel
+にセットし、右チャンネルを
+.Nm right_channel
+にセットします。指定できる値は 0 から 255 の範囲の値です。
+
+.It Cm volume Ar mute
+音を消します。
+
+.It Cm volume Ar mono
+モノラルモードにします。
+
+.It Cm volume Ar stereo
+ステレオモードにします。
+
+.It Cm volume Ar left
+左サブトラックを左と右の両チャネルで演奏します。
+
+.It Cm volume Ar right
+右サブトラックを左と右の両チャネルで演奏します。
+
+.It Cm info
+目次を表示します。
+
+.It Cm status
+ディスクに関する以下のような情報を表示します。
+現在の演奏の状態と位置、
+現在のメディアカタログ状態、
+現在の左チャネル及び右チャネルのボリューム値。
+
+.It Cm help
+利用可能なコマンドの一覧を表示します。
+
+.It Cm debug Ar on
+CD デバイスドライバのデバッグモードを有効にします。
+
+.It Cm debug Ar off
+ドライバのデバッグモードを無効にします。
+
+.It Cm reset
+デバイスに対するハードウェアリセットを実行します。
+
+.It Cm set Ar msf
+minute-second-frame ioctl モードに設定します (デフォルト)。
+
+.It Cm set Ar lba
+LBA ioctl モードに設定します。
+
+.It Cm quit
+プログラムを終了します。
+
+.Sh 関連ファイル
+.Bl -tag -width /dev/rmcd0c -compact
+.It Pa /dev/rcd0c
+.It Pa /dev/rmcd0c
+.It Pa /dev/rwcd0c
+.El
+.Sh 作者
+Jean-Marc Zucconi,
+Andrey A.\ Chernov,
+Serge V.\ Vakulenko
+.Sh 歴史
+.Nm
+コマンドは
+.Fx 2.1
+から登場しました。
diff --git a/ja/man/man1/checknr.1 b/ja/man/man1/checknr.1
new file mode 100644
index 0000000000..170e020daf
--- /dev/null
+++ b/ja/man/man1/checknr.1
@@ -0,0 +1,160 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)checknr.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: checknr.1,v 1.3 1997/06/18 14:14:50 jsakai Stab %
+.\"
+.Dd June 6, 1993
+.Dt CHECKNR 1
+.Os BSD 4
+.Sh 名称
+.Nm checknr
+.Nd nroff および troff ファイルをチェックする
+.Sh 書式
+.Nm checknr
+.Op Fl a Ns Ar \&.x1.y1.x2.y2. ... \&.xn.yn
+.Op Fl c Ns Ar \&.x1.x2.x3 ... \&.xn
+.Op Fl s
+.Op Fl f
+.Ar file
+.Sh 解説
+.Nm checknr
+は、
+.Xr nroff 1
+や
+.Xr troff 1
+の入力ファイルのリストに対して、デリミタの開始および終了の不一致や
+間違ったコマンドを含む、ある種類のエラーをチェックします。
+ファイルが指定されなかった場合、
+.Nm checknr
+は標準入力をチェックします。
+.Pp
+オプション
+.Bl -tag -width Ds
+.It Fl a
+既知マクロのリストに追加のマクロペアを追加します。
+その後ろには 6 文字のグループが続かなくてはなりません。
+各グループはマクロのペアを定義します。
+6 文字はピリオドと最初のマクロ名、更にピリオドと2番目のマクロ名です。
+例えば、 .BS と .ES のペアを定義するためには、
+.Sq Li \-a.BS.ES
+を使ってください。
+.It Fl c
+通常なら未定義であるといわれるコマンドを定義します。
+.It Fl f
+.Nm checknr
+に
+.Ql \ef
+のフォント変更を無視させます。
+.It Fl s
+.Ql \es
+のサイズ変更を無視させます。
+.El
+.Pp
+デリミタのチェックは以下の通りです。
+.Bl -enum
+.It
+\efx ... \efP を使ったフォントの変更。
+.It
+\esx ... \es0 を使ったサイズの変更。
+.It
+ .TS と .TEマクロのようにいつもペアで使われる、
+``開始...終了''形式のマクロ。
+.El
+.Pp
+.Nm checknr
+は、
+.Xr lint 1
+と同じように、
+.Nm checknr
+によるチェックを念頭に置いて作成されたドキュメントを
+チェックするのに用いることを意図しています。
+.\"(チェック者注) この部分若干意訳。原文は以下の通り。(sakai@jp.freebsd.org)
+.\".Nm Checknr
+.\"is intended for use on documents that are prepared with
+.\".Nm checknr
+.\"in mind, much the same as
+.\".Xr lint 1 .
+コマンドは、記述形式が
+.Ql \ef
+と
+.Ql \es
+コマンドに対して、
+各
+.Ql \efx
+は
+.Ql \efP
+で終了されており、
+.Ql \esx
+は
+.Ql \es0
+で終了されているようなものを期待しています。
+直接次のフォントに切替えたり、
+明示的にもとのフォントやポイントサイズを指定したりしても動作しますし、
+実際そのようにしているドキュメントは数多く存在しますが、
+.Nm checknr
+はそのような使用法に対して警告を発します。
+おそらく
+.Ql \efP
+と
+.Ql \es0
+形式を使うほうがよいはずなので、
+このようなスタイルを用いることは、
+ドキュメント執筆スタイルの向上に寄与すると考えて下さい。
+.Pp
+.Nm checknr
+は、
+.Xr ms 7
+と
+.Xr me 7
+マクロパッケージを認識します。
+.Sh 関連項目
+.Xr nroff 1 ,
+.Xr troff 1 ,
+.Xr me 7 ,
+.Xr ms 7
+.\" .Xr checkeq 1 ,
+.Sh 診断
+.Bd -ragged -compact
+デリミタが一致しない時に、警告を出します。
+コマンドを認識できない時に、警告を出します。
+コマンドの文法について、さまざまな警告を出します。
+.Ed
+.Sh バグ
+.Fl a
+を用いて 1 文字のマクロ名を定義する方法がありません。
+.Pp
+条件文のような、ある種の正当な構造を認識できません。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.0
+から登場しました。
diff --git a/ja/man/man1/chflags.1 b/ja/man/man1/chflags.1
new file mode 100644
index 0000000000..737ebd82c1
--- /dev/null
+++ b/ja/man/man1/chflags.1
@@ -0,0 +1,143 @@
+.\" Copyright (c) 1989, 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)chflags.1 8.2 (Berkeley) 3/31/94
+.\" %Id: chflags.1,v 1.2.6.3 1997/06/29 08:48:52 julian Exp %
+.\" jpman %Id: chflags.1,v 1.3 1997/06/18 14:15:48 jsakai Stab %
+.\"
+.Dd March 31, 1994
+.Dt CHFLAGS 1
+.Os
+.Sh 名称
+.Nm chflags
+.Nd ファイルのフラグを変更する
+.Sh 書式
+.Nm chflags
+.Oo
+.Fl R
+.Op Fl H | Fl L | Fl P
+.Oc
+.Ar flags
+.Ar file ...
+.Sh 解説
+.Nm chflags
+は指定したファイルのフラグを、
+.Ar flags
+で指定した値に変更します。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width Ds
+.It Fl H
+.Fl R
+オプションが指定されていれば、引数で指定されたシンボリックリンクを
+たどります
+(木構造の検索中にみつかったシンボリックリンクはたどりません)。
+.It Fl L
+.Fl R
+オプションが指定されていれば、全てのシンボリックリンクをたどります。
+.It Fl P
+.Fl R
+オプションが指定されていれば、どのシンボリックリンクもたどりません。
+.It Fl R
+指定されたファイル自身ではなく、
+そのファイル以下のディレクトリ階層すべての
+フラグを変更します。
+.El
+.Pp
+フラグはキーワードをコンマで区切ったものです。
+現在定義されているキーワードは以下のとおりです:
+.Bd -literal -offset indent compact
+arch archived フラグをセットします (スーパユーザのみ)
+dump dump フラグをセットします
+sappnd system append-only (システムレベルでの追加専用) フラグをセットします
+ (スーパユーザのみ)
+schg system immutable (システムレベルでの変更不可) フラグをセットします
+ (スーパユーザのみ)
+sunlnk system undeletable (システムレベルでの削除不可) フラグをセットします
+ (スーパユーザのみ)
+uappnd user append-only (ユーザレベルでの追加専用) フラグをセットします
+ (所有者またはスーパユーザのみ)
+uchg user immutable (ユーザレベルでの変更不可) フラグをセットします
+ (所有者またはスーパユーザのみ)
+uunlnk user undeletable (ユーザレベルでの削除不可) フラグをセットします
+ (所有者またはスーパユーザのみ)
+archived、sappend、schange、simmutable、uappend、uchange、uimmutable,
+sunlink, uunlink
+ は上記のキーワードのエイリアスです。
+.Ed
+.Pp
+オプションキーワードの前に
+.Dq no
+をつけると、そのフラグを無効にします。
+例えば、
+.Bd -literal -offset indent compact
+nodump dump フラグをクリアします
+.Ed
+.Pp
+シンボリックリンクにはフラグはありません。
+よって、
+.Fl H
+あるいは
+.Fl L
+オプションを指定せずにシンボリックリンクに
+対して
+.Nm chflags
+を実行した場合、常に成功しますが、何の効果もありません。
+.Fl H
+、
+.Fl L
+、
+.Fl P
+オプションは
+.Fl R
+オプションを指定しない限り無視されます。
+また、これらのオプションはお互いの効果を上書きするため、
+最後に指定されたオプションによってコマンドの動作が決まります。
+.Pp
+ファイルのフラグを見るには "ls -lo" とします。
+.Pp
+.Nm chflags
+は実行に成功すると 0 を、エラーが発生すると 0 より大きい値を
+戻り値として返します。
+.Sh 関連項目
+.Xr ls 1 ,
+.Xr chflags 2 ,
+.Xr stat 2 ,
+.Xr fts 3 ,
+.Xr symlink 7
+.Sh 歴史
+.Nm chflags
+は
+.Bx 4.4
+に初めて登場しました。
diff --git a/ja/man/man1/chgrp.1 b/ja/man/man1/chgrp.1
new file mode 100644
index 0000000000..134b29643c
--- /dev/null
+++ b/ja/man/man1/chgrp.1
@@ -0,0 +1,131 @@
+.\" Copyright (c) 1983, 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)chgrp.1 8.3 (Berkeley) 3/31/94
+.\" jpman %Id: chgrp.1,v 1.3 1997/05/19 16:29:32 horikawa Stab %
+.\"
+.Dd March 31, 1994
+.Dt CHGRP 1
+.Os BSD 4.2
+.Sh 名称
+.Nm chgrp
+.Nd 指定したファイルのグループ
+.Tn ID
+を変更する
+.Sh 書式
+.Nm chgrp
+.Oo
+.Fl R
+.Op Fl H | Fl L | Fl P
+.Oc
+.Op Fl f
+.Op Fl h
+.Ar group
+.Ar files ...
+.Sh 解説
+.Nm chgrp
+は指定されたファイルのグループ ID を
+.Ar group
+にセットします。
+.Pp
+オプションは以下のものがあります:
+.Bl -tag -width Ds
+.It Fl H
+.Fl R
+オプションとともに指定されている場合に、コマンドライン上のシンボ
+リックリンクをたどるようになります。(ツリー内をたどっている際中に見つけた
+シンボリックリンクの先は調べません)。
+.It Fl L
+.Fl R
+オプションとともに指定された場合に、全てのシンボリックリンク
+をたどるようになります。
+.It Fl P
+.Fl R
+オプションとともに指定された場合に、シンボリックリンクの先
+をたどらないようになります。
+.It Fl R
+指定したファイル自身の代わりに、そのファイルをルートとする階層の
+ファイルのグループ ID を変更します。
+.It Fl f
+使い方の間違い以外のエラーを無視し、不適切なモードに対する
+質問を行なわなくなります。
+.It Fl h
+ファイルがシンボリックリンクの場合、
+ポイントされるファイルではなく、
+リンク自身のグループ ID を変えます。
+.El
+.Pp
+.Fl H ,
+.Fl L ,
+.Fl P
+のオプションは
+.Fl R
+が指定されない限り
+無視されます。加えて、これらのオプションはお互いの効果を上書きするため、
+コマンドの動作は一番最後に指定されたもので決まります。
+.Pp
+.Ar group
+は、
+ファイル
+.Pf ( Pa /etc/group )
+中のグループ ID の数値かグループ名のどちらかです。グループ名がグループ ID
+の数値でもある場合、このオペランドはグループ名とみなされます。
+.Pp
+.Nm
+を実行するユーザは、指定したグループに自分が含まれかつファ
+イルの所有者であるか、スーパーユーザでなければなりません。
+.Pp
+.Nm
+は成功時に 0 を、エラーが起こった時に 0 より大きな値を戻り値とし
+て返します。
+.Sh 互換性
+以前のバージョンのシステムでは、
+シンボリックリンクにはグループは有りませんでした。
+.Sh 関連ファイル
+.Bl -tag -width /etc/group -compact
+.It Pa /etc/group
+グループ ID を記述したファイル。
+.El
+.Sh 関連項目
+.Xr chown 2 ,
+.Xr fts 3 ,
+.Xr group 5 ,
+.Xr passwd 5 ,
+.Xr symlink 7 ,
+.Xr chown 8
+.Sh 標準
+.Nm chgrp
+ユーティリティは
+.St -p1003.2
+互換であると考えられています。
diff --git a/ja/man/man1/chio.1 b/ja/man/man1/chio.1
new file mode 100644
index 0000000000..92ca1e6c07
--- /dev/null
+++ b/ja/man/man1/chio.1
@@ -0,0 +1,215 @@
+.\" %NetBSD: %
+.\"
+.\" Copyright (c) 1996 Jason R. Thorpe <thorpej@and.com>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgements:
+.\" This product includes software developed by Jason R. Thorpe
+.\" for And Communications, http://www.and.com/
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" jpman %Id: chio.1,v 1.3 1997/08/31 14:04:42 horikawa Stab %
+.Dd April 2, 1996
+.Dt CHIO 1
+.Os
+.Sh 名称
+.Nm chio
+.Nd メディアチェンジャ制御ユーティリティ
+.Sh 書式
+.Nm chio
+.Op Fl f Ar changer
+.Ar command
+.Ar arg1
+.Ar arg2
+.Oo
+.Ar arg3 Oo ...
+.Oc
+.Oc
+.Sh 解説
+.Nm chio
+は、テープや光ディスクなどのジュークボックスに見られるような
+メディアチェンジャの動作を制御するために使われます。
+.Pp
+オプションには以下のものがあります:
+.Bl -tag -width indent
+.It Fl f Ar changer
+デフォルトの
+.Pa /dev/ch0
+デバイスのかわりに
+.Pa changer
+を使用します。
+.El
+.Pp
+環境変数
+.Nm CHANGER
+にデバイス名をセットしておくと、
+それをデフォルトのチェンジャとして使用することができます。
+.Pp
+メディアチェンジャ装置は複数の
+.Pa element
+から成り立っています。
+element には 4 種類あり、それぞれ
+.Pa picker
+(メディア搬送)、
+.Pa slot
+(保管)、
+.Pa portal
+(出し入れ)、
+.Pa drive
+(データ転送)です。このコマンドの解説では省略形
+.Nm ET
+で element の種類を表し、
+.Nm EU
+で element の装置番号を表します。
+たとえば、チェンジャ内の一つめのロボットアームを表現する場合には、 ET は
+.Dq picker
+となり、EU は
+.Dq 0
+となります。
+.Pp
+.Sh サポートされるコマンド
+.Nm chio move
+.Ar <from ET> <from EU> <to ET> <to EU>
+.Op Ar inv
+.Pp
+メディアユニットを
+.Pa <from ET/EU>
+から
+.Pa <to ET/EU>
+へと移動します。
+オプションの修飾子
+.Pa inv
+が指定された場合は、挿入前にメディアユニットが裏返されます。
+.Pp
+.Nm chio exchange
+.Ar <src ET> <src EU> <dst1 ET> <dst1 EU>
+.Op Ar <dst2 ET> <dst2 ET>
+.Op Ar inv1
+.Op Ar inv2
+.Pp
+メディアユニットの交換作業をおこないます。
+.Pa <src ET/EU>
+にあるメディアユニットは
+.Pa <dst1 ET/EU>
+に移され、以前に
+.Pa <dst1 ET/EU>
+にあったメディアユニットは
+.Pa <dst2 ET/EU>
+に移されます。
+単純に交換する場合には、
+.Pa <dst2 ET/EU>
+を省略すると
+.Pa <src ET/EU>
+が代りに使われます。
+オプションの修飾子
+.Pa inv1
+や
+.Pa inv2
+が指定された場合には、それぞれ
+.Pa <dst1 ET/EU>
+や
+.Pa <dst2 ET/EU>
+への挿入前にメディアユニットが裏返されます。
+.Pp
+すべてのメディアチェンジャが
+.Nm exchange
+操作をサポートしているわけではないことに注意してください。
+exchange 操作のためには、チェンジャが複数の空き picker を持っているか、
+一時的な保管場所を用いて複数の空き picker をエミュレートする必要があります。
+.Pp
+.Nm chio position
+.Ar <to ET> <to EU>
+.Op Ar inv
+.Pp
+picker を
+.Pa <to ET/EU>
+で指定した element の前に配置します。
+もしオプションの修飾子
+.Pa inv
+が指定された場合は、挿入前にメディアユニットが裏返されます。
+.Pp
+このコマンドを発行しても、すべてのチェンジャが期待通りの動作をするとは
+限らないことに注意してください。
+.Pp
+.Nm chio params
+.Pp
+チェンジャ内の slot, drive, picker, portal の数と、
+現在どの picker が使用可能になっているかを報告します。
+.Pp
+.Nm chio getpicker
+.Pp
+現在どの picker が使用可能になっているかを報告します。
+.Pp
+.Nm chio setpicker
+.Ar <unit>
+.Pp
+.Pa <unit>
+番の picker を使用可能にします。
+.Pp
+.Nm chio status
+.Op Ar <type>
+.Pp
+チェンジャ内のすべての element の状態を報告します。もし
+.Pa <type>
+が指定されていると、
+.Pa <type>
+型の elememt の状態を報告します。
+.Pp
+ステータスビットは以下のように定義されています:
+.Bl -tag -width indent
+.It Nm FULL
+element にメディアユニットが入っています。
+.It Nm IMPEXP
+外部の人間の操作により element にメディアが挿入されました。
+.It Nm EXCEPT
+element が異常な状態になっています。
+.It Nm ACCESS
+この element 内のメディアは picker でアクセス可能です。
+.It Nm EXENAB
+element は外部の人間の操作によるメディアの取り出しが可能です。
+.It Nm INENAB
+element は外部の人間の操作によるメディアの挿入が可能です。
+.El
+.Pp
+.Sh 使用例
+.Nm chio move slot 3 drive 0
+.Pp
+スロット 3 (4 番目のスロット) のメディアをドライブ 0 (1 番目のドライブ) に
+移動させます。
+.Pp
+.Nm chio setpicker 2
+チェンジャが picker 2 (3 番目の picker) を作業に使用するように設定します。
+.Pp
+.Sh 関連ファイル
+/dev/ch0 - デフォルトのチェンジャデバイス
+.Sh 関連項目
+.Xr mt 1 ,
+.Xr ch 4 ,
+.Xr mount 8 .
+.Sh 作者
+.Nm chio
+プログラムと SCSI チェンジャドライバは
+And Communications 社 (http://www.and.com/) の
+Jason R. Thorpe <thorpej@and.com> によって書かれました。
diff --git a/ja/man/man1/chmod.1 b/ja/man/man1/chmod.1
new file mode 100644
index 0000000000..24bb7bd689
--- /dev/null
+++ b/ja/man/man1/chmod.1
@@ -0,0 +1,281 @@
+.\" Copyright (c) 1989, 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)chmod.1 8.4 (Berkeley) 3/31/94
+.\" jpman %Id: chmod.1,v 1.2 1997/04/01 01:37:14 mutoh Stab %
+.\" %Id: chmod.1,v 1.4.2.1 1997/02/28 07:54:25 mpp Exp %
+.\"
+.Dd March 31, 1994
+.Dt CHMOD 1
+.Os
+.Sh 名称
+.Nm chmod
+.Nd ファイルのモードを変更する
+.Sh 書式
+.Nm chmod
+.Oo
+.Fl R
+.Op Fl H | Fl L | Fl P
+.Oc
+.Ar mode
+.Ar file ...
+.Sh 解説
+.Nm chmod
+は指定されたファイルのモードを
+.Ar mode
+で指定したものに変更します。
+.Pp
+オプションとして以下のものがあります:
+.Bl -tag -width Ds
+.It Fl H
+.Fl R
+オプションが指定されていれば、引数がシンボリックリンクのとき、それを
+たどって変更します。
+(ディレクトリツリー探索中に見つかったシンボリックリンクは
+それ以上追跡しません)
+.It Fl L
+.Fl R
+オプションが指定されていれば、すべてのシンボリックリンクをたどり、
+リンク先のファイルを変更します。
+.It Fl P
+.Fl R
+オプションが指定されていても、どのシンボリックリンクもたどりません。
+.It Fl R
+指定されたファイル自身だけではなく、それらをルートとする
+ディレクトリ階層を再帰的に検索してモードを変更します。
+.El
+.Pp
+シンボリックリンクはモードを持たないので、
+.Fl H
+または
+.Fl L
+オプションが指定されていなければ、シンボリックリンクに対する
+.Nm chmod
+実行結果は常に真となり、何も変えません。
+.Fl H ,
+.Fl L ,
+.Fl P
+オプションは、
+.Fl R
+オプションが指定されていなければ無視されます。また、これらが
+複数指定されると最後に指定したものが有効になります。
+.Pp
+ファイルのモードの変更はそのファイルの所有者とスーパユーザだけにしか
+許されていません。
+.Pp
+.Nm chmod
+は正常終了時には 0 を、エラーが生じたときは 0 より大きい値を返します。
+.Sh モード
+モードには、数値を用いた絶対値指定と、シンボルによる指定があります。
+数値指定では、以下の値を
+.Ar ``or''
+で組み合わせた 8 進数を用います:
+.Pp
+.Bl -tag -width 6n -compact -offset indent
+.It Li 4000
+setuid (set-user-ID-on-execution) ビット。実行時にユーザ ID をセット。
+.It Li 2000
+setgid (set-group-ID-on-execution)ビット。実行時にグループ ID をセット。
+.It Li 1000
+sitcky (スティッキー) ビット。chmod(2)参照。
+.It Li 0400
+所有者 (ユーザ) の読み込み許可。
+.It Li 0200
+所有者 (ユーザ) の書き込み許可。
+.It Li 0100
+所有者 (ユーザ) の実行 (ディレクトリの場合はファイル名の検索) 許可。
+.It Li 0070
+グループに対する読み込み、書き込み、実行 (検索) 許可。
+.It Li 0007
+所有者とグループ以外のユーザに対する読み込み、書き込み、実行 (検索) 許可。
+.El
+.Pp
+グループ及びその他のユーザのための読み込み、書き込み、実行 (検索) 許可
+の値も所有者の場合と同様にエンコードされます。
+.Pp
+シンボルによる指定は以下の文法に従います。
+.Bd -literal -offset indent
+mode ::= clause [, clause ...]
+clause ::= [who ...] [action ...] last_action
+action ::= op [perm ...]
+last_action ::= op [perm ...]
+who ::= a | u | g | o
+op ::= + | \- | =
+perm ::= r | s | t | w | x | X | u | g | o
+.Ed
+.Pp
+.Ar who
+シンボルの ``u'', ``g'', ``o'' はそれぞれユーザ、グループ、それ以外に
+相当します。``a'' シンボルは ``ugo'' を指定した場合と同じになります。
+.Pp
+.ne 1i
+.Ar perm
+シンボルはモードの各ビットを以下のように表現します。
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It r
+読み込み許可ビット
+.It s
+実行時 setuid および実行時 setgid ビット
+.It t
+sticky ビット
+.It w
+書き込み許可ビット
+.It x
+実行/検索 許可ビット
+.It X
+対象がディレクトリであるか、変更前のモードで誰かの実行/検索許可ビット
+が立っている場合に、実行/検索許可ビットがセットされます。
+.Ar perm
+シンボルでの ``X'' の指定は、
+.Ar op
+シンボルを ``+''で連結する時のみ意味があり、他の場合は無視されます。
+.It u
+元ファイルの所有者許可ビット
+.It g
+元ファイルのグループ許可ビット
+.It o
+元ファイルの所有者とグループ以外の許可ビット
+.El
+.Pp
+.Ar op
+シンボルの働きは以下のようになります
+.Bl -tag -width 4n
+.It +
+.Ar perm
+値が指定されなければ、``+'' は何の作用もありません。
+.Ar who
+シンボルが指定されていなければ、
+.Ar perm
+値はそれぞれのwhoシンボルの対応するビットに作用し、それを umask で
+マスクしたビットがセットされます。
+.Ar who
+シンボルが指定されていれば、その
+.Ar perm
+値が設定されます。
+.It \&\-
+.Ar perm
+値が指定されていなければ、``\-'' は何の作用もありません。
+.Ar who
+シンボルが指定されていなければ、
+.Ar perm
+値はそれぞれのwhoシンボルの対応するビットに作用し、それを umaskで
+マスクしたビットがクリアされます。
+.Ar who
+シンボルが指定されていれば、その
+.Ar perm
+値がクリアされます。
+.It =
+.Ar who
+シンボルで指定されたモードビットがクリアされます。whoシンボルが指定
+されていなければ、所有者、グループ、その他の各モードビットがクリアされ
+ます。
+.Ar who
+シンボルが指定されていなければ、
+permで指定したビットが、所有者、グループ、その他のそれぞれを umaskで
+マスクしたものだけ設定されます。
+.Ar who
+シンボルと
+.Ar perm
+が指定されていれば、その値がそのまま設定されます。
+.El
+.Pp
+各
+.Ar clause
+では、モードビットを操作するためのオペレーションを 1 つ以上記述しなけ
+ればなりません。そして各オペレーションは記述した順番で適用されます。
+.Pp
+所有者とグループ以外の ``o'' のみに対して、 ''s'' や ``t'' の組合せの
+.Ar perm
+値が指定されても無視されます。
+.Sh 使用例
+.Bl -tag -width "u=rwx,go=u-w" -compact
+.It Li 644
+ファイルを誰にでも読めるようにして、ファイルの所有者のみ書き込み可能に
+します。
+.Pp
+.It Li go-w
+ファイルの所有者以外の書き込みを禁止します。
+.Pp
+.It Li =rw,+X
+umask でマスクされていないビットの読み書きを許可しますが、実行許可は
+現在設定されているものを保持します。
+.Pp
+.It Li +X
+誰かが実行/検索可能なファイルやディレクトリならば、すべてのユーザが
+実行/検索できるファイルやディレクトリとします。
+.Pp
+.It Li 755
+.It Li u=rwx,go=rx
+.It Li u=rwx,go=u-w
+誰にでも読み込みと実行ができて、所有者のみ書き込み可能になるようにしま
+す。
+.Pp
+.It Li go=
+グループやその他のユーザにいかなる許可も与えません。
+.Pp
+.It Li g=u-w
+グループビットをユーザビットと同じにしますが、グループの書き込みは禁止
+します。
+.El
+.Sh バグ
+naughty bitのための
+.Ar perm
+オプションが無い。
+.Sh 関連項目
+.Xr chflags 1 ,
+.Xr install 1 ,
+.Xr chmod 2 ,
+.Xr stat 2 ,
+.Xr umask 2 ,
+.Xr fts 3 ,
+.Xr setmode 3 ,
+.Xr symlink 7 ,
+.Xr chown 8
+.Sh 規格
+.Nm chmod
+ユーティリティは、規格にない
+.Ar perm
+シンボルの
+.Dq t
+と
+.Dq X
+を除いては
+.St -p1003.2
+互換になるように作られています。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から導入されました.
diff --git a/ja/man/man1/chpass.1 b/ja/man/man1/chpass.1
new file mode 100644
index 0000000000..cbb84765de
--- /dev/null
+++ b/ja/man/man1/chpass.1
@@ -0,0 +1,405 @@
+.\" Copyright (c) 1988, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)chpass.1 8.2 (Berkeley) 12/30/93
+.\" %Id: chpass.1,v 1.7.2.2 1997/06/26 11:16:53 charnier Exp %
+.\" jpman %Id: chpass.1,v 1.2 1997/03/31 14:06:36 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt CHPASS 1
+.Os
+.Sh 名称
+.Nm chpass, chfn, chsh, ypchpass, ypchfn, ypchsh
+.Nd ユーザデータベース内の情報を編集する
+.Sh 書式
+.Nm chpass
+.Op Fl a Ar list
+.Op Fl p Ar encpass
+.Op Fl s Ar newshell
+.Op user
+.Sh 解説
+.Nm chpass
+は
+.Ar user
+もしくはデフォルトでは実行したユーザのユーザデータベースの情報を変更します。
+情報はフォーマットされ、必要な部分をエディタで変更します。
+.Pp
+ユーザが変更することができる情報だけが表示されます。
+.Pp
+オプションとしては、以下のものがあります:
+.Bl -tag -width flag
+.It Fl a
+スーパユーザは、ユーザデータベースのエントリを
+.Xr passwd 5
+で定義されたフォーマットで引数として直接指定できます。
+この引数はコロン(``:'')で区切られたリストであり、
+空きの部分があっても許されますが、
+すべてのフィールドをリストにしなければなりません。
+.It Fl p
+スーパユーザは、暗号化されたパスワードフィールドを
+.Xr crypt 3
+で用いられているフォーマットで引数として直接指定することができます。
+.It Fl s
+.Fl s
+オプションは、ユーザのシェルを
+.Ar newshell
+に変更します。
+.El
+.Pp
+表示されるエントリには以下のものがあります:
+.Pp
+.Bl -tag -width "Home Directory:" -compact -offset indent
+.It Login:
+ユーザのログイン名
+.It Password:
+ユーザの暗号化されたパスワード
+.It Uid:
+ユーザの ID
+.It Gid:
+ユーザのグループ ID
+.It Change:
+パスワードの変更時間
+.It Expire:
+アカウントの有効期限
+.It Class:
+ユーザの一般的な分類
+.It Home Directory:
+ユーザのホームディレクトリ
+.It Shell:
+ユーザのログインシェル
+.It Full Name:
+ユーザの実際の名前
+.It Location:
+ユーザが通常いる場所
+.It Home Phone:
+ユーザの自宅の電話番号
+.It Office Phone:
+ユーザのオフィスの電話番号
+.El
+.Pp
+.Ar login
+フィールドは計算機にアクセスするときに使われるユーザ名です。
+.Pp
+.Ar password
+フィールドはユーザの暗号化されたパスワードが収められています。
+.Pp
+.Ar uid
+フィールドは
+.Ar login
+フィールドと関連した番号です。ファイルのアクセスを制御するために、
+どちらのフィールドもシステム (しばしば、複数のシステム) の中で
+一意である必要があります。
+.Pp
+複数のエントリが同一のログイン名や同一のユーザ ID を持つことは可能ですが、
+そのようにすることは通常誤りです。
+これらのファイルを操作する手順では、
+それらの複数のエントリ内から無作為に選んだものの一つだけを返すでしょう。
+.Pp
+.Ar group
+フィールドはユーザがログイン時に所属するグループです。BSD が複数の
+グループを採用してから(
+.Xr groups 1
+参照)
+このフィールドはほとんど意味がありません。
+このフィールドは番号やグループ名(
+.Xr group 5
+参照) のどちらかが記述されます。
+.Pp
+.Ar change
+フィールドはパスワードが変更されているべき日付です。
+.Pp
+.Ar expire
+フィールドはアカウントの満了する日付です。
+.Pp
+.Ar change
+と
+.Ar expire
+の両方のフィールドは ``month day year'' の形式で入力し、
+.Ar month
+は、英語の月の名前 (はじめの3文字でも十分です) で、
+.Ar day
+は、その月の中の日で、
+.Ar year
+は、その年です。
+.Pp
+.Ar class
+フィールドは現在では使われてません。近い将来には、
+.Xr termcap 5
+形式のユーザ属性のデータベースへの手がかりとなるでしょう。
+.Pp
+ユーザの
+.Ar home directory
+はユーザがログイン時にいる場所への絶対 UNIX パス名です。
+.Pp
+.Ar shell
+フィールドはユーザの好むコマンドインタプリタです。
+もし
+.Ar shell
+フィールドが空であれば、ボーンシェル
+.Pa /bin/sh
+であると仮定します。
+ログインシェルを変更するときに、スーパユーザではないユーザは、
+非標準シェルから、または非標準シェルへの変更は許されていません。
+非標準シェルとは
+.Pa /etc/shells
+で見つけられないシェルのことです。
+.Pp
+最後の 4 つのフィールドはユーザの
+.Ar 実際の名前 , オフィスの場所
+そして
+.Ar 家
+と
+.Ar 仕事で使う電話
+番号の保管をしています。
+.Pp
+一度情報が確認されたら
+.Nm chpass
+はユーザデータベースを更新するために
+.Xr pwd_mkdb 8
+を用います。
+.Sh 環境変数
+環境変数 EDITOR を設定して他のエディタを指定している場合を除き、
+.Xr vi 1
+エディタが使われます。エディタが終了すると、その情報は再度読み込まれ、
+ユーザデータベースを変更するための情報とします。
+ユーザの情報を変更できるのは、そのユーザかスーパユーザのみです。
+.Sh NIS との相互作用
+いくつかの制限が適用されますが、
+.Nm chpass
+を NIS と同時に使うこともできます。現在
+.Nm chpass
+が
+.Xr rpc.yppasswdd 8
+を通じて NIS のパスワードマップ中で変更できるのは、
+通常はユーザのパスワード、シェル、GECOS フィールドだけです。
+NIS マスタサーバ上でスーパユーザによって起動された場合を除き、
+.Nm chpass
+(同様に
+.Xr passwd 1 )
+は、ユーザ情報の変更および新レコードの追加のために
+.Xr rpc.yppasswdd 8
+サーバを使用出来ません。
+なお、
+.Xr rpc.yppasswdd 8
+は、どのような変更を行う前にもパスワード認証を要求します。
+パスワード無しで変更要求できるユーザは
+NIS マスタサーバ上のスーパユーザだけです;
+他の全てのユーザはパスワードを入力する必要があります。
+他の全てのユーザには NIS クライアント(および NIS スレーブサーバ)上の
+ルート権限を持つユーザも含まれます。
+(NIS マスタサーバ上のスーパユーザがこの制約をバイパスできる理由は、
+主に簡便さのためです:
+NIS マスタサーバへのルートアクセス権限をもつユーザは
+既に NIS マップを更新するための権限を持っています。
+それにもかかわらずマップソースファイルを手で編集することは面倒です。
+.Pp
+注: これらの例外が適用されるのは
+NIS マスタサーバが FreeBSD システムの時だけです。)
+.Pp
+その結果として、上述の例外を除き、NIS 環境で
+.Nm chpass
+を使う場合には以下の制限が適用されます:
+.Bl -enum -offset indent
+.It
+.Pa シェルと GECOS 情報だけを変更できます。
+たとえ
+.Nm chpass
+がスーパユーザによって起動された場合であってもです。
+他のフィールドの変更がサポートされるようになっても、
+他の NIS システムとの互換性の問題を引き起こすでしょう。
+スーパユーザがあるエントリを編集している時に、
+他のフィールドにデータを書いても、余分な情報として
+(パスワードは例外 -- 以下を参照してください) だまって廃棄されるでしょう。
+.Pp
+例外: NIS マスタサーバ上のスーパユーザは、
+任意のフィールドの変更が許されています。
+.Pp
+.It
+.Pa パスワード認証が要求されます。
+どのような変更を行う前にも
+.Nm chpass
+はユーザの NIS パスワードを要求します。もしパスワードが間違っていたら、
+どのような変更も行われません。
+.Pp
+例外: NIS マスタサーバ上のスーパユーザはパスワード無しに変更要求できます。
+(スーパユーザは、後述するように
+.Fl o
+フラグを指定する事によりこの仕様を無効にする事が選択できます。)
+.It
+.Pa 新しいレコードのローカルパスワードデータベースへの追加は勧められません。
+NIS が動作しているときに、管理者が
+.Nm chpass
+によって新しいレコードをローカルのパスワードデータベースに追加可能です。
+しかし、新しいレコードがマスタパスワードファイルの最後、
+通常は NIS の特別な '+' エントリの後に追加されるため、
+いくつかの混乱を招きかねません。
+.Xr vipw 8
+を使ってローカルのパスワードファイルを変更するべきです。
+.Pp
+NIS マスタサーバ上のスーパユーザによる
+NIS パスワードマップへの新レコードの追加が許可されるのは、
+.Xr rpc.yppasswdd 8
+サーバが
+.Fl a
+フラグ付で起動された場合、すなわち追加を許可して起動された場合のみです
+(通常は追加を拒否します)。
+.Nm chpass
+はデフォルトではローカルのパスワードデータベースを更新しようとします;
+NIS マップを変更する場合には chpass を
+.Fl y
+フラグ付で起動してください。
+.It
+.Pa パスワードの変更は許可されていません。
+ユーザが、自分の NIS のパスワードを変更するときには
+.Xr passwd 1
+か
+.Xr yppasswd 1
+を使うべきです。スーパユーザは新しいパスワードを指定することを許され
+ています(たとえ、``Password:'' フィールドがエディタのテンプレートに
+あらわれていなくても、スーパユーザは手動で加えることができます) 。
+しかしながら、スーパユーザであってもユーザの元のパスワードがなければ
+.Xr rpc.yppasswdd 8
+が NIS マップの更新を拒否するでしょう。
+.Pp
+例外: NIS マスタサーバ上のスーパユーザは
+.Nm chpass
+を使用して、ユーザの NIS パスワードを変更する事が許されています。
+.El
+.Pp
+.Nm chpass
+が NIS をサポートしてコンパイルされたときに、数個の特別なフラグが有効
+になります:
+.Bl -tag -width flag
+.It Fl l
+.Fl l
+フラグは、ローカルと NIS の両方のデータベースにユーザが存在していても、
+ユーザのパスワード情報のローカルのコピーを修正することを
+.Nm chpass
+に強制します。
+.It Fl y
+このフラグは
+.Fl l
+と反対の効果があります。もし NIS が動作していれば、
+デフォルトでは
+.Nm chpass
+は NIS のエントリを操作するので、
+このフラグはまったく冗長です。
+.It Fl d Ar domain
+NIS ドメインを指定します。
+.Nm chpass
+はデフォルトではシステムのドメイン名を使用します。
+これは
+.Xr domainname 1
+コマンドにて設定されています。
+.Fl d
+オプションは、
+このデフォルトを上書きするため、
+もしくはドメイン名が設定されていない場合にドメイン名を指定するために
+使用できます。
+.It Fl h Ar host
+問い合わせるべき NIS サーバの名前もしくはアドレスを指定します。
+通常
+.Nm chpass
+は
+.Pa master.passwd
+もしくは
+.Pa passwd
+マップにて指定される NIS マスタホストと通信します。
+NIS クライアントとして構成されていないホスト上では、
+この情報を決定するための方法がプログラムにはありませんので、
+ユーザがサーバのホスト名を指定します。
+指定するホスト名は NIS マスタサーバである必要が無い事に注意してください;
+NIS ドメイン内のマスタサーバ名でもスレーブサーバ名でも良いのです。
+.Pp
+.Fl d
+オプション使用時には、ホスト名のデフォルトは ``localhost'' です。
+.Fl h
+オプションを
+.Fl d
+とともに使用し、ユーザが指定するホスト名でこのデフォルトを上書きできます。
+.Pp
+.It Fl o
+.Xr rpc.yppasswdd 8
+に RPC ベースの更新を強制します(``旧モード'')。
+NIS マスタサーバ上でスーパユーザにより起動された場合、
+.Nm chpass
+は専用の非 RPC ベースの機構を使用し、
+NIS パスワードマップに対する無制限の変更を許可します
+(この場合 UNIX ドメインソケットを使用します)。
+.Fl o
+フラグを使用する事により
+.Nm chpass
+に標準の更新メカニズムを使用させる事が出来ます。
+このオプションは主にテスト目的のために提供されています。
+.El
+.Pp
+.Sh 関連ファイル
+.Bl -tag -width /etc/master.passwd -compact
+.It Pa /etc/master.passwd
+ユーザデータベース
+.It Pa /etc/passwd
+Version 7 フォーマットのパスワードファイル
+.It Pa /etc/chpass.XXXXXX
+パスワードファイルのテンポラリ用コピー
+.It Pa /etc/shells
+利用できるシェルのリスト
+.El
+.Sh 関連項目
+.Xr finger 1 ,
+.Xr login 1 ,
+.Xr passwd 1 ,
+.Xr getusershell 3 ,
+.Xr passwd 5 ,
+.Xr pwd_mkdb 8 ,
+.Xr vipw 8
+.Rs
+.%A Robert Morris
+and
+.%A Ken Thompson
+.%T "UNIX Password security"
+.Re
+.Sh 注釈
+.Xr chfn 1 ,
+.Xr chsh 1 ,
+.Xr ypchpass 1 ,
+.Xr ypchfn 1 ,
+.Xr upchsh 1
+コマンドは実際には
+.Nm chpass
+にリンクしているだけです。
+.Sh バグ
+ユーザ情報の保存はどこか他の場所にするべきです
+(し、いつかはそうなるでしょう)。
+.Sh 歴史
+.Nm chpass
+コマンドは
+.Bx 4.3 Reno
+から登場しました。
diff --git a/ja/man/man1/ci.1 b/ja/man/man1/ci.1
new file mode 100644
index 0000000000..eb08f520d0
--- /dev/null
+++ b/ja/man/man1/ci.1
@@ -0,0 +1,887 @@
+.\" jpman %Id: ci.1,v 1.2 1997/06/01 11:29:01 horikawa Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: ci.1,v 1.3 1996/02/12 04:56:44 mpp Exp %
+.ds i \&\s-1ISO\s0
+.ds r \&\s-1RCS\s0
+.ds u \&\s-1UTC\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.TH CI 1 \*(Dt GNU
+.SH 名称
+ci \- RCSファイルにリビジョンをチェックインする
+.SH 書式
+.B ci
+.RI [ options ] " file " .\|.\|.
+.SH 解説
+.B ci
+は \*r ファイルに新たなリビジョンを格納します。
+引数のうち、\*r ファイルの拡張子形式に一致する
+ファイル名を \*r ファイルとみなします。
+それ以外のファイル名は、新たなリビジョンを含んだワークファイルとみなします。
+.B ci
+はワークファイルの内容を対応した \*r ファイルに格納します。
+もしワークファイルのみが指定されたなら、
+.B ci
+はサブディレクトリ \*r、次にワークファイルがあるディレクトリの順に
+対応する \*r ファイルを検索します。
+詳細は後述の
+.SM "ファイル名規則"
+の項を参照してください。
+.PP
+.B ci
+が動作するには、
+.B ci
+を起動したユーザが
+\*r ファイルのアクセスリスト
+に登録されているか、アクセスリストが空であるか、
+ユーザが \*r ファイルの持ち主であるか、
+あるいはスーパーユーザである必要があります。
+すでに存在する枝(branch)に新しいリビジョンを追加するには、
+枝の先端(tip)リビジョンが、
+追加しようとするユーザによってロックされていなければなりません。
+ロックされていない場合、新たな枝のみ作成可能です。
+非厳格モード(
+.BR rcs (1)
+参照)の場合、
+ファイルの所有者に対してはこの制限はありません。
+他人が行っているロックは、
+.B rcs
+コマンドによって解除できます。
+.PP
+.B \-f
+オプションが指定されていなければ、
+.B ci
+は追加しようとするリビジョンと直前のリビジョンとの比較を行います。
+違いがなかった場合、新たなリビジョンを作成するかわりに、
+ワークファイルを元のリビジョンのものに復元します。
+復元するときには、ci はいったんワークファイルを削除し、
+ロックを解除します。
+.B "ci\ \-l"
+はロックし、
+.B "ci\ \-u"
+はロックを解除します。
+これらのオプションが指定されていれば、あたかも直前のリビジョンに対して
+.B "co\ \-l"
+または
+.B "co\ \-u"
+を実行したかのようにして直前のリビジョンの内容を取り出します。
+復元が行われる場合、
+.B \-n
+と
+.B \-s
+オプションは復元されるリビジョンに対して作用します。
+.PP
+リビジョンを格納するときに、
+.B ci
+はログメッセージの入力を促すプロンプトを表示します。
+ログメッセージは、そのリビジョンの変更点の要約です。
+ファイル終端(EOF)あるいは、
+ピリオド
+.B \&.
+のみからなる行によって入力を完了させます。
+複数のファイルが登録される場合、
+.B ci
+は前に入力したログメッセージを
+再利用するかどうかを聞いてきます。
+もし標準入力が端末でなければ、
+.B ci
+は確認を行わず、
+登録されるすべてのファイルに対して同じログメッセージを使用します。
+.B \-m
+オプションの項も参照してください。
+.PP
+もし \*r ファイルが存在しなければ、
+.B ci
+は新規に \*r ファイルを作成し、
+ワークファイルの内容を初期リビジョン(デフォルトでは
+.BR 1.1 )
+として格納します。
+その場合、アクセスリストは空に初期化されます。
+初期リビジョンを格納するときは、
+ログメッセージのかわりに
+ファイルの内容を記述したテキストを入力します(後述の
+.B \-t
+オプションの項を参照してください)。
+.PP
+登録するリビジョン番号(
+.I rev )
+は、
+.BR \-f ,
+.BR \-i ,
+.BR \-I ,
+.BR \-j ,
+.BR \-k ,
+.BR \-l ,
+.BR \-M ,
+.BR \-q ,
+.BR \-r ,
+.B \-u
+のオプションのうちのいずれかで指定することができます。
+.I rev
+はシンボル、数値、あるいは両者の組合せたものです。
+.I rev
+で使用するシンボル名は定義済みでなければなりません;
+チェックイン時にシンボル名を割り当てる方法については
+.B \-n
+および
+.B \-N
+を参照して下さい。
+もし
+.I rev
+が
+.B $
+ならば、
+.B ci
+はワークファイル中のキーワードからリビジョン番号を決定します。
+.PP
+もし
+.I rev
+がピリオドから始まる場合、デフォルトの枝(通常は幹(trunk))に格納されます。
+もし
+.I rev
+が枝番号に続いてピリオドである場合、当該枝の最新のリビジョンが使用されます。
+.PP
+.I rev
+がリビジョン番号の場合、
+それは登録する枝のなかで最も大きな値である必要があります。
+さもなければ、新しい枝を作成する必要があります。
+.PP
+.I rev
+がリビジョン番号ではなく枝番号の場合、
+その枝に対する新しいリビジョンが作成されます。
+新しいリビジョン番号は、その枝の先端リビジョン番号に1を加えたものとなります。
+もし
+.I rev
+が存在しない枝番号ならば、新たな枝が作成され、初期リビジョンとして
+.IB rev .1
+が作成されます。
+.br
+.ne 8
+.PP
+.I rev
+が省略された場合、
+.B ci
+はユーザが行った最後のロックからリビジョン番号を決定します。
+ユーザがある枝の先端リビジョンをロックしている場合は、
+新たなリビジョンがその枝に追加されます。
+新しいリビジョン番号は
+先端リビジョン番号に 1 を加えたものになります。
+ユーザが先端ではないリビジョンをロックしている場合は、
+新たな枝が作成されます。
+新たな枝番号は、ロック対象のリビジョンの
+最も大きな枝番号に1を加えたものになります。
+デフォルトでは、新たな枝やリビジョンの番号は
+.B 1
+となります。
+.PP
+.I rev
+が省略され、ユーザがロックを行わず、そのファイルの所有者であり、
+かつロックが
+.I 非厳格モード
+であるなら、
+デフォルトの枝(通常は幹(trunk);
+.BR rcs (1)
+の
+.B \-b
+オプションの項を参照)に新たなリビジョンが作成されます。
+.PP
+例外: 幹(trunk)においてリビジョンを追加することはできますが、
+途中に挿入することはできません。
+.SH オプション
+.TP
+.BI \-r rev
+リビジョン
+.I rev
+をチェックインします。
+.TP
+.B \-r
+.B \-r
+オプションをリビジョン抜きで使用した場合、
+.B ci
+にとって特別な意味が有ります。他の \*r コマンドでは
+.B \-r
+オプションを単体で使用するとデフォルト枝の最新のリビジョンを指定します。
+しかし、
+.B ci
+ではロック解除、ワークファイル削除を行い、
+シェルのエイリアスやスクリプトによりデフォルトとされてしまった
+.B \-l
+や
+.B \-u
+オプションの効果を打ち消します。
+.TP
+.BR \-l [\f2rev\fP]
+.B \-r
+と同様の動作を行ったあと、
+.B "co\ \-l"
+と同様の動作も行います。
+すなわち、登録されたリビジョンは即座にロックされ、チェックアウトされます。
+これは、リビジョンをチェックインしてさらに編集を続けたい場合に便利です。
+.TP
+.BR \-u [\f2rev\fP]
+.B \-l
+とほぼ同様の動作をしますが、登録されたリビジョンはロックされません。
+これは、チェックインしたリビジョンの内容をすぐに参照したい場合に便利です。
+.RS
+.PP
+.BR \-l
+、リビジョン無し
+.BR \-r ,
+.B \-u
+オプションは、最後に指定したもののみが効力を持ちます。
+たとえば、
+.B "ci\ \-u\ \-r"
+は
+.B "ci\ \-r"
+と等価です。
+リビジョン無し
+.B \-r
+が
+.B \-u
+に優先するからです。
+.RE
+.TP
+.BR \-f [\f2rev\fP]
+強制的に登録します。
+直前のリビジョンとの違いがない場合にも、
+新しいリビジョンとして登録します。
+.TP
+.BR \-k [\f2rev\fP]
+リビジョン番号などをローカルに算出せずに、
+ワークファイルからキーワードを探し、
+リビジョン番号、作成日時、状態、作者(
+.BR co (1)
+を参照)を検索し、登録されるリビジョンに割り当てます。
+さらに、
+.B ci
+を起動したユーザ名と実際にチェックインされた日付を含む
+デフォルトのログメッセージを作成します。
+本オプションは、配布されたソフトウェアを登録するのに便利です。
+複数のサイトに配布されたリビジョンは、
+元のリビジョン番号、作成日付、状態、作者を保存するために、
+.B \-k
+オプションを使って登録するべきです。
+ワークファイルのキーワードから取り出した値とログメッセージは、
+.BR \-d ,
+.BR \-m ,
+.BR \-s ,
+.B \-w
+や、他のリビジョン番号を生成するようなオプションにより
+変更することができます。
+.TP
+.BR \-q [\f2rev\fP]
+沈黙モードです。
+診断メッセージを表示しません。
+直前のリビジョンから変更がない場合、
+.B \-f
+オプションを指定していなければ、登録を行いません。
+.TP
+.BR \-i [\f2rev\fP]
+最初のチェックイン; \*r ファイルが既に有る時にはエラー報告します。
+特定のアプリケーションのレース状態を避けます。
+.TP
+.BR \-j [\f2rev\fP]
+初期化を行わず、チェックインします;
+\*r ファイルが無いとエラー報告します。
+.TP
+.BR \-I [\f2rev\fP]
+対話モードで動作します。
+たとえ標準入力が端末でなくても、ユーザに対して問い合わせを行います。
+.TP
+.BR \-d "[\f2date\fP]"
+チェックイン日付として指定された
+.I date
+を用います。
+.I date
+は
+.BR co (1)
+で記述された自由形式で指定することができます。
+これは、チェックイン日時をごまかしたい場合や、
+日付キーワードがワークファイルにないにもかかわらず
+.B \-k
+オプションを使いたい場合に便利です。
+.I date
+が指定されなかった場合、ワークファイルの最終更新日付が用いられます。
+.TP
+.BR \-M [\f2rev\fP]
+作成されるワークファイルの最終更新日付を、
+取り出されたリビジョンの日付にします。
+たとえば、
+.BI "ci\ \-d\ \-M\ \-u" "\ f"
+は、
+.I f
+の内容がキーワード置換により変更された場合も最終更新日時を変更しません。
+本オプションを指定すると
+.BR make (1)
+に影響を与えるので、注意して使用する必要があります。
+.TP
+.BI \-m "msg"
+チェックインするすべてのリビジョンのログメッセージとして
+.I msg
+を用います。
+慣習的に
+.B #
+で始まるログメッセージはコメントであり、GNU Emacs の
+.B vc
+パッケージのようなプログラムはこれを無視します。
+また、
+.BI { clumpname }
+(の後に空白が続く)ログメッセージは可能であればまとめられることを意味します。
+それはたとえ別々のファイルに関連づけられていてもです;
+.BI { clumpname }
+ラベルは、まとめる目的でのみ使用されます。
+それ自身はログメッセージであるとは見なされません。
+.TP
+.BI \-n "name"
+チェックインしたリビジョンにシンボリック名
+.I name
+をつけます。
+もし同じシンボリック名が別のリビジョンに割り当てられていた場合、
+.B ci
+はエラーメッセージを出力します。
+.TP
+.BI \-N "name"
+.B -n
+と同様の動作を行います。
+ただし、同じシンボリック名が他のリビジョンに割り当てられていた場合は、
+再割り当てを行います(こちらを優先します)。
+.TP
+.BI \-s "state"
+チェックインされるリビジョンの状態を
+.I state
+とします。デフォルトは
+.B Exp
+(Experimental: 実験的)です。
+.TP
+.BI \-t file
+\*r ファイル中の内容記述テキストをファイル
+.I file
+の内容で置き換えます。
+すでに内容記述テキストがある場合はこれを削除します。ファイル名
+.I file
+は
+.B \-
+で始まってはいけません。
+.TP
+.BI \-t\- string
+\*r ファイル中の内容記述テキストを文字列
+.I string
+で置き換えます。
+すでに内容記述テキストがある場合は削除されます。
+.RS
+.PP
+.B \-t
+オプションは、どちらの形式で使う場合も、
+最初のチェックイン時にしか意味を持ちません。
+それ以外の場合は単に無視されます。
+.PP
+最初のチェックイン時に
+.B \-t
+オプションが指定されなかった場合、
+.B ci
+は標準
+入力から内容記述テキストを読み込みます。
+テキストは、ファイル終端(EOF)あるいはピリオド(
+.Br \&.
+)のみの行で終了します。
+ユーザへの問い合わせが可能な場合には、
+テキストの入力を促すプロンプトが表示されます(
+.B \-I
+オプション参照)。
+.PP
+旧バージョンとの互換性のため、引数のない
+.B \-t
+オプションは無視されます。
+.RE
+.TP
+.B \-T
+新しいリビジョンが存在し、
+\*r ファイルの修正時刻が新しいリビジョンの時刻よりも古ければ、
+\*r ファイルの修正時刻に対して新しいリビジョンの時刻を代入します;
+そうでない場合は \*r ファイルの修正時刻は保たれます。
+リビジョンをロックした場合は、
+.B ci
+は通常 \*r ファイルの修正時刻を現在の時刻に設定します。
+なぜならロックが \*r ファイルに格納され、
+ロックの削除は \*r ファイルの変更を要するからです。
+\*r ファイルがワークファイルよりも新しくなる方法として 2 通り有ります:
+まず、
+.B "ci\ \-M"
+は現在時刻以前の日付でワークファイルを作成します;
+2 番目に、直前のバージョンを回復する時、
+ワークファイルを変更しない場合にも \*r ファイルは変更され得ます。
+\*r ファイルのワークファイルにおける
+.BR make (1)
+依存により、上記 2 ケースは過剰の再コンパイルという結果になり得ます。
+.B \-T
+オプションを使用することで、\*r ファイルの日付をごまかし、
+再コンパイルを禁止します。
+このオプションは注意して使って下さい;
+あるワークファイルのチェックインが、
+同じ \*r ファイルに関連づけられている別のワークファイルに影響を及ぼすべき
+時でも、再コンパイルを抑制し得ます。
+例えば、\*r ファイルの時刻を 01:00、
+(変更された) ワークファイルの時刻を 02:00、
+別のワークファイルのコピーの時刻を 03:00、
+現在の時刻を 04:00 とします。
+ここで、
+.B "ci\ \-d\ \-T"
+とすると、\*r ファイルの時刻は通常の 04:00 ではなく 02:00 になります;
+この結果、
+.BR make (1)
+は別のコピーが \*r ファイルよりも新しいと(誤って)認識します。
+.TP
+.BI \-w "login"
+指定された
+.I login
+をリビジョンの作者として登録します。
+作者名をごまかしたい場合や、
+作者キーワードがワークファイルにないにもかかわらず
+.B -k
+オプションを使いたい場合に便利です。
+.BI \-V
+\*r のリビジョン番号を表示します。
+.TP
+.BI \-V n
+\*r システムのバージョン
+.I n
+のエミュレーションを行います。詳細は
+.BR co (1)
+を参照してください。
+.TP
+.BI \-x "suffixes"
+\*r ファイルの拡張子を指定します。
+拡張子が空ではない場合、
+拡張子まで含めたすべてのパス名を \*r ファイル名であるとみなします。
+拡張子が空の場合は、
+.BI RCS/ path
+または
+.IB path1 /RCS/ path2
+形式のものを \*r ファイル名であるとみなします。
+本オプションの場合、
+.B /
+で区切ることにより、複数の拡張子を指定できます。たとえば、
+.B \-x,v/
+は、
+.B ,v
+と空の拡張子の 2 つの拡張子を持つ \*r ファイルを指定します。
+複数の拡張子が指定された場合、指定された順に \*r ファイルを検索します。
+最初に見つかったサフィックスが \*r ファイルに対して用いられます。
+\*r ファイルを生成できるが、 \*r ファイルが見つからないときは、
+これらのサフィックスを新しいファイル名に対して用います。
+デフォルトの拡張子は、インストールされる環境により異なります。
+UNIXのようなコンマをファイル名中に含めることの出来る計算機では、通常
+.B \-x,v/
+が、それ以外の計算機では空の拡張子が用いられます。
+.TP
+.BI \-z zone
+キーワード置換での日付の出力書式の指定を行い、また、
+.BI \-d date
+オプションでの
+.I date
+のデフォルトのタイムゾーンの指定を行います。
+.I zone
+は、省略する事も、UTC からの数値差で指定する事も、特別な文字列
+.B LT
+を使ってローカル時間で指定する事もできます。
+デフォルトでは
+.I zone
+は空であり、
+この場合は伝統的な \*r フォーマット、
+すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります;
+そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。
+例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間
+(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります:
+.RS
+.LP
+.RS
+.nf
+.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
+.ne 4
+\f2オプション\fP\f2時刻の出力\fP
+\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP
+\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
+\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
+.ta 4n +4n +4n +4n
+.fi
+.RE
+.LP
+.B \-z
+オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。
+.SH "ファイル名規則"
+\*r ファイルとワークファイルの組合せは3通りの方法で指定することができます。
+(使用例の項目も参照してください。)
+.PP
+1) \*r ファイルとワークファイルの両方を指定する。
+\*r ファイルのパス名は
+.IB path1 / workfileX
+形式、ワークファイルのパス名は
+.IB path2 / workfile
+形式をとります。この場合の
+.IB path1 /
+と
+.IB path2 /
+はパス(異なるパスや、空でも可)を示し、
+.I workfile
+はファイル名、
+.I X
+は \*r ファイルの拡張子です。もし
+.I X
+が空なら、
+.IB path1 /
+は
+.B RCS/
+で始まるか、
+.B /RCS/
+を含まねばなりません。
+.PP
+2) \*r ファイルのみを指定する。
+ワークファイルがカレントディレクトリに作成され、\*r ファイル名から
+.IB path1 /
+と拡張子
+.I X
+を取り除いたファイル名になります。
+.PP
+3) ワークファイルのみを指定する。
+.B ci
+はまず、各 \*r 拡張子
+.I X
+に対して、
+.IB path2 /RCS/ workfileX
+形式の名前で検索を行います。
+さらに、(もしこれが見つからず、
+.I X
+が空でなければ、)
+.IB path2 / workfileX
+を検索します。
+.PP
+1) または 2) の方法で \*r ファイルが指定されていない場合、
+.I ci
+はまずディレクトリ
+.B ./RCS
+を検索し、次にカレントディレクトリを検索します。
+.PP
+異常により \*r ファイルのオープンに失敗すると、
+.I ci
+はエラー報告します。
+他に \*r ファイルのパス名の候補があってもです。
+たとえばディレクトリ
+.I d
+で \*r コマンドを利用できないようにするには、
+.IB d /RCS
+なる名前の通常ファイルを作成しておきます。
+すると、\*r コマンドは
+.IB d /RCS
+をディレクトリとしてオープンしようとしますが、
+ディレクトリではないのでオープンすることができず失敗します。
+.SH 使用例
+\*r 拡張子が
+.B ,v
+、カレントディレクトリには \*r ファイルを含む
+.B RCS
+というサブディレクトリがあり、
+.B io.c,v
+があると仮定します。
+ここで、以下に示したコマンドを実行すると、
+どれもカレントディレクトリにある
+.B io.c
+を
+.B RCS/io.c,v
+にチェックインし、
+.B io.c
+を削除します。
+.LP
+.RS
+.nf
+.ft 3
+ci io.c; ci RCS/io.c,v; ci io.c,v;
+ci io.c RCS/io.c,v; ci io.c io.c,v;
+ci RCS/io.c,v io.c; ci io.c,v io.c;
+.ft
+.fi
+.RE
+.PP
+\*r 拡張子が空、カレントディレクトリには \*r ファイルを含む
+.B RCS
+というサブディレクトリがあり、
+.B io.c
+があると仮定します。ここで以下に示すコマンドは、どれも新しい
+リビジョンのチェックインを行います。
+.LP
+.RS
+.nf
+.ft 3
+ci io.c; ci RCS/io.c;
+ci io.c RCS/io.c;
+ci RCS/io.c io.c;
+.ft
+.fi
+.RE
+.SH "ファイルモード"
+.B ci
+が作成した \*r ファイルは、
+ワークファイルの読み込みと実行の許可属性を受け継ぎます。
+すでに \*r ファイルが存在すれば、
+.B ci
+はその読み込みと実行の許可属性を保持します。
+.B ci
+は、つねに \*r ファイルの書き込み許可属性を不許可にします。
+.SH 関連ファイル
+いくつかの一時ファイルが、ワークファイルの存在するディレクトリまたは
+一時ディレクトリ(環境変数の項の
+.B \s-1TMPDIR\s0
+参照)に作成されます。
+セマフォファイル等のファイルが
+\*r ファイルが存在するディレクトリに作成されます。
+空ではない拡張子を用いている場合、
+セマフォファイル名の先頭文字には、
+拡張子の先頭文字と同じ文字が用いられます;
+よって、拡張子として、ワークファイルの拡張子の先頭文字と同じ文字を
+指定しないように注意してください。
+空の拡張子を指定している場合、
+セマフォファイル名の最後の文字がアンダースコア(
+.B _
+) となります。
+.PP
+.B ci
+は、 \*r ファイルやワークファイルを変更しません。通常
+.B ci
+はそれらのファイルをアンリンクし、新しいファイルを作成します;
+ただし、\*r ファイルへのシンボリックリンクの鎖を壊す代わりに、
+目的のファイルをアンリンクします。
+よって、
+.B ci
+は変更されるワークファイルへの
+ハードリンク、シンボリックリンクを全て壊します;
+さらに、\*r ファイルへのハードリンクは無効となり、
+シンボリックリンクは保存されます。
+.PP
+実効ユーザは、\*r ファイルを含むディレクトリの
+検索および書き込み権を持っていなければなりません。
+通常実ユーザは、 \*r ファイルとワークファイルの読み込み許可と、
+それらを含むディレクトリの検索および書き込み権を持っていなければなりません。
+しかし、古い計算機のなかには実ユーザと実効ユーザの間を
+容易に行き来することができないものもあります。
+これらの計算機では、実効ユーザのみが利用されます。
+.B ci
+や
+.B co
+のコピーに setuid が設定されていなければ、
+実ユーザと実効ユーザは同一です。
+次節で説明するように、
+もし実効ユーザが全 \*r ファイルとそれを含むディレクトリを所有し、
+実効ユーザのみが \*r ディレクトリに書き込めるように設定できるなら、
+\*r ファイルのセキュリティを強化することが可能です。
+.PP
+ユーザは \*r ファイルを含むディレクトリの許可属性を変更することで、
+\*r ファイルに対するアクセスを制限できます;
+そのディレクトリに書き込み権のあるユーザだけが、
+\*r ファイルを変更する \*r コマンドを使用することができます。
+たとえば、ユーザが複数のグループに属することが出来る計算機では、
+\*r ディレクトリをあるグループのみが書き込み権を持つように設定します。
+これは、略式のプロジェクトでは十分ですが、
+グループに所属するユーザが自由に \*r ファイルを変更することができ、
+\*r ファイルすべてを削除することもできます。
+そのため、正式なプロジェクトでは、
+\*r ファイルを自由に操作きる \*r 管理者と、
+新たなリビジョンをチェックインすること以外の操作はできない他のユーザとを、
+区別することがあります。
+.SH SETUID の使用
+\*r 管理者以外のユーザがリビジョンを削除できないようにするには、
+以下のように setuid 特権を使用することができます。
+.nr n \w'\(bu'+2n-1/1n
+.ds n \nn
+.if \n(.g .if r an-tag-sep .ds n \w'\(bu'u+\n[an-tag-sep]u
+.IP \(bu \*n
+その計算機で \*r にて setuid が使用できるか確認します。
+疑問があるときは、信頼できる専門家に意見を聞いてください。
+最も良いのは、
+.B seteuid()
+システムコールが Posix 1003.1a Draft 5 に
+記述されているように動作することです。
+なぜなら、実ユーザが
+.BR root
+であっても、\*r は実ユーザと実行ユーザを簡単に切替えることができるからです。
+その次に良いのは、
+.B setuid()
+システムコールが saved setuid
+(Posix 1003.1-1990の {\s-1_POSIX_SAVED_IDS\s0} の動作)を
+サポートしている場合です;
+この場合、実ユーザもしくは実効ユーザが
+.BR root
+である時のみ失敗します。
+\*r は setuid に失敗すると、ただちに終了します。
+.IP \(bu \nn
+ユーザグループの \*r 管理者として、ユーザ
+.I A
+を選びます。
+.I A
+だけが、\*r ファイルに対して
+.B rcs
+コマンドを実行することができます。
+.I A
+は
+.B root
+や、特権を持ったユーザであってはいけません。
+相互に異なるユーザグループには、異なる管理者を使用するべきです。
+.IP \(bu \nn
+ユーザが実行するファイルのディレクトリに、パス名
+.I B
+を選びます。
+.IP \(bu \nn
+以下のように、通常のインストールディレクトリ
+.I D
+から、
+.B ci
+と
+.B co
+を
+.I B
+にコピーし、
+.I A
+へ setuid します:
+.LP
+.RS
+.nf
+.ne 3
+\f3mkdir\fP \f2B\fP
+\f3cp\fP \f2D\fP\^\f3/c[io]\fP \f2B\fP
+\f3chmod go\-w,u+s\fP \f2B\fP\f3/c[io]\fP
+.fi
+.RE
+.IP \(bu \nn
+以下のように、各ユーザのパスに
+.I B
+を加えます:
+.LP
+.RS
+.nf
+.ne 2
+\f3PATH=\fP\f2B\fP\f3:$PATH; export PATH\fP # ordinary shell
+\f3set path=(\fP\f2B\fP \f3$path)\fP # C shell
+.fi
+.RE
+.IP \(bu \nn
+以下のように、
+.I A
+だけが書き込み許可を持つ \*r ディレクトリ
+.I R
+を作成します:
+.LP
+.RS
+.nf
+.ne 2
+\f3mkdir\fP \f2R\fP
+\f3chmod go\-w\fP \f2R\fP
+.fi
+.RE
+.IP \(bu \nn
+特定のユザーだけに \*r ファイルの読み込みを許可したい場合、
+そのユーザをユーザグループ
+.IR G
+に入れて、さらに
+.I A
+が以下のように、\*r ディレクトリを保護します:
+.LP
+.RS
+.nf
+.ne 2
+\f3chgrp\fP \f2G R\fP
+\f3chmod g\-w,o\-rwx\fP \f2R\fP
+.fi
+.RE
+.IP \(bu \nn
+(存在すれば)古い \*r ファイルを
+.IR R
+にコピーし、
+.I A
+が所有であることを保証します。
+.IP \(bu \nn
+\*r ファイルのアクセスリストは、
+リビジョンをチェックインおよびロックできるユーザを制限します。
+デフォルトのアクセスリストは空で、
+\*r ファイルを読むことのできる全てのユーザに、登録の権限を与えます。
+チェックインを制限したい場合は、
+.I A
+がそのファイルに対して
+.B "rcs\ \-a"
+を実行します;
+.BR rcs (1)
+を参照してください。
+特に
+.BI "rcs\ \-e\ \-a" A
+は、
+.IR A
+だけにアクセスを制限します。
+.IP \(bu \nn
+初めてチェックインを行う前に、
+.I A
+は
+.B "rcs\ \-i"
+によって新しい \*r ファイルを初期化します。
+チェックインを制限したい場合、
+.B \-a
+オプションを付け加えます。
+.IP \(bu \nn
+setuid 特権は、
+.BR ci ,
+.BR co ,
+.BR rcsclean
+のみに与えます;
+.B rcs
+や他のコマンドに、setuid 特権を与えてはなりません。
+.IP \(bu \nn
+\*r コマンドに対して、他の setuid コマンドを実行しないでください。
+setuid はあなたが考えるより扱いにくいものです。
+.SH 環境変数
+.TP
+.B \s-1RCSINIT\s0
+本変数に空白で区切ったオプションを設定することで、
+コマンドライン引数に先立って処理されます。
+空白はバックスラッシュによってエスケープすることができます。
+.B \s-1RCSINIT\s0
+はほとんどの \*r コマンドで参照されます。特に
+.BR \-q ,
+.BR \-V ,
+.BR \-x ,
+.B \-z
+オプションを指定しておくと便利です。
+.TP
+.B \s-1TMPDIR\s0
+一時ディレクトリ名を指定します。
+設定されていない場合は、環境変数
+.B \s-1TMP\s0
+と
+.B \s-1TEMP\s0
+とを調べ、始めに見つかった値を用います;
+どれも設定されていない場合は、
+計算機依存のデフォルトのディレクトリ(たいていは
+.B /tmp
+)を使用します。
+.SH 診断
+各リビジョンに対して、
+.I ci
+は \*r ファイル名、ワークファイル名、追加するリビジョン番号、直前の
+リビジョン番号を表示します。全ての処理が成功した場合のみ、
+終了ステータスが 0 になります。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 by Paul Eggert.
+.SH 関連項目
+co(1),
+ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1),
+rcsintro(1), rcsmerge(1), rlog(1), setuid(2), rcsfile(5)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.br
diff --git a/ja/man/man1/cksum.1 b/ja/man/man1/cksum.1
new file mode 100644
index 0000000000..a3ae3ac152
--- /dev/null
+++ b/ja/man/man1/cksum.1
@@ -0,0 +1,177 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cksum.1 8.2 (Berkeley) 4/28/95
+.\" %Id: cksum.1,v 1.1.1.1.8.4 1997/09/14 23:16:54 jkh Exp %
+.\" jpman %Id: cksum.1,v 1.4 1997/08/10 18:27:42 horikawa Stab %
+.\"
+.Dd April 28, 1995
+.Dt CKSUM 1
+.Os BSD 4.4
+.Sh 名称
+.Nm cksum
+.Nd ファイルのチェックサムとブロックカウントを表示する
+.Sh 書式
+.Op Fl o Ar \&1 No \&| Ar \&2
+.Op Ar file ...
+.Nm sum
+.Op Ar file ...
+.Sh 解説
+.Nm cksum
+ユーティリティは、各入力ファイルに対して、
+空白で区切られた 3 つのフィールドを標準出力に出力します。
+これら 3 フィールドはそれぞれ、
+チェックサム
+.Tn CRC
+、ファイル中のオクテット数、そしてファイル名です。
+ファイルが一つも指定されない場合は標準入力が用いられ、
+ファイル名は表示されません。
+.Pp
+.Nm sum
+ユーティリティは
+.Nm cksum
+ユーティリティと同じですが、
+以降で解説するデフォルトで歴史的アルゴリズム 1 を使用する点が異なります。
+互換性のためだけに提供されています。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width indent
+.It Fl o
+デフォルトの(より優れた)アルゴリズムに代えて、
+歴史的なアルゴリズムを用います。
+.Pp
+アルゴリズム 1 は
+.Xr sum 1
+のアルゴリズムとして歴史的な
+.Bx
+システムにおいて、また、
+.Fl r
+オプション付きで用いる場合の
+.Xr sum
+アルゴリズムとして歴史的な
+.At V
+システムにおいて用いられてきたものです。
+これは加算のたびに右ローテーションを行う 16 ビットチェックサムであり、
+オーバーフローは無視されます。
+.Pp
+アルゴリズム 2 はデフォルトの
+.Xr sum
+アルゴリズムとして歴史的な
+.At V
+システムで用いられてきたものです。
+これは 32 ビットのチェックサムであり、以下のように定義されます:
+.Bd -unfilled -offset indent
+s = sum of all bytes;
+r = s % 2^16 + (s % 2^32) / 2^16;
+cksum = (r % 2^16) + r / 2^16;
+.Ed
+.Pp
+アルゴリズム 1, 2 のいずれも、デフォルトアルゴリズムと同じフィールドを
+標準出力に書き出します。
+ただし、ファイルサイズはバイト単位ではなくブロック単位となります。
+歴史的理由から、アルゴリズム 1 ではブロックサイズは 1024、
+アルゴリズム 2 では 512 となっています。
+ブロックに満たない部分は切り上げられます。
+.El
+.Pp
+デフォルトで用いられる
+.Tn CRC
+は、
+ネットワークの規格
+.St -iso8802-3
+における
+.Tn CRC
+エラーチェックに用いられる多項式に基づいています。
+.Tn CRC
+チェックサムエンコーディングは、次の生成多項式で定義されます:
+.Pp
+.Bd -unfilled -offset indent
+G(x) = x^32 + x^26 + x^23 + x^22 + x^16 + x^12 +
+ x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
+.Ed
+.Pp
+数学的には、与えられたファイルに対応する
+.Tn CRC
+値は次の手順で定義されます。
+.Bd -filled -offset indent
+評価される
+.Ar n
+ビットは、2 を法とする
+.Ar n Ns \-1
+次多項式 M(x) の係数とみなされます。
+これらの
+.Ar n
+ビットはファイルから得られますが、
+ファイルの最初のオクテットの最上位ビットを最上位、
+最後のオクテットの最下位ビットを最下位とします。
+(必要なら)ゼロビットを埋めてオクテット単位に取りまとめ、
+ファイルの長さをバイナリ値で表現した 1 個あるいは
+それ以上のオクテット(最下位オクテットが先)がそれに続きます。
+この整数を表現可能な最小個数のオクテットが用いられます。
+.Pp
+M(x) は x^32 倍(すなわち 32 ビットの左シフト)し、
+2 を法として G(x) で割ります。
+その結果 31 次以下の剰余 R(x) が得られます。
+.Pp
+R(x) の係数は 32 ビットのビット列と見なされます。
+.Pp
+そのビット列を反転した結果が CRC です。
+.Ed
+.Pp
+.Nm cksum
+および
+.Nm sum
+ユーティリティは成功時には 0 を、エラー発生時には正の値を返します。
+.Sh 関連項目
+.Xr md5 1
+.Rs
+デフォルトの計算方法は、次の
+.Tn ACM
+論文で疑似コードを用いて記述されているものと等価です。
+.Rs
+.%T "Computation of Cyclic Redundancy Checks Via Table Lookup"
+.%A Dilip V. Sarwate
+.%J "Communications of the \\*(tNACM\\*(sP"
+.%D "August 1988"
+.Re
+.Sh 規格
+.Nm cksum
+ユーティリティは
+.St -p1003.2-92
+を満していると考えられています。
+.Sh 歴史
+.Nm cksum
+ユーティリティは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/cmp.1 b/ja/man/man1/cmp.1
new file mode 100644
index 0000000000..3f27f74029
--- /dev/null
+++ b/ja/man/man1/cmp.1
@@ -0,0 +1,111 @@
+.\" Copyright (c) 1987, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cmp.1 8.1 (Berkeley) 6/6/93
+.\" %Id: cmp.1,v 1.2.2.1 1997/06/27 06:16:30 charnier Exp %
+.\" jpman %Id: cmp.1,v 1.2 1997/03/26 15:40:44 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt CMP 1
+.Os
+.Sh 名称
+.Nm cmp
+.Nd 2 つのファイルを比較する
+.Sh 書式
+.Nm cmp
+.Op Fl l | Fl s
+.Ar file1 file2
+.Op Ar skip1 Op Ar skip2
+.Sh 解説
+.Nm cmp
+ユーティリティは、2つのファイル内容を比較して、その結果を標準出力に出力します。
+ファイル内容が一致していれば、デフォルトでは
+.Nm cmp
+は何も表示しません。ファイル内容に違いがあった場合は、最初に
+違いが見つかった場所の、
+バイト位置と行番号を出力します。
+.Pp
+バイト位置と行番号は、1 から数え始めます。
+.Pp
+オプションは以下のものがあります:
+.Bl -tag -width Ds
+.It Fl l
+全ての違いに対し、
+違いのあった場所のファイル先頭からのバイト位置 (10進数表現) と、
+各々のファイル中の値 (8進数表現) を表示します。
+.It Fl s
+何も表示しないようにします。結果は終了コードにのみ反映されます。
+.El
+.Pp
+.Ar file1
+と
+.Ar file2 ,
+の開始バイト位置を
+.Ar skip1
+と
+.Ar skip2
+を使って、各々指定して比較することができます。
+この値は 10 進数表記がデフォルトで、先頭に ``0x'' か ``0'' があると、
+16 進数や 8 進数表現と解釈されます。
+.Pp
+.Nm cmp
+は、戻り値として以下の値のうちの一つをとります:
+.Bl -tag -width 4n
+.It 0
+ファイル内容が一致した。
+.It 1
+ファイル内容に違いがあったか、どちらかのファイルが先に
+ファイルエンドに達した。
+後者の場合、
+.Fl s
+オプションが指定されていない場合には、
+.Nm cmp
+は、短い方のファイルで(違いが見付かる前に)
+EOF に到達したことを標準出力に出力します。
+.It >1
+エラーが起きた。
+.El
+.Sh 関連項目
+.Xr diff 1 ,
+.Xr diff3 1
+.Sh 規格
+.Nm cmp
+は
+.St -p1003.2
+準拠です。
+.Sh 歴史
+.Nm cmp
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/co.1 b/ja/man/man1/co.1
new file mode 100644
index 0000000000..0e4b4e8b6f
--- /dev/null
+++ b/ja/man/man1/co.1
@@ -0,0 +1,743 @@
+.\" jpman %Id: co.1,v 1.2 1997/06/01 11:30:43 horikawa Stab %
+.de Id
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: co.1,v 1.3 1995/10/28 21:49:11 peter Exp %
+.ds i \&\s-1ISO\s0
+.ds r \&\s-1RCS\s0
+.ds u \&\s-1UTC\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.TH CO 1 \*(Dt GNU
+.SH 名称
+co \- RCS ファイルからリビジョンをチェックアウトする
+.SH 書式
+.B co
+.RI [ options ] " file " .\|.\|.
+.SH 解説
+.B co
+は、各 \*r ファイルからリビジョンを取り出し、
+対応したワークファイルに格納します。
+.PP
+\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、
+その他のファイル名はワークファイルであるとみなします。
+ファイル名の対応に関しては、
+.BR ci (1)
+を参照してください。
+.PP
+\*r ファイルのリビジョンは、ロックしてもしなくともチェックアウトできます。
+リビジョンをロックすることにより、
+同時に複数の更新が行われることを防止します。
+内容を表示したり、読むだけの処理(たとえば、コンパイル)で用いたりする場合は
+ロックする必要はありません。
+編集し後にチェックインするつもりで \*r ファイルから取り出す場合は、
+通常、ロックしなければなりません。
+他のユーザによってロックされているリビジョンを
+ロックしてチェックアウトしようとするとエラーになります(ロックは
+.BR rcs (1)
+によって解除することができます)。
+更に、リビジョンをロックしてチェックアウトするには、
+チェックアウトする人が \*r ファイルのアクセスリストに登録されているか、
+そのファイルの所有者もしくはスーパユーザであるか、
+アクセスリストが空である必要が有ります。
+ロックしないで取り出す場合は、
+アクセスリストや他人のロックに影響されることはありません。
+.PP
+取り出されるリビジョンを、リビジョン番号、枝番号、
+チェックイン日時、作者、状態によって指定するオプションが存在します。
+複数のオプションが組み合わされて指定された場合、
+.B co
+はすべての条件に合致するリビジョンのうちで最新のものを取り出します。
+リビジョン指定オプションが指定されなかった場合、
+.B co
+は、デフォルト枝(通常は幹:
+.BR rcs (1)
+の
+.B \-b
+オプションの項を参照)の最新のリビジョンを取り出します。
+リビジョン番号あるいは枝番号は、
+以下のオプションを使って指定することができます:
+.BR \-f ,
+.BR \-I ,
+.BR \-l ,
+.BR \-M ,
+.BR \-p ,
+.BR \-q ,
+.BR \-r ,
+.B \-u
+。
+オプション
+.B \-d
+(日時)、
+.B \-s
+(状態)、
+.B \-w
+(作者)は、単一の枝から取り出します。
+この枝は
+.I 選択された
+枝であり、
+.BR \-f ,
+\&.\|.\|.,
+.B \-u
+オプションもしくはデフォルト枝により指定されます。
+.PP
+リビジョンを 1 つも持たない \*r ファイルに対して
+.B co
+コマンドを適用すると、長さ 0 のワークファイルが作成されます。
+.B co
+は、つねにキーワード置換を行います
+(下記参照)。
+.SH オプション
+.TP
+.BR \-r [\f2rev\fP]
+リビジョン番号
+.I rev
+以前(
+.I rev
+と同じものも含む)で最新のリビジョンを取り出します。
+.I rev
+がリビジョンではなく枝を指定している場合、その枝上の最新
+のリビジョンが取り出されます。
+.I rev
+が省略された場合、デフォルト枝
+(
+.BR rcs (1)
+の
+.B \-b
+オプションの項を参照)の最新のリビジョンが取り出されます。
+.I rev
+が
+.B $
+の場合、
+.B co
+はリビジョン番号をワークファイルのキーワードから
+取り出します。これら以外の場合、
+.I rev
+はリビジョンを示すピリオドで区切られた数字またはシンボルの列です。
+.I rev
+がピリオドで始まる場合、デフォルトの枝(通常は幹)が設定されます。
+.I rev
+がピリオドを後ろに付けた枝番号であるならば、
+その枝の最新のリビジョンが使われます。
+シンボルは、
+.BR ci (1)
+や
+.BR rcs (1)
+によりリビジョン番号と結びつけることができます。
+.TP
+.BR \-l [\f2rev\fP]
+.B \-r
+と同様の動作ですが、取り出したリビジョンを呼び出したユーザにてロックします。
+.TP
+.BR \-u [\f2rev\fP]
+.B \-r
+と同様の動作ですが、取り出したリビジョンが呼び出したユーザによって
+ロックされていたならば、そのロックを解除します。
+.I rev
+が省略された場合、
+.B co
+を起動したユーザがロックしたリビジョンが 1 つあれば、
+そのリビジョンを取り出します;
+そうでなければ、デフォルト枝の最新のリビジョンを取り出します。
+.TP
+.BR \-f [\f2rev\fP]
+ワークファイルの上書きを強制します;
+後述の
+.B \-q
+オプションを使用する場合、いっしょに
+.B \-f
+オプションも
+指定すると便利な場合があります。
+.SM "ファイルモード"
+の項も参照してください。
+.TP
+.B \-kkv
+ワークファイルにデフォルト形式のキーワード文字列を埋め込みます。たとえば、
+キーワード
+.B Revision
+に対しては、文字列
+.B "$\&Revision: \*(Rv $"
+を生成します。
+.B "ci\ \-l"
+や
+.B "co\ \-l"
+でファイルがロックされる時のみ、
+.BR Header ,
+.BR Id ,
+.B Locker
+キーワードにロック者名を挿入します。これがデフォルトの動作です。
+.TP
+.B \-kkvl
+.B \-kkv
+とほぼ同様ですが、指定されたリビジョンがロックされていた場合にはいつも、
+ロック者名を挿入します。
+.TP
+.BR \-kk
+キーワード文字列中のキーワード名のみの文字列を生成し、値は省略します。
+後述の
+.SM "キーワード置換"
+を参照して下さい。
+たとえば、キーワード
+Revision に対しては、通常の
+.B "$\&Revision: \*(Rv $"
+のかわりに、
+.B "$\&Revision$"
+を生成します。これは、異なるリビジョンの内容を比較する場合、キーワード
+値の違いを無視できるので、便利です。
+.B -kk
+が指定されても、キーワード
+.B "$\&Log$"
+の後にはログメッセージが挿入されます。これはリビジョンを統合する変更に、
+より便利であることを意図しています。
+.TP
+.BR \-ko
+チェックインされる前の
+ワークファイル中のキーワード文字列をそのまま出力します。たとえば、
+キーワード
+.B "$\&Revision$"
+に対しては、
+チェックインされる前に展開されていた文字列
+.B "$\&Revision: 1.1 $"
+が、
+.B "$\&Revision: \*(Rv $"
+の代わりに展開されます。
+キーワード文字列の形式を取るバイト列が置換されてしまっては困るような
+場合(訳注:バイナリファイル等)に便利でしょう。
+.TP
+.BR \-kb
+元のキーワード文字列のバイナリイメージを生成します。これは、
+.B \-ko
+とほぼ同じですが、入出力する全てのワークファイルをバイナリモードで
+扱う点が違います。これは、Posix と Unix のホスト間ではたいした違いでは
+ありません。が、DOS のようなシステムではバイナリファイルを扱う場合、
+\*r ファイルの初期化には
+.B rcs \-i \-kb
+を使わねばならないでしょう。
+また、全ての環境において、
+.BR rcsmerge(1)
+は通常、
+.B \-kb
+が働いている場合はファイルの統合を受け付けません。
+.TP
+.BR \-kv
+キーワード文字列としてキーワード値のみを生成します。たとえば、キーワード
+.B Revision
+に対して、通常の
+.B "$\&Revision: \*(Rv $"
+のかわりに
+.B \*(Rv
+を生成します。
+これは、キーワード文字列から
+.B "$\&Revision: $"
+のようなキーワード区切りを取
+り除くことが困難なプログラミング言語用のファイル等を生成するために
+使用します。しかしながら、キーワード名が取り除かれてしまうと、それ以降に
+キーワード置換を行うことができないので、注意が必要です。
+キーワードを失うことはこのように危険であるため、本オプションを
+.B \-l
+オプションと組み合わせて使うことはできません。また、ワークファイルの
+書き込み権はオフになります;
+後でワークファイルを編集する場合は、
+.B \-kv
+オプションを指定せずにワークファイルを取り出してから行います。
+.TP
+.BR \-p [\f2rev\fP]
+ワークファイルに格納する代わりに、
+対象となるリビジョンを標準出力に書き出します。
+.B co
+をパイプの一部として使用する場合に便利です。
+.TP
+.BR \-q [\f2rev\fP]
+静かなモード; 診断メッセージを表示しません。
+.TP
+.BR \-I [\f2rev\fP]
+対話モード; たとえ標準入力が端末でなくても、ユーザに対して
+問い合わせを行います。
+.TP
+.BI \-d date
+選択された枝上の、
+.I date
+以前の登録日付を持つ、最新のリビジョンを取り出します。
+日付と時刻は自由形式で指定します。タイムゾーンとして
+.B LT
+を指定することにより、ローカルタイムを使用することができます;
+他の一般的なタイムゾーンも使用することができます。
+たとえば、以下に挙げるいくつかの
+.I date
+指定は、
+太平洋標準時における 1990 年 1 月 11 日午後 8 時と同時刻を示します
+(太平洋標準時は標準時 (\*u) よりも 8 時間遅れです)。
+.RS
+.LP
+.RS
+.nf
+.ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP 'u
+.ne 9
+\f38:00 pm lt\fP
+\f34:00 AM, Jan. 12, 1990\fP デフォルトは \*u
+\f31990-01-12 04:00:00+00\fP \*i 8601 (\*u)
+\f31990-01-11 20:00:00\-08\fP \*i 8601 (ローカル時刻)
+\f31990/01/12 04:00:00\fP 伝統的 \*r 形式
+\f3Thu Jan 11 20:00:00 1990 LT\fP \f3ctime\fP(3) + \f3LT\fP出力
+\f3Thu Jan 11 20:00:00 PST 1990\fP \f3date\fP(1)出力
+\f3Fri Jan 12 04:00:00 GMT 1990\fP
+\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP インターネット RFC 822
+\f312-January-1990, 04:00 WET\fP
+.ta 4n +4n +4n +4n
+.fi
+.RE
+.LP
+ほとんどの日付の項目にはデフォルト値があります。
+デフォルトのタイムゾーンは \*u です。
+これは
+.B \-z
+オプションにて優先指定することが出来ます。
+他のデフォルト値は、年、月、日、時、分、秒 の順番で決定されます。
+これらの項目のうち、少なくとも 1 つが指定されなければいけません。
+指定のある項目よりも先に決定される項目が省略されている場合には、
+タイムゾーンにおける現在の値を使用します。
+他の省略されたフィールドには最小値が採用されます。
+たとえば、
+.B \-z
+無しの
+.B "20, 10:30"
+の場合は、\*u タイムゾーンの現在の年月の 20 日 10:30:00 \*u が採用されます。
+日付の指定に空白が含まれる場合には、
+日付の指定をクオートでくくる必要があることに注意してください。
+.RE
+.TP
+.BR \-M [\f2rev\fP]
+作成されるワークファイルの最終更新日付を、取り出されるリビジョンの日付に
+します。本オプションを指定すると
+.BR make (1)
+が正しく動作しなくなるので、注意して使用する必要があります。
+.TP
+.BI \-s state
+選択された枝上の、状態
+.I state
+を持つ最新のリビジョンを取り出します。
+.TP
+.BR \-T
+\*r ファイルの変更日付を変更しません。
+ロックされたりロック解除されたりして \*r ファイルが変更された場合でもです。
+このオプションは、コピーした \*r ファイルのワークファイルを使って
+.BR make (1)
+をかける際に再コンパイルをさせたくない場合に便利でしょう。
+このオプションは必要であるにもかかわらず再コンパイルを行なわないことに
+なってしまう場合があるので注意が必要です。
+それは、ロックの変更が別のワークファイルのキーワード文字列の変更を行う時です。
+.TP
+.BR \-w [\f2login\fP]
+選択された枝上の、ユーザ名
+.I login
+によって登録された最新のリビジョンを取り出します。
+.I login
+が省略された場合は、
+.B co
+を起動したユーザ名を使います。
+.TP
+.BI \-j joinlist
+.I joinlist
+で指定されたリビジョンを結合した新しいリビジョンを作成します。
+本オプションは、旧バージョンとの互換性のために残されています。
+通常、リビジョンの結合には
+.BR rcsmerge (1)
+を用います。
+.RS
+.PP
+.I joinlist
+は
+.IB rev2 : rev3
+形式のリビジョンの対をコロンで区切って並べたリストです。
+ここで、
+.I rev2
+と
+.I rev3
+は(シンボリックまたは数字の)リビジョン番号です。
+以下の説明で、
+.I rev1
+は以下のリビジョンを示します: (1) joinlist に列挙さ
+れた対のうち、最初のものは、上記の
+.BR \-f ,
+\&.\|.\|.,
+.B \-w
+オプションによって選択されたリビジョンです。
+(2) それ以外の対に対しては、直前の対から作成されたリビジョン
+(すなわち、1 つの対によって作成されたリビジョンは次の結合
+のための入力となります)。
+.PP
+それぞれの対に対して、
+.B co
+は
+.I rev1
+と
+.I rev3
+を
+.I rev2
+と比較しながら結合します。つまり、
+.I rev2
+を
+.I rev1
+と同一にするための変更を、
+.I rev3
+のコピーに対して適用します。
+.I rev2
+を同一の祖先とする 2 つの枝の末端のリビジョン
+.I rev1
+と
+.I rev3
+を結合するのによく用いられます。もし、3 つのリビジョンが同一の
+枝上にあり、リビジョン番号が
+.IR rev1 < rev2 < rev3
+ならば、結合の結果は、
+.I rev3
+の内容のうち、
+.I rev1
+から
+.I rev2
+への変更を無効にしたものになります。
+もし、
+.I rev2
+から
+.I rev1
+への変更が
+.I rev2
+から
+.I rev3
+への変更と重複している
+なら、
+.B co
+は
+.BR merge (1)
+に示したような報告を行います。
+.PP
+最初に指定する対では
+.I rev2
+を省略することができます。この場合は、
+.I rev1
+と
+.I rev3
+の共通の祖先
+.ig
+/*?-> 共通の祖先リビジョン以外に言いかたを思いつきません
+共通の祖先リビジョンで良いと思います(horikawa@jp.freebsd.org)
+
+共通の祖先リビジョン
+ | | |
+revX rev3 revY
+ |
+rev1
+
+
+*/
+..
+リビジョンを
+.I rev2
+として使用します。もし、いずれかの引数
+がリビジョンではなく枝を示しているなら、その枝上の最新のリビジョンが用
+いられます。同時に
+.B \-l
+オプションや
+.B \-u
+オプションを指定すると、
+.I rev1
+がロックまたはロック解除されます。
+.RE
+.TP
+.BI \-V
+\*r's のバージョン番号を表示します。
+.TP
+.BI \-V n
+バージョン
+.I n
+の \*r システムの動作をエミュレートします。
+.I n
+は
+.BR 3 ,
+.BR 4 ,
+.B 5
+のいずれかです。これは、古い \*r を使っているユーザと \*r ファイルを交
+換するときに便利です。使用している \*r がどのバージョンかを調べるには、
+.BR "rcs \-V"
+を実行します; これは最近のバージョンの \*r では動作します。
+これが動作しない場合は適当な \*r ファイルに対して
+.B rlog
+を起動します; 最初の数行に文字列
+.B branch:
+がなければ、それはバージョン 3 です;
+また、日付に現れる年が 2 桁の数字ならば、それはバージョン 4 です;
+どちらでもなければ、バージョン 5 です。
+\*r バージョン 3 をエミュレートして作成された \*r ファイルからはデフォルト
+枝の情報が失われます。
+バージョン 4 またはそれ以前のバージョンをエミュレートして作成された
+リビジョンは、最大 13 時間ずれた日付を持つことになります。
+バージョン 4 またはそれ以前のバージョンをエミュレートして取り出された
+ファイルには
+.IB yy / mm / dd
+形式の日付がキーワード中に展開されます。また、
+.B $\&Log$
+キーワードでは空白の入り方が異なります。
+.TP
+.BI \-x "suffixes"
+\*r ファイルの拡張子として
+.I suffixes
+を使用します。詳細は
+.BR ci (1)
+を参照して下さい。
+.TP
+.BI \-z zone
+キーワード置換での日付の出力書式の指定を行い、また、
+.BI \-d date
+オプションでの
+.I date
+のデフォルトのタイムゾーンの指定を行います。
+.I zone
+は、省略する事も、UTC からの数値差で指定する事も、特別な文字列
+.B LT
+を使ってローカル時間で指定する事もできます。
+デフォルトでは
+.I zone
+は空であり、
+この場合は伝統的な \*r フォーマット、
+すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります;
+そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。
+例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間
+(\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります:
+.RS
+.LP
+.RS
+.nf
+.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
+.ne 4
+\f2オプション\fP\f2時刻の出力\fP
+\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP
+\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
+\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
+.ta 4n +4n +4n +4n
+.fi
+.RE
+.LP
+.B \-z
+オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。
+.RE
+.SH "キーワード置換"
+テキスト中に存在する
+.BI $ keyword $
+または
+.BI $ keyword : .\|.\|. $
+形式の文字列は、
+.BI $ keyword : value $
+形式の文字列に置換されます。
+.I keyword
+と
+.I value
+の対については後述します。キーワードはリテラルな文字列として、あるいは
+リビジョンを特定するためのコメントとして埋められることがあります。
+.PP
+まず、ユーザは
+.BI $ keyword $
+なる形式の文字列を入力します。
+チェックアウト時に、
+.B co
+はこの文字列を
+.BI $ keyword : value $
+に置換します。
+.BI $ keyword : value $
+形式の文字列を含むものがチェックインされた場合、
+.I value
+の部分は次にチェックアウトされたときに新たな値に置換されます。
+このように、チェックアウトを行うごとにキーワードの値は
+更新されていきます。この自動更新は
+.B \-k
+オプションにより変更することができます。
+.PP
+キーワードの種類とその値:
+.TP
+.B $\&Author$
+リビジョンを登録したユーザのログイン名。
+.TP
+.B $\&Date$
+リビジョンが登録された日時。
+.BI \-z zone
+を指定した場合、数値によるタイムゾーンオフセットが追加されます;
+指定しない場合は、日時は \*u です。
+.TP
+.B $\&Header$
+標準的なヘッダ。\*r ファイルのフルパス名、リビジョン番号、日時、作者、
+状態、ロック者(ロックされている場合)が含まれます。
+.BI \-z zone
+を指定した場合、数値によるタイムゾーンオフセットが追加されます;
+指定しない場合は、日時は \*u です。
+.TP
+.B $\&Id$
+.B $\&Header$
+とほぼ同様です。\*r ファイル名はパスをつけずに埋め込まれます。
+.TP
+.B $\&Locker$
+リビジョンをロックしたユーザのログイン名(ロックされていない場合は空です)。
+.TP
+.B $\&Log$
+チェックイン時に与えたログメッセージ。その前に、\*r ファイル名、リビジョン
+番号、作者、日時が埋め込まれます。
+.BI \-z zone
+を指定した場合、数値によるタイムゾーンオフセットが追加されます;
+指定しない場合は、日時は \*u です。
+すでに埋め込まれているログメッセージは変更
+.I されません。
+新たなログメッセージのみが
+.BR $\&Log: .\|.\|. $
+のあとに追加されます。
+ソースファイルの完全なログを記録するときに便利です。
+.RS
+.LP
+挿入される行の前には
+.B $\&Log$
+の行の前のプレフィックス文字列が付きます。例えば、
+.B $\&Log$
+の行が
+.RB \*(lq "//\ $\&Log: tan.cc\ $" \*(rq
+である場合、ログの各行の前の \*r プレフィックスは
+.RB \*(lq "//\ " \*(rq
+となります。
+これはコメントが行末まで及ぶ言語にて便利です。
+別の言語に対しては、複数行コメント内部にて
+.RB \*(lq " \(** " \(rq
+プレフィックスを使用するのが慣例です。
+例えば、C プログラムの最初のログのコメントは慣例的に以下の形式です:
+.RS
+.LP
+.nf
+.ft 3
+.ne 3
+/\(**
+.in +\w'/'u
+\(** $\&Log$
+\(**/
+.in
+.ft
+.fi
+.RE
+.LP
+古いバージョンの \*r とのバックワードコンパチビリティのため、
+ログのプレフィックスが
+.B /\(**
+または
+.B (\(**
+でありオプションの空白で囲まれている場合、挿入されるログの行は
+.B /
+や
+.B (
+の代わりに空白が用いられます;
+しかしこの使用方法は古くさく、この動作に依存してはなりません。
+.RE
+.TP
+.B $\&Name$
+存在する場合、リビジョンをチェックアウトするために使用したシンボリック名。
+例えば
+.B "co\ \-rJoe"
+は
+.B "$\&Name:\ Joe\ $"
+を生成します。
+単に
+.B co
+を指定した場合は、
+.B "$\&Name:\ \ $"
+となります。
+.TP
+.B $\&RCSfile$
+パス名を含まない \*r ファイル名。
+.TP
+.B $\&Revision$
+リビジョン番号。
+.TP
+.B $\&Source$
+\*r ファイルのフルパス名。
+.TP
+.B $\&State$
+リビジョンに
+.BR rcs (1)
+か
+.BR ci (1)
+の
+.B \-s
+オプションにより割り付けられた状態。
+.PP
+キーワード文字列の体裁を整えるために、
+以下の文字をキーワード中に用いるには、
+エスケープシーケンスを使用します。
+.LP
+.RS
+.nf
+.ne 6
+.ta \w'newline 'u
+\f2文字 エスケープシーケンス\fP
+tab \f3\et\fP
+newline \f3\en\fP
+space \f3\e040
+$ \e044
+\e \e\e\fP
+.fi
+.RE
+.SH "ファイルモード"
+ワークファイルは、\*r ファイルの読み込みと実行の許可属性を受け継ぎます。
+さらに、ユーザに対する書き込み権が設定されます。
+.B \-kv
+オプションが設定されている場合と、厳格ロックモード(
+.BR rcs (1)
+参照)にてロックせずに取り出した場合は、書き込み権が設定されません。
+.PP
+すでに、ワークファイルと同名の書き込み可能なファイルが存在していると、
+.B co
+は取り出しを中断し、もし可能ならば削除するかどうかを問い合わせます。
+もし、すでに存在するファイルが書き込み禁止であったり、
+.B -f
+オプションが
+指定されていた場合には、問い合わせを行わずに削除します。
+.SH 関連ファイル
+.B co
+は
+.B ci
+とほぼ同じくらいのファイルにアクセスします。ただし、
+.B $
+が指定されていなければワークファイルを読むことはありません。
+.SH 環境変数
+.TP
+.B \s-1RCSINIT\s0
+本変数に空白で区切ったオプションを設定することで、
+コマンドライン引数に先立って処理されます。
+詳しくは
+.BR ci (1)
+を参照してください。
+.SH 診断
+\*r パス名、ワークファイルパス名、
+取り出されるリビジョンの番号を診断出力します。
+全ての処理が成功した場合のみ、終了ステータス 0 を返します。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
+.SH 関連項目
+rcsintro(1), ci(1), ctime(3), date(1), ident(1), make(1),
+rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1),
+rcsfile(5)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.SH 制限事項
+\*r ファイル、ワークファイルのリンクは保存されません。
+.PP
+キーワードを
+.B "$\&keyword:$"
+以外の形式に書換える以外に、一部のキーワードの
+みを展開させる方法がありません。nroff や troff ではキーワード中にヌル文字
+.B \e&
+を埋め込むことにより展開を防ぐことができます。
+.br
diff --git a/ja/man/man1/col.1 b/ja/man/man1/col.1
new file mode 100644
index 0000000000..fadaacfce0
--- /dev/null
+++ b/ja/man/man1/col.1
@@ -0,0 +1,123 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Michael Rendell.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)col.1 8.1 (Berkeley) 6/29/93
+.\" jpman %Id: col.1,v 1.3 1997/07/22 09:21:29 mutoh Stab %
+.\"
+.Dd June 29, 1993
+.Dt COL 1
+.Os
+.Sh 名称
+.Nm col
+.Nd 入力から逆行送り (reverse line feed) を取り除くフィルタ
+.Sh 書式
+.Nm col
+.Op Fl bfx
+.Op Fl l Ar num
+.Sh 解説
+.Nm col
+は、出力が順方向の行送りと半行送りで正しい順序になるように逆行送り
+(と半逆行送り) を取り除き、空白をなるべくタブに置き換えます。
+これは、
+.Xr nroff 1
+と
+.Xr tbl 1
+の出力を処理する場合に便利です。
+.Pp
+.Nm col
+は標準入力を読み込み、標準出力に出力します。
+.Pp
+オプションには以下のものがあります。
+.Bl -tag -width "-l num "
+.It Fl b
+バックスペースを出力せず、各桁の位置に最後に書かれた文字だけを
+表示します。
+.It Fl f
+順方向の半行送りを許します(``詳細 (fine) '' モード)。
+半行送りの境界に打たれる文字は、通常次の行に表示されます。
+.It Fl x
+タブのかわりに複数の空白を出力します。
+.It Fl l Ar num
+メモリに、少なくとも
+.Ar num
+行をバッファリングします。
+デフォルトで 128 行までバッファリングされます。
+.El
+.Pp
+.Nm col
+が理解できる復帰動作の制御文字とその 10 進値の一覧を以下の表に示します。
+.Pp
+.Bl -tag -width "carriage return" -compact
+.It ESC\-7
+逆行送り (エスケープ 7)
+.It ESC\-8
+半逆行送り (エスケープ 8)
+.It ESC\-9
+半行送り (エスケープ 9)
+.It backspace
+一桁戻る (8); 最初の桁では無視されます。
+.It carriage return
+(13)
+.It newline
+改行 (10); 復帰動作も同時に行ないます。
+.It shift in
+通常の文字セットにシフトします。(15)
+.It shift out
+異なる文字セットにシフトします。(14)
+.It space
+一桁移動します。(32)
+.It tab
+次のタブストップまで移動します。(9)
+.It vertical tab
+逆行送り (11)
+.El
+.Pp
+認識できないすべての制御文字とエスケープシーケンスは捨てられます。
+.Pp
+.Nm col
+は、読み込まれた通りに文字セットの移り変わりを記憶し、
+出力時に文字セットが正しくなるようにします。
+.Pp
+入力が最後に表示された行に戻ろうとすると、
+.Nm col
+は警告メッセージを表示します。
+.Sh 関連項目
+.Xr expand 1 ,
+.Xr nroff 1 ,
+.Xr tbl 1
+.Sh 歴史
+.Nm col
+コマンドは
+.At v6
+から登場しました。
diff --git a/ja/man/man1/colcrt.1 b/ja/man/man1/colcrt.1
new file mode 100644
index 0000000000..a30dd7aa11
--- /dev/null
+++ b/ja/man/man1/colcrt.1
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)colcrt.1 8.1 (Berkeley) 6/30/93
+.\" jpman %Id: colcrt.1,v 1.2 1997/03/27 13:10:10 ryo2 Stab %
+.\"
+.Dd March 30, 1993
+.Dt COLCRT 1
+.Os BSD 3
+.Sh 名称
+.Nm colcrt
+.Nd nroff の出力を CRT で表示するためのフィルタ
+.Sh 書式
+.Nm colcrt
+.Op Fl
+.Op Fl \&2
+.Op Ar
+.Sh 解説
+.Nm colcrt
+は、半改行、逆改行の能力を持たず、重ね打ちで表示が壊れる端末に、
+仮想的にその機能を提供します。
+半改行文字と下線(ダッシュ`-' に置換されます)は、通常の出力行の間に
+新しい行をもうけて出力されます。
+.Pp
+利用可能なオプションは以下のとおりです;
+.Bl -tag -width Ds
+.It Fl
+下線を出力しません。このオプションは特に
+.Xr tbl 1
+の
+.Em allbox
+で描かれた表を表示するのに便利です。
+.It Fl 2
+すべての行に半改行があるように出力します。実質的には、1 行おきに出力される
+ことになります。通常は半改行のない行で余分な改行を出力しません。
+ただし、二つの連続した空行は省略されません。
+.Fl 2
+オプションは上付き、あるいは下付き文字が含まれていて、それらを
+印字できないラインプリンタに対して出力する時に便利です。
+.El
+.Sh 使用例
+.Nm colcrt
+の典型的な利用法は、以下のとおりです。
+.Bd -literal
+tbl exum2.n \&| nroff \-ms \&| colcrt \- \&| more
+.Ed
+.Sh 関連項目
+.Xr nroff 1 ,
+.Xr troff 1 ,
+.Xr col 1 ,
+.Xr more 1 ,
+.Xr ul 1
+.Sh バグ
+.Ql Fl
+オプションが指定されたときにも、空白部分の下線文字を書き、
+下線文字を表示するようにすべきです。
+.Pp
+102 行以上の行を遡って処理することはできません。
+.Pp
+一般に、重ね打ちの効果は失われます。特殊なケースとして、
+.Ql \&|
+が
+.Ql \-
+や下線と重ね打ちされる場合には、
+.Ql \&+
+になります。
+.Pp
+各行は 132 文字で切り捨てられます。
+.Pp
+すでに 1 行おきになっている文書では、上付き、下付き文字に対する対処が必要です。
+.Sh 歴史
+.Nm
+は
+.Bx 3.0
+から登場しました。
+
diff --git a/ja/man/man1/colldef.1 b/ja/man/man1/colldef.1
new file mode 100644
index 0000000000..166fc91663
--- /dev/null
+++ b/ja/man/man1/colldef.1
@@ -0,0 +1,237 @@
+.\" Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua>
+.\" at Electronni Visti IA, Kiev, Ukraine.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: colldef.1,v 1.3.2.2 1997/06/27 06:19:42 charnier Exp %
+.\"
+.\" jpman %Id: colldef.1,v 1.3 1997/09/04 16:33:17 horikawa Stab %
+.\"
+.Dd January, 27 1995
+.Dt COLLDEF 1
+.Os
+.Sh 名称
+.Nm colldef
+.Nd 照合シークエンスのソース定義を変換する
+.Sh 書式
+.Nm colldef
+.Op Fl I Ar map_dir
+.Op Fl o Ar out_file
+.Op Ar filename
+.Sh 解説
+.Nm colldef
+は、照合シークエンスのソース定義を
+.Fn strxfrm
+と
+.Fn strcoll
+関数で使えるフォーマットに変換します。すなわち、文字列をソートや照合で
+きるようにする様々な方法を定義するために使われます。
+.Fn strxfrm
+は、その第一引数を変換して第二引数の結果に置き換えます。
+変換された文字列は、
+.Fn strcmp ,
+.Fn strncmp ,
+.Fn memcmp
+を使って別の変換された文字列と比較して正しくソートできるようになります。
+.Fn strcoll
+はその引数を変換し、比較を行ないます。
+.Pp
+.Nm colldef
+は、標準入力から照合シークエンスソース定義を読み込み、変換された定義を
+filename に格納します。
+生成される出力ファイルの内容は、システムコマンドやシステムルーチンが
+使える形式の照合シークエンス情報を持つデータベースです。
+.Pp
+オプションリスト:
+.Bl -tag -width 4n
+.It Cm Fl I Ar map_dir
+このオプションは
+.Ar charmap
+ファイルを探すディレクトリ名を設定します。
+デフォルトでカレントディレクトリです。
+.It Cm Fl o Ar out_file
+出力ファイル名を設定します。
+デフォルトで
+.Ar LC_COLLATE
+になります。
+.El
+.Pp
+照合シークエンス定義は、照合要素集合、
+およびこれを含む文字列をどのように順序付けるかを定義する規則を指定します
+これは異なる言語定義に最も便利です。
+.Pp
+指定ファイルは次の三つのステートメントから成ります:
+.Ar charmap ,
+.Ar substitute,
+.Ar order
+.Pp
+この中で
+.Ar order
+ステートメントだけが必須です。
+.Ar charmap
+や
+.Ar substitute
+が与えられたときは、ステートメントの順序は上のようになっていなければ
+なりません。 orderステートメントの後のステートメントは無視されます。
+.Pp
+指定ファイルの中で
+.Ar #
+で始まる行はコメントと扱われ、無視されます。空行も無視されます。
+.Pp
+.Ar charmap charmapfile
+.Pp
+.Ar charmap
+は、文字のマッピングと実際の文字エンコーディングへの照合要素シンボル
+が見つかる場所を定義します。
+.Pp
+.Ar charmapfile
+のフォーマットを以下に示します。
+シンボル名とその値は、タブまたは空白文字によって区切られます。
+symbol-value は 16 進 (\ex\fI??\fR) または 8 進 (\e\fI???\fR)
+表現で指定でき、長さは一文字を意味します。
+.Pp
+.Ar symbol-name1 symbol-value1
+.br
+.Ar symbol-name2 symbol-value2
+.br
+.Ar ...
+.Pp
+シンボル名は
+.Ar substitute
+フィールドでは指定できません。
+.Pp
+.Ar charmap
+ステートメントはオプション指定です。
+.Pp
+.Ar substitute
+"\fIchar\fR"
+.Ar with
+"\fIrepl\fR"
+.Pp
+.Ar substitute
+ステートメントは、文字
+.Ar char
+を文字列
+.Ar repl
+に置き換えます。
+.Pp
+.Ar substitute
+ステートメントはオプション指定です。
+.Pp
+.Ar order order_list
+.Pp
+.Ar order_list
+は、セミコロンで区切られた、照合シークエンスを定義する
+シンボルのリストです。
+特殊シンボル
+.Ar ...
+は、簡略な形の機械語順で連なったシンボルを指定します。
+.Pp
+orderリストの要素は、次の方法のうちのどれかで表現できます。
+.Bl -bullet
+.It
+シンボル自身 (例えば、小文字の
+.Ar a
+は
+.Ar a
+と書きます)
+.It
+シンボルチェーン (例えば、
+.Ar abc )
+.It
+8 進表現 (例えば、文字
+.Ar a
+には
+.Ar \e141 )
+.It
+16 進表現 (例えば、文字
+.Ar a
+には
+.Ar \ex61 )
+.It
+.Ar charmap
+ファイル内で定義されたシンボル名 (例えば、
+.Ar charmapfile
+の
+.Ar abc \e023
+に対して
+.Ar <abc>
+)。文字マップ名が、文字
+.Ar >
+を持つ場合は、
+.Ar /> ,
+のようにエスケープされなければならず、
+文字
+.Ar /
+は
+.Ar //
+のようにエスケープされなければなりません。
+.It
+シンボル
+.Ar \ea ,
+.Ar \eb ,
+.Ar \ef ,
+.Ar \en ,
+.Ar \er ,
+.Ar \ev
+は、通常の C言語の意味で使うことが許されています。
+.It
+シンボルの範囲 (例えば
+.Ar a;...;z )
+.It
+コンマ区切りのシンボル、範囲、チェーンは括弧でくくられます。 (例えば
+.Ar \&(
+.Ar sym1 ,
+.Ar sym2 ,
+.Ar ...
+.Ar \&) )
+は同じ一次順序で割り当てられますが、異なる二次順序となります。
+.It
+鈎括弧でくくられたコンマ区切りのシンボル、範囲、チェーン (例えば、
+.Ar \&{
+.Ar sym1 ,
+.Ar sym2 ,
+.Ar ...
+.Ar \&} )
+は、同じ一次順序だけに割り当てられます)
+.El
+.Pp
+バックスラッシュ文字
+.Ar \e
+は、行の継続に使われます。この場合、バックスラッシュ文字の後には
+どんな文字も書かれてはなりません。
+.Sh 戻り値
+.Nm colldef
+は、次の戻り値で終了します。
+.Ar 0
+エラーがなく、出力の生成に成功した場合
+.Ar !=0
+エラーが見つかった場合
+.Sh 関連ファイル
+.Ar /usr/share/locale/<language>/LC_COLLATE
+localeの配下で、localeの照合順序のための標準共有位置
+.Sh 関連項目
+.Xr mklocale 1 ,
+.Xr setlocale 3 ,
+.Xr strcoll 3 ,
+.Xr strxfrm 3
diff --git a/ja/man/man1/colrm.1 b/ja/man/man1/colrm.1
new file mode 100644
index 0000000000..47a93b1514
--- /dev/null
+++ b/ja/man/man1/colrm.1
@@ -0,0 +1,75 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)colrm.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: colrm.1,v 1.2 1997/05/17 15:52:31 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt COLRM 1
+.Os BSD 3
+.Sh 名称
+.Nm colrm
+.Nd 指定した桁を削除する
+.Sh 書式
+.Nm colrm
+.Op Ar start Op Ar stop
+.Sh 解説
+.Nm colrm
+は、指定された桁をファイルの各行から削除します。
+1 桁は 1 文字分に相当します。
+ファイルは標準入力から読み込まれ、結果は標準出力に書き出されます。
+.Pp
+.Ar start
+だけが与えられた場合は、
+.Ar start
+桁目より前のすべての桁が表示されます。
+.Ar start
+と
+.Ar stop
+の両方が指定された場合は、
+.Ar start
+桁目より前のすべての桁と、
+.Ar stop
+桁目より後のすべての桁が表示されます。
+桁の番号づけは 0 ではなく 1 から始まります。
+.Pp
+タブ文字を読むと、その桁位置の次に来る 8 の倍数の桁まで桁位置を進めます。
+バックスペース文字を読むと、桁位置を 1 戻します。
+.Sh 関連項目
+.Xr awk 1 ,
+.Xr column 1 ,
+.Xr cut 1 ,
+.Xr paste 1
+.Sh 歴史
+.Nm colrm
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/column.1 b/ja/man/man1/column.1
new file mode 100644
index 0000000000..30e76ddf66
--- /dev/null
+++ b/ja/man/man1/column.1
@@ -0,0 +1,94 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)column.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: column.1,v 1.2 1997/05/17 15:57:10 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Os
+.Dt COLUMN 1
+.Sh 名称
+.Nm column
+.Nd 入力を複数列に整形する
+.Sh 書式
+.Nm column
+.Op Fl tx
+.Op Fl c Ar columns
+.Op Fl s Ar sep
+.Op Ar
+.Sh 解説
+.Nm column
+は、入力を複数カラムに分けて整形します。
+列より先に行を埋めます。
+.Ar file
+が 指定されていれば
+.Ar file
+を、指定されていなければ標準入力を処理します。空行は無視されます。
+.Pp
+オプション:
+.Bl -tag -width Ds
+.It Fl c
+表示の幅を
+.Ar columns
+にしてフォーマットします。
+.It Fl s
+.Fl t
+オプションを使う時に、入力行をカラムに分ける区切り文字 (複数でも良い) を
+指定します。
+.It Fl t
+入力行のカラム数を判定し、表を作ります。
+カラムの区切りは、
+.Fl s
+オプションで指定された文字か、指定されていない場合は空白文字です。
+画面表示をきれいに整形するのに便利です。
+.It Fl x
+行を埋める前に列を埋めます。
+.El
+.Pp
+.Nm column
+は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 環境変数
+.Bl -tag -width COLUMNS
+.It Ev COLUMNS
+他に情報が得られない時に、画面の横幅を指定します。
+.Sh 使用例
+.Dl (printf \&"PERM LINKS OWNER GROUP SIZE MONTH DAY HH:MM/YEAR NAME\en\&"\ \&;\ \&\e
+.Dl ls -l \&| sed 1d) \&| column -t
+.Sh 関連項目
+.Xr colrm 1 ,
+.Xr ls 1 ,
+.Xr paste 1 ,
+.Xr sort 1
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3 Reno
+から登場しました。
diff --git a/ja/man/man1/comm.1 b/ja/man/man1/comm.1
new file mode 100644
index 0000000000..5c946239fe
--- /dev/null
+++ b/ja/man/man1/comm.1
@@ -0,0 +1,101 @@
+.\" %NetBSD: comm.1,v 1.4 1995/03/26 09:25:50 glass Exp %
+.\"
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" From: @(#)comm.1 8.1 (Berkeley) 6/6/93
+.\" %Id: comm.1,v 1.1.1.1.8.2 1997/09/14 23:20:44 jkh Exp %
+.\" jpman %Id: comm.1,v 1.3 1997/11/11 13:58:57 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Os
+.Dt COMM 1
+.Sh 名称
+.Nm comm
+.Nd 2つのファイルの共通な行もしくは共通でない行を出力する
+.Sh 書式
+.Nm comm
+.Op Fl 123i
+.Ar file1 file2
+.Sh 解説
+.Nm comm
+は、
+.Ar file1
+と
+.Ar file2
+を読み込んで(辞書的にソートされている必要があります)、
+3 つのテキストカラムを出力します:
+それぞれ、
+.Ar file1
+のみにある行;
+.Ar file2
+のみにある行;
+両方のファイルにある行です。
+.Pp
+ファイル名 ``-'' は標準入力を意味します。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl 1
+第 1 カラムの表示をしません。
+.It Fl 2
+第 2 カラムの表示をしません。
+.It Fl 3
+第 3 カラムの表示をしません。
+.It Fl i
+行比較を大文字と小文字を区別せずに行います。
+.El
+.Pp
+それぞれのカラムの前にタブが付属しますが、
+タブの数はそのカラムより番号の若いカラムで表示されるカラムの数に等しいです。
+例えば、第 2 カラムの表示をしない場合、
+第 1 カラムを表示する行では先頭にタブは付属せず、
+第 3 カラムを表示する行では先頭にタブが 1 つ付属します。
+.Pp
+.Nm comm
+はファイルが辞書的にソートされている事を期待します;
+全ての文字が行の比較に使用されるからです。
+.Sh 診断
+成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
+.Pp
+.Sh 関連項目
+.Xr cmp 1 ,
+.Xr diff 1 ,
+.Xr sort 1 ,
+.Xr uniq 1
+.Sh 規格
+.Nm comm
+ユーティリティは
+.St -p1003.2-92
+を満します。
diff --git a/ja/man/man1/compile_et.1 b/ja/man/man1/compile_et.1
new file mode 100644
index 0000000000..47dfd45055
--- /dev/null
+++ b/ja/man/man1/compile_et.1
@@ -0,0 +1,80 @@
+.\" Copyright (c) 1988 Massachusetts Institute of Technology,
+.\" Student Information Processing Board. All rights reserved.
+.\"
+.\" %Header: /home/ncvs/src/usr.bin/compile_et/compile_et.1,v 1.1.6.2 1997/09/14 23:21:48 jkh Exp %
+.\"
+.\" jpman %Id: compile_et.1,v 1.3 1997/08/20 12:20:14 horikawa Stab %
+.Dd November 22, 1988
+.Os
+.Dt COMPILE_ET 1
+.Sh 名称
+.Nm compile_et
+.Nd エラーテーブルコンパイラ
+.Sh 書式
+.Nm compile_et
+.Ar file
+.Sh 解説
+.Nm compile_et
+は、エラーコード名とそれに対応するメッセージをリストアップしたテーブルを、
+.Xr com_err 3
+ライブラリと共に用いるのに適した C のソースファイルに変換します。
+.Pp
+ソースファイル名は末尾が ``.et'' で終わっていなければなりません。
+このファイルは以下のものから成ります。
+まず、エラーコードテーブル名の宣言(4文字まで):
+
+.Em error_table name
+
+続いて以下の形式のエントリ(256 エントリまで):
+
+.Em error_code name ,
+"
+.Em string
+"
+
+そして最後にテーブルの終わりを示す次の行です:
+
+.Em end
+.Pp
+上のテーブル名はサブルーチン名
+.Em initialize_XXXX_error_table
+を構築するのに用いられます。
+このサブルーチンは
+.Xr com_err 3
+ライブラリがエラーテーブルを認識するために呼び出される必要があります。
+.Pp
+ここで定義された様々なエラーコードには、
+連続した昇順の番号(最初の数は、テーブル名のハッシュ関数として求められた、
+ある大きな数です)が割り当てられます。
+従って、互換性を保つために、新しいコードは既存のテーブルの末尾にのみ
+追加し、また既存のコードはテーブルから削除しないように
+すべきです。
+.Pp
+このテーブルで定義された名前は C のヘッダファイルに置かれ、
+プリプロセッサディレクティブによって
+最大 32 ビットの大きさの整定数として定義されます。
+.Pp
+同時に C のソースファイルが生成されます。
+このファイルはコンパイルされ、
+これらのエラーコードを参照するオブジェクトファイルとリンクされます。
+この C ソースファイルには、
+メッセージテキストと初期化ルーチンが含まれます。
+いずれの C のファイルも、オリジナルソースファイル
+末尾の ``.et'' を ``.c'' および ``.h'' で置き換えた名前になります。
+.Pp
+ソースファイル中の ``#'' はコメント文字として扱われ、
+そこから行末までのテキストは無視されます。
+.Sh バグ
+.Nm compile_et
+は
+.Xr yacc 1
+に基づく極めて単純なパーサを用いているため、
+エラー回復処理には改良すべき点が数多く残されています。
+.Sh 関連項目
+.Xr yacc 1 ,
+.Xr comm_err 3
+.Pp
+.Rs
+.%A Ken Raeburn
+.%T "A Common Error Description Library for UNIX"
+.Re
diff --git a/ja/man/man1/compress.1 b/ja/man/man1/compress.1
new file mode 100644
index 0000000000..2a4ec3026f
--- /dev/null
+++ b/ja/man/man1/compress.1
@@ -0,0 +1,168 @@
+.\" Copyright (c) 1986, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" James A. Woods, derived from original work by Spencer Thomas
+.\" and Joseph Orost.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)compress.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: compress.1,v 1.2 1997/04/03 02:01:53 mutoh Stab %
+.\"
+.Dd April 18, 1994
+.Dt COMPRESS 1
+.Os BSD 4.3
+.Sh 名称
+.Nm compress ,
+.Nm uncompress ,
+.Nm zcat
+.Nd データを圧縮、展開する
+.Sh 書式
+.Nm compress
+.Op Fl cfv
+.Op Fl b Ar bits
+.Op Ar
+.Nm uncompress
+.Op Fl cfv
+.Op Ar
+.Nm zcat
+.Op Ar
+.Sh 解説
+.Nm compress
+は adaptive Lempel-Ziv 法を用いて、ファイルを圧縮します。
+個々の圧縮された
+.Ar file
+は、元のファイル名に拡張子
+.Dq .Z
+を付加したものにリネームされます。そして、ファイルの更新時刻、
+最終アクセス時刻、ファイルフラグ、モード、ユーザID、グループID の大半
+は、パーミッションの許す範囲で圧縮ファイルに引き継がれます。
+もし圧縮しても
+.Ar file
+のサイズが小さくならない場合、compress はそのファイルを無視します。
+.Pp
+.Nm uncompress
+は、compress されたファイルを元通りのファイルにリストアし、
+ファイル名を拡張子
+.Dq .Z
+を除いたものにリネームします。
+.Pp
+.Nm zcat
+は
+.Dq "uncompress -c"
+の別名です。
+.Pp
+compress, uncompress によってリネームされるファイルの名前がすでに存在
+し、標準入力が端末の場合は、上書きしてもよいか確認を求めるプロンプトが
+(標準エラー出力に) 出力されます。
+プロンプトが出せなかったり、確認の回答が得られなかった場合には、
+ファイルは上書きされません。
+.Pp
+ファイル名が指定されなかった場合、標準入力からのデータが圧縮もしくは
+展開され、結果が標準出力に出力されます。
+入力および出力ファイルが通常ファイルでない場合、圧縮後のサイズの
+チェックとファイルの上書きチェックは行なわれません。
+入力ファイルは削除されず、また入力ファイルの属性は引き継がれません。
+.Pp
+オプションは以下のものがあります:
+.Bl -tag -width Ds
+.It Fl b
+.Ar bits
+コードの上限値を指定します(以下を参照)。
+.It Fl c
+compressed または uncompressed の出力を標準出力に出します。
+入力元のファイルは参照されるのみで変更されません。
+.It Fl f
+ファイル長が小さくなるならないにかかわらず、ファイルの圧縮を強行
+します。また、圧縮ファイルと同名のファイルがすでに存在しても、確認を
+求めることなく強制的にファイルの上書きを行ないます。
+.It Fl v
+圧縮後、ファイルサイズがどれだけ減ったかをパーセント表示します。
+.El
+.Pp
+.Nm compress
+は Lempel-Ziv修正アルゴリズムを使用します。
+ファイル内の重複する部分文字列は、まず、257 以上の 9ビットコードに
+置き換えられます。コードが 512 に達すると、アルゴリズムは
+10ビットコードへ切り替えられ、
+.Fl b
+フラグによって指定された上限(デフォルトは16)に達するまで、更に上の
+ビットを使っていきます。
+.Ar Bits
+は、9 から 16 の範囲になければなりません。
+.Pp
+.Ar bits
+の上限に達すると、
+.Nm compress
+は圧縮率を定期的にチェックします。
+圧縮率が上がっているとき、
+.Nm compress
+は既存のコード辞書を使い続けますが、
+圧縮率が下がったときは
+.Nm compress
+は、部分文字列のテーブルを破棄し、最初からテーブルを作り直します。
+こうして、アルゴリズムをファイルの次の "block" へ適用していくことが
+できます。
+.Pp
+ランダムデータの展開または圧縮されたデータの再圧縮を行わないように
+するためのマジックナンバと共に、圧縮の際に指定された
+.Ar bits
+パラメータがエンコードされ、圧縮ファイルの中に保存されるため、
+.Nm uncompress
+では
+.Fl b
+フラグが省略されています。
+.Pp
+.ne 8
+得られる圧縮の量は、入力サイズ、コードあたりの
+.Ar bits
+の数, および重複する部分文字列の分布に依存しています。
+普通、ソースコードや英語のテキストは、50\-60% 圧縮されます。
+一般的に (packコマンドで使われている) Huffman法、または
+(compactコマンドで使われている)最適化Huffman法よって得られるより、圧縮
+は良く、計算時間もかかりません。
+.Pp
+.Nm compress
+ユーティリティは正常終了時には 0 を、エラー終了時には 0 より大きい値を
+返します。
+.Sh 関連項目
+.Rs
+.%A Welch, Terry A.
+.%D June, 1984
+.%T "A Technique for High Performance Data Compression"
+.%J "IEEE Computer"
+.%V 17:6
+.%P pp. 8-19
+.Re
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3
+から登場しました。
diff --git a/ja/man/man1/cp.1 b/ja/man/man1/cp.1
new file mode 100644
index 0000000000..83232ba376
--- /dev/null
+++ b/ja/man/man1/cp.1
@@ -0,0 +1,218 @@
+.\" Copyright (c) 1989, 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cp.1 8.3 (Berkeley) 4/18/94
+.\" %Id: cp.1,v 1.6.2.1 1997/02/28 07:54:27 mpp Exp %
+.\" jpman %Id: cp.1,v 1.2 1997/03/26 15:42:56 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt CP 1
+.Os BSD 4
+.Sh 名称
+.Nm cp
+.Nd ファイルをコピーする
+.Sh 書式
+.Nm cp
+.Oo
+.Fl R
+.Op Fl H | Fl L | Fl P
+.Oc
+.Op Fl f | i
+.Op Fl p
+.Ar source_file target_file
+.br
+.Nm cp
+.Oo
+.Fl R
+.Op Fl H | Fl L | Fl P
+.Oc
+.Op Fl fip
+.Ar source_file ... target_directory
+.Sh 解説
+1 番目の書式の場合、
+.Nm cp
+は
+.Ar source_file
+の内容を
+.Ar target_file
+にコピーします。
+2 番目の書式の場合、
+.Ar source_file
+の各々が
+.Ar target_directory
+の中へコピーされます。このとき
+名前は変更されません。
+コピー先が元のファイル自身になるような
+指定を
+.Nm cp
+が検出した場合、コピーは失敗します。
+.Pp
+以下のオプションが使用できます。
+.Bl -tag -width flag
+.It Fl H
+.Fl R
+オプションが指定されている時、コマンド行で指定されたシンボリックリンク
+を追跡します。(木構造の検索中に見つかったシンボリックリンクは追跡
+しません)
+.It Fl L
+.Fl R
+オプションが指定されている時、すべてのシンボリックリンクを追跡します。
+.It Fl P
+.Fl R
+オプションが指定されている時、シンボリックリンクを一切追跡しません。
+.It Fl R
+.Ar source_file
+としてディレクトリが指定された場合、
+.Nm cp
+はそのディレクトリとそれ以下の
+部分木を構成するすべてのファイルをコピーします。シンボリックリンクに
+ついては、それが指している先のファイルをコピーするのではなく
+シンボリックリンクのままコピーします。特殊ファイルについても
+通常ファイルとしてではなく
+.Nm cp
+が特殊ファイルを生成することでコピーします。
+作成されるディレクトリの属性はプロセスのumask値の
+影響を受けず、対応するコピー元ディレクトリと同じ属性となります。
+.It Fl f
+コピー先にすでに同名のファイルが存在する場合、そのファイルのパー
+ミッションに関わらず、確認を求めずにそれを消去して新しくファイル
+を作成します。(
+.Fl f
+オプションより前の
+.Fl i
+オプションは無視されます。)
+.It Fl i
+すでに存在するファイルへの上書きを伴うコピーを実行する前に、
+上書きするかどうかの確認プロンプトを標準エラー出力へ出力するよう
+.Nm cp
+に指示します。標準入力からの返答が
+文字
+.Sq Li y
+か
+.Sq Li Y
+で始まっていればコピーが実行されます。
+(
+.Fl i
+オプションより前の
+.Fl f
+オプションは無視されます。)
+.It Fl p
+ファイルの変更時刻・アクセス時刻・フラグ・モード・ユーザID・グループID
+などを、パーミッションが許す範囲内で可能な限り保存してコピーするよう
+.Nm cp
+に指示します。
+.Pp
+ユーザIDやグループIDが保存できない場合でも、エラーメッセージは出力されず
+戻り値も変化しません。
+.Pp
+コピー元ファイルにSETUIDビットが立っておりかつそのユーザIDが保存できない
+場合、SETUIDビットは保存されません。コピー元ファイルにSETGIDビットが
+立っておりかつそのグループIDが保存できない場合、SETGIDビットは保存されません。
+コピー元のファイルにSETUIDビットとSETGIDビットが共に
+立っておりかつそのユーザIDかグループIDのいずれか一方でも保存できない場合、
+SETUIDビットとSETGIDビットの両方が保存されません。
+.El
+.Pp
+すでに存在するコピー先ファイルについては、パーミッションが許せば
+内容は上書きされますが、モード・ユーザID・グループIDは変化しません。
+.Pp
+2 番目の書式では、
+.Ar source_file
+としてディレクトリが一つだけ指定されかつ
+.Fl R
+オプションが指定されている場合を除き、
+.Ar target_directory
+は存在していなければなりません。
+.Pp
+コピー先ファイルが存在しない場合、コピー元ファイルのモードに
+ファイルモード生成マスク
+.Pf ( Ic umask ,
+.Xr csh 1 を参照 )
+を適用したものがコピー先ファイルのモードとして使用されます。
+コピー元ファイルのSETUIDビットが立っていても、コピー元ファイルとコピー先
+ファイルの所有者が同一でない限り、それは落とされます。
+コピー元ファイルのSETGIDビットが立っていても、コピー元ファイルとコピー先
+ファイルが同一グループに属しかつコピーを行うユーザがそのグループ
+に入っていない限りそれは落とされます。
+SETUIDビットとSETGIDビットの両方が立っている場合、上記のすべての
+条件が満たされない限り、両方のビットが落とされます。
+.Pp
+ファイルの生成および上書きには、適切なパーミッションがなければなりません。
+.Pp
+.Fl R
+フラグが指定されるとシンボリックリンクは追跡されませんが、
+そうでない限りデフォルトでシンボリックリンクは常に追跡されます。
+.Fl H
+または
+.Fl L
+フラグ (
+.Fl R
+フラグと併用) を用いると、シンボリックリンクの追跡を前述したように動作さ
+せることができます。
+.Fl H ,
+.Fl L ,
+.Fl P
+オプションは、
+.Fl R
+オプションが指定されていなければ無視されます。
+また、これらのオプションは互いに打ち消し合い、
+最後に指定されたものが有効になります。
+.Pp
+.Nm cp
+は成功すると戻り値 0 を、エラーが発生すると戻り値 >0 を返します。
+.Pp
+.Sh 互換性
+従来版の
+.Nm cp
+には
+.Fl r
+オプションがありました。本実装でもこのオプションはサポートされていますが、
+特殊ファイル・シンボリックリンク・FIFOなどを正しくコピーできないため、
+これを使用することは奨められません。
+.Sh 関連項目
+.Xr mv 1 ,
+.Xr rcp 1 ,
+.Xr umask 2 ,
+.Xr fts 3 ,
+.Xr symlink 7
+.Sh 標準
+.Nm cp
+コマンドは、
+.St -p1003.2
+互換を想定しています。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/cpio.1 b/ja/man/man1/cpio.1
new file mode 100644
index 0000000000..1fb6821fb4
--- /dev/null
+++ b/ja/man/man1/cpio.1
@@ -0,0 +1,361 @@
+.TH CPIO 1L \" -*- nroff -*-
+.\" jpman %Id: cpio.1,v 1.2 1997/05/22 04:01:20 bobson Stab %
+.SH 名称
+cpio \- アーカイブファイルへのファイルのコピーや、アーカイブファイルからファイルへのコピーをおこなう
+.SH 書式
+.B cpio
+{\-o|\-\-create} [\-0acvABLV] [\-C bytes] [\-H format] [\-M message]
+[\-O [[user@]host:]archive] [\-F [[user@]host:]archive]
+[\-\-file=[[user@]host:]archive] [\-\-format=format] [\-\-message=message]
+[\-\-null] [\-\-reset-access-time] [\-\-verbose] [\-\-dot] [\-\-append]
+[\-\-block-size=blocks] [\-\-dereference] [\-\-io-size=bytes] [\-\-quiet]
+[\-\-force\-local] [\-\-help] [\-\-version] < name-list [> archive]
+
+.B cpio
+{\-i|\-\-extract} [\-bcdfmnrtsuvBSV] [\-C bytes] [\-E file] [\-H format]
+[\-M message] [\-R [user][:.][group]] [\-I [[user@]host:]archive]
+[\-F [[user@]host:]archive] [\-\-file=[[user@]host:]archive]
+[\-\-make-directories] [\-\-nonmatching] [\-\-preserve-modification-time]
+[\-\-numeric-uid-gid] [\-\-rename] [\-\-list] [\-\-swap-bytes] [\-\-swap] [\-\-dot]
+[\-\-unconditional] [\-\-verbose] [\-\-block-size=blocks] [\-\-swap-halfwords]
+[\-\-io-size=bytes] [\-\-pattern-file=file] [\-\-format=format]
+[\-\-owner=[user][:.][group]] [\-\-no-preserve-owner] [\-\-message=message]
+[\-\-force\-local] [\-\-no\-absolute\-filenames] [\-\-sparse] [\-\-only\-verify\-crc]
+[\-\-quiet] [\-\-help] [\-\-version] [pattern...] [< archive]
+
+.B cpio
+{\-p|\-\-pass-through} [\-0adlmuvLV] [\-R [user][:.][group]]
+[\-\-null] [\-\-reset-access-time] [\-\-make-directories] [\-\-link] [\-\-quiet]
+[\-\-preserve-modification-time] [\-\-unconditional] [\-\-verbose] [\-\-dot]
+[\-\-dereference] [\-\-owner=[user][:.][group]] [\-\-no-preserve-owner]
+[\-\-sparse] [\-\-help] [\-\-version] destination-directory < name-list
+.SH 解説
+このマニュアルは、GNU 版の
+.BR cpio
+について説明します。
+.B cpio
+は、cpio 形式もしくは tar 形式のアーカイブファイルに格納されたファイルを
+取り出したり、その逆を行なったりします。アーカイブファイルとは、格納される
+ファイルそのものに加え、それら個々のファイルについてのファイル名や所有者、
+タイムスタンプ、アクセス権限のような情報を含むようなファイルです。
+アーカイブファイルは、ディスク上のファイルでも、
+磁気テープ上に格納してあるファイルでも、もしくはパイプであっても構いません。
+.B cpio
+は、3つの操作モードを持っています。
+.PP
+コピーアウトモードでは、
+.B cpio
+はファイルをアーカイブファイルにコピーします。cpio は、標準入力から
+ファイル名のリストを1行ずつ読み込み、標準出力にそのファイルのアーカイブを
+書き出します。ファイルリストの作成には、
+.B find
+コマンドが多く使われます。
+.B find
+コマンドでは、\-d オプションを付加して、ディレクトリの属性によって
+読み込み不可であったり、検索が出来なかったりする問題を最小限に抑えるように
+して下さい。
+.PP
+コピーインモードでは、
+.B cpio
+はファイルをアーカイブファイルからファイルを(取り出して)コピーしたり、
+アーカイブの内容のリストを表示したりします。
+cpioは、アーカイブを標準入力から読み込みます。オプションでない
+コマンドラインの引数は、すべてシェルによって展開される文字列として
+解釈されます。これにより、アーカイブ内のファイル名が、この文字列によって
+指定されるパターンにマッチするファイルのみを展開することができます。
+また、シェルでの解釈とは違い、ファイル名の先頭に`.'を含むファイル名は、
+取り出すファイルとして指定したパターンの最初にワイルドカードを含む場合、
+パターンが一致します。また、ファイル名に `/'を含むファイル名も
+ワイルドカードによって一致します。パターンが指定されない場合には、
+全てのファイルが展開対象となります。
+.PP
+コピーパスモードでは、
+.B cpio
+はファイルをあるディレクトリから別のディレクトリにコピーします。実際には、
+アーカイブファイルを用いないで、コピーアウトモードとコピーインモードを
+組み合わせて実行するような形になります。cpio は、コピーするファイルリストを
+標準入力から読み込みます。これらのファイルのコピー先のディレクトリについては、
+オプション以外の引数で与えられます。
+.PP
+.B cpio
+は、
+binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar,
+POSIX.1 tar の各形式のアーカイブフォーマットをサポートします。
+binary フォーマットは、異なるマシンアーキテクチャ間では互換性のない方法で、
+ファイルの情報をエンコードするので、ほとんど使われません
+(つまり、binary フォーマットは、異なるマシンアーキテクチャ間で、
+互換性のないアーカイブを生成するので、あまり使われないということです)。
+old ASCII フォーマットは、異なるマシンアーキテクチャの間での互換性は
+保たれますが、65536 個を超える i-nodes を備えるシステムで使われることを
+想定してません。
+new ASCII フォーマットは、異なるマシンアーキテクチャの間でのアーカイブの
+互換性は保たれます。old ASCII フォーマットのように、ファイルシステムの
+サイズの制限はありませんが、全てのバージョンの
+.BR cpio
+でこの形式をサポートするわけではありません。現状でこのフォーマットを
+サポートする cpio は、GNU cpio と、Unix System V R4 の cpio のみです。
+crcフォーマットは、new ASCIIフォーマットと似てますが、アーカイブ作成時に
+.B cpio
+が各ファイルについてチェックサムを計算し、アーカイブ内に含めるところが
+異なります。このチェックサムは、アーカイブからファイルを取り出す時の
+ベリファイに使用されます。
+HPUX フォーマットは、デバイスファイルを格納する形式が他の cpio と異なる
+HPUX の cpio 形式との互換性を持たせるために存在します。
+.PP
+tarフォーマットは、
+.B tar
+との互換性を持たせるために存在します。tar フォーマットでは、アーカイブされる
+ファイル名としては、100 文字を超えるものは使えません。また、
+スペシャルファイル(ブロックデバイスややキャラクタデバイス)をアーカイブする
+こともできません。
+POSIX.1 tar フォーマットは、アーカイブされるファイル名としては、255 文字を
+超えるものは使えません。(ちょうどその場所に、"/"が含まれる場合は除きます)。
+.PP
+デフォルトでは、
+.B cpio
+は古い
+.B cpio
+との互換性を保つためにバイナリフォーマットアーカイブを作成します。
+アーカイブを展開する場合には、
+.B cpio
+は自動的に読み込まれたアーカイブの種類を認識するので、異なるバイトオーダの
+マシンで作成されたアーカイブを読むことができます。
+.PP
+.B cpio
+のオプションには、操作モードを指定するものもあります。
+どのオプションがどのモードに対応するかについては、
+書式のセクションを見て下さい。
+.SS オプション
+.TP
+.I "\-0, \-\-null"
+コピーアウトおよびコピーパスモードにおいて、改行のかわりにヌル文字で終了する
+ファイル名のリストを読み込みます。これにより、改行を含むファイル名を持つ
+ファイルをアーカイブできます。
+GNU
+.B find
+を使うことで、ヌル文字で終了するファイル名のリストを生成することができます。
+.TP
+.I "\-a, \-\-reset-access-time"
+ファイルを読み込んだ後に、それらのファイルのアクセスタイムの再設定を
+行ないます。これは、これらのファイルがその時点で読み込まれたもののように
+見えないようにするためです。
+.TP
+.I "\-A, \-\-append"
+すでに存在するアーカイブファイルに追加書き込みをします。
+このオプションはコピーアウトモードでのみ使用することができます。
+このオプションを使うためには、アーカイブファイルが、
+.I \-O
+または、
+.I "\-F (\-\-file)"
+オプションで指定した名前のディスク上の(アーカイブ)ファイルで
+なければなりません。
+.TP
+.I "\-b, \-\-swap"
+コピーインモードにおいて、データ中の1ワード(32 ビット)データの上下 16 ビット
+を入れ換え、1 ハーフワード(16 ビット)の上下 8 ビットを入れ換えます。本オプショ
+ンは、
+.IR "\-sS"
+と同等です。
+このオプションは、ビッグエンディアンマシンとリトルエンディアンのマシンの間で
+32ビット整数を変換するために用います。
+.TP
+.I "\-B"
+I/O ブロックサイズを 5120 バイトに設定します。ブロックサイズの初期値は 512
+バイトです。
+.TP
+.I "\-\-block-size=BLOCK-SIZE"
+I/Oブロックサイズを BLOCK-SIZE * 512 バイトに設定します。
+.TP
+.I "\-c"
+アーカイブ形式として、old ASCII フォーマット
+(つまり古い互換アーカイブフォーマット)を用います。
+.TP
+.I "\-C IO-SIZE, \-\-io-size=IO-SIZE"
+I/O ブロックサイズを IO-SIZE で指定したバイト数に設定します。
+.TP
+.I "\-d, \-\-make-directories"
+必要に応じてディレクトリを作成します。
+.TP
+.I "\-E FILE, \-\-pattern-file=FILE"
+コピーインモードにおいて、ファイル名 FILE から展開したり、ファイルリストを
+表示したりするために、ファイル名を特定するパターン指定を読み込みます。
+ファイル名 FILE で特定できるファイルに記述された各行は、
+.B cpio
+のオプション以外の文字列で指定されたもののように扱われます。
+.TP
+.I "\-f, \-\-nonmatching"
+与えられたパターンのいずれにも一致しないファイルのみ扱います。
+.TP
+.I "\-F, \-\-file=archive"
+標準入力もしくは標準出力のかわりに、指定されたアーカイブファイルを
+用います。他のマシンのテープドライブをアーカイブファイルとして扱う
+場合には、 `HOSTNAME:'で始まるファイル名を使用して下さい。
+ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために
+ユーザネームと '@'を先に書いても構いません(典型的には、そのユーザの
+`~/.rhosts'エントリにエントリが存在するマシンであることが多いようです)。
+.TP
+.I "\-\-force-local"
+With
+.IR \-F 、
+.IR \-I 、
+もしくは
+.IR \-O
+オプションを用いた場合に、コロン文字を含むファイル名をローカルファイル名と
+みなして扱います。通常、コロン文字は、リモートホスト名とその上の
+ローカルファイル名を区切る場合に使用されます。
+.TP
+.I "\-H FORMAT, \-\-format=FORMAT"
+アーカイブフォーマットとして、FORMATのものを用います。
+FORMAT の部分に指定できる文字列を以下に示します。
+これらの名前は、すべて大文字の場合でも認識されます。
+コピーインモードでのデフォルトは、入力ファイルの内容から
+自動的にアーカイブフォーマットを判定するもので、コピーアウトモードでは、
+"bin"フォーマットがデフォルトです。
+.RS
+.IP bin
+binaryフォーマットです。ほとんど使われません。
+.IP odc
+old ASCII (POSIX.1 互換)フォーマットです。
+.IP newc
+new ASCII(SVR4 互換)フォーマットです。
+new ASCII フォーマットは、65536 個を超える i-nodes を備える
+ファイルシステムをサポートします。
+.IP crc
+crc フォーマットです。crcフォーマットは、new ASCII フォーマットと似ていますが、
+チェックサムを含みます。
+.IP tar
+old tar フォーマットです。
+.IP ustar
+POSIX.1 tar フォーマットです。GNU
+.B tar
+アーカイブも取り扱うことができます。POSIX.1 tar と GNU tar は、
+よく似ていますが、同じではありません。
+.IP hpbin
+HPUXの cpio で使用されている、あまり使われない binary フォーマットです。
+(他の cpio とは異なる形式で、デバイスファイルを保存します)。
+.IP hpodc
+HPUX の cpio で使用されている互換フォーマットです(他のcpioとは異
+なる形式で、デバイスファイルを保存します)。
+.RE
+.TP
+.I "\-i, \-\-extract"
+コピーインモードで動作します。
+.TP
+.I "\-I archive"
+標準入力のかわりに、指定されたアーカイブファイル名を用います。他のマシンの
+テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:'で始
+まるファイル名を使用して下さい。
+ホスト名は、そのユーザとしてリモートテープドライブをアクセスするために
+ユーザネームと '@'を先に書いても構いません(典型的には、そのユーザの
+`~/.rhosts'エントリにエントリが存在するマシンであることが多いようです)。
+.TP
+.I \-k
+無視されます。他のバージョンの
+.BR cpio
+との互換性を保つためにのみ存在します。
+.TP
+.I "\-l, \-\-link"
+可能であれば、ファイルをコピーするかわりにリンクを張ります
+(
+.I \-p
+オプションと共に指定するときのみ使用できます)。
+.TP
+.I "\-L, \-\-dereference"
+シンボリックリンクを参照を利用しません。
+シンボリックリンクファイルをコピーするかわりに、
+シンボリックリンクファイルの指す実体のファイルをコピー
+します。
+.TP
+.I "\-m, \-\-preserve-modification-time"
+コピー先のファイル生成時に、コピー元のファイルの更新時刻を保持します。
+.TP
+.I "\-M MESSAGE, \-\-message=MESSAGE"
+バックアップ媒体(テープやフロッピーディスクなど)のボリューム終端まで
+到達した場合に、MESSAGEで指定された文字列を出力します。この指定をすることで、
+ユーザに新しい媒体の挿入指示を出すことが可能になります。MESSAGE
+で指定される文字列に"%d"が含まれる場合には、"%d"文字列は、現在の媒体通番
+(1からはじまります)に置き換えられます。
+.TP
+.I "\-n, \-\-numeric-uid-gid"
+冗長モードで内容のリストを出す場合に、UID および GID を、その ID の
+対応するユーザ名 / グループ名でなく、数字で表示します。
+.TP
+.I " \-\-no-absolute-filenames"
+コピーモードで、
+アーカイブ中に絶対ファイル名で格納されていたとしても、
+現在のディレクトリからの相対でファイルを生成します。
+.TP
+.I " \-\-no-preserve-owner"
+コピーインモードおよびコピーパスモードにおいて、ファイルの所有者を
+変更しません。これは、展開後のファイルの所有者は、実際にファイルの展開を
+行なっているユーザとなることを示します。このオプションは、スーパユーザ以外の
+ユーザが使用する場合にはデフォルトで有効になります。これは、System V
+のユーザが、誤ってファイルの所有権を手放さないようにするためです。
+.TP
+.I "\-o, \-\-create"
+コピーアウトモードで動作します。
+.TP
+.I "\-O archive"
+標準出力のかわりに、指定したアーカイブファイルを用います。他のマシンの
+テープドライブをアーカイブファイルとして扱う場合には、`HOSTNAME:'で
+始まるファイル名を使用して下さい。ホスト名は、そのユーザとして
+リモートテープドライブをアクセスするためにユーザネームと '@'を先に
+書いても構いません(典型的には、そのユーザの`~/.rhosts'エントリに
+エントリが存在するマシンであることが多いようです)。
+.TP
+.I " \-\-only-verify-crc"
+コピーインモードで CRC フォーマットのアーカイブを読み込む時に、
+アーカイブ内の各ファイルの CRC をベリファイするだけで、
+実際にファイルを取り出しません。
+.TP
+.I "\-p, \-\-pass-through"
+コピーパスモードで動作します。
+.TP
+.I "\-\-quiet"
+コピーされたブロック数を表示しません。
+.TP
+.I "\-r, \-\-rename"
+対話的にファイル名を変更します。
+.TP
+.I "\-R [user][:.][group], \-\-owner [user][:.][group]"
+コピーアウトモードおよびコピーパスモードにおいて、全ての生成ファイルの
+所有権を指定したユーザ、グループに設定します。ユーザもしくはグループの
+どちらか、もしくは両方とも指定される必要があります。もしグループの指定は
+省略されたが、":"もしくは"."セパレータが指定された場合には、ユーザの
+ログイングループがグループとして設定されます。
+スーパーユーザのみがファイルの所有権を変更することが可能です。
+.TP
+.I "\-\-sparse"
+コピーアウトモードおよびコピーパスモードにおいて、ゼロから成る大きなブロックを
+持つファイルを疎なファイルとして書きます。
+.TP
+.I "\-s, \-\-swap-bytes"
+コピーインモードにおいて、ファイル中のデータの16ビットの上位8ビットと下位
+8ビットを入れ換えます。
+.TP
+.I "\-S, \-\-swap-halfwords"
+コピーインモードにおいて、ファイル中のデータの 32 ビットの上位 16 ビットと
+下位 16 ビットを入れ換えます。
+.TP
+.I "\-t, \-\-list"
+入力ファイル名の一覧を出力します。
+.TP
+.I "\-u, \-\-unconditional"
+すでに存在している新しいファイルを古いファイルで置き換えるかどうかの
+問い合わせをすることなく、全てのファイルを上書きします。
+.TP
+.I "\-v, \-\-verbose"
+処理されたファイル名を表示します(冗長モードということです)。
+.IR \-t
+オプションが同時に指定された場合には、`ls \-l'形式の表示を得ることが
+できます。ustar フォーマットのアーカイブから得られる表示においては、
+ローカルシステムに存在しないユーザ名およびグループ名のファイルについては、
+アーカイブ内に格納された UID および GID の値に対応するローカルでのユーザ名、
+グループ名に置き換えてその部分を表示します。
+.TP
+.I "\-V \-\-dot"
+各ファイルを処理するごとに、"."を表示します。
+.TP
+.I "\-\-version"
+.B cpio
+のプログラムバージョンを表示して終了します。
diff --git a/ja/man/man1/crontab.1 b/ja/man/man1/crontab.1
new file mode 100644
index 0000000000..6dab67c162
--- /dev/null
+++ b/ja/man/man1/crontab.1
@@ -0,0 +1,120 @@
+.\"/* Copyright 1988,1990,1993 by Paul Vixie
+.\" * All rights reserved
+.\" *
+.\" * Distribute freely, except: don't remove my name from the source or
+.\" * documentation (don't take credit for my work), mark your changes (don't
+.\" * get me blamed for your possible bugs), don't alter or remove this
+.\" * notice. May be sold if buildable source is provided to buyer. No
+.\" * warrantee of any kind, express or implied, is included with this
+.\" * software; use at your own risk, responsibility for damages (if any) to
+.\" * anyone resulting from the use of this software rests entirely with the
+.\" * user.
+.\" *
+.\" * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
+.\" * I'll try to keep a version up to date. I can be reached as follows:
+.\" * Paul Vixie <paul@vix.com> uunet!decwrl!vixie!paul
+.\" */
+.\"
+.\" %Id: crontab.1,v 1.1.1.1.8.1 1997/09/16 07:02:05 charnier Exp %
+.\" jpman %Id: crontab.1,v 1.2 1997/04/18 06:38:25 yugawa Stab %
+.\"
+.Dd December 29, 1993
+.Dt CRONTAB 1
+.Os
+.Sh 名称
+.Nm crontab
+.Nd 個人用の crontab の編集を行う (V3)
+.Sh 書式
+.Nm crontab
+.Op Fl u Ar user
+.Ar file
+.Nm crontab
+.Op Fl u Ar user
+{
+.Fl l |
+.Fl r |
+.Fl e
+}
+.Sh 解説
+.Nm crontab
+は、
+Vixie Cron の
+.Xr cron 8
+デーモンが扱うテーブル内のエントリの
+追加、削除、およびリスト表示を行います。各ユーザは、自分用の contab
+ファイルを持つことができます。このファイルは
+.Pa /var
+内にありますが、
+これはエディタで直接変更するためのものではありません。
+.Pp
+もし
+.Pa allow
+ファイル
+.Pq Pa /var/cron/allow
+が存在した場合、このコマンドを
+使うためには、あなたの名前がこの
+.Pa allow
+ファイルになければなりません。また、
+.Pa allow
+ファイルは存在しないが
+.Pa deny
+ファイル
+.Pq Pa /var/cron/deny
+が存在した場合に、
+このコマンドを使うためには、あなたの名前がこの
+.Pa deny
+ファイルにあっては
+.Em いけません
+。
+どちらのファイルも存在しない場合、サイト依存の設定パラメータにより
+スーパーユーザだけがこのコマンドを使うことができるか、
+すべてのユーザがこのコマンドを使うことができるかが決定されます。
+.Pp
+このコマンドの最初の書式は file から新しい crontab をインストールする
+場合に使います。ファイル名として ``-'' が指定された時は、標準入力から
+読み込みます。
+.Pp
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl u
+指定した
+.I user
+の crontab ファイルに対して操作を行います。
+このオプションがない場合には、コマンドを実行した人
+の crontab ファイルに対しての操作になります。
+.Xr su 8
+をしている場合は混乱する可能性がありますから、正確を期するため、この場合には
+.Fl u
+をつねにつけるようにすべきです。
+.It Fl l
+現在の crontab ファイルを標準出力に表示します。
+.It Fl r
+現在の crontab ファイルを削除します。
+.It Fl e
+現在の crontab を編集します。環境変数
+.Ev VISUAL
+もしくは
+.Ev EDITOR
+があれば、この環境変数で指定したエディタを利用します。
+エディタを終了すれば、crontab ファイルが自動的にインストールされます。
+.El
+.Sh 関連項目
+.Xr crontab 5 ,
+.Xr cron 8
+.Sh 関連ファイル
+.Bl -tag -width /var/cron/allow -compact
+.It Pa /var/cron/allow
+.It Pa /var/cron/deny
+.El
+.Sh 規格
+.Nm
+コマンドは
+.St -p1003.2
+準拠です。
+この新しい文法は以前の Vixie Cron のものとも
+古典的な SVR3 のものとも異なっています。
+.Sh 診断
+誤ったコマンドラインを与えて実行した場合、
+使用法についてのかなり有益なメッセージが出力されます。
+.Sh 作者
+.An Paul Vixie Aq paul@vix.com
diff --git a/ja/man/man1/crunchgen.1 b/ja/man/man1/crunchgen.1
new file mode 100644
index 0000000000..aca03a25d5
--- /dev/null
+++ b/ja/man/man1/crunchgen.1
@@ -0,0 +1,302 @@
+.\"
+.\" Copyright (c) 1994 University of Maryland
+.\" All Rights Reserved.
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation, and that the name of U.M. not be used in advertising or
+.\" publicity pertaining to distribution of the software without specific,
+.\" written prior permission. U.M. makes no representations about the
+.\" suitability of this software for any purpose. It is provided "as is"
+.\" without express or implied warranty.
+.\"
+.\" U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M.
+.\" BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+.\" IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Author: James da Silva, Systems Design and Analysis Group
+.\" Computer Science Department
+.\" University of Maryland at College Park
+.\"
+.Dd September 29, 1997
+.\" jpman %Id: crunchgen.1,v 1.3 1997/07/29 13:43:59 konuma Stab %
+.Dt CRUNCHGEN 1
+.Os BSD 4
+.Sh 名称
+.Nm \&crunchgen
+.Nd クランチバイナリ構築環境を作成する
+.Sh 書式
+.Nm \&crunchgen
+.Op Fl fql
+.Op Fl m Ar makefile-name
+.Op Fl c Ar c-file-name
+.Op Fl e Ar exec-file-name
+.Op Ar conf-file
+.Sh 解説
+
+クランチバイナリ(crunched binary)は、
+たくさんの別々のプログラムをひとつにまとめて
+単一の実行形式にしたプログラムです。
+クランチバイナリの main() 関数は、argv[0] の値をみて、
+どのコンポーネントプログラムが実行されるべきかを決定します。
+複数プログラムをクランチしてひとつにまとめる主たる理由は、
+インストールフロッピあるいはシステム回復フロッピ上に、
+できるだけ多くのプログラムを収納するためです。
+
+.Pp
+.Nm crunchgen
+は
+.Ar conf-file
+に記述されたクランチバイナリのための設定項目を読み込み、
+Makefile とそれに付随するトップレベルの C ソースファイルを生成します。
+これらはビルド時に各コンポーネントプログラムからクランチした実行形式を
+作成します。
+オプションにより、
+.Nm
+は、各コンポーネントプログラムに対して、
+そのソースディレクトリの Makefile から
+プログラムを構成するオブジェクトファイル(.o)を決定することも試みます。
+この情報は実行のたびにキャッシュされます。
+.Nm
+は関連するもうひとつのプログラム
+.Nm crunchide
+を用い、全ての不要なシンボルを隠すことで
+コンポーネントプログラム間のリンク時のシンボル競合を防ぎます。
+
+.Pp
+.Nm
+実行後、 ``make -f <conf-name>.mk'' を実行することで
+クランチバイナリを作成できます。
+コンポーネントプログラムのオブジェクトファイルは既に作成されている
+必要があります。
+出力される makefile に含まれる ``objs'' ターゲットは、
+各コンポーネントプログラムのソースディレクトリで make を実行し、
+ユーザのためにオブジェクトファイルを作成してくれます。
+しかしこのターゲットは自動的には実行されません。
+リリースエンジニアリング環境では、オブジェクトを他のディレクトリで
+修正するのは一般に望ましくないからです。
+
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width indent
+.It Fl c Ar c-file-name
+出力する C のファイル名を
+.Ar c-file-name
+とします。デフォルトの名前は ``<conf-name>.c'' です。
+.It Fl e Ar exec-file-name
+クランチバイナリの実行形式ファイルの名前を
+.Ar exec-file-name
+とします。デフォルトの名前は ``<conf-name>'' です。
+.It Fl f
+キャッシュを消去し、キャッシュされていたパラメータを強制的に再計算します。
+.It Fl l
+名前の表示。このバイナリが対応する名前を一覧表示します。
+.It Fl m Ar makefile-name
+出力する Makefile の名前を
+.Ar makefile-name
+とします。デフォルトの名前は ``<conf-name>.mk'' です。
+.It Fl q
+静粛処理モード。状況報告メッセージを抑制します。
+.El
+.Sh CRUNCHGEN コンフィギュレーションファイルコマンド
+
+.Nm
+は、クランチバイナリのコンポーネントについて記述した設定項目を
+.Ar conf-file
+から読み取ります。
+最も単純な場合は、各コンポーネントプログラム名を、
+そのソースファイルが置かれたトップレベルのディレクトリ名とともに、
+単に列挙するだけです。
+次に
+.Nm
+は(ソースの makefile によって)オブジェクトファイルリストと
+その位置を求め、それをキャッシュします。
+もっと特殊な場合には、
+.Nm
+が必要とするあらゆるパラメータを、ユーザが手動で指定することができます。
+.Pp
+.Ar conf-file
+のコマンドは以下の通りです:
+.Bl -tag -width indent
+.It Nm srcdirs Ar dirname ...
+コンポーネントプログラムのソースディレクトリがあるソースツリーのリスト。
+これらのディレクトリは BSD の ``<source-dir>/<progname>/'' 方式を
+用いて検索されます。
+.Nm srcdirs
+行は複数あってもよく、ディレクトリは記述された順に検索されます。
+.It Nm progs Ar progname ...
+クランチバイナリを構成するプログラムのリスト。
+.Nm progs
+行は複数あっても構いません。
+.It Nm libs Ar libspec ...
+クランチバイナリのリンク時に含めるライブラリ指定のリスト。
+.Nm libs
+行は複数あっても構いません。
+.It Nm ln Ar progname linkname
+argv[0] に
+.Ar linkname
+が現われたときはいつも
+.Ar progname
+を起動するよう、クランチバイナリに要請します。
+これにより、起動時の名前によって振る舞いを変えるようなプログラムも
+正しく動作するようにできます。
+.El
+
+特別な状況、例えば
+ソースファイルがないとか、
+従来の Makefile によらないビルドを行うといった
+場合に対応するため、以下に述べる
+.Nm special
+コマンドを用いてコンポーネントプログラムの
+.Nm
+パラメータを指定できます。
+.Bl -tag -width indent
+.It Nm special Ar progname Nm srcdir Ar pathname
+プログラム
+.Ar progname
+のソースディレクトリを指定します。
+通常は指定されたディレクトリ
+.Nm srcdirs
+内の
+.Ar progname
+ディレクトリを検索して決定されます。
+.It Nm special Ar progname Nm objdir Ar pathname
+プログラム
+.Ar progname
+のオブジェクトディレクトリを指定します。
+通常はディレクトリ
+.Ar srcdir
+内の
+.Dq Pa obj
+という名前のディレクトリを探し、もし見つからなければ、ディレクトリ
+.Ar srcdir
+自身が
+.Ar objdir
+となります。
+.It Nm special Ar progname Nm objs Ar object-file-name ...
+プログラム
+.Ar progname
+のオブジェクトファイルのリストを指定します。
+通常は、
+.Dq Nm srcdir / Pa Makefile
+をインクルードし $(OBJS) の値を出力するような一時 makefile を構築する
+ことで決定されます。
+.It Nm special Ar progname Nm objpaths Ar full-pathname-to-object-file ...
+プログラム
+.Ar progname
+のオブジェクトファイルのパス名を指定します。
+通常は
+.Nm objs
+リスト中の各ファイルのパス名の先頭に
+.Nm objdir
+を付加することで決定されます。
+.It Nm special Ar progname Nm keep Ar symbol-name ...
+プログラム
+.Ar progname
+の保持リストに、指定するシンボルのリストを追加します。
+各シンボルの前にはアンダスコアが付加され、
+.Xr crunchide 1
+フェーズでは
+.Fl k
+オプションの引数となります
+このオプションはシンボルが衝突するときの最後の拠所ですが、
+シンボル解決の唯一の方法である場合もあります。
+.El
+
+.Pp
+実際に
+.Nm
+が必要とするのは
+.Nm objpaths
+だけですが、
+これは
+.Nm objdir
+と
+.Nm objs
+から求められ、これらも
+.Nm srcdir
+から求められます。
+ですから、もし可能なら、初期のパラメータを指定し、あとは
+.Nm
+に求めさせたほうが便利な場合もあります。
+
+.Pp
+.Nm
+が生成する makefile はオプションのターゲット
+.Ar objs
+を含みます。
+これは、各コンポーネントプログラムのソースディレクトリ内で make を実行して
+オブジェクトファイルを作成するターゲットです。
+これがうまく動作するためには
+.Nm srcdir
+および
+.Nm objs
+パラメータが正しいものでなくてはなりません。
+もしこれらの値があるプログラムに対して不正なものであると、
+.Ar objs
+ターゲットではそのプログラムはスキップされてしまいます。
+.Sh 実行例
+.Nm
+の入力コンフィギュレーションファイルの例として
+.Dq Pa kcopy.conf
+の内容を示します。
+.Pp
+.nf
+ srcdirs /usr/src/bin /usr/src/sbin
+
+ progs test cp echo sh fsck halt init mount umount myinstall
+ ln test [ # test は [ として起動することもできる
+ ln sh -sh # init は argv[0] を "-sh" としてシェルを起動する
+
+ special myprog objpaths /homes/leroy/src/myinstall.o # ソースなし
+
+ libs -lutil -lcrypt
+.fi
+.Pp
+このコンフィギュレーションファイルでは、
+いくつかの基本的なシステムユーティリティと
+自家製のインストールプログラム ``myinstall'' から成る
+小さなクランチバイナリを記述しています。
+ソースディレクトリは全く指定されていませんが、
+オブジェクトファイルは
+.Nm special
+行で直接指定されています。
+.Pp
+クランチバイナリ ``kcopy'' は以下のようにして作成できます:
+.Pp
+.nf
+ % crunchgen -m Makefile kcopy.conf # Makefile と kcopy.c 作成
+ % make objs # コンポーネントプログラムの *.o 作成
+ % make # クランチバイナリ kcopy の作成
+ % kcopy sh # シェル sh を起動できるかどうか試すと..
+ $ # うまくいった!
+.fi
+.Pp
+ここまでくれば、バイナリ ``kcopy'' をインストールフロッピにコピーし、
+各コンポーネントプログラムの名前でハードリンクを設けることができます。
+.Sh 関連項目
+.Xr crunchide 1
+.Sh 警告
+.Nm crunch
+はクランチバイナリ中の各コンポーネントプログラム間のリンク競合を
+除去するのに気を配っていますが、依然としてリンクされたライブラリ間で
+競合が発生する可能性が残っています。
+ライブラリ順の入れ換えが必要な場合もありますし、
+二つのライブラリ間にどうしても解消できない競合が発生し、
+結局ひとつにまとめられない場合も稀にあります。
+.Pp
+BSD のバージョンによっては、デフォルトのビルド環境では
+単一ソースファイルのプログラムに対して
+中間オブジェクトファイルを作成しないことがあります。
+その場合は ``make objs'' ターゲットを用いてオブジェクトファイルを
+作成するか、他の調整を施す必要があります。
+.Sh 作者
+.Nm crunch
+は James da Silva <jds@cs.umd.edu> によって作成されました。
+.sp 0
+Copyright (c) 1994 University of Maryland. All Rights Reserved.
diff --git a/ja/man/man1/crunchide.1 b/ja/man/man1/crunchide.1
new file mode 100644
index 0000000000..681ae3a441
--- /dev/null
+++ b/ja/man/man1/crunchide.1
@@ -0,0 +1,76 @@
+.\"
+.\" Copyright (c) 1994 University of Maryland
+.\" All Rights Reserved.
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation, and that the name of U.M. not be used in advertising or
+.\" publicity pertaining to distribution of the software without specific,
+.\" written prior permission. U.M. makes no representations about the
+.\" suitability of this software for any purpose. It is provided "as is"
+.\" without express or implied warranty.
+.\"
+.\" U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M.
+.\" BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+.\" IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.\" Author: James da Silva, Systems Design and Analysis Group
+.\" Computer Science Department
+.\" University of Maryland at College Park
+.\"
+.\" jpman %Id: crunchide.1,v 1.3 1997/07/29 13:45:23 konuma Stab %
+.Dd June 14, 1994
+.Dt CRUNCHIDE 1
+.Os BSD 4
+.Sh 名称
+.Nm crunchide
+.Nd プログラムをクランチしてまとめる際に、シンボル名を ld から隠蔽する
+.Sh 書式
+.Nm crunchide
+.Op Fl f Ar keep-list-file
+.Op Fl k Ar keep-symbol
+.Op Ar object-file ...
+.Sh 解説
+
+.Nm crunchide
+は
+.Ar object-file
+の大域シンボルを隠蔽し、
+続くリンカ
+.Xr ld 1
+の実行でそれらが無視されるようにします。
+.Fl k Ar keep-symbol
+オプションおよび
+.Fl f Ar keep-list-file
+オプションにより、
+いくつかのシンボルを見える状態のままにしておくことができます。
+ファイル
+.Ar keep-list-file
+は、見える状態にしておくシンボルのリストです。
+このファイルにはシンボルを 1 行にひとつずつ記述します。
+C コンパイラはシンボルの前にアンダスコアを付加することに
+注意して下さい。
+C の関数 ``foo'' を見える状態にしておくには、
+\&``-k _foo'' というオプションを用いなければなりません。
+
+.Pp
+.Nm crunchide
+は
+.Xr crunchgen 1
+とともに用いられるプログラムとして設計されています。
+.Xr crunchgen 1
+は複数のコンポーネントプログラムからクランチバイナリを作成する
+処理を自動化するプログラムです。
+.Sh 関連項目
+.Xr crunchgen 1 ,
+.Xr ld 1
+.Sh 作者
+.Nm crunch
+は James da Silva <jds@cs.umd.edu> によって作成されました。
+.sp 0
+Copyright (c) 1994 University of Maryland. All Rights Reserved.
diff --git a/ja/man/man1/csh.1 b/ja/man/man1/csh.1
new file mode 100644
index 0000000000..04796d3edc
--- /dev/null
+++ b/ja/man/man1/csh.1
@@ -0,0 +1,2190 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)csh.1 8.2 (Berkeley) 1/21/94
+.\" jpman %Id: csh.1,v 1.2 1997/04/08 00:35:51 h-nokubi Stab %
+.\" %Id: csh.1,v 1.5.2.1 1997/02/28 07:54:29 mpp Exp %
+.\"
+.\" Japanese translation for jpman-0.2 checked by jpman project 96.12.23
+.\"
+.Dd January 21, 1994
+.Dt CSH 1
+.Os BSD 4
+.Sh 名称
+.Nm csh
+.Nd C 言語ライクな文法を持つシェル(コマンドインタープリタ)
+.Sh 書式
+.Nm csh
+.Op Fl bcefimnstvVxX
+.Op arg ...
+.Nm csh
+.Op Fl l
+.Sh 解説
+.Nm csh
+は、履歴(参照:
+.Nm ヒストリ置換
+の項)、ジョブ制御(参照:
+.Nm ジョブ
+の項)、対話的なファイル名とユーザ名の補完(参照:
+.Nm ファイル名補完
+の項)、C 言語ライクな文法を特徴とするコマンドインタープリタです。
+対話的なログイン・シェル、また
+シェル・スクリプトのコマンド・プロセッサの両方の用途で使われます。
+.Ss 引数リスト処理
+シェルへの最初の引数(第 0 引数)が
+.Ql Fl \&
+で始まる場合、シェルはログイン・シェルとなります。
+シェルを
+.Ql Fl l
+フラグを指定して起動することでもログイン・シェルにできます。
+.Pp
+残りのフラグは以下のように解釈されます:
+.Bl -tag -width 5n
+.It Fl b
+このフラグは、オプションの処理を強制的に中断させる場合に使用します。この
+フラグ以降の引数はすべて、オプションではない引数として処理されます。
+これにより、シェル・スクリプトに混乱やごまかしを行わずにオプションを
+渡すことが可能になります。
+set-user ID スクリプトは本オプションなしでは実行できません。
+.It Fl c
+コマンドを本フラグの次にくる 1 つの引数から読み込みます。
+この引数は省略できません。残りの引数は
+.Ar argv
+に代入されます。
+.It Fl e
+起動したコマンドが異常終了したり、0 でない終了ステータスを返したときに、
+ただちにシェルを終了します。
+.It Fl f
+起動したユーザのホーム・ディレクトリにある
+.Pa \&.cshrc
+を捜さず、また読み込まないため高速に起動します。
+.It Fl i
+たとえ端末上で実行されていなくても、対話的に動作しプロンプトを表示します。
+入力と出力が端末である場合、本オプションなしでもシェルは対話的に動作します。
+.It Fl l
+ログイン・シェルとなります。(
+.Fl l
+が、指定された唯一のフラグの場合にのみ有効です。)
+.It Fl m
+シェルは、実効ユーザに属していなくても
+.Pa .cshrc
+をロードします。
+.Xr su 1
+は
+.Fl m
+をシェルに渡すことができます。
+.It Fl n
+コマンドの解析は行いますが、実行しません。シェル・スクリプトの
+文法検査に役立ちます。
+.It Fl s
+標準入力からコマンドを読み込みます。
+.It Fl t
+入力から1行だけ読み込み、それを実行します。改行の直前に
+.Ql \e
+を置くことで、次の行への継続を行うことができます。
+.It Fl v
+.Ar verbose
+変数を設定します。これにより、ヒストリ置換された状態のコマンド行を
+表示するようになります。
+.It Fl x
+.Ar echo
+変数を設定します。これにより、実行直前に、実行するコマンドを
+表示するようになります。
+.It Fl V
+.Pa .cshrc
+を実行するより前に
+.Ar verbose
+変数を設定します。
+.It Fl X
+.Pa .cshrc
+を実行するより前に
+.Ar echo
+変数を設定します。
+.El
+.Pp
+.Fl X
+に対する
+.Fl x
+の関係は、ちょうど
+.Fl V
+に対する
+.Fl v
+の関係に相当します。
+.Pp
+フラグ引数の処理のあと、もし引数が残っていて、かつ、
+.Fl c
+、
+.Fl i
+、
+.Fl s
+、
+.Fl t
+のいずれのフラグも指定されていなければ、残っている最初の引数は
+コマンドファイル名であるとみなされます。シェルはこのファイルをオープンし、
+`$0' による置換に備えてファイル名を保存します。多くのシステムは version 6
+または version 7 の標準のシェルを使っており、また、それらの
+シェル・スクリプトは本シェルとは互換性がないので、
+スクリプトの先頭の文字が `#' でない場合、
+つまりスクリプトがコメントから始まらない場合、
+本シェルはそれらの `標準' シェルを起動して実行します。
+残りの引数は変数
+.Ar argv
+に初期値として設定されます。
+.Pp
+.Nm csh
+は、実行開始に際し、まず、ファイル
+.Pa /etc/csh.cshrc
+を読み込み実行します。ログイン・シェルであれば、さらに、ファイル
+.Pa \&/etc/csh.login
+を読み込み実行します。
+次にシェルを起動したユーザの
+.Ar ホーム
+・ディレクトリにあるファイル
+.Pa \&.cshrc
+を読み込み実行します。ログイン・シェルであるなら、
+さらに、同じディレクトリのファイル
+.Pa \&.login
+を読み込み、実行します。
+.Pa \&.login
+の通常の使い方としては、ユーザが CRT 画面の設定のために
+``stty crt'' を実行したり、
+.Xr tset 1
+を実行したりするために用いられます。
+.Pp
+通常、シェルはプロンプト `% ' を表示し、端末からコマンドを読み込みます。
+引数の処理やコマンド・スクリプトを含むファイルの処理については後述します。
+.Pp
+シェルは以下の動作を繰り返します: 読み込んだ行を
+.Ar 単語
+に分解します。この単語の列をコマンド履歴に格納し、解析します。
+最後にその行の各コマンドを実行します。
+.Pp
+ログイン・シェルが終了するとき、ユーザの
+.Ar ホーム
+・ディレクトリのファイル
+.Pa .logout
+と
+.Pa /etc/csh.logout
+を読み込み実行します。
+.Ss 字句構造
+シェルは、読み込んだ行を空白とタブを区切りとして単語に分割します。ただし、
+以下の例外があります。文字
+`&' `\&|' `;' `<' `>' `(' `)'
+は独立した単語となります。`&&'、`\&|\&|'、`<<'、`>>' のように
+2つ繰り返されている場合はペアで1単語を形成します。
+これらのメタキャラクタは、直前に `\e' を置くことによって、単語の一部としたり、
+特別な意味を無視させることができます。改行の直前に `\e' を置くと、
+単一の空白と等価になります。
+.Pp
+対応したクォート記号
+`'\|'、`\*(ga'、`"'、に狭まれた文字列は、単語の一部分となります。
+このような文字列中のメタキャラクタやブランク、
+タブによって単語が分割されることはありません。
+これらのクォートの意味はあとで説明します。
+`\'' または `"' の内側で改行文字の直前に `\e' を置くと、
+改行文字そのものになります。
+.Pp
+シェルの入力が端末からではない場合、
+`#' 文字から改行まではコメントとして扱われます。
+直前に `\e' を置くか `\`'、`\''、`"" でクォートすることにより、
+この意味を抑制することができます。
+.Ss コマンド
+単純コマンドは単語の列であり、最初の単語が実行すべきコマンドを示します。
+`\&|' 記号で区切られた、単純コマンドあるいは単純コマンドの列は
+パイプラインを形成します。パイプラインの各コマンドの出力は、次のコマンドの
+入力に接続されます。パイプラインの列を `;' によって区切ることで逐次実行が
+行えます。パイプラインの列に続けて `&' を置くと、そのパイプラインの終了を
+待つことなく、次のパイプラインが実行されます。
+.Pp
+上記のいずれかを `('と`)' で囲むことにより、単純コマンドを形成することが
+できます (これはパイプライン等の構成要素として使えます)。
+また、パイプラインを `\&|\&|' または `&&' で区切ることにより、C
+言語のように、第2のパイプラインが第1のパイプラインが失敗あるいは
+成功したときにのみ実行させることができます(
+.Em 式
+の項参照)。
+.Ss ジョブ
+シェルはパイプラインの各々に対し
+.Ar ジョブ
+を一つづつ関連付けます。シェルは、現在実行中のジョブの一覧表を保持しており、
+これは、
+.Ar jobs
+コマンドによって表示することができます。
+ジョブには整数の番号が割り当てられます。ジョブが `&' を用いて非同期に
+起動された場合、シェルは以下のような出力を行います:
+.Bd -filled -offset indent
+.Op 1
+1234
+.Ed
+.Pp
+これは、非同期に起動したジョブがジョブ番号 1 であり、プロセスID が 1234 である
+(トップレベルの) プロセスを 1 つ持っていることを示します。
+.Pp
+もし、あるジョブを実行中に他のことをしたくなった場合、
+.Nm ^Z
+キー
+(control-Z) を押すことにより実行中のジョブに STOP シグナルを
+送信することができます。通常、シェルはそのジョブが停止した(Stopped)ことを
+出力し、プロンプトを表示します。ここで、停止したジョブの状態を操作することが
+できます。つまり、
+.Ar bg
+コマンドにより停止したプロセスを
+.Em バックグラウンド
+で走行させたり、他のコマンドを実行してから、停止していたジョブを
+.Ar fg
+コマンドにより
+.Em フォアグラウンド
+で再実行させることなどができます。
+.Nm ^Z
+は即座に効力を発揮し、インタラプトと同様に、それまで待たされていた
+出力とまだ読み込まれていない入力は捨てられます。
+ほかに特殊キーとして
+.Nm ^Y
+があり、これを押すと、プログラムが
+.Xr read 2
+によって読み込もうとした時点で STOP シグナルが送信されます。
+これは、実行中のジョブに対していくつかの入力を先に入力しておき、
+先行入力を読み終えた時点でジョブを停止させたいときに便利です。
+.Pp
+バックグラウンドで実行しているジョブが端末からの入力を試みた場合、その
+ジョブは停止します。通常、バックグラウンドジョブが端末に出力することは
+可能ですが、これは、コマンド ``stty tostop'' により禁止することができます。
+もし、この tty オプションを指定したなら、バックグラウンドで実行している
+ジョブは、端末から入力を試みたときと同様に、端末に出力を試みたときに
+停止します。
+.Pp
+シェルでジョブを参照するにはいくつかの方法があります。文字 `%' は
+ジョブ名を表すのに用いられます。番号 1 のジョブを参照する場合は `%1' とします。
+単にジョブ名を入力した場合、そのジョブはフォアグラウンドに移動されます。
+すなわち`%1' は `fg %1' と等価で、番号 1 のジョブをフォアグラウンドで
+実行させます。同様に `%1 &' は番号 1 のジョブをバックグラウンドで
+走行させます。ジョブはそのジョブを起動したときにタイプされた文字列の
+先頭部分によって参照することもできます。ただし、この先頭部分は
+あいまいでない必要があります。すなわち、`%ex' は、`ex' という文字列で
+始まる名前のサスペンドされたジョブが一つしかない場合に限り、サスペンドされた
+.Xr ex 1
+のジョブを再開します。文字列
+.Ar string
+を含むジョブが一つしかない場合、`%?string' と入力することで、
+それを指定することもできます。
+.Pp
+シェルは現在のジョブと直前のジョブを覚えています。jobs コマンドの
+出力では、`+' 記号が付加されているのが現在のジョブ、`\-' 記号が
+付加されているのが直前のジョブです。`%+' は現在のジョブ、`%\-' は
+直前のジョブの省略形です。後述する
+.Ar ヒストリ
+の文法から類推される記法として、`%%' があります。
+これもまた現在のジョブの省略形です。
+.Pp
+ジョブ制御機構を用いるには、
+.Xr stty 1
+のオプション
+.Ic new
+を設定しておく必要があります。ジョブ制御機構は、
+.Em 新型
+の端末ドライバの実装の上に構築されているからです。
+新型の端末ドライバにより、ジョブを停止させるためのシグナルを
+キーボードから入力できるわけです。
+新型の端末ドライバのオプション設定については stty(1) を参照してください。
+.Ss 状態通知
+シェルは、プロセスが状態の変化を起こすと、すぐにそれを検知します。通常、
+プロンプトが表示される直前にのみ、あるジョブが停止し、それ以上処理が
+進まなくなったことを通知します。これは、ユーザの仕事を邪魔しないように
+するためです。
+しかしながら、シェル変数
+.Ar notify
+をセットすることにより、シェルにバックグラウンド・ジョブの状態が
+変化したことをただちに通知させることができます。
+また、シェルコマンド
+.Ar notify
+により、特定のジョブの状態の変化をただちに通知させる
+ようにマークすることもできます。引数なしの
+.Ar notify
+は現在のプロセスに対してマークをつけます。
+バックグラウンド・ジョブの開始直後に単に `notify' と打つと
+そのジョブをマークします。
+.Pp
+停止したジョブがある状態でシェルを終了しようとすると、`You have
+stopped jobs.' という警告を受けます。このとき、
+.Ar jobs
+コマンドによりどのジョブが停止中であるのかを確認することができます。
+警告を受けた直後に
+.Ar jobs
+コマンドで確認した場合と、
+警告を受けた直後にもう一度シェルを終了させようとした場合には、
+シェルは2度目の警告を行わず、停止中のジョブは終了させてから
+シェルを終了します。
+.Ss ファイル名補完
+シェル変数
+.Ar filec
+がセットされてファイル名補完機能が有効になっている場合、
+(
+.Ic set
+の項参照)
+.Nm csh
+はファイル名やユーザ名の補完を対話的に行います。文字列に続けて
+エスケープ文字 (エスケープキー、または control-[) キーを端末から
+入力することにより補完が行われます。
+たとえば、以下のファイルがカレント・ディレクトリにあったとします。
+.Bd -literal -offset indent
+DSC.OLD bin cmd lib xmpl.c
+DSC.NEW chaosnet cmtest mail xmpl.o
+bench class dev mbox xmpl.out
+.Ed
+.Pp
+ここで、以下のように入力します。
+.Pp
+.Dl % vi ch<escape>
+.Pp
+このとき、
+.Nm csh
+は ``ch'' を補完し、それにマッチする唯一のファイル名 ``chaosnet''
+にします。補完後の入力行は以下のようになります。
+.Pp
+.Dl % vi chaosnet
+.Pp
+以下のように入力した場合は、
+.Pp
+.Dl % vi D<escape>
+.Pp
+.Nm csh
+は、次のように補完を行います。
+.Pp
+.Dl % vi DSC.
+.Pp
+ここで、端末ベルを鳴らし、補完が完了しなかったことをユーザに伝えます。
+なぜなら、``D'' で始まるファイル名が複数あったからです。
+.Pp
+不完全なファイル名に続いて end-of-file 文字(通常は control-D)を入力すると、
+名前の補完を行うかわりに、その名前にマッチするファイル名の一覧を出力します。
+たとえば、以下のように入力すると、
+.Pp
+.Dl % vi D<control-D>
+.Pp
+``D'' で始まるファイル名の一覧が以下のように出力されます:
+.Pp
+.Dl DSC.NEW DSC.OLD
+.Pp
+このとき、入力行は変化しません。
+.Pp
+エスケープ文字と、end-of-file 文字を用いる同様の機構は、
+ユーザ名を補完する場合にも用いることができます。この場合、``~'' で
+名前を開始します。たとえば、次のように入力すると、
+.Pp
+.Dl cd ~ro<escape>
+.Pp
+以下のように補完されます。
+.Pp
+.Dl cd ~root
+.Pp
+シェル変数
+.Ar nobeep
+をセットすることにより、複数の候補があったり、補完に
+失敗した場合に端末ベルを鳴らすのを禁止することができます。
+.Pp
+通常、そのディレクトリにあるすべてのファイル名が補完の候補となります。
+ある特定の拡張子を持つファイルを補完の候補から外すのに、変数
+.Ar fignore
+を用いる
+ことができます。以下のコマンドで、変数
+.Ar fignore
+を設定すると、
+.Pp
+.Dl % set fignore = (.o .out)
+.Pp
+以下のように入力した場合に、
+.Pp
+.Dl % vi x<escape>
+.Pp
+次のように補完が行われます。
+.Pp
+.Dl % vi xmpl.c
+.Pp
+つまり、"xmpl.o" と "xmpl.out" が無視されて補完が行われました。もし、
+.Ar fignore
+で無視するように指定されたファイル名しか補完の対象になり得なかった場合、
+.Ar fignore
+の設定は無視されます。また、
+.Ar fignore
+は end-of-file 文字によるファイル名の一覧には影響を与えません。
+一覧ではすべてのファイル名が出力されます。
+.Ss 置換
+ここからは、シェルが入力に対して行うさまざまな置換を、
+処理が行われる順に記述します。
+.Ss ヒストリ置換
+ヒストリ置換は、以前に入力されたコマンド中の単語を、
+新たなコマンドの一部として置き換えることで、
+コマンドの繰り返し実行を容易にしたり、直前のコマンドの引数を次のコマンドで
+再び使用したり、直前に入力した行の綴り間違いを修正する際に、
+タイプ入力の手間を減らし、自信をもって修正できるようにするための機能です。
+ヒストリ置換は文字 `!' により始まり、入力ストリームの
+.Ar どの位置にでも
+置くことができます(ただし、入れ子にすることは
+.Nm できません
+)。`\e' を `!' の前に置くことにより、`!' の特殊な意味を打ち消すことが
+できます。また、利便のために、`!' の直後に空白、タブ、改行文字、
+`='、`(' が続いた場合、ヒストリ置換は行われず、入力された文字がそのまま
+用いられます(ヒストリ置換は、入力行が `\*(ua' で始まっている場合にも
+起こります。これについては後述します)。入力行にヒストリ置換が含まれている
+場合は、実行直前にヒストリ置換を行った結果が端末に出力されます。
+.Pp
+端末から入力された、1つあるいはそれ以上の単語からなるコマンドは
+ヒストリ・リストに記録されます。ヒストリ置換は、この記録された
+単語の列を入力ストリームに挿入することにより行われます。
+ヒストリ・リストの大きさは、変数
+.Ar history
+により制御されます。直前のコマンドは
+.Ar history
+の値に関わらず必ず
+保存されます。記録されているコマンドは 1 から順にイベント番号が
+割り当てられます。
+.Pp
+.Ar history
+コマンドにより、以下の出力が得られたとします:
+.Bd -literal -offset indent
+\09 write michael
+10 ex write.c
+11 cat oldwrite.c
+12 diff *write.c
+.Ed
+.Pp
+コマンドはイベント番号とともに出力されています。必ずしもイベント番号を
+用いる必要はありませんが、プロンプト文字列に `!' を埋めることにより、
+現在のイベント番号を
+.Ar プロンプト
+中に表示させることができます。
+.Pp
+現在のイベント番号が 13 だとすると、以前のイベントを指定するには、
+イベント番号を用いて `!11' としたり、
+相対指定を用いて `!\-2' としたり(同じイベントを表します)する方法があります。
+また、コマンドの単語の先頭部分を用いて指定することもできます。例えば、`!d'
+でイベント番号 12 を指定したり、 `!wri' でイベント番号 9 を指定できます。また、
+ある文字列を含むコマンドを指定するのに `!?mic?' (これはイベント番号 9 の
+コマンドを示します)のような記法も使えます。これらの記法は、指定された
+イベントの各単語を単一の空白で区切った単語列に置換します。特殊な
+場合として、`!!' は直前のコマンドを参照します。すなわち、`!!' だけを
+入力することは直前のコマンドの
+.Ar 再実行
+を意味します。
+.Pp
+あるイベント中のいくつかの単語だけを指定するために、イベント指定に続けて `:'
+と単語指示子を書くことができます。イベントの単語は 0 から順に番号が
+振られています。最初の単語(通常はコマンドです)が 0 で、2番目の単語
+(第1引数)が 1 ということになります。基本的な単語指示子は以下のとおりです:
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It \&0
+最初の(コマンド)単語
+.It Ar n
+.Ar n
+番目の単語
+.It \*(ua
+最初の引数(すなわち 1 と同じ)
+.It $
+最後の引数
+.It %
+直前の
+.No \&? Ns Ar s Ns \&?
+検索でマッチした単語
+.It Ar \&x\-y
+.Ar x
+番目から
+.Ar y
+番目までの単語
+.It Ar \&\-y
+.Ar `\&0\-y\'
+の省略形
+.It *
+`\*(ua\-$' の省略形。イベントが1語のみからなる場合は空になる
+.It Ar x*
+.Ar `x\-$\'
+の省略形
+.It Ar x\-
+.Ar `x*\'
+から最後の単語を除いたもの。
+.El
+.Pp
+イベント指定と単語指示子とを区切る `:' は、引数選択子が `\*(ua'、`$'、`*'、
+`\-'、`%' で始まっている場合には省略することができます。
+単語指示子の直後に、 `:' に続けて
+修飾子を複数個置くことができます。以下の修飾子が定義されています:
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It h
+パス名の最後の要素を削除します(head)
+.It r
+最後の `.xxx' 要素を削除します(root)
+.It e
+`.xxx' 以外の部分を削除します(extension)
+.It s Ns Ar /l/r/
+Substitute
+.Ar l
+を
+.Ar r
+で置換します(substitution)
+.It t
+最後の要素を残して、それより前のパス名の要素全てを削除します。
+.It \&&
+直前の修飾子の作用を繰り返します。
+.It g
+上記の修飾子の直前に置き、変更を、各単語に1回だけ及ぼすことを指定します。
+ 例) `g&'
+.It a
+上記の修飾子の直前に置き、一つの単語に対して可能な限り繰り返して
+変更を行います。変更が全単語に及ぶようにするには `g' と組み合わせて使います。
+.It p
+置換結果を表示しますが、実行はしません(print only)
+.It q
+さらに置換が行われないように、置換結果をクォートします(quote)
+.It x
+q と同様ですが、空白、タブ、改行によって単語を分割します
+.El
+.Pp
+`g' が指定されなかった場合、適用可能な最初の単語のみが修飾子の影響を受けます。
+置換については、適用可能な単語がなかった場合にはエラーとなります。
+.Pp
+置換(s/l/r/) における左辺 (
+.Ar l
+) は、エディタなどで使うような正規表現ではなく単なる文字列です。`/'
+のかわりに自由な文字を区切りに指定することができます。`\e' によって、
+.Ar l
+または
+.Ar r
+中の区切り文字をクォートすることができます。右辺 (
+.Ar r
+) 中の文字 `&' は
+左辺の文字列に置換されます。`&' もまた `\e' によって
+クォートすることができます。
+空の左辺値
+.Ar l
+(`//') の場合、直前の左辺値
+.Ar l
+または、
+.No \&`!? Ns Ar s Ns ?'
+中のコンテキストスキャン文字列
+.Ar s
+から左辺値が取られます。置換指定の直後に改行がくる場合には、
+最後の区切り文字を省略することができます。
+コンテキストスキャンの後ろ側の文字 `?' も、直後に改行がくる場合、
+同様に省略できます。
+.Pp
+ヒストリは、 `!$' のようにイベント指定なしで参照することができます。
+同じ行においてそれ以前にヒストリ参照が行われた場合はそのイベントを、
+さもなければ直前のコマンドが参照されます。`!?foo?\*(ua !$' は `?foo?' に
+マッチするイベントの最初と最後の単語に置換されます。
+.Pp
+入力行の最初の非空白文字が `\*(ua' の場合、特殊なヒストリ参照の省略形であると
+みなします。これは `!:s\*(ua' と等価で、直前に入力したコマンド行の
+文字列置換を行うことができます。たとえば、`\*(ualb\*(ualib' は
+直前のコマンドの `lib' の綴り間違いを修正します。
+最後に、後ろに続く文字とヒストリ置換とを隔離するために、
+ヒストリ置換を `{' と `}' によって囲むことができます。`ls -ld ~paul' なる
+コマンドを実行した直後に`!{l}a' と
+入力することで、`ls -ld ~paula' に展開されます。一方、`{}' を
+使わずに `!la' とした場合は `la' で始まるイベントを検索します。
+.Pp
+.Ss \' と \&" によるクォート
+文字列を `\'' または `"' によって
+クォートすることにより、残りの置換のすべてあるいは一部を
+抑制することができます。`'' によってクォートされた文字列には
+本マニュアルのこれ以降に説明する置換が適用されません。`"' によって
+クォートされた文字列は、後述するように一部の置換が適用されます。
+.Pp
+どちらのクォートの結果も単一の単語 (の全体または一部) となります。
+ただし、`"' クォートされたコマンド置換は複数の単語になる特殊な場合が
+一つだけあります(後述の
+.Em コマンド置換
+の項を参照)。
+`\'' クォートの場合は、このようなことはありません。
+.Ss エイリアス置換
+シェルはエイリアス(別名定義)を管理しており、
+.Ar alias
+コマンドと
+.Ar unalias
+コマンドに
+より設定、表示、修正等を行うことができます。コマンド行がスキャンされたあと、
+個々のコマンドに解析され、各コマンドの最初の単語に対応するエイリアスが
+あるかどうかチェックします。もし存在すれば、入力されたコマンド行の内容を
+直前のコマンドとみなして、エイリアスの内容をヒストリ展開します。
+コマンド行全体は展開結果と置き換えられます。エイリアスの内容が
+ヒストリ参照を含まなかった場合、入力したコマンド行の引数は変更せずに
+残されます。
+.Pp
+`ls' に対するエイリアスが `ls -l' だった場合、`ls /usr' は `ls -l
+/usr' に展開されます。この場合、エイリアスにはヒストリ参照がなかったため、
+引数の `/usr' は変更せずに残されました。`lookup' に対するエイリアスが
+`grep !\*(ua /etc/passwd' だった場合、`lookup bill' は
+`grep bill /etc/passwd' に展開されます。
+.Pp
+エイリアスが展開された場合、展開結果に対して単語分割とエイリアス検索が
+再度行われます。展開結果の最初の単語が展開前の最初の単語と同一になった場合、
+再度エイリアス検索が行われることはありません。それ以外の、エイリアスによる
+ループは検出され、エラー扱いとなります。
+.Pp
+このメカニズムによってエイリアスでパーサのメタ記法を利用できます。
+よって `alias print \'pr \e!* \&| lpr\'' とエイリアスすることで
+.Ar pr
+の
+引数をプリンタに出力させるというようなことができます。
+.Ss 変数置換
+シェルは変数を管理しており、それらは 0 個またはそれ以上の単語のリストを
+値として持ちます。変数のうちいくつかはシェルがセットしたり参照したりします。
+たとえば、変数
+.Ar argv
+はシェルへの引数を保持しており、この変数の値である単語は、特殊な方法で
+参照されます。
+.\" #### jpman kuma 96.12.05 here checked ... TO BE CONTINUED
+.Pp
+変数の値は
+.Ar set
+および
+.Ar unset
+コマンドにより参照、変更することができます。シェルが
+参照する変数のうちいくつかは、それがセットされているかどうかだけが重要
+であり、値が何であっても意味を持たないものがあります。たとえば、変数
+.Ar verbose
+は入力行がエコーされるかどうかを制御する変数であり、この変数を
+セットすることは、
+.Nm csh
+に
+.Fl v
+オプションを指定したのと同じ意味になります。
+.Pp
+変数を数値として扱う操作もあります。`@' コマンドによって変数に対して数値演算
+を適用し、演算結果を変数に代入することができます。しかしながら、変数の
+値はつねに文字列として表現されます。数値演算の場合、空文字列は 0 と
+みなし、変数の値が複数の単語からなる場合 2 番目以降の単語は無視されます。
+.Pp
+入力行にエイリアス置換を行い、構文解析を行ったあと、コマンドが実行される
+前に文字 `$' をキーとして変数置換を行います。`$' の直前に `\e'
+を置くことにより、変数置換を抑制することができます。
+ただし、`"' クォート中では変数置換は
+.Em 必ず
+行われますが、`\'' クォート中では
+.Em 決して行われません。
+`\*(ga' クォートのなかはさらにあとで解釈されるため(後述の
+.Nm コマンド置換
+の項を参照)、ここでは変数置換は行いません。`$' の直後に空白、タブ、
+改行がくる場合、`$' はそのまま残されます。
+.Pp
+入出力リダイレクトは変数置換より前に解釈され、別々に変数置換が行われます。
+それ以外のコマンド名と引数は同時に展開されます。このため、最初の
+単語(コマンド)が展開の結果、複数の単語となったり、展開された結果の
+最初の単語がコマンド名、それ以外が引数の一部になることもあります。
+.Pp
+`"' でクォートされておらず、変数置換に `:q' 修飾子も指定されなかった
+場合には、変数置換の結果にコマンドとファイル名置換が
+行われます。`"' クォート内では複数の単語からなる値を持つ変数は、各単語を
+1つの空白で区切った単一の単語 (の一部) に展開されます。`:q' 修飾子が
+指定された場合は、各単語は 1 つの空白で区切られ、
+この後のコマンドとファイル名置換を抑止するために、個々にクォートされた
+単語の列に展開されます。
+.Pp
+変数置換には以下の形式があります。特に記述していない場合、
+セットされていない変数の参照はエラーになります。
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It $name
+.It ${name}
+.\" #### modified by kuma 96.12.21 ####
+変数
+.Ar name
+の値の各単語を一つの空白文字で区切ったものに展開されます。中括弧は
+.Ar 変数名
+と後続する文字を分離し、後続する文字が変数名の一部と解釈されないように
+するために用いられます。シェル変数は 20 文字までの名前を持ちます。
+変数名の先頭はアルファベットで、それ以降はアルファベット、数字、
+アンダースコアを使用することができます。
+.Ar name
+という名前のシェル変数は存在しないが、同名のセットされた環境変数が
+存在する場合には、その値に置換されます(ただし、環境変数に対しては
+.Nm :
+修飾子と以降に説明する書式を
+用いることはできません)。
+.It $name Ns Op selector
+.It ${name Ns [ selector ] }
+変数
+.Ar name
+の値のうちいくつかの単語を選択して展開します。
+.Ar selector
+は 1
+つの数字、範囲を示す2つの数字を `\-' でつないだもの、あるいはそのような
+結果になる変数置換のいずれかです。単語は 1 から順序づけられています。
+範囲の最初の数字が省略された場合は 1 が用いられます。範囲の第2の数字が
+省略された場合は `$#name' が用いられます。selector として `*' が用いられた
+場合には、すべての単語に展開されます。範囲の第2の数字が省略されるか、
+単語数より小さい場合には、範囲が空になってもエラーとはなりません。
+.It $#name
+.It ${#name}
+変数の値の単語数に展開されます。
+この機能は後述する
+`$argv[selector]'
+で有用です。
+.It $0
+コマンドを読み込んでいるファイル名に展開されます。ファイル名が不明の場合は
+エラーとなります。
+.It $number
+.It ${number}
+`$argv[number]' と等価です。
+.It $*
+`$argv[*]' と等価です。
+修飾子 `:e'、`:h'、`:t'、`:r'、`:q'、`:x' や
+`:gh'、`:gt'、`:gr' を適用することができます。中括弧`{' `}' で
+囲まれている場合は、中括弧内に修飾子が存在しなければなりません。
+現在の csh の実装では、各 `$' 展開につき1つの修飾子のみ指定することができます。
+.El
+.Pp
+以下の置換を行なう場合は `:' 修飾子を指定することはできません。
+.Bl -tag -width Ds -compact -offset indent
+.It $?name
+.It ${?name}
+変数 name がセットされていれば `1' に、さもなければ `0' に展開されます。
+.It $?0
+現在の入力ファイル名がわかっていれば `1' に、不明ならば `0' に展開されます。
+.It \&$\&$\&
+親のシェルの (10進の) プロセス番号に展開されます。
+.It $!
+そのシェルから起動された最後のバックグラウンド・プロセスの
+(10進の) プロセス番号に展開されます。
+.It $<
+標準入力から1行を読み込み、その内容に展開されます。読み込んだ内容の解釈は
+行いません。スクリプト中でキーボードからの入力を受けるのに用いられます。
+.El
+.Ss コマンドとファイル名置換
+残りの置換であるコマンド置換とファイル名置換は、
+組み込みコマンドの引数に対しては
+適用されたり、されなかったりします。
+.\" #### changed by kuma 96.12.21 ####
+すなわち、式の中で評価が行われない部分に関しては
+以下の置換が行なわれません。組み込みコマンドではないコマンドにおいては、
+コマンド名は引数とは別に置換が行なわれます。
+.\" #### changed by kuma 96.12.21 ####
+コマンド名に対する置換が生じるのは一連の置換処理の最後の方で、
+入出力リダイレクトの設定後、メインシェルの子供の中で行われます。
+.Ss コマンド置換
+コマンド置換は、コマンドを `\*(ga' で囲むことによって指示します。
+コマンドからの
+出力は空白、タブ、改行によって単語に分割され、空の単語を削除したあとに
+元の文字列と置換されます。
+`"' の内部では、改行のみが単語分割の区切りとして扱われ、空白とタブは
+そのまま残されます。
+.Pp
+どちらの場合も、コマンドの出力の最後の改行は単語の区切りとはならず、単に
+削除されます。
+よってコマンド置換によって、コマンドの出力が完全な一行であっても、
+単語の一部分のみを生成することが可能です。
+.Ss ファイル名置換
+単語が文字 `*'、 `?'、 `['、 `{' を含んでいるか、単語の先頭文字が `~' の
+.\" #### modified by kuma 96.12.21 ####
+場合、その単語はファイル名展開(あるいはグロブ(glob)と呼ばれます)の
+候補となります。
+.\" #### modified by kuma 96.12.21 ####
+候補となった単語はパターンとみなされ、パターンにマッチするファイル名が
+アルファベット順にソートされた列に置換されます。
+ファイル名置換を含む単語の列がどれもファイル名にマッチしなかった場合には
+エラーとなりますが、
+すべての単語パターンがマッチする必要はありません。
+メタキャラクタ`*'、 `?'、`['
+のみがパターンマッチ文字であり、`~' と `{' は省略形といったほうが近いで
+しょう。
+.Pp
+ファイル名マッチにおいて、ファイル名先頭、または `/' の直後の `.' は、
+`/' と同様に明示的にマッチさせなければなりません(`*' や `?' は
+これらにマッチしません)。
+`*' は、空文字列を含むどのような文字列にもマッチします。`?' は、
+どのような1文字にもマッチします。
+.Sq Op ...
+は、括弧のなかで指定した文字のいずれかにマッチします。
+.Sq Op ...
+内では、文字の対を `\-' でつなぐことで、
+文字の範囲を指定することができます(両側の文字も含まれます)。
+.Pp
+ファイル名の先頭の `~' はホーム・ディレクトリを示すのに用いられます。
+単独で用いられた場合には、シェルを起動したユーザのホーム・ディレクトリ
+.\" #### modified by kuma 96.12.21 ####
+(変数
+.Ar home
+の値に反映されているとおり)に展開されます。`~' に続けてアルファベット、
+数字、`-' からなる単語が続いた場合は、その単語をユーザ名とみなして、
+そのユーザのホーム・ディレクトリに展開されます。たとえば、ユーザ ken の
+ホーム・ディレクトリが `/usr/ken' ならば、`~ken' は
+`/usr/ken' に、 `~ken/chmach' は `/usr/ken/chmach' に展開されます。
+直後にアルファベットと `/' 以外が続く`~'と、ファイル名の先頭にない `~' は
+変更されずにそのまま残されます。
+.Pp
+メタ記法 `a{b,c,d}e' は `abe ace ade' の短縮形です。
+.\" #### modified by kuma 96.12.21 ####
+この記法の左から右への出現順序は保存されます。
+展開結果は下位のレベルで個別にソートされ、出現順序は保存されます。
+この記法は入れ子にすることができます。
+source のホーム・ディレクトリが `/usr/source' ならば、
+`~source/s1/{oldls,ls}.c' は `/usr/source/s1/oldls.c
+/usr/source/s1/ls.c' に展開されます。このとき oldls.c や ls.c が
+存在しなくともエラーにはなりません。同様に、`../{memo,*box}' は
+`../memo ../box ../mbox' 等に展開されます(`memo' と `*box' の
+展開結果がいっしょに
+ソートされたりしていないことに注意してください)。特殊な場合として、
+単独の`{' と `}'、`{}' は変更されずにそのまま残されます。
+.Ss 入出力
+コマンドの標準入出力は、以下の方法によりリダイレクトすることができます:
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It < name
+ファイル
+.Ar name
+(変数、コマンド、ファイル名展開を受けます)をオープンし、
+コマンドの標準入力とします。
+.It << word
+.Ar word
+と同一の行が出現するまで、シェルの入力を読み込みます。
+.Ar word
+は変数、ファイル名、コマンド置換を受けません。シェル入力の行は
+読み込まれるとすぐに
+.Ar word
+と比較されます(置換を行う前に)。その後、
+.Ar word
+に
+`\e'、`"'、`\''、`\*(ga' クォートが出現しないなら、読み込まれた行には
+変数置換と
+.\" #### ^^^^^^^ `\'' だと思う(1次チェック者のコメント?jpman kuma 961205)
+.\" #### kuma agree with you, changed as specified 96.12.22
+コマンド置換が適用されます。この置換を抑制するために、`\e' によって
+`$'、`\e'、`\*(ga' をクォートすることができます。コマンド置換において、
+すべての空白、タブ、改行は保存されますが、最後の改行は削除されます。
+読み込んだ行はすべて中間的なファイルに保存され、コマンドの標準入力として
+用いられます。
+.It > name
+.It >! name
+.It >& name
+.It >&! name
+ファイル
+.Ar name
+を標準出力として用います。ファイルが存在しなければ作成され、
+すでにファイルが存在すればその内容は切り捨てられ、以前の内容は失われます。
+.Pp
+変数
+.Ar noclobber
+がセットされている場合、ファイルが存在しないか文字型特殊ファイル (端末や
+`/dev/null' のような) でなければエラーになります。これは、
+すでに存在するファイルを思いがけず削除してしまうことを防止します。`!' を
+用いた形式を使うと、この検査を抑制することができます。
+.Pp
+`&' を用いた形式では、標準出力とともに標準エラー出力もファイルへ
+リダイレクトされます。
+.Ar name
+.\" #### modified by kuma 96.12.21 ####
+は、 `<' の入力ファイル名の場合と同様の展開を受けます。
+.It >> name
+.It >>& name
+.It >>! name
+.It >>&! name
+`>' と同様に、ファイル
+.Ar name
+を標準出力として用います。ただし、コマンドの出力はファイルへ追加されます。
+変数
+.Ar noclobber
+がセットされている場合、
+ファイルが存在しなければエラーとなります(`!' を用いることで、
+この検査を抑制することができます)。
+他は `>' と同様です。
+.El
+.Pp
+コマンドは、シェルが起動されたときの環境を、入出力リダイレクトと
+パイプラインによって変更したもののなかで実行されます。以前のいくつかの
+シェルとは異なり、
+シェルコマンドファイルから起動されたコマンドは、デフォルトでは標準入力に
+よってシェルコマンドファイル自体にアクセスすることはできません。
+かわりに、シェルが起動した環境の標準入力をそのまま受け継いでいます。
+`<<' 機構はインラインデータのために用いるべきです。
+このように制限することにより、
+シェルコマンドスクリプトをパイプラインの一部として用いることができます。
+バックグラウンドで実行されているコマンドの標準入力も
+.Pa /dev/null
+等にリダイレクトされることは
+.Ar なく
+、シェルの標準入力をそのまま受け継いでいます。もし標準入力が端末で、
+コマンドが端末から読み込もうとした場合、そのプロセスはブロックされ、
+シェルはユーザにそのことを通知します(参照:
+.Sx ジョブ
+の項)。
+.Pp
+標準エラー出力もパイプにリダイレクトすることができます。単純に `\&|' の
+かわりに `\&|&' を使います。
+.Ss 式
+.\" #### modified by kuma 96.12.21 ####
+いくつかの組み込みコマンド(後述します)は、引数として式を取ります。式は C
+言語のものと類似しており、同じ優先順位を持ちます。式は
+.Nm @、
+.Ar exit、
+.Ar if、
+.Ar while
+コマンド中で用います。以下の演算子が使用可能です:
+.Bd -ragged -offset indent
+\&|\&| && \&| \*(ua & == != =~ !~ <= >=
+< > << >> + \- * / % ! ~ ( )
+.Ed
+.Pp
+上記の演算子は右にいくほど優先順位が高くなっています。
+`==' `!=' `=~' `!~'、`<=' `>=' `<' `>'、`<<' `>>'、`+' `\-'、
+`*' `/' `%' の 5グループは各グループ内では同じ優先度です。
+`=='、`!='、`=~'、`!~' は文字列の比較を行い、他の演算子は数値演算を
+行います。`=~'、`!~' は `!='、`==' と同様ですが、右辺を
+.Ar パターン
+(`*'、`?'、`[...]' を含んだ) とみなして、左辺とのパターンマッチが行われます。
+これにより、シェル
+スクリプトにおいてパターンマッチのみが必要な局面では
+.Ar switch
+ステートメントを使わずに済ませることができます。
+.Pp
+先頭が `0' の文字列は 8 進数の数値とみなされます。空または省略された引数
+は `0' とみなされます。すべての演算結果は 10 進数数値の文字列となります。
+式の 2 つの要素が同一の単語中に出現してはいけません。つまり、
+.\" #### modified by kuma 96.12.21 ####
+要素の前後が、構文解析において特殊な意味を持つ
+`&'、`\&|'、`<'、`>'、`('、`)' でない場合は、
+その要素は空白で囲まれていることが必要です。
+.Pp
+数式中では、`{' と `}' で囲んだコマンドと、
+以下のファイル検査演算子を用いることができます。
+ファイル検査演算子は
+.Fl l
+.Ar name
+の形式で、
+.Ic l
+は以下のうちのいずれかです:
+.Bd -literal -offset indent
+r 読み込みアクセス
+w 書き込みアクセス
+x 実行アクセス
+e 存在
+o 所有
+z サイズがゼロ
+f 通常ファイル
+d ディレクトリ
+.Ed
+.Pp
+指定された name は、コマンド、ファイル名置換を適用したのちに
+実ユーザの権限において検査されます。ファイルが存在しないか、
+アクセス不可なら演算結果は false すなわち `0' になります。
+コマンド実行においては、コマンドが成功したなら演算結果は true `1' に、
+コマンドが 0 以外の終了ステータスを返してきたら、すなわち、
+失敗なら演算結果は false `0' になります。
+終了ステータスの値自体を知りたい場合は、コマンドを式以外の文脈で実行し、変数
+.Ar status
+の値を調べます。
+.Ss 制御構造
+シェルにはコマンドファイル(シェル・スクリプト)中で、
+あるいは(制限されてはいるが、便利な方法で)端末から、
+制御の流れを変更するためのいくつかのコマンドがあります。
+これらのコマンドはシェルに入力を読み直させたり、
+スキップさせたりすることができます。実装の制限上、
+これらのコマンドを書くことのできる位置に制限があります。
+.Pp
+.Ic foreach、
+.Ic switch、
+.Ic while、
+文、および、
+.Ic if\-then\-else
+の
+.Ic if
+ステートメントは、
+後述するように入力行の単一の単純コマンドとして現れる必要があります。
+.Pp
+シェルの入力がシーク不可能な場合、
+シェルは繰り返しが必要なときには入力をバッファに保存し、
+.\" #### modified by kuma 96.12.23 ####
+この内部バッファに対してシークを行います(このため、シーク不可能な入力の場合も、
+後方への goto が可能です)。
+.Ss 組み込みコマンド
+組み込みコマンドは通常シェルのプロセス内部で実行されます。
+ただし、組み込みコマンドがパイプラインの最後以外に用いられた場合は、
+サブシェル上で実行されます。
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It Ic alias
+.It Ic alias Ar name
+.It Ic alias Ar name wordlist
+1行目の形式はすべてのエイリアスを出力します。2 行目の形式は
+.Ar name
+に対応したエイリアスの値を出力します。最後の形式は
+.Ar wordlist
+を
+.Ar name
+のエイリアスとして登録します。
+.Ar wordlist
+にはコマンド置換、ファイル名置換が適用されます。
+.Ar name
+として
+.Ar alias
+または
+.Ar unalias
+を指定することはできません。
+.Pp
+.It Ic alloc
+.Nm csh
+が獲得したメモリのうちの使用量と空き容量を表示します。
+なんらかの引数をつけると、ブロックサイズごとの使用中/空ブロック数を表示します。
+ブロックサイズは 8、16、32、.. となります。
+本コマンドの出力はシステムによって異なります。
+VAX 以外のシステムは、異なるメモリ管理を行っているかもしれないからです。
+.Pp
+.It Ic bg
+.It Ic bg \&% Ns Ar job ...
+現在のジョブあるいは指定されたジョブをバックグラウンドに移動します。
+もしそれらのジョブが停止されていたなら、実行が再開されます。
+.Pp
+.It Ic break
+最も内側の
+.Ic foreach
+または
+.Ic while
+ループに対応する
+.Ic end
+の後へ脱出します。同じ行にある残りのコマンドは実行されます。複数の
+.Ic break
+を同一行に記述することで複数レベルの脱出が行えます。
+.Pp
+.It Ic breaksw
+.Ic switch
+から脱出し、
+.Ic endsw
+のあとで実行を再開します。
+.Pp
+.It Ic case Ar label :
+.Ic switch
+ステートメントのラベルを指定します。
+.Pp
+.It Ic cd
+.It Ic cd Ar name
+.It Ic chdir
+.It Ic chdir Ar name
+.\" #### modified by kuma 96.12.23 ####
+シェルの作業ディレクトリをディレクトリ
+.Ar name
+に変更します。引数が指定されなかった場合には、
+ユーザのホーム・ディレクトリに変更します。
+カレント・ディレクトリにディレクトリ
+.Ar name
+がない場合(かつ
+.Ar name
+が `/'、`./'、`../'
+で始まっていない場合)、変数
+.Ic cdpath
+の各要素のサブディレクトリとして
+.Ar name
+がないかどうかを調べます。最後に、シェル変数
+.Ar name
+に `/' で始まる値が設定されているなら、
+その値のディレクトリが存在しないかを調べます。
+.Pp
+.It Ic continue
+最も内側の
+.Ic while
+または
+.Ic foreach
+ループの先頭に戻ります。戻る前に、同じ行に記述されたコマンドが実行されます。
+.Pp
+.It Ic default :
+.Ic switch
+ステートメントのデフォルトを指定します。
+.Ic default
+は、すべての
+.Ic case
+ラベルのあとに出現しなければなりません。
+.Pp
+.It Ic dirs
+ディレクトリ・スタックを表示します。
+スタックの先頭(カレント・ディレクトリ)を左端にして表示します。
+.Pp
+.It Ic echo Ar wordlist
+.It Ic echo Fl n Ar wordlist
+指定された単語を空白で区切った文字列をシェルの標準出力に書き出します。
+.Fl n
+オプションが指定されなければ、最後に改行が出力されます。
+.Pp
+.It Ic else
+.It Ic end
+.It Ic endif
+.It Ic endsw
+.Ic foreach、
+.Ic if、
+.Ic switch、
+.Ic while
+ステートメントの項を参照してください。
+.Pp
+.It Ic eval Ar arg ...
+(
+.Xr sh 1
+と同様)引数をシェルへの入力であるとみなして読み込み、
+現在のシェルのコンテキストで実行します。
+コマンド置換や変数置換の結果として生成されたコマンド列を実行する場合に用いられます。
+通常は、それらの置換に先立って文法解析が行われてしまうからです。
+.Ic eval
+の使い方の例が
+.Xr tset 1
+にあります。
+.Pp
+.It Ic exec Ar command
+指定された command を現在のシェルと置き換えて実行します。
+.Pp
+.It Ic exit
+.It Ic exit Ar (expr )
+1行目の形式では変数
+.Ic status
+の値、2 行目の形式では式
+.Ic expr
+の値を返り値としてシェルを終了します。
+.Pp
+.It Ic fg
+.It Ic fg % Ns Ar job ...
+現在のジョブあるいは指定されたジョブをフォアグラウンドに移動します。
+停止していたジョブは実行を再開します。
+.Pp
+.It Ic foreach Ar name (wordlist)
+.It ...
+.It Ic end
+変数
+.Ic name
+に
+.Ic wordlist
+の各値を順次セットしながら対応する
+.Ic end
+までのコマンドを繰り返し実行します(
+.Ic foreach
+と
+.Ic end
+.\" #### modified by kuma 96.12.23 ####
+は単独で行に置かなければなりません)。組み込みコマンド
+.Ic continue
+を使って中途でループの次の繰り返しを実行させたり、
+.Ic break
+コマンドによって中途でループを脱出させたりすることができます。
+このコマンドが端末から読み込まれる場合、ループすべての内容が(プロンプト
+? を表示しながら)読み込まれてから実行が開始されます。
+端末からループ中でタイプ・ミスした場合は修正できます。
+.Pp
+.It Ic glob Ar wordlist
+.Ic echo
+コマンドと似ていますが、`\e' によるエスケープは解釈されず、
+.\" #### modified by kuma 96.12.23 ####
+単語はヌル文字によって区切られます。プログラムから、
+シェルをファイル名置換のために利用する場合に便利です。
+.Pp
+.It Ic goto Ar word
+.Ic word
+にファイル名置換、およびコマンド置換が適用されたのち、それを `label'
+とみなします。シェルは可能なかぎり入力を遡って読み直し、`label:'
+のある行を検索し、そこから実行を開始します。
+ラベルの前には空白またはタブを置くことが可能です。
+.Pp
+.It Ic hashstat
+コマンドを検索するのに、
+内部キャッシュがどの程度効率的に働いているか
+(そして
+.Ic exec
+をどの程度回避できているかを)を表示します。
+.\" #### modified by kuma 96.12.23 ####
+.Em path
+の要素のうち、ハッシュ関数がヒットの可能性を示すものと、
+`/' で始まらないものについて
+.Ic exec
+が試みられます。
+.Pp
+.It Ic history
+.It Ic history Ar n
+.It Ic history Fl r Ar n
+.It Ic history Fl h Ar n
+ヒストリのリストを表示します。数字
+.Ar n
+が指定された場合には、最近の
+.Ar n
+個のイベントが表示されます。
+.Fl r
+オプションは表示順序を逆にします。
+.\" #### modified by kuma 96.12.23 ####
+すなわち、最も古いものを先に表示するのではなく、
+最も新しいものを先に表示します。
+.Fl h
+オプションを指定すればイベント番号が省略されます。これは
+.Ic source
+コマンドで \-h を使って読み込むためのファイルを生成する場合に用いることができます。
+.Pp
+.It Ic if ( Ar expr ) No command
+.\" #### modified by kuma 96.12.23 ####
+指定された式が true と評価されたなら、単一のコマンド
+.Ar command
+が実行されます。
+.Ar command
+.\" #### modified by kuma 96.12.23 ####
+に対する変数置換は、実行に先だって
+.Ic if
+コマンドの残りの部分と同時に行なわれます。
+.Ar command
+は単純コマンドのみが許され、パイプライン、コマンドリスト、括弧でくく
+られたコマンドであってはいけません。入出力リダイレクションは式
+.Ar expr
+が false
+と評価され、それゆえ
+.Ar command
+が実行
+.Sy されなかった
+場合にも処理されます(これはバグです)。
+.Pp
+.It Ic if ( Ar expr ) Ic then
+.It ...
+.It Ic else if ( Ar expr2 ) Ic then
+.It ...
+.It Ic else
+.It ...
+.It Ic endif
+式
+.Ar expr
+が true なら最初の
+.Ic else
+までのコマンドが実行されます。さもなければ、式
+.Ar expr2
+が true なら次の
+.Ic else
+までのコマンドが実行されます。
+いくつでも
+.Ic else-if
+の対を繰り返すことができます。最後に 1 つの
+.Ic endif
+が必要です。
+最後の
+.Ic else
+部分はあってもなくてもかまいません。
+(単語
+.Ic else
+と
+.Ic endif
+は入力行の最初に置く必要があります。また、
+.Ic if
+は行内に単独で、または
+.Ic else
+のあとに置く必要があります)。
+.Pp
+.It Ic jobs
+.It Ic jobs Fl l
+アクティブなジョブの一覧を出力します。
+.Fl l
+.\" #### modified by kuma 96.12.23 ####
+オプションを指定すると、通常の情報に加えてプロセス ID も出力します。
+.Pp
+.It Ic kill % Ns Ar job
+.It Ic kill Ar pid
+.It Ic kill Fl sig Ar pid ...
+.It Ic kill Fl l
+TERM(terminate) シグナルあるいは指定したシグナルを、
+指定されたジョブまたはプロセスに送ります。
+シグナルは番号または名前で指定できます(名前は
+.Pa /usr/include/signal.h
+にある名前から `SIG' を取り除いたものです)。
+シグナル名の一覧を ``kill \-l'' により表示できます。
+kill にはデフォルト動作はなく、
+単に `kill' を実行しても現在のジョブにシグナルが送られるようなことはありません。
+送るシグナルが TERM(terminate) または HUP(hangup) の場合、
+CONT(continue) シグナルも同時に送られます。
+.Pp
+.It Ic limit
+.It Ic limit Ar resource
+.It Ic limit Ar resource maximum-use
+.It Ic limit Fl h
+.It Ic limit Fl h Ar resource
+.It Ic limit Fl h Ar resource maximum-use
+現在のプロセスと、それが生成するプロセスのそれぞれについて、
+.\" #### modified by kuma 96.12.23 ####
+指定されたリソース
+.Ar resource
+を、指定された
+.Ar maximum-use
+を超えて使用しないように設定します。
+.Ar maximum-use
+が指定されなかった場合、現在の制限値が表示されます。
+.Ar resource
+が指定されなかった場合、すべての制限値が表示されます。
+.Fl h
+オプションが指定された場合、
+現在の制限値のかわりにハードリミットの表示/設定を行います。
+.\" #### modified by kuma 96.12.23 ####
+ハードリミットは現在の制限値の上限の値です。
+スーパーユーザのみがハードリミットを増加させることができます。
+一般ユーザは現在の制限値を可能な範囲で増減することができます。
+.Pp
+.\" #### modified by kuma 96.12.23 ####
+現在のところ、制御可能なリソースは、
+.Ar cputime
+(各プロセスが使うことのできる最大の CPU 秒数)、
+.Ar filesize
+(1つのファイルの最大サイズ)、
+.Ar datasize
+(
+.Xr sbrk 2
+.\" #### modified by kuma 96.12.23 ####
+を用いてプログラムのテキスト領域の末尾を超えて増加させることのできる
+data+stack 領域の最大サイズ)、
+.Ar stacksize
+.\" #### modified by kuma 96.12.23 ####
+(自動的に拡張されるスタックの最大サイズ)、
+.Ar coredumpsize
+(最大のコアファイルのサイズ)です。
+.Pp
+最大値
+.Ar maximum-use
+は、(整数あるいは浮動小数の)
+数値とそれに続くスケールファクタによって指定します。
+.Ar cputime
+以外の制限値のデフォルトのスケールファクタは
+`k' あるいは `kilobytes'(1024 バイト)です。
+.\" #### modified by kuma 96.12.23 ####
+スケールファクタとして `m' あるいは `megabytes'
+を使用することもできます。
+.Ar cputime
+のデフォルトのスケールファクタは `seconds'(秒)です。
+`m'(分)、`h'(時間) をスケールファクタとして指定したり、
+`mm:ss' 形式で分秒を指定したりすることができます。
+.Pp
+.\" #### modified by kuma 96.12.23 ####
+リソース名
+.Ar resource
+とスケールファクタを指定する際には、
+.\" #### modified by kuma 96.12.23 ####
+一意に決定できるなら、名前の先頭部分だけを指定することができます
+.\" #### jpman kuma: not found in freebsd-2.1.5-RELEASE manpage (st を stacksize のかわりに用いる等)。
+.Pp
+.It Ic login
+ログイン・シェルを終了し、
+.Pa /usr/bin/login
+と置き換えます。これは
+.Xr sh 1
+との互換性のために用意されたログオフの手段です。
+.Pp
+.It Ic logout
+ログイン・シェルを終了します。
+.Ic ignoreeof
+がセットされている場合に便利です。
+.Pp
+.It Ic nice
+.It Ic nice Ar +number
+.It Ic nice Ar command
+.It Ic nice Ar +number command
+1 行目の形式は、シェルのスケジューリング・プライオリティを 4 に設定します。
+2 行目の形式は、プライオリティを指定された値
+.Ar number
+に設定します。残りの 2 つの形式は、コマンド
+command をプライオリティ 4 または指定した
+.Ar number
+で実行します。
+.\" #### modified by kuma 96.12.23 ####
+大きい数値を指定するとプロセスが利用できる CPU がその分少なくなります。
+スーパーユーザのみがプライオリティとして負の値を `nice \-number ...'
+のように指定することができます。
+.Ar command
+はつねにサブシェルで実行され、
+単純な
+.Ic if
+.\" #### modified by kuma 96.12.23 ####
+文のコマンドと同様の制限を受けます。
+.Pp
+.It Ic nohup
+.It Ic nohup Ar command
+1 行目の形式は、シェル・スクリプト内で使用し、
+スクリプトのそれ以降で hangup シグナルを無視するように設定します。
+2 行目の形式は、指定されたコマンドが、
+hangup シグナルを無視するように設定して実行します。
+`&' をつけて実行されたプログラムは、
+.Ic nohup
+を指定して実行したのと同様に hangup シグナルを無視します。
+.Pp
+.It Ic notify
+.It Ic notify % Ns Ar job ...
+現在のジョブまたは指定されたジョブの状態が変化したときに、
+.\" #### modified by kuma 96.12.23 ####
+コマンド待ちかどうかに関わりなく即座に通知するように指定します。
+通常は、プロンプトが表示される直前に通知が行われます。
+シェル変数
+.Ic notify
+が指定されている場合は、すべてのジョブに対して同様の設定が行われます。
+.Pp
+.It Ic onintr
+.It Ic onintr Fl
+.It Ic onintr Ar label
+割り込みに対するシェルの動作を制御します。1行目の形式は、
+シェルをデフォルトの動作、すなわち、スクリプトの実行が中断される、
+またはコマンド入力状態に戻るように設定します。
+2 行目の形式は、すべての割り込みを無視するように設定します。
+3行目の形式は、シェルが割り込みを受けるか、
+チャイルドプロセスが割り込みによって停止した場合に
+goto label が実行されるように設定します。
+.Pp
+シェルがバックグラウンドで、かつ、
+シグナルを無視するように設定して実行されている場合は、
+.Ic onintr
+は効力を持たず、
+割り込みはシェルとそこから起動されるすべてのコマンドで
+引続き無視されます。
+最後に
+.Ic onintr
+文はシステムのスタートアップ・ファイル
+(/etc/csh.cshrc、/etc/csh.login) 中でも、
+割り込みが禁止されているので無視されます。
+.Pp
+.It Ic popd
+.It Ic popd Ar +n
+ディレクトリ・スタックをポップし、
+新たにスタックの先頭になったディレクトリにカレント・ディレクトリを変更します。
+引数
+.Ns \`+ Ar n Ns \'
+が指定された場合、スタックの
+.Ar n
+番目の要素が捨てられます。ディレクトリ・スタックの要素は、
+スタックの先頭から 0 から順に番号がつけられます。
+.Pp
+.It Ic pushd
+.It Ic pushd Ar name
+.It Ic pushd Ar n
+引数を指定しなかった場合、
+.Ic pushd
+はスタックの先頭の 2 つの要素を入れ替えます。引数
+.Ar name
+が指定された場合、
+.Ic cd
+と同様にカレント・ディレクトリを変更したあと、
+古いカレント・ディレクトリ
+.\" cwd の typo だと思うが わからない
+.\" (as in
+.\" .Ic csw )
+.\" #### kuma agree with you on 96.12.23 ####
+をディレクトリ・スタックにプッシュします。
+数字引数が指定された場合、ディレクトリ・スタックの
+.Ar n
+番目の要素が
+スタックの先頭にくるようにローテートし、
+カレント・ディレクトリをその要素が指すディレクトリに変更します。
+ディレクトリ・スタックの要素は、スタックの先頭から
+0 から順に番号がつけられます。
+.Pp
+.It Ic rehash
+変数
+.Ic path
+に指定されているディレクトリ内の、ファイルに関するハッシュ・テーブルを
+再計算させます。ログイン中に、新しいコマンドが
+.Ic path
+に含まれるディレクトリに追加された場合、
+.\" #### modified by kuma 96.12.23 ####
+rehash コマンドを実行する必要があります。
+これは、あなたが個人的なディレクトリの一つにコマンドを追加したか、
+システムの管理者がシステム・ディレクトリの内容を変更したような
+場合にのみ必要です。
+.Pp
+.It Ic repeat Ar count command
+指定されたコマンド
+.Ar command
+を
+.Ar count
+回繰り返し実行します。
+.Ar command
+.\" #### modified by kuma 96.12.23 ####
+に指定するものは、先の一行
+.Ic if
+文で指定する
+.Ar command
+と同様の制限を受けます。
+入出力リダイレクションは
+.Ar count
+が たとえ 0 であっても、必ず 1回だけ処理されます。
+.Pp
+.It Ic set
+.It Ic set Ar name
+.It Ic set Ar name Ns =word
+.It Ic set Ar name[index] Ns =word
+.It Ic set Ar name Ns =(wordlist)
+1 行目の形式はすべてのシェル変数の値を表示します。
+複数の単語からなる値を持つ変数は括弧で囲まれた値のリストで表示します。
+2 行目の形式は、
+.Ar name
+に空文字列を設定します。3 行目の形式は
+.Ar name
+に単一の単語
+.\" #### modified by kuma 96.12.23
+.Ar word
+を設定します。4 行目の形式は
+.Ar name
+の
+.Ar index
+番目の要素に
+.Ar word
+を設定します。
+.Ar index
+番目の要素はすでに存在していなければなりません。5 行目の形式は
+.Ar name
+に
+.Ar wordlist
+で指定した単語列を設定します。すべての形式で、
+値にはコマンド置換とファイル名置換が適用されます。
+.Pp
+複数の変数を設定するために、set コマンドへの引数を繰り返すことができます。
+ただし、引数に対する変数展開処理は、代入処理に先だって行われます。
+.Pp
+.It Ic setenv
+.It Ic setenv Ar name
+.It Ic setenv Ar name value
+1 行目の形式はすべての環境変数の一覧を出力します。
+これは
+.Xr printenv 1
+と等価です。
+3 行目の形式は環境変数
+.Ar name
+に値
+.Ar value
+を設定します。2 行目の形式は環境変数
+.Ar name
+.\" #### modified by kuma 96.12.23 ####
+に空文字列を設定します。最も一般的に用いられる環境変数である
+.Ev USER ,
+.Ev TERM ,
+.Ev PATH
+は
+.Nm csh
+の起動時にシェル変数
+.Ar user ,
+.Ar term ,
+.Ar path
+にそれぞれ設定され、
+.Nm csh
+から実行するプログラムの環境変数には、シェル変数
+.Ic user ,
+.Ic term ,
+.Ic path
+の値が反映されます。そのため、これらの変数を明示的に
+.Ic setenv
+する必要はありません。
+.Pp
+.It Ic shift
+.It Ic shift Ar variable
+(リスト)変数
+.Ic argv
+.\" #### modified by kuma 96.12.23 ####
+の各要素を左にシフトし、
+.Ic argv Ns Bq 1
+の値を捨てます。
+.Ic argv
+に値が設定されていないか、
+1 つ以上の要素を持たない場合にはエラーになります。
+2 行目の形式は、指定された変数
+.Ar variable
+に対して同様の処理を行います。
+.Pp
+.It Ic source Ar name
+.It Ic source Fl h Ar name
+シェルは、指定されたファイル
+.Ar name
+からコマンドを読み込みます。
+.Ic source
+コマンドはネストすることができます。あまりに深くネストさせると、
+.\" #### modified by kuma 96.12.23 ####
+ファイル識別子を使い切ってしまう場合があります。いずれかのレベルの
+.Ic source
+コマンド中でエラーが発生すると、ネストしているすべての
+.Ic source
+コマンドが中断されます。通常、
+.Ic source
+の実行中に実行されたコマンドはヒストリに記録されませんが、
+\-h
+オプションを指定することにより、
+ファイルに記述してあるコマンドを実行せずに、
+ヒストリにのみ記録することができます。
+.Pp
+.It Ic stop
+.It Ic stop % Ns Ar job ...
+バックグラウンドで走行中の現在のジョブ、あるいは指定されたジョブを停止します。
+.Pp
+.It Ic suspend
+シェル自身を停止させます。
+.Ic ^Z
+でストップ・シグナルを送られたかのように振舞います。
+.Xr su 1
+によって起動したシェルを停止する場合によく用いられます。
+.Pp
+.It Ic switch Ar (string)
+.It Ic case Ar str1 :
+.It \ \ \ \ \&...
+.It Ic \ \ \ \ breaksw
+.It \ \ \ \ \&...
+.It Ic default :
+.It \ \ \ \ \&...
+.It Ic \ \ \ \ breaksw
+.It Ic endsw
+.\" #### modified by kuma 96.12.23 ####
+各
+.Ic case
+ラベルを順に、指定された文字列
+.Ar string
+でマッチングを行います。
+.Ar string
+には、まず、コマンド置換とファイル名置換が行われます。
+.Ic case
+ラベルには変数置換が行われ、ファイル名メタキャラクタの
+`*'、`?'、`[...]' を用いることができます。
+.\" #### modified by kuma 96.12.23 ####
+.Ic default
+ラベルが出てくるまでにどの
+.Ic case
+ラベルともマッチしなかった場合は、
+.Ic default
+ラベルの直後から実行が始まります。
+.Ic case
+ラベルと
+.Ic default
+ラベルは行の最初に書かれなければなりません。
+.Ic breaksw
+コマンドによって
+.Ic endsw
+以降のコマンドから実行が再開されます。
+.Ic breaksw
+を用いない場合は、 C 言語の場合と同様に、
+.Ic case
+ラベル、
+.Ic default
+ラベルを通過して実行が続けられます。
+.Ic default
+がなく、どのラベルもマッチしなかった場合には、
+.Ic endsw
+以降から実行が再開されます。
+.Pp
+.It Ic time
+.It Ic time Ar command
+1 行目の形式では、
+シェルとそのチャイルドプロセスが使用した時間が表示されます。
+.\" #### modified by kuma 96.12.23 ####
+2 行目の形式では、指定された単純コマンドの実行時間が計測され、
+.\" #### modified by kuma 96.12.23 ####
+変数
+.Ic time
+の項で説明する形式で、使用時間情報の要約が表示されます。
+必要ならば、コマンド終了時に時間を表示するための追加のシェルが生成されます。
+.Pp
+.It Ic umask
+.It Ic umask Ar value
+ファイル作成マスクを表示(第 1 の形式)または設定(第 2 の形式)します。
+マスクは 8 進数で与えます。一般的な値としては、
+グループにすべての権限を与え、
+そのほかには読み込みと実行のみを許可する 002 や、
+所有者以外には読み込みと実行しか許可しない 022 があります。
+.Pp
+.It Ic unalias Ar pattern
+.Ar pattern
+にマッチするすべてのエイリアスを削除します。
+`unalias *' とすることですべてのエイリアスを削除することができます。
+削除するものがなかった場合にもエラーにはなりません。
+.Pp
+.It Ic unhash
+実行プログラムの位置検索を高速化する内部ハッシュ・テーブルの使用を禁止します。
+.Pp
+.It Ic unlimit
+.It Ic unlimit Ar resource
+.It Ic unlimit Fl h
+.It Ic unlimit Fl h Ar resource
+リソースの制限を解除します。
+.Ar resource
+が指定されない場合、すべてのリソースに対する制限が解除されます。
+.Fl h
+が指定された場合、対応するハードリミットが解除されます。
+これはスーパーユーザのみが行うことができます。
+.Pp
+.It Ic unset Ar pattern
+指定された
+.Ar pattern
+にマッチするすべての変数を削除します。
+`unset *' と指定するとすべての変数が削除され、
+悲惨な結果を生じることがあります。
+.Ic unset
+するものがない場合もエラーになりません。
+.Pp
+.It Ic unsetenv Ar pattern
+指定された
+.Ar pattern
+にマッチするすべての環境変数を削除します。前述の
+.Ic setenv
+の項と
+.Xr printenv 1
+を参照してください。
+.Pp
+.It Ic wait
+すべてのバックグラウンドジョブの終了を待ちます。
+対話的にシェルが実行されている場合、
+インタラプトにより wait を停止することができます。
+このとき、シェルはいまだに終了していないジョブの名前とジョブ番号を表示します。
+.It Ic which Ar command
+.\" #### modified by kuma 96.12.23 ####
+.Ar command
+を指定したとき、シェルが実行するコマンドの位置を表示します。
+.Pp
+.It Ic while Ar (expr)
+.It \&...
+.It Ic end
+指定された式の評価結果がゼロでないかぎり、
+.Ic while
+と対応する
+.Ic end
+の間のコマンドを繰り返し実行します。
+.Ic break
+や
+.Ic continue
+によりループを終了したり、途中から繰り返しを再開させたりすることができます。
+(
+.Ic while
+と
+.Ic end
+は、その行に単独で書かれなければなりません。)入力が端末の場合、
+.Ic foreach
+ステートメントの場合と同様に、
+ループのすべてを入力するまでプロンプトが表示され、
+すべての入力を終えた時点でループが実行されます。
+.Pp
+.It Ic % Ns Ar job
+指定されたジョブをフォアグラウンドに移動します。
+.Pp
+.It Ic % Ns Ar job Ic &
+指定されたジョブをバックグラウンドで再開実行させます。
+.Pp
+.It Ic @
+.It Ic @ Ar name Ns = Ns expr
+.It Ic @ Ar name[index] Ns = Ns expr
+1 行目の形式は、すべてのシェル変数の値を表示します。2 行目の形式は、
+指定された名前
+.Ar name
+の変数に式
+.Ar expr
+の値を代入します。式のなかに `<'、`>'、`&'、`|'を含んでいる場合、
+少なくともそのような部分は `(' と `)' で囲まれている必要があります。
+3 行目の形式は、変数の
+.Ar index
+番目の要素に式
+.Ar expr
+の値を代入します。
+.Ar name
+と、その
+.Ar index
+番目の要素はすでに存在していなければいけません。
+.El
+.Pp
+C 言語と同様に、演算子 `*='、`+=' 等が利用可能です。
+変数名と演算子の間の空白はあってもなくてもかまいません。
+しかしながら、式の各要素の間には空白が必須です。
+さもなければ、単一の単語とみなされてしまいます。
+.Pp
+特別な後置演算子 `+\|+' と `\-\|\-' により変数の値を 1 だけ増加させたり、
+減少させたりすることができます。たとえば、`@ i++' のように使います。
+.Ss 定義済み変数と環境変数
+以下の変数は、シェルにとって特別な意味があります。これらのうち、
+.Ar argv、
+.Ar cwd、
+.Ar home、
+.Ar path、
+.Ar prompt、
+.Ar shell、
+.Ar status
+はシェルが設定します。そのうち、
+.Ar cwd
+と
+.Ar status
+以外の変数の設定はシェルの起動時にのみ行われます。
+そのような変数は、ユーザが明示的に変更しないかぎり、
+値が変化することはありません。
+.Pp
+シェルは、環境変数
+.Ev USER
+をシェル変数
+.Ar user
+に、
+.Ev TERM
+を
+.Ar term
+に、
+.Ev HOME
+を
+.Ar home
+にそれぞれコピーします。また、
+これらのシェル変数が再度セットされた場合は環境変数にコピーしなおします。
+環境変数
+.Ev PATH
+も同様に扱われます。サブシェルは環境変数によって
+.Ar path
+の値を得て、もしそれが変更されれば環境変数にコピーしなおすので
+.Ar \&.cshrc
+以外での
+.Ar path
+変数の設定について気をつける必要はありません。
+.Bl -tag -width histchars
+.It Ic argv
+シェルへの引数が設定されます。位置パラメータは argv の値に展開されます。
+すなわち、 `$1' は `$argv[1]' の値に置換されます。
+.It Ic cdpath
+.Ar chdir
+.\" #### modified by kuma 96.12.23 ####
+コマンドにおいてサブディレクトリを検索するためのディレクトリのリストです。
+.It Ic cwd
+.\" #### modified by kuma 96.12.23 ####
+カレント・ディレクトリのフルパス名です。
+.It Ic echo
+.Fl x
+オプションが指定された場合にセットされます。セットすることにより、
+コマンドが実行される前にコマンド名とその引数が表示されるようになります。
+.\" #### modified by kuma 96.12.23 ####
+組み込みコマンド以外では、表示の前にすべての展開が行われます。
+組み込みコマンドではコマンド置換とファイル名置換が行われる前に表示されます。
+なぜなら、これらの置換は選択的に行われるからです。
+.It Ic filec
+ファイル名補完を有効にします。
+.It Ic histchars
+ヒストリ置換に用いる文字を文字列で指定します。
+指定した文字列の最初の文字はヒストリ置換文字(デフォルトは `!')、
+2 文字目は簡易置換文字(デフォルトは `\*(ua') を指定します。
+.It Ic histfile
+ヒストリをセーブ/リストアするパス名を指定できます。
+.It Ic history
+ヒストリ・リストのサイズを指定します。
+このサイズを超えたコマンド履歴は削除されます。
+あまりに大きな値を設定すると、シェルがメモリを使いつくすかもしれません。
+最後に実行したコマンドは
+.Ar history
+の値にかかわらず、つねにヒストリ・リストに保存されます。
+.It Ic home
+.\" #### modified by kuma 96.12.23 ####
+シェルを起動したユーザのホーム・ディレクトリです。
+起動時に環境変数から設定されます。
+ファイル名置換において
+.Sq Pa ~
+は本変数を参照して展開されます。
+.It Ic ignoreeof
+セットされると、端末のファイル終端(EOF)を無視するようになります。
+間違って control-D を押してシェルを終了させてしまうのを防ぐことができます。
+.It Ic mail
+シェルがメールの到着をチェックするためのメールファイルを指定します。
+コマンド実行が完了しプロンプトが表示されるときに、
+.\" #### modified by kuma 96.12.23 ####
+指定された時間が経過していればメイル到着のチェックが行われます。
+最終修正時刻が最終アクセス時刻以降の場合、
+シェルは `You have new mail' と出力します。
+.Pp
+.Ar mail
+の値の最初の単語が数値の場合には、
+その数値でメール検査の間隔を秒単位で指定します。
+指定がなかった場合のデフォルト値は 10分です。
+.Pp
+複数のメールファイルが指定された場合、
+メールが到着していた場合のメッセージは `New mail in
+.Ar name Ns '
+となります。ここで、
+.Ar name
+は到着したメールが あるファイル名です。
+.It Ic noclobber
+.Sx 入出力
+の項で説明したように、
+出力リダイレクトによって意図せずにファイルを削除しないように制限したり、
+`>>' リダイレクトがすでに存在するファイルにしか適用できないようにします。
+.It Ic noglob
+セットされると、ファイル名展開が禁止されます。
+ファイル名を扱わないシェルスクリプト内や、すでにファイル名展開を行ったあとで、
+それ以上の展開を望まない場合に設定します。
+.It Ic nonomatch
+.\" #### modified by kuma 96.12.23 ####
+セットされると、ファイル名展開の結果が空になってもエラーとせず、
+展開前のパターンをそのまま残します。
+.\" #### modified by kuma 96.12.23 ####
+ただし、`echo [' のような、
+展開前のパターンが文法的に正しくない場合はエラーになります。
+.It Ic notify
+セットされると、シェルがジョブの終了を随時報告するようになります。
+通常はプロンプトの表示直前にのみ報告が行われます。
+.It Ic path
+.\" #### modified by kuma 96.12.23 ####
+path 変数の各単語は、コマンドファイルを検索すべきディレクトリ名を表します。
+空の単語はカレント・ディレクトリを示します。
+.Ar path
+変数が設定されて
+いない場合、フルパス指定によるコマンド実行のみが可能になります。
+通常の検索パスは
+ `.'、`/bin'、`/usr/bin' です。しかし、これらの値はシステムによって異なります。
+スーパーユーザのデフォルトの検索パスは `/etc'、`/bin'、`/usr/bin' です。
+.Fl c
+オプションも
+.Fl t
+オプションも指定されなかった場合、
+シェルは
+.Ar path
+変数で指定されたディレクトリの内容をハッシュ・テーブルに保存します。
+ハッシュ・テーブルは、起動時に
+.Ar \&.cshrc
+を読み込んだ後と
+.Ar path
+変数を再設定した時に再構築されます。
+シェルの実行中に、
+新しいコマンドがハッシュされているディレクトリに追加された場合は、
+.Ic rehash
+コマンドによりハッシュを再構築しなければなりません。
+.\" #### modified by kuma 96.12.23 ####
+さもなければ、コマンドが見付からない可能性があります。
+.It Ic prompt
+端末上で対話的に実行されているシェルにおいて、
+.\" #### modified by kuma 96.12.23 ####
+コマンド読み込み時に表示される文字列を指定します。
+`!' が含まれる場合、現在のイベント番号に置換されます。
+`\e' を指定することにより、この解釈を抑制することができます。
+デフォルトの値は `% 'です。スーパーユーザの場合は `# ' となります。
+.It Ic savehist
+ログアウト時にファイル ~/.history に保存されるコマンド履歴の数を指定
+します。
+.\" #### modified by kuma 96.12.23 ####
+この値で指定される数のイベントが保存されます。
+起動時に、シェルは ~/.history の内容を読み込みます。あまりに
+大きな値を指定すると、シェルの起動が遅くなる場合があります。
+.Ar savehist
+がセットされているだけの場合は
+.Ar history
+に指定された値を使用します。
+.It Ic shell
+シェルのフルパス名を示します。実行属性が立っているが、
+.\" #### modified by kuma 96.12.23 ####
+システムが起動できないファイルを
+実行する際に起動するシェルとして用いられます(後述の
+.Sx 非組み込みコマンドの実行
+の項を参照)。システム依存の値で初期化されます。
+.It Ic status
+最後に実行したコマンドの終了ステータス値を保持します。
+異常終了した場合は、値に 0200 が加算されます。
+組み込みコマンドが失敗した場合は `1' に、成功した場合は `0' になります。
+.It Ic time
+.\" #### modified by kuma 96.12.23 ####
+コマンドの自動計時を制御します。値が設定されている場合、
+コマンドがその値よりも長く CPU 秒数を消費した場合には、
+コマンド終了時にユーザ時間、システム時間、実時間と、
+利用率すなわちユーザ+システム時間と実時間のパーセンテージが出力されます。
+.It Ic verbose
+.Fl v
+コマンドラインオプションが指定されていた場合にセットされます。
+ヒストリ置換が行われたあと、コマンドの内容が出力されます。
+.El
+.Ss 非組み込みコマンドの実行
+実行すべきコマンドが組み込みコマンドでなかった場合、シェルはコマンドを
+.Xr execve 2
+システムコールによって起動しようとします。シェル変数
+.Ar path
+.\" #### modified by kuma 96.12.23 ####
+の各単語は、シェルがコマンドを実行しようとするディレクトリ名を表します。
+.Fl c
+オプションも
+.Fl t
+オプションも指定されなかった場合、
+.\" #### modified by kuma 96.12.23 ####
+シェルはそれらのディレクトリ内にあるファイル名のハッシュ値を計算し、
+シェル内部のテーブルに格納します。これは、
+コマンドが存在する可能性のあるディレクトリだけで
+.Ic exec
+を試みるようにするためです。
+この近道によって、サーチ・パスにたくさんのディレクトリが指定されている時、
+コマンドの位置決定が著しく高速化されます。
+この機能が(
+.Ic unhash
+.\" #### modified by kuma 96.12.23 ####
+コマンドによって)停止されている場合、または
+.Fl c
+または
+.Fl t
+オプションが起動時に指定された場合、または
+.Ar path
+.\" #### modified by kuma 96.12.23 ####
+中の単語で `/'
+から始まらないものについては、ハッシュが用いられることはありません。
+この場合は、
+.Ar path
+の要素にコマンドラインで指定されたコマンドを連結した名前を持つ
+ファイルを実行しようと試みます。
+.Pp
+括弧で囲まれたコマンドは、つねにサブシェルによって実行されます。ですから、
+.Pp
+.Dl (cd ; pwd) ; pwd
+.Pp
+はホーム・ディレクトリの値を表示しますが、カレント・ディレクトリ(ホーム・
+.\" #### modified by kuma 96.12.23 ####
+ディレクトリの後に表示されます)は移動しません。
+一方、
+.Pp
+.Dl cd ; pwd
+.Pp
+を実行すると、カレント・ディレクトリがホーム・ディレクトリに移動します。
+括弧で囲まれたコマンドは、現在のシェルのカレント・ディレクトリに
+影響を与えずにコマンドを実行する場合にしばしば用いられます。
+.Pp
+実行属性が立っているにもかかわらず、
+システムによって実行可能ではないファイルは
+シェルコマンドファイルであるとみなし、
+サブシェルを起動してそのファイルを読み込ませます。
+.Pp
+.Ic shell
+という名前のエイリアスが存在する場合、
+エイリアスの値はシェルコマンドファイルを実行する場合の
+引数リストの前に挿入されます。エイリアスの値の最初の単語は
+シェルのフルパス名でなければいけません(たとえば `$shell')。
+.\" #### modified by kuma 96.12.23 ####
+これはエイリアス展開としては特別のもので、かなり後の時点に行われ、
+引数リストを修正せずに、その前に単語を挿入するための手段を提供します。
+.Ss シグナル処理
+シェルは、通常
+.Ar quit
+シグナルを無視します。バックグラウンドのジョブ(
+.Ic \&&
+または
+.Ic bg
+または
+.Ic %... &
+.\" #### modified by kuma 96.12.23 ####
+によるコマンド)はキーボードから入力されたシグナルに影響されません
+(hangup も含みます)。他のシグナルに対する挙動は親の環境を引き継ぎます。
+シェル・スクリプトでの interrupt と terminate シグナルに対する処理は
+.Ic onintr
+によって制御することができます。ログイン・シェルは
+.Ar terminate
+シグナルを捕捉します。それ以外のシェルでは、
+.Ar terminate
+シグナルはシェルの親の状態に従ってチャイルドプロセスに渡されます。
+ログイン・シェルが
+.Pa \&.logout
+ファイルを読み込んでいる間は
+interrupt は無視されます。
+.Sh 作者
+William Joy。
+ジョブ制御とディレクトリ・スタックは
+J.E. Kulp of IIASA, Laxenburg, Austria によって、
+.\" #### modified by kuma 96.12.23 ####
+現在とは異なる文法のものが実装されました。
+ファイル名補完は Ken Greer, HP Labs が、
+.\" #### modified by kuma 96.12.23 ####
+8 bit クリーンな実装は Christos S. Zoulas, Cornell University
+によって行われました。
+.Sh 関連ファイル
+.Bl -tag -width /etc/passwd -compact
+.It Pa ~/.cshrc
+シェルが起動されるときに読み込まれる。
+.It Pa ~/.login
+ログイン・シェルの場合、ログイン時に `.cshrc' の後に読み込まれる。
+.It Pa ~/.logout
+ログイン・シェルにおいてログアウト時に読み込まれる。
+.It Pa /bin/sh
+標準シェル。`#' で始まらないシェル・スクリプトの実行に用いる。
+.It Pa /tmp/sh*
+`<<' の処理に用いられる一時ファイル。
+.It Pa /etc/passwd
+`~name' 展開時に用いられるホーム・ディレクトリに関する情報を得る。
+.El
+.Sh 制限事項
+.\" #### modified by kuma 96.12.23 ####
+単語の長さは 1024 文字に制限されます。引数リストは、システムによって 10240
+文字に制限されています。ファイル名展開を含む引数の数は、
+引数リストの文字数の 6 分の 1 に制限されています。
+コマンド置換の結果は、引数リストと同数の制限があります。
+ループ検出のため、1 行に対するエイリアス展開は 20 回までに制限されています。
+.Sh 関連項目
+.Xr sh 1 ,
+.Xr su 1 ,
+.Xr access 2 ,
+.Xr execve 2 ,
+.Xr fork 2 ,
+.Xr killpg 2 ,
+.Xr pipe 2 ,
+.Xr setrlimit 2 ,
+.Xr sigvec 2 ,
+.Xr umask 2 ,
+.Xr wait 2 ,
+.Xr tty 4 ,
+.Xr a.out 5 ,
+.Xr environ 7
+.br
+.Em An introduction to the C shell
+.Sh 歴史
+.Nm csh
+は
+.Bx 3
+で追加されました。
+.\" #### modified by kuma 96.12.23 ####
+コマンド・インタプリタとしては、履歴(参照:
+.Sx ヒストリ置換
+)、ジョブ制御 (参照:
+.Sx ジョブ
+.\" #### modified by kuma 96.12.23 ####
+参照)、対話的なファイル名補完とユーザ名補完(参照:
+.Sx ファイル名補完
+.\" #### modified by kuma 96.12.23 ####
+)、C言語ライクな文法を採用して実装した最初のものです。
+これらの機構にいくつかの追加機能(といくらかのバグの可能性)を
+持つシェルは、現在ではたくさんあります。
+これらは usenet から入手することができます。
+.Sh バグ
+コマンドが停止状態から復帰したとき、もしそのコマンドが起動したときの
+ディレクトリとカレント・ディレクトリが異なるなら、
+シェルはコマンドを起動したときのカレント・ディレクトリの値を表示します。
+.\" #### modified by kuma 96.12.23 ####
+これは、そのジョブが内部的にディレクトリを変更した場合は誤解(間違った情報)
+を与える可能性があります。
+.Pp
+シェルの組み込みコマンドは中断(suspend)も再開もできません。
+`a ; b ; c' のようなコマンド列も適切には中断することができません。
+たとえば、 `b' の実行を中断した場合には、
+すぐに `c' の実行が開始されてしまいます。これは
+.Ar alias
+としてコマンド列を指定している場合に特に目立ちます。
+このようなコマンド列は `()'
+で囲んでサブシェルで実行されるようにすることによって、
+適切に停止させることが可能になります(`( a ; b ; c )'のように)。
+.Pp
+プロセスを起動したあとの端末出力の制御が貧弱です。おそらく、
+このために、
+.\" #### modified by kuma 96.12.23 ####
+もっと良い仮想端末インターフェースを開発したいと考える人がいても何ら不思議はないです。
+仮想端末インターフェース上なら、
+もっと おもしろい端末出力の制御が可能になるでしょう。
+.Pp
+.\" #### modified by kuma 96.12.23 ####
+シェル関数をシミュレートするために、エイリアスを不格好に用いてしまうことが
+よくあります。シェル関数がサポートされるべきです。
+.Pp
+ループ中のコマンド入力において、
+`?' プロンプトに続けて入力された内容はヒストリに残りません。
+制御構造は組み込みコマンドとして解釈されるのではなく、
+文法的に解釈するようにするべきです。これにより制御コマンドをどこにでも
+置けるようになり、`\&|', `&', `;' との組み合わせが
+自由にできるようになります。
+.Pp
+コマンド置換の出力にも `:' 修飾子が適用できるべきです。
+.Pp
+.\" #### modified by kuma 96.12.23 ####
+ファイル名補完機構の実装は不細工かつ非効率的です。
diff --git a/ja/man/man1/ctags.1 b/ja/man/man1/ctags.1
new file mode 100644
index 0000000000..8bfe160435
--- /dev/null
+++ b/ja/man/man1/ctags.1
@@ -0,0 +1,210 @@
+.\" Copyright (c) 1987, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ctags.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: ctags.1,v 1.4 1997/08/31 14:11:31 horikawa Stab %
+.\"
+.\" ctags.1 修正時には gctags.1 も同様に修正して下さい。
+.\" Aug 31 1997 <horikawa@jp.freebsd.org>
+.Dd June 6, 1993
+.Dt CTAGS 1
+.Os BSD 4
+.Sh 名称
+.Nm ctags
+.Nd タグファイルを作成する
+.Sh 書式
+.Nm ctags
+.Op Fl BFadtuwvx
+.Op Fl f Ar tagsfile
+.Ar name ...
+.Sh 解説
+.Nm ctags
+は、指定された C, Pascal, Fortran,
+.Tn YACC ,
+lex, lisp のソースから、
+.Xr ex 1
+コマンド用のタグファイルを作成します。
+タグファイルは、指定されたオブジェクトが一群のファイル中の
+どの場所にあるかを示すものです。
+タグファイルの各行はオブジェクトの名前、定義されているファイル、
+オブジェクトの定義を見つけるための検索パターンを含み、
+各々は空白で区切られています。
+この
+.Ar tags
+ファイルを用いることにより、
+.Xr ex 1
+でこれらのオブジェクトが定義されている場所をすばやく見つけることが
+できます。
+.Nm
+に与えられるオプションによりますが、オブジェクトは
+subroutine 、 typedef 、 define 、 struct 、 enum 、 union から
+構成されます。
+.Bl -tag -width Ds
+.It Fl B
+後方検索パターン
+.Pq Li ?...?
+を用います。
+.It Fl F
+前方検索パターン
+.Pq Li /.../
+を用います(デフォルト)。
+.It Fl a
+既存の
+.Ar tags
+ファイルに追加します。
+.It Fl d
+引数を持たない
+.Li #define
+に関してもタグを作成します。引数を持つ
+.Li #define
+は自動的にタグが作成されます。
+.It Fl f Ar tagsfile
+.Ar tagsfile
+で指定されたファイル名でタグファイルを生成します。
+デフォルトでは
+.Ar tags
+というファイル名でタグファイルを生成します。
+.It Fl t
+typedef, struct, union, enum 宣言のタグを生成します。
+.It Fl u
+.Ar tags
+ファイル内の指定されたファイルに関する情報を更新します。
+すなわち、関係するファイルへのすべての参照が削除され、新しいタグ情報が
+ファイルに追加されます。
+(注意: このオプションはあまりスピードのでないような実装しか
+おこなわれていません。単に
+.Ar tags
+ファイルを再構築した方が早く終了するでしょう。)
+.It Fl v
+.Xr vgrind 1
+形式のファイル一覧が標準出力に出力されます。
+この一覧はオブジェクト名、ファイル名、1 ページあたり 64 行とした場合の
+ページ番号から構成されます。
+出力は辞書式の順番でソートされているので、この後に
+.Xr sort 1
+を通した方がよいでしょう。次のように使います。
+.Bd -literal -offset indent
+ctags \-v files \&| sort \-f > index
+vgrind \-x index
+.Ed
+.It Fl w
+診断用メッセージを表示しないようにします。
+.It Fl x
+.Nm
+はオブジェクト名、行番号、ファイル名、その行の内容からなる一覧を作成し、
+それを標準出力に出力します。
+これはオフラインでも読みやすいように印刷できる簡単な関数一覧として
+利用できます。
+.El
+.Pp
+.Nm \&.c
+や
+.Nm \&.h
+で終わる名前のファイルは、 C 言語のソースファイルとみなされ、
+C の形式の関数・マクロ定義が検索されます。
+.Nm \&.y
+で終わる名前のファイルは、
+.Tn YACC
+のソースファイルとみなされます。
+.Nm \&.l
+で終わる名前のファイルは、最初の空白でない文字が `;' か `(' か `[' で
+あれば lisp のファイルであるとみなされ、そうでなければ lex のファイルと
+みなされます。
+その他のファイルは、まず Pascal か Fortran の定義が含まれるか
+どうかがチェックされ、含まれない場合には C 形式の定義が検索されます。
+.Pp
+C 言語の場合、
+.Li main
+は特別に扱われ、元のソースファイルのパス名部分と末尾の
+.Nm \&.c
+の部分を取り除いたファイル名に対し、その先頭に
+.Ar M
+を付加したものをオブジェクト名とします。
+これにより、同じディレクトリに複数のプログラムがある場合でも
+.Nm
+を実用的に使うことができます。
+.Pp
+yacc と lex のファイルには特殊なタグがあります。
+.Ar yyparse
+は yacc ファイルの第二セクションの始まりを示し、
+.Ar yylex
+は lex ファイルの第二セクションの始まりを示します。
+.Sh 関連ファイル
+.Bl -tag -width tags -compact
+.It Pa tags
+デフォルトで出力されるタグファイル
+.El
+.Sh 診断
+.Nm
+はエラーが発生すると 1 を返し、それ以外では 0 を返します。
+同じ名前のオブジェクトが複数出てきてもエラーとはみなされません。
+.Sh 関連項目
+.Xr ex 1 ,
+.Xr vi 1
+.Sh バグ
+.Tn FORTRAN
+と Pascal 用の
+.Nm 関数(function)
+、
+.Nm サブルーチン(subroutine)
+、
+.Nm 手続き(procedure)
+の認識にはとても単純な方法を用いています。
+ブロック構造が解釈できないので、異なるブロックに同じ名前の Pascal 手続きが
+存在するとうまく動作しません。
+.Nm
+は Pascal の型(type)も理解しません。
+.Pp
+C か Pascal か
+.Tn FORTRAN
+かを判断する方法はとりあえず動いている、という程度のものです。
+.Pp
+.Nm
+はきちんと整形された入力に頼っています。
+また、ソースファイルに文法的な間違いがあると
+簡単に混乱してしまいます。
+文法的に間違っていなくても混乱する場合があります。
+例えば、
+.Li #ifdef
+を理解しないので(バグではなく仕様です)、
+.Li #ifdef
+内に括弧のつりあっていないコードがあると混乱してしまいます。
+同様に、定義が複数行にわたっている場合、オブジェクトの先頭行ではなく
+最終行が検索パターンにマッチします。
+複数行にわたる
+.Li typedef
+に関しても同様です。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から登場しました。
+
diff --git a/ja/man/man1/ctm.1 b/ja/man/man1/ctm.1
new file mode 100644
index 0000000000..2639bb2075
--- /dev/null
+++ b/ja/man/man1/ctm.1
@@ -0,0 +1,315 @@
+.\"----------------------------------------------------------------------------
+.\""THE BEER-WARE LICENSE" (Revision 42):
+.\"<joerg@freebsd.org> wrote this file. As long as you retain this notice you
+.\"can do whatever you want with this stuff. If we meet some day, and you think
+.\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch
+.\"----------------------------------------------------------------------------
+.\"
+.\" This manual page is partially obtained from Poul-Hennings CTM README
+.\" file.
+.\"
+.\" CTM and ctm(1) by <phk@login.dknet.dk>
+.\"
+.\" %Id: ctm.1,v 1.9.2.2 1997/09/18 06:23:11 charnier Exp %
+.\" jpman %Id: ctm.1,v 1.3 1997/09/27 16:26:57 ryo2 Stab %
+.\"
+.Dd Mar 25, 1995
+.Os
+.Dt CTM 1
+.Sh 名称
+.Nm ctm
+.Nd source code mirror program
+.Sh 書式
+.Nm ctm
+.Op Fl cFklquv
+.Op Fl b Ar basedir
+.Op Fl B Ar backup-file
+.Op Fl e Ar include-regex
+.Op Fl t Ar tar-command
+.Op Fl T Ar tmpdir
+.Op Fl V Ar level
+.Op Fl x Ar exclude-regex
+.Ar
+.Sh 解説
+.Nm
+は、元々
+.Dq Cvs Through eMail
+でしたが、今は代わりに
+.Dq Current Through eMail
+と呼ぶのがふさわしいようです。
+
+.Nm
+は、今や 2 つのバージョンのディレクトリツリーの間でデルタを作成して
+適用するための最も信頼できる方法を意味します。
+
+これにはデルタの作成と適用という 2 つの部分があります。2 つは
+全く異なるものです。
+
+.Ss 使用例
+
+CTM デルタを適用するには、それを
+.Nm
+コマンドに渡します。CTM デルタを標準入力、またはファイル名を引数として
+渡すことができます。後者の方法を取ると、とても簡単に
+することができます。なぜなら このプログラムは gzip で圧縮された
+ファイルを受け付けて、ファイルの一時的なコピーを作る必要が無いからです。
+複数のデルタを一度に指定でき、それらは一度にひとつずつ処理されます。
+すでに適用されているデルタは無視されます。
+
+.Nm
+コマンドの実行はたくさんのパスにわかれています。
+次のパスを始める前に、それぞれのパスで入力ファイルの全体が処理されます。
+
+.Ar name
+で指定されたファイルを処理する前に
+.Nm
+は まず
+.Ar name.ctm
+というファイルが存在するかどうかをチェックします。
+存在すれば、
+.Nm
+は、かわりにそちらを処理します。
+
+パス 1 では、入力ファイルが正常かどうかを確認します。
+文法、データ、全体の MD5 によるチェックサムがチェックされます。
+いずれか 1 つでも異常があれば、
+.Nm
+は単純に入力ファイルを拒否します。
+
+パス 2 ではディレクトリツリーが CTM デルタの期待している状態に
+なっているかどうかを確認します。これは存在する/しないはずの
+ファイルとディレクトリファイルとディレクトリを捜して
+ファイルの MD5 によるチェックサムをチェックすることで行われます。
+
+もし
+.Ar backup-file
+が
+.Fl B
+オプションで指定されていると、その
+.Nm
+の呼び出しで変更されるファイルが
+.Fl t
+オプションで指定されたアーカイバコマンドを使って、そのファイルに
+バックアップされます。デフォルトのアーカイバコマンドは
+.Nm "tar -rf %s -T -"
+です。
+
+パス 3 では実際にデルタが適用されます。
+
+.Nm
+によって変更されるファイルのリストは、
+.Fl e
+と
+.Fl x
+オプションで指定された正規表現によるフィルタの対象になります。
+.Fl e
+と
+.Fl x
+オプションは、コマンドラインで指定された順に適用されます。
+与えられたファイル名に最後にマッチしたフィルタが、そのファイルを
+.Nm
+の適用対象とするかどうかを決定します。
+
+.Nm
+は、その作業ディレクトリ下にファイルの階層を展開します。
+絶対パスや
+.Sq \&.
+と
+.Sq \&.\&.
+の参照を含むファイル名は、セキュリティのために明確に禁止されています。
+
+.Ss オプション
+
+.Bl -tag -width indent -compact
+
+.It Fl b Ar basedir
+各ファイル名に
+.Ar basedir
+で指定されたパスを前置します。
+
+.It Fl B Ar backup-file
+この CTM の実行で変更されるすべてのファイルを
+.Ar backup-file
+にバックアップします。
+.Fl e
+と
+.Fl x
+オプションで何らかのフィルタが指定されると、
+CTM の実行時にフィルタが適用され、変更されたファイルが、
+最終的にバックアップされるファイルのセットとなります。
+
+.It Fl c
+確認だけを行ない、他には何もしません。
+
+.It Fl e Ar regular_expression
+CTM ファイル中の各ファイル名が
+.Ar regular_expression
+にマッチするかどうかを調べ、マッチすればそのファイルを処理し、
+マッチしなければ何もせずそのまま残します。
+このオプションは何個でも指定できます。このオプションを指定すると
+.Pa .ctm_status
+のシーケンス番号のチェックが行なわれません。
+例えば、
+.Ic ^usr.sbin/ctm
+と指定すると、
+.Nm usr.sbin/ctm
+というソースディレクトリと、その下のすべてのパス名を指定した事に
+なります。
+
+CTM の処理対象からパス名を外すには
+.Fl x
+オプションを使います。
+
+.It Fl F
+強行します。
+
+.It Fl k
+ファイルとディレクトリを保存し、CTM ファイルで削除するように
+指定されているものでも削除しません。
+.Fl B
+オプションが指定されると、そのファイルとディレクトリは
+バックアップされません。
+
+.It Fl l
+その CTM の実行で変更されるはずのファイルと、それに対して
+行われるアクションをリストします。
+.Fl l
+オプションを使うと
+.Pa .ctm_status
+のチェックと作業対象のソースツリーの正当性チェックが行なわれません。
+.Fl l
+オプションは、
+.Fl e
+と
+.Fl x
+オプションを組み合わせることで、与えるコマンドラインオプションで
+どのファイルが変更されるかを見定めることができます。
+
+.It Fl q
+表示を減らします。
+
+.It Fl t Ar tar-command
+デフォルトのアーカイバである
+.Nm tar
+の代わりに
+.Ar tar-command
+を使います。
+このオプションは、バックアップファイルが
+.Fl B
+オプションで指定された場合にのみ効果があります。
+tar command 中には一つだけ %s を置くことができ、
+バックアップファイルの名前に置き換えられます。
+
+
+.It Fl T Ar tmpdir
+一時ファイルを
+.Ar tmpdir
+に置きます。
+
+.It Fl u
+作成、変更されるファイルの更新時刻を CTM デルタが作成された
+時刻に設定します。
+
+.It Fl v
+表示を増やします。
+
+.It Fl V Ar level
+表示を増やします。
+.Ar level
+は饒舌さの程度です。
+
+.It Fl x Ar regular_expression
+CTM ファイル中の各ファイル名を
+.Ar regular_expression
+とマッチするかどうかを調べ、マッチすればそのファイルを除外します。
+このオプションは何個でも指定できます。このオプションを指定すると
+.Pa .ctm_status
+のシーケンス番号のチェックが行なわれません。
+
+CTM の処理対象にパス名を加えるには
+.Fl e
+オプションを使います。
+
+.El
+
+.Sh 環境変数
+.Ev TMPDIR
+にパス名がセットされていると、ctm は一時ファイルの置き場所として
+そのパス名を使います。
+これに関しての詳細は
+.Xr tempnam 3
+を参照して下さい。
+同じ効果は
+.Fl T
+フラグでも得られます。
+
+.Sh 関連ファイル
+
+.Pa .ctm_status
+には、最後に適用した CTM デルタのシーケンス番号が含まれます。
+このファイルを変更したり削除したりすると、
+.Nm
+は、とても混乱します。
+
+
+.Fl e
+と
+.Fl x
+オプションを使うとソースツリーの一部分を更新することができ、
+ソースを一貫性のない状態にすることになります。
+これらのオプションを使うときには、何をしているのかを理解していることが
+仮定されています。
+
+.Sh 使用例
+
+.Bd -literal
+
+cd ~cvs
+/usr/sbin/ctm ~ctm/cvs-*
+
+.Ed
+
+`lib' 以下のすべてのソースを取り出してパッチを当てるには
+以下のようにします。
+.Bd -literal
+cd ~/lib-srcs
+/usr/sbin/ctm -e '^lib' ~ctm/src-cur*
+.Ed
+.Sh 診断
+
+充分に説明的であるはずの沢山のメッセージが出力されます。
+.Dq ノイズレベル
+は
+.Fl q ,
+.Fl v ,
+.Fl V
+オプションで調整できます。
+
+.Sh 関連項目
+.Xr ctm_rmail 1 ,
+.Xr ctm 5
+
+.Sh 歴史
+
+最初の試みは
+.Xx 1.1.5
+の作業中に行われました。そして、たくさんの
+バグと手法について徹底的に議論されました。
+
+.Nm
+コマンドは
+.Fx 2.1
+から登場しました。
+
+.Sh 作者
+
+CTM システムは
+.An Poul-Henning Kamp Aq phk@FreeBSD.org
+によってデザインされ実装されました。
+
+このマニュアルページは
+.An Joerg Wunsch Aq joerg@FreeBSD.org
+が書きました。
+
+.Sh 日本語訳
+野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳
diff --git a/ja/man/man1/ctm_rmail.1 b/ja/man/man1/ctm_rmail.1
new file mode 100644
index 0000000000..cdd904c478
--- /dev/null
+++ b/ja/man/man1/ctm_rmail.1
@@ -0,0 +1,502 @@
+.\" NOTICE: This is free documentation. I hope you get some use from these
+.\" words. In return you should think about all the nice people who sweat
+.\" blood to document their free software. Maybe you should write some
+.\" documentation and give it away. Maybe with a free program attached!
+.\"
+.\" Author: Stephen McKay
+.\"
+.Dd January 24, 1995
+.\" jpman %Id: ctm_rmail.1,v 1.3 1997/09/27 16:25:48 ryo2 Stab %
+.Dt CTM_MAIL 1
+.Os
+.Sh 名称
+.Nm ctm_smail, ctm_rmail
+.Nd メールを介しての
+.Nm ctm
+デルタの送受信
+.Sh 書式
+.Nm ctm_smail
+.Op Fl l Ar log
+.Op Fl m Ar maxmsgsize
+.Op Fl c Ar maxctmsize
+.Op Fl q Ar queue-dir
+.Ar ctm-delta
+.Ar mail-alias
+.Nm ctm_dequeue
+.Op Fl l Ar log
+.Op Fl n Ar numchunks
+.Ar queue-dir
+.Nm ctm_rmail
+.Op Fl Dfuv
+.Op Fl l Ar log
+.Op Fl p Ar piecedir
+.Op Fl d Ar deltadir
+.Op Fl b Ar basedir
+.Op Ar
+.Sh 解説
+.Nm ctm_smail ,
+.Nm ctm_dequeue ,
+.Nm ctm_rmail
+は
+.Xr ctm 1
+コマンドと組み合わせて、
+ソースツリーへの変更を電子メールで配布するために使われます。
+.Nm ctm_smail
+には圧縮した
+.Xr ctm
+のデルタとそれを送るメーリングリストを与えます。
+するとデルタを送信できる大きさに切り分けて、メールメッセージとして
+エンコードしたものをメーリングリストに送ります
+(メールの負荷を分散させるためにキューに入れるように選択できます)。
+各受信者は
+.Nm ctm_rmail
+を使い (手動または自動で) デルタのデコードと再組み立てを行い、
+それをソースツリーに適用するために
+.Xr ctm
+を呼び出すようにも指定できます。
+現在、
+いくつかのソースツリーが、いくつかのサイトによって配布されています。
+その中には
+.Li freefall.FreeBSD.org
+が配布している FreeBSD-current のソースと CVS のツリーもあります。
+.Pp
+.Nm ctm_smail
+のコマンドラインの引数には以下があります:
+.Bl -tag -width indent
+.It Fl l Ar log
+.Em stderr
+に出力する代わりに、
+(コマンドラインのエラー以外の) エラー診断と情報メッセージ
+にタイムスタンプを付けた物がファイル
+.Em log
+に書き込まれます。
+.It Fl m Ar maxmsgsize
+.Nm ctm_smail
+が送信できるメールメッセージの最大サイズを制限します。
+メールヘッダとその他の細かい物をこの制限に入れていないため
+およその値となります。
+指定されないとデフォルトは、メールの限界と噂される 64k に対して
+ヘッダのための 1535 バイトを残した 64000 バイトです。
+.It Fl c Ar maxctmsize
+送信されるデルタの最大サイズを制限します。この制限より大きいデルタは
+謝罪メールをメーリングリストに送り出します。
+これは大幅な変更でユーザのメールボックスを圧迫してしまうのを
+避けるためです。これはエンコードする前のサイズなので注意して下さい。
+エンコードされるとメールヘッダを付ける前でサイズは 4/3 倍になります。
+指定されないと無制限になります。
+.It Fl q Ar queue-dir
+デルタのかけらをメールする代わりに、後で
+.Nm ctm_dequeue
+を使ってメールされるように指定されたディレクトリに格納します。
+この機能によって、巨大なデルタを数時間または数日にも渡って分散させ、
+ネットワークのバンド幅が狭かったりメールのスプール領域が小さい
+受信者へのインパクトを押えることが可能です。
+.El
+.Pp
+.Ar ctm-delta
+は送信されるデルタで、
+.Ar mail-alias
+はデルタを送信するメーリングリストです。
+メールメッセージは
+.Xr sendmail 8
+を使って送信されます。
+.Pp
+.Nm ctm_dequeue
+のコマンドラインの引数には以下があります:
+.Bl -tag -width indent
+.It Fl l Ar log
+.Em stderr
+に出力する代わりに、
+(コマンドラインのエラー以外の) エラー診断と情報メッセージ
+にタイムスタンプを付けた物がファイル
+.Em log
+に書き込まれます。
+.It Fl n Ar numchunks
+1 回の
+.Nm ctm_dequeue
+の実行で送信するメールメッセージの数を制限します。
+デフォルトでは、
+.Nm ctm_dequeue
+は 1 回の実行で 1 つのメールメッセージを送信します。
+.El
+.Pp
+.Ar queuedir
+は
+.Nm ctm_smail
+が格納したメールメッセージのあるディレクトリです。
+.Ar numchunks
+個までのメールメッセージが実行ごとに送信されます。
+受信者のメーリングリストは、溜められたファイルに
+すでにエンコードされています。
+.Pp
+.Nm ctm_smail
+がキューにエントリを追加している最中や、複数の
+.Nm ctm_smail
+を並行に実行している最中でも
+.Nm ctm_dequeue
+を安全に実行できますが、配布される各ツリーごとに独立した
+キューのディレクトリを使うべきです。
+これはエントリがアルファベット順に処理されるので、デルタの
+作成時刻ではなく、デルタ名に従って 1 つのツリーが他の物より
+前に処理されて不公平になるからです。
+.Pp
+.Nm ctm_rmail
+のコマンドラインの引数には以下があります:
+.Bl -tag -width indent
+.It Fl l Ar log
+.Em stderr
+に出力する代わりに、
+(コマンドラインのエラー以外の) エラー診断と情報メッセージ
+にタイムスタンプを付けた物がファイル
+.Em log
+に書き込まれます。
+.It Fl p Ar piecedir
+デルタのかけらをこのディレクトリに集めます。
+それぞれのかけらは 1 つのメールメッセージに対応します。
+かけらは完全なデルタが出来上がると削除されます。
+もし このフラグが指定されないと、入力ファイルは読まれませんが、
+.Fl b
+フラグが指定されていれば完成しているデルタは
+.Xr ctm
+を使って適用されるかもしれません。
+.It Fl d Ar deltadir
+このディレクトリ内の完成したデルタを集めます。デルタは、すべてのかけらが
+揃っている時に 1 つ以上のかけらから組み立てられます。
+.It Fl b Ar basedir
+完成しているデルタを このソースツリーに適用します。このフラグが
+指定されていない場合、デルタは格納されますが適用はされません。
+ユーザは手動、または
+.Nm ctm_rmail
+を
+.Fl p
+フラグ無しで使ってデルタを適用できます。
+もしデルタが
+.Ar basedir
+の
+.Li .ctm_status
+ファイルとマッチしない場合 (もしくは
+.Li .ctm_status
+が存在しない場合) には、デルタは適用されません。
+.It Fl D
+.Xr ctm
+による適用が成功した後でデルタを削除します。
+.Xr ctm
+はデルタのフルセットからファイルの小グループを回復する機能を
+持つので、このフラグを避けて (そしてすべてのデルタを取って) おくのが
+良いでしょう。
+.It Fl f
+fork して
+.Xr ctm
+でのデルタの適用をバックグラウンドで実行します。
+これは
+.Xr sendmail
+から
+.Nm ctm_rmail
+を自動的に呼び出す場合に有効です。なぜなら
+.Xr ctm
+は終了までに、とても長い時間を要し、それによって他の人のメールを
+遅らせる原因になり、理論的にはリモート側の
+.Xr sendmail
+のタイムアウトによるメールの不要な再送信や、
+.Xr "MH"
+の
+.Xr slocal
+のようなメールフィルタによる
+.Nm ctm_rmail
+の強制終了を引き起こす可能性があるからです。
+膨大な数のバックグラウンドの
+.Xr ctm
+プロセスでマシンに負荷がかかる心配はありません。同時に 2 つ以上の
+.Xr ctm
+が起動されないようにロックが行われているからです。
+.It Fl u
+完成したデルタを適用する時に
+.Fl u
+フラグを
+.Xr ctm
+コマンドに渡します。これによって作成、変更されたファイルの
+変更時刻が CTM デルタの作成時刻にセットされます。
+.It Fl v
+完成したデルタを適用する時に
+.Fl v
+フラグを
+.Xr ctm
+コマンドに渡します。これによってより多くの情報出力が得られます。
+すべての
+.Xr ctm
+からの出力は
+.Nm ctm_rmail
+のログファイルに記録されます。
+.El
+.Pp
+引数のファイル (もし無ければ
+.Em 標準入力
+) がデルタのかけらとしてスキャンされます。
+1 つのファイルから複数のデルタのかけらを読む事ができるので、
+メールドロップ全体を 1 回のコマンドでスキャンして処理できます。
+.Pp
+.Nm ctm_rmail
+を並行に (異なる入力ファイルで) 複数回起動しても安全です。
+.Xr sendmail
+.nh
+がメールを非同期に配送した時にこのようなことが起こり得ます。
+これは処理を順序通りに保つためにロックが行われているからです。
+.Sh ファイルフォーマット
+以下は実際の (とても小さい) デルタのかけらの重要部分です:
+.Bd -literal
+From: owner-src-cur
+To: src-cur
+Subject: ctm-mail src-cur.0003.gz 1/4
+
+CTM_MAIL BEGIN src-cur.0003.gz 1 4
+H4sIAAAAAAACA3VU72/bNhD9bP0VByQoEiyRSZEUSQP9kKTeYCR2gDTdsGFAwB/HRogtG5K8NCj6
+v4+UZSdtUQh6Rz0eee/xaF/dzx8up3/MFlDkBNrGnbttAwyo1pxoRgoiBNX/QJ5d3c9/X8DcPGGo
+lggkPiXngE4W1gUjKPJCYyk5MZRbIqmNW/ASglIFcdwIzTUxaAqhnCPcBqloKEkJVNDMF0Azk+Bo
+dDzzk0Ods/+A5gXv9YyJHjMCtJwQNeESNma7hOmXDRxn
+CTM_MAIL END 61065
+.Ed
+.Pp
+メッセージのサブジェクトは常に
+.Dq ctm-mail
+で始まりデルタの名前、いくつ目のかけらか、そして全部でいくつの
+かけらがあるのかが続きます。データは
+.Dq CTM_MAIL BEGIN
+と
+.Dq CTM_MAIL END
+という行で囲まれており、サブジェクト行の情報の複製、加えて単純な
+チェックサムが付きます。
+.Pp
+デルタが
+.Ar maxctmsize
+を超えると、代わりに以下のようなメッセージが送られます:
+.Bd -literal
+From: owner-src-cur
+To: src-cur
+Subject: ctm-notice src-cur.0999.gz
+
+src-cur.0999.gz is 792843 bytes. The limit is 300000 bytes.
+
+このデルタは ftpmail か、または大学の仲良しから得られます。
+.Ed
+.Pp
+これでもうあなたのものです!
+.Sh 使用例
+.Em src-cur
+の 32 番目のデルタを
+.Em src-guys
+として
+.Xr sendmail
+に登録されている素晴らしいコードハッカーのグループに、
+メールのサイズをおよそ 60000 バイトに制限して送るためには
+以下のように出来ます:
+.Bd -literal -offset indent
+ctm_smail -m 60000 /wherever/it/is/src-cur.0032.gz src-guys
+.Ed
+.Pp
+メールボックスの各
+.Nm ctm-mail
+メッセージをデコードして、それらを完全なデルタに組み立て、そして
+出来上がったデルタやそこらに転がっているデルタはどれも、
+以下のように適用出来ます:
+.Bd -literal -offset indent
+ctm_rmail -p ~/pieces -d ~/deltas -b /usr/ctm-src-cur $MAIL
+.Ed
+.Pp
+(
+.Nm ctm_rmail
+はメッセージを削除しないので注意して下さい。
+削除には どんなメールリーダでも使用できます。)
+.Pp
+.Em receiver-dude
+という名前の自動的にデコードとデルタの組み立てを行うけれども、
+それらの適用は行わないようなメールエイリアスは、以下の行を
+.Pa /etc/aliases
+ファイルに入れる事で作成可能です (
+.Pa /ctm/tmp
+と
+.Pa /ctm/deltas
+ディレクトリ そして
+.Pa /ctm/log
+ファイルが
+.Em daemon
+ユーザか
+.Em wheel
+グループで書き込み可能な事を仮定しています) :
+.Bd -literal -offset indent
+receiver-dude: "|ctm_rmail -p /ctm/tmp -d /ctm/deltas -l /ctm/log"
+owner-receiver-dude: real_dude@wherever.you.like
+.Ed
+.Pp
+2 行目は、失敗した場合にそれを通常のメールボックスか、または
+どこか好きな所へ転送するためにあります。
+.Pp
+集められた全デルタを適用して、適用したものを削除するには以下のように
+します:
+.Bd -literal -offset indent
+ctm_rmail -D -d /ctm/deltas -b /ctm/src-cur -l /ctm/apply.log
+.Ed
+.Pp
+柔軟性を最大限生かすためには、この
+.Xr procmail
+スクリプトからの引用の利用を考えてみて下さい:
+.Bd -literal -offset indent
+PATH=$HOME/bin:$PATH
+
+:0 w
+* ^Subject: ctm-mail cvs-cur
+| ctm_incoming
+.Ed
+.Pp
+以下のシェルスクリプト
+.Pa ~/bin/ctm_incoming
+と一緒に使います:
+.Bd -literal -offset indent
+#! /bin/sh
+PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
+export PATH
+
+cd $HOME/ctm && ctm_rmail -f -p pieces -d deltas -l log -b /ctm
+.Ed
+.Pp
+これは全部の
+.Xr ctm
+デルタを
+.Pa ~/ctm/deltas
+に置き、それらを
+.Pa /ctm
+内のツリーに適用し、失敗したものは、すべてあなたの通常の
+メールボックスに落します。
+.Pa ctm_incoming
+での
+.Ev PATH
+の操作は、このサンプルを取って来た (FreeBSD でない) マシンで
+.Nm ctm_rmail
+から
+.Xr ctm
+の実行を可能にするためのものです。
+.Sh セキュリティ
+自動的にメールを取ってファイルツリーへのパッチプログラムに
+渡している場合、あなたのシステムへの鍵をハッカーに手渡していると
+考えるかも知れません。幸い、損害を起こす窓はとても小さいのです。
+.Nm ctm_rmail
+は、
+(デルタ名中の いかなる
+.Dq /
+文字も信用しないことによって)
+与えられたディレクトリのみにしか書き込まないように注意しています。
+そして最新の
+.Xr ctm
+では操作するファイルに絶対パス名と
+.Dq \&\.\.
+を許可していないので、最悪でも失われる可能性のあるのは
+(デルタから復元できる) 二、三のソースツリーのファイルだけなのです。
+.Xr ctm
+はファイルにさわる前に
+.Xr md5
+によるチェックサムが合致する事を要求するので、ソースの受信者だけが
+偽造したデルタを生成できる可能性を持ち、そして そういう人達が
+そんなことを考えるはずもありません! :-)
+.Pp
+この可能性さえも暗号化された署名で取り除く事が可能です。
+将来の強化の可能性は、
+.Nm PGP
+を使った安全なラッパーの提供があります。
+.\" This next request is for sections 1, 6, 7 & 8 only
+.Sh 環境変数
+デルタを適用するのならば
+.Xr ctm 1
+と
+.Xr gunzip 1
+が
+.Ev PATH
+に含まれていなければなりません。
+.Sh 関連ファイル
+.Bl -tag -width indent
+.It Pa QUEUEDIR/*
+メールメッセージとしてエンコードされて、メーリングリストに
+送信されるのを待っているデルタのかけら。
+.It Pa PIECEDIR/*
+残りのかけらの到着を待っているデルタのかけら。
+.It Pa DELTADIR/*
+完成したデルタ。
+.It Pa BASEDIR/.ctm_status
+このソースツリーに次に適用されるべきデルタの名前と番号を含むファイル。
+.\" This next request is for sections 1, 6, 7 & 8 only
+.\" (command return values (to shell) and fprintf/stderr type diagnostics)
+.Sh 診断
+.Nm ctm_smail ,
+.Nm ctm_dequeue ,
+.Nm ctm_rmail
+は正常に終了するとステータスとして 0 を、何らかの障害が
+あった場合は 1 を返します。
+.Nm ctm_rmail
+は、メールの配送プログラムから呼ばれる事を想定しています。そして
+そのため入力されたメールメッセージが (送信者にではなく、
+なるべく あなたの通常のメールドロップに) 返送されるべき状態に
+なった時にのみ障害を通知するようになっています。
+いいかえれば、完成したデルタを
+.Xr ctm
+で適用する際に発生した障害はメールを返送する程に重要なエラーでは
+ないと判断されて、
+.Nm ctm_rmail
+は終了ステータスとして 0 を返すということです。
+.Pp
+通常の操作では、
+.Nm ctm_smail
+は以下のようなメッセージで報告します:
+.Bd -literal -offset indent
+ctm_smail: src-cur.0250.gz 1/2 sent to src-guys
+.Ed
+.Pp
+または、キューに入れたなら、
+.Bd -literal -offset indent
+ctm_smail: src-cur.0250.gz 1/2 queued for src-guys
+.Ed
+.Pp
+.Nm ctm_dequeue
+は以下のようなメッセージで報告します:
+.Bd -literal -offset indent
+ctm_dequeue: src-cur.0250.gz 1/2 sent
+.Ed
+.Pp
+.Nm ctm_rmail
+は以下のようなメッセージで報告します:
+.Bd -literal -offset indent
+ctm_rmail: src-cur.0250.gz 1/2 stored
+ctm_rmail: src-cur.0250.gz 2/2 stored
+ctm_rmail: src-cur.0250.gz complete
+.Ed
+.Pp
+もし入力ファイルのいずれもが正しいデルタのかけらを含んでいないと、
+.Nm ctm_rmail
+は以下のように報告します:
+.Bd -literal -offset indent
+ctm_rmail: message contains no delta
+.Ed
+.sp \n(Ppu
+そして終了ステータスとして 1 を返します。もしメールフィルタが
+当てにならないのなら、これを使って気まぐれなメッセージを
+リダイレクトして本当のメールボックスに入れる事ができます。
+.Pp
+これらのメッセージは
+.Em stderr
+かログファイルに出力されます。
+.Xr ctm
+からのメッセージも同様にここに現れます。
+エラーメッセージは それ自身が説明的であるべきです。
+.\" The next request is for sections 2 and 3 error and signal handling only.
+.\" .Sh ERRORS
+.Sh 関連項目
+.Xr ctm 1 ,
+.Xr ctm 5
+.\" .Sh STANDARDS
+.\" .Sh HISTORY
+.Sh 作者
+Stephen McKay <mckay@FreeBSD.org>
+.\" .Sh BUGS
+.\" Gosh! No bugs here!
+.\" This message brought to you by the Coalition for More Humour in Man Pages.
+.\"
+.\" %Id: ctm_rmail.1,v 1.7.2.1 1996/12/17 14:07:51 mckay Exp %
+.Sh 日本語訳
+野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳
diff --git a/ja/man/man1/cu.1 b/ja/man/man1/cu.1
new file mode 100644
index 0000000000..6b7ea49a19
--- /dev/null
+++ b/ja/man/man1/cu.1
@@ -0,0 +1,325 @@
+''' %Id: cu.1,v 1.1 1993/08/04 19:31:53 jtc Exp %
+.\" jpman %Id: cu.1,v 1.2 1997/03/28 10:54:42 mutoh Stab %
+.TH cu 1 "Taylor UUCP 1.06"
+.SH 名称
+cu \- 別のマシンと接続する
+.SH 書式
+.B cu
+[ options ] [ system | phone | "dir" ]
+.SH 解説
+.I cu
+コマンドは、他のシステムを呼び出し、ダイヤルイン端末として働きます。
+本コマンドは、
+エラーチェックを行わない、
+簡単なファイル転送プログラムとしても使用できます。
+
+.I cu
+は、1 つの引数を、オプションとともに指定可能です。引数として指定する
+文字列が "dir" の場合には、cu はポートとの直接接続を行ないます。
+本オプションは、ユーザがポートへのライトアクセスを行なう場合にのみ
+使用され、通常はモデム等の設定のために用いられます。
+
+引数が数字の場合には、その引数は電話番号として解釈されます。そうで
+ない場合には、その引数は呼びだすシステム名として解釈されます。
+.B \-z
+または
+.B \-\-system
+オプションは、数字で始まるシステム名を引数で指定する場合に指定しなけ
+ればならないものであり、
+.B \-c
+または
+.B \-\-phone
+オプションは、数字以外の記号で始まる電話番号を引数で指定する場合に指
+定しなければなりません。
+
+.I cu
+は、UUCP設定ファイルに記述されたポートを用います。もし単にシステム名
+だけが引数で与えられた場合、そのシステムへの発呼に最も適したポートが
+選ばれます。
+.B \-p,\-\-port,\-l,\-\-line,\-s
+や
+.B \-\-speed
+オプションが指定された場合、ポート選択を制御することが可能です。
+
+リモートシステムとの間でコネクションが設定された場合、
+.I cu
+は 2 プロセスを fork します。1 プロセスは、ポートからのデータ読みだしと
+端末へのデータ書き込みを行ない、もう 1 プロセスは、端末からのデータ読み
+出しとポートへのデータ書き込みを受け持ちます。
+
+.I cu
+は、通信中に使用可能なコマンドがあります。
+それらのコマンドはすべて、エスケープ文字から始まります。
+エスケープ文字は、デフォルトでは
+.B ~
+(チルダ)です。エスケープ文字は、行頭において入力された場合にのみ認識
+されます。エスケープ文字を行頭に含むデータをリモートホストに送り
+たい場合には、当該エスケープ文字を 2 回入力しなければなりません。全
+てのコマンドは、1 文字か、もしくは
+.B %
+文字(パーセント記号)に続く複数文字です。
+
+.I cu
+では、以下のコマンドを使用できます。
+
+.TP 5
+.B ~.
+通信を終了します。
+.TP 5
+.B ~! command
+シェル経由でコマンドを実行します。コマンドが指定されない場合には、
+シェルが起動されます。
+.TP 5
+.B ~$ command
+コマンドを起動します。その結果、標準出力に出力されたデータを、リ
+モートシステムに送ります。
+.TP 5
+.B ~| command
+コマンドを起動します。リモートシステムからの出力
+データをこのコマンドの標準入力とします。
+.TP 5
+.B ~+ command
+コマンドを起動します。リモートシステムからの出力
+データをこのコマンドの標準入力とします。そして、コマンドから標準出力に出力さ
+れたデータを、リモートシステムに送ります。
+.TP 5
+.B ~#, ~%break
+可能であればブレーク信号を送ります。
+.TP 5
+.B ~c directory, ~%cd directory
+ローカルディレクトリを変更します。
+.TP 5
+.B ~> file
+ファイルをリモートシステムに送ります。本コマンドは、ファイルを通信路を
+経由して、ファイルをダンプするのに用いられます。この場合、リモートシス
+テムがこの動作を想定して動作しているものとみなして動作しますので、注意
+して下さい。
+.TP 5
+.B ~<
+リモートシステムからファイルを受信します。このコマンドを実行すると、
+.I cu
+コマンドは、ローカルファイル名と、ファイル転送のためにリモート側で実
+行すべきコマンドの入力を促します。本コマンドは、
+.B eofread
+変数で指定される文字を受信するまでデータ受信を継続します。
+.TP 5
+.B ~p from to, ~%put from to
+ファイルをリモート Unix システムに送信します。本コマンドは、リモート
+システムがファイルを受信するために必要なコマンドを自動的に起動します。
+.TP 5
+.B ~t from to, ~%take from to
+リモート Unix システムから、ファイルを取得します。本コマンドは、リモート
+システムからファイルを送信するために必要なコマンドを自動的に起動します。
+.TP 5
+.B ~s variable value
+.I cu
+の変数を、指定した値に設定します。値が指定されなかった場合、変数は
+.B true
+に設定されます。
+.TP 5
+.B ~! variable
+.I cu
+の変数を
+.B false
+に設定します。
+.TP 5
+.B ~z
+cu セッションをサスペンドします。この機能は、そんなに多くのシステムで
+サポートされているわけではありません。
+^Z によってジョブをサスペンドできるシステムでは、
+.B ~^Z
+も、セッションをサスペンドします。
+.TP 5
+.B ~%nostop
+XON/XOFF 制御を無効にします。
+.TP 5
+.B ~%stop
+XON/XOFF 制御を有効にします。
+.TP 5
+.B ~v
+全ての変数と、その変数に設定された値を表示します。
+.TP 5
+.B ~?
+使用可能なすべてのコマンドを表示します。
+
+.I cu
+は、いろんな変数を備えています。これらの環境変数一覧は、
+.B ~v
+コマンドを用いて表示することができ、
+.B ~s
+もしくは
+.B ~!
+コマンドを用いて設定することが可能です。
+
+.TP 5
+.B escape
+エスケープ文字。初期値は
+.B ~
+(チルダ)です。
+.TP 5
+.B delay
+この変数が true の場合には、
+.I cu
+はエスケープ文字を受信してからローカルシステム名を出力するまでに
+1 秒のウェイトが入ります。デフォルトでは true です。
+.TP 5
+.B eol
+行末文字として認識される文字の一覧を表示します。エスケープ文字は
+以下のいずれかが現れた後にしか認識されません。デフォルトでは、
+キャリッジリターン
+および、^U, ^C, ^O, ^D, ^S, ^Q, ^R の各文字です。
+.TP 5
+.B binary
+ファイルを送信する時に、バイナリデータを転送するかしないかを設定します。
+本変数が false の場合には、ファイル中のニューライン記号はすべて、キャリッ
+ジリターンに変換されます。
+デフォルトでは false です。
+.TP 5
+.B binary-prefix
+.B binary
+変数が true の状態でファイル転送を行う時に、
+バイナリ文字を送る前に使われる文字列の設定を決めます。
+デフォルトでは ^V に設定されます。
+.TP 5
+.B echo-check
+リモートシステムのエコーバックをチェックすることで、ファイル転送のチェ
+ックをするかどうか決めます。しかし、あまりちゃんと動かないでしょう。
+デフォルトでは false です。
+.TP 5
+.B echonl
+ファイル中の1行を送信した後に検出しようとする文字を設定します。
+デフォルトでは、キャリッジリターンです。
+.TP 5
+.B timeout
+エコーバックもしくは
+.B echonl
+文字の検出をタイムアウトとする時間を秒単位で設定します。
+デフォルトでは 30 です。
+.TP 5
+.B kill
+エコーチェックが失敗した場合に、1 行削除に使う文字を設定します。
+デフォルトでは ^U です。
+.TP 5
+.B resend
+エコーチェックが失敗しつづけた場合に、1 行を再送する回数を設定します。
+デフォルトでは 10 です。
+.TP 5
+.B eofwrite
+.B ~>
+コマンドを用いてファイルを送信し終った場合に、最後に送信する文字列を
+設定します。デフォルトでは、^D です。
+.TP 5
+.B eofread
+.B ~<
+コマンドを用いてファイルを受信する場合に、検出する文字列を設定します。
+デフォルトでは $ です。この文字列は、典型的なシェルプロンプトです。
+.TP 5
+.B verbose
+ファイル転送時に、転送情報を表示するかどうか設定します。デフォルトで
+は true です。
+.SH オプション
+.I cu.
+コマンドでは、以下のオプションが指定可能です。
+.TP 5
+.B \-e, \-\-parity=even
+偶数パリティを用います。
+.TP 5
+.B \-o, \-\-parity=odd
+奇数パリティを用います。
+.TP 5
+.B \-\-parity=none
+パリティは用いません。
+.B \-e
+と
+.B \-o
+が同時に指定された場合もパリティなしになります。
+.TP 5
+.B \-h, \-\-halfduplex
+文字のローカルエコーを許可します(半二重モード)。
+.TP 5
+.B \-\-nostop
+XON/XOFF 制御を無効にします。デフォルトでは有効です。
+.TP 5
+.B \-E char, \-\-escape char
+エスケープ文字を指定します。初期値は
+.B ~
+(チルダ)です。
+.B \-E ''
+とすることにより、エスケープ文字を無視できます。
+.TP 5
+.B \-z system, \-\-system system
+発呼先のシステムを指定します。
+.TP 5
+.B \-c phone-number, \-\-phone phone-number
+発呼先の電話番号を指定します。
+.TP 5
+.B \-p port, \-\-port port
+使用するポートを指定します。
+.TP 5
+.B \-a port
+.B \-\-port port
+と同じです。
+.TP 5
+.B \-l line, \-\-line line
+使用する回線を、デバイス名で指定します。本オプションは、UUCP 設定ファイル
+に記述されていないポートを用いて通信を行なう場合に使用されます。当該デバ
+イスには、write パーミッションが許可されていることが必要になります。
+.TP 5
+.B \-s speed, \-\-speed speed
+通信速度(ボーレート)を設定します。
+.TP 5
+.B \-#
+# に位置するのは数字です。
+.B \-\-speed #
+と同じです。
+.TP 5
+.B \-n, \-\-prompt
+使用する電話番号の問い合わせプロンプトを出力します。
+.TP 5
+.B \-d
+デバッグモードに入ります。これは
+.B \-\-debug all
+と同様です。
+.TP 5
+.B \-x type, \-\-debug type
+特定のデバッグタイプを有効にします。タイプとしては、abnormal, chat,
+handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
+outgoing があります。
+.I cu
+では、abnormal, chat, handshake, port, config, incoming, outgoing
+が意味を持ちます。
+
+本オプションでは、コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
+.B \-\-debug
+オプションは、1回のコマンド起動で複数回指定可能です。
+また、タイプとして数字を指定することも可能です。例えば、
+.B \-\-debug 2
+という指定は、
+.B \-\-debug abnormal,chat
+と同じ意味です。
+.B \-\-debug all
+は、すべてのデバッグオプションが指定されたのと同じです。
+.TP 5
+.B \-I file, \-\-config file
+使用するコンフィギュレーションファイルの指定を行ないます。ただし、本オ
+プションは、
+.I cu
+のコンパイル条件によっては使用できないことがあります。
+.TP 5
+.B \-v, \-\-version
+バージョンを表示し、終了します.
+.TP 5
+.B \-\-help
+ヘルプメッセージを表示し、終了します。
+.SH バグ
+本プログラムは、あまり良好に動作しません。
+.SH 関連ファイル
+ファイル名は、コンパイル環境や設定ファイルの内容によって変わることが
+あります。ここに挙げるのは、一例でしかありません。
+
+.br
+/etc/uucp/config - 設定ファイル
+.SH 作者
+Ian Lance Taylor
+<ian@airs.com>
+
diff --git a/ja/man/man1/cursor.1 b/ja/man/man1/cursor.1
new file mode 100644
index 0000000000..5829a96724
--- /dev/null
+++ b/ja/man/man1/cursor.1
@@ -0,0 +1,74 @@
+.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Hellmuth Michaelis
+.\" 4. The name authors may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" @(#)cursor.1, 3.20, Last Edit-Date: [Mon Dec 19 20:30:40 1994]
+.\" jpman %Id: cursor.1,v 1.3 1997/07/22 17:10:13 horikawa Stab %
+.\"
+.Dd December 19, 1994
+.Dt CURSOR 1
+.Sh 名称
+.Nm cursor
+.Nd pcvt VT220 ビデオドライバでカーソルの形状を設定する。
+.Sh 書式
+.Nm cursor
+.Op Fl d Ar device
+.Op Fl n Ar screenno
+.Op Fl s Ar lineno
+.Op Fl e Ar lineno
+.Sh 解説
+.Nm cursor
+ユーティリティは、上述のドライバの仮想画面でカーソル形状を設定します。
+.Pp
+オプションは以下の通りです。
+.Bl -tag -width Ds
+.It Fl d
+カーソルの形状を設定するデバイスを指定します。
+.It Fl n
+次に続く変数で、仮想画面の番号を設定します。変数が設定されていない場合、
+現在の仮想端末か、 -d 変数での画面が仮定されます。
+.It Fl s
+カーソルが始まる(上の)スキャンラインを設定します。
+.It Fl e
+カーソルが終る(下の)スキャンラインを設定します。
+.El
+.Pp
+変数は現在使用中の文字フォントの大きさに基づいて調整される必要があることに
+注意してください。
+現在 8, 14, 16 のスキャンラインの EGA, VGA ボードだけが
+サポートされています。
+.Sh 使用例
+コマンド
+.Dq Li cursor -s3 -e10
+は、14 ライン VGA 画面の現在の仮想画面で、カーソルを四角形にします。
+.Sh バグ
+知られているバグはありません。
+.Sh 関連項目
+.Xr loadfont 1 ,
+.Xr scon 1 ,
+.Xr pcvt 4
diff --git a/ja/man/man1/cut.1 b/ja/man/man1/cut.1
new file mode 100644
index 0000000000..44ab0bdae3
--- /dev/null
+++ b/ja/man/man1/cut.1
@@ -0,0 +1,113 @@
+.\" %NetBSD: cut.1,v 1.5 1995/03/26 20:51:25 glass Exp %
+.\"
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)cut.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: cut.1,v 1.2 1997/03/29 02:27:38 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt CUT 1
+.Os
+.Sh 名称
+.Nm cut
+.Nd ファイルの各行の、指定した部分を取り出す
+.Sh 書式
+.Nm cut
+.Fl c Ar list
+.Ar
+.Nm cut
+.Fl f Ar list
+.Op Fl d Ar delim
+.Op Fl s
+.Ar
+.Sh 解説
+.Nm cut
+は、
+.Ar file
+が指定されていればそのファイルから、指定されていなければ標準入力から
+行を読み込み、
+.Ar list
+の指定に従って選択した部分を取り出して標準出力に出力します。
+.Ar list
+には、カラム番号、もしくはフィールド番号を指定します。
+フィールドは特定の文字で区切られた領域です。
+カラム番号およびフィールド番号は 1 から始まります。
+.\" フィールド番号が 1 から始まるという記述はオリジナルには無いですが、
+.\" 分かりやすくするために補足しました。
+.\" By horikawa@isrd.hitachi.co.jp (Nov 9 1996)
+.Pp
+.Ar list
+には、コンマ (,) もしくは空白で区切られた
+複数の増加方向の番号もしくは番号範囲を指定することができます。
+番号範囲は、1 番目の番号、ダッシュ
+.Pq Li \-
+、2 番目の番号の 3 つの組から構成され、
+1 番目の番号から 2 番目の番号までの複数のフィールドもしくは複数のカラムを
+選択します。
+範囲には 1 番目の番号および 2 番目の番号も含まれます。
+番号もしくは番号範囲の前にダッシュをつけた場合には、
+1 番目の番号までのすべてのフィールドもしくはカラムも選択します。
+番号もしくは番号範囲の後にダッシュをつけた場合には、
+最後の番号以降のすべてのフィールドもしくはカラムも選択します。
+番号もしくは番号範囲は、
+繰り返しても、重なっても、いかなる順番であっても構いません。
+また、入力行に指定のフィールドやカラムがない場合、
+エラーとはなりません。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Fl
+.It Fl c Ar list
+文字単位で指定します。
+.It Fl d Ar delim
+フィールドを区切る文字として
+.Ar delim
+を使用します。デフォルトではタブが使用
+されます。
+.It Fl f Ar list
+タブで区切られたフィールド単位で指定します。
+出力フィールドはタブで区切られます。
+.It Fl s
+区切り文字のない行を出力しないようにします。このオプションが
+指定されてない場合、区切り文字がない行はそのまま出力されます。
+.El
+.Pp
+成功した場合は 0 を、エラーが起きた場合は 1 を返します。
+.Sh 関連項目
+.Xr paste 1
+.Sh 標準
+.Nm cut
+は
+.St -p1003.2
+準拠です。
diff --git a/ja/man/man1/cvs.1 b/ja/man/man1/cvs.1
new file mode 100644
index 0000000000..82504c8103
--- /dev/null
+++ b/ja/man/man1/cvs.1
@@ -0,0 +1,2121 @@
+.de Id
+.\" jpman %Id: cvs.1,v 1.4 1997/09/23 13:05:40 jsakai Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: cvs.1,v 1.15 1996/11/30 19:49:56 kingdon Exp %
+.TH CVS 1 "\*(Dt"
+.\" Full space in nroff; half space in troff
+.de SP
+.if n .sp
+.if t .sp .5
+..
+.\" quoted command
+.de `
+.RB ` "\|\\$1\|" '\\$2
+..
+.SH "名称"
+cvs \- コンカレント・バージョン・システム
+.SH "注記"
+このマニュアルページは
+.B cvs
+の機能のまとめですが、より詳細な文書に関しては
+(このマニュアルページの関連項目の節に記述してあるように)
+cvs.texinfo を参照して下さい。
+.SH "書式"
+.TP
+\fBcvs\fP [ \fIcvs_options\fP ]
+.I cvs_command
+[
+.I command_options
+] [
+.I command_args
+]
+.SH "解説"
+.IX "revision control system" "\fLcvs\fR"
+.IX cvs "" "\fLcvs\fP \- concurrent versions system"
+.IX "concurrent versions system \- \fLcvs\fP"
+.IX "release control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system"
+.IX "source control system" "cvs command" "" "\fLcvs\fP \- concurrent versions system"
+.IX revisions "cvs command" "" "\fLcvs\fP \- source control"
+.B cvs
+は
+.BR rcs ( 1 )
+リビジョン管理システムのフロントエンドで、
+リビジョン管理の概念を複数ファイルを集めた単一ディレクトリから
+リビジョン管理される複数ファイルを含む複数の階層構造を持つ
+ディレクトリへと拡張します。
+それらのディレクトリとファイルをひとまとまりにしてソフトウェアリリースを
+形成することが可能になります。
+.B cvs
+は、それらのソフトウェアリリースの管理と複数のソフトウェア開発者が
+並行してソースファイルを編集する場合の制御に必要な機能を提供するものです。
+.SP
+.B cvs
+はマスターソースの単一のコピーを保持します。
+このコピーはソースの``リポジトリ''と呼ばれます。 これは、以前の
+ソフトウェアリリースをいつでもシンボリックなリビジョンタグか、
+または過去の日付のいずれかに基づいて取り出せるようにするための
+全ての情報を含みます。
+.SH "不可欠なコマンド"
+.B cvs
+はバラエティに富んだコマンドを提供します (書式説明における \fIcvs_command\fP)。
+また分散環境での多様なソース管理要求を満たすために、
+これらのコマンドの多くにはいくつものオプションが用意されています。
+しかしながら、
+.BR cvs で便利に仕事をするためにそれぞれの細部に渡ってマスタする
+必要はありません。
+実際、ソースリポジトリを使う (そしてそれに貢献する) には 5 つの
+コマンドで充分です。
+.TP
+\fBcvs checkout\fP \fImodules\fP\|.\|.\|.
+大部分の \fBcvs\fP での作業のために必要な準備: \fImodules\fP
+(名前をつけたソースの集合。 ここにはソースリポジトリへの相対パスを
+使うこともできます) のソースの私的なコピーを作成します。
+他人の作業に邪魔されることなく このコピーで作業することができます。
+少なくとも 1 レベルのサブディレクトリが必ず作成されます。
+.TP
+.B cvs update
+他の開発者がリポジトリのソースに行った変更を あなたのコピーに
+取り込みたいと思ったときに、あなたの私的なソースのディレクトリの
+\fI中で\fP このコマンドを実行して下さい。
+.TP
+\fBcvs add\fP \fIfile\fP\|.\|.\|.
+あなたの作業ディレクトリの \fBcvs\fP のレコードに新しいファイルを
+載せるには、このコマンドを使います。そのファイルは次にあなたが
+.` "cvs commit" を実行した時にリポジトリに追加されます。
+注意:
+新しいソースをソースリポジトリに登録するには
+.` "cvs import"
+コマンドを使って下さい。
+.` "cvs add"
+はすでにチェックアウトされているモジュールに新しいファイルを
+追加するときにのみ使います。
+.TP
+\fBcvs remove\fP \fIfile\fP\|.\|.\|.
+(指定するファイルを消した後に) リポジトリからファイルを
+消したいことを宣言する場合に、このコマンドを使います。
+.` "cvs commit" を実行するまで削除は他へは影響しません。
+.TP
+\fBcvs commit\fP \fIfile\fP\|.\|.\|.
+あなたの変更をソースリポジトリに取り込むことで、他の開発者へ
+変更結果を ``公開'' したいときに、このコマンドを使います。
+.SH "オプション"
+.B cvs
+のコマンドラインには
+.IR cvs_options を含めることができ、
+これは
+.B cvs
+プログラム全体に適用されます。 ひとつの
+.IR cvs_command がソースリポジトリへの特定の動作を
+指定します。 そして
+.I cvs_command
+の動作を完全に指定するために
+.I command_options
+と
+.I command_arguments
+とを含めることができます。
+.SP
+.I 警告:
+.IR cvs_command とオプションの相対的な位置関係に正確さを
+期さなければなりません。
+なぜなら同じオプションが
+.I cvs_options
+の位置 (
+.B cvs
+コマンドの左側) と
+.I command_options
+の位置 (
+.B cvs
+コマンドの右側) のいずれに置かれるかで異なる意味を持つ可能性が
+あるためです。
+.SP
+.IR cvs_command を省略できる状況が 2 つだけあります:
+.` "cvs \-H"
+または
+.` "cvs --help"
+は利用可能なコマンドの一覧を引き出します、そして
+.` "cvs \-v"
+または
+.` "cvs --version"
+は \fBcvs\fP それ自身のバージョン情報を表示します。
+.SP
+.SH "CVS OPTIONS"
+リリース 1.6 現在、
+.B cvs
+は、短いオプションと共に
+.SM GNU
+スタイルの長いオプションもサポートします。
+現在はまだ 2、3の長いオプションしかサポートされておらず、
+それらは同じ意味を持つ短いオプションの後ろにかぎ括弧で囲んで
+示されています。
+.SP
+以下のオプションは
+.B cvs
+プログラムの全体的な制御に使います:
+.TP
+.B \-H [ --help ]
+指定された
+.I cvs_command
+の用法を表示します (が、コマンドの実行は行いません)。コマンド名を
+指定しないと
+.` "cvs \-H"
+は利用可能な全コマンドの要約を表示します。
+.TP
+.B \-Q
+はコマンドを
+.I 真に
+寡黙にします。 コマンドは深刻な問題についてのみ出力を行います。
+.TP
+.B \-q
+はコマンドをいくぶん静かにします。 サブディレクトリを再帰的に
+移動する際の報告のような通知的なメッセージが抑制されます。
+.TP
+\fB\-b\fP \fIbindir\fP
+.SM RCS
+プログラムが置かれているディレクトリとして
+.I bindir
+を使います。
+環境変数
+.SM RCSBIN
+の設定より優先されます。
+これは絶対パス名で指定しなければなりません。
+.TP
+\fB\-d\fP \fICVS_root_directory\fP
+マスタとなる
+.SM RCS
+ソースリポジトリのルートディレクトリへのパス名として
+.I CVS_root_directory
+を使います。
+環境変数
+.SM CVSROOT
+の設定より優先されます。
+これは絶対パスで指定しなければなりません。
+.TP
+\fB\-e\fP \fIeditor\fP
+ログ情報の入力においてエディタとして
+.I editor
+を使います。
+環境変数
+.SM CVSEDITOR
+と
+.SM EDITOR
+の設定より優先されます。
+.TP
+.B \-f
+.B cvs
+スタートアップファイル (\fI~/.cvsrc\fP) を読み込みません。
+.TP
+.B \-l
+コマンドヒストリに
+.I cvs_command
+のログを取りません (しかし実行はします)。コマンドヒストリに関する
+情報については
+.B history
+コマンドの説明を参照して下さい。
+.TP
+.B \-n
+いかなるファイルも変更しません。
+.IR cvs_command を実行しようとしますが、
+経過報告のみを行います。 ファイルへの削除、更新やマージのいずれも
+行いませんし、新しいファイルも作成しません。
+.TP
+.B \-t
+プログラムの実行をトレースします。
+.B cvs
+の動作のステップを示すメッセージを表示します。
+不慣れなコマンドの影響の可能性を調べるのに
+.B \-n
+との組合せで特に有用です。
+.TP
+.B \-r
+新しい作業ファイルを読み出し専用にします。
+環境変数
+.SM CVSREAD
+がセットされている場合と同じ効果を持ちます。
+.TP
+.B \-v [ --version ]
+.BR cvs
+のバージョンと著作権情報を表示します。
+.TP
+.B \-w
+新しい作業ファイルを読み書き可能にします (デフォルトです)。
+環境変数
+.SM CVSREAD
+がセットされていても無視します。
+.TP
+.B \-x
+クライアントとサーバの間の通信を全て暗号化します。
+現在では、Kerberos コネクション使用時のみ使用可能です。
+.TP
+\fB\-z\fP \fIcompression\-level\fP
+ファイルをネットワーク経由でやりとりする際、
+圧縮レベル \fIcompression\-level\fP で
+.B gzip
+を使い、やりとりするデータの圧縮と伸長を行います。リンクの両端で
+.SM GNU
+.B gzip
+プログラムがその時点でのサーチパス中に存在する必要があります。
+.SH "使用法"
+.` "cvs \-H" で全般のヘルプを要求する場合を除き、
+行いたい特定のリリース制御機能を選択するために、
+.B cvs
+に対して一つの
+.I cvs_command
+を指定しなければなりません。
+各
+.B cvs
+コマンドはそれ自身のオプションと引数の集まりを受け付けます。
+しかしながら、多くのオプションが複数のコマンドに渡って利用可能です。
+.B \-H
+オプションをコマンドと共に指定することで、
+各コマンドの使用法のまとめを表示することができます。
+.SH "CVS のスタートアップファイル"
+通常、CVS は起動時にユーザのホームディレクトリから
+.I .cvsrc
+というファイルを読み込みます。この起動時の手続きは
+.B \-f
+フラグで止めることができます。
+.SP
+.I .cvsrc
+ファイルには CVS コマンドに引数リストを付けて、1 行に 1 つの
+コマンドを並べます。例えば \fI.cvsrc\fP に以下のように書くと:
+.SP
+diff \-c
+.SP
+.` "cvs diff"
+コマンドには常にコマンドラインで指定されたオプションに加えて
+\-c オプションが渡されるという意味になります (この場合
+.` "cvs diff"
+を実行すると 全てにおいて context diff 形式が生成されるという
+効果を持ちます)。
+.SH "CVS COMMAND のまとめ"
+以下は全
+.B cvs
+コマンドの解説を要約したものです:
+.TP
+.B add
+新しいファイルまたはディレクトリをリポジトリに追加します。
+ファイルについては追加を同ファイルに対する
+.` "cvs commit"
+が行われるまで待ちます。
+以前に
+.` "cvs checkout"
+を行うことで作成されたソースの中からのみ実行可能です。
+新しいソース階層の全体を
+.B cvs
+の制御下に置くには
+.` "cvs import"
+を使って下さい。
+(リポジトリを直接に変更するものではありません。
+作業ディレクトリを変更します。)
+.TP
+.B admin
+ソースリポジトリに対して
+.SM RCS
+の制御コマンドを実行します。(リポジトリを直接に変更します。
+作業ディレクトリを使用しますが変更は行いません。)
+.TP
+.B checkout
+編集作業のためのソースファイルの作業ディレクトリを作成します。
+(作業ディレクトリを生成または変更します。)
+.TP
+.B commit
+作業ディレクトリでの変更、追加、削除部分をソースリポジトリに
+反映します。(リポジトリを変更します。)
+.TP
+.B diff
+作業ディレクトリのファイルとソースリポジトリ、または
+ソースリポジトリ中の 2 つのリビジョン間の差分を表示します。
+(リポジトリ、作業ディレクトリのいずれも変更しません。)
+.TP
+.B export
+サイトからの出荷のための一揃いのソースファイルのコピーを用意します。
+.` "cvs checkout"
+と違い
+.B cvs
+管理のためのディレクトリが作られず (そしてそのため
+.` "cvs export" で作成されたディクトリから
+.` "cvs commit" を行うことはできません)、
+シンボリックタグが指定されなければなりません
+(リポジトリを変更しません。 作業ディレクトリに似たディレクトリを
+作成します)。
+.TP
+.B history
+ソースリポジトリの特定のファイルまたはディレクトリにあなたや
+他の人が実行した
+.B cvs
+コマンドを表示します。(リポジトリも作業ディレクトリも変更しません。)
+ヒストリログは
+.` "$CVSROOT/CVSROOT/history"
+ファイルが作成されることで有効になった場合にのみ記録されます。
+.BR cvs ( 5 )
+を参照して下さい。
+.TP
+.B import
+外部で行われた更新内容を ``ベンダ・ブランチ'' としてソースリポジトリに
+取り込みます。(リポジトリを変更します。)
+.TP
+.B log
+.SM RCS
+のログ情報を表示します。
+(リポジトリも作業ディレクトリも変更しません。)
+.TP
+.B rdiff
+リポジトリの中の 2つのリリースの間の差分の集合をパッチファイルとして
+用意します。(リポジトリも作業ディレクトリも変更しません。)
+.TP
+.B release
+.` "cvs checkout" をキャンセルし、
+全ての変更を捨て去ります。
+(作業ディレクトリを削除できます。 リポジトリは変更しません。)
+.TP
+.B remove
+ソースリポジトリからファイルを削除します、そのファイルに
+.` "cvs commit"
+が実行されるまで保留されます。(直接リポジトリには影響しません。
+作業ディレクトリを変更します.)
+.TP
+.B rtag
+ソースリポジトリの特定のリビジョンのファイルに明示的に
+シンボリックタグを指定します。
+.` "cvs tag" も参照して下さい。
+(リポジトリを直接変更します。 作業ディレクトリは必要なく また
+変更もしません.)
+.TP
+.B status
+現在のファイルの状態を表示します: 最新バージョン、作業ディレクトリの
+ファイルのバージョン、作業バージョンが編集されたかどうか、オプションで
+.SM RCS
+ファイル中のシンボリックタグ。(リポジトリ、作業ディレクトリとも
+変更しません。)
+.TP
+.B tag
+リポジトリ中のファイルにシンボリックタグを指定します。
+デフォルトでは、作業ディレクトリと最後に同期を取ったリビジョンに
+タグをつけます。
+(直接リポジトリを変更します。 作業ディレクトリを使いますが
+変更はしません。)
+.TP
+.B update
+リポジトリから変更を取り出して作業ディレクトリを最新状態にします。
+可能であればマージが自動で行われます。
+変更点が衝突しているために手動で解決しなければならない場合は、
+警告が表示されます。(作業ディレクトリを変更します。
+リポジトリは変更しません。)
+.SH "共通の COMMAND OPTIONS"
+この節では
+複数の
+.B cvs
+コマンドで使用できる
+.I command_options
+について説明します。必ずしも全てのコマンドがこれら全てのオプションを
+サポートしているわけではありません。 コマンドの各オプションは、それが
+意味を為すコマンドでのみサポートされます。しかしながら、
+コマンドがそれらのオプションのひとつを持つとき、
+他のコマンドでもそのオプションが同じ意味を持つと考えて差し支えありません。
+(個々のコマンドと共に列挙してある別のオプションは
+ある
+.B cvs
+コマンドと別のコマンドで異なる意味を持つかもしれません。)
+.I "注意:"
+.B history
+コマンドは例外です。
+このコマンドは、これら標準のオプションとも衝突するたくさんの
+オプションをサポートしています。
+.TP
+\fB\-D\fP \fIdate_spec\fP
+\fIdate_spec\fP 以前のものの中で最も最近のリビジョンを使います (単独の
+引数で、日時の表記は過去の日時を指定します)。
+下請けの
+.SM RCS
+の機能により
+.BR co ( 1 )
+に説明されているのと同様の多種多様な日時のフォーマットが
+サポートされますが、まったく同じというわけではありません。
+特定のタイムゾーンが指定されていなければ、\fIdate_spec\fP は
+ローカルタイムゾーンで解釈されます。
+ソースファイルの個人的なコピーを作るときに使うと、指定は ``sticky'' と
+なります。 つまり、\fB\-D\fP を使って作業ファイルを取り出すと、
+\fBcvs\fP は指定された日時を記録します。
+これは同じディレクトリでのその後の update で同じ日時を使うように
+するためです (これを明示的に無効にするよう指定していない場合に限ります。
+\fBupdate\fP コマンドの説明を参照して下さい)。
+.B \-D
+は
+.BR checkout ", " diff ", " history ", " export ", "
+.BR rdiff ", " rtag ", "
+.B update
+コマンドで有効です。
+有効な日時指定には以下のようなものがあります:
+.in +1i
+.ft B
+.nf
+1 month ago
+2 hours ago
+400000 seconds ago
+last year
+last Monday
+yesterday
+a fortnight ago
+3/31/92 10:00:07 PST
+January 23, 1987 10:05pm
+22:00 GMT
+.fi
+.ft P
+.in -1i
+.TP
+.B \-f
+\fBcvs\fP コマンドに特定の日時かタグを指定した場合、
+通常は指定したタグを含まない (または指定した日時に存在しなかった)
+ファイルを無視します。一致するタグまたは日時が存在しなくても
+ファイルを取り出したいときは \fB\-f\fP オプションを使います。
+(その場合、最も新しいバージョンが使われます。)
+.B \-f
+は以下のコマンドで使用できます:
+.BR checkout ", " export ", "
+.BR rdiff ", " rtag ", " update
+.TP
+.B \-H
+ヘルプ; そのコマンドで使用可能なオプションの説明を表示します。
+これは
+.I 全ての
+.B cvs
+コマンドでサポートされる唯一のオプションです。
+.TP
+\fB\-k\fP \fIkflag\fP
+デフォルトの
+.SM RCS
+のキーワード処理を変更します。
+.BR co ( 1 )
+に説明されている全ての
+.B \-k
+オプションが使用できます。\fB\-k\fP オプションは
+.BR add ", " checkout ", " diff ", " export ", "
+.BR rdiff ", " update
+コマンドで使用できます。
+ソースファイルの個人的なコピーを作成するときに使うと
+\fIkflag\fP の指定は ``sticky'' になります。 つまり、このオプションを
+\fBcheckout\fP か \fBupdate\fP コマンドで指定すると、
+\fBcvs\fP は指定した \fIkflag\fP をファイルに関連付け、
+他のものを指定するまで、以降の \fBupdate\fP コマンドでそれを使い続けます。
+.SP
+より有用な \fIkflag\fP としては \-ko と \-kb (バイナリファイル用、
+.SM RCS
+バージョン 5.7 以降でのみ利用可)、と \-kv があります。\-kv は
+.B export
+の際、どこか別のサイトで後に
+.B import
+されてもキーワード情報が残るようにしたい場合に有用です。
+.TP
+.B \-l
+ローカル; サブディレクトリを再帰的に処理するのではなく、
+現ディレクトリでのみ実行します。
+以下のコマンドで使用できます:
+.BR checkout ", " commit ", " diff ", "
+.BR export ", " remove ", " rdiff ", " rtag ", "
+.BR status ", " tag ", " update
+.I 注意:
+これは
+.B cvs
+コマンドの
+.I 左
+に指定することのできる、全体に作用する
+.` "cvs \-l"
+オプションとは違います!
+.TP
+.B \-n
+.BR checkout / commit / tag / update
+のいずれのプログラムも
+.I 実行しません。
+(プログラムはそれぞれの動作中にモジュールデータベースで
+実行することを指定される可能性があり、このオプションはこれを
+バイパスします。)
+.BR checkout ", " commit ", " export ", "
+.B rtag
+コマンドで利用できます。
+.I 警告:
+これは
+.B cvs
+コマンドの
+.I 左側
+に指定できる、全体に作用する
+.` "cvs \-n"
+オプションと同じではありません。
+.TP
+.B \-P
+.BR checkout " か " update
+によって更新されたことで空になった余分なディレクトリを
+取り除きます (すなわち削除します)。
+通常は、空のディレクトリ (リビジョン管理されたファイルを
+含まないもの) は残されます。
+.B \-P
+を指定すると、チェックアウトしたソースからそういったディレクトリを
+黙って削除します。
+これはリポジトリからはディレクトリを削除しません。あなたが
+チェックアウトしたコピーから削除するだけです。
+このオプションは
+.B \-r
+か
+.B \-D
+オプションが
+.BR checkout " と " export で指定された場合に暗黙のうちに
+指定されることに注意して下さい。
+.TP
+.B \-p
+リポジトリから取り出されたファイルを、カレントディレクトリに
+書き込むのではなく、標準出力へパイプします。
+.BR checkout " と " update
+コマンドで使用できます。
+.TP
+\fB\-r\fP \fItag\fP
+デフォルトの ``head'' リビジョンの代わりに引数
+.I tag
+で指定されたリビジョンを使います。
+\fBtag\fP と \fBrtag\fP コマンドで
+付けられた任意のタグと共に、常に 2つの特別なタグが使用できます:
+.` "HEAD"
+はリポジトリ中で最も新しい有効なバージョンを指し、
+そして
+.` "BASE"
+はカレントの作業ディレクトリに最後にチェックアウトした
+リビジョンを指します。
+.SP
+このオプションを
+.` "cvs checkout"
+か
+.` "cvs update"
+でファイルのコピーを作成するときに使うと、
+\fItag\fP の指定は ``sticky'' です: \fBcvs\fP は
+\fItag\fP を記憶して以降の \fBupdate\fP コマンドでも、他のものを
+指定するまで、それを使い続けます。
+.I tag
+としては
+.SM RCS
+スタイルのシンボリックまたは番号によるものが使用できます。
+.SM RCS
+ファイルが指定されたタグを含んでいないときに警告メッセージを抑止するため
+全体に作用する
+.B \-q
+オプションをコマンドオプション
+.B \-r
+と一緒に指定すると便利な場合が多くあります。
+.B \-r
+は
+.BR checkout ", " commit ", " diff ", "
+.BR history ", " export ", "
+.BR rdiff ", " rtag ", " update
+コマンドで使用できます。
+.I 警告:
+これは
+.B cvs
+コマンドの
+.I 左側
+に指定し、全体に作用する
+.` "cvs \-r"
+オプションと同じではありません。
+.SH "CVS COMMANDS"
+以下が (最終的な) 全
+.B cvs
+コマンドの詳細とそれぞれが受け付けるオプションです。
+各コマンドの最初のサマリ行の説明は 3 種類の事柄をまとめています:
+.TP 1i
+\ \ \ \ コマンドのオプションと引数
+特別なオプションが以下で説明されます。 共通のコマンドオプションは
+サマリ行にしか現れないかもしれません。
+.TP 1i
+\ \ \ \ 作業ディレクトリかリポジトリか?
+いくつかの \fBcvs\fP コマンドは実行に作業ディレクトリが必要です。
+いくつかはリポジトリが必要です。同様に、いくつかのコマンドは
+リポジトリを \fI変更し\fP 、いくつかは作業ディレクトリを変更し、
+いくつかは何の変更も行いません。
+.TP 1i
+\ \ \ \ 同義語
+多くのコマンドには同義語があります。
+同義語は正式な名前よりも覚えやすい (あるいはタイプしやすい) と
+感じることでしょう。
+.PP
+.TP
+\fBadd\fP [\fB\-k\fP \fIkflag\fP] [\fB\-m '\fP\fImessage\fP\fB'\fP] \fIfiles.\|.\|.\fP
+.I 以下が必要:
+リポジトリ、作業ディレクトリ。
+.br
+.I 以下を変更:
+作業ディレクトリ。
+.br
+.I 同義語:
+.B new
+.br
+.B add
+コマンドを使って
+.SM RCS
+ソースリポジトリに新しいファイルまたはディレクトリを作成します。
+.B add
+で指定されるファイルまたはディレクトリは、すでに
+カレントディレクトリ (
+.B checkout
+コマンドで作成されたディレクトリでなければなりません) に
+存在しなければなりません。
+新しいディレクトリ階層の全体をソースリポジトリに追加する
+(例えば、サードパーティのベンダから受け取ったファイル群のような) には、
+代わりに
+.` "cvs import"
+コマンドを使います。
+.SP
+.` "cvs add"
+の引数が直下のサブディレクトリを指しているなら、そのディレクトリが
+.SM RCS
+ソースリポジトリの現位置に作成され、必要な
+.B cvs
+管理ファイルが作業ディレクトリに作成されます。
+ディレクトリがすでにソースリポジトリに存在した場合でも、
+.` "cvs add"
+はあなたのバージョンのディレクトリに管理ファイルを作成します。
+これによって、あなたがソースを
+.B checkout
+した後に誰か他の人がディレクトリを作っていても
+.` "cvs add"
+でそのディレクトリをあなたの私的なソースに作成することが
+可能になります。以下のようにすることができます:
+.SP
+.in +1i
+.ft B
+.nf
+example% mkdir new_directory
+example% cvs add new_directory
+example% cvs update new_directory
+.fi
+.ft P
+.in -1i
+.SP
+.` "cvs update"
+を使った別のアプローチもあります:
+.SP
+.in +1i
+.ft B
+.nf
+example% cvs update -d new_directory
+.fi
+.ft P
+.in -1i
+.SP
+(新しく \fIできた\fP ディレクトリをあなたの作業ディレクトリに
+追加するには、おそらく
+.` "cvs checkout"
+か
+.` "cvs update -d" を使用する方が簡単でしょう。)
+.SP
+.` "cvs commit"
+で変更が恒久的なものとされるまで、追加されたファイルは
+.SM RCS
+ソースリポジトリには置かれません。
+.` "cvs remove"
+コマンドで削除されたファイルに対して
+.` "cvs add"
+を行うと、間で
+.` "cvs commit"
+コマンドが実行されていなければファイルが復活します。
+.SP
+新しいファイルを
+.` "cvs commit"
+で恒久的なものにするときに、いつものように、ログメッセージを指定する
+機会があります。もしファイルの
+.I 作成
+と対応するもう一つのログメッセージを指定したいならば
+(例えば、ファイルの目的を説明するなど)、
+.B add
+コマンドの
+.` "\-m \fImessage\fP"
+オプションで指定することができます。
+.SP
+.` "-k kflag"
+オプションで このファイルがチェックアウトされるときの
+デフォルトを指定できます。
+引数
+.` "kflag"
+は
+.SM RCS
+ファイルに記録されて
+.` "cvs admin"
+で変更することができます。
+展開された
+.SM RCS
+ID 文字列を持たないであろうバイナリをチェックインする場合には
+.` "-ko"
+を指定すると便利です。
+.TP
+\fBadmin\fP [\fIrcs-options\fP] \fIfiles.\|.\|.\fP
+.I 以下が必要:
+リポジトリ、作業ディレクトリ。
+.br
+.I 以下を変更:
+リポジトリ。
+.br
+.I 同義語:
+.B rcs
+.br
+これは
+.BR rcs ( 1 )
+で文書化されている
+.SM RCS
+の管理機構と対応する
+.B cvs
+のインタフェースです。
+.` "cvs admin"
+は その全てのオプションと引数を単純に
+.B rcs
+コマンドに渡します。 なんのフィルタや変換も行いません。
+しかしながら、このコマンドは再帰的に働きます。よって使用には
+特別な注意を払わなければいけません。
+.TP
+\fBcheckout\fP [\fBoptions\fP] \fImodules\fP.\|.\|.
+.I 以下が必要:
+リポジトリ。
+.br
+.I 以下を変更:
+作業ディレクトリ。
+.br
+.I 同義語:
+.BR co ", " get
+.br
+.IR modules で指定されたソースファイルのコピーを持つ
+作業ディレクトリを作成します。他の大部分の
+.B cvs
+コマンドは作業ディレクトリに作用するものなので、これらを使う前に
+.` "cvs checkout"
+を実行しなくてはなりません。
+.SP
+\fImodules\fP はいくつかのソースディレクトリとファイルを
+集めたものに対するシンボル名 (それ自体は
+.` "modules"
+というモジュールとしてソースリポジトリに定義されています。
+.BR cvs ( 5 )
+参照) か、あるいはリポジトリ中でのディレクトリまたはファイルへのパス名です。
+.SP
+指定した
+.I modules
+に応じて、
+.B checkout
+は再帰的にディレクトリを作成して適切なソースファイルで満たします。
+その後はいつでも、(他のソフトウェア開発者達がソースの彼らの分のコピーを
+編集しているかどうかを気にすることなく) これらのソースファイルを編集したり、
+他の人によってソースリポジトリに行われた新しい変更を取り込むために
+これらを更新 (update) したり、
+.SM RCS
+あなたの作業を恒久的な変更としてリポジトリに
+登録 (commit) することができます。
+.SP
+.B checkout
+はディレクトリの作成に使われることに注意して下さい。
+作成されるディレクトリのトップレベルは常に
+.B checkout
+が起動されたディレクトリに追加され、そして通常、指定された
+.IR module と同じ名前を持ちます。
+.I module
+がエイリアスの場合は、作成されたサブディレクトリは違う名前を持つかも
+しれませんが、それがサブディレクトリであること、そして
+.B checkout
+はファイルが私的な作業領域に取り出される際に各ファイルへの
+相対パスを表示すること (全体に作用する
+.B \-Q
+オプションを指定していなければ) は当てにできます。
+.SP
+すでに以前の
+.B checkout
+で作成されているディレクトリで
+.` "cvs checkout"
+を実行することも許されています。これは
+以下で説明する
+.B update
+コマンドに
+.B \-d
+オプションを指定するのと同じ効果を持ちます。
+.SP
+.` "cvs checkout"
+で使える
+.I options
+は以下の標準のコマンドオプションです。
+.BR \-P ", " \-f ", "
+.BI \-k " kflag"
+\&,
+.BR \-l ", " \-n ", " \-p ", "
+.BR \-r
+.IR tag ", "
+.BI \-D " date"\c
+.SP
+これらに加えて、以下の特別のコマンドオプションを
+.BR checkout
+で使うことができます:
+.SP
+.B \-A
+オプションで sticky なタグ、日付または
+.B \-k
+オプションをリセットできます。(作業ファイルを
+\fB\-r\fP, \fB\-D\fP, \fB\-k\fP オプションのいずれかを使って取り出すと、
+\fBcvs\fP は対応するタグ、日付、\fIkflag\fP を記録して以降の
+更新 (update) でそれを使い続けます。 \fB\-A\fP オプションを使って \fBcvs\fP に
+それらの指定を忘れさせ、ファイルの ``head'' バージョンを取り出します)。
+.SP
+.BI \-j " branch"
+オプションはベースとなったリビジョンと、そこから変更された結果の
+リビジョンとの差分をマージします (例えば、もしタグがブランチを
+指しているときは、
+.B cvs
+は、そのブランチで行われた全ての変更を作業ファイルにマージします)。
+.SP
+2 つの \fB-j\fP オプションを指定すると、
+.B cvs
+は 2 つの各々のリビジョン間での変更をマージします。
+これは特定の差分を作業ファイルから ``削除'' するために使うことが
+できます。
+.SP
+加えて、各 \fB-j\fP オプションをブランチで使う場合に必要であれば
+日時指定を加えることができ、選択するリビジョンを指定した日時以内に
+制限できます。
+日時を加える場合はタグにコロン (:) を付けて指定します。
+例としては
+.` "cvs import"
+でローカルな変更と衝突する部分のあるソースを import するときに
+実行するように指示されるコマンドがあります:
+.SP
+.in +1i
+.ft B
+.nf
+example% cvs checkout -jTAG:yesterday -jTAG module
+.fi
+.ft P
+.in -1i
+.SP
+.B \-N
+オプションと
+.` "\-d \fIdir\fP"
+を指定することで作業ディレクトリでモジュールのパスが短縮されるのを
+防げます。(通常、明示的に対象ディレクトリを指定すると \fBcvs\fP は
+なるべくパスが短くなるようにします。)
+.SP
+.B \-c
+オプションで、作業ディレクトリのファイルやディレクトリに作成や変更を
+行う代わりに、モジュールファイルをソートしたものを標準出力にコピー
+します。
+.SP
+.BI \-d " dir"
+オプションで、モジュール名ではなく、
+.I dir
+で指定した名前のディレクトリを作業ファイルのために作成します。
+\fB\-N\fP を一緒に指定しない場合は、\fIdir\fP の下に作成されるパスは
+可能な限り短くなります。
+.SP
+.B \-s
+オプションを使って
+.B \-s
+オプションでモジュールファイルに格納されたモジュール単位の
+ステータス情報を表示します。
+.TP
+\fBcommit\fP [\fB\-lnR\fP] [\fB\-m\fP '\fIlog_message\fP' | \fB\-f\fP \fIfile\fP] [\fB\-r\fP \fIrevision\fP] [\fIfiles.\|.\|.\fP]
+.I 以下が必要:
+作業ディレクトリ、リポジトリ。
+.br
+.I 以下を変更:
+リポジトリ。
+.br
+.I 同義語:
+.B ci
+.br
+作業ディレクトリでの変更を共有のソースリポジトリに組み込むにときには
+.` "cvs commit"
+を使います。
+.SP
+コミットする対象となる \fIfiles\fP を指定しない場合、現在の
+作業ディレクトリ中の全ファイルが調べられます。
+.B commit
+はあなたが本当に変更したファイルだけを慎重にリポジトリで変更します。
+デフォルトでは (または明示的に
+.B \-R
+オプションを指定した場合)、サブディレクトリのファイルも
+調べられ、もし変更されていればコミットされます。
+.B \-l
+オプションで現ディレクトリのみ
+.B コミット
+するように制限できます。
+変更されていなくても強制的にファイルをコミットしたい場合があるかも
+しれません。 これは
+.B \-f
+フラグで可能で、これは同時に再帰も抑止します (もちろん
+.B \-R
+で再帰するようにできます)。
+.SP
+.B commit
+は選択されたファイルがソースリポジトリの現リビジョンに対して
+最新であることを確認します。 もし選択されたファイルのいずれかが
+まず
+.` "cvs update"
+で最新にされなければならないなら、そこで通知してコミットせずに終ります。
+.B commit
+は
+.B update
+コマンドを呼び出しません。update すべきときであるかどうかの判断は
+ユーザにゆだねられます。
+.SP
+全てがうまくいくと、ログメッセージを入力するためにエディタが
+呼び出されます。ログメッセージは一つかそれ以上のログを取る
+プログラムに書き込まれて
+.SM RCS
+ソースリポジトリのファイルに置かれます。
+代わりにコマンドラインで
+.B \-m
+オプションと共にログメッセージを指定し、
+エディタの呼び出しを抑制することができます。また
+.B \-F
+オプションで引数の \fIfile\fP にログメッセージが含まれていることを
+指示することもできます。
+.SP
+.B \-r
+オプションで特定のシンボリックまたは番号で指定される
+.SM RCS
+ファイル中のリビジョンとしてコミットできます。
+例えば、全ファイルを
+.SM RCS
+リビジョンの ``3.0'' に上げる (変更されていないものも含めて)
+には、以下のようにします:
+.SP
+.in +1i
+.ft B
+.nf
+example% cvs commit -r3.0
+.fi
+.ft P
+.in -1i
+.SP
+.B cvs
+はメインの幹上のリビジョン (ドットが 1 つのリビジョン) へのコミットのみ
+許します。
+しかしながら、
+.B \-r
+オプションでブランチ上のリビジョン (偶数個のドットをもつリビジョン) へ
+コミットすることもできます。
+ブランチとなるリビジョンを作成するには、通常
+.BR rtag " または " tag
+コマンドの
+.B \-b
+オプションを使います。
+その後、
+.BR checkout " または " update
+のいずれかでソースのベースを新しく作成したブランチにすることができます。
+それ以降、それらの作業ファイルで行われた全ての
+.B commit
+される変更点は自動的にブランチのリビジョンに追加され、
+それによって主たる開発ラインが混乱させられることはありません。
+例をあげると、製品のバージョン 1.2 へのパッチを作成しなければ
+ならなくなったとすると、バージョン 2.0 がすでに開発中だったとしても、
+以下のようにできます:
+.SP
+.in +1i
+.ft B
+.nf
+example% cvs rtag -b -rFCS1_2 FCS1_2_Patch product_module
+example% cvs checkout -rFCS1_2_Patch product_module
+example% cd product_module
+[[ hack away ]]
+example% cvs commit
+.fi
+.ft P
+.in -1i
+.SP
+極めて実験的なソフトウェアを開発しているとして、
+前の週にチェックアウトしたなんらかのリビジョンをベースにしていると
+します。
+あなたのグループの別の人がこのソフトウェアであなたと一緒に作業したいが、
+主たる開発ラインの邪魔はしたくないと考えたなら、あなたはあなたの
+変更点を新しいブランチにコミットすると良いでしょう。
+すると別の人はあなたの実験的な変更をチェックアウトして
+.B cvs
+の衝突解決機能を最大限に利用することができます。
+シナリオは以下のようになります:
+.SP
+.in +1i
+.ft B
+.nf
+example% cvs tag -b EXPR1
+example% cvs update -rEXPR1
+[[ hack away ]]
+example% cvs commit
+.fi
+.ft P
+.in -1i
+.SP
+別の人は単純に
+.` "cvs checkout -rEXPR1 whatever_module"
+とすれば実験的な変更を採り入れてあなたと作業できるようになります。
+.TP
+\fBdiff\fP [\fB\-kl\fP] [\fIrcsdiff_options\fP] [[\fB\-r\fP \fIrev1\fP | \fB\-D\fP \fIdate1\fP] [\fB\-r\fP \fIrev2\fP | \fB\-D\fP \fIdate2\fP]] [\fIfiles.\|.\|.\fP]
+.I 以下が必要:
+作業ディレクトリ、リポジトリ。
+.br
+.I 以下を変更:
+なにも変更しません。
+.br
+作業ディレクトリのファイルとソースリポジトリのリビジョンを
+.` "cvs diff"
+コマンドで比較できます。もし特定のリビジョンを指定しなければ、
+ベースにしたリビジョンと比較されます。
+標準の
+.B cvs
+コマンドのオプション
+.B \-r
+で比較の対象となるリビジョンを指定することもできます。
+最後に、
+.B \-r
+を 2 回 使うと、リポジトリの 2 つのリビジョン間の差分を取ることができます。
+過去のリビジョンとの差分を取るために
+.B \-D
+オプションを指定することもできます。
+.B \-r
+と
+.B \-D
+オプションは常に指定された中で 2 つまでを組み合わせられます。
+.SP
+他の使用可能なオプションについては
+.BR rcsdiff ( 1 )
+を参照して下さい。
+.SP
+ファイルを何も指定しないと、
+.B diff
+は現ディレクトリ
+(そして、標準オプション
+.BR \-l を指定していなければ
+そのサブディレクトリ) の全てのファイルについて、
+ソースリポジトリの対応するリビジョンと異なっているもの
+(つまり
+.I あなたが
+変更したファイル) または指定されたリビジョンと
+異なっているものについて、その差分を表示します
+.TP
+\fBexport\fP [\-\fBf\|lNnQq\fP] \fB\-r\fP \fIrev\fP\||\|\fB\-D\fP \fIdate\fP [\fB\-d\fP \fIdir\fP] [\fB\-k\fP \fIkflag\fP] \fImodule\fP.\|.\|.
+.I 以下が必要:
+リポジトリ。
+.br
+.I 以下を変更:
+現ディレクトリ。
+.br
+このコマンドは
+.` "cvs checkout" の一種です。
+\fBcvs\fP の管理ディレクトリを持たない
+\fImodule\fP のソースのコピーが必要なときに使います。
+例えば、サイト外にソースを出す準備をするために
+.` "cvs export"
+を使うことができます。
+このコマンドでは日付またはタグを指定することが \fI必要\fP です。
+(\fB\-D\fP または \fB\-r\fP によって)。それによって出荷したソースを
+確実に再構成できるようになります。
+.SP
+標準でないオプションは
+.` "\-d \fIdir\fP"
+(ソースをディレクトリ \fIdir\fP に書き込みます) と
+.` "\-N"
+(モジュールパスを短縮しません) のみです。
+これらは
+.` "cvs checkout" の同名のオプションと同じ意味を持ちます。
+.SP
+.B export
+が使われるときは
+.B \-kv
+オプションが有用です。
+これによって
+.SM RCS
+キーワードが、どこか別のサイトで
+.B import
+が行われたときにリビジョン情報が失われないような形に展開されるように
+なります。
+他の \fIkflag\fP を
+.` "cvs export"
+で使用することもできます。その説明は
+.BR co ( 1 )
+にあります。
+.TP
+\fBhistory\fP [\fB\-\fP\fIreport\fP] [\fB\-\fP\fIflags\fP] [\fB\-\fP\fIoptions args\fP] [\fIfiles\fP.\|.\|.]
+.I 以下が必要:
+.` "$CVSROOT/CVSROOT/history" ファイル。
+.br
+.I 以下を変更:
+何も変更しません。
+.br
+\fBcvs\fP はヒストリファイルを管理しており、各
+\fBcheckout\fP, \fBcommit\fP, \fBrtag\fP, \fBupdate\fP, \fBrelease\fP
+コマンドの使用を記録します。
+.` "cvs history"
+を使って、この情報を色々なフォーマットで表示することができます。
+.SP
+.I 警告:
+.` "cvs history"
+は
+.` "\-f",
+.` "\-l",
+.` "\-n",
+.` "\-p"
+を
+.SM
+共通の COMMAND OPTIONS\c
+\&での説明とは異なる意味に使用します。
+.SP
+いくつかのオプション (上で \fB\-\fP\fIreport\fP となっている部分) は
+どんな種類のレポートを生成するかを制御します:
+.TP 1i
+.B \ \ \ \ \ \ \-c
+今までの各 \fBcommit\fP (つまりリポジトリの変更) についてレポートします。
+.TP 1i
+\fB\ \ \ \ \ \ \-m\fP \fImodule\fP
+特定の \fImodule\fP についてレポートします。(コマンドラインで複数の
+\fB\-m\fP を指定できます。)
+.TP 1i
+.B \ \ \ \ \ \ \-o
+チェックアウトされたモジュールについてレポートします。
+.TP 1i
+.B \ \ \ \ \ \ \-T
+全てのタグについてレポートします。
+.TP 1i
+\fB\ \ \ \ \ \ \-x\fP \fItype\fP
+特定のレコードタイプ \fIX\fP のセットを \fBcvs\fP ヒストリから
+取り出します。タイプは 1文字で表され、組み合わせて指定できます。
+以下のコマンドは単一のレコードタイプを持ちます: \fBcheckout\fP
+(タイプ `O')、
+\fBrelease\fP (タイプ `F')、\fBrtag\fP (タイプ `T')。
+\fBupdate\fP は 4つのレコードタイプのうちの 1つになります: `W' は
+作業用のファイルのコピーが update で (それがリポジトリから無くなって
+いたために) 削除された場合です; `U' は作業ファイルがリポジトリから
+コピーされた場合です; `G' は必要なマージが無事に終った場合です; 'C' は
+マージが必要だが衝突が検出された場合 (手動でのマージが必要な場合) です。
+また、\fBcommit\fP では 3つのレコードタイプのうちの 1つになります:
+`M' はファイルが変更された場合; `A' はファイルが最初に追加された場合;
+`R' はファイルが削除された場合です。
+.TP 1i
+.B \ \ \ \ \ \ \-e
+全て (全レコードタイプ); 以下を指定するのと等価です。
+.` "\-xMACFROGWUT"
+.TP 1i
+\fB\ \ \ \ \ \ \-z\fP \fIzone\fP
+ヒストリレコードを出力する際に
+.I zone
+で指定されたタイムゾーンを使います。
+.B LT
+というゾーン名はローカルタイムの意味になります。
+数値によるオフセットは時分での UTC との時差を意味します。
+例えば、
+.B +0530
+は 5 時間と 30 分だけ UTC より前 (つまり東側) の意味になります。
+.PP
+.RS .5i
+\fB\-\fP\fIflags\fP と書かれた部分のオプションは、レポートする範囲を絞ります。
+引数の指定はありません。
+.RE
+.TP 1i
+.B \ \ \ \ \ \ \-a
+全てのユーザのデータを表示します (デフォルトでは
+.` "cvs history" を実行しているユーザのみのデータを表示します)。
+.TP 1i
+.B \ \ \ \ \ \ \-l
+最後の変更のみ表示します。
+.TP 1i
+.B \ \ \ \ \ \ \-w
+.` "cvs history"
+が実行されているのと同じ作業ディレクトリから行われた変更に関する
+レコードのみを表示します。
+.PP
+.RS .5i
+\fB\-\fP\fIoptions args\fP と書かれた部分のオプションは引数に
+基づいてレポート範囲を絞ります:
+.RE
+.TP 1i
+\fB\ \ \ \ \ \ \-b\fP \fIstr\fP
+文字列 \fIstr\fP をモジュール名、ファイル名、リポジトリパスの
+いずれかに含むレコードに戻って表示します。
+.TP 1i
+\fB\ \ \ \ \ \ \-D\fP \fIdate\fP
+\fIdate\fP 以降のデータを表示します。
+.TP 1i
+\fB\ \ \ \ \ \ \-p\fP \fIrepository\fP
+特定のソースリポジトリのデータを表示します (複数の
+\fB\-p\fP オプションを同じコマンド行で指定できます)。
+.TP 1i
+\fB\ \ \ \ \ \ \-r\fP \fIrev\fP
+個々の RCS ファイルに現れるリビジョンが
+\fIrev\fP で指定されたリビジョンまたはタグ以降であるレコードを表示します。
+各
+.SM RCS
+ファイルについてリビジョンまたはタグが検索されます。
+.TP 1i
+\fB\ \ \ \ \ \ \-t\fP \fItag\fP
+\fItag\fP で指定されるタグがヒストリファイルに最後に
+追加されてからのレコードを表示します。
+このオプションは、
+.SM RCS
+ファイルではなくヒストリファイルのみ参照する点で
+上記の \fB-r\fP フラグと異なり、
+より高速です。
+.TP 1i
+\fB\ \ \ \ \ \ \-u\fP \fIname\fP
+\fIname\fP で指定されるユーザのレコードを表示します。
+.PP
+.TP
+\fBimport\fP [\fB\-\fP\fIoptions\fP] \fIrepository vendortag releasetag\fP.\|.\|.
+.I 以下が必要:
+リポジトリ、ソース配布物のディレクトリ。
+.br
+.I 以下を変更:
+リポジトリ。
+.br
+.` "cvs import"
+を使うことで外部の供給元 (例えばソース・ベンダ) からのソース配布物
+全体をあなたのソースリポジトリのディレクトリへ取り込めます。
+最初のリポジトリの作成と、外部の供給元からのモジュールへの
+大規模な更新の両方にこのコマンドを使うことができます。
+.SP
+引数 \fIrepository\fP で CVS ルートディレクトリ下のリポジトリ用
+ディレクトリ名 (またはディレクトリへのパス) を与えます。
+もしディレクトリが存在しないなら、\fBimport\fP が作成します。
+.SP
+あなたのソースリポジトリで (前回の \fBimport\fP から) 変更された
+ソースへの更新に \fBimport\fP を使った場合、開発の 2 本のブランチで
+衝突しているファイルについて警告します。
+\fBimport\fP が指示するように、
+.` "cvs checkout -j"
+を使って差分を調整できます。
+.SP
+デフォルトでは、ある種のファイル名が
+.` "cvs import" で無視されます:
+.SM CVS
+管理、または他の一般的なソース管理システムに関連する名前;
+パッチファイル、オブジェクトファイル、アーカイブファイル、
+エディタのバックアップファイルのための一般的な名前;
+そして雑多なユーティリティの加工品であることを示すその他の名前。
+無視されるファイルのリストの最新については、
+(このマニュアルページの関連項目の節に記述してあるように)
+cvs.texinfo を参照して下さい。
+.SP
+外部からのソースは第一レベルの
+.SM RCS
+ブランチ、デフォルトでは
+.` "1.1.1" に保存されます。
+以降の更新は このブランチのリーフになります。
+例えば、最初に import したソース集合からのファイルはリビジョン
+.` "1.1.1.1" になり、
+次の import による更新でファイルはリビジョン
+.` "1.1.1.2" になり、以下同様に続きます。
+.SP
+最低で 3 つの引数が必要です。ソースの集合を識別するために
+\fIrepository\fP が必要です。\fIvendortag\fP はブランチ全体を示す
+タグになります (例えば
+.` "1.1.1" と対応します)。
+.` "cvs import" を実行する度にリーフとしてできるファイルを
+識別するために少なくとも一つの \fIreleasetag\fP も指定しなければ
+なりません。
+.SP
+.B cvs
+の標準のコマンドオプションのうちの 1 つ \fB\-m\fP が利用可能です:
+ログメッセージを
+\fB\-m\fP で指定しないと、(\fBcommit\fP でのように) メッセージを
+入力できるようにエディタが起動されます。
+.SP
+さらに 3 つの特別なオプションがあります。
+.SP
+.` "\-d"
+を使って、各ファイルの最終更新日時がチェックインの日付と時刻として
+使われるよう指示できます。
+.SP
+.` "\-b \fIbranch\fP"
+を使って第一レベルのブランチを
+.` "1.1.1" 以外に指定できます。
+.SP
+.` "\-I \fIname\fP"
+を使って \fBimport\fP 中に無視されるべきファイル名を指定できます。
+このオプションは繰り返して指定できます。
+いかなるファイルも無視されない (デフォルトで無視されるものでも)
+ようにするには、
+.` "\-I !" と指定します。
+.TP
+\fBlog\fP [\fB\-l\fP] \fIrlog-options [files\fP\|.\|.\|.]
+.I 以下が必要:
+リポジトリ、作業ディレクトリ。
+.br
+.I 以下を変更:
+何も変更しません。
+.br
+.I 同義語:
+.B rlog
+.br
+\fIfiles\fP のログ情報を表示します。
+.` "cvs log"
+は
+.SM RCS
+ユーティリティの \fBrlog\fP を呼び出します。
+.BR rlog ( 1 )
+で説明されている全てのオプションが使用できます。
+\fBrlog\fP のオプションの中でも有用なものとしては、以下のものがあります:
+ヘッダ (タグの定義を含むが、ログの大部分は省略される) のみ表示する
+\fB\-h\fP ; 特定のリビジョンまたはリビジョンの範囲でログを選択する
+\fB\-r\fP; そして特定の日時または時刻の範囲を選択する \fB\-d\fP が
+あります。完全な説明は
+.BR rlog ( 1 )
+を参照して下さい。
+このコマンドは
+.B \-l
+オプションが指定されていなければ、デフォルトで再帰的に働きます。
+.TP
+\fBrdiff\fP [\fB\-\fP\fIflags\fP] [\fB\-V\fP \fIvn\fP] [\fB\-r\fP \fIt\fP|\fB\-D\fP \fId\fP [\fB\-r\fP \fIt2\fP|\fB\-D\fP \fId2\fP]] \fImodules\|.\|.\|.\fP
+.I 以下が必要:
+リポジトリ。
+.br
+.I 以下を変更:
+何も変更しません。
+.br
+.I 同義語:
+.B patch
+.br
+2 つのリリース間の
+.BR patch ( 1 )
+ファイルを Larry Wall 氏のフォーマットで作成します。それは直接
+.B patch
+プログラムに入力できるもので、古いリリースを新しいリリースに更新する
+ために使えます。
+(これは直接リポジトリを参照するため、これに先立って
+.BR checkout
+する必要のない、数少ない \fBcvs\fP コマンドのうちの 1 つです。)
+差分出力は標準出力デバイスに送られます。
+(標準の \fB\-r\fP と \fB\-D\fP オプションを
+使って) 1 つまたは 2 つのリビジョンまたは日時の任意の組合せを指定できます。
+もしリビジョンまたは日時が 1 つしか指定されないと、
+そのリビジョンまたは日時とその時点での
+.SM RCS
+ファイルの ``head'' リビジョンの差分がパッチファイルに反映されます。
+.SP
+もしソフトウェアリリースへの影響が複数ディレクトリにわたるなら、
+古いソースにパッチを当てる際、
+.B patch
+が他のディレクトリに置かれたファイルを見つけられるように、
+.B \-p
+オプションを
+.B patch
+コマンドに指定する必要があるかもしれません。
+.SP
+\fB\-V\fP \fIvn\fP オプションを使うと、
+.SM RCS
+のキーワードが \fIvn\fP で指定された
+.SM RCS
+のバージョンに合わせて展開されます (展開フォーマットは
+.SM RCS
+のバージョン 5 で変更されました)。
+.SP
+標準オプションの \fIflags\fP \fB\-f\fP、\fB\-l\fP が
+このコマンドで利用可能です。他にもいくつかの
+特別なオプションフラグがあります:
+.SP
+.B \-s
+オプションを指定すると、パッチ出力が作られません。
+代わりに、2 つのリリース間で変更または追加されたファイルの要約が
+標準出力デバイスに送られます。
+これは、例えば、2 つの日付またはリビジョンの間で、どのファイルが
+変更されたかを調べるのに便利です。
+.SP
+.B \-t
+オプションを指定すると、新しい方から 2 つのリビジョンの差分が
+標準出力デバイスに送られます。これはファイルへの最後の変更が
+何であったかを知るのに最適です。
+.SP
+.B \-u
+オプションを指定すると、パッチ出力として新しい
+``unidiff'' フォーマットを使って文脈差分とします。
+.SP
+希望するなら、
+.B \-c
+を使って明示的に
+.` "diff \-c"
+形式の文脈差分を指定できます (こちらがデフォルトです)。
+.TP
+\fBrelease\fP [\fB\-dQq\fP] \fImodules\fP\|.\|.\|.
+.I 以下が必要:
+作業ディレクトリ。
+.br
+.I 以下を変更:
+作業ディレクトリ、ヒストリログ。
+.br
+このコマンドは
+.` "cvs checkout'
+の効果を安全にキャンセルすることになっています。
+.B cvs
+はファイルをロックしないので、厳密にはこのコマンドを使用する必要は
+ありません。
+単に作業ディレクトリを削除しても構いません。
+しかし忘れているかも知れない変更を失う危険があり、そして
+.B cvs
+ヒストリファイルには捨ててしまったチェックアウトの記録は残りません。
+.SP
+.` "cvs release"
+を使うとこれらの問題を回避できます。
+このコマンドは以下の点をチェックします:
+コミットされていない変更が存在しないこと、
+\fBcvs\fP の作業ディレクトリの直上または内部から実行していること、
+ファイルが記録されたリポジトリがモジュールデータベースに
+定義されたリポジトリと同じであること。
+.SP
+これらの条件が全て真なら
+.` "cvs release"
+は その実行記録 (意図的にチェックアウトを削除した証拠) を
+.B cvs
+のヒストリログに残します。
+.SP
+\fB\-d\fP フラグを使ってソースの作業用コピーを \fBrelease\fP が
+成功したら削除するように指示できます。
+.TP
+\fBremove\fP [\fB\-lR\fP] [\fIfiles\|.\|.\|.\fP]
+.I 以下が必要:
+作業ディレクトリ。
+.br
+.I 以下を変更:
+作業ディレクトリ。
+.br
+.I 同義語:
+.BR rm ", " delete
+.br
+このコマンドを使って、\fIfiles\fP をソースリポジトリから削除する
+つもりであることを宣言できます。大部分の
+.B cvs
+コマンドがそうであるように、
+.` "cvs remove"
+は作業ディレクトリのファイルに作用し、リポジトリには直接には
+作用しません。安全機構として、まず指定するファイルを作業ディレクトリ
+から削除することも必要になっています。
+.SP
+リポジトリに
+.BR commit
+で変更を反映するまで、ファイルは実際には削除されません。
+commit した時点で、ソースリポジトリの対応する
+.SM RCS
+ファイルが
+.` "Attic"
+ディレクトリ (これもソースリポジトリの中です) に
+.I 移動
+されます。
+.SP
+このコマンドはデフォルトで再帰的になっており、
+物理的に削除された全てのファイルが次の
+.BR commit
+での削除されるようにスケジュールします。
+.B \-l
+オプションを使うか、または実際に削除したいファイルのみを
+指定することで、この再帰を抑制できます。
+.TP
+\fBrtag\fP [\fB\-f\|alnRQq\fP] [\fB\-b\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] \fIsymbolic_tag\fP \fImodules\|.\|.\|.\fP
+.I 以下が必要:
+リポジトリ。
+.br
+.I 以下を変更:
+リポジトリ。
+.br
+.I 同義語:
+.B rfreeze
+.br
+このコマンドを使って、リポジトリ中の特定の、明示的に
+指定されたソースバージョンにシンボリックタグを割り当てられます。
+.` "cvs rtag"
+はリポジトリの内容に直接に作用します (これに先立って
+.BR checkout
+する必要はありません)。
+作業ディレクトリの内容に基づいて
+タグを付けるバージョンを選択するには、代わりに
+.` "cvs tag"
+を使います。
+.SP
+一般に、タグ (しばしばソフトウェア配布物のシンボリックな
+名前でもある) は削除されるべきではありません。
+しかし完全に廃れてしまったシンボリックな名前を削除する場合 (例えば、
+アルファリリースの場合など) の手段として、
+.B \-d
+オプションが用意されています。
+.SP
+.` "cvs rtag"
+はすでに存在するタグを移動しません。
+しかしながら、\fB\-F\fP オプションが指定されると
+.` "cvs rtag"
+はそのファイルに既に存在する \fIsymbolic_tag\fP のインスタンスを
+新しいリポジトリのバージョンへ移動します。
+\fB\-F\fP オプションが無い場合、
+.` "cvs rtag"
+を使ってすでにそのファイルに存在するタグを付けようとすると、
+エラーメッセージが出力されます。
+.SP
+\fB-b\fP オプションはタグを ``ブランチ'' タグにし、並行の、
+独立した開発を可能にします。
+これは以前にリリースしたソフトウェア配布物へのパッチを作成するのに
+最も有用です。
+.SP
+標準の \fB\-r\fP と \fB\-D\fP オプションを使って、すでに特定の
+タグを含んでいるファイルのみにタグを付けることができます。
+この方法はタグの名前を変えるのに使えるでしょう:
+古いタグで指定されるファイルにのみタグを付け、
+それから古いタグを削除すれば、確実に同じファイルで古いタグを
+新しいタグで置き換えることができます。
+.SP
+.B rtag
+はデフォルトで再帰的に実行し、引数で指定した
+\fImodules\fP の全てのサブディレクトリにタグをつけます。 この動作を
+トップレベルのディレクトリに制限するには標準の \fB\-l\fP オプションを
+指定します。 また明示的に再帰を指定するには \fB\-R\fP を指定します。
+.SP
+モジュールデータベースではタグが指定されたときに必ず実行される
+プログラムを指定できます。 よくある使い方は、興味を持っている
+グループに電子メールを送るというものです。もしそのプログラムを
+バイパスしたい場合は、標準の \fB\-n\fP オプションを使います。
+.SP
+.B \-a
+オプションを使うと
+.` "Attic"
+の中の指定されたタグを含む削除されたファイルを
+.B rtag
+の対象にできます。
+タグはそれらのファイルから削除され、開発の進展につれての
+シンボリックタグの再利用に便利になります (そしてファイルは以降の
+配布物から削除されます)。
+.TP
+\fBstatus\fP [\fB\-lRqQ\fP] [\fB\-v\fP] [\fIfiles\fP\|.\|.\|.]
+.I 以下が必要:
+作業ディレクトリ、リポジトリ。
+.br
+.I 以下を変更:
+何も変更しません。
+.br
+\fIfiles\fP の現在の状態について、``sticky'' なタグ、
+日付、\fB\-k\fP オプションを含む、ソースリポジトリに関する
+簡潔なレポートを表示します。(``sticky'' オプションはリセットするまで
+.` "cvs update"
+がどう働くかを規定します。
+.` "cvs update \-A\|.\|.\|." の説明を参照して下さい。)
+.SP
+このコマンドを用いて、作業用ソースディレクトリでの
+.` "cvs update"
+による潜在的な影響を予測することもできます。
+もし \fIfiles\fP を明示的に指定しないと、\fBcvs\fP が
+作業ディレクトリに置いた全てのファイルについてレポートが
+表示されます。
+この検索の範囲を (そのサブディレクトリではなく) カレントディレクトリ
+だけに制限するには、標準の \fB\-l\fP オプションフラグを使います。
+\fB\-R\fP オプションによって、明示的に再帰的なステータスレポートを
+指定することもできます。
+.SP
+.B \-v
+オプションを指定すると
+.SM RCS
+ファイルのシンボリックタグも表示されるようになります。
+.TP
+\fBtag\fP [\fB\-lQqR\fP] [\fB\-F\fP] [\fB\-b\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP | \fB\-D\fP \fIdate\fP] [\fB\-f\fP] \fIsymbolic_tag\fP [\fIfiles\fP\|.\|.\|.\|]
+.I 以下が必要:
+作業ディレクトリ、リポジトリ。
+.br
+.I 以下を変更:
+リポジトリ。
+.br
+.I 同義語:
+.B freeze
+.br
+このコマンドは、作業ディレクトリに最も近いリポジトリのバージョンに
+シンボリックタグをつけるために使います。\fBrtag\fP を
+使ったときのように、タグはリポジトリに直接つけられます。
+.SP
+タグの使い方の一つは、プロジェクトのソフトウェア凍結日が
+やってきたときに開発中のソースの ``snapshot'' を記録するというものです。
+凍結した日の後でバグが修正されたら、それらの変更されたリリースの
+一部となるソースのみに再度タグをつける必要があります。
+.SP
+シンボリックタグはどのファイルのどのリビジョンがソフトウェア配布物を
+作成する際に使われたかを恒久的に記録する意味があります。
+.BR checkout ,
+.B export ,
+.B update
+コマンドは、タグをつけたリリースと全く同じものを、リリースのタグが
+つけられて以降にファイルが変更、追加、削除されたかどうかを気にする
+ことなく、将来のいつでも取り出すことを可能にします。
+.SP
+標準の \fB\-r\fP と \fB\-D\fP オプションを使って、すでに特定の
+タグを含んでいるファイルのみにタグを付けることができます。
+この方法はタグの名前を変えるのに使えます。
+すなわち、
+古いタグで指定されるファイルにのみタグを付け、
+それから古いタグを削除すれば、確実に同じファイルで古いタグを
+新しいタグで置き換えることができます。
+.SP
+\fB\-r\fP または \fB\-D\fP フラグに加えて \fB\-f\fP フラグを
+指定すると、コマンドラインで指定したファイルで古いタグを
+持っていないか指定された日時に存在しなかったものにもタグを
+付けます。
+.SP
+デフォルト (\fB\-r\fP または \fB\-D\fP フラグが無い場合) では、
+バージョンは明示的に指定されるのではなく、暗黙のうちに作業ファイルの
+ヒストリの \fBcvs\fP レコードから取られます。
+.SP
+.` "cvs tag \-d \fIsymbolic_tag\fP\|.\|.\|."
+とすると、指定したシンボリックタグが追加されるのではなく
+.I 削除
+されます。\fI警告\fP: タグを削除する前にその根拠をしっかり確認して下さい。
+これは効率的に一部の履歴情報を捨てますが、後になってその情報が重要だったと
+判明するかも知れないからです。
+.SP
+.` "cvs tag"
+はすでに存在するタグを移動しません。
+しかしながら、\fB\-F\fP オプションが指定されると
+.` "cvs tag"
+はそのファイルに既に存在する \fIsymbolic_tag\fP のインスタンスを
+新しいリポジトリのバージョンへ移動します。
+\fB\-F\fP オプションが無い場合、
+.` "cvs tag"
+を使って すでにそのファイルに存在するタグを付けようとすると
+エラーメッセージが出力されます。
+.SP
+\fB-b\fP オプションはタグを ``ブランチ'' タグにし、並行して、
+独立した開発を可能にします。
+これは以前にリリースしたソフトウェア配布物へのパッチを作成するために
+最も有効です。
+.SP
+通常、
+.B tag
+はサブディレクトリに渡って再帰的に実行します。これは
+標準の \fB\-l\fP オプションを使って抑制できます。
+明示的に再帰を指定するには \fB\-R\fP を使います。
+.TP
+\fBupdate\fP [\fB\-Adf\|lPpQqR\fP] [\fB\-d\fP] [\fB\-r\fP \fItag\fP|\fB\-D\fP \fIdate\fP] \fIfiles\|.\|.\|.\fP
+.I 以下が必要:
+リポジトリ、作業ディレクトリ。
+.br
+.I 以下を変更:
+作業ディレクトリ。
+.br
+あなたが共有のリポジトリから私的なソースのコピーを作成するために
+.B checkout
+を実行した後も、別の開発者は共有のソースへの変更を続けるでしょう。
+時々、開発過程で都合のいいときに、作業ディレクトリ内から
+.B update
+コマンドを使うことで、
+最後に
+.B checkout
+または
+.BR update
+してからソースリポジトリに登録された変更を、あなたの変更と
+融合させることができます。
+.SP
+.B update
+は進行状況をファイルごとに 1 行表示することで知らせ続けます。
+各行の先頭には以下の
+.` "U A R M C ?"
+のいずれか 1 文字があり、ファイルの状態を示しています:
+.TP 1i
+\fBU\fP \fIfile\fP
+file はリポジトリに関して \fI最新に\fP なりました。
+これはリポジトリには存在するがあなたのソースには無いもの、
+およびあなたは変更していないけれどもリポジトリの
+最新リビジョンでは無いものに関して行われます。
+.TP 1i
+\fBA\fP \fIfile\fP
+file はソースのあなたの私的なコピーに \fI追加\fP されたもので、
+file に対して
+.` "cvs commit"
+を実行したときに
+.SM RCS
+ソースリポジトリに追加されます。
+これは当該ファイルを commit する必要があるという助言です。
+.TP 1i
+\fBR\fP \fIfile\fP
+これはソースのあなたの私的なコピーから file が \fI削除\fP されており、
+file に対して
+.` "cvs commit"
+を実行すると
+.SM RCS
+ソースリポジトリから削除されることを示します。
+これは当該ファイルを commit する必要があるという助言です。
+.TP 1i
+\fBM\fP \fIfile\fP
+あなたの作業ディレクトリの file は \fI変更\fP されています。
+.` "M"
+は作業中のファイルについて 2 つの状態のうちの 1 つを示します:
+リポジトリ中の対応するファイルは変更されておらず、あなたのファイルは
+最後に見たときのままになっている。 または、あなたのコピー同様
+リポジトリのものも変更されているが、それらの変更は
+衝突することなく無事にあなたの作業ディレクトリに
+\fI融合 (merge)\fP されました。
+.TP 1i
+\fBC\fP \fIfile\fP
+\fIfile\fP へのあなたの変更とソースリポジトリからの変更との
+融合を試みる間に \fI衝突 (conflict)\fP が検出されました。
+現在 \fIfile\fP (あなたの作業ディレクトリのコピー) は
+.BR rcsmerge ( 1 )
+コマンドを 2 つのバージョンに適用した出力になっています。
+変更されていない あなたのファイルのコピーも作業ディレクトリに、
+`\fB.#\fP\fIfile\fP\fB.\fP\fIversion\fP' という名前で置かれます。
+ここで
+.I version
+は あなたの変更したファイルの出発点となった
+.SM RCS
+リビジョンです。
+(ある種のシステムでは、
+\&
+.` ".#"
+で始まるファイルは何日かアクセスされないと自動的に削除されるので
+注意して下さい。もし元のファイルのコピーを取っておくつもりなら、
+名前を変えておくのが良いでしょう。)
+.TP 1i
+\fB?\fP \fIfile\fP
+\fIfile\fP が あなたの作業ディレクトリにありますが、
+ソースリポジトリのどれとも対応しておらず、
+\fBcvs\fP が無視するファイルのリストにもありません
+(\fB\-I\fP オプションの説明を参照して下さい)。
+.PP
+.RS .5i
+.SP
+.B \-A
+オプションを用いて sticky なタグ、日付、
+.B \-k
+オプションをリセットできます。(\fB\-r\fP, \fB\-D\fP, \fB\-k\fP オプションの
+いずれかを使って作業ファイルのコピーを得ると、
+\fBcvs\fP は対応するタグ、日付、\fIkflag\fP を記憶し、
+以降の update で それを使い続けます。 \fB\-A\fP オプションを使って
+\fBcvs\fP にそれらの指定を忘れさせることで、ファイルの
+``head'' バージョンを取り出します)。
+.SP
+\fB\-j\fP\fIbranch\fP オプションは、変更結果のリビジョンと
+ベースにしたリビジョンの間での変更をマージします
+(例えば、もしタグがブランチを指しているなら、
+.B cvs
+は、そのブランチで行われた全ての変更をあなたの作業ファイルにマージします)。
+.SP
+2 つの \fB-j\fP オプションを指定すると、
+.B cvs
+は 2 つの それぞれのリビジョン間での変更をマージします。
+これは特定の変更を作業ファイルから ``削除'' するのに使えます。
+例えば、ファイル foo.c がリビジョン 1.6 をベースにしていて、
+1.3 と 1.5 の間で行われた変更を削除したいなら、次のようにします:
+.SP
+.in +1i
+.ft B
+.nf
+example% cvs update -j1.5 -j1.3 foo.c # 順番に注意...
+.fi
+.ft P
+.in -1i
+.SP
+加えて、各 \fB-j\fP オプションにはオプションで、ブランチと使う場合に、
+日付指定を含めることが可能で、選択するリビジョンを指定した
+日付の範囲内に制限できます。
+オプションの日付はコロン (:) をタグに付けることで指定します。
+.SP
+.in +1i
+.ft B
+.nf
+-jSymbolic_Tag:Date_Specifier
+.fi
+.ft P
+.in -1i
+.SP
+.B \-d
+オプションを使うと、もし作業ディレクトリに無いディレクトリが
+リポジトリにあれば作成します。(通常、update は作業ディレクトリに
+すでに登録されているディレクトリとファイルのみに働きます。)
+これは最初の \fBcheckout\fP 以降に作成されたディレクトリを
+更新するのに有用です。しかし不幸にも副作用があります。
+もし作業ディレクトリを作る際に慎重にリポジトリ中の特定の
+ディレクトリを除いた (モジュール名を使ったか明示的に必要な
+ファイルとディレクトリをコマンドラインで指定したかのいずれかで)
+とすると、
+.B \-d
+で更新するとそれらの不要かも知れないディレクトリができてしまいます。
+.SP
+\fB\-I\fP \fIname\fP を使うと、update の際、名前が \fIname\fP に符合する
+(作業ディレクトリの) ファイルを無視します。
+コマンドラインで \fB\-I\fP を 2 回以上指定することで、
+複数の無視するファイルを指定できます。
+デフォルトで、\fBupdate\fP は以下のいずれかに名前が符合するファイルを
+無視します:
+.SP
+.in +1i
+.ft B
+.nf
+RCSLOG RCS SCCS
+CVS* cvslog.*
+tags TAGS
+\&.make.state .nse_depinfo
+*~ #* .#* ,*
+*.old *.bak *.BAK *.orig *.rej .del\-*
+*.a *.o *.so *.Z *.elc *.ln core
+.fi
+.ft P
+.in -1i
+.SP
+いずれのファイルも無視しないようにするには
+.` "\-I !"
+を使います。
+.SP
+標準の \fBcvs\fP コマンドオプション \fB\-f\fP, \fB\-k\fP,
+\fB\-l\fP, \fB\-P\fP, \fB\-p\fP, \fB\-r\fP
+も \fBupdate\fP で使用可能です。
+.RE
+.SH "関連ファイル"
+より詳細な
+.B cvs
+サポートファイルの情報については
+.BR cvs ( 5 )
+を参照して下さい。
+.LP
+.I
+ホームディレクトリのファイル:
+.TP
+\&.cvsrc
+.B cvs
+の初期化ファイル。このファイルの行は各
+.B cvs
+コマンドのデフォルトのオプションの指定に使えます。例えば
+.` "diff \-c"
+と言う行は
+.` "cvs diff"
+に対して、コマンドラインで渡されたオプションに、常に
+.B \-c
+オプションが加えられて渡されることを指定します。
+.TP
+\&.cvswrappers
+リポジトリのファイル CVSROOT/cvswrappers で指定されている
+ものに加えて使用されるラッパーを指定します。
+.LP
+.I
+作業ディレクトリのファイル:
+.TP
+CVS
+\fBcvs\fP 管理ファイルのディレクトリ。
+.I
+削除してはいけません。
+.TP
+CVS/Entries
+作業ディレクトリのファイルのリストと状態。
+.TP
+CVS/Entries.Backup
+.` "CVS/Entries" のバックアップ。
+.TP
+CVS/Entries.Static
+フラグ:
+.` "cvs update"
+でそれ以上エントリを追加しません。
+.TP
+CVS/Root
+チェックアウトしたときのリポジトリ (
+.SM CVSROOT
+) 位置へのパス名。
+.SM CVSROOT
+環境変数が設定されていない場合、このファイルが代わりに使用されます。
+このファイルの内容と
+.SM CVSROOT
+環境変数が異なっていると警告メッセージが出されます。
+.SM CVS_IGNORE_REMOTE_ROOT
+環境変数が設定されていると、このファイルは上書きされることがあります。
+.TP
+CVS/Repository
+ソースリポジトリ中の対応するディレクトリへのパス名。
+.TP
+CVS/Tag
+ディレクトリ毎の ``sticky'' なタグまたは日付情報を保持しています。
+このファイルは
+.B \-r
+か
+.B \-D
+を
+.B checkout
+または
+.B update
+コマンドに指定して、ファイルが指定されなかったときに作成/更新されます。
+.TP
+CVS/Checkin.prog
+.` "cvs commit" 時に実行するプログラム名。
+.TP
+CVS/Update.prog
+.` "cvs update" 時に実行するプログラム名。
+.LP
+.I
+ソースリポジトリ中のファイル:
+.TP
+$CVSROOT/CVSROOT
+リポジトリ全体の管理ファイルのディレクトリ。
+.TP
+CVSROOT/commitinfo,v
+.` "cvs commit"
+のリクエストを選別するプログラムを登録します。
+.TP
+CVSROOT/cvswrappers,v
+ファイルをリポジトリにチェックインそしてリポジトリから
+チェックアウトするときに使用される
+.B cvs
+ラッパーコマンドを登録します。
+ラッパーはファイルまたはディレクトリが CVS で入出力される際に
+処理を行うことを可能にします。使い道はいろいろありますが、
+その一つとして、C のファイルをチェックインする前に再フォーマットして、
+リポジトリ中のコードの見た目を揃えるというものがあります。
+.TP
+CVSROOT/editinfo,v
+.` "cvs commit"
+のログエントリの編集/確認用プログラムを登録します。
+.TP
+CVSROOT/history
+\fBcvs\fP 処理のログファイル。
+.TP
+CVSROOT/loginfo,v
+.` "cvs commit"
+のログエントリをパイプで渡すプログラムを登録します。
+.TP
+CVSROOT/modules,v
+このリポジトリ中のモジュールを定義します。
+.TP
+CVSROOT/rcsinfo,v
+.` "cvs commit"
+操作中に使用するテンプレートへのパス名を登録します。
+.TP
+CVSROOT/taginfo,v
+.` "cvs tag"
+と
+.` "cvs rtag"
+での確認/ログ採集のためのプログラムを登録します。
+.TP
+MODULE/Attic
+削除されたソースファイルのためのディレクトリ。
+.TP
+#cvs.lock
+.SM RCS
+ソースリポジトリに微妙な変更を行っているときに
+.B cvs
+が作成するロックディレクトリ。
+.TP
+#cvs.tfl.\fIpid\fP
+リポジトリの一時的なロックファイル。
+.TP
+#cvs.rfl.\fIpid\fP
+読みだしロック。
+.TP
+#cvs.wfl.\fIpid\fP
+書き込みロック。
+.SH "環境変数"
+.TP
+.SM CVSROOT
+.B cvs
+ソースリポジトリのルートへのフルパス名 (
+.SM RCS
+ファイルが保存されている場所) を指定します。
+この情報は大部分のコマンドの実行で
+\fBcvs\fP から参照できなければなりません。 もし
+.SM CVSROOT
+が設定されていないか、それを上書き指定したい場合は、
+コマンドライン上で与えることができます:
+.` "cvs \-d \fIcvsroot cvs_command\fP\|.\|.\|."
+もし \fBcvs\fP バイナリのコンパイル時に正しいパスが指定されているなら
+.SM CVSROOT
+を設定しなくて構いません。
+.` "cvs \-v"
+でコンパイル時に指定されて組み込まれている全てのパス名が表示されます。
+.TP
+.SM CVSREAD
+これがセットされていると、
+.B checkout
+と
+.B update
+は作業ディレクトリのファイルを読みだし専用にするべく努力します。
+これがセットされていないときは、デフォルトでは作業ファイルの
+変更が許可されます。
+.TP
+.SM RCSBIN
+.BR co ( 1 )
+や
+.BR ci ( 1 )
+といった
+.SM RCS
+のプログラムが置かれている場所へのフルパス名を指定します。
+セットされないと、コンパイル時に設定された値が使用されます。
+.` "cvs \-v" で表示される内容を参照して下さい。
+.TP
+.SM CVSEDITOR
+.BR commit
+中にログメッセージの記録に使われるプログラムを指定します。
+設定されていないと、
+.SM EDITOR
+環境変数が代わりに使われます。
+もし
+.SM EDITOR
+も設定されていないなら、デフォルトは
+.BR /usr/ucb/vi
+です。
+.TP
+.SM CVS_IGNORE_REMOTE_ROOT
+この変数がセットされていると
+.B cvs
+は CVS/Root ファイル中のリモートのリポジトリへの参照を全て
+無視します。
+.TP
+.SM CVS_RSH
+.B cvs
+サーバを開始するときに使用するリモートシェルコマンドの
+名前を決定します。
+この変数が設定されていない場合は
+.` "rsh"
+が使用されます。
+.TP
+.SM CVS_SERVER
+.B cvs
+サーバコマンドの名前を指定します。
+この変数が設定されていない場合は
+.` "cvs"
+が使用されます。
+.TP
+.SM CVSWRAPPERS
+.` "cvswrappers"
+スクリプトは、
+リポジトリの
+.SM CVSROOT/cvswrappers
+とユーザのホームディレクトリの ~/.cvswrappers に
+含まれるデフォルトのラッパーに加え、
+変数
+.SM CVSWRAPPERS
+を参照して、ラッパーファイルの名前を決定します。
+.SH "作者"
+.TP
+Dick Grune
+.B comp.sources.unix
+にポストされ、1986年 12月のリリース volume6 に収められたオリジナルの
+.B cvs
+シェルスクリプト版の作者。
+.B cvs
+の衝突を解決するアルゴリズムの大部分を作成しました。
+.TP
+Brian Berliner
+.B cvs
+プログラム自身のコーディングとデザインを
+1989年 4月に、Dick によるオリジナルをベースにして行いました。
+.TP
+Jeff Polk
+Brian を助けて
+.B cvs
+のモジュールとベンダ・ブランチのサポートをデザインしました。
+そして
+.BR checkin ( 1 )
+シェルスクリプト (
+.` "cvs import" の祖先)
+の作者でもあります。
+.SH "関連項目"
+CVS の最も包括的なマニュアルは cvs.texinfo で、
+Per Cederqvist らによる Version Management with CVS として知られています。
+このマニュアルのフォーマットに関する情報や
+(info, postscript 等)へのコンバートが可能かについては、
+CVS の配布中の README を参照して下さい。
+
+.BR ci ( 1 ),
+.BR co ( 1 ),
+.BR cvs ( 5 ),
+.BR cvsbug ( 8 ),
+.BR diff ( 1 ),
+.BR grep ( 1 ),
+.BR patch ( 1 ),
+.BR rcs ( 1 ),
+.BR rcsdiff ( 1 ),
+.BR rcsmerge ( 1 ),
+.BR rlog ( 1 ),
+.SH 日本語訳
+野首 寛高(h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳
+.br
+酒井 淳嗣(sakai@jp.freebsd.org): FreeBSD 版の校正
diff --git a/ja/man/man1/date.1 b/ja/man/man1/date.1
new file mode 100644
index 0000000000..0956349585
--- /dev/null
+++ b/ja/man/man1/date.1
@@ -0,0 +1,317 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)date.1 8.2 (Berkeley) 11/17/93
+.\" %Id: date.1,v 1.8.2.6 1997/10/03 12:54:28 danny Exp %
+.\" jpman %Id: date.1,v 1.2 1997/03/31 23:25:55 mutoh Stab %
+.\"
+.Dd November 17, 1993
+.Dt DATE 1
+.Os
+.Sh 名称
+.Nm date
+.Nd 日付と時刻の表示、設定
+.Sh 書式
+.Nm date
+.Op Fl d Ar dst
+.Op Fl r Ar seconds
+.Op Fl t Ar minutes_west
+.Op Fl nu
+.Op Cm + Ns Ar format
+.Op Fl v Ar [+|-]val[ymwdHM]
+.Ar ...
+.Op Fl f Ar fmt Ar date | [[[[yy]mm]dd]HH]MM[\&.ss]
+.Sh 解説
+引数なしで実行すると、
+.Nm date
+は現在の日付と時刻を表示します。
+引数を与えると、ユーザが定義したフォーマットに従った日付や時刻の表示、
+あるいは日時の設定を行います。
+なお、日付と時刻を設定できるのはスーパーユーザだけです。
+.Pp
+オプション:
+.Bl -tag -width Ds
+.It Fl d
+夏時間用のカーネル値を設定します。もし
+.Ar dst
+が 0 でなければ、そのあとの
+.Xr gettimeofday 2
+呼び出しでは
+.Ql tz_dsttime
+に 0 以外の値が返ります。
+.It Fl f
+デフォルトの
+.Ar [[[[yy]mm]dd]HH]MM[.ss]
+フォーマットの代りに
+.Ar fmt
+を、時刻をパーズするフォーマットとして使用します。
+.Xr strptime 3
+を使用してパーズします。
+.It Fl n
+.Xr timed 8
+を利用して、グループ内のマシン間で時計を同期させます。
+.Xr timed
+が動作している場合、デフォルトでは
+.Nm date
+コマンドによりグループ内のすべてのマシンの時刻が変更されます。しかし、
+.Fl n
+オプションを指定した場合には、他のマシンの時刻は変更しません。
+.It Fl r
+エポック (1970年1月1日) から
+.Ar seconds
+秒経過した日時を表示します。
+.It Fl t
+カーネルに
+.Tn GMT
+(グリニッジ標準時) からの時差を設定します。このあとに呼ばれる
+.Xr gettimeofday 2
+では、ここで指定された値が
+.Ql tz_minuteswest
+に入ります。
+.It Fl u
+.Tn UTC
+(協定世界時) の日付を表示、設定します。
+.\" 訳注(Mar.1996):UTC (Universal Time Coordinate)
+.It Fl v
+分、時、日、曜日、月、年のいずれかを
+.Ar val
+にもとづき修正します。
+.Ar val
+の前にプラスもしくはマイナスが付いている場合、
+時刻はそれに従い前後に修正されます。
+そうでない場合は、指定した部分が設定されます。
+必要なら任意個このフラグを指定して時刻を修正することが出来ます。
+フラグは指定した順序に処理されます。
+.Pp
+分の範囲は 0-59、時の範囲は 1-12、日の範囲は 1-31、曜日の範囲は 0-6
+(sun-sat)、月の範囲は 1-12 (jan-dec)、
+年の範囲は 80-38 もしくは 1980-2038 です。
+.Pp
+.Ar val
+が数値の場合、
+.Ar y ,
+.Ar m ,
+.Ar w ,
+.Ar d ,
+.Ar H ,
+.Ar M
+のいずれかを使用して、時刻のどの部分を修正するのかを指定する必要があります。
+.Pp
+曜日もしくは月は数値の代りに名前で指定可能です。
+名前と共にプラス(もしくはマイナス)記号を使用した場合、
+日付は適合する次の(前の)曜日もしくは月に進みます(戻ります)。
+曜日もしくは月が現在のものと変らない場合、日は修正しません。
+.Pp
+詳細に関しては、下記の例を参照して下さい。
+.El
+.Pp
+プラス (``+'') で始まるオプションは、日付と時刻の表示方法を指定する
+フォーマット文字列です。フォーマット文字列には、
+.Xr strftime 3
+で記述されているような変換文字列と、任意のテキストを含むことができます。
+フォーマット文字列によって指定された文字の後には、つねに改行文字が
+出力されます。
+.Nm date
+のデフォルトの表示形式は、
+.Bd -literal -offset indent
+``+%+''
+.Ed
+.Pp
+としたものと同じです。
+.Pp
+もし、引数が``+''記号で始まる文字列でなければ、それはシステムに
+日時を設定するための値と解釈されます。日時を設定するための正式な
+表現は以下のとおりです:
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It Ar yy
+西暦の省略表現です。西暦の 10の位と 1 の位です(1989年なら89、06なら2006)。
+.It Ar mm
+月の数字表現です。1から12までの数字です。
+.It Ar dd
+日です。1から31までの数字です。
+.It Ar HH
+時です。0から23までの数字です。
+.It Ar MM
+分です。0から59までの数字です。
+.It Ar .ss
+秒です。0から61までの数字です。 (59 秒 + 2 秒までのうるう秒)
+.El
+.Pp
+分の指定以外はすべて省略可能です。
+.Pp
+夏時間と標準時の切り替えや、閏秒や閏年の取り扱いは自動的に行われます。
+.Pp
+.Sh 使用例
+以下のコマンド:
+.Bd -literal -offset indent
+date ``+DATE: %m/%d/%y%nTIME: %H:%M:%S%''
+.Ed
+.Pp
+は、下のような表示を行ないます。
+.Bd -literal -offset indent
+DATE: 11/21/87
+TIME: 13:36:16
+.Ed
+.Pp
+以下のコマンド:
+.Pp
+.Bd -literal -offset indent
+date -v1m -v+1y
+.Ed
+.Pp
+は以下を表示します:
+.Bd -literal -offset indent
+Sun Jan 4 03:15:24 GMT 1998
+.Ed
+.Pp
+(現在 Mon Aug 4 04:15:24 BST 1997 の場合)。
+.Pp
+以下のコマンド:
+.Bd -literal -offset indent
+date -v1d -v3m -v0y -v-1d
+.Ed
+.Pp
+は 2000 年 2 月の最後の日を表示します:
+.Bd -literal -offset indent
+Tue Feb 29 03:18:00 GMT 2000
+.Ed
+.Pp
+以下のコマンド:
+.Bd -literal -offset indent
+date -v1d -v+1m -v-1d -v-fri
+.Ed
+.Pp
+は今月最後の金曜日を表示します:
+.Bd -literal -offset indent
+Fri Aug 29 04:31:11 BST 1997
+.Ed
+.Pp
+(現在 Mon Aug 4 04:31:11 BST 1997 の場合)。
+.Pp
+以下のコマンド:
+.Bd -literal -offset indent
+date 8506131627
+.Ed
+.Pp
+は、
+.Dq Li "1985年6月13日午後4時27分"
+に日時を設定します。
+.Pp
+以下のコマンド:
+.Pp
+.Bd -literal -offset indent
+date 1432
+.Ed
+.Pp
+は、日を修正することなく、時だけを
+.Li "午後2時32分"
+に設定します。
+.Sh 環境変数
+.Nm date
+の実行は以下の環境変数の影響を受けます.
+.Bl -tag -width Ds
+.It Ev TZ
+日時を表示する際に用いられるタイムゾーンを設定します。
+通常のフォーマットは
+.Dq Pa /usr/share/zoneinfo
+からの相対パス名です。例えば、コマンド
+.Dq TZ=America/Los_Angeles date
+はカリフォルニアの現在の時刻を表示します。
+詳しいことは、
+.Xr environ 7
+を参照してください。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /var/log/messages -compact
+.It Pa /var/log/wtmp
+日付のリセットおよび時刻変更の記録がこのファイルに残されます。
+.It Pa /var/log/messages
+日付を変更したユーザの記録がこのファイルに残されます。
+.El
+.Sh 関連項目
+.Xr gettimeofday 2 ,
+.Xr strftime 3 ,
+.Xr strptime 3 ,
+.Xr utmp 5 ,
+.Xr timed 8
+.Rs
+.%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD"
+.%A R. Gusella
+.%A S. Zatti
+.Re
+.Sh 診断
+成功した場合は 0 を、日時を設定できなかった場合は 1 を、
+ローカルマシンの設定はできたが、グループのマシン全体の設定に失敗した
+場合は2を返します。
+.Pp
+timed が多数のマシンの時計をあわせる場合には、新しい時刻のセットに
+数秒かかることがあります。このとき
+.Nm date
+は、
+.Ql Network time being set
+と表示します。
+.Nm date
+と
+.Xr timed
+との間で通信に失敗した場合は、
+.Ql Communication error with timed
+が表示されます。
+.Sh バグ
+システムは
+.Tn VMS
+と高い互換性を持つフォーマットで日時を保持しようとしています。しかし、
+.Tn VMS
+は
+.Tn GMT
+ではなくローカルな時刻を使っており、夏時間を理解しません。そのため、
+.Tn UNIX
+と
+.Tn VMS
+を同時に使う場合は、
+.Tn VMS
+を
+.Tn GMT
+で使うべきでしょう。
+.Sh 規格
+.Nm date
+コマンドは
+.St -p1003.2
+互換であると想定しています。
+.Sh 歴史
+A
+.Nm date
+コマンドは
+.At v1
+から導入されました。 \ No newline at end of file
diff --git a/ja/man/man1/dc.1 b/ja/man/man1/dc.1
new file mode 100644
index 0000000000..3dfc2367c5
--- /dev/null
+++ b/ja/man/man1/dc.1
@@ -0,0 +1,367 @@
+.TH DC 1 "07 Apr 1994" "GNU Project"
+.\" jpman %Id: dc.1,v 1.4 1997/07/26 21:29:52 horikawa Stab %
+.ds dc \fIdc\fP
+.ds Dc \fIDc\fP
+.SH
+名称
+dc \- 任意精度の計算機
+.SH
+書式
+dc
+.SH
+解説
+.PP
+\*(dc は、逆ポーランド形式の無限精度の計算が行える卓上計算機です。
+この電卓は、定義やマクロ呼び出しも行えます。
+普通、 \*(dc は標準入力から読み込みます。
+コマンドライン引数が与えられた時は、それはファイル名となり、
+\*(dc はそのファイルを読み込み、ファイルの内容を実行した後で、
+標準入力から入力を取ります。
+全ての正常な出力は標準出力へ送られます。
+全てのエラー出力は標準出力へ送られます。
+.PP
+逆ポーランド記法計算機は、数をスタックに保存します。
+数字を入力すると、それをスタックに積み上げます。
+計算操作は、引数をスタックから取り出し、結果をスタックに積み上げます。
+.PP
+数字を
+.IR dc
+に入力するためには、数字 (小数点が有っても構いません) を入力します。
+指数表現はサポートされていません。
+負の数字を入力するためには、 ``_'' で始まる数字を入力します。
+``-'' は減算の二項演算子として使われているので、
+このために利用することはできません。
+引き続いて 2 つの数字を入力するためには、あいだに空白文字か改行文字を
+入力します。
+これらは、コマンドとしての意味はありません。
+.PD
+.SH
+表示コマンド
+.TP
+.B p
+スタックを変更することなく、スタックの先頭の値を表示します。
+改行文字が、数値の後に表示されます。
+.TP
+.B P
+スタックの先頭の値を表示し、スタックから取り出します。
+改行文字は、後に表示されません。
+.TP
+.B f
+変更することなく、
+.ig
+全てのレジスタの内容と
+..
+スタックの内容全部を表示します。
+これは、忘れてしまった時に使ったり、あるコマンドがどのような効果を
+もたらすのかを知りたい時には、良いコマンドです。
+.PD
+.SH
+計算
+.TP
+.B +
+二つの値をスタックから取り出し、加算を行い、結果をスタックに積みます。
+結果の精度は、引数の値にだけによって決まり、十分正確です。
+.TP
+.B -
+二つの値を取り出し、最初に取り出した値を 2 番目に取り出した値から
+引きます。その後、結果をスタックに積みます。
+.TP
+.B *
+二つの値を取り出し、かけ算を行い、結果をスタックに積みます。
+結果の小数の桁数は、現在の精度値 ( 以下参照 ) によって制御され、
+かけ算を行った値には依存しません。
+.TP
+.B /
+二つの値を取り出し、最初に取り出した値を 2 番目に取り出した値で割り、
+結果をスタックに積みます。
+小数の桁数は、精度値によって指定されます。
+.TP
+.B %
+二つの値を取り出し、
+.B /
+で計算された割算の余りを計算し、結果をスタックに積みます。
+割算は、精度値で指定された小数の桁数で行われ、
+余りも同じ小数の桁数で計算されます。
+.TP
+.B ^
+二つの値を取り出し、最初に取り出した値を指数とし、
+2 つめの値を底として指数計算します。
+指数の小数点以下は無視されます。
+精度値は、結果の小数の桁数を指定します。
+.TP
+.B v
+一つの値を取り出し、自乗根を求め、結果をスタックに積みます。
+精度値は、結果の小数の桁数を指定します。
+.PP
+ほとんどの演算子は、 ``精度値'' に影響を受けます。
+``精度値'' は、
+.B k
+コマンドで設定することができます。
+デフォルトの精度値はゼロです。これは、足し算と引き算を除く全ての算術は
+整数値の結果を出すことを意味しています。
+.PP
+剰余演算
+.B %
+には、少し説明が必要です。
+引数 ``a'' と ``b'' にて ``a - (b * (a / b))'' を計算しますが、
+``a / b'' は現在の精度値に基づいて計算されます。
+.SH
+スタックの制御
+.TP
+.B c
+スタックを消去し、空にします。
+.TP
+.B d
+スタック先頭の値を複製し、スタックに積みます。
+したがって、 ``4d*p'' は 4 の自乗を計算し、表示します。
+.SH
+レジスタ
+.PP
+\*(dc は、256 個のメモリレジスタを持っています。
+各レジスタは、一文字の名前を持っています。
+数字や文字列をレジスタに保存し、後で取り出すことができます。
+.TP
+.BI s r
+スタックの先頭から値を取り出し、レジスタ
+.IR r
+に保存します。
+.TP
+.BI l r
+レジスタ
+.I r
+の値を複製し、それをスタックに積みます。
+これは、
+.IR r
+の内容を変更しません。
+.PP
+各レジスタは、それ自身のスタックを持っています。
+現在のレジスタ値は、レジスタスタックの先頭です。
+.TP
+.BI S r
+( メイン ) スタックの先頭の値を取り出し、レジスタ
+.IR r
+のスタックにそれを積みます。
+レジスタの以前の値は、アクセスできなくなります。
+.TP
+.BI L r
+レジスタ
+.IR r
+のスタックの先頭の値を取り出し、それをメインスタックに積みます。
+レジスタ
+.IR r
+のスタックにあった以前の値がもしあれば、
+.BI l r
+コマンドを使ってアクセス可能となります。
+.ig
+.PP
+.B f
+コマンドは、全ての内容が保存されているレジスタのリストを、
+その内容ともに表示します。
+各レジスタの現在の内容 ( つまりレジスタスタックの先頭 )
+だけが表示されます。
+..
+.SH
+パラメータ
+.PP
+\*(dc は、その操作を制御するための 3 つのパラメータを持っています:
+精度と、入力の基数、出力の基数です。
+精度は、ほとんどの算術操作の結果で保存される小数の桁数を指定します。
+入力の基数は、入力された数字の解釈を制御します。
+入力された全ての数字はこの基数をつかっているとされます。
+出力の基数は、表示する数字で使われます。
+.PP
+入力と出力の基数は、分離されたパラメータです。
+等しく設定しなくてもいいですが、これは便利だったり紛らわしかったりします。
+入力の基数は 2 から 36 の範囲でなければなりません。
+出力の基数は最低 2 でなければなりません。
+精度はゼロ以上でなければなりません。
+精度は、現在の入力基数や出力基数に関係なく、いつも 10 進の桁数で決められます。
+.TP
+.B i
+スタックの先頭から値を取り出し、入力基数を設定するために使います。
+.TP
+.B o
+スタックの先頭から値を取り出し、出力基数を設定するために使います。
+.TP
+.B k
+スタックの先頭から値を取り出し、精度を設定するために使います。
+.TP
+.B I
+現在の入力基数をスタックに積みます。
+.TP
+.B O
+現在の出力基数をスタックに積みます。
+.TP
+.B K
+現在の精度をスタックに積みます。
+.SH
+文字列
+.PP
+\*(dc は、数と同じように文字列を操作できます。
+文字列に対してできる唯一のことは、それを表示し、マクロとして
+実行することです。
+マクロとは、 \*(dc コマンドとして実行される文字列の内容のことです。
+全てのレジスタとスタックは文字列を保存できます。
+そして、 \*(dc はいつも、与えられたデータが文字列か数字かを
+知っています。
+算術操作のようないくつかのコマンドは、数を必要としており、
+文字列が与えられた場合はエラーが表示されます。
+他のコマンドは、数字か文字列を受け入れることができます。
+例えば、
+.B p
+コマンドは、両方を受け付けることができ、データをその型に応じて
+表示します。
+.TP
+.BI [ characters ]
+(左右の釣合のとれた、
+.B [
+と
+.B ]
+で囲まれた
+)
+.I characters
+という文字列を作り、それをスタックに積みます。
+例えば、
+.B [foo]P
+は文字列
+.B foo
+を表示します (が、改行文字は表示しません)。
+.TP
+.B x
+スタックから値を取り出し、マクロとして実行します。
+普通、これは文字列です。数の場合は、単純にその値がスタックに
+積み戻されます。
+例えば、
+.B [1p]x
+は、マクロ
+.B 1p
+を実行します。
+.B 1p
+は、
+.B 1
+をスタックに積み、別の行に
+.B 1
+を表示します。
+.PP
+マクロは、しばしばレジスタにも保存されます。
+.B [1p]sa
+は、
+.B 1
+を表示するためのマクロを
+レジスタ
+.BR a
+に保存します。
+.B lax
+でこのマクロは実行できます。
+.TP
+.BI > r
+スタックから 2 つの値を取り出し、それらを数と仮定して比較し、
+もともとのスタックの先頭が大きい場合、レジスタ
+.I r
+の内容を実行します。
+したがって、
+.B 1 2>a
+は、レジスタ
+.BR a
+の内容を実行しますが、
+.B 2 1>a
+では実行しません。
+.TP
+.BI < r
+似ていますが、もともとのスタックの先頭が小さい場合にマクロを実行します。
+.TP
+.BI = r
+似ていますが、二つの取り出された値が等しい場合にマクロが実行されます。
+.ig
+これは、二つの文字列の等価性を比較するためにも使うことができます。
+..
+.TP
+.B ?
+端末から行を読み込み、実行します。
+このコマンドは、ユーザからの入力を要求するためのマクロで使えます。
+.TP
+.B q
+マクロを終了し、実行されたマクロからも終了します。
+一番上のレベルか、一番上のレベルから直接呼ばれたマクロから呼ばれると、
+.B q
+コマンドは \*(dc を終了します。
+.TP
+.B Q
+スタックから値を取り出し、それを終了すべきマクロレベル数として、
+その数のマクロを終了します。
+したがって、
+.B 3Q
+は、 3 つのレベルを終了します。
+.B Q
+コマンドでは、 \*(dc を終了することはありません。
+.SH
+状態の問い合わせ
+.TP
+.B Z
+スタックから値を取り出し、その桁数 (文字列の場合は、文字数) を計算し、
+その値をスタックに積みます。
+.TP
+.B X
+スタックから値を取り出し、その小数点以下の桁数を計算し、
+その値をスタックに積みます。文字列の場合、スタックには
+.\" -1.
+0
+が積まれます。
+.TP
+.B z
+現在のスタックの深さを、スタックに積みます。
+スタックの深さとは、
+.B z
+コマンドが実行される前のスタックのデータ数です。
+.SH
+その他のさまざまなこと
+.TP
+.B !
+与えられた行をシステムコマンドとして実行します ( シェルエスケープ ) 。
+.\"(訳注)シェルエスケープは、訳者が付け足しました。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.B #
+与えられた行をコメントとして取り扱います。
+.TP
+.BI : r
+スタックから 2 つの値を取り出します。
+スタックの先頭から 2 番目だった値で配列
+.IR r
+をインデックスし、スタックの先頭だった値をそこに保存します。
+.TP
+.BI ; r
+スタックから値を取り出し、配列
+.IR r
+のインデックスとして利用します。
+配列から選ばれた値は、その後でスタックに積まれます。
+.SH
+注釈
+.PP
+配列操作
+.B :
+と
+.B ;
+は、普通
+.IR bc
+の歴史的な実装だけで使われます
+( GNU の
+.I bc
+は、自分でそれを含んでおり、 \*(dc を実行する必要はありません) 。
+コメント操作
+.B #
+は、歴史的な
+.IR dc
+の実装には含まれない、新しいコマンドです。
+.SH
+バグ
+.PP
+バグ報告は、
+.BR bug-gnu-utils@prep.ai.mit.edu
+に電子メールでお願いします。
+単語 ``dc'' を ``Subject:'' フィールドのどこかに入れておいてください。
+.SH 歴史
+.I dc
+コマンドは、
+Version 1 AT&T UNIX
+から導入されました。
diff --git a/ja/man/man1/dd.1 b/ja/man/man1/dd.1
new file mode 100644
index 0000000000..b47eb68350
--- /dev/null
+++ b/ja/man/man1/dd.1
@@ -0,0 +1,327 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Keith Muller of the University of California, San Diego.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)dd.1 8.2 (Berkeley) 1/13/94
+.\" jpman %Id: dd.1,v 1.3 1997/05/16 00:16:21 h-nokubi Stab %
+.\" %Id: dd.1,v 1.2.8.2 1997/08/24 21:45:30 jkh Exp %
+.\"
+.Dd January 13, 1994
+.Dt DD 1
+.Os
+.Sh 名称
+.Nm dd
+.Nd ファイルのコンバートおよびコピー
+.Sh 書式
+.Nm dd
+.Op operands ...
+.Sh 解説
+.Nm
+ユーティリティは、標準入力を標準出力にコピーします。入力データは
+ブロック単位 (デフォルトでは512バイト) で読み書きされます。
+入力データのブロック数が短かった場合は、何回か読み込みを行い、
+ブロック数単位にまとめて出力します。
+終了時に、
+.Nm dd
+は、入力と出力の各々について、ブロック単位で処理できたブロック数と
+最終ブロックを満たさず半端になったブロック数を
+標準エラー出力に表示します。ブロック単位の変換で切り捨てられた
+入力レコードがあった場合には、そのブロック数も表示します。
+.Pp
+以下のオペランドが利用可能です:
+.Bl -tag -width of=file
+.It Cm bs= Ns Ar n
+入出力両方のブロックサイズを設定します。
+.Cm ibs , obs
+の指定に優先します。
+.Cm noerror ,
+.Cm notrunc ,
+.Cm sync
+以外の変換指定がない場合は、入力ブロック数が小さい場合のまとめ処理なしで
+入力ブロックを出力ブロックに 1 ブロック単位でコピーします。
+.It Cm cbs= Ns Ar n
+変換レコードサイズを
+.Va n
+バイトにします。
+レコード指向の変換が指定された場合には変換レコードサイズが必要です。
+.It Cm count= Ns Ar n
+入力のうち
+.Va n
+個のブロックだけをコピーします。
+.It Cm files= Ns Ar n
+.Va n
+個の入力ファイルをコピーします。このオペランドは入力デバイスが
+テープのときだけ有効です。
+.It Cm ibs= Ns Ar n
+入力ブロックのサイズを、デフォルトの 512 バイトに代えて
+.Va n
+バイトにします。
+.It Cm if= Ns Ar file
+標準入力のかわりに
+.Ar file
+から入力を行います。
+.It Cm obs= Ns Ar n
+出力ブロックのサイズをデフォルトの 512 バイトに代えて
+.Va n
+バイトにします。
+.It Cm of= Ns Ar file
+標準出力のかわりに
+.Ar file
+に対し出力を行います。
+.Cm notrunc
+が指定されないかぎり、普通の出力ファイルでは最後の 1 ブロックサイズに
+満たないデータは切り詰められます。
+出力ファイルの最初の部分がスキップされる場合は (
+.Cm seek
+オペランド参照)
+出力ファイルは そこまで切り詰められます。
+.It Cm seek= Ns Ar n
+コピーする前に、出力側ファイルの開始位置を先頭から
+.Va n
+ブロックだけ進めます。出力がテープデバイスでない場合は、
+.Xr lseek 2
+システムコールを使ってシークが実行され
+ます。テープデバイスの場合は、既存のブロックを読み捨てる事で指定位置まで
+進める処理を実行します。もしユーザがテープデバイスに対し読み込みのアクセス権
+を持っていないときは、テープデバイスに対する
+.Xr ioctl 2
+システムコールを使います。シーク処理がファイルの最後を超えて行われる場合は、
+ファイルの末尾から指定のシーク位置に相当する部分まで
+.Tn NUL
+データのブロックを挿入します。
+.It Cm skip= Ns Ar n
+コピーする前に、入力側ファイルの開始位置を先頭から
+.Va n
+ブロックだけ進めます。入力がシーク機能を持っているなら、
+.Xr lseek 2
+システムコールが使用されます。シーク機能がなければ、既存のブロックを
+読み捨てる事で指定位置まで進める処理を実行します。入力がパイプから渡される
+場合は、正確に指定されたバイト数が読まれます。
+それ以外のデバイスでは、読まれたブロックのサイズが指定のブロックサイズに
+満たない物や完全な物の区別をせずに、正確に指定されたブロック数が
+読まれます。
+.It Xo
+.Cm conv=
+.Ns Cm value Ns Op \&, Cm value \&...
+.Xc
+.Cm value
+に以下のリストから 1 つのシンボルを指定して変換を行います。
+.Bl -tag -width unblock
+.It Cm ascii , oldascii
+レコードの変換を行う前に
+.Tn EBCDIC
+から
+.Tn ASCII
+への文字コード変換を行います。そのほかは
+.Cm unblock
+と同じです。
+(これらの指定では
+.Cm cbs
+も指定されている場合は暗黙の内に
+.Cm unblock
+も指定された事になります。)
+.Tn ASCII
+用に 2 つの変換マップがあります。
+.Cm ascii
+は
+System V
+互換の お奨め変換マップです。
+.Cm oldascii
+は昔の
+.Tn AT&T
+および
+pre-4.3BSD-reno
+システムで使われていた変換マップです。
+.It Cm block
+入出力のブロック境界に関係なく、入力を newline (改行) もしくは
+end-of-file (ファイル末) で区切られる可変長レコード列として
+扱います。各入力レコードは
+.Cm cbs
+で指定する長さの固定長レコードに変換されます。
+変換するレコード・サイズより短い入力レコードは space (空白) で
+パディングされます。変換するレコード・サイズより長い入力レコードは
+長い部分が切り捨てられます。切り捨てがあった入力レコード数は、
+もしあれば、コピーの終了時に標準エラー出力に表示されます。
+.It Cm ebcdic , ibm , oldebcdic , oldibm
+レコードが変換された後で
+.Tn ASCII
+から
+.Tn EBCDIC
+への変換を行う以外は
+.Cm block
+と同じです。
+(これらの指定では
+.Cm cbs
+も指定されている場合は暗黙の内に
+.Cm block
+も指定された事になります。)
+.Tn EBCDIC
+用に 4 つの変換マップがあります。
+.Cm ebcdic
+は
+.At V
+互換の お奨め変換マップです。
+.Cm ibm
+は微妙に違う変換マップで、
+.At V
+で変換に
+.Cm ibm
+を指定した場合に相当します。
+.Cm oldebcdic
+と
+.Cm oldibm
+は、昔の
+.Tn AT&T
+および
+pre-4.3BSD-reno
+システムで使われていた変換マップです。
+.It Cm lcase
+英大文字を小文字に変換します。
+.It Cm noerror
+入力にエラーがあっても処理を止めないようにします。入力エラーが
+起こったときは、診断メッセージに続けて その時の入力と出力の
+ブロック数を、正常動作終了時に表示するメッセージと同じ
+フォーマットで標準エラー出力に表示します。
+もし
+.Cm sync
+変換も指定されていた場合は、入力データのうち失われた物を
+.Tn NUL
+バイト (ブロック指向の変換のときは space) に置き換えて、
+通常の入力バッファとして処理します。
+.Cm sync
+変換が指定されていなければ、その入力ブロックは出力から削除されます。
+テープかパイプ以外の入力ファイルでは、ファイル・オフセットは
+.Xr lseek 2
+を使ってエラーの発生したブロック以降にも設定されます。
+.It Cm notrunc
+出力ファイルを切り詰めません。
+これによって出力ファイルのブロックの内で明らかに
+.Nm dd
+によって書き込まれる部分以外は保存されます。
+.Cm notrunc
+はテープではサポートされません。
+.It Cm osync
+最後の出力ブロックを出力ブロックサイズを満たすようにパディングします。
+もし変換後に入力ファイルが出力ブロックサイズの整数倍でなかった場合に、
+書き込む際に一定サイズのブロックが必要なデバイスで使う時のため、
+最後の出力ブロックが直前のブロックと同じなるようにします。
+このオプションは
+.Cm bs= Ns Ar n
+によるブロックサイズ指定とは両立しません。
+.It Cm swab
+入力データを 2 バイトごとのペアとみなし、入れ替えます。入力が奇数
+バイトだった場合、最後のデータはそのままになります。
+.It Cm sync
+各入力ブロックを入力バッファ・サイズになるようにパディングします。
+パディングには、ブロック指向の変換の場合は空白を、そうでなければ
+.Tn NUL
+バイトを使います。
+.It Cm ucase
+英小文字を大文字に変換します。
+.It Cm unblock
+入出力のブロック境界に関係なく、入力を固定長レコード列として扱います。
+入力レコードの長さは
+.Cm cbs
+オペランドで指定します。
+データの後ろにパディングされている space を除去して
+newline をつけます。
+.El
+.El
+.Pp
+サイズの指定は 10 進のバイト数が期待されます。
+数字の最後に ``b'', ``k'', ``m'', ``w'' をつけた場合は、
+それぞれ数字に 512、1024 (1K)、1048576 (1M)、integer (整数) のバイト数が
+乗ぜられます。
+2つ以上の数字を ``x'' でつないだ物を積の意味で使用できます。
+.Pp
+終了時に、
+.Nm dd
+は、きちんともしくは部分的に入出力を行ったブロックの数、
+切り詰められた入力レコードの数、奇数長のバイト入れ換えを行った
+ブロックの数を標準エラー出力に表示します。
+部分的入力ブロックとは、入力ブロックサイズより少なく読まれた
+物のことです。
+部分出力ブロックとは、出力ブロックサイズより少なく書かれた
+物のことです。
+テープデバイスで部分出力ブロックが出た場合は致命的なエラーとみなされます。
+それ以外の場合は、そのブロックの残りが書かれます。
+キャラクタ・デバイスで部分出力ブロックが出た場合は警告メッセージが出ます。
+切り詰められた入力ブロックとは、可変長レコード指向の変換が
+指定され入力行が変換レコードに合わせるには長すぎるか newline で
+終っていない場合の物です。
+.Pp
+通常、入力または変換の もしくは両方の結果のデータは
+指定されたサイズの出力ブロックに集められます。
+入力データが最後に達した場合、残っている出力データはブロックとして
+出力されます。これは、最後の出力ブロックのサイズは
+出力ブロックサイズより短くなる可能性がある事を意味します。
+.Pp
+.Nm dd
+が
+.Dv SIGINFO
+(
+.Xr stty 1
+の引数 ``status'' 参照)
+シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に
+通常の処理完了時と同じフォーマットで出力します。
+.Nm dd
+が
+.Dv SIGINT
+シグナルを受けた場合、その時点の入出力ブロック数を標準エラー出力に
+通常の処理完了時と同じフォーマットで出力して
+.Nm dd
+は終了します。
+.Pp
+.Nm dd
+ユーティリティは成功した場合は 0 を、
+エラーが起きた場合は 0 より大きな値を返します。
+.Sh 関連項目
+.Xr cp 1 ,
+.Xr mt 1 ,
+.Xr tr 1
+.Sh 規格
+.Nm dd
+ユーティリティは
+.St -p1003.2
+規格のスーパーセットです。
+.Cm files
+オペランドおよび、
+.Cm ascii ,
+.Cm ebcdic ,
+.Cm ibm ,
+.Cm oldascii ,
+.Cm oldebcdic ,
+.Cm oldibm
+は
+.Tn POSIX
+規格を拡張しています。
diff --git a/ja/man/man1/df.1 b/ja/man/man1/df.1
new file mode 100644
index 0000000000..f103a2fe2b
--- /dev/null
+++ b/ja/man/man1/df.1
@@ -0,0 +1,150 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)df.1 8.2 (Berkeley) 1/13/94
+.\" jpman %Id: df.1,v 1.2 1997/04/07 05:31:08 mutoh Stab %
+.\" %Id: df.1,v 1.4.2.2 1997/09/19 06:18:10 charnier Exp %
+.\"
+.Dd January 13, 1994
+.Dt DF 1
+.Os BSD 4
+.Sh 名称
+.Nm df
+.Nd ディスクの空き領域等の表示
+.Sh 書式
+.Nm df
+.Op Fl ink
+.Op Fl t Ar type
+.Op Ar file | Ar filesystem ...
+.Sh 解説
+.Nm df
+は、
+.Ar file_system
+で指定したファイルシステム、
+もしくは
+.Ar file
+で指定したファイルが実際に格納されているファイルシステムの空きディスク容量の
+表示を行います。
+ディスク容量は、512 バイトを 1 ブロックとしたブロック数で表示
+します。
+.Nm df
+の引数として、
+.Ar file_system
+も
+.Ar file
+も指定されなかった場合は、マウントされているすべてのファイ
+ルシステムについての情報を表示します。
+ただし、
+.Fl t
+オプションによって、表示するファイルタイプの指示が可能です。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl i
+フリーな i ノードの情報も表示します。
+.It Fl k
+デフォルトの 512 バイトではなく、 1024 バイト (1K バイト)
+を 1 ブロックとしてディスク容量を表示します。
+このオプションは、環境変数
+.Ev BLOCKSIZE
+の指示を無効にします。
+.It Fl n
+.Fl n
+オプションが指定されると、
+.Nm df
+は、ファイルシステムから以前に得た情報を返します。
+情報の問い合わせに長い時間を要するおそれのあるファイルシステムに対して
+用いるオプションです。
+このオプションを指定すると、
+.Nm df
+はファイルシステムに新しい情報を問い合わせず、
+以前に取得しておいた最新ではない可能性のある情報を表示します。
+.It Fl t
+.Fl t
+オプションが指定されると、指示されたタイプのファイルシステムに関する情報のみ
+を表示します。
+認識されるファイルシステムのタイプは:
+ufs, nfs, mfs, lfs, msdos, fdesc, portal, kernfs, procfs, afs, isofs,
+iso9660fs, cdfs, cd9660
+です。
+また、いくつかのファイルシステムをまとめた指示も可能で:
+all (デフォルト),
+local (ufs, mfs, lfs, msdos, cd9660),
+misc (fdesc, portal, kernfs, procfs)
+を指示することができます。
+isofs, iso9660fs, cdfs, cd9660 という名前は、同じタイプの
+ファイルシステムを参照する別名です。
+``no'' の文字列をタイプ名の頭に付けるとそのタイプ以外のファイルシステム
+のタイプを指示することができます(例: ``nonfs'' は NFS でないすべての
+ファイルシステムを指示)。
+最初に指示される
+.Fl t
+オプションは、デフォルトを無効にし、それ以降の
+.Fl t
+オプションの指示は、現在のタイプの集合に対して指示されたタイプを付け加
+える(あるいは取り除く)操作になります。
+例えば、
+``df -t ufs -t lfs''
+や
+``df -t local -t nomfs''
+は、UFS と LFS のファイルシステムの情報を表示します。
+.El
+.Sh 環境変数
+.Bl -tag -width BLOCKSIZE
+.It Ev BLOCKSIZE
+環境変数
+.Ev BLOCKSIZE
+が設定されていれば、指定された値をブロックサイズとしてブロック数を表示します。
+.El
+.Sh バグ
+.Ar file_system
+または
+.Ar file
+が指示されてた場合は、
+.Fl n
+オプションと
+.Fl t
+オプションは
+無効になります。
+.Sh 関連項目
+.Xr quota 1 ,
+.Xr statfs 2 ,
+.Xr fstatfs 2 ,
+.Xr getfsstat 2 ,
+.Xr getmntinfo 3 ,
+.Xr fstab 5 ,
+.Xr mount 8 ,
+.Xr quot 8
+.Sh 歴史
+.Nm df
+ユーティリティは
+.At v1
+から登場しています。
diff --git a/ja/man/man1/dialog.1 b/ja/man/man1/dialog.1
new file mode 100644
index 0000000000..37c8ec858b
--- /dev/null
+++ b/ja/man/man1/dialog.1
@@ -0,0 +1,282 @@
+.TH DIALOG 1 "10 January 1994"
+.\" jpman %Id: dialog.1,v 1.3 1997/07/27 11:54:02 horikawa Stab %
+.SH 名称
+dialog \- シェルスクリプトからダイアログボックスを表示する
+.SH 書式
+.B dialog --clear
+.br
+.BI "dialog --create-rc " file
+.br
+.B dialog
+[
+.BI "\-\-title " title
+]
+[
+.B \-\-clear
+]
+[
+.BI "\-\-hline " line
+]
+[
+.BI "\-\-hfile " file
+]
+.B box-options
+.SH 解説
+.B dialog
+はシェルスクリプトから、
+質問形式、メッセージ表示形式など、
+いろいろな種類のダイアログボックスを表示するプログラムです。
+現在サポートされているイアログボックスは
+以下のとおりです。
+.LP
+.BR yes/no " ボックス、" " menu" " ボックス、" " input" " ボックス、"
+.BR message " ボックス、" " text" " ボックス、" " info" " ボックス、"
+.BR checklist " ボックス、" " program" " ボックス"
+.SH オプション
+.TP
+.B \-\-clear
+終了時に画面をクリアします。
+.TP
+.BI \-\-create-rc " file"
+.B dialog
+はランタイムコンフィグレーションをサポートしています。
+.I file
+にサンプルのコンフィグレーションファイルを書き出します。
+.TP
+.BI \-\-title " title"
+ダイアログボックスの最上行に表示する文字列
+.I title
+を指定します。
+.TP
+.BI \-\-hline " line"
+ダイアログボックスの最下行に表示する文字列
+.I line
+を指定します。
+.TP
+.BI \-\-hfile " file"
+? キーか F1 キーをタイプしたときに
+表示する
+.I file
+を指定します。
+.TP
+.B ボックスオプション
+.TP
+.BI \-\-yesno " text height width"
+縦
+.I height
+横
+.I width
+のサイズの
+.BR yes/no
+ダイアログボックスを表示します。
+.I text
+で指定された文字列はダイアログボックスの内部に
+表示されます。
+この文字列が長すぎて、1行で表示できない場合は、
+自動的に複数行に分割されます。
+.I text
+が文字列
+.I
+"\en"
+もしくは改行文字
+.I `\en\'
+を含んでいる場合、その場所で
+改行します。
+このダイアログボックスは
+ユーザに yes あるいは no という返答を求める
+際に役に立ちます。
+ダイアログボックスは
+.B Yes
+と
+.B No
+のボタンを持っており、
+.IR TAB
+キーで選択することができます。
+.TP
+.BI \-\-msgbox " text height width"
+.B message
+ボックスは
+.B yes/no
+ボックスと似ていますが、
+.B message
+ボックスの場合、
+.B OK
+ボタンしか表示されません。
+このダイアログボックスを使って、メッセージを表示
+することができます。
+ユーザはこのメッセージを読んだ後、
+.I ENTER
+キーを押して、
+.B dialog
+を終了し、シェルスクリプトの実行を続けることになります。
+.TP
+.BI \-\-infobox " text height width"
+.B info
+ボックスは基本的に
+.B message
+ボックスと同じですが、メッセージを表示すると
+すぐに終了します。
+.B dialog
+の終了時に画面はクリアされません。
+メッセージはシェルが後で画面をクリアするまで残ります。
+これは終了までに時間のかかる処理を行うことを、
+ユーザに知らせるときに便利です。
+.TP
+.BI \-\-inputbox " text height width"
+.B input
+ボックスはユーザに文字列を入力させる
+ときに役に立ちます。入力時に
+.I バックスペース
+キーを
+押すことで、タイプミスを訂正することができます。
+入力文字列がダイアログボックスより長くなった
+場合は、入力フィールドがスクロールします。
+終了時には入力された文字列を
+.IR stderr
+に出力します。
+.TP
+.BI \-\-textbox " file height width"
+.B text
+ボックスは、テキストファイルの内容をダイアログボックスの中に
+表示するためのものです。これは簡単なテキストファイルビュアーの
+ようなものです。
+表示中は、
+.IR UP/DOWN "、" PGUP/PGDN "、" HOME/END
+キーを使ってファイル中を移動できます。
+1 行がダイアログボックスより長い場合は、
+.I LEFT/RIGHT
+で左右にスクロールできます。
+より便利に使うために、
+前方検索、後方検索の機能も実装されています。
+.IP "\fB\-\-menu \fItext height width menu-height \fR[ \fItag item \fR] \fI..."
+.B menu
+ボックスは、その名のとおりダイアログボックスにリストを表示して
+ユーザに選ばせるものです。
+各メニューは
+.I tag
+と
+.I item
+で構成されます。
+.I tag
+は他の項目と区別するためのものです。
+.I item
+はその項目が表す内容を短く記述したものです。
+ユーザは
+.I UP/DOWN
+キー、または
+.I tag
+の先頭文字、
+.I 1-9
+を押すことで項目を選べます。
+.I menu-height
+は一度に表示できるメニューの数を設定します。
+.I menu-height
+より多くの項目がある場合、メニューがスクロールします。
+.B dialog
+を終了するとき、
+選択されたメニューの
+.I tag
+が
+.I stderr
+に出力されます。
+.TP
+.BI \-\-prgbox " command height width"
+.B program
+ボックスは
+.B command
+の出力をダイアログボックスに表示します。
+.IP "\fB\-\-checklist \fItext height width list-height \fR[ \fItag item status \fR] \fI..."
+.B checklist
+ボックスは、
+メニューから項目を選ぶという点で
+.B menu
+ボックスと似ていまが、
+項目のなかから 1 つを選ぶのではなく、
+ユーザが各項目をオン・オフに設定することができます。
+各項目のオン・オフの初期設定は
+.I status
+で設定できます。
+終了時には、
+ステータスがオンになっている項目の
+.I tag
+が
+.I stderr
+に出力されます。
+.SH ランタイムコンフィグレーション
+.TP 4
+1.
+以下のように、サンプルのコンフィグファイルを作成します。
+.LP
+.in +1i
+"dialog --create-rc <file>"
+.TP 4
+2.
+.B dialog
+は以下のように読み込むコンフィグファイルを決定します。
+.RS
+.TP 4
+a)
+環境変数
+.B DIALOGRC
+が設定されている場合、その値はコンフィグレーション
+ファイル名として扱われます。
+.TP 4
+b)
+(a) で指定されたファイルが存在しなかった場合、
+.I $HOME/.dialogrc
+がコンフィグレーションファイルとして扱われます。
+.TP 4
+c)
+(b) のファイルが存在しなかった場合、
+デフォルトの設定で起動します。
+.RE
+.TP 4
+3.
+サンプルのコンフィグレーションファイルを編集して、
+2 を参考に
+.B dialog
+が見付けることができる場所にコピーします。
+.SH 環境変数
+.TP 15
+.B DIALOGRC
+独自に設定をする場合は、コンフィグレーション
+ファイル名を指定します。
+.SH 関連ファイル
+.TP 20
+.I $HOME/.dialogrc
+デフォルトのコンフィギュレーションファイル
+.SH 診断
+.BR dialog
+が
+.BR Yes
+か
+.BR OK
+を押されて終了した場合は 0 を、
+.BR No
+か
+.BR Cancel
+を押されて終了した場合は 1 を返します。
+また、
+.B dialog
+の内部でエラーが起こるか、
+.B dialog
+を
+.I ESC
+キーを押して終了させた場合、-1 を返します。
+.SH 関連項目
+.B dialog(3)
+
+.SH バグ
+.I タブ
+キャラクタを含むテキストファイルを
+.B text
+ボックス
+で表示すると、うまく表示されません。
+テキストファイルの中の
+.I タブ
+キャラクタは
+事前にスペースに変換しておかなくてはなりません。
+.TP
+画面の書き換えには時間がかかります。
+.SH 作者
+Savio Lam (lam836@cs.cuhk.hk)
diff --git a/ja/man/man1/diff.1 b/ja/man/man1/diff.1
new file mode 100644
index 0000000000..3d33c65cbc
--- /dev/null
+++ b/ja/man/man1/diff.1
@@ -0,0 +1,433 @@
+.TH DIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
+.\" jpman %Id: diff.1,v 1.3 1997/05/16 00:15:44 h-nokubi Stab %
+.SH 名称
+diff \- 2 つのテキストファイルの間の差を求める
+.SH 書式
+.B diff
+[options] from-file to-file
+.SH 解説
+.I diff
+の最も単純な使用方法は、
+.I from-file
+と
+.I to-file
+の 2 つのファイルを指定することです。
+この場合、
+.I diff
+は、その 2 つのファイルの内容を比較します。ファイル名
+として、`-' を指定した場合は、標準入力から読み込みを行ないます。
+特殊な場合として、
+.B "diff \- \-"
+は標準入力をそれ自身と比較します。
+.PP
+もし、
+.I from-file
+としてディレクトリを指定し
+.I to-file
+がディレクトリでなかった場合、
+.I diff
+は
+.I to-file
+で指定したファイル名と同じ名前のファイルを
+.I from-file
+のディレクトリから捜して、そのファイルとの間で比較を行ないます。
+その逆に、
+.I to-file
+がディレクトリで
+.I from-file
+がディレクトリでない場合も、同様に処理します。なお、
+ディレクトリでない方のファイルに `-' を指定することはできません。
+.PP
+.I from_file
+と
+.I to_file
+の両方がディレクトリだった場合、
+.I diff
+は、両方のディレクトリ内でファイル名が同じファイル同士をアルファベット順に
+比較していきます。この時、
+.B \-r
+もしくは、
+.B \-\-recursive
+オプションが指定されていれば、
+サブディレクトリの中のファイルも再帰的に比較していきます。
+.I diff
+は、ディレクトリの実際の中身をファイルのように比較しません。標準入力は名前
+が無く``同じ名前を持ったファイル''の概念が適用できないので、
+完全指定したファイルは標準入力であってはなりません。
+.PP
+.B diff
+のオプションは
+.BR \-
+で始まります。よって通常
+.I from_file
+と
+.I to_file
+は
+.BR \-
+で始まりません。しかしながらそれ自体が引数である
+.B \-\-
+の後では、 残された引数が
+.BR \-
+で始まっていてもファイル名として扱います。
+.SS オプション
+GNU
+.I diff
+のすべてのオプションの要約は以下の通りです。ほとんどのオプション
+は2つの同等な名前を持ちます。1つは
+.BR \-
+で始まる1文字の名前で、もう1つは、
+.BR \-\-
+で始まる長い名前です。複数の1文字のオプション(引数を持たない場合)は、
+1つの文字列にまとめてしまって構いません。つまり
+.B \-ac
+は
+.B "\-a \-c"
+と同等です。長い名前のオプションはその名前の接頭辞が一意的に決まればどんな
+省略でもできます。鍵括弧
+.RB ( [
+と
+.BR ] )
+は、オプションが省略可能な引数を持つことを示します。
+.PP
+.TP
+.BI \- lines
+.B \-c
+か
+.B \-u
+と組み合わせて、相違点の前後(context)の表示行数を `数字'
+で指定します。このオプションだけでは、出力フォーマットは変化しません。
+このオプションは旧式(obsolete)です。
+.I patch
+をうまく働かせるためには、少なくとも前後 2 行ずつは必要です。
+.TP
+.\" 以下では、同等な1文字オプションと長い単語のオプションが
+.\" まとめて表示されるようにアレンジされ直されている。
+.B \-a
+.br
+.ns
+.TP
+.B \-\-text
+テキストファイルでないようなものについても、全てのファイルを
+テキストとみなして、1 行づつ比較していきます。
+.TP
+.B \-b
+.br
+.ns
+.TP
+.B \-\-ignore\-space\-change
+空白の数の違いを無視します。
+.TP
+.B \-B
+.br
+.ns
+.TP
+.B \-\-ignore\-blank\-lines
+空行が入っているもしくは足りないなどの違いは無視します。
+.TP
+.B \-\-brief
+.br
+.ns
+.TP
+.B \-q
+ファイルの違いの詳細は表示せず、違っているかどうかだけを報告します。
+.TP
+.B \-c
+``context output format'' を使用します。
+.\" これは、patch コマンドに
+.\" 適した形式で、違っている行だけでなく、その前後も数行出力する形式で
+.\" す。デフォルトでは 3 行づつ表示します。行数を変えるには、`-行数'オ
+.\" プションを使うか、次のオプションを使用します。
+.TP
+.BI "\-C " 行数
+.br
+.ns
+.TP
+.BI \-\-context[= 行数 ]
+``context output format'' を使用します。不一致の行の前後に、`行数'
+で指定した行数だけ表示します (context) 。
+.I patch
+をうまく働かせるためには、少なくとも 2 行の context が必要です。
+.TP
+.BI \-\-changed\-group\-format= format
+if-then-else 形式の両方のファイルから異なった行を含む部分を出力する
+ために
+.I format
+を使う。
+.TP
+.B \-d
+.br
+.ns
+.TP
+.BI \-\-minimal
+より小さな違いを見つけるアルゴリズムに変更します。このオプションを
+指定すると
+.I diff
+の処理速度は遅くなります(かなり遅くなることもあります)。
+.TP
+.BI "\-D " name
+.br
+.ns
+.TP
+.BI \-\-ifdef= name
+プリプロセッサマクロ
+.I name
+の条件記述を用いた if-then-else 形式にマージして出力します。
+.TP
+.B -e
+.br
+.ns
+.TP
+.B \-\-ed
+.I ed
+のスクリプトの形式で出力します。
+.TP
+.BI \-\-exclude= pattern
+.br
+.ns
+.TP
+.BI "\-x " pattern
+ディレクトリ単位の比較の時、ファイルやディレクトリ名が
+.I pattern
+にマッチした場合は、比較しないようにします。
+.TP
+.BI \-\-exclude\-from= file
+.br
+.ns
+.TP
+.BI "\-X " file
+ディレクトリ単位の比較の時、ファイルやディレクトリ名が
+.I file
+の中に含まれる pattern にマッチした場合は、比較しないようにします。
+.TP
+.B \-\-expand\-tabs
+.br
+.ns
+.TP
+.B \-t
+入力ファイルのタブによる位置調整をくずさないよう、タブを空白に展開します。
+.TP
+.B \-f
+.br
+.ns
+.TP
+.B \-\-forward\-ed
+.B ed
+のスクリプトと一見同じような出力をします。ただし、ファイルに
+現われる順序が違います。
+.TP
+.BI "\-F " regexp
+.br
+.ns
+.TP
+.BI \-\-show\-function\-line= regexp
+context diff 形式および unified diff 形式において、差分のブロック毎に、
+差分のブロックに先行し、かつ
+.I regexp
+にマッチする行のうちでもっともブロックに近い行を出力します。
+.TP
+.B \-h
+なにも機能はありません。通常の UNIX の diff との互換のためにあります。
+.TP
+.B \-H
+.br
+.ns
+.TP
+.B \-\-speed\-large\-files
+小さな違いがあちこちにあるような大きなファイルの処理を
+高速化するヒューリスティックを用います。
+.TP
+.BI \-\-horizon\-lines= lines
+2つのファイルの先頭と末尾における共通部分のうち
+.I lines
+行を残したままで差分を検索します
+.\" (通常は先頭と末尾の共通部分を削除してから検索を行います)。
+.TP
+.B \-i
+.br
+.ns
+.TP
+.B \-\-ignore\-case
+英大文字と小文字の違いを無視します。
+.TP
+.BI "\-I " regexp
+.br
+.ns
+.TP
+.BI \-\-ignore\-matching\-lines= regexp
+正規表現
+.I regexp
+にマッチした行が追加あるいは削除されていても無視します。
+.TP
+.B \-\-initial\-tab
+.br
+.ns
+.TP
+.B \-T
+通常形式および context diff 形式において、テキスト先頭に空白文字ではなく
+タブを入れます。行に含まれるタブが元と同じような形で見えます。
+.TP
+.B \-l
+.br
+.ns
+.TP
+.B \-\-paginate
+出力を
+.I pr
+に通してページ付けを行ないます。
+.TP
+.BI "\-L " label
+.br
+.ns
+.TP
+.BI \-\-label= label
+context diff 形式および unified diff 形式において、
+出力に付加されるファイル名の代わりに、
+.I label
+で指定したラベルを使用します。
+.TP
+.BI \-\-left\-column
+2段組形式において、2つの共通の行の左の欄だけを表示します。
+.TP
+.BI \-\-line\-format= format
+.I format
+を用いて、すべての入力行を
+if-then-else 形式で出力します。
+.TP
+.B \-n
+.br
+.ns
+.TP
+.B \-\-rcs
+RCS形式の差分を出力します。
+.B \-f
+と似ていますが、各コマンドには適用した行数がついた形となります。
+.TP
+.B \-N
+.br
+.ns
+.TP
+.B \-\-new\-file
+ディレクトリ単位の比較の時に、片方のディレクトリにだけ存在するファイルに
+関しては、他のディレクトリでは空のファイルがあるものとして扱います。
+.TP
+.BI \-\-new\-group\-format= format
+2番目のファイルにだけ存在する部分をif-then-else 形式で出力するために
+.I format
+を使います。
+.TP
+.BI \-\-new\-line\-format= format
+if-then-else 形式で 2番目のファイルにだけ存在する行を出力するために使う
+.I format
+.TP
+.BI \-\-old\-group\-format= format
+if-then-else 形式で 1番目のファイルにだけ存在する部分を出力するために使
+う
+.I format
+.TP
+.BI \-\-old\-line\-format= format ####
+if-then-else 形式で 1番目のファイルにだけ存在する行を出力するために使う
+.I format
+.TP
+.B \-P
+.br
+.ns
+.TP
+.B \-\-unidirectional\-new\-file
+ディレクトリの比較において、2番目のディレクトリにしか存在しないファイル
+があれば、1番目のディレクトリにもサイズ 0 のファイルがあるとみなします。
+.TP
+.B \-r
+.br
+.ns
+.TP
+.B \-\-recursive
+ディレクトリ単位の比較の時に、サブディレクトリがあれば、その配下も再帰的に
+検索して比較を行ないます。
+.TP
+.B \-\-report\-identical\-files
+.br
+.ns
+.TP
+.B \-s
+ファイルの内容が同じだった時に、その旨を報告します。
+.TP
+.BI "\-S " file
+.br
+.ns
+.TP
+.BI \-\-starting\-file= file
+ディレクトリ単位の比較の時に、
+.I file
+で指定したファイル名から実行します。これは、一連の比較作業を中断した後に
+途中から再開するのに便利です。
+.TP
+.B \-\-sdiff\-merge\-assist
+.I sdiff
+作業の手助けになる補足の情報を表示します。普通、
+.I sdiff
+が
+.I diff
+を実行する際にはこのオプションを付けるので、
+ユーザーが直接このオプションを使うことはありません。
+.TP
+.B \-\-show\-c\-function
+C のプログラムを認識して、どの関数で変更があったかを表示します。
+.TP
+.B \-\-side\-by\-side
+.br
+.ns
+.TP
+.B \-y
+比較する 2 つのファイルの内容を、横に並べて表示します(side-by-side 形式)。
+.TP
+.B \-\-suppress\-common\-lines
+side-by-side 形式の表示で、同じ内容の行は表示しないようにします。
+.TP
+.B \-u
+unified diff 形式を用います。
+.TP
+.BI \-\-unchanged\-group\-format= format
+if-then-else 形式で変更がなかった部分を出力するために使う
+.I format
+.TP
+.BI \-\-unchanged\-line\-format= format
+if-then-else 形式で変更がなかった行を出力するために使う
+.I format
+.TP
+.BI "\-U " 行数
+.br
+.ns
+.TP
+.BI \-\-unified[= 行数 ]
+unified diff 形式にします。不一致の行の前後に、`行数'で
+指定した行数のマッチした行も表示します。`行数'を省略した場合は 3行になります。
+patch をうまく働かせるためには、少なくとも前後 2 行は必要です。
+.TP
+.B \-v
+.br
+.ns
+.TP
+.B \-\-version
+.I diff
+のバージョンを表示します。
+.TP
+.B \-w
+.br
+.ns
+.TP
+.B \-\-ignore\-all\-space
+比較時に、空白は無視するようにします。
+.TP
+.BI "\-W " columns
+.br
+.ns
+.TP
+.BI \-\-width= columns
+side-by-side 形式の表示で、1 行の幅を
+.I columns
+で指定した文字数にします。
+.SH 関連項目
+cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1)
+.SH 戻り値
+比較結果として、違いが無かった場合は 0 を、違いが発見された場合は 1 を、
+何かエラーがおきた場合は 2 を返します。
diff --git a/ja/man/man1/diff3.1 b/ja/man/man1/diff3.1
new file mode 100644
index 0000000000..57749de00a
--- /dev/null
+++ b/ja/man/man1/diff3.1
@@ -0,0 +1,190 @@
+.\" jpman %Id: diff3.1,v 1.2 1997/06/02 15:34:32 horikawa Stab %
+.TH DIFF3 1 "22sep1993" "GNU Tools" "GNU Tools"
+.SH 名称
+diff3 \- 3 つのテキストファイルの差を求める
+.SH 書式
+.B diff3
+[options] mine older yours
+.SH 解説
+.I diff3
+は、3 つのファイルの間で比較を行ない、それらの違いを出力します。
+
+比較するファイルは
+.IR mine ,
+.IR older ,
+.I yours
+です。
+これらのうち、1 つは
+.BR \-
+を使用しても良く、これはファイルの代わりに標準入力を読むことを
+.I diff3
+に指示します。
+.SS オプション
+以下が GNU
+.I diff3
+が受け付ける全てのオプションのまとめです。
+(引数を取らない限り)1 文字のオプションをまとめて
+1 つのコマンドライン引数に出来ます。
+.TP
+.B \-a
+テキストファイルでないようなものについても、
+全てのファイルをテキストとみなして、1 行づつ比較していきます。
+.TP
+.B \-A
+.I older
+から
+.I yours
+への変更の全てを、
+.I mine
+に統合します。同じ行への変更で矛盾が出る部分は、ブラケット行で囲みます。
+.TP
+.B \-B
+-A の古い挙動です。矛盾のある部分を表示しません。
+.TP
+.B \-e
+.I older
+から
+.I yours
+への変更の全てを、
+.IR mine
+に統合するような
+.I ed
+のスクリプトを生成します。
+.TP
+.B \-E
+.B \-e
+と同様ですが、
+mine と yours とで重複する変更行をブラケットで括ります。
+.B \-e
+では重複する行については、次のように出力されます:
+.sp
+.nf
+<<<<<<< \fImine\fP
+lines from \fImine\fP
+=======
+lines from \fIyours\fP
+>>>>>>> \fIyours\fP
+.fi
+.TP
+.B \-\-ed
+.I older
+から
+.I yours
+への変更の全てを、
+.IR mine
+に統合するような
+.I ed
+のスクリプトを生成します。
+.TP
+.B \-\-easy\-only
+mine と yours の変更箇所が重複するような行を出力しない事を除いては、
+.B \-e
+と同等です。
+.TP
+.B \-i
+System V との互換のため、
+.I ed
+のスクリプトの最後に、
+.B w
+と
+.B q
+を出力します。このオプションは、オプション
+.B \-AeExX3
+のどれか 1 つと組み合わせて使われなけれなまりません。また、オプション
+.B \-m
+と組み合わせる事はできません。
+.TP
+.B \-\-initial\-tab
+出力行の前に、通常の 2 文字の空白の代わりにタブを入れます。
+各行の見た目が、タブ位置に揃います。
+.TP
+.BI "\-L " label
+.ns
+.TP
+.BI \-\-label= label
+.BR \-A ,
+.BR \-E ,
+.B \-X
+の各オプションで出力されるブラケットの部分に出力されるファイル名の代わりに
+label で指定したラベルを使用します。このオプションは、
+mine, older, yours の 3 つのファイルに対応して、3 回指定できます。
+デフォルトは入力ファイル名です。
+.B "diff3 \-L X \-L Y \-L Z \-m A B C"
+は
+.B "diff3 \-m A B C"
+と比べると、
+.BR A ,
+.BR B ,
+.B C
+が出力される代わりに、ラベル
+.BR X ,
+.BR Y ,
+.B Z
+が出力されます。
+.TP
+.B \-m
+.br
+.ns
+.TP
+.B \-\-merge
+mine を生成するエディットスクリプトをつくり、結果を標準出力に送ります。
+.I diff3
+の出力を
+.IR ed
+にパイプでつなぐのと異なり、
+バイナリファイルや不完全な行に対しても適用できます。
+エディットスクリプトのオプションが指定されてない場合は、
+.B \-A
+として処理します。
+.TP
+.B \-\-overlap\-only
+mine と yours の変更箇所が重複する行だけを出力する点を除いて、
+.BR \-e
+と同様です。
+.TP
+.B \-\-show\-all
+older から yours への変更を mine に統合します。重複する部分は、
+ブラケット行で囲みます。
+.TP
+.B \-\-show\-overlap
+.B \-e
+と同様ですが、mine と yours で重なる変更行をブラケットで括ります。
+.TP
+.B \-T
+出力行の前に、通常の 2 文字の空白の代わりにタブを入れます。
+各行の見た目が、タブ位置に揃います。
+.TP
+.B \-\-text
+テキストファイルでないようなものについても、
+全てのファイルをテキストとみなして、1 行づつ比較していきます。
+.TP
+.B \-v
+.br
+.ns
+.TP
+.B \-\-version
+.I diff3
+のバージョン番号を表示します。
+.TP
+.B \-x
+.B \-e
+と似ていますが、重なる変更のみを表示します。
+.TP
+.B \-X
+.B \-E
+と同様ですが、重なる変更のみを表示します。
+言い替えると、
+.B \-x
+と同様ですが、
+.B \-E
+と同じように変更をブラケットで括ります。
+.TP
+.B \-3
+.B \-e
+と同様ですが、重ならない変更部分のみを出力します。
+.SH 関連項目
+cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).
+.SH 診断
+.I diff3
+が成功した場合は 0 を、なんらかの矛盾が発見された場合は 1 を、何かエラーが
+おきた場合は 2 を返します。
diff --git a/ja/man/man1/dig.1 b/ja/man/man1/dig.1
new file mode 100644
index 0000000000..9697b07b39
--- /dev/null
+++ b/ja/man/man1/dig.1
@@ -0,0 +1,354 @@
+.\" %Id: dig.1,v 8.2 1997/06/01 20:34:33 vixie Exp %
+.\" jpman %Id: dig.1,v 1.4 1997/07/26 21:31:55 horikawa Stab %
+.\"
+.\" ++Copyright++ 1993
+.\" -
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" -
+.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies, and that
+.\" the name of Digital Equipment Corporation not be used in advertising or
+.\" publicity pertaining to distribution of the document or software without
+.\" specific, written prior permission.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
+.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
+.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+.\" SOFTWARE.
+.\" -
+.\" --Copyright--
+.\"
+.\" Distributed with 'dig' version 2.0 from University of Southern
+.\" California Information Sciences Institute (USC-ISI).
+.\"
+.\" dig.1 2.0 (USC-ISI) 8/30/90
+.\"
+.\" Man page reformatted for this release by Andrew Cherenson
+.\" (arc@sgi.com)
+.\"
+.TH DIG 1 "August 30, 1990"
+.SH 名称
+dig \- ドメイン名問い合わせパケットをネームサーバに送る
+.SH 書式
+.B dig
+.RI [ @\fIserver\fP ]
+.I domain
+.RI [ "<query-type>" ]
+.RI [ "<query-class>" ]
+.RI [ "+<query-option>" ]
+.RI [ "\-<dig-option>" ]
+.RI [ "%comment" ]
+.SH 解説
+\fIdig\fP (ドメイン情報手探り器; domain information groper) は、
+DNS (Domain Name System) サーバから情報を集めるために使われる
+柔軟なコマンドラインツールです。
+\fIdig\fP は二つのモードを持っています。
+これは、一つの問い合わせを行う単純な対話的利用モードと、
+いくつかの問い合わせ行のリスト中の各問い合わせを実行するバッチモードです。
+全ての問い合わせオプションは、コマンドラインから利用可能です。
+.PP
+普通の簡単な \fIdig\fP の使用方は、以下のような形式です。
+.sp 1
+ dig @server domain query-type query-class
+.sp 1
+ここで、
+.IP \fIserver\fP
+は、ドメイン名かドット表記のインターネットアドレスのどちらかです。
+もし、このオプションフィールドが省略された場合、 \fIdig\fP
+は、そのマシンのデフォルトのネームサーバを利用しようとします。
+.sp 1
+\fB注意:\fP ドメイン名が指定された時は、ドメイン名システムリゾルバ
+(つまり、 BIND) を使うことで解決しようとします。システムが DNS を
+提供していない時は、ドット形式のアドレスを指定する必要があります。
+その代わりに、処理できるどこかにサーバがある場合は、
+/etc/resolv.conf が存在し、デフォルトネームサーバがどこにあるかが
+記述されている、つまり、 \fIserver\fP 自身が解決可能であることが
+求められています。
+/etc/resolv.conf についての情報は
+.IR resolver (5)
+を参照してください。
+( 注意 : /etc/resolv.conf を変更すると、標準のリゾルバライブラリと
+それを使ういくつかのプログラムに影響を与えます。)
+オプションとして、ユーザは環境変数 LOCALRES を
+/etc/resolv.conf の代わりに使うためのファイルに設定できます。
+(LOCALRES 変数は、 \fIdig\fP リゾルバ固有のもので、標準のリゾルバでは、
+参照されません。) LOCALRES 変数が設定されていないか、
+設定されたファイルが読み込めない場合は、 /etc/resolv.conf が使われます。
+.IP \fIdomain\fP
+は、あなたが情報を要求しているドメイン名です。
+逆アドレスの問い合わせのための便利な方法は、-x オプションを見てください。
+.IP \fIquery-type\fP
+は、あなたが要求している情報のタイプ(DNS 問い合わせタイプ)です。
+省略された場合のデフォルトは、"a" (T_A = アドレス)
+が使われます。以下のタイプが認識されます。
+.sp 1
+.ta \w'hinfoXX'u +\w'T_HINFOXX'u
+.nf
+a T_A ネットワークアドレス
+any T_ANY 指定されたドメインの全て/任意の情報
+mx T_MX ドメインのメール交換情報 (MX)
+ns T_NS ネームサーバ
+soa T_SOA 認証レコードのゾーン
+hinfo T_HINFO ホスト情報
+axfr T_AXFR ゾーン転送情報
+ (権威を持ったサーバに尋ねなければなりません)
+txt T_TXT 任意の数の文字列
+.fi
+.sp 1
+(完全なリストは、RFC 1035 を参照してください。)
+.IP \fIquery-class\fP
+は、問い合わせで要求されるネットワーククラスです。
+省略された場合のデフォルトは、 "in" (C_IN = Internet) です。
+以下のクラスが認識されます。
+.sp 1
+.ta \w'hinfoXX'u +\w'T_HINFOXX'u
+.nf
+in C_IN インターネット・クラス・ドメイン
+any C_ANY 全て/任意のクラスの情報
+.fi
+.sp 1
+(完全なリストに付いては、 RFC 1035 を参照してください。)
+.sp 1
+\fB注意:\fP
+"any" は、クラスや問い合わせのタイプを指定するために使われます。
+\fIdig\fP は、最初に現れた "any" を query-type = T_ANY として解析します。
+query-class = C_ANY にするためには、 "any" を2度指定するか、
+"-c" オプション(以下参照)を利用して問い合わせクラスを
+指定しなければなりません。
+.SH その他のオプション
+.IP "%ignored-comment"
+"%" は、単に解析されない引数を含むために使われます。
+これは、 \fIdig\fP をバッチモードで実行する時に有効です。
+問い合わせリスト中の全ての @server-domain-name をリゾルブする代わりに、
+そのオーバヘッドを避けつつコマンドライン上にドメイン名を書くことが出来ます。
+以下の例を参照。
+.sp 1
+ dig @128.9.0.32 %venera.isi.edu mx isi.edu
+.sp 1
+.IP "\-<dig option>"
+"\-" は、 \fIdig\fP の操作に影響を与えるオプションを指定するために
+指定されます。以下のオプションが現在利用可能です
+( 便利であるかどうかは保証しません )。
+.RS
+.IP "\-x \fIdot-notation-address\fP"
+逆アドレス変換を指定する便利な形式です。
+"dig 32.0.9.128.in-addr.arpa" の代わりに、"dig -x 128.9.0.32"
+と指定できます。
+.IP "\-f \fIfile\fP"
+\fIdig\fP のバッチモードのためのファイルです。ファイルは、
+つづいて実行される問い合わせの指定 (\fIdig\fP のコマンドライン) の
+リストを含んでいます。
+';', '#', '\\n' で始まる行は無視されます。その他のオプションは、
+コマンドラインで現れるものは、個々のバッチによる問い合わせでも
+影響があります。
+.IP "\-T \fItime\fP"
+バッチモードで実行した時、連続した問い合わせの始まる時間間隔を秒で与え
+ます。2 つ以上のバッチ \fIdig\fP コマンドの実行を大体同期することができる
+ようになります。デフォルトは 0 です。
+.IP "\-p \fIport\fP"
+ポート番号です。標準でないポート番号で待つネームサーバに問い合わせます。
+デフォルトは 53 です。
+.IP "\-P[\fIping-string\fP]"
+問い合わせからかえってきた後で、
+.IR ping (8)
+コマンドを応答時間の比較のために実行します。これは、美しくないのですが、
+シェルを呼出します。統計の最後の 3 行がコマンドのために
+表示されます。
+.sp 1
+ ping \-s server_name 56 3
+.sp 1
+オプションの "ping string" が存在した時は、シェルコマンドでは
+"ping \-s" を置き換えます。
+.IP "\-t \fIquery-type\fP"
+問い合わせのタイプを指定します。タイプフィールド内の整数値か、
+上で述べたニーモニック表現 (つまり mx = T_MX) かで
+指定することができます。
+.IP "\-c \fIquery-class\fP"
+問い合わせのクラスを指定します。クラスフィールド内の整数値か、
+上で述べたニーモニック表現 (つまり in = C_IN) で
+指定することができます。
+.IP "\-envsav"
+このフラグは、全ての引数が解析された後で、
+\fIdig\fP 環境 (デフォルトや表示オプション等) を
+デフォルト環境としてファイルに保存するために指定します。
+標準のデフォルトが気に入らなく、たくさんのオプションを \fIdig\fP を
+使う度に指定することが嫌な場合は便利です。
+環境は、\fIdig\fP 出力 (以下参照) で詳しく述べられるフラグと同じように、
+リゾルバの状態変数フラグや、タイムアウト、再試行回数からなります。
+シェル環境変数 LOCALDEF がファイルの名前に設定されている場合、
+これが、デフォルトの \fIdig\fP 環境が保存される場所となります。
+そうでない場合は、ファイル "DiG.env" が現在の作業ディレクトリに
+作成されます。
+.sp 1
+\fB注意:\fP LOCALDEF は、 \fIdig\fP のリゾルバ固有であり、
+標準のリゾルバライブラリの操作には影響を与えません。
+.sp 1
+\fIdig\fP が実行される度に、 "./DiG.env" またはシェル環境変数
+LOCALDEF で指定されたファイルが探されます。そのようなファイルが
+存在し読める場合は、引数を解析する前にこのファイルから環境が
+読み込まれます。
+.IP "\-envset"
+このフラグは、バッチ問い合わせを実行する時にだけ影響があります。
+\fIdig\fP バッチファイル中で "\-envset" が指定されていると、
+この引数が解析された後の \fIdig\fP 環境は、
+バッチファイルが実行されている間もしくは、
+次の "\-envset" が指定されるまでの間は
+デフォルトの環境となります。
+.IP "\-[no]stick"
+このフラグは、バッチ問い合わせ実行にだけ影響を与えます。
+これは、 \fIdig\fP 環境を \fIdig\fP バッチファイル中での
+各問い合わせ (行) の前に (初期状態もしくは、"\-envset" で設定された)
+元の状態に戻すことを指定します。
+デフォルトの "\-nostick" は、 \fIdig\fP 環境を回復しないという意味ですので、
+\fIdig\fP バッチファイルの各行で指定されたオプションは、
+後の行でもその効果が残ったままになります (つまり "sticky" の
+デフォルトに回復されません)。
+
+.RE
+.IP "+<query option>"
+"+" はパケット問い合わせ中のオプション変更や
+\fIdig\fP 出力仕様を変更するために使われます。
+これらの多くは、
+.IR nslookup (8)
+で受け入れられるパラメータと同じものです。
+オプションが値を必要とする場合、その指定形式は以下のようになります。
+.sp 1
+ +keyword[=value]
+.sp 1
+ほとんどのキーワードは、省略が可能です。
+"+" オプションの解釈は非常に単純です。
+値はキーワードとスペースで区切ってはなりません。
+以下のキーワードが現在利用可能です。
+.sp 1
+.nf
+.ta \w'domain=NAMEXX'u +\w'(deb)XXX'u
+キーワード 省略形 意味 [デフォルト]
+
+[no]debug (deb) デバッグモードを変更 [deb]
+[no]d2 追加のデバッグモードを変更 [nod2]
+[no]recurse (rec) 再帰的探索を使うかどうか指定 [rec]
+retry=# (ret) 再試行の回数を # に設定 [4]
+time=# (ti) タイムアウト時間を # 秒に設定 [4]
+[no]ko 繋げておくオプション(vc を暗黙指定) [noko]
+[no]vc 仮想回線を使うかどうか指定 [novc]
+[no]defname (def) デフォルトドメイン名を使うかどうか指定 [def]
+[no]search (sea) ドメインサーチリストを使うかどうか指定 [sea]
+domain=NAME (do) デフォルトドメイン名を NAME に指定
+[no]ignore (i) trunc. エラーを無視するかどうか指定 [noi]
+[no]primary (pr) プライマリサーバを使うかどうか指定 [nopr]
+[no]aaonly (aa) 権威を持った問い合わせのみのフラグ [noaa]
+[no]sort (sor) リソースレコードを整列 [nosor]
+[no]cmd 解析された引数を表示 [cmd]
+[no]stats (st) 問い合わせの統計を表示 [st]
+[no]Header (H) 基本的なヘッダを表示 [H]
+[no]header (he) ヘッダフラグを表示 [he]
+[no]ttlid (tt) TTL を表示 [tt]
+[no]cl クラス情報を表示 [nocl]
+[no]qr 出て行った問い合わせを表示 [noqr]
+[no]reply (rep) 応答節を表示 [rep]
+[no]ques (qu) 質問節を表示 [qu]
+[no]answer (an) 解答節を表示 [an]
+[no]author (au) 権威節を表示 [au]
+[no]addit (ad) 加えられた節を表示 [ad]
+pfdef デフォルト表示フラグを設定
+pfmin 最小のデフォルト表示フラグを設定
+pfset=# 表示フラグを # に設定
+ (# は 16 進 /8 進/10 進が可能です)
+pfand=# 表示フラグに # とのビット論理積 (and) 適用
+pfor=# 表示フラグに # とのビット論理和 (or) 適用
+.fi
+.sp 1
+再試行回数と時間のオプションは、問い合わせデータグラムを送る際に、
+リゾルバライブラリによって使われる再送戦略に影響を与えます。
+アルゴリズムは以下の通りです
+.sp 1
+.in +5n
+.nf
+for i = 0 to retry \- 1
+ for j = 1 to num_servers
+ send_query
+ wait((time * (2**i)) / num_servers)
+ end
+end
+.fi
+.in -5n
+.sp 1
+(注意: \fIdig\fP はいつも num_servers として値 1 を使います。)
+.SH 詳細
+\fIdig\fP は、かつて BINDの
+.IR resolver (3)
+ライブラリの変更版を要求しました。
+BIND のリゾルバは、(BIND 4.9のように) \fIdig\fP を正しく
+動作させるようになって来ています。本質的に、 \fIdig\fP は、
+引数の解釈に(とても良くは無いですが)努力し、適当なパラメータを
+設定します。\fIdig\fP は
+リゾルバの関数 res_init(), res_mkquery(), res_send() を使い、
+また _res 構造体を操作します。
+.SH 関連ファイル
+.ta \w'/etc/resolv.confXX'u
+/etc/resolv.conf 初期状態のドメイン名とネームサーバ
+\&./DiG.env デフォルトオプションを保存するデフォルトファイル
+.br
+.SH 環境変数
+LOCALRES /etc/resolv.conf の代わりに使うファイル
+.br
+LOCALDEF デフォルトの環境ファイル
+.SH 作者
+Steve Hotz
+hotz@isi.edu
+.SH 謝辞
+\fIdig\fP は、 Andrew Cherenson によって書かれた
+.IR nslookup (8)
+の関数を使っています。
+.SH バグ
+\fIdig\fP は "這い回る機能主義 (creeping featurism)" の深刻事例 --
+開発中に潜在的な用途をいくつか考えた結果です。
+おそらく苛酷なダイエットが有効でしょう。
+同様に、表示フラグと項目の粒度は、その場限りで
+生まれたもので、存在理由はそれほどありません。
+.PP
+問題がリゾルバ中のどこかで起こった時に、
+\fIdig\fP は、 (適切な状態を持って)一貫性のあるように終了しません
+(注意:大部分の共通の終了状態はちゃんと扱います)。
+これは、バッチモードで実行している時に特に悩まされます。
+異常終了した時(さらにそれを捕まえられなかった時)、バッチ全体が終了します。
+そのようなイベントをとらえた時、 \fIdig\fP は単に次の問い合わせを
+続けます。
+.SH 関連項目
+named(8), resolver(3), resolver(5), nslookup(8)
diff --git a/ja/man/man1/dnsquery.1 b/ja/man/man1/dnsquery.1
new file mode 100644
index 0000000000..90843421bf
--- /dev/null
+++ b/ja/man/man1/dnsquery.1
@@ -0,0 +1,163 @@
+.TH DNSQUERY 1 "10 March 1990"
+.\" jpman %Id: dnsquery.1,v 1.3 1997/08/20 12:21:56 horikawa Stab %
+.UC 6
+.SH 名称
+dnsquery \- リゾルバを用いて DNS に問い合わせる
+.SH 書式
+.B dnsquery
+[-n
+.I nameserver]
+[-t
+.I type]
+[-c
+.I class]
+[-r
+.I retry]
+[-p
+.I retry period]
+[-d] [-s] [-v] host
+.SH 解説
+.IR dnsquery
+プログラムは、BIND リゾルバのライブラリ呼び出しによって
+ネームサーバとやりとりする一般的なインタフェースです。
+本プログラムはオペコード QUERY によるネームサーバ問い合わせを
+サポートしています。
+本プログラムは、nstest, nsquery, nslookup のようなプログラムを
+置き換えるあるいは補うものとして作成されました。
+.IR host
+と
+.IR ns
+以外の引数は大文字小文字を区別しません。
+.SH オプション
+.TP 1i
+.B \-n
+問い合わせに用いるネームサーバ。
+ネームサーバ指定は、w.x.y.z 形式のインターネットアドレス表記でも、
+ドメインネーム表記でも構いません。
+(デフォルト: /etc/resolv.conf の指定)
+.TP 1i
+.B \-t
+関心あるリソースレコード型。型には以下のものがあります:
+.RS 1.5i
+.TP 1i
+A
+アドレス
+.PD 0
+.TP 1i
+NS
+ネームサーバ
+.TP 1i
+CNAME
+正式名
+.TP 1i
+PTR
+ドメインネームポインタ
+.TP 1i
+SOA
+Start of Authority
+.TP 1i
+WKS
+よく知られたサービス(well-known service)
+.TP 1i
+HINFO
+ホスト情報
+.TP 1i
+MINFO
+メールボックス情報
+.TP 1i
+MX
+メール交換(mail exchange)
+.TP 1i
+RP
+responsible person
+.TP 1i
+MG
+メールグループメンバ
+.TP 1i
+AFSDB
+DCE または AFS サーバ
+.TP 1i
+ANY
+ワイルドカード
+.RE
+.PD
+.IP
+大文字小文字どちらでも使用できます。(デフォルト: ANY)
+.TP 1i
+.B \-c
+関心あるリソースレコードのクラス。クラスには以下のものがあります:
+.RS 2i
+.TP 1i
+IN
+インターネット
+.PD 0
+.TP 1i
+HS
+Hesiod
+.TP 1i
+CHAOS
+Chaos
+.TP 1i
+ANY
+ワイルドカード
+.RE
+.PD
+.IP
+大文字小文字どちらでも使用できます。(デフォルト: IN)
+.TP 1i
+.B \-r
+ネームサーバが応答しない場合のリトライ回数。(デフォルト: 4)
+.TP 1i
+.B \-p
+タイムアウト時間(秒)。 (デフォルト: RES_TIMEOUT)
+.\" 以下の 2行は前後のつながり不明。英語版の段階で欠落あり?? (jpman 酒井)
+.\" .IR options
+.\" field. (default: any answer)
+.\" -a オプション削除時のゴミだと思います(horikawa@jp.freebsd.org)
+.TP 1i
+.B \-d
+デバッグ機能を有効にする。リゾルバの
+.IR options
+フィールドの RES_DEBUG ビットをセットします。(デフォルト: デバッグ機能オフ)
+.TP 1i
+.B \-s
+パケットではなく
+.IR ストリーム
+を用います。つまり、ネームサーバとの接続に UDP データグラムではなく、
+TCP ストリームを用います。リゾルバの
+.IR options
+フィールドの RES_USEVC ビットをセットします。(デフォルト: UDP)
+.TP 1i
+.B \-v
+オプション 's' と同じ意味です。
+.TP 1i
+.B host
+関心あるホスト名(あるいはドメイン名)。
+.SH 関連ファイル
+/etc/resolv.conf デフォルトのネームサーバと検索リスト
+.br
+<arpa/nameser.h> 利用できる RR タイプとクラスの一覧
+.br
+<resolv.h> リゾルバのフラグ一覧
+.SH 関連項目
+nslookup(8), nstest(1), nsquery(1),
+named(8), resolver(5)
+.SH 診断
+リゾルバが問い合わせの回答に失敗し、デバッグ機能が有効になっていない場合、
+.IR dnsquery
+は単に以下のようなメッセージを表示します:
+.TP 1i
+Query failed (rc = 1) : Unknown host
+.LP
+リターンコードの値は h_errno から得ます。
+.SH バグ
+IN 以外のクラスを問い合わせると面白い結果が得られることがあります。
+というのは、ネームサーバは普通、クラス IN のリソースレコードとして
+ルートネームサーバのリストだけしか持っていないからです。
+.PP
+本コマンドは、inet_addr() を呼び出して `-n' オプションが
+正しいインターネットアドレスかどうかを判断します。
+残念ながら、inet_addr() は一部の(正しくない)アドレス(例えば 1.2.3.4.5)に
+対してセグメンテーションフォールトを起こすことがあるようです。
+.SH 作者
+Bryan Beecher
diff --git a/ja/man/man1/domainname.1 b/ja/man/man1/domainname.1
new file mode 100644
index 0000000000..c40f762f7a
--- /dev/null
+++ b/ja/man/man1/domainname.1
@@ -0,0 +1,67 @@
+.\" Copyright (c) 1983, 1988, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)hostname.1 8.1 (Berkeley) 5/31/93
+.\" %Id: domainname.1,v 1.2.6.1 1997/08/24 21:48:26 jkh Exp %
+.\" jpman %Id: domainname.1,v 1.3 1997/08/07 12:10:39 horikawa Stab %
+.\"
+.Dd September 18, 1994
+.Dt DOMAINNAME 1
+.Os "FreeBSD 2.0"
+.Sh 名称
+.Nm domainname
+.Nd 現在の YP/NIS ドメイン名の設定、表示
+.Sh 書式
+.Nm domainname
+.Op Ar ypdomain
+.Sh 解説
+.Nm domainname
+は現在の YP/NIS ドメイン名の表示をします。
+スーパユーザは、引数にドメイン名を指定することでドメイン名の設定を
+することもできます。
+通常このコマンドは、起動時のネットワークの初期化スクリプト
+.Pa /etc/rc.network
+で実行されます。
+.Sh 注意事項
+YP/NIS (昔は ``Yellow Pages'' でしたが、法律上の問題で改名しました)
+のドメイン名は、
+必ずしもドメインネームシステム(DNS)のドメイン名とは関係有りません。
+しかし、しばしば管理上の便利さから同じに設定される
+場合があるようです。
+.Sh 関連項目
+.Xr getdomainname 3
+.Sh 歴史
+.Nm domainname
+コマンドは
+.Tn SunOS
+の同様のコマンドをベースに、
+.Tn FreeBSD
+1.1 で登場しました。
diff --git a/ja/man/man1/du.1 b/ja/man/man1/du.1
new file mode 100644
index 0000000000..c8872ae26d
--- /dev/null
+++ b/ja/man/man1/du.1
@@ -0,0 +1,131 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)du.1 8.2 (Berkeley) 4/1/94
+.\" %Id: du.1,v 1.6.2.2 1997/09/15 01:36:18 jkh Exp %
+.\" jpman %Id: du.1,v 1.3 1997/06/18 16:43:08 horikawa Stab %
+.\"
+.Dd April 1, 1994
+.Dt DU 1
+.Os
+.Sh 名称
+.Nm du
+.Nd ディスク使用統計の表示
+.Sh 書式
+.Nm du
+.Op Fl H | Fl L | Fl P
+.Op Fl a | s | d Ar depth
+.Op Fl k
+.Op Fl x
+.Op Ar file ...
+.Sh 解説
+.Nm du
+ユーティリティは、引数に指定された各ファイル、および
+引数に指定された各ディレクトリを根とするファイル階層内にある
+各ディレクトリ内のディスク使用統計をブロック単位で表示します。
+引数にファイルが指定されなかった場合には、カレントディレクトリを
+根とするファイル階層内のブロック単位の使用統計を表示します。
+ブロック数は
+.Xr stat 2
+システムコールで返される値、すなわち 512 バイトブロックです。
+.Fl k
+フラグを指定した場合、表示は 1024 バイトブロックにて行います。
+端数となるブロック数は切り上げられます。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl H
+コマンドラインに指定されたシンボリックリンクをたどります。
+(階層内を調べている途中で見つかったシンボリックリンクはたどりません。)
+.It Fl L
+すべてのシンボリックリンクをたどります。
+.It Fl P
+シンボリックリンクを全くたどりません。
+.It Fl a
+ファイル階層内の各ファイルの情報も表示します。
+.It Fl d Ar depth
+深さ
+.Ar depth
+までの全てのディレクトリだけを表示します.
+.It Fl k
+ブロックサイズを、デフォルト値ではなく、1024 バイト (1 キロバイト)
+ブロックとして報告します。このオプションは環境変数の
+.Ev BLOCKSIZE
+より優先されることに注意してください。
+.It Fl s
+指定されたファイルの総計のみを表示します。
+.It Fl x
+ファイルシステムマウントポイントはたどりません。
+.El
+.Pp
+.Nm du
+は、
+.Fl H
+もしくは
+.Fl L
+オプションが指定されない限り、シンボリックリンクの大きさは
+リンクの参照先の大きさではなく、シンボリックリンク自身の
+占める大きさとして数えます。
+もし
+.Fl H
+もしくは
+.Fl L
+のどちらかのオプションが指定された場合には、
+たどられた全てのシンボリック
+リンクの大きさは数えられず、また表示もされません。
+.Fl H ,
+.Fl L ,
+.Fl P
+オプションは、お互いを打ち消しあうため、コマンドの動作は
+最後に指定されたものによって決定されます。
+.Pp
+複数のハードリンクを持つファイルは、
+.Nm du
+の実行中、1 回しか数えられず、1 回しか表示されません。
+.Sh 環境変数
+.Bl -tag -width BLOCKSIZE
+.It Ev BLOCKSIZE
+.Ev BLOCKSIZE
+環境変数が指定されていて
+.Fl k
+オプションが指定されていないと、ブロック数はそのブロックサイズ単位で
+表示されます。
+.El
+.Sh 関連項目
+.Xr df 1 ,
+.Xr fts 3 ,
+.Xr symlink 7 ,
+.Xr quot 8
+.Sh 歴史
+.Nm du
+コマンドは、
+.At v1
+で登場しました。
diff --git a/ja/man/man1/echo.1 b/ja/man/man1/echo.1
new file mode 100644
index 0000000000..5f66458039
--- /dev/null
+++ b/ja/man/man1/echo.1
@@ -0,0 +1,70 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)echo.1 8.1 (Berkeley) 7/22/93
+.\" jpman %Id: echo.1,v 1.2 1997/04/02 00:07:04 mutoh Stab %
+.\" %Id: echo.1,v 1.3 1995/08/31 17:25:54 jkh Exp %
+.\"
+.Dd July 22, 1993
+.Dt ECHO 1
+.Os
+.Sh 名称
+.Nm echo
+.Nd 引数の文字列を標準出力に出力する
+.Sh 書式
+.Nm echo
+.Op Fl n
+.Op "string ..."
+.Sh 解説
+.Nm echo
+は、各引数の間を 1 つの空白文字 (`` '') で区切り、最後に改行 (``\en'') を
+付加したものを標準出力に書き出します。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width flag
+.It Fl n
+改行を付加しません。
+これは、iBCS2 互換システムで行われていたように、
+文字列の最後に `\ec' を付け加える事で実現しています。
+.El
+.Pp
+.Sh 戻り値
+成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
+.Sh 関連項目
+.Xr printf 1
+.Sh 規格
+.Nm echo
+ユーティリティは
+.St -p1003.2
+準拠です。
diff --git a/ja/man/man1/ed.1 b/ja/man/man1/ed.1
new file mode 100644
index 0000000000..fc0d4eb6d5
--- /dev/null
+++ b/ja/man/man1/ed.1
@@ -0,0 +1,966 @@
+.\" %Id: ed.1,v 1.8.2.1 1997/10/12 08:09:12 jmg Exp %
+.\" jpman %Id: ed.1,v 1.2 1997/06/09 15:03:56 jsakai Stab %
+.TH ED 1 "21 May 1993"
+.SH 名称
+.\" ed, red \- text editor
+ed \- 行指向のテキストエディタ
+.SH 書式
+ed [-] [-sx] [-p \fIstring\fR] [\fIfile\fR]
+.\" .LP
+.\" red [-] [-sx] [-p \fIstring\fR] [\fIfile\fR]
+.SH 解説
+.B ed
+は、行指向のテキストエディタです。
+本コマンドを用いることで、テキストファイルの生成、表示、変更その他の操作を
+行なうことができます。
+.\" .B red
+.\" is a restricted
+.\" .BR ed :
+.\" it can only edit files in the current
+.\" directory and cannot execute shell commands.
+
+.I file
+引数を指定して本コマンドを起動すると、ファイル
+.I file
+のコピーをエディタのバッファに読み込みます。
+以後の変更はそのコピーに対して行なわれ、
+.I file
+で指定したファイル自身が直接変更されることはありません。
+.B ed
+コマンドを終了する際、
+.I `w'
+コマンドで明示的にセーブしなかった変更点はすべて失われます。
+
+編集は、
+.I コマンド
+モードと
+.I 入力
+モードの 2 つの異なるモードを使い分けて行ないます。
+.B ed
+を起動したら、まずコマンドモードに入ります。
+本モードでは、標準入力からコマンドを読み込み、それを実行することで
+エディタバッファの内容操作を行ないます。
+典型的なコマンドは、以下のようなものです。
+.sp
+.RS
+,s/\fIold\fR/\fInew\fR/g
+.RE
+.sp
+これは、編集しているテキストファイル中に
+.I old
+という文字列があったら、これらをすべて文字列
+.IR new
+に置き換えるコマンドです。
+
+.I `a'
+(append)、
+.I `i'
+(insert)、あるいは
+.I `c'
+(change) といった入力コマンドが入力された場合、
+.B ed
+は入力モードに移行します。これが、ファイルにテキストを追加する
+主たる方法です。
+このモードでは、コマンドを実行することはできません。
+そのかわり、標準入力から入力されたデータは、
+直接エディタバッファへと書き込まれます。行は、改行キャラクタまで
+のテキストデータおよび、最後の
+.IR 改行
+キャラクタを含むデータから構成されます。
+ピリオド 1 つだけ (\fI.\fR) の行を入力すると、入力モードを終了します。
+
+すべての
+.B ed
+コマンドは、全ての行もしくは指定した範囲の行の操作が可能です。例えば、
+.I `d'
+コマンドは指定した行を削除し、
+.I `m'
+コマンドは指定した行を移動します。
+上に示した例のように、置換によってある行の一部分のみを変更することは
+可能ですが、
+.I `s'
+コマンドは、一度に全部の行にわたって変更を行なうことも可能です。
+
+一般的には、
+.B ed
+コマンドは、0 個以上の行番号および、それに連なる 1 文字コマンドから
+成り立ちます。場合によっては追加のパラメータをもつこともあります。
+いうなれば、コマンドは以下の構造を持ちます。
+.sp
+.RS
+.I [address [,address]]command[parameters]
+.RE
+.sp
+行番号はコマンドの操作対象行あるいは対象行範囲を示します。
+行番号の指定個数が、コマンドが受け付け可能な個数よりも少ない場合には、
+デフォルトの行番号が採用されます。
+
+.SS オプション
+.TP 8
+-s
+診断メッセージを抑制します。本オプションは、
+.BR ed
+の入力がスクリプトによって行なわれる場合に有効です。
+
+.TP 8
+-x
+続く読み書きの際に行なわれる暗号化に用いる鍵の入力を促します
+(
+.I `x'
+コマンドを参照して下さい)。
+
+.TP 8
+.RI \-p \ string
+コマンドプロンプトとして表示する文字列を指定します。
+コマンドプロンプトは、コマンドモードで
+.I `P'
+コマンドを実行することで、表示する/しないを切り替えることが可能です。
+
+.TP 8
+.I file
+編集対象のファイルを指定します。
+.I file
+名の先頭に感嘆符 (!) が付加されていた場合、そのファイル名はシェルコマンドと
+して解釈されます。この場合、編集対象のテキストは、
+.I file
+で指定したコマンドを実行した結果、標準出力に出力されるデータです。
+先頭が感嘆符で始まるファイルを編集する場合には、ファイル名の先頭に
+バックスラッシュ (\\) を付加して下さい。
+感嘆符以外の文字で始まるファイル名については、編集対象のファイル名は
+.I file
+となります。
+
+.SS 行指定
+行は、バッファ内の行番号で表現されます。
+.B ed
+は
+.I 現在行
+と呼ばれるものを管理しており、
+コマンドに行番号が指定されない場合は、
+現在行がデフォルト行として用いられます。
+ファイルが最初に読み出された直後は、現在行はファイルの最後の行となります。
+一般的に、現在行はコマンドが操作した最後の行となります。
+
+行番号は、以下の一覧のうち 1 つおよび、補助的に付加される
+相対行番号 (オフセット) から構成されます。
+相対行番号は、任意の数字の組合せと演算子、そして空白文字を含みます
+( 例えば
+.IR + ,
+.I -
+や
+.IR ^
+が演算子に含まれます ) 。
+行番号は、左から右に解釈され、それらの演算子を含む値は、現在行からの相対行番
+号と解釈されます。
+
+行番号の表現に関して上記の規則が適用される中で、行番号
+.I 0
+( ゼロ )
+に関しては、例外的な扱いがされます。
+これは「最初の行より前」を意味し、
+それが正しい意味を持つ場合は常に利用可能です。
+
+行範囲は、カンマもしくはセミコロンで区切られた 2 つのアドレスで示されます。
+最初に指定される行番号は、次に指定される行番号を超える値を指定して
+はいけません。行範囲指定で行番号が 1 つしか指定されなかった場合には、次に
+指定されるアドレスと最初に指定されたアドレスが同じものであるとみなされ
+ます。ここで 2 つを超える数の行番号が指定されると、最後の 2 つの行番号で
+決定される範囲がコマンド実行対象になります。行番号の指定を 1 つだけしか
+想定していないコマンドの場合、最後の 1 つの行番号の行がコマンド実行対象
+となります。
+
+コンマで区切られた各行番号は、現在行からの相対行を指し示します。
+セミコロンで区切られている場合は、範囲の始めの行は現在行が設定され、
+範囲の終りは始めの行からの相対行で表わされます。
+
+
+行番号の指定には、以下のシンボルが使用可能です。
+
+.TP 8
+\&.
+バッファ中の現在行を表します。
+
+.TP 8
+$
+バッファ中の最終行を表します。
+
+.TP 8
+n
+The
+バッファ内の
+.IR n
+行目を表します。
+.I n
+は、
+.I [0,$]
+の間です。
+
+.TP 8
+- or ^
+1 行前の行です。
+相対行指定
+.I -1
+と同等であり、複数指定することで効果を累積することが可能です。
+.\" --- という指定をすることで、2 行前を示すことができます。
+.\" ↑原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997)
+
+.TP 8
+-\fIn\fR or ^\fIn\fR
+.IR n
+行前の行を表します。
+.I n
+は、負でない整数です。
+
+.TP 8
++
+次の行を表します。
+これは、
+.I +1
+と同様であり、- と同様の累積的指定が可能です。
+
+.TP 8
++\fIn\fR or whitespace\fIn\fR
+.I n
+行後ろの行を表します。
+.I n
+は、負でない整数です。
+.I n
+の前に
+.I whitespace ( 空白文字 )
+を付加して指定した場合も
+.I +n
+と解釈されます。
+.\" ↓原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997)
+.\" ただし、空白文字による指定を行なった場合は、単独では現在行からの相対行数を
+.\" 指定することはできず、相対行指定の基準となる行をその前に指定しなければなり
+.\" ません。
+
+.TP 8
+, \fRor\fB %
+バッファの最初から最後までを表します。これは、
+.I 1,$
+と指定した場合と同等です。
+
+.TP 8
+;
+バッファ中の現在行から最後の行までを表します。これは、
+.I .,$
+と指定した場合と同等です。
+
+.TP 8
+.RI / re/
+指定された正規表現
+.IR re
+を含む、(現在行よりも後ろの) 次の行を表します。
+必要であれば、文字列検索はテキスト先頭に折り返し、
+現在行に達するまで検索を行ないます。
+// は、最後に行なった検索を繰り返します。
+
+.TP 8
+.RI ? re?
+The
+指定した正規表現
+.I re
+を含む、現在行より前の行を表します。
+必要であれば、文字列検索はテキストの最後に折り返し、
+現在行に達するまで検索を行ないます。
+?? は、最後に行なった検索を繰り返します。
+
+.TP 8
+.RI \' lc
+.I `k'
+(mark) コマンドでマークをつけた行を表します。
+.I lc
+は、英小文字です。
+
+.SS 正規表現
+正規表現はテキストを選択する際に用いるパターンです。
+例えば次の
+.B ed
+コマンド
+.sp
+.RS
+g/\fIstring\fR/
+.RE
+.sp
+は
+.IR string
+を含む全ての行を表示します。
+正規表現は
+.I `s'
+コマンドで古いテキストを新しいテキストで置き換える際にも用いられます。
+
+文字リテラルを指定するのに加え、
+正規表現は文字列のクラスを表現することができます。
+このようにして表現された文字列は、それに対応する正規表現に「マッチする」と
+言います。
+ある正規表現が一つの行の中の複数の文字列にマッチする場合、
+マッチする部分のうち最も左にあって最も長いものが選択されます。
+
+正規表現を組み立てる際には以下のシンボルが用いられます:
+
+.TP 8
+c
+以下に挙げるものを除く任意の文字
+.I c
+は、その文字自身にマッチします。
+このような文字には `{', '}', `(', `)', `<', `>' を含みます。
+
+.TP 8
+\fR\e\fIc\fR
+バックスラッシュでエスケープした文字
+.IR c
+は、その文字自身にマッチします。
+ただし `{', '}', `(', `)', `<', `>' を除きます。
+
+.TP 8
+\fR.\fR
+任意の一文字にマッチします。
+
+.TP 8
+.I [char-class]
+文字クラス
+.IR char-class
+に含まれる任意の一文字にマッチします。
+文字クラス
+.IR char-class
+に `]' を含めるには、文字 `]' を最初の文字に指定します。
+文字の範囲を指定するには、範囲の最後の文字との間を `-' でつなぎます。
+例えば `a-z' は小文字全体を表します。
+以下のようなリテラル表記も、文字集合を指定するために文字クラス
+.I char-class
+で使用することができます:
+.sp
+\ \ [:alnum:]\ \ [:cntrl:]\ \ [:lower:]\ \ [:space:]
+.PD 0
+\ \ [:alpha:]\ \ [:digit:]\ \ [:print:]\ \ [:upper:]
+.PD 0
+\ \ [:blank:]\ \ [:graph:]\ \ [:punct:]\ \ [:xdigit:]
+.sp
+文字クラス
+.IR char-class
+の最初あるいは最後の文字として `-' が用いられると、
+それはその文字自身にマッチします。
+文字クラス
+.I char-class
+中のこれ以外の文字は全て、それら自身にマッチします。
+.sp
+以下の形式の文字クラス中のパターン:
+.sp
+\ \ [.\fIcol-elm\fR.] or,
+.PD 0
+\ \ [=\fIcol-elm\fR=]
+.sp
+は
+.IR locale (5)
+に沿って解釈されます (現在のところサポートされません)。ここで
+.I col-elm
+は
+.I collating element
+です。詳しい説明は
+.IR regex (3)
+を参照して下さい。
+
+.TP 8
+[^\fIchar-class\fR]
+文字クラス
+.IR char-class
+に含まれない、改行以外の任意の一文字にマッチします。
+文字クラス
+.IR char-class
+は上で定義しています。
+
+.TP 8
+^
+`^' が正規表現の最初の文字である場合、
+その正規表現は行頭でのみマッチします。
+それ以外の場合、`^' はそれ自身にマッチします。
+
+.TP 8
+$
+`$' が正規表現の最後の文字である場合、
+その正規表現は行末でのみマッチします。
+それ以外の場合、`$' はそれ自身にマッチします。
+
+.TP 8
+\fR\e<\fR
+これに続く単一文字の正規表現あるいはその部分式が、
+単語の先頭でのみマッチするようにします (この機能は利用できない
+場合があります)。
+
+.TP 8
+\fR\e>\fR
+これに続く単一文字の正規表現あるいはその部分式が、
+単語の末尾でのみマッチするようにします (この機能は利用できない
+場合があります)。
+
+.TP 8
+\fR\e(\fIre\fR\e)\fR
+部分式 (subexpression)
+.IR re
+を定義します。部分式はネストできます。
+これ以降、\fI`\en'\fR (
+.I n
+は [1,9] の範囲の数)
+の形式の後方参照は、
+.I n
+番目の部分式にマッチしたテキストに展開されます。
+例えば、正規表現 `\e(.*\e)\e1' は、
+同じ文字列が隣接しているような任意の文字列にマッチします。
+部分式は左側のデリミタから順に番号が振られます。
+
+.TP 8
+*
+直前にある単一文字の正規表現あるいはその部分式のゼロ回以上の繰り返しに
+マッチします。
+`*' が正規表現あるいはその部分式の最初の文字として用いられた場合、
+`*' はその文字自身にマッチします。
+`*' 演算子は時に予期しない結果をもたらすことがあります。
+例えば、正規表現 `b*' は文字列 `abbb' の先頭に
+マッチします (部分文字列 `bbb' ではありません)。
+これはヌルへのマッチが最も左にあるマッチだからです。
+
+.TP 8
+\fR\e{\fIn,m\fR\e}\fR or \fR\e{\fIn,\fR\e}\fR or \fR\e{\fIn\fR\e}\fR
+直前にある単一文字の正規表現あるいはその部分式の、
+.I n
+回以上
+.I m
+回以下の繰り返しにマッチします。
+.I m
+が省略された場合、
+.I n
+回以上の繰り返しにマッチします。
+更にコンマも省略された場合、ちょうど
+.I n
+回の繰り返しにのみマッチします。
+
+.LP
+各
+.IR regex (3)
+の実装によって、更にいくつかの正規表現演算子が定義されていることがあります。
+
+.SS コマンド
+全ての
+.B ed
+コマンドは、1 文字からなりますが、追加パラメータが必要なコマンドもあります。
+コマンドのパラメータが複数の行にわたる場合には、そのパラメータを含めたコマンド
+の終りを含む行を除き、行末にバックスラッシュ (\\) を付加して下さい。
+
+一般的には、1 行ごとに 1 コマンドを入れることが許されています。
+しかしながら、ほとんどのコマンドは、コマンド実行を行なった後のデータ更新
+その他を確認するために、
+.I `p'
+(print)、
+や
+.I `l'
+(list)、
+.I `n'
+(enumerate),
+のような表示系のコマンドを同時に指定できます。
+
+インタラプト (一般的には ^C) を入力することで、現在実行しているコマンドを
+強制終了し、コマンドモードに戻すことができます。
+
+.B ed
+は、以下のコマンドを使用できます。コマンド実行時に何の指定もない場合の
+デフォルトの行番号もしくは行範囲が括弧内に示されています。
+
+.TP 8
+(.)a
+指定した行の後にテキストを追加します。
+テキストは入力モードで入力されていきます。
+現在行番号は、入力された最後の行に設定されます。
+
+.TP 8
+(.,.)c
+バッファ内の指定した行を変更します。指定した行のデータは、バッファから消去
+され、そこに対してテキストデータを入力するようになります。
+テキストは入力モードで入力されていきます。
+現在行番号は、入力した最後の行に設定されます。
+
+.TP 8
+(.,.)d
+指定した範囲をバッファから削除します。
+削除した範囲の後に行が続いている場合、現在行番号は、その行に設定されます。
+そうでない場合には、現在行番号は、削除された範囲の前の行に設定されます。
+
+.TP 8
+.RI e \ file
+.I file
+を編集し、デフォルトのファイル名を設定します。
+もし
+.I file
+が指定されなかった場合には、デフォルトのファイル名が使用されます。
+本コマンド実行時に、それまで別のファイルを編集していた場合には、
+その内容はすべて消去され、新しいファイルが読み込まれます。
+現在行番号は、入力された最後の行に設定されます。
+
+.TP 8
+.RI e \ !command
+command で指定されたコマンドを実行し、その結果として標準出力へ
+出力されたデータを編集します (後述する
+.RI ! command
+を参照して下さい)。
+デフォルトのファイル名は変更されません。
+本コマンド実行時に、それまで別のファイルを編集していた場合には、
+その内容はすべて消去され、標準出力へ出力されたデータが読み込まれます。
+現在行番号は、入力された最後の行に設定されます。
+
+.TP 8
+.RI E \ file
+無条件で
+.I file
+で指定したファイルを読み込み、編集します。
+.I e
+コマンドと動作は似ていますが、すでにバッファ上のデータに変更が加えられ
+ている場合でも、警告を出さずに指定したファイルを読み込む点が異なります。
+現在行番号は、入力された最後の行に設定されます。
+
+.TP 8
+.RI f \ file
+デフォルトファイル名を
+.I file
+に設定します。
+.I file
+名が指定されない場合には、デフォルトファイル名が表示されます。
+
+.TP 8
+.RI (1,$)g /re/command-list
+.I command-list
+で指定されたコマンドを、指定した正規表現
+.IR re
+に一致する各行に対して実行します。
+現在行番号は、
+.I command-list
+で指定されたコマンドが実行される前に、指定した正規表現に一致した行
+に設定されます。
+.I `g'
+コマンドが終了した場合、現在行番号は最後にコマンドが実行された行に
+設定されます。
+
+.I command-list
+で指定されるコマンドは、1 行ごとに 1 つずつ書かれる必要があります。各コマンド
+行の終りには、一番最後のコマンド行を除いてはバックスラッシュ (\\) を記述する
+必要があります。
+以下のコマンドを除くすべてのコマンドを指定可能です。
+.IR `g',
+.IR `G',
+.IR `v',
+.IR `V'.
+コマンドリスト中の空行は、
+.I `p'
+コマンドと同等に扱われます。
+
+.TP 8
+.RI (1,$)G /re/
+指定した正規表現
+.IR re
+に一致した行に対して、対話編集を行ないます。
+指定した正規表現に一致する文字列を含む行があると、その行を表示し、現在行番号を
+設定します。
+そして、ユーザに
+.I command-list
+の入力を促します。
+.I `G'
+コマンドが終了した場合、現在行番号は、
+.IR command-list
+で編集された最後の行に設定されます。
+
+.I command-list
+の記述形式は、
+.I `g'
+コマンドで指定するものと同じです。改行のみの場合は、コマンド実行をしない
+ ( ヌルコマンドリストを指定した ) ものとみなされます。
+`&' 文字のみを入力した場合には、
+直前に実行した ( ヌルコマンドリストではない ) コマンドを再実行します。
+
+.TP 8
+H
+エラーメッセージの出力の有無を切り替えます。
+デフォルトでは、エラーメッセージは出力されません。
+ed スクリプトを作成する場合、スクリプトのデバッグのために、本コマンドを
+最初に実行することをおすすめします。
+
+.TP 8
+h
+最後に表示されたエラーメッセージを表示します。
+
+.TP 8
+(.)i
+編集バッファ中の現在行の前に、テキストを挿入します。
+テキストは入力モードで入力されていきます。
+現在行番号は、入力された最後の行に設定されます。
+
+.TP 8
+(.,.+1)j
+指定した範囲の行を 1 行に連結します。指定した行はバッファから削除され、
+その行の内容を含む 1 行に置き換えられます。
+現在行番号は、置き換えられた行に設定されます。
+
+.TP 8
+.RI (.)k lc
+行に、英小文字
+.I lc
+で指定したマークをつけます。
+その後、マークをつけられた行は、コマンド中で
+.I 'lc
+(つまり、シングルクォートと
+.I lc
+) として指定できるようになります。
+マークは、その行が削除されるかもしくは変更されるかしない限り、消えることは
+ありません。
+
+.TP 8
+(.,.)l
+指定した範囲の行の内容を見やすく表示します。
+もし 1 つの行が 1 画面以上を占める場合 ( 例えばバイナリファイルを見ている
+場合など )
+`--More--' プロンプトが最下行に表示されます。
+次の画面を表示する前に
+.B ed
+はリターンキーが入力されるまで待ちます。
+現在行番号は、表示された最後の行に設定されます。
+
+.TP 8
+(.,.)m(.)
+指定した範囲の行をバッファ内で移動します。指定した行は、
+コマンドの右辺で指定した行の後ろに
+移動されます。移動先の行としては、
+.IR 0
+ (ゼロ) が指定可能です。
+現在行番号は、移動された最後の行に設定されます。
+
+.TP 8
+(.,.)n
+指定した行の内容を、行番号つきで表示します。
+現在行番号は、表示された最後の行に設定されます。
+
+.TP 8
+(.,.)p
+指定した範囲の行の内容を表示します。
+現在行番号は、表示された最後の行に設定されます。
+
+.TP 8
+P
+コマンドプロンプト表示の有無を切り替えます。
+コマンド起動時のオプション \fI-p string\fR でプロンプトが指定されていなければ、
+コマンドプロンプトの表示はデフォルトでオフになっています。
+
+.TP 8
+q
+ed を終了します。
+
+.TP 8
+Q
+無条件に ed を終了します。
+このコマンドは
+.I q
+コマンドと似ていますが、まだファイルに書き出されていない
+変更があっても警告せずに終了する点が異なります。
+
+.TP 8
+.RI ($)r \ file
+.I file
+で指定されたファイルを、指定した行の後ろに読み込みます。
+.I file
+が指定されない場合、デフォルトのファイル名が読み込みに使用されます。
+このコマンドに先だってデフォルトのファイル名が設定されていない場合、
+デフォルトのファイル名には、
+.I file
+で指定されたものが設定されます。
+それ以外の場合、デフォルトのファイル名は変更されません。
+現在行番号は、読み込まれたファイルの最後の行に設定されます。
+
+.TP 8
+.RI ($)r \ !command
+command で指定されたコマンドを実行し、その結果として標準出力へ出力された
+データを指定した行の後ろに読み込みます (後述する
+.RI ! command
+を参照して下さい)。
+デフォルトのファイル名は変更されません。現在行番号は、読み込まれた最後の行の
+行番号に設定されます。
+
+.HP
+.RI (.,.)s /re/replacement/
+.PD 0
+.HP
+.RI (.,.)s /re/replacement/\fRg\fR
+.HP
+.RI (.,.)s /re/replacement/n
+.br
+指定した行のテキスト中の、正規表現
+.I re
+に一致する文字列を、文字列
+.IR replacement
+に置き換えます。
+デフォルトでは、それぞれの行で最初に一致した文字列のみを置き換えます。
+.I `g'
+(global) サフィックスが指定された場合、一致した文字列はすべて置き換えられます。
+.I `n'
+サフィックス (
+.I n
+は正の整数) が指定された場合、
+.I n
+回目に一致した文字列だけを置き換えます。
+指定した範囲で一度も文字列の置換が起こらなかった場合、エラーとみなされます。
+現在行番号は、最後に置換が発生した行に設定されます。
+
+.I re
+および
+.I replacement
+は、スペースおよび改行を除くすべてのキャラクタを用いて区切ることが
+可能です (後述する
+.I `s'
+コマンドを見て下さい)。
+最後のデリミタのうち 1 つか 2 つが省略された場合、
+最後に文字列置換が発生した行は、
+.I `p'
+コマンドが指定された場合と同様に表示されます。
+
+.I replacement
+中のエスケープされていない `&' は、一致した文字列と置き換えられます。
+キャラクタシーケンス
+\fI`\em'\fR(
+.I m
+は [1,9] の範囲の整数です ) は、一致した文字列の
+.IR m
+番目の後方参照で置き換えられます。
+.I replacement
+の中に入る文字が `%' のみだった場合、
+最後に行なった置換の
+.I replacement
+が使用されます。
+改行を
+.I replacement
+に指定したい場合は、バックスラッシュを用いてエスケープすれば可能です。
+
+.TP 8
+(.,.)s
+最後の置換を繰り返します。
+この形式の
+.I `s'
+コマンドは、回数を示すサフィックス
+.I `n'
+もしくは、他の
+.IR `r' 、
+.IR `g' 、
+.I `p'
+のどのキャラクタとの組合せも可能です。
+.I `n'
+が指定されると、
+.I n
+回目に一致した文字列だけが置換されます。
+.I `r'
+サフィックスが指定されると、最後の置換が発生した文字列の変わりに、
+最後に指定した正規表現が使用されます。
+.I `g'
+サフィックスは、最後の置換で用いたグローバルサフィックスの使用の
+有効/無効を切り替えます。
+.I `p'
+サフィックスは、最後の置換に指定されたプリントサフィックスを反転します。
+現在行番号は、最後に置換が発生した行に設定されます。
+
+.TP 8
+(.,.)t(.)
+指定した範囲の行を、コマンド文字の右辺に指定した行番号の後に
+コピー (つまり転送) します。コピー先の行番号としては、
+.IR 0
+(ゼロ) の指定が許されています。
+現在行番号は、コピーした一番最後の行の行番号に設定されます。
+
+.TP 8
+u
+最後に実行したコマンドの実行結果を取り消し、現在行番号を、取り消したい
+コマンドが実行される前のものに戻します。
+グローバルコマンドである
+.IR `g' 、
+.IR `G' 、
+.IR `v' 、
+.I `V'
+については、その改変は 1 コマンドで行なわれたとして扱います。
+.I `u'
+は自分自身の動作を取り消すこともできます。
+
+.TP 8
+.RI (1,$)v /re/command-list
+指定した範囲の行のうち、指定した正規表現
+.I re
+と一致する文字列が含まれていない行について、
+.I command-list
+で指定したコマンドを実行します。
+これは
+.I `g'
+コマンドに動作が似ています。
+
+.TP 8
+.RI (1,$)V /re/
+指定した範囲の行のうち、指定した正規表現
+.IR re
+に一致する文字列が含まれていない行について、対話編集を行ないます。
+これは
+.I `G'
+コマンドに動作が似ています。
+
+.TP 8
+.RI (1,$)w \ file
+指定した範囲の行を、
+.IR file
+で指定したファイルに書き出します。
+それまで
+.I file
+に格納されていた内容は、警告なしに消去されます。
+デフォルトファイル名が設定されていない場合、デフォルトファイル名は
+.IR file
+に設定されます。それ以外の場合では、デフォルトファイル名は変更されません。
+ファイル名が指定されなかった場合には、デフォルトファイル名が使用されます。
+現在行番号は変更されません。
+
+.TP 8
+.RI (1,$)wq \ file
+指定した範囲の行を
+.IR file
+で指定したファイルに書き出し、
+.I `q'
+コマンドを実行します。
+
+.TP 8
+.RI (1,$)w \ !command
+指定した範囲の行の内容を
+.I `!command'
+の標準入力に書き出します (! command については、以下の説明を参照して下さい)。
+デフォルトファイル名および現在行番号は変更されません。
+
+.TP 8
+.RI (1,$)W \ file
+指定した範囲の行の内容を、
+.IR file
+で指定したファイルの後ろに追加書き込みします。
+.I `w'
+コマンドと似ていますが、指定したファイルにそれまで格納されていた内容
+がなくなることはありません。
+現在行番号は変更されません。
+
+.TP 8
+x
+以降の読み書きで用いられる暗号化鍵の入力を促します。
+改行のみが入力されると、暗号化は解除されます。
+それ以外の場合、キー読み込み中のエコーは抑制されます。
+暗号化および復号化は bdes(1) アルゴリズムを用いて行われます。
+
+.TP 8
+.RI (.+1)z n
+指定した行から一度に
+.I n
+行だけスクロールします。
+.I n
+が指定されない場合には、現在のウィンドウサイズだけスクロールします。
+現在行番号は、最後に表示した行の行番号に設定されます。
+
+.TP 8
+.RI ! command
+.I command
+で指定したコマンドを、
+.IR sh (1)
+経由で実行します。
+.I command
+の最初の文字が `!'の場合には、その文字は直前に
+.I `!command'
+で実行したコマンド文字列が格納されます。
+.I command
+文字列をバックスラッシュ(\\)でエスケープした場合には、
+.B ed
+は処理を行ないません。
+しかし、エスケープされない
+.I `%'
+文字があった場合には、その文字列はデフォルトファイル名に置き換えられます。
+シェルがコマンド実行から戻ってきた場合には、`!' が標準出力に出力されます。
+現在行番号は変更されません。
+
+.TP 8
+($)=
+指定された行の行番号を表示します。
+
+.TP 8
+(.+1)newline
+指定した行を表示します。そして、現在行番号を表示した行のものに
+設定します。
+
+.SH 関連ファイル
+.TP 20
+/tmp/ed.*
+バッファファイル
+.PD 0
+.TP 20
+ed.hup
+端末がハングアップした場合に、
+.B ed
+がバッファ内容を書き出すファイル
+
+.SH 関連項目
+
+.IR vi (1),
+.IR sed (1),
+.IR regex (3),
+.IR bdes (1),
+.IR sh (1).
+
+USD:12-13
+
+B. W. Kernighan and P. J. Plauger,
+.I Software Tools in Pascal ,
+Addison-Wesley, 1981.
+
+.SH 制限
+.B ed
+は
+.I file
+引数に対してバックスラッシュエスケープ処理を施します。
+つまり、ファイル名中でバックスラッシュ (\\) を前につけた文字は、
+リテラルとして解釈されます。
+
+(バイナリではない) テキストファイルの最後が改行文字で終っていない場合、
+.B ed
+はそれを読み書きする際に改行文字を追加します。
+バイナリファイルの場合は、
+.B ed
+はこのような改行文字追加は行いません。
+
+1 行あたりのオーバヘッドは整数 4 つ分です。
+
+.SH 診断
+エラーが発生すると、
+.B ed
+は `?' を表示し、コマンドモードに戻るか、スクリプトによる実行のエラーの場合には
+プログラムを終了します。
+最後のエラーメッセージについての説明は、
+.I `h'
+(help) コマンドを用いることで表示可能です。
+
+.I `g'
+(global) コマンドは、検索や置換が失敗したというエラーを隠蔽します。
+そのため、スクリプトの中で条件つきコマンド実行を行なわせるのによく使われます。
+例えば
+.sp
+.RS
+g/\fIold\fR/s//\fInew\fR/
+.RE
+.sp
+は、出現した文字列
+.I old
+をすべて文字列
+.I new
+に置き換えます。
+.I `u'
+(undo) コマンドがグローバルコマンドリスト内で実行された場合、コマンドリストは
+1 度だけの実行になります。
+
+診断が無効にされていないと、
+.B ed
+を終了しようとする場合やバッファ内のデータを書き出さずに他のファイルを
+編集しようとする場合にエラーになります。
+その場合でも、同一のコマンドを 2 回入力すると、コマンドは成功します。
+しかし、それまでの未保存の編集結果は、すべて失われます。
+.SH 歴史
+.I ed
+コマンドは Version 1 AT&T UNIX で登場しました。
diff --git a/ja/man/man1/ee.1 b/ja/man/man1/ee.1
new file mode 100644
index 0000000000..2fbf24bd5d
--- /dev/null
+++ b/ja/man/man1/ee.1
@@ -0,0 +1,548 @@
+.\"
+.\"
+.\" To format this reference page, use the command:
+.\"
+.\" nroff -man ee.1
+.\"
+.\" %Header: /home/ncvs/src/usr.bin/ee/ee.1,v 1.3.4.1 1997/09/15 01:35:12 jkh Exp %
+.\"
+.\" jpman %Id: ee.1,v 1.3 1997/09/22 17:54:07 horikawa Stab %
+.\"
+.TH ee 1 "" "" "" ""
+.SH 名称
+ee \- 簡単エディタ
+.SH 書式
+.nf
+ee [-e] [-i] [-h] [+#] [\fIfile\fR ...]
+ree [-e] [-i] [-h] [+#] [\fIfile\fR ...]
+.ta
+.fi
+.ad b
+.SH 解説
+コマンド
+.I ee
+はシンプルなスクリーンエディタで、端末の下部にプロンプトがあるか、
+(端末中央の箱の中に) メニューがあるとき以外は、
+常にテキスト挿入モードになっています。
+コマンド
+.I ree
+は
+.I ee
+と同じものですが、指定されたファイルの編集しかできない (ファィル操作やシェル
+を使うことができない) ように機能が制限されています。
+.PP
+.I ee
+を正常に動作させるためには、使用する端末のタイプに合わせて、環境変数
+.SM TERM
+を正しく設定しなければなりません。例えば、
+.SM HP 700/92
+端末の場合は、
+.SM TERM
+変数を "70092" に設定する必要があります。
+更に詳しい情報が必要な場合は、システム管理者にお尋ねください。
+.\"
+.\" options
+.\"
+.SS オプション
+コマンド行から下記のオプションが使用可能です:
+.PP
+.TP 4
+.B -e
+タブからスペースへの展開を禁止します。
+.TP
+.B -i
+端末上部に情報ウィンドウを表示しません。
+.TP
+.B -h
+ウィンドウとメニューの縁の強調表示を止めます (一部の端末で
+表示速度が向上します)。
+.TP
+.B +#
+スタート時のカーソルを行番号 # で指定される行に置きます。
+.br
+.\"
+.\" control keys
+.\"
+.SS "コントロール・キー"
+テキストの挿入以外の操作では、コントロールキー (
+.B Control
+キーは "^" で表示され、例えば ^a のように、
+アルファベットキーと組み合わせて使われます) や、
+キーボード上にあるファンクションキー (
+.BR "Next Page" ", " "Prev Page" ,
+矢印キー等) を使わなければなりません。
+.PP
+すべての端末がファンクションキーを持っているわけではありませんから、
+.I ee
+ではコントロールキーに割り当てられた基本的なカーソル移動は、
+キーボードに装備された、より直感的なキーでも扱えるようにしてあります。例えば、
+カーソルの上方移動は、上向き矢印キーと
+.BR ^u
+のいずれでも可能です。
+.RS 4
+.nf
+.ta 1.2i
+.sp
+^a 挿入文字を ASCII の 10 進数で指定。
+^b テキストの終わりに移動。
+^c コマンド入力。
+^d カーソルを下に移動。
+^e 検索文字列を入力。
+^f 最後に削除した文字の復元。
+^g 行の先頭に移動。
+^h バックスペース。
+^i タブ。
+^j 改行。
+^k カーソル上の文字を消去。
+^l カーソルを左に移動。
+^m 改行を挿入。
+^n 次ページに移動。
+^o 行末に移動。
+^p 前ページに移動。
+^r カーソルを右に移動。
+^t テキスト先頭に移動。
+^u カーソルを上に移動。
+^v 最後に削除した単語を復元。
+^w カーソル位置以降の単語を削除。
+^x 文字列検索。
+^y カーソル位置から行末まで削除。
+^z 最後に削除した行の復元。
+^[ (ESC) メニュー表示。
+.ta
+.fi
+.RE
+.sp
+.SS "EMACS キーモード"
+.PP
+多くのシェルは (カーソル移動その他の編集操作で) Emacs モードを
+用意していますから、それらのキー割当に慣れた利用者のために、
+いくつかのキー割当が別途用意さています。これは
+.B 設定
+メニューないしは初期化ファイル (下記を参照) から利用することができ、
+その内容は次のとおりです。
+.RS
+.nf
+.ta 1.2i
+^a 行の先頭に移動。
+^b 1 文字後退。
+^c コマンド入力。
+^d カーソル位置の文字を消去。
+^e 行末に移動。
+^f 1 文字前進。
+^g 1 ページ戻る。
+^h バックスペース。
+^i タブ。
+^j 最後に消去した文字の復元。
+^k 行の削除。
+^l 最後に削除した行の復元。
+^m 改行を挿入。
+^n 次行に移動。
+^o 挿入文字を ASCII の 10 進値で指定。
+^p 前行に戻る。
+^r 削除した単語の復元。
+^t テキストの先頭に移動。
+^u テキストの最後に移動。
+^v 次ページに移動。
+^w カーソル以降の単語を削除。
+^y 検索文字列の入力。
+^z 次の単語。
+^[ (ESC) メニュー表示。
+.ta
+.fi
+.RE
+.sp
+.\"
+.\" function keys
+.\"
+.SS "ファンクションキー"
+.RS 4
+.IP "\fBNext Page\fR"
+次ページに移動。
+.IP "\fBPrev Page\fR"
+前ページに移動。
+.IP "\fBDelete Char\fR"
+カーソル位置の文字を消去。
+.IP "\fBDelete Line\fR"
+カーソル位置から行末まで消去。
+.IP "\fBInsert line\fR"
+カーソル位置に改行を挿入。
+.IP "\fB矢印キー\fR"
+表示された方向にカーソルを移動。
+.RE
+.\"
+.\" commands
+.\"
+.SS コマンド
+.PP
+ある種の操作では単一のキー操作で得られる以上の情報を必要とします。
+基本的な操作のほとんどには、
+.SM \fBESC\fR
+キーで表示されるメニューが用意されていますが、
+それらに加え、いくつかの操作は、コマンド入力 (^c) に続いて
+下記のうち一つをタイプすることで実行できます。
+.RS 4
+.IP "!\fBcmd\fR"
+シェルを使って \fBcmd\fR を実行。
+.IP "\fB0-9\fR"
+指定された行番号に移動。
+.IP "\fBcase\fR"
+文字列検察で大文字と小文字を区別。
+.IP "\fBcharacter\fR"
+カーソル位置の文字の ASCII 値を表示。
+.IP "\fBexit\fR"
+編集したテキストを保存して終了。
+.IP "\fBexpand\fR"
+タブをスペースに展開。
+.IP "\fBfile\fR"
+ファイル名を表示。
+.IP "\fBhelp\fR"
+ヘルプ画面を表示。
+.IP "\fBline\fR"
+現在行の行番号を表示。
+.IP "\fBnocase\fR
+文字列検索で大文字と小文字を区別しない (デフォルト)。
+.IP "\fBnoexpand\fR"
+TAB キーが押されたとき、タブをスペースに展開しない。
+.IP "\fBquit\fR"
+テキストに加えられた変更を保存せずに終了。
+.IP "\fBread\fR \fIfile\fR"
+指定されたファイル \fIfile\fR を読み込む。
+.IP "\fBwrite\fR \fIfile\fR"
+指定されたファイル \fIfile\fR にテキストを書き込む。
+.RE
+.\"
+.\" menu operations
+.\"
+.SS "メニュー操作"
+.PP
+.B escape
+キー (存在しない場合は
+.B ^[
+) を押すとメニューがでてきます。
+メニューの中で escape キーを押すと、何もしないでメニューから抜け出すことが
+できます。上向き矢印と下向き矢印ないしは、上なら
+.B ^u
+下なら
+.B ^d
+で希望する項目に移動して、
+.B return
+キーを押せば、その処理が実行されます。
+.PP
+メニュー項目の左側の文字のキーを押すと、そのメニューエントリを
+選択することになります。
+.PP
+\fIee\fR のメインメニューは次のとおりです。
+.RS 4
+.IP "\fBleave editor\fR"
+終了。
+変更されている場合は、変更後のテキストを保存するかどうかの問い合わせ
+メニューが出ます。
+.IP "\fBhelp\fR"
+ヘルプ。
+すべてのキー操作とコマンドを含むヘルプ画面を表示。
+.IP "\fBfile operations\fR"
+ファイル操作。
+ファイルの読み込み、書き込み、保存に加え、
+編集内容の印刷コマンドへの送信メニュー (「ファイルによる ee の初期化」
+を参照) 。
+.IP "\fBredraw screen\fR"
+画面再描画。
+画面が乱れたとき画面を再描画するための手段。
+.IP "\fBsettings\fR"
+設定。
+現在の操作モードと右マージンを表示。特定の項目上で return キーを押すと、
+その値を変更できます。
+このメニューから抜ける場合は \fBescape\fR キーを押します。(下記の
+「モード」を参照)
+.IP "\fBsearch\fR"
+.br
+検索。
+新しい検索文字列ないしは既に設定した検索文字列で検索するためのメニュー。
+.IP "\fBmiscellaneous\fR"
+その他。
+現在の段落の整形、シェルコマンドの実行、編集中のテキストのスペルチェック
+を行うためのメニュー。
+.RE
+.\"
+.\" paragraph formatting
+.\"
+.SS "段落整形"
+.PP
+\fIee\fR の段落 (paragraph) は、下記のいずれかで囲まれた部分を意味します。
+.sp
+.RS 8
+.IP \(bu
+ファイルの先頭と終わり。
+.IP \(bu
+文字を含まないない行、ないしは、スペースとタブのみの行。
+.IP \(bu
+ピリオド ('.') か 大なり記号 ('>') で始まる行。
+.RE
+.PP
+段落整形を行う方法としては、メニューの\fB段落整形 (format paragraph)\fRを
+選択して明示的に行う方法と、
+段落の自動整形を行うように \fIee\fR を設定する方法の二つがあります。
+.PP
+\fIee\fR のテキスト操作には、自由形式 (free-form)、マージン (margins)、
+自動整形 (automatic formatting) の3つの状態があります。
+.PP
+「自由形式」はプログラミングのような仕事に最適で、行の長さの制限がなく、
+整形も行われません。
+.PP
+「マージン」を使うと、右マージン (これは「設定」メニューで指定しますが、
+デフォルトは端末の右縁になっています) を越えていないかどうかを気にせずに
+テキストをタイプすることができます。
+.PP
+「自動整形」はワードプロセッサのようなふるまいをします。
+ユーザがテキストを入力する一方で、
+空白文字が入力されるかテキストを削除するたびに、
+\fIee\fR は段落全体が端末の幅を越えないように調整します。
+自動整形を使う場合は、マージンも有効にしておかなければなりません。
+.\"
+.\" modes
+.\"
+.SS モード
+.PP
+ee そのものは「モードなし」(modeless) エディタ (常にテキスト挿入モードに
+なっています) ですが、その動作の中には次のようなモードをもつものもあります。
+.RS 4
+.IP "\fBタブ拡張\fR"
+タブ文字として挿入するか、空白文字に置換するかを決めます。
+.IP "\fB大文字と小文字の区別\fR"
+文字列検索では、大文字と小文字を区別することもできますし、
+同一視させることもできます。
+.IP "\fBマージン監視\fR"
+行の長さを右マージンまでに制限することもできますし、
+無限に長くすることもできます。
+.IP "\fB段落の自動整形\fR"
+テキストの入力中、うまく画面の幅に収まるように、
+エディタに調整させることができます。
+.IP "\fB8 ビット文字\fR"
+8 ビット文字をそのまま表示させるか、
+その値を角括弧で囲んで表示 ("<220>" 等) させるかの切り替えです。
+.IP "\fB情報ウィンドウ\fR"
+実行可能なキー操作を表示するウィンドウを出すか出さないかを選択します。
+.IP "\fBemacs キー割当\fR"
+コントロールキーの割り当てを emacs 方式にするかどうかを決めます。
+.RE
+.PP
+これらのモードは初期化ファイル (下記を参照) とメニュー (上記を参照) の
+いずれでも設定可能です。
+.\"
+.\" spell checking
+.\"
+.SS "スペルチェック"
+.PP
+\fIee\fR でテキストに含まれる単語のスペルをチェックする方法には、
+伝統的な \fIspell\fR(1) コマンドを使う方法と、
+\fIispell\fR(1) コマンドを使う方法の二つがあります。
+.PP
+\fIspell\fR を使う場合は、認識できない単語はファイルの先頭に置かれます。
+\fIispell\fR の場合は、ファィルをいったんディスクに書き出し、
+\fIispell\fR にそのファイルを処理させてから、
+\fIispell\fR が書き換えたファイルを再度読み込みます。
+.\"
+.\" printing
+.\"
+.SS "編集内容の印刷"
+.PP
+メニューの中に編集内容を印刷する項目があります。
+.I ee
+は初期化コマンドの
+.B printcommand
+(下記の「ファイルによる ee の初期化」を参照) で指定されたコマンドに
+編集中のテキストをパイプで転送します。
+デフォルトでは "lp" コマンドに転送します。
+.PP
+.B printcommand
+で指定されたコマンドは、標準入力からテキストを読み込むものでなければ
+なりません。詳細はシステム管理者に聞いてください。
+.\"
+.\" shell operations
+.\"
+.SS "シェルの操作"
+.PP
+「
+.B その他 (miscellaneous)
+」のメニューで「
+.B シェルコマンド (shell command)
+」を選ぶか、「
+.B コマンド
+」で感嘆符 ("!") に続けて実行したいコマンドを書くことで、
+.I ee
+の中からシェルにコマンドを実行させることができます。さらに、"!' の前に
+「大なり記号」(">") を書くことで、編集バッファの内容をシェルコマンドに
+リダイレクトすることができます。
+同様に、感嘆符の前に「小なり記号」("<") を書くと、
+シェルコマンドの実行結果を編集バッファに取り込みます。
+これらを同時に指定することで、シェルコマンドに出力した後、コマンドの
+実行結果を読み直すことも可能です。
+従って、エディタで編集中の単語のリストをソートしたい場合は、
+コマンド入力で次のようにタイプすることができます:
+.RS 4
+.sp
+><!sort
+.sp
+.RE
+これでエディタの内容を
+.I sort
+ユーティリティにパイプ出力し、その結果を編集バッファの現在の
+カーソル位置に取り込むことができます。
+必要なら、自分で古い情報を消去してください。
+.\"
+.\" initializing ee from a file
+.\"
+.SS "ファイルによる ee の初期化"
+.PP
+ユーザの好みはまちまちですから、\fIee\fR も簡単なカスタマイズ機能を
+備えています。
+.\" ↑ 原文は configurability であるがカスタマイズ機能と意訳した
+.\" by sakai@jp.freebsd.org 1997.6.19
+ee の初期化ファィルの置き場所は、
+\fI/usr/share/misc/init.ee\fR、
+ユーザのホームディレクトリ中の \fI.init.ee\fR、
+カレントディレクトリ (ホームティレクトリと一致しない場合) 中
+の \fI.init.ee\fR の 3 つです。
+これを使うと、システム管理者がシステム全体の
+標準 (例えば、「印刷」コマンド) を設定したり、
+ユーザがディレクトリ毎に設定を変える (一つはメイルの読み書き用、
+もう一つはプログラミング用など) ことができます。
+.PP
+最初に読み込まれるファイルは \fI\/usr/share/misc/init.ee\fR で、次に
+\fI$HOME/.init.ee\fR、最後に \fI.init.ee\fR を読みます。
+後から読み込んだファイルの指定が優先されます。
+.PP
+初期化ファィルには、次の項目を記入することができます:
+.RS 4
+.IP \fBcase\fR
+文字列検索で大文字と小文字を区別します。
+.IP \fBnocase\fR
+文字列検索で大文字と小文字を区別しません。(デフォルト)
+.IP \fBexpand\fR
+タブを空白文字に展開します。(デフォルト)
+.IP \fBnoexpand\fR
+タブを単一の文字として入力します。
+.IP \fBinfo\fR
+小さな情報ウィンドウを端末の上部に表示します。(デフォルト)
+.IP \fBnoinfo\fR
+情報ウィンドウを表示しません。
+.IP \fBmargins\fR
+テキスト入力中にユーザが設定した右マージンを越えないように、
+行を折り返します。(デフォルト)
+.IP \fBnomargins\fR
+右マージンを越える行を許します。
+.IP \fBautoformat\fR
+テキストの挿入時に、現在の段落を自動整形します。
+.IP \fBnoautoformat\fR
+段落の自動整形をしないようにします。(デフォルト)
+.IP \fBprintcommand\fR
+印刷コマンドを設定します。 (デフォルト値は "lp")
+.IP \fBrightmargin\fR
+右マージンの値を選択します (画面の最初の桁を 0 とします)。
+.IP \fBhighlight\fR
+情報ウィンドウとメニューウィンドウの縁を強調表示します。 (デフォルト)
+.IP \fBnohighlight\fR
+情報ウィンドウとメニューウィンドウの縁の強調表示をやめます。
+.IP \fBeightbit\fR
+8 ビット文字を表示します。
+.IP \fBnoeightbit\fR
+8 ビット文字の表示をやめます (例えば、"<220>" のように角括弧で囲まれた数値
+で表示します)。
+.IP \fBemacs\fR
+emacs のキー割り当てにします。
+.IP \fBnoemacs\fR
+emacs のキー割り当てをやめます。
+.RE
+.\"
+.\" save editor configuration
+.\"
+.SS エディタの設定の保存
+.PP
+.B settings
+メニューからこのエントリを使用すると、
+ユーザは現在のエディタの設定(前記 \fBファイルによる ee の初期化\fR 参照)
+を現在のディレクトリもしくはユーザのホームディレクトリのファイル
+.I .init.ee
+に保存できます。
+既に存在するファイル
+.I .init.ee
+は
+.I .init.ee.old
+にリネームされます。
+.\"
+.\" Caveats
+.\"
+.SH CAVEATS
+.PP
+(原文)
+.\" こういう部分は日本語訳により細かなニュアンスが変わって問題になる
+.\" かもしれないので、原文のままにしてあります。 sakai@jp.freebsd.org 1997.6.19
+.br
+THIS MATERIAL IS PROVIDED "AS IS". THERE ARE
+NO WARRANTIES OF ANY KIND WITH REGARD TO THIS
+MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. Neither
+Hewlett-Packard nor Hugh Mahon shall be liable
+for errors contained herein, nor for
+incidental or consequential damages in
+connection with the furnishing, performance or
+use of this material. Neither Hewlett-Packard
+nor Hugh Mahon assumes any responsibility for
+the use or reliability of this software or
+documentation. This software and
+documentation is totally UNSUPPORTED. There
+is no support contract available. Hewlett-Packard
+has done NO Quality Assurance on ANY
+of the program or documentation. You may find
+the quality of the materials inferior to
+supported materials.
+.PP
+(上記段落の日本語訳 −参考−)
+.br
+このプログラムはこのままの状態 (AS IS) で供給されるもので、実用性や特定用途
+に対する適合性を含む、いかなる保証もありません。Hewlett-Packard と Hugh Mahon
+のいずれも、このプログラムの間違い、あるいは、設置や使用に付随ないしは結果と
+して生ずるいかなる問題についても責任を負いません。Hewlett-Packard と Hugh
+Mahon のいずれも、このプログラムとドキュメントの信頼性に対する責任を負いませ
+ん。このプログラムとドキュメントに対するサポートはありませんし、サポートの窓
+口もありません。Hewlett-Packard はプログラムとドキュメントの品質検査行ってい
+ません。サポートのある製品にくらべて品質が劣る可能性もあります。
+.PP
+編集前の状態に戻すのが困難なファイルについては、常にコピーを残してください。
+早めにファイルに保存し、小刻みに保存操作を行ってください。
+.SS "国際コードセットのサポート"
+.I ee
+は 8 ビット文字コードをサポートしています (8 ビットクリーン)。
+.SH 警告
+低速システムでは、段落自動整形は極端に遅くなります。
+.SH 関連ファイル
+.PP
+.I /usr/share/misc/init.ee
+.br
+.I $HOME/.init.ee
+.br
+.I .init.ee
+.SH 作者
+.PP
+.I ee
+の作者は Hugh Mahon です。
+.PP
+.\" 以下の部分も原文を残し、和訳併記としてあります。
+.\" sakai@jp.freebsd.org 1997.6.19
+This software and documentation contains
+proprietary information which is protected by
+copyright. All rights are reserved.
+.br
+このプログラムとドキュメントは著作権法により保護されており、
+すべての権利は著作者が有します。
+.PP
+Copyright (c) 1990, 1991, 1992, 1993, 1995 Hugh Mahon.
+.SH 関連項目
+.PP
+termcap(5), terminfo(5), environ(7), spell(1), ispell(1), lp(1)
+.SH 日本語マニュアル
+.PP
+平林浩一 (kh@mogami-wire.co.jp) による ee 日本語化キットに含まれている
+日本語化 ee の日本語マニュアルをベースに、
+酒井淳嗣 (sakai@jp.freebsd.org) が一部修正。
diff --git a/ja/man/man1/eqn.1 b/ja/man/man1/eqn.1
new file mode 100644
index 0000000000..e9a34fbbcf
--- /dev/null
+++ b/ja/man/man1/eqn.1
@@ -0,0 +1,852 @@
+.\" %Id: eqn.1,v 1.3 1993/08/02 17:42:44 mycroft Exp % -*- nroff -*-
+.\" jpman %Id: eqn.1,v 1.3 1997/07/26 21:33:56 horikawa Stab %
+.ie \n(.V<\n(.v .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+.el .ds tx TeX
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.\" The BSD man macros can't handle " in arguments to font change macros,
+.\" so use \(ts instead of ".
+.tr \(ts"
+.TH EQN 1 "15 January 1995" "Groff Version 1.09"
+.SH 名称
+eqn \- troff 用の数式フォーマッタ
+.SH 書式
+.B eqn
+[
+.B \-rvCNR
+]
+[
+.BI \-d cc
+]
+[
+.BI \-T name
+]
+[
+.BI \-M dir
+]
+[
+.BI \-f F
+]
+[
+.BI \-s n
+]
+[
+.BI \-p n
+]
+[
+.BI \-m n
+]
+[
+.IR files \|.\|.\|.
+]
+.SH 解説
+本マニュアルでは、groff ドキュメントフォーマットシステムの一部である
+GNU バージョンの
+.B eqn
+について記述します。
+.B eqn
+は、
+.B troff
+への入力ファイルに埋め込まれている数式に関する記述をコン
+パイルし、
+.B troff
+が解釈できる命令列に変換します。通常、
+.B groff
+に
+.B \-e
+オプ
+ションを指定することで、本プログラムは実行されます。文法は UNIX の eqn
+ととても似かよっています。GNU eqn の出力は UNIX の troff で処理するこ
+とができないので、GNU troff を用いる必要があります。コマンドラインにファ
+イル名が指定されなかった場合は、標準入力から読み込みます。ファイルネー
+ムとして
+.B \-
+を指定した場合も標準入力から読み込みます。
+.LP
+.B eqn
+は
+.B /usr/share/tmac/eqnrc
+を検索し、もし存在すれば入力ファイルの処
+理に先がけて読み込みを行います。
+.B \-R
+オプションを使うことにより、この動作
+を禁止することができます。
+.LP
+GNU eqn は neqn の機能のすべてを提供するものではありません。低解像度の
+タイプライタのような機器を(単純な入力に対しては十分であるのですが)サポー
+トしません。
+.SH オプション
+.TP
+.B \-C
+直後にスペースや改行ではない文字が続く
+.B .EQ
+と
+.B .EN
+を解釈します。
+.TP
+.B \-N
+区切り文字から次の区切り文字までの間に改行がくることを禁止します。誤って
+閉じる方の
+区切り文字をつけ忘れた場合も、以降の処理が正しく行われる可能性が高くなりま
+す。
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.B \-r
+サイズを一つだけ縮小します。
+.TP
+.BI \-m n
+最低のポイントサイズを
+.I n
+とします。
+.B eqn
+は下付き、上付き文字を
+.I n
+より小さなサイズにしません。
+.TP
+.BI \-T name
+.I name
+で指定された機器用の出力を行います。実際は、
+.I name
+と
+いう値 1 のマクロが定義されるだけです。普通は
+.B eqnrc
+でこの定義されたマ
+クロによって出力機器にふさわしい設定がなされます。デフォルトの出力機器
+は
+.B ps
+です。
+.TP
+.BI \-M dir
+デフォルトのディレクトリ
+.B /usr/share/tmac
+よりも先に指定したディ
+レクトリ
+.I dir
+の eqnrc を探します。
+.TP
+.B \-R
+.B eqnrc
+ファイルを読み込みません。
+.TP
+.BI \-f F
+.BI gfont\ F
+コマンドと等価です。
+.TP
+.BI \-s n
+.BI gsize\ n
+コマンドと等価です。このオプションは使うべきではありま
+せん。
+eqn
+は、通常、数式が登場した位置のポイントサイズに数式のサイズをあ
+わせます。
+.TP
+.BI \-p n
+上付き、下付き文字が隣接するテキストより
+.I n
+ポイント小さくなるようにし
+ます。このオプションは使うべきではありません。通常
+eqn
+は隣接するテキ
+ストの 70% のサイズになるように調節します。
+.SH 使用例
+ここでは、GNU eqnとUnix eqnの違いのみを解説します。
+.LP
+GNU eqnの新しい特徴のほとんどは、\*(tx
+に基づいています。
+以下には、いくつかの\*(tx と GNU eqn の違いを記述してあります。
+もし、あなたが\*(tx
+を知らないならば、無視した方が安全でしょう。
+.SS 自動スペーシング
+.LP
+.B eqn
+は、数式の中の部分それぞれに対して型を与えて、その型を用いて数式
+の中の部分の間の間隔をそろえます。
+利用できる型には以下のものがあります。
+.TP \w'punctuation'u+2n
+ordinary
+1や
+.IR x
+のような通常の文字
+.TP
+operator
+.ds Su \s+5\(*S\s0
+.if \n(.g .if !c\(*S .ds Su 積算記号
+\*(Su
+のような大きな演算記号
+.TP
+binary
++ のような、2項演算子
+.TP
+relation
+= のような関係記号
+.TP
+opening
+( のような括弧開始記号
+.TP
+closing
+)のような括弧終了記号
+.TP
+punctuation
+, のような句読点記号
+.TP
+inner
+括弧内部に含まれた部分式
+.TP
+suppress
+オートマチックスペーシングによる位置補正を抑制する
+.LP
+式の中の項の型は、以下に示す二つの方法のどちらかで指定されます。
+.TP
+.BI type\ t\ e
+式の中の項で
+.I e
+を含むものを、型
+.IR t
+であると指定します。
+.I t
+は、上述の型の中から指定します。
+たとえば、
+.B times
+は
+.RS
+.IP
+.B
+type "binary" \e(mu
+.RE
+.IP
+と定義されます。
+マクロ展開を防ぐためにクォーティングする以外は、型の名前はクォー
+トする必要はありません。
+.TP
+.BI chartype\ t\ text
+クォートされていない文字のグループは、個々の文字に分割され、
+それぞれの文字の型が検索されます。
+この変更で、各文字について、それぞれ格納されている文字の型が変更されます。
+この指定方法では、
+.I text
+にある文字は、型
+.IR t
+を持つようになります。例えば
+.RS
+.IP
+.B
+chartype "punctuation" .,;:
+.RE
+.IP
+という指定は、
+.B .,;:
+という文字が、それぞれに句読点記号型を持つことを指定
+します。
+以後、式の中にこれらの文字が出現した場合は、句読点記号として処理
+されます。
+型
+.I t
+は、
+.B letter
+や
+.BR digit
+という指定も可能です。この場合
+.B chartype
+は、文字のフォントの型を変更します。
+詳細は、フォントサブセクションを見て下さい。
+.SS 新しいプリミティブ
+.TP
+.IB e1\ smallover\ e2
+これは
+.BR over
+と似ています;
+.B smallover
+は
+.I e1
+および
+.IR e2
+のサイズを小さくします;
+また
+.I e1
+および
+.I e2
+と分数の線との間の垂直幅も小さくなります。
+.B over
+プリミティブは \*(tx
+のディスプレイスタイルの
+.B \eover
+プリミティブに対応します;
+.B smallover
+は非ディスプレイスタイルの
+.B \eover
+に対応します。
+.TP
+.BI vcenter\ e
+.I e
+を数式軸(math axis)にあわせて垂直方向にセンタリングします。
+数式軸は垂直位置であり、
+これにあわせて + や - といった文字はセンタリングされます;
+また分数の線の垂直位置にもなります。
+例えば、
+.B sum
+はこのように定義されています。
+.RS
+.IP
+.B
+{ type "operator" vcenter size +5 \e(*S }
+.RE
+.TP
+.IB e1\ accent\ e2
+.I e2
+を
+.IR e1
+上のアクセントとします。
+.I e2
+は小文字のレターに対して適正な高さにあると仮定します;
+.I e2
+は、
+.I e1
+が小文字のレターよりも文字の高さが高かったり低かったりする場合には、
+必要に応じて下方に移動されます。
+例えば
+.B hat
+はこのように定義されています。
+.RS
+.IP
+.B
+accent { "^" }
+.RE
+.IP
+.BR dotdot ,
+.BR dot ,
+.BR tilde ,
+.BR vec ,
+.B dyad
+も
+.B accent
+プリミティブを用いて定義されています。
+.TP
+.IB e1\ uaccent\ e2
+.I e2
+を
+.IR e1
+下のアクセントとします。
+.I e2
+は下に突き出ていない小文字に対して適正な高さにあると仮定します;
+.I e2
+は、
+.I e1
+が下に突き出している場合、下方に移動されます。
+.B utilde
+は
+.B uaccent
+を使用して定義されており、
+ベースライン下の tilde アクセントとなります。
+.TP
+.BI split\ \(ts text \(ts
+単なる
+.RS
+.IP
+.I text
+.RE
+.IP
+と同じ効果ですが、
+.I text
+はクオートされているためマクロ展開の対象となりません;
+.I text
+は個々の文字に分割され、それぞれの文字の間に空白が調整されます。
+.TP
+.BI nosplit\ text
+.RS
+.IP
+.BI \(ts text \(ts
+.RE
+.IP
+と同じですが、
+.I text
+はクオートされていないためマクロ展開の対象となります;
+.I text
+は個々の文字に分割されず、それぞれの文字の間の空白も調整されません。
+.TP
+.IB e\ opprime
+.B prime
+の変形であり、
+.IR e
+のオペレータとして作用します。
+.BR A\ opprime\ sub\ 1
+のような場合、
+opprinme は
+.B prime
+とは異なる結果となります:
+.B opprime
+では
+.B 1
+は prime 文字の真下に挿入され、
+.B A
+の下付き文字となります
+(数式版組の形式のように)。
+一方、
+.B prime
+では
+.B 1
+は prime 文字の下付き文字となります。
+.B opprime
+が前に付くという事は、
+.B bar
+と
+.BR under
+が前に付くのと同じ事ですが、
+後者は
+.BR accent ,
+.BR uaccent
+以外の他の全ての文字よりも高くなります。
+クオートされていないテキスト中では、
+最初の文字ではない
+.B '
+は
+.BR opprime
+として扱われます。
+.TP
+.BI special\ text\ e
+.BR troff (1)
+マクロ
+.IR text
+を使用して、
+.I e
+から新しいオブジェクトを生成します。
+マクロが呼び出されると、
+文字列
+.B 0s
+は
+.IR e
+の出力を保持します。
+また数字レジスタ
+.BR 0w ,
+.BR 0h ,
+.BR 0d ,
+.BR 0skern ,
+.BR 0skew
+はそれぞれ
+.IR e
+の幅、高さ、深さ、下付き文字のカーニング、スキューを保持します
+(オブジェクトの
+.I "subscript kern"
+とは、オブジェクト中の下付き文字がどの程度挿入されるかを表します;
+オブジェクトの
+.I skew
+とは、オブジェクト上のアクセントが
+オブジェクトの中央から右側に向けてどの程度離れて配置されるかを表します)。
+マクロは
+.B 0s
+を修正することにより、
+現在位置における望ましい結果を出力し、
+このオブジェクトの幅の分だけ現在の水平位置を増加させます。
+数字レジスタは、結果に対応するように修正されている必要があります。
+.RS
+.LP
+例えば、数式を `打ち消す' 構造を、斜め線を数式上に描く事によって
+実現する場合を考えて見ましょう。
+.IP
+.nf
+.ft B
+.ne 6+\n(.Vu
+\&.EQ
+define cancel 'special Ca'
+\&.EN
+\&.de Ca
+\&.ds 0s \eZ'\e\e*(0s'\ev'\e\en(0du'\eD'l \e\en(0wu -\e\en(0hu-\e\en(0du'\ev'\e\en(0hu'
+\&..
+.ft
+.fi
+.LP
+以上の結果から、式
+.I e
+を
+.BI cancel\ {\ e\ }
+によって打ち消すことができます。
+.LP
+次はより複雑な構造により、式の周りに箱を描きます:
+.IP
+.nf
+.ft B
+.ne 11+\n(.Vu
+\&.EQ
+define box 'special Bx'
+\&.EN
+\&.de Bx
+\&.ds 0s \eZ'\eh'1n'\e\e*(0s'\e
+\eZ'\ev'\e\en(0du+1n'\eD'l \e\en(0wu+2n 0'\eD'l 0 -\e\en(0hu-\e\en(0du-2n'\e
+\eD'l -\e\en(0wu-2n 0'\eD'l 0 \e\en(0hu+\e\en(0du+2n''\eh'\e\en(0wu+2n'
+\&.nr 0w +2n
+\&.nr 0d +1n
+\&.nr 0h +1n
+\&..
+.ft
+.fi
+.RE
+.SS カスタマイズ
+数式の外見は多くのパラメータにより制御します。
+これらのパラメータは
+.B set
+コマンドで設定します。
+.TP
+.BI set\ p\ n
+パラメータ
+.I p
+を値
+.I n
+に設定します;
+.I n
+は整数です。
+例えば、
+.RS
+.IP
+.B
+set x_height 45
+.RE
+.IP
+は、
+.B eqn
+に対して x の高さは 0.45 ems であると指示します。
+.RS
+.LP
+パラメータを以下に示します。
+特に記述が無い場合は、値は em の100分の1を意味します。
+以下の記述は定義的ではなく説明的になるように意図しています。
+.TP \w'\fBdefault_rule_thickness'u+2n
+.B minimum_size
+.B eqn
+はこれよりも小さいポイントサイズのセッティングを行いません。
+値はポイントで指定します。
+.TP
+.B fat_offset
+.B fat
+プリミティブは数式をボールドにするために、
+数式のコピーを 2 回重ね打ちします。
+重ね打ちする時にずらす水平幅がこの値です。
+.TP
+.B over_hang
+分数の線の長さは、
+分子もしくは分母の広い方の幅にこの値を2倍した長さを加えた長さとなります;
+言い替えると、分子と分母は少なくともこの値だけオーバーハングします。
+.TP
+.B accent_width
+.B bar
+か
+.B under
+が単一文字に対して適用された場合、
+線の長さはこの値となります。
+通常、
+.B bar
+および
+.B under
+は適用対象のオブジェクトの幅に等しい長さの線を生成します;
+しかし単一文字の場合、
+これでは大抵の場合線が長すぎるように見えてしまいます。
+.TP
+.B delimiter_factor
+.B left
+および
+.B right
+プリミティブにより生成される伸長性のあるデリミタは高さと深さを持ちます。
+デリミタが括っている部分式が軸に対して最大限伸長する長さの
+2000分の1を単位とするこのパラメータで表した値は、
+デリミタの高さと深さの最低値を与えます。
+.TP
+.B delimiter_shortfall
+.B left
+および
+.B right
+プリミティブにより生成される伸長性のあるデリミタは高さと深さを持ちます。
+デリミタが括っている部分式が軸に対して最大限伸長する長さの
+2000分の1を単位とするこのパラメータで表した値は、
+デリミタの高さと深さの差の最低値となります。
+.TP
+.B null_delimiter_space
+分数の前後にこれだけの水平空白が挿入されます。
+.TP
+.B script_space
+下付き文字、上付き文字の幅がこれだけ増やされます。
+.TP
+.B thin_space
+句読点記号の後にこれだけの空白が自動的に挿入されます。
+.TP
+.B medium_space
+2項演算子の前後にこれだけの空白が自動的に挿入されます。
+.TP
+.B thick_space
+関係演算子の前後にこれだけの空白が自動的に挿入されます。
+.TP
+.B x_height
+x のように上に突き出た部分の無いレターの高さ。
+.TP
+.B axis_height
+\(pl や \(mi といった
+文字のセンタ位置がベースラインに対してどれくらい高いかを表します。
+使用しているフォントに対して適切な値を使用する事が重要です。
+.TP
+.B default_rule_thickness
+.B \e(ru
+文字の太さ、
+.B \eD
+エスケープシーケンスにより生成される水平線の太さを指定します。
+.TP
+.B num1
+.B over
+コマンドは分子を最低この値だけ上に移動します。
+.TP
+.B num2
+.B smallover
+コマンドは分子を最低この値だけ上に移動します。
+.TP
+.B denom1
+.B over
+コマンドは分母を最低この値だけ下に移動します。
+.TP
+.B denom2
+.B smallover
+コマンドは分母を最低この値だけ下に移動します。
+.TP
+.B sup1
+通常上付き文字は最低この値だけ上に移動します。
+.TP
+.B sup2
+上付き文字中もしくは上限中の上付き文字、もしくは
+.B smallover
+における分子は、
+最低この値だけ上に移動します。
+この値は通常 sup1 より小さいです。
+.TP
+.B sup3
+分母中もしくは平方根中の上付き文字、もしくは下付き文字もしくは下限は、
+最低この値だけ上に移動します。
+通常 sup2 より小さいです。
+.TP
+.B sub1
+通常下付き文字は最低この値だけ下に移動します。
+.TP
+.B sub2
+下付き文字と上付き文字の両方がある場合、
+下付き文字は最低この値だけ下に移動します。
+.TP
+.B sup_drop
+上付き文字のベースラインは、上付き文字がセットされるオブジェクトの上部
+に対して、この値よりも下になることはありません。
+.TP
+.B sub_drop
+下付き文字のベースラインは、下付き文字がセットされるオブジェクトの下部
+に対して、少なくともこの値よりも下になります。
+.TP
+.B big_op_spacing1
+上限のベースラインは、上限がセットされるオブジェクトの上部
+に対して少なくともこの値よりも上になります。
+.TP
+.B big_op_spacing2
+下限のベースラインは、下限がセットされるオブジェクトの下部
+に対して少なくともこの値よりも下になります。
+.TP
+.B big_op_spacing3
+上限の下部は、上限がセットされるオブジェクトの上部
+に対して少なくともこの値よりも上になります。
+.TP
+.B big_op_spacing4
+下限の上部は、下限がセットされるオブジェクトの下部
+に対して少なくともこの値よりも下になります。
+.TP
+.B big_op_spacing5
+これで指定される空白が上限上および下限下に付加されます。
+.TP
+.B baseline_sep
+列ベクトルまたは行列の各行のベースラインがどれだけ離れているかを指定します。
+大抵の場合、この値は
+.B num1
+と
+.BR denom1
+の和に等しいです。
+.TP
+.B shift_down
+列ベクトルまたは行列の
+一番上のベースラインおよび一番下のベースラインの中間点が、
+軸からどれだけ下がっているかを指定します。
+大抵の場合、この値は
+.BR axis_height
+に等しいです。
+.TP
+.B column_sep
+行列の列間に加えられる空白の長さを指定します。
+.TP
+.B matrix_side_sep
+行列の両端に加えられる空白の長さを指定します。
+.TP
+.B draw_lines
+この値が非0の場合、線を引く場合に
+.B \eD
+エスケープシーケンスを使用し、
+.B \el
+エスケープシーケンスと
+.B \e(ru
+文字は使用しなくなります。
+.TP
+.B body_height
+この値を式の高さが越えた分だけ、
+当該式を含む行の前の空白に加えられます
+(
+.BR \ex を使用します)。
+デフォルト値は 85 です。
+.TP
+.B body_depth
+この値を式の深さが越えた分だけ、
+当該式を含む行の後の空白に加えられます
+(
+.BR \ex を使用します)。
+デフォルト値は 35 です。
+.TP
+.B nroff
+この値が非 0 の場合には、
+.B ndefine
+は
+.B define
+のように振舞い、
+.B tdefine
+は無視されます。
+この値が 0 の場合は
+.B tdefine
+は
+.B define
+のように振舞い、
+.B ndefine
+は無視されます。
+デフォルト値は 0 です
+(典型的には
+.B eqnrc
+ファイルによって、
+.B ascii
+と
+.B latin1
+デバイスの場合、この値は 1 に変更されます)。
+.LP
+これらのパラメータの役割に関するより正確な記述は
+.IR The\ \*(txbook
+の Appendix H に記載されています。
+.RE
+.SS マクロ
+マクロは引数を取ることができます。
+マクロが引数付きで呼ばれた場合、
+マクロボディでは、
+.BI $ n
+ただし
+.I n
+は 1 から 9 は、
+.IR n 番目の
+引数に置き換えられます;
+引数が
+.I n
+より少ない場合、無と置き換えられます。
+左括弧を含む語で、左括弧より前の語の部分が
+.B define
+コマンドで定義されている語は、
+引数付きのマクロ呼び出しとして認識されます;
+左括弧に続く複数の文字は、対応する右括弧の範囲まで、
+コンマで区切られた引数として扱われます;
+ネストした括弧内のコンマでは引数は区切られません。
+.TP
+.BI sdefine\ name\ X\ anything\ X
+.B define
+コマンドに似ていますが、
+引数付きで呼ばれた場合
+.I name
+は認識されません。
+.TP
+.BI include\ \(ts file \(ts
+.IR file
+の内容を組み込みます。
+.I file
+中の行で、
+.B .EQ
+もしくは
+.B .EN
+で始まる行は無視されます。
+.TP
+.BI ifdef\ name\ X\ anything\ X
+.I name
+が
+.B define
+で定義されている場合
+(または
+.I name
+が出力デバイスであるために自動的に定義されている場合)、
+.IR anything
+を処理します;
+そうでない場合は
+.IR anything
+を無視します。
+.I X
+は
+.IR anything
+に含まれない文字であれば何でも構いません。
+.SS フォント
+.B eqn
+は通常少なくとも 2 つのフォントを式のセットに使用します:
+すなわち、レターにはイタリックを、
+その他にはローマンを使用します。
+既存の
+.B gfont
+コマンドは、
+イタリックフォントとして使用されるフォントを変更します。
+デフォルト値は
+.BR I
+です。
+ローマンフォントとして使用されるフォントは
+新しい
+.B grfont
+コマンドで変更します。
+.TP
+.BI grfont\ f
+ローマンフォントを
+.IR f
+に設定します。
+.LP
+.B italic
+プリミティブは
+.BR gfont
+によってセットされた現在のイタリックフォントを使用します;
+.B roman
+プリミティブは
+.BR grfont
+によってセットされた現在のローマンフォントを使用します。
+また
+.B gbfont
+コマンドという新しいコマンドもあり、
+.B bold
+プリミティブで使用されるフォントを変更します。
+式中でフォントを変更するのに
+.BR roman ,
+.BR italic ,
+.B bold
+プリミティブしか使用しない場合、
+全ての式中のフォントを変更するのには
+.BR gfont ,
+.BR grfont ,
+.B gbfont
+コマンドを使用するだけで済みます。
+.LP
+どの文字をレター(イタリックでセットされるもの)として扱うのかを、
+既に示した
+.B chartype
+コマンドで指定できます。
+.B letter
+タイプは文字をイタリックタイプでセットされるようにします。
+.B digit
+タイプは文字をローマンタイプでセットされるようにします、
+.SH 関連ファイル
+.Tp \w'\fB/usr/share/tmac/eqnrc'u+2n
+.B /usr/share/tmac/eqnrc
+初期化ファイル
+.SH バグ
+文中に出現する式は、行の先頭での文字サイズに設定されます。
+.SH 関連項目
+.BR groff (1),
+.BR troff (1),
+.BR groff_font (5),
+.I The\ \*(txbook
diff --git a/ja/man/man1/error.1 b/ja/man/man1/error.1
new file mode 100644
index 0000000000..281e38dc62
--- /dev/null
+++ b/ja/man/man1/error.1
@@ -0,0 +1,301 @@
+.\" Copyright (c) 1980, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)error.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: error.1,v 1.2 1997/03/29 02:29:02 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt ERROR 1
+.Os BSD 4
+.Sh 名称
+.Nm error
+.Nd コンパイラのエラーメッセージを解析する
+.Sh 書式
+.Nm error
+.Op Fl n
+.Op Fl s
+.Op Fl q
+.Op Fl v
+.Op Fl t Ar suffixlist
+.Op Fl I Ar ignorefile
+.Op name
+.Sh 解説
+.Nm error
+は、エラーメッセージの解析を行ない、
+多くのコンパイラや言語処理系で生成されたエラーメッセージを、
+ソースファイル上で実際にエラーが発生した場所に配置させます。
+このコマンドは、紙の上にエラーを適当に省略してメモするという
+骨のおれる古臭い作業に代わるもので、
+スクリーンエディタのマルチウィンドウ機能の助けなしで
+エラーメッセージとソースコードを一緒に眺められるようにします。
+.Pp
+本コマンドで使用可能なオプションは以下の通りです。
+.Bl -tag -width Ds
+.It Fl n
+一切のファイルの書き換え (touch) を
+.Em しません。
+すべてのエラーメッセージは、
+標準出力に送られます。
+.It Fl q
+ユーザにファイルの書き換えをするかどうかを尋ねます。質問に対して ``y'' か
+``n'' を答えないと処理を継続できません。
+.Fl q
+オプションを指定しない場合には、参照された全てのファイル
+(捨ててしまったエラーメッセージだけが参照していたものを除く)
+は書き換えの対象になります。
+.It Fl v
+全てのファイルの書き換えが終った後で、エディタ
+.Xr \&vi 1
+を起動し、書き換えたすべてのファイルの編集を準備します。そして、
+書き換えた最初のファイルの最初のエラーのところに位置あわせをします。
+.Xr \&vi 1
+が見つからない場合には、かわりに
+.Xr \&ex 1
+もしくは
+.Xr \&ed 1
+を通常の場所から起動します。
+.It Fl t
+スイッチに続いて指定された引数をサフィックスリストとして取得します。
+サフィックスリストにないサフィックスを持つファイルは、本コマンドに
+よる書き換えの対象となりません。
+サフィクスリストにはサフィクスをドットで区切って並べて下さい。
+また、``*'' によるワイルドカード指定も有効です。
+例えば、以下に示すようなサフィックスリスト
+.Pp
+.Dl ".c.y.foo*.h"
+.Pp
+は、
+.Nm error
+コマンドが ``.c'', ``.y'', ``.foo*'', ``.h'' のいずれかのサフィックス
+で終了するファイル名のファイルを書き換えることを許可していることを意味します。
+.It Fl s
+エラーのカテゴリ別の統計情報を出力します。
+あまり役に立つものではありません。
+.It Fl I
+.Pa ~/.errorrc
+の代わりに使うファイル名を指定します。
+.El
+.Pp
+.Nm error
+コマンドは、
+.Ar name
+で指定したファイルから読み込まれた、もしくは標準入力から送られたエラー
+メッセージを見て、
+それぞれのエラーメッセージを吐き出した言語処理系の判定を試みます。
+そして各エラーメッセージが参照しているソースファイルと行番号を決定し、
+無視してよいエラーメッセージかどうかを判定した後で、
+対応するソースプログラムのファイルの当該エラーが参照している行の直前に
+(少し変更した)エラーメッセージをコメントの形で挿入します。
+言語処理系や内容によるカテゴリ分けが出来ないエラーメッセージは、
+いかなるファイルにも挿入されずに、標準出力に送られます。
+.Nm error
+は、全ての入力を読み終わった後でしかソースファイルを書き換えません。
+.Pp
+.Nm error
+コマンドは、標準入力をパイプを経由して、
+エラーメッセージを吐き出すプログラムにつないで使うことを想定しています。
+言語処理系の中には、エラーメッセージを標準エラーに出すものもあれば、
+標準出力に出すものもあります。
+したがって、両方のエラーの出力先を、ともにパイプによって
+.Nm error
+コマンドに送ったほうがよいでしょう。
+例えば、
+.Xr csh 1
+を使用した場合の書式では、
+.Pp
+.Dl make \-s lint \&| error \-q \-v
+.Pp
+のようになります。こうすれば、
+.Xr make 1
+を用いてターゲット lint をメイクしたときに、
+どんなプログラムが実行されたとしても、全てのエラーを解析する
+ことができるでしょう。
+.Pp
+.Nm error
+は、
+.Xr make 1 ,
+.Xr \&cc 1 ,
+.Xr cpp 1 ,
+.Xr ccom 1 ,
+.Xr \&as 1 ,
+.Xr \&ld 1 ,
+.Xr lint 1 ,
+.Xr \&pi 1 ,
+.Xr \&pc 1 ,
+.Xr f77 1 ,
+.Em DEC Western Research Modula\-2
+の各処理系で生成されたエラーメッセージを解析することが出来ます。
+.Nm error
+コマンドは、言語プロセッサによって生成されるエラーメッセージの標準形式を
+内部に持っているため、その形式の変更には敏感です。
+.Em Pascal
+を除く全ての処理系では、エラーメッセージは1行に制限されています。
+また、エラーメッセージの中には、複数のファイルの複数の行を参照する
+ものがあります。
+.Nm error
+コマンドはエラーメッセージを複製し、そのエラーメッセージの参照する全ての行に
+対して情報を付加します。
+.Pp
+.Nm error
+コマンドは、
+それぞれのエラーメッセージに対して以下の6つの動作のうち1つを行ないます。
+.Bl -tag -width Em 同期 (synchronize)
+.It Em 同期 (synchronize)
+言語処理系の中には、どのファイルを現在処理しているかについて短い
+メッセージを生成するものがあります。
+.Nm error
+コマンドは、この情報を用いて、それぞれのエラーメッセージに
+ファイル名を含めないような言語についてのファイル名を判定します。
+これらの同期メッセージは、
+.Nm error
+コマンドによって使われ、出力されることはありません。
+.It Em 捨てる (discard)
+以下の2つの
+.Xr lint 1
+ライブラリ、
+.Pa /usr/libdata/lint/llib-lc
+および
+.Pa /usr/libdata/lint/llib-port
+のうち、どちらか一方を参照する
+.Xr lint 1
+からのエラーメッセージは捨てます。
+これは、誤ってこれらのライブラリを書き換えることがないようにするためです。
+ここでもこれらのエラーメッセージは、
+.Nm error
+コマンドによって使われ、出力されることはありません。
+.It Em 無効化 (nullify)
+特定の関数に対する
+.Xr lint 1
+からのエラーメッセージのうち、すでに出ることが分かっていて必要のない情報は、
+無効化することができます。
+無効化されたエラーメッセージは、ソースファイルには挿入されず、
+標準出力へ送られます。
+無視される関数名は、ユーザのホームディレクトリ配下の
+.Pa .errorrc
+ファイルもしくは
+.Fl I
+オプションによって名前を指定したファイルのどちらかによって与えます。
+このファイルが存在しない場合には、どのエラーメッセージも無効化されません。
+ファイルが存在する場合には、関数名は1行に1つずつ記述しなければなりません。
+.It Em ファイルと関連しない (not file specific)
+読み方がわからないエラーメッセージはひとまとめにされ、
+ファイルを書き換える
+前に標準出力に送られます。
+これらのエラーメッセージは、どのソースファイルにも挿入されません。
+.It Em ファイルと関連 (file specific)
+特定のファイルを参照するが、
+特定の行を参照しないエラーメッセージについては、
+そのファイルの書き換えを行なう時に標準出力に送られます。
+.It Em 確かなエラー (true errors)
+その他の、読み方がわかるエラーメッセージは、
+そのエラーメッセージの参照するファイル
+への挿入の候補となります。
+.El
+.Pp
+確かなエラーメッセージのみファイル挿入の候補とされます。
+他のエラーメッセージは、全て
+.Nm error
+コマンドによって処理されるか、あるいは標準出力
+に対して送られます。
+.Nm error
+コマンドは、エラーメッセージをソースファイル上のエラー
+行の直前の行に挿入します。
+各エラーメッセージは、各言語の 1 行のコメントの形に変形されます。
+そして、エラーの先頭に文字列 ``###'' を、エラーの最後尾に
+文字列 ``%%%'' を付加して、内部的な印をつけます。
+これにより、エディタを用いたエラーのパターン検索が簡単になり、
+挿入されたメッセージを取り除くのも簡単になります。
+加えて、各エラーメッセージは、
+そのエラーメッセージが参照する行のソース上の行番号を含んでいます。
+きちんとした形式に整えられたソースプログラムは、
+挿入されたメッセージを削除しなくとも、
+それらのエラーメッセージが深刻なエラーを起こすことなく再コンパイルが可能です。
+しかし、C や Pascal のように自由形式で記述が可能な言語で、
+なおかつソースプログラムの形式がきちんと整っていない場合には、
+コメントの中にコメントが入ってしまうことが考えられます。
+すると、後のコンパイル時に何らかの不具合が生じることが十分考えられます。
+このことを回避するためには、
+複数の行からなるコメントとプログラムの実体が同じ行にあるようなプログラムでは、
+コメントの前にプログラム言語の文が現れるようにしてください。
+.Pp
+.Nm error
+コマンドは、インタラプトシグナルおよびターミネートシグナルを受け取ります。
+シグナルを受けたのがコメントを挿入する段階だった場合には、
+実行中の操作を整然と終了します。
+.Sh 関連ファイル
+.Bl -tag -width ~/.errorrc -compact
+.It Pa ~/.errorrc
+.Xr lint 1
+のエラーメッセージを無視する関数名
+.It Pa /dev/tty
+ユーザの端末
+.El
+.Sh 歴史
+.Nm error
+コマンドは、
+.Bx 4.0
+にて初めて実装されました。
+.Sh 作者
+Robert Henry
+.Sh バグ
+.Pp
+ユーザに問い合わせを行なうために、端末ファイルを直接オープンします。
+.Pp
+ハードリンクされたソースファイルについては、
+他とリンクされない新しい複製を作ります。
+他のリンクファイルにはその結果が反映されません。
+.Pp
+言語処理系のエラーメッセージの形式が変更された場合、
+.Nm error
+コマンドにはそのエラーメッセージが理解できなくなるかもしれません。
+.Pp
+.Nm error
+コマンドは
+全く機械的に処理を行うため、
+1つのつまらない文法上のエラーが原因で引き起こされる
+`水門の決壊 (floodgating)'
+により派生した後続のエラーをふるい落としません。
+この種のエラーを無視することは、人間の方がずっと得意です。
+.Pp
+Pascal のエラーメッセージは、本来はエラー行の後ろに来るべきです。
+(
+.Nm error
+コマンドは、エラー行の前にエラーメッセージを置きますが。)
+また、エラーのある位置を示す `\\' の配置が
+.Nm error
+コマンドによって乱れてしまいます。
+.Pp
+.Nm error
+コマンドは、適度に高速に表示される
+.Tn CRT
+を見つつ仕事を行うのに適したように設計されています。
+遅い速度の端末を見ながら作業するのにはいささか不都合です。
+まして、ハードコピー端末で使った人はいません。
diff --git a/ja/man/man1/expand.1 b/ja/man/man1/expand.1
new file mode 100644
index 0000000000..cb74e4219f
--- /dev/null
+++ b/ja/man/man1/expand.1
@@ -0,0 +1,95 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)error.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: expand.1,v 1.2 1997/04/03 02:16:14 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt EXPAND 1
+.Os BSD 4
+.Sh 名称
+.Nm expand ,
+.Nm unexpand
+.Nd タブと空白文字の変換
+.Sh 書式
+.Nm expand
+.Op Fl Ns Ar tabstop
+.Op Fl Ns Ar tab1,tab2,...,tabn
+.Ar
+.Nm unexpand
+.Op Fl a
+.Ar
+.Sh 解説
+.Nm expand
+は、指定されたファイルまたは標準入力を読み込み、
+タブを空白文字に変換して標準出力に出力します。
+バックスペース文字はそのまま出力し、
+同時にタブの計算に用いるカラム位置カウンタを一つ減じます。
+.Nm expand
+は、
+(ソートの前、特定のカラムに注目したいとき、など)
+タブを含んだテキストファイルの前処理用に便利です。
+.Pp
+.\"(訳注) 原文では,以下のようなオプション列挙型の記述ではありませんが
+.\" 解りやすいと考えますので,私も前のバージョンの例にならいます.
+.\" 2.2.1R 対象(1997/04/03) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+オプションとしては以下のものがあります:
+.Bl -tag -width flag
+.It Fl t Ar tabstop
+タブ幅を指定します。デフォルトは 8 文字です。
+.It Fl t Ar tab1,tab2,...,tabn
+指定されたカラム位置にタブストップを設定します。
+.El
+.Pp
+.Fl t
+のかわりに、
+.Fl Ar tabstop
+もしくは
+.Fl Ar tab1, tab2,..., tabn
+という指定も許されます。
+.Pp
+.Nm unexpand
+は、
+.Nm expand
+とは逆に、空白文字をタブに戻します。デフォルトでは、
+行頭の空白文字とタブだけを、できるだけ長いタブの並びに戻します。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width flag
+.It Fl a
+行頭でなくても、二つ以上の空白文字が続いており、空白文字をタブに置き換えれば
+サイズが圧縮されるような箇所はすべてタブに置き換えられます。
+.El
+.Sh 歴史
+.Nm expand
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/expr.1 b/ja/man/man1/expr.1
new file mode 100644
index 0000000000..7caa681db5
--- /dev/null
+++ b/ja/man/man1/expr.1
@@ -0,0 +1,140 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1993 Winning Strategies, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Winning Strategies, Inc.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software withough specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: expr.1,v 1.4 1996/01/29 22:53:24 mpp Exp %
+.\" jpman %Id: expr.1,v 1.2 1997/04/03 02:39:40 mutoh Stab %
+.\"
+.Dd July 3, 1993
+.Dt EXPR 1
+.Os
+.Sh 名称
+.Nm expr
+.Nd 式を評価する
+.Sh 書式
+.Nm expr
+.Ar expression
+.Sh 解説
+.Nm expr
+は、与えられた式
+.Ar expression
+を評価し、その結果を標準出力に書き出します。
+.Pp
+.Nm expr
+は、式で使われるすべての演算子を個別の引数として扱います。
+シェルが特殊キャラクタと解釈するような文字は、エスケープしておかなければ
+なりません。
+.Pp
+以下に、使える演算子を優先度の低い順に示します。
+同じ優先度の演算子は、{ } で括ってあります。
+.Bl -tag -width indent
+.It Ar expr1 Li | Ar expr2
+.Ar expr1
+が空の文字列でも 0 でもない場合は
+.Ar expr1
+を評価した結果を返し、さもなければ
+.Ar expr2
+を評価した結果を返します。
+.It Ar expr1 Li & Ar expr2
+.Ar expr1
+と
+.Ar expr2
+の各々の評価結果が、ともに空の文字列でも 0 でもない場合は
+.Ar expr1
+を評価した結果を返し、さもなければ 0 を返します。
+.It Ar expr1 Li "{=, >, >=, <, <=, !=}" Ar expr2
+.Ar expr1
+と
+.Ar expr2
+がともに整数ならば整数としての比較結果を返し、さもなければ
+文字列とみなして、ロカールに従った照合方法を用いた比較結果を
+返します。
+いずれの場合も、指定された関係が「真」ならば 1 を、「偽」ならば
+0 を返します。
+.It Ar expr1 Li "{+, -}" Ar expr2
+整数値の引数に関して、加算あるいは減算した結果を返します。
+.It Ar expr1 Li "{*, /, %}" Ar expr2
+整数値の引数に関して、乗算、整数除算、または剰余の結果を返します。
+.It Ar expr1 Li : Ar expr2
+.Dq \:
+演算子は、
+.Ar expr1
+と
+.Ar expr2
+のパターンマッチを行います。
+.Ar expr2
+は、正規表現でなければなりません。
+またこの正規表現は、暗黙のうちに
+.Dq ^
+が仮定されることにより、文字列の先頭から比較を始めることに
+なります。
+.Pp
+パターンマッチが成功した場合、もし正規表現中に少なくとも1つ
+.Dq "\e(...\e)"
+の形の部分正規表現が含まれていたならば、このうち
+.Dq "\e1"
+に相当する文字列を返します。
+このような部分正規表現が含まれていなければ、マッチした文字列の
+長さを返します。
+またパターンマッチが失敗した場合、もし部分正規表現が含まれて
+いたならば空の文字列を返し、含まれていない場合は 0 を返します。
+.El
+.Pp
+丸括弧
+.Dq "()"
+は通常と同じくグループ分けに用いることができます。
+.Sh 使用例
+.Bl -enum
+.It
+以下の例は、変数 a に 1 を足します。
+.Dl a=`expr $a + 1`
+.It
+以下の例は、変数 a に設定されたパス名のうち、
+ファイル名に当たる部分を返します。
+文字列 // は、除算演算子との混同を防ぐために用います。
+.Dl expr "//$a" Li : '.*/\e(.*\e)'
+.It
+以下の例は、変数 a に含まれる文字の数を返します。
+.Dl expr $a Li : '.*'
+.El
+.Sh 診断
+.Nm expr
+ユーティリティは、以下の値のうち1つを返して終了します。
+.Bl -tag -width Ds -compact
+.It 0
+式は空文字列でも 0 でもない
+.It 1
+式は空文字列か、0 であった
+.It 2
+式が無効だった
+.Sh 規格
+.Nm expr
+ユーティリティは
+.St -p1003.2
+準拠です。
diff --git a/ja/man/man1/f2c.1 b/ja/man/man1/f2c.1
new file mode 100644
index 0000000000..3ac27fe7b2
--- /dev/null
+++ b/ja/man/man1/f2c.1
@@ -0,0 +1,323 @@
+.\" mdoc translation of the f2c.1 manpage (deprecated -man format) supplied
+.\" with f2c. The original manpage did not have a copyright statement, but
+.\" the file /usr/src/bin/f2c/Notice states:
+.\"
+.\"/****************************************************************
+.\"Copyright 1990 - 1997 by AT&T Bell Laboratories and Bellcore.
+.\"
+.\"Permission to use, copy, modify, and distribute this software
+.\"and its documentation for any purpose and without fee is hereby
+.\"granted, provided that the above copyright notice appear in all
+.\"copies and that both that the copyright notice and this
+.\"permission notice and warranty disclaimer appear in supporting
+.\"documentation, and that the names of AT&T Bell Laboratories or
+.\"Bellcore or any of their entities not be used in advertising or
+.\"publicity pertaining to distribution of the software without
+.\"specific, written prior permission.
+.\"
+.\"AT&T and Bellcore disclaim all warranties with regard to this
+.\"software, including all implied warranties of merchantability
+.\"and fitness. In no event shall AT&T or Bellcore be liable for
+.\"any special, indirect or consequential damages or any damages
+.\"whatsoever resulting from loss of use, data or profits, whether
+.\"in an action of contract, negligence or other tortious action,
+.\"arising out of or in connection with the use or performance of
+.\"this software.
+.\"****************************************************************/
+.\"
+.Dd April 19, 1996
+.\" jpman %Id: f2c.1,v 1.3 1997/08/20 12:23:39 horikawa Stab %
+.Os "AT&T Bell Lab and Bellcore"
+.Dt F2C 1
+.Sh 名称
+.Nm f2c
+.Nd Fortran 77 から C または C++ への変換
+.Sh 書式
+.Nm f2c
+.Op Fl AaCcEfgpRrsUuw
+.Op Fl C++
+.Op Fl cd
+.Op Fl d Ar dir
+.Op Fl ec
+.Op Fl e1c
+.Op Fl ext
+.Op Fl h Ns Op Cm d
+.Op Fl \&I2
+.Op Fl \&i2
+.Op Fl i90
+.Op Fl kr Ns Op Cm d
+.Op Fl o Ar name
+.Op Fl onetrip
+.Op Fl P Ns Op Cm s
+.Op Fl r8
+.Op Fl 72
+.Op Fl T Ar dir
+.Op Fl w8
+.Op Fl W Ns Ar n
+.Op Fl z
+.Op Fl !bs
+.Op Fl !c
+.Op Fl !I
+.Op Fl !i8
+.Op Fl !it
+.Op Fl !P
+.Ar file ...
+.Sh 解説
+.Nm f2c
+は、
+ファイル名が
+.So \&.f Sc
+あるいは
+.So \&.F Sc
+で終わるファイル
+.Ar files
+に記述された Fortran 77 ソースコードを、
+カレントディレクトリ内の、
+末尾の
+.So \&.f Sc
+または
+.So \&.F Sc
+を
+.So \&.c Sc
+に置き換えたファイル名の C (または C++) のソースファイルに変換します。
+Fortran ファイルが指定されない場合、
+.Nm f2c
+は標準入力から Fortran コードを読み込み、
+標準出力に C を出力します。
+ファイル名が
+.So \&.p Sc
+または
+.So \&.P Sc
+で終わる
+.Ar file
+は、
+.Fl P
+オプションで生成されるプロトタイプファイルとみなされ、
+最初に読み込まれます。
+.Sh オプション
+.Bl -tag -width flag
+.It Fl A
+ANSI C を生成します。デフォルトは旧スタイルの C です。
+.It Fl a
+ローカル変数を static 変数ではなく automatic 変数とします。
+ただし DATA , EQUIVALENCE , NAMELIST , SAVE 文に現れるものを除きます。
+.It Fl C
+添字値が宣言された配列範囲内にあるかどうかをチェックするコードを
+生成します。
+.It Fl C++
+C++ コードを生成します。
+.It Fl c
+オリジナルの Fortran ソースをコメントとして挿入します。
+.It Fl cd
+cdabs, cdcos, cdexp, cdlog, cdsin, cdsqrt をそれぞれ
+虚数組み込み関数 zabs, zcos, zexp, zlog, zsin, zsqrt として理解することを
+止めます。
+.It Fl d Ar dir
+`.c' ファイルを、現在のディレクトリの代りに、ディレクトリ
+.Ar dir
+に書き込みます。
+.It Fl E
+初期化されない COMMON を Extern として宣言します(
+.Pa f2c.h
+において重複して
+.Em extern
+定義されます)。
+.It Fl ec
+初期化されていない COMMON ブロックを別々のファイルに配置します。
+COMMON ABC はファイル abc_com.c に置かれます。
+オプション
+.Fl e1c
+によってそれらの別々のファイルを出力ファイルに束ねます。
+その際、元のファイルにほどくための
+.Xr sed 1
+スクリプトがコメントとして与えられます。
+.It Fl e1c
+.Fl ec
+の説明を参照。
+.It Fl ext
+Fortran 77 拡張を見つけると警告します。
+.It Fl f
+自由形式(free-format)入力を仮定します。
+72 カラム目以降のテキストも受理し、
+72 文字より短い固定形式の行に対して空白のパディングを行いません。
+.It Fl 72
+72 カラム目以降に書かれたテキストをエラーとします。
+.It Fl g
+オリジナルの Fortran の行番号を
+.Sy #line
+行として埋め込みます。
+.It Fl h Ns Op Cm d
+Fortran 66 の Hollerith の取り扱いをエミュレートします。すなわち、
+文字列をワード(または、
+.Fl hd
+オプション指定時はダブルワード)境界にアラインしようとします。
+.It Fl \&I2
+INTEGER および LOGICAL を short 型、INTEGER*4 を long int 型とします。
+デフォルトの
+.Em libF77
+および
+.Em libI77
+は INQUIRE においては INTEGER*4 だけ (LOGICAL は無し) を許可している
+ものと仮定します。
+.Fl \&I4
+オプションは、INTEGER を long int とするデフォルト処理を確認します。
+.It Fl \&i2
+.Fl \&I2
+と同様ですが、修正された
+.Em libF77
+および
+.Em libI77
+(
+.Fl Df2c_i2
+でコンパイルしたもの) を仮定します。
+INTEGER および LOGICAL 変数は INQUIRE で代入でき、
+配列長は short int で格納されます。
+.It Fl i90
+Fortran 90 のビット操作組み込み関数
+btest, iand, ibclr, ibits, ibset, ieor, ior, ishft, ishftc を理解することを
+止めます。
+.It Fl kr Ns Op Cm d
+K&R (第 1 版) の括弧つけ規則で再配置(rearrangement)可能な部分において、
+Fortran の式評価を行うために一時変数を用います。
+.Fl krd
+オプションの場合、
+単精度オペランドに対しても倍精度一時変数を使用します。
+.It Fl o Ar name
+C のソースコードをファイル
+.Ar name
+に書き出します。
+.It Fl onetrip
+DO ループを、もしそこに到達すれば少なくとも一回は実行されるように
+コンパイルします。
+(Fortran 77 の DO ループは、もし上限値が下限値より小さければ、
+全く実行されません。)
+.It Fl P Ns Op Cm s
+入力ファイル
+.Ar file Ns \&.f
+あるいは
+.Ar file Ns \&.F
+に含まれる定義に対する ANSI (あるいは C++) プロトタイプ宣言を
+ファイル
+.Ar file Ns \&.P
+に書き出します。
+Fortran コードを標準入力から読み込んでいる場合は、
+標準出力の最初に書き出します。
+.Fl Ps
+オプションは
+.Fl P
+オプションと同様ですが、
+再度
+.Nm f2c
+を実行するとプロトタイプあるいは宣言が変化する場合、
+終了ステータス 4 で終了します。
+.It Fl p
+プリプロセッサ定義を出力して、
+コモンブロックのメンバがローカル変数のように見えるようにします。
+.It Fl R
+REAL 型の関数や演算を DOUBLE PRECISION に拡張しません。
+.Fl !R
+オプションを用いるとデフォルトの、Fortran 77 と同様の動作になります。
+.It Fl r
+REAL 関数(組み込み関数を含む)の値を REAL にキャストします。
+.It Fl r8
+REAL を DOUBLE PRECISION に、COMPLEX を DOUBLE COMPLEX に拡張します。
+.It Fl s
+多次元の添字式を保存します。
+.It Fl T Ar dir
+一時ファイルをディレクトリ
+.Ar dir
+に生成します。
+.It Fl U
+変数や外部名の大文字小文字を区別します。
+Fortran キーワードは
+.Em 小文字
+でなければなりません。
+.It Fl u
+変数のデフォルトの型は、Fortran のデフォルト規則に従うのではなく、
+.So 未定義 Sc
+とします。
+.It Fl w
+全ての警告メッセージを抑制します。
+.Fl w66
+オプションの場合は、Fortran 66 との互換警告メッセージのみ抑制します。
+.It Fl w8
+COMMON あるいは EQUIVALENCE 文で double 値が不正なワード境界に
+配置された場合の警告を抑制します。
+.It Fl W Ns Ar n
+数値変数を文字データで初期化する際、
+1 ワードを
+.Ar n
+文字分と仮定します(デフォルトは 4)。
+.It Fl z
+暗黙的には DOUBLE COMPLEX を認識しません。
+.It Fl !bs
+文字列中の
+.Em バックスラッシュ
+エスケープ
+(\e", \e', \e0, \e\e, \eb, \ef, \en, \er, \et, \ev)
+を認識しません。
+.It Fl !c
+C の出力は抑制し、
+.Fl P
+出力を行います。
+.It Fl !I
+.Sy include
+文を不許可とします。
+.It Fl !i8
+INTEGER*8 を不許可とします。
+.It Fl !it
+既に定義あるいはプロトタイプ宣言された手続きへの引数として
+使われた部分から、型宣言していない EXTERNAL 手続きの型を推測しません。
+.It Fl !P
+使われ方から ANSI あるいは C++ のプロトタイプを推測しないようにします。
+.El
+.Pp
+オブジェクトコードは
+.Xr ld 1
+または
+.Xr cc 1
+でロードしなければならず、
+次のライブラリを指定する必要があります:
+.Fl lf2c lm
+.Sh 関連ファイル
+.Ar file Ns \&.[fF]
+入力ファイル
+
+.Ar file Ns \&.c
+出力ファイル
+
+.Pa /usr/include/f2c.h
+ヘッダファイル
+
+.Pa /usr/lib/libf2c.a
+組み込み関数ライブラリおよび Fortran 77 I/O ライブラリ
+
+.Sh 関連項目
+.Rs
+.%A S. I. Feldman
+.%A P. J. Weinberger
+.%T A Portable Fortran 77 Compiler
+.%B UNIX Time Sharing System Programmer's Manual
+.%V Volume 2
+.%D 1990
+.%O AT&T Bell Laboratories
+.%N Tenth Edition
+.Re
+.Sh 診断
+.Nm f2c
+が出力する診断メッセージは、
+それ自身で理解可能なものであるはずです。
+.Sh バグ
+浮動小数点定数表記は
+.Nm f2c
+を実行するマシンの浮動小数点演算を用いて単純化されていますので、
+普通、その精度は高々 10 進 16 ないし 17 桁です。
+.Pp
+型なし EXTERNAL 関数は int として宣言されます。
+.Pp
+.Nm f2c
+の有効オプションのうち、
+ここに記述されていないものがいくつかあります。
+これらは
+.Pa /usr/src/usr.bin/f2c/main.c
+の先頭部分で説明されています。
diff --git a/ja/man/man1/f77.1 b/ja/man/man1/f77.1
new file mode 100644
index 0000000000..f9d0fd1380
--- /dev/null
+++ b/ja/man/man1/f77.1
@@ -0,0 +1,74 @@
+.Dd July 22, 1995
+.\" jpman %Id: f77.1,v 1.3 1997/08/20 12:25:22 horikawa Stab %
+.Dt F77 1
+.Os FreeBSD
+.Sh 名称
+.Nm f77
+.Nd FORTRAN コンパイラドライバ
+.Sh 書式
+.Nm f77
+.Op options | files
+.Sh 解説
+.Nm f77
+は FreeBSD で FORTRAN コンパイルを行うためのシンプルなドライバです。
+.Pp
+.Nm f77
+は FORTRAN から C へのトランスレータ
+.Nm f2c
+を呼び出して FORTRAN ソースを C に変換します。
+次に
+.Nm f77
+は
+.Nm cc
+を呼び出して変換後の C コードをコンパイルし、更に
+.Nm as
+を呼び出してアセンブルします。
+それが済むと
+.Nm ld
+を呼び出して、オブジェクトファイルを
+.Nm f2c
+ライブラリの
+.Nm libf2c
+や、
+.Nm 数学
+ライブラリの
+.Nm libm
+、その他指定したライブラリと共にリンクし、実行形式を生成します。
+コマンドラインには .f 以外の拡張子 (.o, .c, ...) で終わるファイルも
+記述でき、それらは適切なプログラムで処理されます。
+.Pp
+ユーザの観点から見ると、この FORTRAN から C への変換は
+完全に透過的です。
+すなわち
+.Nm f77
+は伝統的な FORTRAN コンパイラに見えます。
+.Pp
+利用可能なオプション:
+.Pp
+.Nm f77
+が認識するオプションは
+.Nm f2c
+および
+.Nm cc
+のオプションのスーパセットです。
+詳細は各々のマニュアルを参照して下さい。
+.Pp
+.Sh 関連ファイル
+file.f FORTRAN ソースファイル
+.Pp
+file.o オブジェクトファイル
+.Pp
+a.out リンクエディタの出力ファイル
+.Pp
+/usr/lib/libf2c.a f2c ライブラリ (libF77 と libI77 を含む)
+.Pp
+/usr/lib/libf2c.so.x.y f2c 共有ライブラリ
+.Pp
+.Sh 関連項目
+.Xr f2c 1 ,
+.Xr cc 1 ,
+.Xr as 1 ,
+.Xr ld 1
+.Sh バグ
+入力ファイルは .f で終わっていなければなりません。
+例えば .for のようになっていると問題が生じます。
diff --git a/ja/man/man1/false.1 b/ja/man/man1/false.1
new file mode 100644
index 0000000000..b5f440b540
--- /dev/null
+++ b/ja/man/man1/false.1
@@ -0,0 +1,62 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)false.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: false.1,v 1.2 1997/03/31 06:18:00 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt FALSE 1
+.Os BSD 4.2
+.Sh 名称
+.Nm false
+.Nd 「偽」の値を返す
+.Sh 書式
+.Nm false
+.Sh 解説
+.Nm false
+は、通常 Bourne シェルスクリプトで使われます。
+一連のコマンドを実行(あるいは実行に失敗)する前に、
+適切な「偽」の状態であるかどうかの判定を行います。
+.Pp
+.Nm false
+は、終了コードとして、つねに 0 以外の値を返します。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr sh 1 ,
+.Xr true 1
+.Sh 規格
+.Nm false
+ユーティリティは
+.St -p1003.2
+互換であるはずです。
diff --git a/ja/man/man1/fdformat.1 b/ja/man/man1/fdformat.1
new file mode 100644
index 0000000000..4875a1afb0
--- /dev/null
+++ b/ja/man/man1/fdformat.1
@@ -0,0 +1,167 @@
+.\" Copyright (C) 1993, 1994, 1995 by Joerg Wunsch, Dresden
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
+.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
+.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\" jpman %Id: fdformat.1,v 1.3 1997/04/06 15:39:38 horikawa Stab %
+.\"
+.Dd September 16, 1993
+.Os
+.Dt FDFORMAT 1
+.Sh 名称
+.Nm fdformat
+.Nd フロッピディスクのフォーマット
+.Sh 書式
+.Nm fdformat
+.Op Fl q
+.Op Fl v | Fl n
+.Op Fl f Ar capacity
+.Op Fl c Ar cyls
+.Op Fl s Ar secs
+.Op Fl h Ar heads
+.br
+.Op Fl r Ar rate
+.Op Fl g Ar gap3len
+.Op Fl i Ar intleave
+.Op Fl S Ar secshft
+.Op Fl F Ar fillbyte
+.Op Fl t Ar steps_per_track
+.Ar device_name
+.Sh 解説
+.Nm fdformat
+は、
+.Ar device_name
+デバイスのフロッピディスクをフォーマットします。
+.Ar device_name
+はキャラクタ型のデバイスでなければなりません。さらに、フルパスで
+フロッピディスクドライブの raw デバイスの名前を指定する
+.Pq つまり Pa /dev/rfd0
+か、省略形のデフォルト名で指定する
+.Pq つまり Em fd0
+かで与えなければなりません。
+後者の場合、
+.Ar device_name
+は、与えられた名前に
+.Pa /dev/r
+を付け加え、後に
+.Em .capacity
+をつけくわえることで作成されます。
+
+.Nm fdformat
+は、ジオメトリ情報を書き換えるため、
+デバイスの
+.Pq マイナーデバイス番号
+に割り当てられたどんなジオメトリ情報も意味を持ちません。
+.Pp
+次のようなオプションがあります。
+.Bl -tag -width 10n -offset indent
+.It Fl q
+コマンドからの出力を抑制し、
+.Ar device_name
+のフロッピディスクをフォーマットしても良いかどうかの確認も行いません。
+.It Fl f Ar capacity
+望ましいフォーマットパラメータの設定をする普通の方法です。
+360, 720, 800, 820, 1220, 1440, 1480, 1720 のいずれかが有効です。
+.Ar capacity
+は、フォーマットするバイト数です。
+.It Fl n
+フォーマットした後で、ベリファイしません。
+.It Fl v
+ベリファイだけを行い、フォーマットしません。
+.It Fl c Ar cyls
+シリンダ数: 40 または 80。
+.It Fl s Ar secs
+トラックあたりのセクタ数: 9, 10, 15, 18 のいずれか。
+.It Fl h Ar heads
+フロッピのヘッド数: 1 か 2。
+.It Fl r Ar rate
+データレート: 250, 300, 500 のいずれか (単位は kbps)。
+.It Fl g Ar gap3len
+ギャップ長。
+.It Fl i Ar intleave
+インタリーブファクタ。
+.It Fl S Ar secshft
+セクタサイズ: 0=128, 1=256, 2=512 (単位は バイト)。
+.It Fl F Ar fillbyte
+フィルバイト。
+.It Fl t Ar steps_per_track
+トラックあたりのステップ数。
+フロッピディスクに書き込む、ジオメトリ情報を指定する別の方法です。
+.El
+
+.Fl q
+フラグが指定されていない時、フォーマットを行う時に確認が行われます。
+フォーマットを続行するためには、
+.Dq y
+を必ず入力して、答える必要があります。
+.Pp
+.Nm
+は、低レベルのフォーマットだけを行うことに注意してください。
+ファイルシステムを作りたい時には、
+.Em ufs
+ファイルシステム( UNIX ファイルシステム)を作りたい場合は、
+.Xr newfs 8
+コマンドを、
+.Em MS-DOS (FAT)
+ファイルシステムを作りたい時には、
+.Xr mkdosfs 1
+コマンドを、参照してください。
+.Sh 診断
+.Fl q
+が指定されていないと、ユーザにプログラムの進度を知らせるために、
+標準出力に特定の 1 文字が表示されます。
+最初に、
+(複数の)トラックがフォーマットされている時には
+.Sq Em F
+が表示され、
+ベリファイを行っている時には
+.Sq Em V
+が表示されます。
+エラーが見付かった場合には、最後に
+.Sq Em E
+に変化します。
+.Pp
+終了ステータスは、操作が成功した時 0 を返します。
+フロッピーをフォーマットしている時にエラーが起こった時は 1 を返し、
+間違ったコマンドライン引数が与えられた時に 2 を返します
+(診断出力に詳しい情報がでるので従ってください)。
+.Sh 関連項目
+.Xr mkdosfs 1 ,
+.Xr fdc 4 ,
+.Xr newfs 8
+.Sh 歴史
+.Nm fdformat
+は 386BSD 0.1 のために開発され、
+新しい
+.Xr fd 4
+フロッピディスクドライバにアップグレードされました。
+これは、後に
+.Fx 1.1
+システムの一部となりました。
+.Sh 作者
+このプログラムは、
+ドレスデンの
+.if n Joerg Wunsch,
+.if t J\(:org Wunsch,
+のコントリビューションです。
+変更は、モスクワの
+Serge Vakulenko と Andrey A. Chernov
+が行いました。
diff --git a/ja/man/man1/fdwrite.1 b/ja/man/man1/fdwrite.1
new file mode 100644
index 0000000000..a33db83318
--- /dev/null
+++ b/ja/man/man1/fdwrite.1
@@ -0,0 +1,123 @@
+.\"
+.\" ----------------------------------------------------------------------------
+.\" "THE BEER-WARE LICENSE" (Revision 42):
+.\" <phk@login.dkuug.dk> wrote this file. As long as you retain this notice you
+.\" can do whatever you want with this stuff. If we meet some day, and you think
+.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
+.\" ----------------------------------------------------------------------------
+.\"
+.\" %Id: fdwrite.1,v 1.2.2.2 1997/09/19 06:21:39 charnier Exp %
+.\" jpman %Id: fdwrite.1,v 1.4 1997/07/26 21:35:54 horikawa Stab %
+.\"
+.\"
+.Dd September 16, 1993
+.Os FreeBSD
+.Dt FDWRITE 1
+.Sh 名称
+.Nm fdwrite
+.Nd フロッピディスクのフォーマットと書き込み
+.Sh 書式
+.Nm fdwrite
+.Op Fl v
+.Op Fl y
+.Op Fl f Ar inputfile
+.Op Fl d Ar device
+.Sh 解説
+.Nm fdwrite
+は、複数のフロッピディスクをフォーマットし書き込みます。
+フォーマットできるフロッピディスクデバイスを使うことができます。
+
+.Nm fdwrite
+は、
+.Pq /dev/tty
+のユーザに新しいフロッピをいれてリターンキーを押すように指示します。
+デバイスがその後にオープンされ、パラメータが尋ねられ、
+その後トラックがフォーマットされ、
+.Ar inputfile
+で指定されたデータが書き込まれ、ベリファイされます。
+フロッピディスクがいっぱいになった時は、この仮定が次のディスクに対して
+繰り返されます。これは、プログラムが中断されるか
+.Ar inputfile
+の終り (EOF) に達するまで続けられます。
+
+以下のようなオプションがあります。
+.Bl -tag -width 10n -offset indent
+.It Fl v
+標準出力への出力情報の状態をトグルで変更します。
+デフォルトのモードは ``on'' です。
+はじめてデバイスがオープンされた後で、フォーマットが出力されます。
+操作の間には、現在のフロッピディスクの残りのトラック数と
+文字 I, Z, F, W, R, C,の文字が出力されます。各文字は、現在のトラックに
+対して、入力 (I) 、ゼロで埋める (Z) 、フォーマット (F) 、書き込み (W) 、
+読み込み (R) 、比較 (C) のそれぞれを行っていることをあらわします。
+.It Fl y
+ドライブにフロッピディスクがあるかどうか問いあわせません。
+この非対話オプションはシェルスクリプトで使用するのに便利です。
+.It Fl f Ar inputfile
+読み込むための入力ファイルです。もし、与えられていない場合は標準入力が
+仮定されます。
+.It Fl d Ar device
+書き込むためのフロッピデバイスの名前です。
+デフォルトは、 ``/dev/rfd0'' です。
+.El
+
+.Nm fdwrite
+は、ユーザがリターンを押すのを待っている間は
+.Ar device
+をクローズしています。したがって、この時には完全にドライブを別の目的で
+使うことができ、あとで次のフロッピの書き込みを再開できます。
+
+.Ar device
+からかえって来たパラメータは、フォーマットのために使われます。
+もし、特別なフォーマットが必要な時には、
+.Xr fdformat 1
+を代わりに使ってください。
+
+.Sh 使用例
+.Nm fdwrite
+は、複数枚数のフロッピへの書き込みを
+簡単に行えるようにと考えらえて作成されたツールです。
+そのような使用例は、以下の tar アーカイブの書き込みがあります。
+
+.ce 1
+tar cf - . | gzip -9 | fdwrite -d /dev/rfd0.1720 -v
+
+.Xr tar 1
+のマルチボリューム機能との主要な違いは、
+もちろんフロッピのフォーマットです。フォーマットは実行中に行われるので、
+フロッピに対する仕事の量を減らすことができます。
+
+.Sh 関連項目
+.Xr fdformat 1 .
+.Sh 歴史
+.Nm fdwrite
+は、 ``make world'' が終了するのを待つ間に書かれました。
+コードのうちいくつかは、
+.Xr fdformat 1
+から持って来ました。
+.Sh 作者
+このプログラムは、
+.An Poul-Henning Kamp Aq phk@login.dknet.dk
+によるコントリビューションです。
+.Sh バグ
+診断機能は現在は完全ではありません。
+
+フロッピがおかしい時に
+.Ar inputfile
+がシーク可能であれば、ユーザにディスクを無げ捨て、
+別のフロッピを入れて、正しい場所まで戻って操作を続けるように指示すべきです。
+
+この方法は、シークできない入力に対しても同様に一時ファイルを
+使用することで、拡張可能です。
+
+オプション ( デフォルトは 0) で、ユーザに失敗した時の再試行回数を
+尋ねるべきでしょう。
+
+現在は、フロッピのマルチボリュームを読み戻すための適当なツールが
+ありません。
+データが圧縮されていない時には、代わりに
+.Xr tar 1
+の様なプログラムで、そのような仕事を行うことができます。
+このような状態の時にはもちろん、いつも
+.Xr dd 1
+を信用することもできます。
diff --git a/ja/man/man1/fetch.1 b/ja/man/man1/fetch.1
new file mode 100644
index 0000000000..c674003a7d
--- /dev/null
+++ b/ja/man/man1/fetch.1
@@ -0,0 +1,312 @@
+.\" %Id: fetch.1,v 1.9.2.6 1997/09/15 08:07:03 jkh Exp %
+.\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab %
+.Dd July 2, 1996
+.Dt FETCH 1
+.Os FreeBSD 2.2
+.Sh 名称
+.Nm fetch
+.Nd URL(Uniform Resource Locator)形式でのファイルの取得
+.Sh 書式
+.Nm fetch
+.Op Fl MPabmnpqr
+.Op Fl o Ar file
+.Ar URL
+.Op Ar ...
+.Nm fetch
+.Op Fl MPRmnpqr
+.Op Fl o Ar file
+.Op Fl c Ar dir
+.Fl f Ar file
+.Fl h Ar host
+.Sh 解説
+.Nm fetch
+は、
+.Tn FTP
+もしくは
+.Tn HTTP
+プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を
+行います。コマンドの最初の書式の
+.Ar URL
+は、
+.Li http://site.domain/path/to/the/file
+もしくは、
+.Li ftp://site.domain/path/to/the/file
+の形式をしています。
+複製もしくはリンクされる(以下の
+.Fl l
+フラグを参照)ローカルでのファイル名を指定するために、
+.Em file:/path/to/the/file
+というURL形式が使えます。
+.Pp
+コマンドの2 番目の形式は、
+ファイル名と遠隔ホスト名を
+.Fl h
+と
+.Fl f
+フラグで指定して、
+.Tn FTP
+プロトコルを使ってファイルを取得するために使われます。
+.Pp
+以下のオプションが使用可能です。
+.Bl -tag -width Fl
+.It Fl a
+ソフト上での失敗の場合に自動的に転送を再試行します。
+.It Fl b
+.Tn TCP
+プロトコルを正しく実装していない
+.Tn HTTP
+サーバのバグ対応を行います。
+.It Fl c Ar dir
+遠隔ホストの
+.Ar dir
+ディレクトリのファイルを取得します。
+.It Fl f Ar file
+遠隔ホストの
+.Ar file
+という名前のファイルを取得します
+.It Fl h Ar host
+ホスト名が
+.Ar host
+にあるファイルを取得します。
+.It Fl l
+目標が
+.Ar file:/
+形式のURLだった場合、目標を複製しようとするのではなく、
+リンクを作成します。
+.It Fl M
+.It Fl m
+ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに
+設定します。ローカルホストにファイルが既に存在しサイズと
+変更時間が同じである場合、転送は行われません。
+.It Fl n
+転送されるファイルの変更時間を保存せず、現在の時間を使います。
+.It Fl o Ar file
+出力ファイル名を
+.Ar file
+にします。
+デフォルトでは、``パス名''が指定された URI から取り出され、その
+ベースネームが出力ファイルの名前として使われます。
+.Ar file
+引数として
+.Sq Li \&-
+を与えると、結果は標準出力に出力されます。
+.It Fl P
+.It Fl p
+.Tn FTP
+プロトコルをパッシブモードで使います。これは、防火壁 (firewall)
+を跨いだ場合に有効です。
+.It Fl q
+沈黙モード。端末に転送の進行状態を報告しません。
+.It Fl R
+転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は
+``大事にされ''、どんな状況下でもファイル名は消去されません.
+.It Fl r
+以前に中断された転送を再開します。
+.It Fl t
+接続にあたり T/TCP を使用しないことを保証します。
+T/TCP 接続に対して不適切な応答を行うリモート OS スタックに対する
+バグ対応です。
+.It Fl T Ar second
+タイムアウト時間を
+.Ar second
+秒に設定します。
+ftp での転送に対しては
+.Ev FTP_TIMEOUT
+環境変数が、 http での転送に関しては
+.Ev HTTP_TIMEOUT
+環境変数が,設定されていた場合は、それを上書きします。
+.It Fl v
+冗長性を増加させます。
+複数の
+.Fl v
+を指定することで、より情報が得られるようになります。
+.El
+.Pp
+多くのオプションは、環境によってのみ制御されます
+(これはバグです)。
+.Sh プロキシサーバ
+防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して
+通信を行なうためにアプリケーションゲートウェイ( ``プロキシサーバ'' )
+を利用します。
+.Nm
+プログラムは、プロキシサーバを使った
+.Tn FTP
+と
+.Tn HTTP
+プロトコルの両方を利用可能です。
+.Tn FTP
+プロキシサーバは
+.Tn FTP
+の要求だけを取り次ぎ、
+.Tn HTTP
+プロキシサーバは
+.Tn FTP
+と
+.Tn HTTP
+の両方の要求を取り次ぎます。
+プロキシサーバは、環境変数
+.Dq Va PROTO Ns Ev _PROXY
+を定義することで設定されます。
+ここで、
+.Va PROTO
+はプロトコルの名前で、英大文字で記述します。
+環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を
+指定します。
+.Pp
+.Tn FTP
+プロキシクライアントは、
+.Do Va remoteuser Ns Li \&@ Ns Va remotehost
+.Op Li \^@ Ns Va port
+.Dc
+という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。
+.Tn HTTP
+プロキシクライアントは、
+.Tn HTTP
+.Dq Li GET
+要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。
+HTTP プロキシによる認証は、いまはまだ実装されていません。
+.Sh HTTP による認証
+.Tn HTTP
+プロトコルは、さまざまな種類の認証方法の提供を含んでいます。
+現在、
+.Nm fetch
+がサポートしている方式は
+.Dq basic
+方式だけです。
+この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを
+提供しません。
+認証は、
+.Ev HTTP_AUTH
+と
+.Ev HTTP_PROXY_AUTH
+環境変数を設定することで可能となります。
+両環境変数は、次のような同じ形式をしています。
+空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで
+分けられたパラメータのリストからなります。最初の二つのパラメータはいつも
+( 大文字でも小文字でも構わない ) 認証方法名と認証が行われる範囲です。
+認証範囲が
+.Sq Li \&*
+の形式で指定されている時、他に指定されていない全ての範囲とみなされます。
+.Pp
+.Li basic
+認証方式は、二つのオプションのパラメータを利用します。
+一つ目はユーザ名で、 2 番目はそれに付けられたパスワードです。
+環境でパスワードもしくは両方のパラメータが指定されていなく、
+.Nm
+の標準入力が端末である時には、
+.Nm
+は欠けているパラメータの入力をユーザにうながします。
+したがって、ユーザが
+.Dq Li jane
+で
+.Dq Li WallyWorld
+範囲の認証で、パスワードが
+.Dq Li QghiLx79
+であるなら、彼女は
+.Ev HTTP_AUTH
+環境変数を以下のように設定します。
+.Bl -enum -offset indent
+.It
+.Dq Li basic:WallyWorld:jane:QghiLx79
+.It
+.Dq Li basic:WallyWorld:jane
+.It
+.Dq Li basic:WallyWorld
+.El
+.Pp
+.Nm
+は欠けている情報が必要な場合は、尋ねてきます。
+彼女は、認証範囲を
+.Dq Li WallyWorld
+と指定する代わりに、
+.Dq Li \&*
+と指定することで、どんな範囲でも認証を行うことを示せます。
+これは、
+.Dq Li basic:*
+の様なもっとも一般的に使われる設定です。
+この設定は、
+.Nm
+にどんな認証範囲であっても
+.Li basic
+認証を行わせることを指示します。
+.Sh エラー
+.Nm
+は成功した時は 0 を返します。
+また、失敗した場合には、
+.Aq Pa sysexits.h
+で定義される 0 でない値が返されます。
+複数の URI が再試行のために与えられた時、
+.Nm
+は全てを試して、全て成功した場合だけ 0 を返します
+(それ以外の場合は、最後の失敗のエラーを返します)。
+.Sh 環境変数
+.Bl -tag -width FTP_PASSIVE_MODE -offset indent
+.It Ev FTP_TIMEOUT
+.Tn FTP
+接続を中断するまでの最大時間を秒で指定します。
+.It Ev FTP_LOGIN
+.Tn FTP
+転送で使われるログイン名です。
+デフォルトは ``anonymous'' が使われます。
+.It Ev FTP_PASSIVE_MODE
+パッシブモードで FTP を行います。
+.It Ev FTP_PASSWORD
+.Tn FTP
+転送で使われるパスワードです。
+デフォルトは
+.Dq Va yourname Ns Li \&@ Ns Va yourhost
+です。
+.It Ev FTP_PROXY
+.Tn FTP
+を理解するプロキシサーバのアドレスを
+.Do Va hostname Ns
+.Op Li : Ns Va port
+.Dc
+の形式で与えます。
+.It Ev HTTP_AUTH
+.Tn HTTP
+認証パラメータを定義します。
+.It Ev HTTP_PROXY
+.Tn HTTP
+を理解するプロキシサーバのアドレスを
+.Do Va hostname Ns
+.Op Li : Ns Va port
+.Dc
+の形式で与えます。
+.It Ev HTTP_PROXY_AUTH
+.Tn HTTP
+プロキシサーバのための認証パラメータを定義します。
+.It Ev HTTP_TIMEOUT
+.Tn HTTP
+接続を中断するまでの最大時間を秒で指定します。
+.Sh 関連項目
+.Xr ftp 1 ,
+.Xr tftp 1
+.Sh 歴史
+.Nm fetch
+コマンドは
+.Fx 2.1.5
+から導入されました。
+.Sh 作者
+.Nm
+のオリジナル実装は Jean-Marc Zucconi が行いました。
+.Fx 2.2
+のために、拡張を行ったのは Garrett Wollman です。
+.Sh バグ
+たくさんの環境変数とコマンドラインオプションがあります。
+.Pp
+.Fl a
+オプションは、ある種類の
+.Tn HTTP
+の接続失敗のために実装されており、
+.Tn FTP
+の接続失敗のためではありません。
+.Pp
+.Tn HTTP
+のために、
+.Dq basic
+認証モードだけが実装されています。
+これは、ダイジェスト認証に置き換えられるべきものです。
+.Pp
+.Fl b
+フラグは不要であるべきです。
diff --git a/ja/man/man1/file.1 b/ja/man/man1/file.1
new file mode 100644
index 0000000000..8ace7acb12
--- /dev/null
+++ b/ja/man/man1/file.1
@@ -0,0 +1,386 @@
+.TH FILE 1 "Copyright but distributable"
++.\" %Id: file.1,v 1.6.2.1 1997/08/18 18:59:05 jdp Exp %
+.\" jpman %Id: file.1,v 1.3 1997/06/18 16:50:16 horikawa Stab %
+.SH 名称
+file \- ファイルの種類を判定する
+.SH 書式
+.B file
+[
+.B \-vczL
+]
+[
+.B \-f
+namefile ]
+[
+.B \-m
+magicfiles ]
+file ...
+.SH 解説
+このマニュアルは
+.B file
+コマンドのバージョン 3.22 について記載しています。
+.B file
+は、namefile で指定されたファイルの種類を判定するプログラムです。判定の
+ために、ファイルシステムテスト、マジックナンバテスト、言語テストの
+3 つのテストをこの順に実行し、
+.I 最初に
+判定できた結果からファイルの種類を表示します。
+.PP
+ファイルの種類として表示されるのは、
+.B text
+(
+.SM ASCII
+キャラクタだけのファイルで、
+.SM ASCII
+端末に表示した場合、
+問題が起こらないもの)、
+.B executable
+(\s-1UNIX\s0 カーネル等に理解可能な形にコンパイルされたプログラムを
+含むファイル)、その他のものを意味する
+.B data
+(data は、通常 `バイナリ' か表示不能なもの) のうちの 1 つです。
+例外は、内部フォーマットがよく知られた、
+バイナリデータを含むファイル (コアファイルや tar アーカイブ) です。
+ファイル
+.I /usr/share/misc/magic
+やプログラムそのものを変更するときは、
+.B "これらのキーワードを残して下さい"
+。
+ディレクトリ内のすべての可読なファイルは、
+単語 ``text'' を表示することが期待されています。
+Berkeley で行われたように、``shell commands text'' を
+``shell script'' と変更するようなことはしないで下さい。
+.PP
+ファイルシステムテストは、
+.BR stat (2)
+システムコールからの戻り値を調べることに基づいています。
+このプログラムは、ファイルが空であるかどうか、ある種の
+特殊ファイルであるかどうかを調べます。
+使っているシステムに合った既知のファイルの種類
+(システムに実装されたソケット、シンボリックリンク、
+名前付きパイプ (FIFO)) は、システムヘッダファイル
+.IR sys/stat.h
+で定義されていれば表示されます。
+.PP
+マジックナンバテストは、ファイルが固定フォーマットのデータであるか
+どうかをチェックするために使われます。
+よい例が、実行可能なバイナリ実行形式 (コンパイルされたプログラム)
+.I a.out
+ファイルです。このフォーマットは標準インクルードディレクトリ内の
+.I a.out.h
+や場合により
+.I exec.h
+で定義されています。
+実行ファイルは、
+ファイルの先頭近くの特定の場所に、`マジックナンバ' を持ちます。
+これは \s-1UNIX\s0 オペレーティングシステムに対し、
+ファイルがバイナリ実行形式であり、
+どのタイプの実行可能ファイルであるかを知らせます。
+`マジックナンバ' の概念は拡張され、データファイルにも適用されています。
+ファイルの先頭に近い固定位置に固定識別子があるファイルは、
+このように記述できます。
+これらのファイルの情報は、マジックファイル
+.I /usr/share/misc/magic
+から読み込まれます。
+.PP
+もしファイルが
+.SM ASCII
+ファイルのようであるなら、
+.B file
+は、その言語を推定しようとします。
+言語テストは、ファイルの始めの数ブロックに
+特定の文字列 (
+.IR Inames.h
+を参照)
+があるかどうかを探します。たとえばキーワード
+.B .br
+があればそれはおそらく
+.BR troff (1)
+の入力ファイルであり、
+.B struct
+というキーワードは、C 言語のプログラムであることを示しています。
+こうした推定方法は、前述の 2 つのテストより信頼性が低いため、
+最後に行われます。言語テストルーチンは (
+.BR tar (1)
+アーカイブのような) その他のファイルもチェックし、未知のファイルを
+`ascii text' とすべきか、 `data' とすべきかを決定します。
+.SH OPTIONS
+.TP 8
+.B \-v
+プログラムのバージョンを表示して、終了します。
+.TP 8
+.B \-m list
+マジックナンバを含む別のファイルのリストを指定します。
+これは、1 つのファイルか、コロン (:) で分けられたファイルのリストです。
+.TP 8
+.B \-z
+compress で圧縮されたファイルの中身を見ようとします。
+.TP 8
+.B \-c
+マジックファイルを解析した形式を、調査できるように表示します。
+通常、
+新しいマジックナンバファイルを使う前にデバッグするために、
+.B \-m
+オプションとともに用います。
+.TP 8
+.B \-f namefile
+引数の前に
+.I name_file
+から調べるべきファイル名を (1 行に 1 つ) 読み込みます。
+.I name_file
+もしくは引数の filename は少なくとも 1 つは指定しなければなりません。
+標準入力のファイルの種類を判定させる場合は、
+ファイル名として、``-'' を指定します。
+.TP 8
+.B \-L
+オプションは(システムがシンボリックリンクを提供していれば)、
+.BR ls (1)
+コマンドの
+.B \-L
+オプションと同様にシンボリックリンクをたどって実際のファイルの中
+身の種類を判定します。
+.SH 関連ファイル
+.I /usr/share/misc/magic
+\- デフォルトのマジックナンバのリスト
+(以前のバージョンの FreeBSD では
+.I /etc/magic
+でした)
+.SH 環境変数
+環境変数
+.B MAGIC
+は、デフォルトのマジックナンバファイルを指定するために
+使うことができます。
+.SH 関連項目
+.BR magic (5)
+\- マジックナンバファイルのフォーマットの説明
+.br
+.BR strings (1), " od" (1)
+\- 非テキストファイルを調べるツール
+.SH 標準適合性
+このプログラムは、その中に含まれる曖昧な言語をできるだけ特定できる
+ようになっており、
+System V の FILE(CMD) で定義されるインタフェースを越えているはずです。
+同名の System V のプログラムと、ほとんど動作は同じです。
+しかし、このバージョンはより多くのマジックを知っているので、多くの場合に
+異なった (より正確な) 出力を出します。
+.PP
+このバージョンと System V のものとの大きな違いは、
+このバージョンは全ての空白を区切り文字として扱うため
+パターン内の空白はエスケープしなければならないということです。
+たとえば、
+.br
+>10 string language impress\ (imPRESS data)
+.br
+とマジックファイルに書かれていた場合は、次のように
+変更せねばなりません。
+.br
+>10 string language\e impress (imPRESS data)
+.br
+またこのバージョンでは、バックスラッシュを含んでいる
+パターンもエスケープしなくてはいけません。たとえば、
+.br
+0 string \ebegindata Andrew Toolkit document
+.br
+とマジックファイルに書かれていた場合は、次のように
+変更せねばなりません。
+.br
+0 string \e\ebegindata Andrew Toolkit document
+.br
+.PP
+Sun Microsystems の SunOS リリース 3.2 もしくはそれ以降には、
+System V 由来の
+.BR file (1)
+コマンドが含まれていますが、拡張がなされています。
+このバージョンは SUN のものとは、細かい点でしか異なりません。
+このバージョンには `&' 演算子の拡張が含まれています。
+使い方は、次のようなものです。
+.br
+>16 long&0x7fffffff >0 not stripped
+.SH マジックディレクトリ
+マジックファイルのエントリは様々なソース (主に USENET)
+から集められたり、様々な作者から提供されました。
+Chirstos Zoulas (下記のアドレス) が、
+さらなる、訂正されたマジックファイルエントリー集めてくれる
+でしょう。
+マジックファイルエントリー整備したものが定期的に
+配布されるでしょう。
+.PP
+マジックファイルにおけるエントリの順序は
+重要です。
+使っているシステムによって、エントリの順序が正しくなくなることが
+あります。
+もし、あなたの古い
+.B file
+コマンドがマジックファイルを使っているのなら、
+比較のため古いマジックファイルを保存して下さい
+(たとえば、
+.IR /usr/share/misc/magic.orig
+という名前に変更します) 。
+.SH 歴史
+.B file
+コマンドは、少なくとも Research Version 6
+(マニュアルページの日付は、1975 年 1 月)
+からはどの \s-1UNIX\s0 にもありました。
+System V バージョンはある重要な変更、
+すなわち外部マジックナンバリストを導入しました。
+これによってプログラムのスピードはわずかに低下しましたが、
+更にまた柔軟になりました。
+.PP
+このプログラムは、System V バージョンを基づいており、
+Ian Darwin によって、他の誰かのソースコードを見ることなく
+書かれました。
+.PP
+John Gilmore はコードを拡張し、最初の版よりも
+よいものにしました。
+Geoff Collyer は 不適当なところが数箇所あるのを
+発見し、いくつかマジックファイルエントリを
+提供しました。
+プログラムは、ずっと発展し続けています。
+.SH 作者
+Ian F. Darwin, UUCP アドレス {utzoo | ihnp4}!darwin!ian,
+インターネットアドレス ian@sq.com,
+住所 P.O. Box 603, Station F, Toronto, Ontario, CANADA M4Y 2L8.
+により書かれました。
+.PP
+Rob McMahon, cudcv@warwick.ac.uk が 1989 年に、`&' 演算子を単純な
+`x&y != 0' から `x&y op z' に拡張するため変更しました。
+.PP
+Guy Harris, guy@auspex.com が 1993 年に、
+.RS
+.PP
+``旧型'' の `&' 演算子を元のように戻しました。理由は、
+1) Rob McMahon の変更によりこれまでの使用法ができなくなった。
+2) このバージョンの
+.B file
+がサポートする SunOS の ``新型'' の `&' 演算子で、`x&y op z' も扱える。
+3) Rob の変更はドキュメントに書かれていなかった。
+.PP
+他段階の `>' 追加。
+.PP
+``beshort'', ``leshort'' などのキーワードの追加。
+.BR file
+が動いているプロセスのバイトオーダではなく、
+ファイル特有のバイトオーダで数字を見るようにするキーワードです。
+.RE
+.PP
+Ian Darwin や Christos Zoulas (christos@deshaw.com) を含む
+多くの作者による 1990-1992 年の変更。
+.SH 法律上の注意
+Copyright (c) Ian F. Darwin, Toronto, Canada,
+1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993.
+.PP
+This software is not subject to and may not be made subject to any
+license of the American Telephone and Telegraph Company, Sun
+Microsystems Inc., Digital Equipment Inc., Lotus Development Inc., the
+Regents of the University of California, The X Consortium or MIT, or
+The Free Software Foundation.
+.PP
+This software is not subject to any export provision of the United States
+Department of Commerce, and may be exported to any country or planet.
+.PP
+Permission is granted to anyone to use this software for any purpose on
+any computer system, and to alter it and redistribute it freely, subject
+to the following restrictions:
+.PP
+1. The author is not responsible for the consequences of use of this
+software, no matter how awful, even if they arise from flaws in it.
+.PP
+2. The origin of this software must not be misrepresented, either by
+explicit claim or by omission. Since few users ever read sources,
+credits must appear in the documentation.
+.PP
+3. Altered versions must be plainly marked as such, and must not be
+misrepresented as being the original software. Since few users
+ever read sources, credits must appear in the documentation.
+.PP
+4. This notice may not be removed or altered.
+.PP
+A few support files (\fIgetopt\fP, \fIstrtok\fP)
+distributed with this package
+are by Henry Spencer and are subject to the same terms as above.
+.PP
+A few simple support files (\fIstrtol\fP, \fIstrchr\fP)
+distributed with this package
+are in the public domain; they are so marked.
+.PP
+The files
+.I tar.h
+and
+.I is_tar.c
+were written by John Gilmore from his public-domain
+.B tar
+program, and are not covered by the above restrictions.
+.SH バグ
+マジックディレクトリから
+マジックファイルを自動的に作成するよりよい方法があるはずです。
+それは何なのでしょうか。より起動を速くするため
+マジックファイルをバイナリにコンパイルするとよいでしょう。
+(たとえば
+.BR ndbm (3)
+あるいは、異機種ネットワーク環境では固定長の
+.SM ASCII
+文字)。
+そうすれば、同名の バージョン 7 のプログラムと同じぐらいの速さで
+System V バージョンの柔軟性を持ったプログラムとなるでしょう。
+.PP
+.B file
+には、正確さよりも 速度を重視したアルゴリズムが
+いくつかあるので
+.SM ASCII
+ファイルの内容については
+間違うことがあります。
+.PP
+.SM ASCII
+ファイルのサポート ( 元々はプログラミング言語のため ) は
+単純で、不十分であり、更新には再コンパイルが必要です。
+.PP
+複数の行に渡るものをサポートするため
+``else'' 項があるべきです。
+.PP
+マジックファイルと キーワードの正規表現を
+サポートするべきです。
+.SM "ASCII TAB"
+をフィールドの識別子にすることは醜く、
+ファイルの編集を難しくしていますが、残されています。
+.PP
+キーワードに大文字を許すことが勧められます。たとえば、
+.BR troff (1)
+コマンドと man page マクロの区別です。
+正規表現のサポートで、このことは簡単になるでしょう。
+.PP
+\s-2FORTRAN\s0 に対してプログラムが働きません。
+行の先頭にインデントされているキーワードを見ることにより
+\s-2FORTRAN\s0 だと判別すべきです。
+正規表現のサポートによりこれは簡単になるでしょう。
+.PP
+.I ascmagic
+に入っている
+キーワードのリストは、おそらくマジックファイルに
+入れるべきものです。
+これはオフセットの値として `*' のようなキーワードを
+使うことで可能でしょう。
+.PP
+最初の文字、最初の語、最初の long などに関する
+テストを 最初に読み込んだときに全て行うことができるよう
+マジックファイルを並べ直す最適化法はないだろうか。
+マジックファイルの矛盾について述べるようにならないか。
+エントリーの順序を
+マジックファイル上の位置ではなく、
+ファイルオフセット順にすることはできないだろうか。
+.PP
+プログラムは、推定が「どれぐらいよい」のかを知る方法を
+提供すべきです。ファイルの最初の 5 文字が ``From ''
+であるときに推測をしても、 ``Newsgroups:'' や "Return-Path:"
+といった文字による推測ほどよくはないので、推測結果を
+捨てることになります。しかし、もしそういった文字が
+現れなければ最初の推定を使わなければなりません。
+.PP
+このプログラムは、いくつかの商用の file コマンドより遅いです。
+.PP
+このマニュアルページ、特にこの節が長過ぎます。
+.SH 入手性
+オリジナル作者の最新のバージョンを anonymous FTP で、
+.B ftp.deshaw.com
+の
+.I /pub/file/file-X.YY.tar.gz
+から手に入れることができます。
diff --git a/ja/man/man1/file2c.1 b/ja/man/man1/file2c.1
new file mode 100644
index 0000000000..a89993e6a3
--- /dev/null
+++ b/ja/man/man1/file2c.1
@@ -0,0 +1,53 @@
+.\"----------------------------------------------------------------------------
+.\" "THE BEER-WARE LICENSE" (Revision 42):
+.\" <phk@freebsd.org> wrote this file. As long as you retain this notice, you
+.\" can do whatever you want with this file. If we meet some day, and you think
+.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
+.\" ---------------------------------------------------------------------------
+.\"
+.\" %Id: file2c.1,v 1.1.6.2 1997/09/15 08:07:08 jkh Exp %
+.\" jpman %Id: file2c.1,v 1.3 1997/07/27 11:56:01 horikawa Stab %
+.\"
+.Dd January 28, 1995
+.Dt FILE2C 1
+.Os
+.Sh 名称
+.Nm file2c
+.Nd ファイルの内容を C 言語のソースに変換する
+.Sh 書式
+.Nm
+.Op "string"
+.Op "string"
+.Sh 解説
+.Nm
+は標準入力からファイルを読み込み、
+各バイトを10進数の数字の文字列に変換して、標準出力に出力します。
+.Pp
+1番目の
+.Op string
+が指定されると、
+.Op string
+を出力してから変換した文字列を出力します。
+2番目の
+.Op string
+が指定されると、
+変換した文字列を出力した後に、2番目の
+.Op string
+を出力します。
+.Pp
+このプログラムは、バイナリなどの
+データを C 言語のソースに、char[] のデータとして埋め込むときに
+使われます。
+.Sh 使用例
+次のコマンド
+.Bd -literal -offset indent
+date | file2c 'const char date[] = {' ',0};'
+.Ed
+.Pp
+は以下の文字列を生成します。
+.Bd -literal -offset indent
+const char date[] = {
+83,97,116,32,74,97,110,32,50,56,32,49,54,58,50,56,58,48,53,
+32,80,83,84,32,49,57,57,53,10
+,0};
+.Ed
diff --git a/ja/man/man1/find.1 b/ja/man/man1/find.1
new file mode 100644
index 0000000000..f0aea44807
--- /dev/null
+++ b/ja/man/man1/find.1
@@ -0,0 +1,498 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)find.1 8.4 (Berkeley) 4/1/94
+.\" %Id: find.1,v 1.4.2.3 1997/05/19 22:14:53 eivind Exp %
+.\" jpman %Id: find.1,v 1.4 1997/09/23 14:13:10 horikawa Stab %
+.\"
+.Dd April 1, 1994
+.Dt FIND 1
+.Os
+.Sh 名称
+.Nm find
+.Nd ディレクトリツリーを再帰的に下ってファイルを捜す
+.Sh 書式
+.Nm find
+.Op Fl H | Fl L | Fl P
+.Op Fl Xdx
+.Op Fl f Ar file
+.Op Ar file ...
+.Ar expression
+.Sh 解説
+.Nm find
+は、
+.Ar file
+に対してディレクトリツリーを再帰的に下って、
+ツリー上の各ファイルについて
+.Ar expression
+(後に示す ``プライマリ'' と ``演算子'' から構成されます)
+で指定された処理を実行します。
+.Pp
+オプションとしては以下のものがあります:
+.Pp
+.Bl -tag -width Ds
+.It Fl H
+.Ar file
+で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク
+自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ(
+.Xr stat 2
+参照) を使って
+.Ar expression
+の処理をするように指定します。
+もしリンク先のファイルがなければ、
+シンボリックリンク自体を処理の対象とします。
+コマンドラインからの
+.Ar file
+で直接指定されたのではなく、
+ディレクトリツリー上で見つかったシンボリックリンクファイルに関しては、
+シンボリックリンク自体を処理の対象とします。
+.It Fl L
+.Ar file
+で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク
+自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ(
+.Xr stat 2
+参照) を使って
+.Ar expression
+の処理をするように指定します。もしリンク先のファイルがな
+ければ、シンボリックリンク自体を処理の対象とします。
+.It Fl P
+シンボリックリンク自体に関して
+ファイル情報とファイルタイプ(
+.Xr stat 2
+参照) を使って
+.Ar expression
+の処理をするように指定します。
+これがデフォルトです。
+.It Fl X
+.Xr xargs 1
+と組み合わせて使うときのため、より安全に動作するようにします。もし
+.Xr xargs
+によりデリミタ文字 (single quote (`` ' ''), double quotes (`` " ''),
+backslash (``\e''), space, tab, newline)
+が含まれるファイル名
+が使われた場合、診断メッセージを標準エラー出力に表示して、
+そのファイル名をスキップします。
+.It Fl d
+ファイルに対する処理順序を深さ優先の探索方式、すなわち、ディレクトリ自体に
+対する処理を行う前に、ディレクトリ内の個々のファイルに対して処理を
+実行します。デフォルトでは、ディレクトリは最初に処理されます。
+(デフォルトの方式は幅優先探索方式ではないです。)
+.It Fl f Ar file
+明示的にファイルを指定します。ファイル名の先頭が ``\-'' で始まっていたり、
+あとで述べる
+.Ar expression
+の指定と混同してしまうようなファイル名を指定したりするときに使用します。
+(ファイルはオプション直後のオペランドとしても指定可能です。)
+.It Fl x
+ディレクトリツリーを下って行くとき、最初に file のあったファイルシステムとは
+異なるファイルシステム上のファイルに対する処理になる場合は、実行しないように
+します。
+.El
+.Sh プライマリ
+.Bl -tag -width Ds
+.It Ic -atime Ar n
+最後にファイルがアクセスされた時刻と、
+.Nm find
+を起動した時刻との差(24 時間単位で切り上げます)が
+.Ar n
+日であれば、真とします。
+.It Ic -ctime Ar n
+最後にファイルのステータスが変更された時刻と、
+.Nm find
+を起動した時刻の差 (24 時間単位で切り上げます) が
+.Ar n
+日であれば、真とします。
+.It Ic -delete
+見付けたファイルやディレクトリを消去します。常に真を返します。
+現在の作業ディレクトリから
+.Nm
+は再帰的にディレクトリトリーを下ります。
+セキュリティ上の理由から、
+"." からの相対パス名に ``/'' 文字を含むファイル名を消去しようとはしません。
+このオプションにより暗示的に深さ優先の処理が指定されます。
+.It Ic -exec Ar utility Op argument ... ;
+.Ar utility
+で指定した名前のプログラムを実行し、終了コードが 0
+の場合、真とします。argument は、utility への引き数として渡されます。この
+指定は、最後に必ずセミコロン (``;'') をつけてください。
+utility もしくは argument の指定
+のなかで ``{}'' が使われていた場合は、その部分が、現在
+.Nm find
+が対象としてい
+るファイルのパス名に置き換えられます。ただし、
+.Ar utility
+が実行されるときのカレントディレクトリは、
+.Nm find
+が起動されたディレクトリのままです。
+.It Ic -fstype Ar type
+対象ファイルが格納されているファイルシステムのタイプが、
+.Ar type
+で指定されたものである場合に真となります。type としては、
+``local'', ``mfs'', ``nfs'', ``msdos'', ``rdonly'', `'ufs''
+を指定することができます。
+``local'' と ``rdonly'' は特定のファイルシステムを指すものではありません。
+``local'' は、
+.Nm find
+を実行しているシステム上に物理的
+にマウントされているファイルシステムです。``rdonly'' は、リードオンリーで
+マウントされているファイルシステムです。
+.It Ic -group Ar gname
+ファイルが
+.Ar gname
+で指定したグループに属している場合、真になります。
+.Ar gname
+が数字で、そのようなグループ名がない場合は、
+.Ar gname
+をグループ ID として扱います。
+.It Ic -inum Ar n
+ファイルの i ノード番号が
+.Ar n
+なら、真になります。
+.It Ic -links Ar n
+ファイルのリンク数が
+.Ar n
+なら、真になります。
+.It Ic -ls
+このプライマリは常に真になります。対象となっているファイルの情報を
+標準出力に出力されます。出力される内容は i ノード番号、
+512 バイトブロックでのファイルの大きさ、
+ファイルのパーミッション、ハードリンクの数、オーナ、グループ、
+バイトで表したファイルの大きさ、最後にファイルが修正された時刻、パス名です。
+ファイルがブロック型もしくはキャラクタ型のスペシャルファイルならば、
+バイトで表したファイルの大きさの代わりにメジャー番号とマイナー番号が
+出力されます。ファイルがシンボリックリンクならば、
+`\`->''の後にリンク先のファイルのパス名が表示されます。
+フォーマットは
+``ls -dgils'' の出力結果と同じです。
+.It Ic -mtime Ar n
+最後にファイルが修正された時刻と、
+.Nm find
+を起動した時刻との差(24 時間単位で切り上げます)が
+.Ar n
+日であれば、真とします。
+.It Ic \&-ok Ar utility Op argument ... ;
+.Ic exec
+とほぼ同じですが、
+.Ar utility
+を実行するかどうかの確認をユーザに求め、端末にメッセージを出力します。
+``y'' 以外の返答をした場合は、
+コマンドは実行されず、
+このプライマリの値は偽になります。
+.It Ic -name Ar pattern
+対象ファイルのパス名の最後のファイル名部分が
+.Ar pattern
+で指定したものとマッチするかどうかを調べ、マッチした場合は真になります。
+.Ar pattern
+としては、シェルで使われるパターンマッチ
+指定 (``['', ``]'', ``*'', ``?'') を使用することができます。これらの文字は
+バックスラッシュ(``\e'')を前において、パターンマッチ指定ではなく文字として
+扱う事を明示することができます。
+.It Ic -newer Ar file
+対象ファイルの修正日付が、
+.Ar file
+で指定したファイルのものより新しい場合は、真になります。
+.It Ic -nouser
+対象ファイルのオーナーが unknown の場合、真になります。
+.It Ic -nogroup
+対象ファイルのグループが unknown の場合、真になります。
+.It Ic -path Ar pattern
+対象ファイルのパス名が、
+.Ar pattern
+で指定したものとマッチす
+るかどうかを調べます、マッチした場合は真になります。
+.Ar pattern
+としては、シェルで使われるパターンマッチ
+指定 (``['', ``]'', ``*'', ``?'') を使用することができます。これらの文字は
+バックスラッシュ (``\e'') を前において、パターンマッチ指定ではなく文字として
+扱う事を明示することができます。
+``/'' は、そのままパスのディレクトリの区切りにマッチします。
+.It Ic -perm Op Ns Ar mode
+ファイルのモードを、
+.Ar mode
+と比較します。
+.Ar mode
+は、シンボル
+形式(
+.Xr chmod 1
+参照) もしくは 8 進数形式で指定します。シンボル形式の場合は、
+00000 から開始してパーミッションのセットとクリアを行います。
+(プロセスのファイル生成マスクとは無関係です。)
+8 進数形式の場合は、
+ファイルのモードビットのうち、07777
+.Pf ( Dv S_ISUID
+|
+.Dv S_ISGID
+|
+.Dv S_ISTXT
+|
+.Dv S_IRWXU
+|
+.Dv S_IRWXG
+|
+.Dv S_IRWXO )
+の部分が比較対象になります。
+.Ar mode
+の最初に ``\-'' を指定した場合は、
+.Ar mode
+でセットされているすべてのビットが
+ファイルのモードでもセットされていれば真となります。
+``\-'' が指定されていない場合は、ファイルのモードと
+.Ar mode
+が完全に一致した場合にのみ真となります。
+なお、シンボル形式で、最初に ``\-'' が
+くるようなモードの書き方をすると、一致条件の指定と区別がつかなくなるので、
+シンボル形式でモード指定をする場合は、少なくとも最初が ``\-'' にならない
+ようにする必要があります。
+.It Ic -print
+このプライマリは常に真になります。
+対象となっているファイルのパス名を標準出力に出力して改行します。
+.Ic -exec ,
+.Ic -ls ,
+.Ic -ok ,
+.Ic -print0
+のどのプライマリも指定されなかった場合は、
+本プライマリが指定されているものとみなします。
+.It Ic -print0
+.Ic -print
+とほぼ同じですが、標準出力に対象となっているファイルのパス名を出力
+したあと、改行ではなく、
+.Tn ASCII
+.Tn NUL
+文字(文字コード 0)を出力します。
+.It Ic -prune
+このプライマリは常に真になります。
+対象となっているファイル配下のディレクトリに下りないようにします。
+.Fl d
+オプションが指定されている場合は、
+.Ic -prune
+の指定は無効になります。
+.It Ic -size Ar n Ns Op Cm c
+ファイルサイズを 512 バイトのブロック単位で数えたとき (端数は切り上げ)、
+.Ar n
+ブロックであれば真になります。
+.Ar n
+のあとに ``c'' が指定されていた場合は、ファイルサイズが
+.Ar n
+バイトであれば真になります。
+.It Ic -type Ar t
+ファイルタイプが
+.Ar t
+で指定されたタイプに一致すれば真になります。
+タイプとして、次のような指定が可能です:
+.Pp
+.Bl -tag -width flag -offset indent -compact
+.It Cm b
+ブロックスペシャル
+.It Cm c
+キャラクタスペシャル
+.It Cm d
+ディレクトリ
+.It Cm f
+普通のファイル
+.It Cm l
+シンボリックリンク
+.It Cm p
+FIFO
+.It Cm s
+ソケット
+.El
+.Pp
+.It Ic -user Ar uname
+ファイルの所有者が、
+.Ar uname
+で指定されたユーザと一致すれば真になります。もし
+.Ar uname
+が数字で、そのようなユーザ名がなければ、
+ユーザ ID が指定されたものとして扱います。
+.El
+.Pp
+なお、数字を引数にとるプライマリは、
+数字の前に ``+'' および ``\-'' をつけることができます。
+それぞれ ``n より大'' および ``n より小'' の意味になり、
+``正確に n''という意味ではなくなります。
+.Sh 演算子
+.Pp
+以下の演算子を使って、プライマリを組み合わせることができます。
+演算子は優先度が下がる順番で示されています。
+.Bl -tag -width (expression)
+.It Cm \&( Ns Ar expression Ns Cm \&)
+もし、括弧内の
+.Ar expression
+が真なら、真になります。
+.Pp
+.It Cm \&! Ns Ar expression
+単項否定演算子(
+.Tn NOT
+)です。
+.Ar expression
+が偽なら、真となります。
+.Pp
+.It Ar expression1 Cm -and Ar expression2
+.It Ar expression1 expression2
+論理積(
+.Tn AND
+)演算子です。
+.Ar expression1
+と
+.Ar expression2
+の両方とも真のとき、真になります。
+もし
+.Ar expression1
+が偽なら、
+.Ar expression2
+は実行されません。
+.Ic -and
+を書かずに、単に 2 つの expression を並べて
+.Pp
+.Ar expression1 expression2
+.Pp
+と書いても同じです。
+.Pp
+.It Ar expression1 Cm -or Ar expression2
+論理和(
+.Tn OR
+)演算子です。
+.Ar expression1
+か
+.Ar expression2
+のどちらか一方でも真であれば、真になります。もし
+.Ar expression1
+が真なら、
+.Ar expression2
+は実行されません。
+.El
+.Sh 使用例
+.Pp
+コマンドラインからのタイプ例です。
+.Nm find
+の演算子がシェルの特殊文字と間違われないように、
+エスケープ文字 ``\e'' を使用しています。
+.Bl -tag -width findx
+.It Li "find / \e! -name \*q*.c\*q -print"
+探索をルートディレクトリから開始し、ファイル名の終わりが
+``.c'' でないものを表示します。
+.It Li "find / -newer ttt -user wnj -print"
+探索をルートディレクトリから開始し、
+ファイルが ``ttt'' というファイルより新しく、
+所有者が ``wnj'' であるようなものを表示します。
+.It Li "find / \e! \e( -newer ttt -user wnj \e) -print"
+探索をルートディレクトリから開始し、
+``ttt'' というファイルより古いか、
+所有者が ``wnj'' 以外のファイルを表示します。
+.It Li "find / \e( -newer ttt -or -user wnj \e) -print"
+探索をルートディレクトリから開始し、
+ファイルが ``ttt'' というファイルより新しいか、
+所有者が ``wnj'' であるようなものを表示します。
+.El
+.Sh 関連項目
+.Xr chmod 1 ,
+.Xr locate 1 ,
+.Xr stat 2 ,
+.Xr fts 3 ,
+.Xr getgrent 3 ,
+.Xr getpwent 3 ,
+.Xr strmode 3 ,
+.Xr symlink 7
+.Sh 規格
+.Nm find
+ユーティリティの文法は
+.St -p1003.2
+の仕様で決められた文法のスーパセットです。
+.Fl s ,
+.Fl x
+のオプションと
+.Ic -inum ,
+.Ic -print0 ,
+.Ic -delete ,
+.Ic -ls
+のプライマリは
+.St -p1003.2
+の拡張です。
+.Pp
+昔は
+.Fl d ,
+.Fl h ,
+.Fl x
+のオプションは
+それぞれ ``\-depth'', ``\-follow'', ``\-xdev'' のプライマリを
+用いて実装されていました。
+これらのプライマリは常に真に評価されていました。
+これらのプライマリは
+探索が始まる前に効果を与える本当のグローバル変数であったので、
+いくつかの合法的な expression が予期しない結果となりました。
+一例として ``\-print \-o \-depth''の expression があります。
+\-print が常に真に評価されるため
+標準の評価の順番では \-depth は決して評価されないはずですが、
+そうではありませんでした。
+.Pp
+演算子の ``-or'' は ``\-o'' として実装されていました。
+演算子の ``-and'' は ``\-a'' として実装されていました。
+.Pp
+昔の実装では
+.Ic exec
+と
+.Ic ok
+のプライマリでは、
+utility 名やその引数中において、
+空白以外の文字が前後に続く ``{}'' を置き換えませんでした。
+このバージョンでは utility 名やその引数のどの場所に ``{}'' が現れても
+置き換えます。
+.Sh バグ
+.Nm find
+によって使われる特殊文字は多くのシェルにとっても
+特殊文字です。
+特に ``*'', ``['', ``?'', ``('', ``)'', ``!'', ``\e'', ``;'' は、
+シェルからエスケープされなくてはならないでしょう。
+.Pp
+オプションとファイル名との間および
+ファイル名と
+.Ar expression
+との間を区切るデリミタが存在しませんので、
+ファイル名にオプションと間違えるようなもの (``-xdev'' のようなもの) や、
+.Ar expression
+と間違えるようなもの (``!'' のようなもの) を指定することは難しいです。
+このようなファイル名を指定する場合は
+.Fl f
+オプションを使うか、
+.Xr getopt 3
+で使われるオプション指定の終了記号 ``--'' を使用します。
+.Pp
+.Ic -delete
+プライマリは、ファイルシステムトリーの検索順序に影響する
+他のオプションとは十分には連係しません。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/finger.1 b/ja/man/man1/finger.1
new file mode 100644
index 0000000000..5d8dbce445
--- /dev/null
+++ b/ja/man/man1/finger.1
@@ -0,0 +1,206 @@
+.\" Copyright (c) 1989, 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)finger.1 8.3 (Berkeley) 5/5/94
+.\" jpman %Id: finger.1,v 1.2 1997/04/07 05:53:49 mutoh Stab %
+.\"
+.Dd May 5, 1994
+.Dt FINGER 1
+.Os BSD 4
+.Sh 名称
+.Nm finger
+.Nd ユーザ情報を調べるプログラム
+.Sh 書式
+.Nm finger
+.Op Fl lmpshoT
+.Op Ar user ...
+.Op Ar user@host ...
+.Sh 解説
+.Nm finger
+はシステムのユーザに関する情報を表示します。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width flag
+.It Fl s
+.Nm finger
+はユーザのログイン名、本名、端末名、端末への書き込み
+状態(書き込みが不可の場合は、端末名の前に``*''が付きます)、
+アイドル時間、ログイン時間、また、オフィスの所在地と電話番号もしくは
+リモートホスト名を表示します。もし
+.Fl h
+が指定されていた場合(デフォルト)は、リモートホスト名が表示
+されます。また、
+.Fl o
+が指定されていた場合は、オフィスの所在地と電話番号が
+リモートホスト名の代わりに表示されます。
+.Pp
+アイドル時間の単位は、数字だけの場合は
+何分か、``:''がある場合は何時間何分か、``d''がある場合は何日か、です。
+ログイン時間は、6日以内の場合は何曜日の何時何分からか、それ以上の
+場合は何月何日の何時何分からかが表示されます。もし6ヶ月を超えて
+いる場合は、何年何月何日からかが表示されます。
+.Pp
+アイドル時間やログイン時間がない場合と同様に、
+不明なデバイスは一つのアスタリスクとして表示されます。
+.Pp
+.It Fl h
+.Fl s
+オプションと共に指定されたとき、オフィスの所在地と電話番号の代わりに
+リモートホスト名を表示します。
+.Pp
+.It Fl o
+.Fl s
+オプションと共に指定されたとき、リモートホスト名の代わりに
+オフィスの所在地と電話番号を表示します。
+.Pp
+.It Fl l
+ユーザのホームディレクトリ、自宅の電話番号、ログインシェル、
+メールの状態、そしてユーザのホームディレクトリの
+.Dq Pa .forward
+、
+.Dq Pa .plan
+および
+.Dq Pa .project
+の内容に加えて、
+.Fl s
+オプションの解説で述べた情報全てが複数行にわたる形式で出力されます。
+.Pp
+アイドル時間は1分以上1日以内の場合は、``hh:mm''の形式と
+なります。1日よりも大きいときには、``d day[s]hh:mm''の
+形式となります。
+.Pp
+電話番号は、11桁の場合には``+N-NNN-NNN-NNNN''と表示
+されます。10桁もしくは7桁の場合には、上の文字列の適切な
+部分として表示されます。5桁の場合は``xN-NNNN''、4桁の
+場合は``xNNNN''と表示されます。
+.Pp
+デバイスの書き込み許可がない場合、デバイス名を含む
+行に``(messages off)''という語句が追加されます。
+.Fl l
+オプションを指定すると、1人のユーザにつき1つの項目が表示されます。
+もしあるユーザが複数回ログインしている場合には、端末の情報は
+その各ログインについて表示されます。
+.Pp
+メールの状態は、全くメールがない場合には``No Mail.''、その人が自分の
+メールボックスに届いた新着メールを全て読んでいた場合
+には``Mail last read DDD MMM ## HH:MM YYYY (TZ)''、その人あての新着
+メールがあれば``New mail received ...''や``Unread since ...''の
+ように表示されます。
+.Pp
+.It Fl p
+オプションは、
+.Nm finger
+の
+.Fl l
+オプションが、
+.Dq Pa .forward
+、
+.Dq Pa .plan
+および
+.Dq Pa .project
+のファイルの内容を表示するのを抑制します。
+.It Fl m
+ユーザの本名と
+.Ar user
+とが名前の比較で一致しないようにします。
+.Ar user
+は、たいていはログイン名なのですが、
+.Fl m
+オプションを指定しない限り、ユーザの本名との比較もまた行われてしまいます。
+.Nm finger
+によって比較される名前は、大文字小文字を区別しません。
+.Pp
+.It Fl T
+T/TCP の使用を行いません(
+.Xr ttcp 4
+を参照してください)。
+このオプションは,いい加減な TCP の実装が行われている
+ホストに finger を行う時に必要です。
+.El
+.Pp
+オプションが指定されなかった場合は、
+.Nm finger
+は、対象が与えられた場合は
+.Fl l
+の出力形式、与えられなかった場合は
+.Fl s
+の出力形式をデフォルトの形式とします。
+どちらの形式であったとしても、情報が有効でなかった場合には、その
+フィールドは欠けているかもしれないことに注意してください。
+.Pp
+引数が全く指定されていない場合は、
+.Nm finger
+は、現在システムにログインしている各ユーザについての情報を表示します。
+.Pp
+.Nm finger
+は、リモートマシン上のユーザを調べることにも利用できます。
+これには、
+.Ar user
+として
+.Dq Li user@host
+もしくは
+.Dq Li @host
+と指定する形式を使います。デフォルトでは、前者は
+.Fl l
+形式の出力、後者は
+.Fl s
+形式の出力となります。
+.Fl l
+オプションは、リモートマシンに渡される唯一のオプションかも知れません。
+.Pp
+もし、ユーザのホームディレクトリに
+.Dq Pa .nofinger
+というファイルが存在した場合、
+.Nm finger
+は、そのユーザが存在していないかのように振る舞います。
+.Sh 環境変数
+.Nm finger
+は、もし設定されていれば、以下の環境変数を利用します:
+.Bl -tag -width Fl
+.It Ev FINGER
+.Nm finger
+に好みのオプションがあれば、この環境変数に設定しておくとよいでしょう。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /var/log/lastlog -compact
+.It Pa /var/log/lastlog
+最後にログインした時間のデータベース
+.El
+.Sh 関連項目
+.Xr chpass 1 ,
+.Xr w 1 ,
+.Xr who 1 ,
+.Xr ttcp 4 .
+.Sh 歴史
+.Nm finger
+コマンドは、
+.Bx 3.0
+で登場しました。
diff --git a/ja/man/man1/fmt.1 b/ja/man/man1/fmt.1
new file mode 100644
index 0000000000..78737b88cc
--- /dev/null
+++ b/ja/man/man1/fmt.1
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)fmt.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: fmt.1,v 1.2 1997/03/29 03:55:54 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt FMT 1
+.Os
+.Sh 名称
+.Nm fmt
+.Nd 簡単なテキストフォーマッタ
+.Sh 書式
+.Nm
+.Fl c
+.Oo
+.Ar goal
+.Op Ar maximum
+.Oc
+.Op name ...
+.Sh 解説
+.Nm fmt
+は簡単なテキストフォーマットプログラムです。
+引数として name が指定されていればその名前のファイルを、
+指定されていなければ標準入力を読み込み、
+入力した行を次々に連結していき、
+.Ar maximum
+を超えない範囲で、
+.Ar goal
+で指定した長さに近い文字数に整形します。
+デフォルトでは、
+.Ar goal
+の長さは 65、
+.Ar maximum
+の長さは 75 です。入力行の先頭に空白
+がある場合は、整形した出力の先頭にも空白が置かれ段づけされます。
+また、空白行や、文字と文字の間の空白の数も、出力に受け継がれます。
+.Pp
+.Fl c
+は
+.Nm
+にテキストを中央寄せさせます。
+.Pp
+.Nm fmt
+は、メールメッセージを送信する前に整形するために役立ちますが、
+他の簡単なタスクのためにも使うことができます。たとえば、
+.Xr ex 1
+のビジュアルモード(すなわち
+.Xr vi 1 )
+のなかで、次のコマンドを入力すると、
+パラグラフを整形してくれます。
+.Pp
+.Dl \&!}fmt
+.Sh 関連項目
+.Xr mail 1 ,
+.Xr nroff 1
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3
+から登場しました。
+.Sh バグ
+このプログラムは、簡単で高速であるようにデザインされました。もっと複雑
+な整形には、標準的なテキストプロセッサを使うのが適しています。
diff --git a/ja/man/man1/fold.1 b/ja/man/man1/fold.1
new file mode 100644
index 0000000000..83e56cda0e
--- /dev/null
+++ b/ja/man/man1/fold.1
@@ -0,0 +1,67 @@
+.\" Copyright (c) 1980, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)fold.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: fold.1,v 1.2 1997/03/29 03:56:34 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt FOLD 1
+.Os
+.Sh 名称
+.Nm fold
+.Nd 有限桁の出力デバイスのために長い行を折り返すフィルタ
+.Sh 書式
+.Nm fold
+.Op Fl w Ar width
+.Ar
+.Sh 解説
+.Nm fold
+は、file が指定されていればそのファイルを、
+指定されていなければ標準入力を読み込み、
+指定された長さを超えるような入力行に対しては改行を入れて複数の行に分割します。
+デフォルトでは 80 文字になるようにします。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width indent
+.It Fl w
+デフォルトの 80 文字のかわりに、一行の長さをを指定します。
+タブがある場合は、
+.Ar width
+として 8 の倍数を指定するか、さもなければ、
+.Nm fold
+の前に
+.Xr expand 1
+を使用して、タブを空白文字に置き換えてください。
+.El
+.Sh 関連項目
+.Xr expand 1
+.Sh バグ
+アンダーラインがある場合には、fold がうまくいかないことがあります。
diff --git a/ja/man/man1/fontedit.1 b/ja/man/man1/fontedit.1
new file mode 100644
index 0000000000..5b608e8828
--- /dev/null
+++ b/ja/man/man1/fontedit.1
@@ -0,0 +1,61 @@
+.TH FONTEDIT 1 LOCAL
+.\" jpman %Id: fontedit.1,v 1.3 1997/07/22 17:18:34 horikawa Stab %
+.SH 名称
+fontedit \- フォントを編集する。
+.SH 書式
+.B fontedit file
+.SH 解説
+.I fontedit
+は、 VT220 端末のダウンライン再読み込み可能文字集合 (DRCS) を
+編集するために使われます。エディタは二つのディスプレイ領域から
+できています。一方は現在操作しているものを表示し、もう一方は完全な
+DRCS を表示します。エディタに対するコマンドはファンクションキーで
+与えます。
+.PP
+.I fontedit
+は、コマンドライン引数としてファイル名を取ります。このファイルは、
+文字集合を保存するために使われます。\fIfontedit\fP が立ち上げられた
+時にファイルが存在していれば、DRCS を初期化するために読み込まれます。
+\fIfontedit\fP が終了する時には、そのファイルに書き込まれます。
+.PP
+fontedit に対するコマンドはファンクションキーの形式で与えます。
+現在の定義は以下の通りです。
+.IP \fBHELP\fP
+ヘルプ画面を表示します。
+.IP \fBF6\fP
+カーソルのある場所の画素をオンにします。
+.IP \fBF7\fP
+カーソルがある場所の画素をオフにします。
+.IP \fBF13\fP
+文字表示領域を消去します。
+.IP \fBFind\fP
+フォントテーブル内の現在のフォントを保存します。
+DRCS 表示を更新します。
+.IP \fBSelect\fP
+DRCS 表示のカーソルで選択された文字を文字領域に取り出します。
+.IP \fBPrev\fP
+DRCS 表示領域で一つ前の文字にカーソルを移動します。
+.IP \fBNext\fP
+DRCS 表示領域で次の文字にカーソルを移動します。
+.IP \fBInsert\fP
+現在のカーソル位置に空行を挿入します。一番下の行は失われます。
+.IP \fBRemove\fP
+現在のカーソル位置の行を抹消します。
+その位置の下の方にある全ての行は一つ上にシフトされます。
+.IP \fBCursors\fP
+主表示領域のカーソルを動かします。
+.PP
+画面が変になった場合は、 <control-L> を押してください。
+.PP
+\fIfontedit\fP の終了には <control-D> を押してください。 DRCS は
+\fIfile\fP に保存されます。
+DRCS を保存せずに終了するためには、(普通は DEL になっている) 中断キーを
+押してください。
+.SH 診断
+.I fontedit
+は、文字に変更が加えられた時に保存しないと警告を発します。
+また、\fBSelect\fP を使う時のようないくつかの破壊的な能力のある
+コマンドが使われた時も警告を発します。コマンドを実行するためには、
+コマンドを再発行する必要があります。
+.SH 作者
+Greg Franks
diff --git a/ja/man/man1/fpr.1 b/ja/man/man1/fpr.1
new file mode 100644
index 0000000000..8c492e4bfc
--- /dev/null
+++ b/ja/man/man1/fpr.1
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Robert Corbett.
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)fpr.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: fpr.1,v 1.2 1997/03/29 03:57:18 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt FPR 1
+.Os BSD 4.2
+.Sh 名称
+.Nm fpr
+.Nd FORTRAN の出力する改行制御文字を含むファイルを読み込んで、通常の出力に変換する
+.Sh 書式
+.Nm fpr
+.Sh 解説
+.Nm fpr
+はフィルタであり、
+FORTRAN の改行制御規則で整形されたファイルを、
+.Ux
+ラインプリンタ規則で整形されたファイルに変換します。
+.Pp
+.Nm fpr
+は入力を出力をコピーする間に、
+改行制御文字を
+.Xr lpr 1
+を使用した時に適切な動作を行う改行制御文字へと変換します。
+各行の先頭にある 1 文字が、改行制御文字として変換の対象となります。
+この文字は、次のような意味に解釈されます。
+.Bd -ragged -offset indent -compact
+.Bl -tag -width indent
+.It 空白
+1 行進みます。
+.It 0
+2 行進みます。
+.It 1
+次のページの最初の行に進みます。
+.It +
+進みません。(重ね打ちすることになります。)
+.El
+.Ed
+.Pp
+空行は先頭文字が空白の場合と同様に扱われます。改行制御文字として表われた
+空白は削除されます。"0" は改行に変換されます。"1" は改頁に変換されます。
+"+" は後退 (back-space) を使用して実現されます。
+.Sh 使用例
+FORTRAN
+のプログラム a.out の出力をラインプリンタに出力する場合は、次のようにします。
+.Pp
+.Dl a.out \&| fpr \&| lpr
+.Pp
+FORTRAN
+プログラムの出力 f77.output をラインプリンタに出力する場合は、次のようにします。
+.Pp
+.Dl fpr \&< f77.output \&| lpr
+.Sh 歴史
+.Nm fpr
+コマンドは
+.Bx 4.2
+から登場しました。
+.Sh バグ
+.Nm fpr
+は、1 行が 170 文字以上の場合、結果が保証されません。
diff --git a/ja/man/man1/from.1 b/ja/man/man1/from.1
new file mode 100644
index 0000000000..c3f342865d
--- /dev/null
+++ b/ja/man/man1/from.1
@@ -0,0 +1,99 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)from.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: from.1,v 1.2 1997/03/29 03:57:45 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt FROM 1
+.Os BSD 4
+.Sh 名称
+.Nm from
+.Nd スプールにあるメールが誰から送られたものかを表示する
+.Pp
+.Sh 書式
+.Nm from
+.Op Fl s Ar sender
+.Op Fl f Ar file
+.Op Ar user
+.Pp
+.Sh 解説
+.Nm from
+は、起動したユーザのポストオフィス(デフォルトは
+.Pa /var/mail/*
+)を読んで、メールのヘッダを表示します。
+.Pp
+オプション:
+.Bl -tag -width Fl
+.It Fl f Ar file
+デフォルトのポストオフィス(
+.Pa /var/mail/*
+のファイル)のかわりに、
+指定された
+.Ar file
+を読んでメールのヘッダを表示します。このとき、
+引数
+.Ar user
+は無視されます。
+ファイル名が
+.Ar -
+の場合、標準有力より読み込みます。
+.It Fl s Ar sender
+From アドレス(メールの送り手)に、
+.Ar sender
+で指定された文字列を含むメールに関するものだけ
+を表示します。
+.El
+.Pp
+.Ar user
+が与えられると、指定された
+.Ar user
+のポストオフィスをチェックします(権限が必要です)。
+.Pp
+.Sh 環境変数
+.Bl -tag -width Fl
+.It Ev MAIL
+セットされている場合、コマンドを起動したユーザのメールボックスとなります。
+指定されていない場合には /var/mail のデフォルトのものが使用されます。
+.Sh 関連ファイル
+.Bl -tag -width /var/mail/* -compact
+.It Pa /var/mail/*
+メールのポストオフィス
+.El
+.Sh 関連項目
+.Xr biff 1 ,
+.Xr mail 1
+.Pp
+.Sh 歴史
+.Nm from
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/fsplit.1 b/ja/man/man1/fsplit.1
new file mode 100644
index 0000000000..dd45fb1b6e
--- /dev/null
+++ b/ja/man/man1/fsplit.1
@@ -0,0 +1,103 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Asa Romberger and Jerry Berkman.
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)fsplit.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: fsplit.1,v 1.2 1997/05/16 00:20:41 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt FSPLIT 1
+.Os BSD 4.2
+.Sh 名称
+.Nm fsplit
+.Nd Fortran のソースファイルをサブルーチン毎の別ファイルに分割する
+.Sh 書式
+.Nm fsplit
+.Op Fl e Ar efile
+\&...
+.Op Ar file
+.Sh 解説
+.Nm fsplit
+は、ファイルまたは標準入力から Fortran ソースコードを読み込み、
+入力したルーチン毎に
+.Ar name.f
+というファイルに分割しようと試みます。
+.Ar name
+は、プログラムユニットの名前です (関数、サブルーチン、ブロックデータ、
+プログラムなど)。
+名前なしのブロックデータサブプログラムには、
+.Ar blkdtaNNN.f
+という形式のファイル名が付けられます。
+NNN の部分は 3 桁の数字で、既存のファイルとぶつからないような番号を
+付けます。
+名前なしのメインプログラムには、同様に、
+.Ar mainNNN.f
+という形式のファイル名を付けます。
+プログラムユニットの分類ができなかったり、
+既に同じ名前を持つ
+.Ar name.f
+というファイルが存在する時には、存在しない
+.Ar zzzNNN.f
+というファイル名を使用します。
+.Pp
+.Bl -tag -width Fl
+.It Fl e Ar efile
+通常、各サブプログラムユニットは、全て別のファイルに分割します。
+.Fl e
+オプションを指定した場合には、指定したサブプログラムユニットのみを、
+別々のファイルに分割します。例えば次のように指定した場合、
+.Pp
+.Dl fsplit -e readit -e doit prog.f
+.Pp
+readit と doit というユニットだけを別々のファイルに分割します。
+.El
+.Sh 診断
+.Fl e
+オプションにより指定された名前が見つからない場合、標準エラー出力に
+診断メッセージを出力します。
+.Sh 履歴
+.Nm fsplit
+コマンドは、
+.Bx 4.2
+から登場しました。
+.Sh 作者
+Asa Romberger と Jerry Berkman 。
+.Sh バグ
+.Nm fsplit
+は、サブプログラムユニットの、コメントでない最初の行にサブプログラム名が
+書かれているものと仮定しています。
+標準的でない書き方のソースファイルでは、うまく動作しないかもしれません。
+.Pp
+生成されるファイル名を予測しなければならないために、
+名前なしのメインプログラムやブロックデータサブプログラムを取り出すために
+.Fl e
+オプションを使うのは困難です。
diff --git a/ja/man/man1/fstat.1 b/ja/man/man1/fstat.1
new file mode 100644
index 0000000000..69d173ee9f
--- /dev/null
+++ b/ja/man/man1/fstat.1
@@ -0,0 +1,268 @@
+.\" Copyright (c) 1987, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)fstat.1 8.3 (Berkeley) 2/25/94
+.\" jpman %Id: fstat.1,v 1.2 1997/05/20 00:44:48 mutoh Stab %
+.\"
+.Dd February 25, 1994
+.Dt FSTAT 1
+.Os BSD 4
+.Sh 名称
+.Nm fstat
+.Nd ファイルのステータスを表示する
+.Pp
+.Sh 書式
+.Nm fstat
+.Op Fl fnv
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Op Fl p Ar pid
+.\" FreeBSD 2.1.0R 英語版マニュアルでは以下の行は uid ではなく user
+.\" となっているが、本質的な差異ではなかろう -- jpman Sakai
+.\"(訳中)一応,FreeBSD 2.2.1Rのマニュアルにあわせました。
+.\" 2.2.1R 対象(1997/05/17) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.Op Fl u Ar user
+.Op Ar filename ...
+.Pp
+.Sh 解説
+.Nm fstat
+は、現在オープンされているファイルについての情報を表示します。
+オープンされているファイルとは、プロセスによって明示的にオープンされている
+もの、ワーキングディレクトリ、ルートディレクトリ、アクティブな実行可能
+テキストや、カーネルのトレースファイルなどを指します。引数が何も与え
+られなければ、
+.Nm fstat
+はシステム中でオープンされているすべてのファイル
+についての情報を表示します。
+.Pp
+オプション:
+.Bl -tag -width Ds
+.It Fl f
+表示する情報を、
+.Ar filename
+で指定されたファイルと同じファイルシステム
+のものに制限します。引数が指定されていない場合は、カレントディレクトリ
+を含むファイルシステムのものに制限されます。たとえば、
+.Pa /usr/src
+以下のディレクトリでオープンされているすべてのファイルを見つけるには、
+.Dq Li fstat -f /usr/src
+としてください。
+.\" FreeBSD 2.1.0R 英語版マニュアルでは、以下で引数 core を明記していない
+.\" が、明らかにこれでも妥当だと考えられる。
+.\" これ以降でも同様の部分がいくつか存在する。 -- jpman Sakai
+.\"(訳中)同様のこと確認しました。そのままにしてあります。
+.\" 2.2.1R 対象(1997/05/17) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.It Fl M Ar core
+名前に関するリストから値を取り出す際、デフォルトの
+.Pa /dev/kmem
+のかわりに
+.Ar core
+を使います。
+.It Fl N Ar system
+名前のリストを取り出す際、デフォルトの
+.Pa /kernel
+のかわりに
+.Ar system
+を使います。
+.It Fl n
+数値フォーマットで表示を行います。マウントポイントの名前を表示する
+かわりに、そのファイルシステムにおけるデバイス番号(メジャー、マイナー)
+を表示します。スペシャルファイルに関しては、
+.Pa /dev
+の下のファイル名
+は参照されず、スペシャルデバイスのデバイス番号が表示されます。また、
+ファイルの属性も記号ではなく、8進数で表示されます。
+.It Fl p Ar pid
+指定されたプロセスIDのプロセスによってオープンされているすべてのファイル
+の情報を表示します。
+.It Fl u Ar user
+指定されたユーザID のユーザによってオープンされているすべてのファイル
+の情報を表示します。
+.It Fl v
+詳細報告モード。システムのデータ構造体を見つけるのに失敗した場合などに
+エラーメッセージを表示します(デフォルトでは無視します)。これらの
+構造体の多くは、動的に生成されたり消去されたりするもので、
+.Nm fstat
+を実行中に
+消えてしまう可能性があります。これは、
+.Nm fstat
+実行中にも、システム
+の残りの部分が動いているためで、ごく普通のことですし、避けることは
+できません。
+.It Ar filename ...
+表示する情報を、指定されたファイル
+.Ar filename
+に限定します。
+.El
+.Pp
+以下のような項目が表示されます。
+.Bl -tag -width MOUNT
+.It Li USER
+プロセスの所有者のユーザ名(実効ユーザID のものが表示されます)
+.It Li CMD
+プロセスのコマンド名
+.It Li PID
+プロセスID
+.It Li FD
+プロセスごとのオープンしているファイルのファイル番号、もしくは
+以下の特別な名前のどれかです。
+.Pp
+.Bl -bullet -offset indent -compact
+.It
+text (実行可能テキストの inode)
+.It
+wd (現在のワーキングディレクトリ)
+.It
+root (ルートの inode)
+.It
+tr (カーネルトレースファイル)
+.El
+.Pp
+.\"(訳中)原文表記とは異なりますが、こちらの表示の方が読みやすいので
+.\" 採用します。
+.\" 2.2.1R 対象(1997/05/17) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+ファイル番号のあとにアスタリスク記号 ``*'' がある場合は、ファイルはinode
+ではなく、ソケットや
+.Tn FIFO
+であったり、そのファイルにエラーがあるのかもしれません。この
+場合、残りの行は後ろのヘッダと一致しません。 -- 行のフォーマットは、
+.Sx ソケット
+のところで説明します。
+.It Li MOUNT
+.Fl n
+オプションが指定されていなければ、このヘッダが現れます。
+マウントされているパス名は、ファイルが存在しているファイルシステムです。
+.It Li DEV
+.Fl n
+が指定されると、このヘッダが現れます。ファイルが存在しているデバイス
+のメジャー番号とマイナー番号です。
+.\".It Li INUM
+.\"ファイルのinode番号です。
+.\".It Li MODE
+.\"ファイルの属性です。
+.\".Fl n
+.\"が指定されていなければ、記号でファイルの属性を
+.\"表示します(
+.\".Xr strmode 3
+.\"を参照)。
+.\".Fl n
+.\"が指定されていれば、
+.\"ファイルの属性は8進数で表示されます。
+.\"(訳中)FreeBSD 2.2.1Rマニュアルには確認できませんでした。
+.\" コメントアウトします。
+.\" 2.2.1R 対象(1997/05/17) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.Pp
+.It Li SZ\&|DZ
+ファイルがキャラクタデバイスファイルやブロックデバイスファイルでなけ
+れば、そのファイルのバイト数を表示します。デバイスファイルあって
+.Fl n
+が
+指定されていなければ、そのスペシャルファイルの
+.Pa /dev
+における名前を表示します。
+.Pa /dev
+になかったり、
+.Fl n
+が指定されていたりする
+と、スペシャルデバイスが参照するメジャー番号、マイナー番号を表示します。
+.It Li R/W
+このフィールドには、ファイルのアクセス属性が表示されます。
+``r'' の場合は、ファイルが読み込みのためにオープンされていることを意味します。
+``w'' の場合は、ファイルが書き込みのためにオープンされていることを意味します。
+このフィールドは、ファイルシステムをリードオンリー状態に移行する際に、
+それを妨げているプロセスを見つける場合に役に立ちます。
+.It Li NAME
+.Ar filename
+が指定されていて、
+.Fl f
+が指定されていなければ、この
+フィールドが表示され、指定されたファイルに関連する名前が表示されます。
+普通、この名前は決まったものではありません。というのも、オープンされた
+ファイルから、ディレクトリ中のエントリへの逆のマッピングは存在しない
+からです。また、異なるディレクトリエントリが同じファイルを参照してい
+ることもある(
+.Xr ln 2
+を参照)ため、表示されている名前
+は、プロセスがオープンした元のファイルの実際の名前と
+異なっているかもしれません。
+.El
+.Sh ソケット
+オープンしているファイルのフォーマットは、プロトコルのドメインに依存しま
+す。最初のフィールドはドメイン名で、2番目のフィールドは
+ソケットの型(streamや dgramなど) 、3番目はソケットフラグのフィールド
+(16進数) です。残りのフィールドはプロトコルに依存します。tcp の場合は、
+tcpcb のアドレスですし、 udp の場合は inpcb(ソケットpcb) のアドレスです。
+UNIXドメインソケットの場合はソケット pcbの アドレスと(もし接続すれば)
+接続先 pcbの アドレスです。それ以外の場合はプロトコル番号とソケット自身
+のアドレスが表示されます。
+.Xr netstat 1
+と重複しない範囲で、詳しく
+分析するのに十分な情報を表示しようとします。
+.Pp
+たとえば、上で述べたアドレスは
+.Dq Li netstat -A
+コマンドで表示されるtcp, udp,
+UNIXドメインのそれぞれのアドレスです。ただし、パイプはソケットを用いて
+実装されているので、パイプは接続先のUNIXドメインストリームソケットとして
+現れることに注意してください。単方向UNIXドメインソケットは、向き
+を持った矢印 (``<-''か ``->'') として表示され、双方向(全二重)UNIXドメイン
+は二重矢印 (``<->'') として表示されます。
+.Pp
+.Sh バグ
+.Nm fstat
+はシステムのスナップショットをとるので、表示される情報は
+ほんのわずかな間しか正しくありません。
+.Pp
+.\" 以下のセクションは原文に対応する部分が無い -- jpman Sakai
+.\" .Sh 関連ファイル
+.\" .Bl -tag -width /dev/kmem -compact
+.\" .It Pa /netbsd
+.\" デフォルトのカーネル名前リスト
+.\" .It Pa /dev/kmem
+.\" デフォルトのメモリファイル
+.\" .El
+.\" .Pp
+.\" .Pp
+.Sh 関連項目
+.Xr netstat 1 ,
+.Xr nfsstat 1 ,
+.Xr ps 1 ,
+.Xr systat 1 ,
+.Xr iostat 8 ,
+.Xr pstat 8 ,
+.Xr vmstat 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3 tahoe
+から登場しました。
+
+
diff --git a/ja/man/man1/ftp.1 b/ja/man/man1/ftp.1
new file mode 100644
index 0000000000..f56d2a4439
--- /dev/null
+++ b/ja/man/man1/ftp.1
@@ -0,0 +1,1083 @@
+.\" Copyright (c) 1985, 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)ftp.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: ftp.1,v 1.3 1997/08/20 12:54:33 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt FTP 1
+.Os BSD 4.2
+.Sh 名称
+.Nm ftp
+.Nd
+.Tn ARPANET
+ファイル転送プログラム
+.Sh 書式
+.Nm ftp
+.Op Fl v
+.Op Fl d
+.Op Fl i
+.Op Fl n
+.Op Fl U
+.Op Fl p
+.Op Fl g
+.Op Ar host
+.Sh 解説
+.Nm ftp
+は、
+.Tn ARPANET
+標準のファイル転送プロトコルを用いてファイル転送を実現するためのコマンドです。
+本コマンドは、ネットワークを介して接続されているコンピュータ間で
+ファイルを転送する手段をユーザに提供します。
+.Pp
+オプションは、コマンドライン上か、コマンドインタプリタで指定できます。
+.Bl -tag -width flag
+.It Fl v
+データ転送状況と、
+リモートサーバからのすべてのレスポンスを表示するように指定します。
+.It Fl n
+相手サーバへ
+.Nm ftp
+が最初に接続する際、\*(L自動ログイン\*(Rq を行いません。
+自動ログインが許可された場合は、
+.Nm ftp
+は、そのリモートマシンのアカウントを記述しているエントリがあるかどうかを、
+ftp を起動したユーザのホームディレクトリの
+.Pa .netrc
+(下記参照)
+ファイルに対して調べます。
+そのファイルにエントリがない場合には、
+.Nm ftp
+はリモートマシン上のログイン名 (デフォルトはローカルマシンでのユーザ
+ID) を要求します。
+そして、もし必要があればログイン用のパスワードと
+アカウントの入力もうながします。
+.It Fl i
+複数のファイルの転送中に、プロンプトを出さないようにします。
+.It Fl d
+デバッグモードを有効にします。
+.It Fl g
+ファイル名の正規表現の解釈を無効にします。
+.It Fl U
+データポートの範囲の制限を無効にします。
+.It Fl p
+ファイアーウォールを越える接続のためのパッシブモード操作を有効にします。
+.El
+.Pp
+.Nm ftp
+は、通信相手をコマンドラインで指定することが出来ます。通信相手を
+コマンドラインで指定した場合、
+.Nm ftp
+は指定したリモートマシンの
+.Tn FTP
+サーバプログラムとの接続を行ないます。それ以外の場合、
+.Nm ftp
+はコマンドインタプリタとして動作し、ユーザからの
+コマンド入力待ち状態になります。このとき
+.Nm ftp
+は、
+.Ql ftp>
+というプロンプトを出力します。
+本状態の時には、
+.Nm ftp
+は以下のコマンドを受け付けます。
+.Bl -tag -width Fl
+.It Ic \&! Op Ar command Op Ar args
+ローカルマシン上でシェルを起動します。
+引数が指定された場合、最初の引数をコマンドとして実行し、
+それ以降の引数は、そのコマンドに対する引数として解釈されます。
+.It Ic \&$ Ar macro-name Op Ar args
+.Ar macro-name
+で定義されたマクロを実行します。マクロは、
+.Ic macdef
+コマンドで定義出来ます。
+.Ar args
+で指定された文字列は、展開されずにマクロに対して引き渡されます。
+.It Ic account Op Ar passwd
+一旦 ftp ユーザとしてログインに成功したユーザが、
+リモートマシン上の資源を扱うためのパスワードを入力します。
+引数が指定されない場合、ユーザに対してパスワード入力を促す表示がされます。
+パスワードはエコーバックされません。
+.It Ic append Ar local-file Op Ar remote-file
+リモートマシン上のファイルを、ローカルファイルに追加書き込みします。
+もし、
+.Ar remote-file
+が指定されていなければ、ローカルファイルの名前を
+.Ic ntrans
+や
+.Ic nmap
+で修正した名前をリモートファイル名として使います。
+ファイル転送は
+.Ic type ,
+.Ic format ,
+.Ic mode ,
+.Ic structure
+の現在の設定が使われます。
+.It Ic ascii
+転送ファイルの
+.Ic type
+を
+.Tn ASCII
+形式にします。
+これは、デフォルト時の設定です。
+.It Ic bell
+ファイル転送終了時にベルを鳴らすかどうかを指定します。
+.It Ic binary
+転送ファイルの
+.Ic type
+をバイナリ形式にします。
+イメージファイルなど、バイナリファイルを転送する時には本指定は必須です。
+.It Ic bye
+リモートサーバとの
+.Tn FTP
+セッションを終了し、
+.Nm ftp
+を終了します。
+EOF を入力した場合も同様です。
+.It Ic case
+.Ic mget
+コマンドで連続してファイルを取得する場合、リモートマシン上の
+ファイル名の大文字小文字の区別を指定します。
+デフォルトでは
+.Ic case
+はオフですが、オンの場合には、リモートマシンファイル名は、
+すべて大文字に変換されます。
+そして、ローカル マシンのディレクトリ上では、小文字に変換されます。
+.It Ic \&cd Ar remote-directory
+リモートマシン上での作業ディレクトリを
+.Ar remote-directory
+へ変更します。
+.It Ic cdup
+リモートマシン上での作業ディレクトリを一つ上に変更させます。
+.It Ic chmod Ar mode file-name
+.Ar file-name
+で指定したリモートマシン上のファイルの属性を、
+.Ar mode
+で指定したものに変更します。
+.It Ic close
+.Tn FTP
+セッションを終了します。そしてコマンド入力待ちのプロンプトを表示します。
+すでに定義されたマクロはすべて無効になります。
+.It Ic \&cr
+ASCII 形式ファイルの転送を行なう場合に、
+復帰コードの除去を行なうかどうかを変更します。
+ASCII 形式のファイル転送時には、
+復帰/改行
+の文字列によってレコードが認識されます。
+.Ic \&cr
+がオン(デフォルト)の時には、改行コードのみでレコードを区切る
+.Ux
+に適合するように、
+復帰コードが文字列から除去されます。
+.Ux
+以外のリモートのシステムのレコードは
+復帰コードのみを区切り記号としている場合があります。
+ASCII 形式で転送を行った時には復帰コードは
+.Ic \&cr
+がオフの場合にだけレコード区切り記号と区別されます。
+.It Ic delete Ar remote-file
+リモートマシン上のファイル
+.Ar remote-file
+を削除します。
+.It Ic debug Op Ar debug-value
+デバッグモードを有効にします。
+.Ar debug-value
+が指定されると、デバッグレベルが設定されます。
+デバッグモードが有効になると、
+.Nm ftp
+はリモートマシンに送信されたコマンドを
+.Ql \-\->
+に続けて表示します。
+.It Xo
+.Ic dir
+.Op Ar remote-directory
+.Op Ar local-file
+.Xc
+.Ar remote-directory
+で指定されたディレクトリの内容を表示します。
+そして、
+.Ar local-file
+が指定してあれば,そこにその内容を格納します。
+もしプロンプトがオンだったら、
+.Nm ftp
+は、指定したファイルにディレクトリ内容を書き出すかどうかを問い合わせます。
+何のディレクトリ指定もない場合には、
+リモートマシン上のカレントディレクトリの内容が表示されます。
+.Ar local-file
+の指定がない場合、もしくは
+.Fl
+と指定された場合には、実行結果は画面に表示されます。
+.It Ic disconnect
+.Ar close
+と同様です。
+.It Ic form Ar format
+ファイル転送様式を
+.Ar format
+と指定します。
+デフォルトでは、様式は \*(Lqfile\*(Rq となります。
+.It Ic get Ar remote-file Op Ar local-file
+リモートマシン上のファイル
+.Ar remote-file
+を取得し、ローカルマシン上に格納します。
+ローカルファイル名 local file が指定されない場合、
+ローカルファイル名は、取得したファイルの
+リモートマシン上の名前と同じになります。
+ただし、その名前は
+.Ic case ,
+.Ic ntrans ,
+.Ic nmap
+の設定により変更される事があります。
+現在の
+.Ic type ,
+.Ic form ,
+.Ic mode ,
+.Ic stracture ,
+の設定はファイル転送の時に使用されます。
+.It Ic glob
+.Ic mdelete ,
+.Ic mget ,
+.Ic mput
+を行なう場合のファイル名の展開のオン/オフを切り替えます。
+.Ic glob
+がオフの場合には、ファイル名は展開されずにそのままになります。
+.Ic mput
+でのファイル名展開の規則は、
+.Xr csh 1
+のファイル名展開規則と同様に行われます。
+.Ic mdelete
+と
+.Ic mget
+の場合には、
+各々のリモートファイル名はリモートマシン上で別々に展開され、
+リストはマージされません。
+ディレクトリ名の展開は普通のファイル名の展開と異なる事があります。
+つまり、展開の結果はリモートの OS と FTP サーバに依存しています。
+これは
+.Ql mls remote-files \-
+を実行する事によってあらかじめ知ることができます。
+注意:
+.Ic mget
+と
+.Ic mput
+はファイルのディレクトリ・サブツリーを全て転送する物ではありません。
+そのような時はサブツリーの
+.Xr tar 1
+のアーカイブをバイナリモードで転送する事によって実現できます。
+.It Ic hash
+1 データブロック受信するごとに、
+ハッシュサイン (``#'') を出力するかどうかを切り替えます。
+デフォルトでは、1 データブロックは 1024byte です。
+.It Ic help Op Ar command
+引数
+.Ar command
+で指定したコマンドのヘルプメッセージを出力します。
+引数が与えられない場合、
+.Nm ftp
+は、使用可能なコマンドの一覧を出力します。
+.It Ic idle Op Ar seconds
+リモートサーバ上のアイドルタイマを
+.Ar seconds
+秒に設定します。
+.Ar seconds
+が与えられない場合、現在のアイドルタイマ値を表示します。
+.It Ic lcd Op Ar directory
+ローカルマシン上の作業ディレクトリを変更します。
+.Ar directory
+名が与えられない場合、ユーザのホームディレクトリに移動します。
+.It Xo
+.Ic \&ls
+.Op Ar remote-directory
+.Op Ar local-file
+.Xc
+リモートマシンのディレクトリの内容のリストを表示します。
+このリストはサーバが選択した情報を含んでいます。
+例えば、ほとんどの
+.Ux
+システムでは
+.Ql ls \-l
+(
+.Ic nlist
+を参照 )
+の結果から出力を生成しています。
+.Ar remote-directory
+の指定が無い場合には、
+代わりに現在の作業ディレクトリが使われます。
+もし、プロンプトモードになっているならば,
+.Nm ftp
+は、最後の引数が
+.Ic \&ls
+の出力を受け取るローカルのファイルであるかをユーザーに問い合わせます。
+.Ar local-file
+の指定がない場合や
+.Sq Fl
+が指定されている場合には、
+出力は画面に表示します。
+.It Ic macdefNs Ar macro-name
+マクロ定義を行ないます。
+後続の行が、マクロ
+.Ar macro-name
+として格納されます。
+空行 (1 つのファイル内での連続した復帰改行文字や端末からの復帰文字 ) は
+マクロの入力モードを終了させます。
+マクロの数の制限は 16 個で、全ての定義されたマクロは全部で 4096
+文字までがゆるされています。マクロは
+.Ic close
+コマンドが実行されるまで持続します。
+マクロプロセッサは `$' と `\e' を特別な文字として解釈します。
+1つ以上の数字が続く `$' はコマンドラインで呼び出したマクロの
+対応する引数によって置き換えられます。
+後ろに `i' 信号が付いた `$' は実行されているマクロプロセッサのループで
+使われます。
+最初のパスで `$i' はマクロを呼び出したコマンドラインの最初の引数に
+置き換えられ、2 回目のパスで 2 つ目の引数に置き換えられ、それ以降でも
+同様に置き換えられます。
+後ろに任意の文字が続いている `\e' はその文字に置き換えられます。
+`\e' は `$' の特別な扱いを避けるために使用します。
+.It Ic mdelete Op Ar remote-files
+リモートマシンの
+.Ar remote-files
+を削除します。
+.It Ic mdir Ar remote-files local-file
+複数のリモートファイルを指定出来る点を除くと
+.Ic dir
+と同様です。
+プロンプトがオンの時には
+.Nm ftp
+は最後の引数が
+.Ic mdir
+の出力を受け取るローカルファイルであるかをユーザーに問い合わせます。
+.It Ic mget Ar remote-files
+リモートマシンで
+.Ar remote-files
+で指定されたファイルを展開し、展開後の各ファイル名のファイルに対して
+.Ic get
+を実行します。
+ファイル名の展開の詳細は、
+.Ic glob
+を参照してください。
+生成されたファイル名は
+.Ic case ,
+.Ic ntrans ,
+.Ic nmap
+の設定に従い処理されます。
+ファイルはローカルの作業ディレクトリに転送されます。
+そのディレクトリは
+.Ql lcd directory
+で変更できます。
+ローカルの新しいディレクトリは
+.Ql "\&! mkdir directory"
+で作成できます。
+.It Ic mkdir Ar directory-name
+リモートマシンにディレクトリを作ります。
+.It Ic mls Ar remote-files local-file
+複数のリモートファイル名を指定できる点と
+.Ar local-file
+を必ず指定しなければならない点を除くと
+.Ic nlist
+と同様です。
+プロンプトがオンの時には
+.Nm ftp
+は最後の引数が
+.Ic mls
+の出力を受け取る目標のローカルファイルであるかをユーザに確認します。
+.It Ic mode Op Ar mode-name
+ファイル転送モード
+.Ic mode
+を
+.Ar mode-name
+で指定したものに変更します。
+デフォルトは \*(Lqstream\*(Rq です。
+.It Ic modtime Ar file-name
+リモートマシン上の指定ファイルの最終更新日付を参照します。
+.It Ic mput Ar local-files
+引数として与えられたローカルファイルを展開し、
+展開後の各ファイル名のファイルに対して
+.Ic put
+を実行します。
+ファイル名の展開の詳細については
+.Ic glob
+を参照してください。
+生成されたファイル名は
+.Ic ntrans
+と
+.Ic nmap
+の設定に従って処理されます。
+.It Ic newer Ar file-name
+リモートマシンのファイルとローカルマシンのファイルを比較して、
+リモートマシンのファイルの方が新しい場合にのみ取得します。
+現在のシステムにファイルが無いときには、リモートファイルが
+.Ic 新しい
+ものとして扱われます。
+その他に付いては
+.Ar get
+と全く同じです。
+.It Xo
+.Ic nlist
+.Op Ar remote-directory
+.Op Ar local-file
+.Xc
+リモートマシン上の、指定したディレクトリ上にあるファイルの一覧を表示します。
+もし
+.Ar remote-directory
+が指定されない場合、現在の作業ディレクトリのファイル一覧が表示されます。
+インタラクティブプロンプティングがオンになっており、
+.Ar local_file
+が指定されている場合、
+.Nm ftp
+は、
+.Ic nlist
+コマンドの結果を指定したファイルに格納するかを問い合わせます。
+ローカルファイルが指定されない場合、もしくは
+.Ar local-file
+が
+.Fl
+の場合には、端末に結果が表示されます。
+.It Ic nmap Op Ar inpattern outpattern
+ファイル名のマッピング機能を設定したり解除したりします。
+引数が無い場合にはマッピング機能が解除されます。
+引数がある場合には、出力先のリモートファイル名の指定されていない
+.Ic mput
+コマンドと
+.Ic put
+コマンドの実行時に、リモートファイル名がマップされます。
+同様な事が
+.Ic mget
+コマンドと
+.Ic get
+コマンドのローカルファイルに対しても行われます。
+このコマンドはファイルの命名規則が異なる
+.Ux
+ではないリモートマシンとの接続時に便利です。
+マッピングは
+.Ar inpattern
+と
+.Ar outpattern
+によって設定されたパターンに従って行われます。
+.Op Ar inpattern
+は (すでに
+.Ic ntrans
+と
+.Ic case
+によって処理されているかもしれない)
+入力ファイル名のテンプレートです。
+.Ar inpattern
+に`$1', `$2', ..., `$9' の文字列を含むことによって、
+変数を使用したテンプレートも使えます。
+`$' を特別扱いしたくない時には
+`\\' を使ってください。
+他の文字はそのままその文字として扱われ、
+.Ic nmap
+の
+.Op Ar inpattern
+変数の値を決めるのに用いられます。
+例えば、
+.Ar inpattern
+として $1.$2 が、
+リモートファイルの名前として "mydata.data" が
+与えられた時に、$1 は "mydata" という値となり,
+$2 は "data" という値になります。
+.Ar outpattern
+は生成されるマッピング後のファイル名を決定します。
+文字列の `$1', `$2', ...., `$9' は
+.Ar inpattern
+のテンプレートから生成される値に置き換えられます。
+文字列の `$0' は元のファイル名に置き換えられます。
+さらに、文字列の
+.Ql Op Ar seq1 , Ar seq2
+は
+.Ar seq1
+が空文字列でない時には、
+.Op Ar seq1
+に、
+空文字列の時には、
+.Op Ar seq2
+に置き換えられます。
+例えば、コマンド
+.Pp
+.Bd -literal -offset indent -compact
+nmap $1.$2.$3 [$1,$2].[$2,file]
+.Ed
+.Pp
+は
+入力ファイル名 "myfile.data" と "myfile.data.old"
+に対して出力ファイル名が "myfile.data" になり、
+入力ファイル名 "myfile"
+に対して出力ファイル名が "myfile.file" になり、
+入力ファイル名 ".myfile" に対して
+出力ファイル名が "myfile.myfile"になります。
+例えば、`nmap $1 sed "s/ *$//" > $1'
+のように、
+.Ar outpattern
+にはスペースが入っていても構いません。
+文字 `$', `[', `[', `,' を特別扱いしたくない時には
+`\e' を使ってください。
+.It Ic ntrans Op Ar inchars Op Ar outchars
+ファイル名の文字変換機能を設定したり解除したりします。
+引数が無い場合には文字変換機能が解除されます。
+引数がある場合には、出力先のリモートファイル名の指定されていない
+.Ic mput
+コマンドと
+.Ic put
+コマンドの実行時に、リモートファイル名が変換されます。
+同様な事が
+.Ic mget
+コマンドと
+.Ic get
+コマンドでもローカルファイルに対して行われます。
+このコマンドは、
+.Ux
+とは異なるファイル名規則のリモートマシンとの接続時に有効です。
+ファイル命中の文字で
+.Ar inchars
+の中の文字に一致するものが
+.Ar outchars
+の相当する文字に置き換えられます。
+.Ar inchars
+の中での文字の位置が、
+.Ar outchars
+の長さを越えている時にはその文字はファイル名から削除されます。
+.It Ic open Ar host Op Ar port
+指定した
+.Ar host
+の
+.Tn FTP
+サーバとのコネクションを確立します。
+ポート番号
+.Ar port
+を指定した場合、
+.Nm ftp
+は指定したポート番号を用いて
+.Tn FTP
+サーバとのコネクションの確立を行ないます。
+.Ic 自動ログイン
+オプションがオン ( デフォルト時 ) の場合には、
+.Nm ftp
+は自動的に
+.Tn FTP
+サーバに対してログインを行ないます ( 以下を参照 ) 。
+.It Ic prompt
+対話的プロンプトモードを切り替えます。
+対話的プロンプトモードをオンにすることで、
+複数ファイル転送時に、転送ファイルの選択を行なえます。
+対話的プロンプトモードをオフにすると (デフォルトはオン)、
+.Ic mget
+や
+.Ic mput
+で指定したファイルはすべて転送され、
+.Ic mdelete
+で指定したファイルはすべて削除されます。
+.It Ic proxy Ar ftp-command
+ftp コマンドを二次制御接続上で実行します。
+本コマンドを用いることで、同時に 2 つのリモートマシンとコネクションを確立し、
+ファイル転送を行なうようにすることができるようになります。
+最初の
+.Ic proxy
+コマンドは、
+.Ic open ,
+コマンドである必要があります。
+これは、2 次的な制御コネクションを確立するために必要な操作です。
+"proxy ?" とコマンドを実行することで、
+2 次接続下で使用可能なコマンド一覧が表示されます。
+.Ic proxy
+の後におかれた次のコマンドは異なった働きをします。
+.Ic open
+は自動ログイン処理中には新しいマクロの定義を行いません。
+.Ic close
+はマクロの削除を行いません。
+.Ic get
+と
+.Ic mget
+は一次制御接続のホストから二次制御接続のホストにファイルの転送を行います。
+.Ic put
+と
+.Ic mput
+と
+.Ic append
+は二次制御接続のホストから一次制御接続のホストにファイルの転送を行います。
+第三者のファイル転送は二次制御接続のサーバが FTP プロトコルの
+.Dv PASV
+コマンドをサポートしているのかに依存します。
+.It Ic put Ar local-file Op Ar remote-file
+ローカルマシン上の指定ファイルをリモートマシンに転送します。
+.Ar remote-file
+が指定されない場合には、転送先でのファイル名は、
+.Ic ntrans
+か
+.Ic nmap
+の設定に基づく処理を行ったローカルファイルの名前が用いられます。
+ファイル転送には
+.Ic type ,
+.Ic format ,
+.Ic mode ,
+.Ic structure
+の現在の設定が用いられます。
+.It Ic pwd
+現在のリモートマシン上での作業ディレクトリを表示します。
+.It Ic quit
+.Ic bye
+と同じです。
+.It Ic quote Ar arg1 arg2 ...
+引数で指定した文字列を、リモート
+.Tn FTP
+サーバに送信します。
+.It Ic recv Ar remote-file Op Ar local-file
+get と同じです。
+.It Ic reget Ar remote-file Op Ar local-file
+getと似ていますが、
+.Ar local-file
+が存在しており、
+.Ar remote-file
+よりサイズが小さい場合には、
+.Ar local-file
+は、リモートファイルの一部であるとみなし、続きをコピーする点が異なります。
+本コマンドは、大きいファイルの転送中にコネクションが
+切断されてしまった場合の続きを受信しなおす場合などに有用です。
+.It Ic remotehelp Op Ar command-name
+リモート
+.Tn FTP
+サーバのヘルプメッセージを要求します。
+.Ar command-name
+が指定された場合にはそのコマンドのヘルプが表示されます。
+.It Ic remotestatus Op Ar file-name
+引数がない場合には、リモートマシンのステータスが表示されます。
+.Ar file-name
+が指定されている場合には、
+リモートマシン上の指定ファイルのステータスが表示されます。
+.It Xo
+.Ic rename
+.Op Ar from
+.Op Ar to
+.Xc
+リモートマシン上のファイル
+.Ar from
+が、
+.Ar to
+というファイル名にリネームされます。
+.It Ic reset
+リプライキューをクリアします。
+本コマンドは、コマンド/リプライのシーケンスの再同期をとるのに使われます。
+再同期を取ることは、ftp プロトコル上の障害が発生した時に必要な操作です。
+.It Ic restart Ar marker
+.Ic get
+や
+.Ic put
+を、指定した
+.Ar marker
+位置から再開します。
+.Ux
+システムにおいては、marker は通常ファイルのバイトオフセットで指定します。
+.It Ic restrict
+データポートの幅を制限するかをオン/オフします。
+パッシブ・モードでない時に、
+.Nm ftp
+クライアントは別々のデータポート上で、クライアントホストの方に
+リモートサーバが接続することを要求します。
+前のバージョンでは、そのリモートポートは 1024 から 4999 までの幅に
+収まっていました。
+しかし、ほとんどの防火壁 (fire wall) には他のサービスがあるために、
+TCPポートの幅をフィルタリングしています。
+現在のデフォルトの動作では、ポート番号が 40000 から 44999 の間で
+サーバがクライアントに対して接続してくることを要求しています。
+もし、安全上の危険性がないと考えるならば、防火壁管理者は
+その幅の中で TCP 接続の許可を行う選択ができます。
+.It Ic rmdir Ar directory-name
+リモートマシン上のディレクトリを消去します。
+.It Ic runique
+ローカルマシンに保存されるファイルに対して
+ユニークな名前を付加するかどうかを切り替えます。
+.Ic get
+や
+.Ic mget
+コマンドで目的のローカルファイルと同じ名前のファイルが既に存在する時には、
+".1" が名前に付加されます。
+その名前が既に存在する時には、
+".2" が付加されます。
+このように順番に処理をし、
+".99" になっても存在する時には
+エラーメッセージが表示され、転送は行われません。
+生成されたユニークなファイル名は報告されます。
+注意:
+.Ic runique
+はシェルコマンドで生成されるファイル名には効果がありません
+(下記参照)。
+デフォルトではオフになっています。
+.It Ic send Ar local-file Op Ar remote-file
+putと同じです。
+.It Ic sendport
+.Dv PORT
+コマンドの使用をするかどうか切り替えます。
+デフォルトでは、
+.Nm ftp
+は
+.Dv PORT
+を用いて各データ転送用のコネクションの確立を試みます。
+.Dv PORT
+を使うことで、複数ファイル転送行なう場合の遅延を避けることが出来ます。
+.Dv PORT
+コマンドが失敗した場合、
+.Nm ftp
+はデフォルトのデータ・ポートを使用します。
+.Dv PORT
+コマンドが無効になった場合、データ転送時に
+.Dv PORT
+コマンドは使われません。
+このコマンドは
+.Dv PORT
+コマンドは無視しますが、受け入れたと返事を返すような
+.Tn FTP
+システムに対して有効です。
+.It Ic site Ar arg1 arg2 ...
+引数で指定した文字列を、
+.Dv SITE
+コマンドの引数として
+.Tn FTP
+サーバに送信します。
+.It Ic size Ar file-name
+リモートマシン上の指定したファイルのサイズを表示します。
+.It Ic status
+.Nm ftp
+の現在の状態を表示します。
+.It Ic struct Op Ar struct-name
+ファイル転送の
+.Ar structure
+を
+.Ar struct-name
+に設定します。
+デフォルトでは、\*(Lqstream\*(Rq に設定されています。
+.It Ic sunique
+リモートマシン上に転送するファイルのファイル名に対して、
+一意な名前を付与するかどうかを切り替えます。
+この機能が使えるためには
+リモートの FTP サーバが FTP のプロトコルの
+.Dv STOU
+コマンドをサポートしていなければなりません。
+リモートサーバがユニークな名前を報告します。
+デフォルトではこの機能はオフになっています。
+.It Ic system
+リモートマシンで稼働している OS のタイプを表示します。
+.It Ic tenex
+.Tn TENEX
+マシンと
+通信するために必要なファイル転送モードを設定します。
+.It Ic trace
+パケットトレースをするかしないか切り替えます。
+.It Ic type Op Ar type-name
+ファイル転送の
+.Ic type
+を
+.Ar type-name
+に変更します。引数の指定がされない場合には、
+現在のファイル転送タイプを表示します。
+デフォルトタイプは、
+.Tn ASCII
+です。
+.It Ic umask Op Ar newmask
+リモートサーバのデフォルトの umask 値を
+.Ar newmask
+で指定した値に変更します。
+.Ar newmask
+が設定されていない場合、現在の umask 値を表示します。
+.It Xo
+.Ic user Ar user-name
+.Op Ar password
+.Op Ar account
+.Xc
+ユーザをリモート
+.Tn FTP
+サーバに認識させます。
+.Ar password
+が指定されていなくて、
+.Tn FTP
+サーバが必要とする場合は
+( ローカルエコーをオフにしてから )
+.Nm ftp
+がユーザに問い合わせます。
+.Ar account
+が指定されていなくて、
+.Tn FTP
+サーバが必要とする場合には、
+.Nm ftp
+がユーザに問い合わせます。
+リモートサーバがログイン時にアカウントを必要としないのに
+.Ar account
+フィールドが指定された場合には、ログイン処理が完了後に、
+account コマンドがリモートサーバに渡されます。
+「自動ログイン」を無効にした状態で
+.Nm ftp
+が呼び出されない限り、
+この処理は
+.Tn FTP
+サーバに最初につながった時に自動的に行われます。
+.It Ic verbose
+冗長モードの切り替えをします。
+冗長モードの時には
+.Tn FTP
+サーバからの全ての応答が表示されます。
+さらに、このモードがオンの時にはファイル転送が終了した時に
+転送効率に関する統計が報告されます。
+デフォルトではオンになっています。
+.It Ic ? Op Ar command
+helpコマンドと同じです。
+.El
+.Pp
+スペースを含むコマンドの引数は、`"' マークで括って下さい。
+.Sh ファイル転送の中止
+ファイル転送を中断するためには、
+端末のインタラプトキー (通常は Ctrl-C) を打鍵してください。
+データ送信については、ただちに停止します。
+データ受信については、 ftp プロトコルの
+.Dv ABOR
+コマンドをリモートサーバに送ることで、サーバからのデータ送信がとまります。
+そして、それ以降の受信データは捨てられます。
+これが行われる速度はリモートサーバが
+.Dv ABOR
+コマンドをサポートする方式に依存します。
+リモートサーバが
+.Dv ABOR
+コマンドをサポートしていない時には、
+リモートサーバが要求したファイルを送り終るまで
+.Ql ftp>
+というプロンプトは現れません。
+.Pp
+端末からの割り込みキー入力は、
+.Nm ftp
+が何かローカルの処理が完了している時には無視され、
+リモートサーバからの応答を待ちます。
+このモードでの長い遅延は上記でも述べたように ABOR 処理の結果に
+よるものか、 ftp のプロトコル違反を含めたリモートサーバによる
+予期せぬ動作のどちらかです。
+もし、遅延の結果がリモートサーバによる予期せぬ動作によるものであるならば、
+ローカルの
+.Nm ftp
+プログラムは手動で終了しなければなりません。
+.Sh ファイル名の規則
+.Nm ftp
+コマンドの引数として指定されたファイル名は、以下の規則で処理されます。
+.Bl -enum
+.It
+ファイル名として
+.Sq Fl
+が指定された場合、
+入力ファイル名の場合には標準入力
+.Ar stdin
+が、
+出力ファイル名の場合には標準出力
+.Ar stdout
+が使用されます。
+.It
+ファイル名の先頭の文字が
+.Sq \&|
+の場合には、その後に指定された文字列はすべて、シェルコマンドと解釈されます。
+.Nm ftp
+は引数のある
+.Xr popen 3
+を用いてシェルをよびだし、標準出力(標準入力)から読み出す(書き込む)ます。
+シェルコマンドにスペースが含まれている時には、
+引数は引用符で囲まれなければなりません。
+(例:
+\*(Lq" ls -lt"\*(Rq
+)
+特に有用な例としては、 \*(Lqdir more\*(Rq があります。
+.It
+上記のチェックにひっかからず、 ``globbing'' が許可されている場合、
+ローカルファイル名は、
+.Xr csh 1
+のファイル名展開規則にしたがって展開されます。
+( 詳細は
+.Ic glob
+コマンドを参照)
+ただし、 ftp のコマンドが、 1 つのファイル名しか必要としない場合
+( 例えば
+.Ic put
+)
+ファイル名が展開された後の最初のファイル名だけが使用されます。
+.It
+.Ic mget
+コマンドと
+.Ic get
+コマンドにおいて、ローカルファイル名が指定されない場合、
+ローカルファイル名は、リモートファイル名と同一になります。
+ただし、これらのファイル名は、
+.Ic case ,
+.Ic ntrans ,
+.Ic nmap
+の設定によって、変わることもあります。
+また、
+.Ic runique
+が設定されている場合にも、ファイル名が変わることがあります。
+.It
+.Ic mput
+コマンドと
+.Ic put
+コマンドにおいて、リモートファイル名が指定されない場合、
+リモートファイル名は、ローカルファイル名と同一になります。
+ただし、これらのファイル名は、
+.Ic ntrans
+.Ic nmap
+の設定によって、変わることもあります。また、
+.Ic sunique
+が設定されている場合にも、ファイル名が変わることがあります。
+.El
+.Sh ファイル転送パラメータ
+ftp では、ファイル転送時に影響を及ぼす多くのパラメータがあります。
+.Ic type
+は、\*(Lqascii\*(Rq, \*(Lqimage\*(Rq (binary), \*(Lqebcdic\*(Rq,
+\*(Lqlocal byte size\*(Rq (
+.Tn PDP Ns -10
+および
+.Tn PDP Ns -20
+でよく使われます) が指定可能です。
+.Nm ftp
+は、ascii と image のタイプを指定可能なのに加えて、
+.Ic tenex
+モードの転送を指定することにより、
+ローカルバイトサイズ 8 を指定することが可能です。
+.Pp
+.Nm ftp
+では、他に
+.Ic mode ,
+.Ic form ,
+.Ic struct
+のパラメータではデフォルト値だけが使用可能です。
+.Sh .netrc ファイル
+.Pa .netrc
+ファイルは、自動ログイン処理においてのログインおよび初期設定情報を記述します。
+.Pa .netrc
+ファイルは、ユーザのホームディレクトリに置きます。
+.Pa .netrc
+では、以下の予約語が解釈されます。これらは、スペース、タブ、そして
+new-line によって分割されます。
+.Bl -tag -width password
+.It Ic machine Ar name
+リモートマシン名
+.Ar name
+を定義します。
+自動ログイン処理は、
+.Pa .netrc
+ファイル中に
+.Ic machine
+トークンがあるかどうか探し、そのエントリが
+.Nm ftp
+のコマンドラインもしくは、
+.Ic open
+コマンドの引数と一致するかどうかチェックします。
+一致するエントリがあった場合、他の
+.Pa .netrc
+トークンが処理され、その処理はファイル最後尾まで行き着くか、他の
+.Ic machine
+トークンか
+.Ic default
+トークンに出くわすまで続きます。
+.It Ic default
+いろんな名前として解釈される、ワイルドカード的な働きがあることを除けば
+.Ic machine
+.Ar name
+と同様です。
+.Ic default
+トークンは、
+.Pa .netrc
+ファイル中 1 エントリだけが許され、
+しかも他の全てのエントリの後ろにしか本エントリが存在できません。
+通常は、
+.Pp
+.Dl default login anonymous password user@site
+.Pp
+のように使用されます。
+本エントリは、主に anonymous ログインを許している ftp サイト向けに使われます。
+.Pa .netrc
+ファイルは、
+.Fl n
+フラグを付加して ftp を起動することで、無視することが出来ます。
+.It Ic login Ar name
+リモートマシンにおけるログイン名を指定します。
+本トークンが与えられている場合、自動ログイン処理は
+.Ar name
+をログイン名としてログインしようとします。
+.It Ic password Ar string
+パスワードを指定します。
+本トークンが指定されている場合、自動ログイン処理は指定した文字列を
+リモートマシンのパスワードとして使用します。
+.Pa .netrc
+ファイルにおいて、
+.Ar anonymous
+以外のユーザエントリにおいて本トークンが登録されており、なおかつ
+.Pa .netrc
+がオーナ以外読める属性である場合には、
+.Nm ftp
+は自動ログイン処理を中断します。
+.It Ic account Ar string
+追加のアカウントパスワードを登録します。
+このトークンがあると、
+もし、追加のアカウントパスワードをリモートホストが必要とする時に、
+自動ログインプロセスが指定された文字列を与えます。
+そうでない場合には、自動ログインプロセスは
+.Dv ACCT
+コマンドを与えます。
+.It Ic macdef Ar name
+マクロを定義します。
+このトークンの機能は
+.Nm ftp
+.Ic macdef
+コマンドの機能に似ています。
+マクロは指定された名前を用いて定義されます。
+その内容は
+.Pa .netrc
+の次の行から始まり、空行 ( 改行文字の連続 ) が現れるまで続きます。
+.Ic init
+というマクロが定義されているならば、
+自動ログイン処理の中での最後の段階として自動的に実行されます。
+.El
+.Sh 環境変数
+.Nm ftp
+は、以下の環境変数を使用します。
+.Bl -tag -width Fl
+.It Ev HOME
+.Pa .netrc
+ファイルがあるならそのデフォルトの置き場所となります。
+.It Ev SHELL
+デフォルトで起動するシェルを定義します。
+.El
+.Sh 関連項目
+.Xr ftpd 8
+.Sh 歴史
+.Nm ftp
+コマンドは
+.Bx 4.2
+から実装されました。
+.Sh バグ
+多くのコマンドの動作は、リモートサーバの動作に依存します。
+.Pp
+.Bx 4.2
+の ascii モードでの転送時の復帰の取り扱いのエラーは訂正されています。
+この訂正の結果として、バイナリファイルを ascii タイプを使用して転送した時、
+不正転送をひき起こすことが
+あります。この問題を回避するためには、バイナリモードを用いて
+ファイル転送をして下さい。
diff --git a/ja/man/man1/gcc.1 b/ja/man/man1/gcc.1
new file mode 100644
index 0000000000..e42bcf1830
--- /dev/null
+++ b/ja/man/man1/gcc.1
@@ -0,0 +1,4008 @@
+.\" Copyright (c) 1991, 1992, 1993, 1994 Free Software Foundation -*-Text-*-
+.\" See section COPYING for conditions for redistribution
+.\"
+.\" jpman %Id: gcc.1,v 1.4 1997/10/11 07:52:34 horikawa Stab %
+.\" Set up \*(lq, \*(rq if -man hasn't already set it up.
+.if @@\*(lq@ \{\
+. ds lq "
+. if t .ds lq ``
+. if !@@\(lq@ .ds lq "\(lq
+.\}
+.if @@\*(rq@ \{\
+. ds rq "
+. if t .ds rq ''
+. if !@@\(rq@ .ds rq "\(rq
+.\}
+.de Id
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.de Sp
+.if n .sp
+.if t .sp 0.4
+..
+.Id %Id: gcc.1,v 1.4 1993/10/13 23:19:12 pesch Exp %
+.TH GCC 1 "\*(Dt" "GNU Tools" "GNU Tools"
+.SH 名称
+gcc, g++ \- GNU プロジェクト C コンパイラ および C++ コンパイラ (v2.7)
+.SH 書式
+.B gcc
+.RI "[ " option " | " filename " ].\|.\|."
+.br
+.SH 注意
+このマニュアルに書かれた情報は GNU C コンパイラの完全な
+ドキュメンテーションからの抜粋であり、オプションの意味の記述にとどめます。
+.PP
+このマニュアルはボランティアのメンテナンスが行なわれた時にのみ更新され
+るもので、常に最新の情報を示しているわけではありません。
+もしこのマニュアルと実際のソフトウェアの間に矛盾点があれば、
+正式なドキュメントである Info ファイルのほうを参照して下さい。
+.PP
+このマニュアル中の古い記述が重大な混乱や不具合をきたすことになれば、
+このマニュアルページの配布は中止します。
+GNU CCのメンテナンス作業の都合上、
+Info ファイルを更新した時にマニュアルページも併せて更新することは
+できません。マニュアルページは時代遅れであり、
+これに時間をかけるべきではないと GNU プロジェクトでは考えています。
+.PP
+完全な最新のドキュメンテーションが必要な場合は、Info ファイルの`\|\c
+.B gcc\c
+\&\|' またはマニュアルの
+.I
+Using and Porting GNU CC (for version 2.0)\c
+\& を参照して下さい。この双方は Texinfo のソースファイル
+.B gcc.texinfo
+から生成されます。
+.SH 解説
+C と C++ のコンパイラは統合されています。どちらの場合も、入力ファイル
+は、プリプロセス、コンパイル、アセンブル、リンクの 4 つの処理ステージの
+うちの 1 つ以上のステージを踏んで処理されます。
+ソースファイル名の拡張子によってソースの言語を識別しますが、
+デフォルトの動作は、どちらの名前でコンパイラを使うかに依存しています:
+.TP
+.B gcc
+プリプロセス済みの (\c
+.B .i\c
+\&) ファイルを C のファイルと仮定し、C スタイルのリンクを行います。
+.TP
+.B g++
+プリプロセス済みの(\c
+.B .i\c
+\&) ファイルを C++ のファイルと仮定し、C++ スタイルのリンクを行います。
+.PP
+ソースファイル名の拡張子は、その言語が何であるかと、どのような処理が行われる
+べきかを示します:
+.Sp
+.nf
+.ta \w'\fB.cxx\fP 'u
+\&\fB.c\fP C言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
+\&\fB.C\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
+\&\fB.cc\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
+\&\fB.cxx\fP C++言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
+\&\fB.m\fP Objective-C 言語ソースです。プリプロセッサ、コンパイラ、アセンブラにかけられます。
+\&\fB.i\fP プリプロセッサにかけられたC言語ソースです。コンパイラ、アセンブラにかけられます。
+\&\fB.ii\fP プリプロセッサにかけられたC++言語ソースです。コンパイラ、アセンブラにかけられます。
+\&\fB.s\fP アセンブリ言語ソースです。アセンブラにかけられます。
+\&\fB.S\fP アセンブリ言語ソースです。プリプロセッサ、アセンブラにかけられます。
+\&\fB.h\fP プリプロセッサファイルです。通常はコマンドラインには現れません。
+.Sp
+.fi
+その他の拡張子を持つファイルはリンカに渡されます。以下のものがあります。
+.Sp
+.nf
+\&\fB.o\fP オブジェクトファイルです。
+\&\fB.a\fP アーカイブファイルです。
+.br
+.fi
+.Sp
+リンクは、オプション
+.BR \-c ,
+.BR \-S ,
+.B \-E
+を指定して抑制しないかぎり(もしくはコンパイルエラーによってすべての処理が中断
+しないかぎり)、常に最終ステージで実行されます。
+リンクのステージにおいては、ソースファイルに対応した全ての
+.B .o
+ファイルと、
+.B \-l
+で指定したライブラリと、認識されなかったファイル名 (名前に
+.B .o
+のついたオブジェクトファイルや
+.B .a
+のついたアーカイブを含む) は、
+コマンドラインに並べられた順番でリンカに渡されます。
+.SH オプション
+オプションは分割されていなければなりません。すなわち `\|\c
+.B \-dr\c
+\&\|' は `\|\c
+.B \-d \-r
+\&\|'とは異なった扱いを受けます。
+.PP
+ほとんどの `\|\c
+.B \-f\c
+\&\|' と `\|\c
+.B \-W\c
+\&\|' 形式のオプションには、
+.BI \-f name
+と
+.BI \-fno\- name\c
+\& (または
+.BI \-W name
+と
+.BI \-Wno\- name\c
+\&) の形式の、対照的な表現があります。ここではデフォルトでない形式の
+みを示します。
+.PP
+すべてのオプションを種類別に分けてまとめました。詳しい解説は
+以下の節で行ないます。
+.hy 0
+.na
+.TP
+.B 全体的なオプション
+.br
+\-c
+\-S
+\-E
+.RI "\-o " file
+\-pipe
+\-v
+.RI "\-x " language
+.TP
+.B 言語オプション
+\-ansi
+\-fall\-virtual
+\-fcond\-mismatch
+\-fdollars\-in\-identifiers
+\-fenum\-int\-equiv
+\-fexternal\-templates
+\-fno\-asm
+\-fno\-builtin
+\-fno\-strict\-prototype
+\-fsigned\-bitfields
+\-fsigned\-char
+\-fthis\-is\-variable
+\-funsigned\-bitfields
+\-funsigned\-char
+\-fwritable\-strings
+\-traditional
+\-traditional\-cpp
+\-trigraphs
+.TP
+.B 警告オプション
+\-fsyntax\-only
+\-pedantic
+\-pedantic\-errors
+\-w
+\-W
+\-Wall
+\-Waggregate\-return
+\-Wcast\-align
+\-Wcast\-qual
+\-Wchar\-subscript
+\-Wcomment
+\-Wconversion
+\-Wenum\-clash
+\-Werror
+\-Wformat
+.RI \-Wid\-clash\- len
+\-Wimplicit
+\-Winline
+\-Wmissing\-prototypes
+\-Wmissing\-declarations
+\-Wnested\-externs
+\-Wno\-import
+\-Wparentheses
+\-Wpointer\-arith
+\-Wredundant\-decls
+\-Wreturn\-type
+\-Wshadow
+\-Wstrict\-prototypes
+\-Wswitch
+\-Wtemplate\-debugging
+\-Wtraditional
+\-Wtrigraphs
+\-Wuninitialized
+\-Wunused
+\-Wwrite\-strings
+.TP
+.B デバッグオプション
+\-a
+.RI \-d letters
+\-fpretend\-float
+\-g
+.RI \-g level
+\-gcoff
+\-gxcoff
+\-gxcoff+
+\-gdwarf
+\-gdwarf+
+\-gstabs
+\-gstabs+
+\-ggdb
+\-p
+\-pg
+\-save\-temps
+.RI \-print\-file\-name= library
+\-print\-libgcc\-file\-name
+.TP
+.B 最適化オプション
+\-fcaller\-saves
+\-fcse\-follow\-jumps
+\-fcse\-skip\-blocks
+\-fdelayed\-branch
+\-felide\-constructors
+\-fexpensive\-optimizations
+\-ffast\-math
+\-ffloat\-store
+\-fforce\-addr
+\-fforce\-mem
+\-finline\-functions
+\-fkeep\-inline\-functions
+\-fmemoize\-lookups
+\-fno\-default\-inline
+\-fno\-defer\-pop
+\-fno\-function\-cse
+\-fno\-inline
+\-fno\-peephole
+\-fomit\-frame\-pointer
+\-frerun\-cse\-after\-loop
+\-fschedule\-insns
+\-fschedule\-insns2
+\-fstrength\-reduce
+\-fthread\-jumps
+\-funroll\-all\-loops
+\-funroll\-loops
+\-O
+\-O2
+.TP
+.B プリプロセッサオプション
+.RI \-A assertion
+\-C
+\-dD
+\-dM
+\-dN
+.RI \-D macro [\|= defn \|]
+\-E
+\-H
+.RI "\-idirafter " dir
+.RI "\-include " file
+.RI "\-imacros " file
+.RI "\-iprefix " file
+.RI "\-iwithprefix " dir
+\-M
+\-MD
+\-MM
+\-MMD
+\-nostdinc
+\-P
+.RI \-U macro
+\-undef
+.TP
+.B アセンブラオプション
+.RI \-Wa, option
+.TP
+.B リンカオプション
+.RI \-l library
+\-nostartfiles
+\-nostdlib
+\-static
+\-shared
+\-symbolic
+.RI "\-Xlinker\ " option
+.RI \-Wl, option
+.RI "\-u " symbol
+.TP
+.B ディレクトリオプション
+.RI \-B prefix
+.RI \-I dir
+\-I\-
+.RI \-L dir
+.TP
+.B ターゲットオプション
+.RI "\-b " machine
+.RI "\-V " version
+.TP
+.B コンフィギュレーション依存オプション
+.I M680x0\ オプション
+.br
+\-m68000
+\-m68020
+\-m68020\-40
+\-m68030
+\-m68040
+\-m68881
+\-mbitfield
+\-mc68000
+\-mc68020
+\-mfpa
+\-mnobitfield
+\-mrtd
+\-mshort
+\-msoft\-float
+.Sp
+.I VAX オプション
+.br
+\-mg
+\-mgnu
+\-munix
+.Sp
+.I SPARC オプション
+.br
+\-mepilogue
+\-mfpu
+\-mhard\-float
+\-mno\-fpu
+\-mno\-epilogue
+\-msoft\-float
+\-msparclite
+\-mv8
+\-msupersparc
+\-mcypress
+.Sp
+.I Convex オプション
+.br
+\-margcount
+\-mc1
+\-mc2
+\-mnoargcount
+.Sp
+.I AMD29K オプション
+.br
+\-m29000
+\-m29050
+\-mbw
+\-mdw
+\-mkernel\-registers
+\-mlarge
+\-mnbw
+\-mnodw
+\-msmall
+\-mstack\-check
+\-muser\-registers
+.Sp
+.I M88K オプション
+.br
+\-m88000
+\-m88100
+\-m88110
+\-mbig\-pic
+\-mcheck\-zero\-division
+\-mhandle\-large\-shift
+\-midentify\-revision
+\-mno\-check\-zero\-division
+\-mno\-ocs\-debug\-info
+\-mno\-ocs\-frame\-position
+\-mno\-optimize\-arg\-area
+\-mno\-serialize\-volatile
+\-mno\-underscores
+\-mocs\-debug\-info
+\-mocs\-frame\-position
+\-moptimize\-arg\-area
+\-mserialize\-volatile
+.RI \-mshort\-data\- num
+\-msvr3
+\-msvr4
+\-mtrap\-large\-shift
+\-muse\-div\-instruction
+\-mversion\-03.00
+\-mwarn\-passed\-structs
+.Sp
+.I RS6000 オプション
+.br
+\-mfp\-in\-toc
+\-mno\-fop\-in\-toc
+.Sp
+.I RT オプション
+.br
+\-mcall\-lib\-mul
+\-mfp\-arg\-in\-fpregs
+\-mfp\-arg\-in\-gregs
+\-mfull\-fp\-blocks
+\-mhc\-struct\-return
+\-min\-line\-mul
+\-mminimum\-fp\-blocks
+\-mnohc\-struct\-return
+.Sp
+.I MIPS オプション
+.br
+\-mcpu=\fIcpu type\fP
+\-mips2
+\-mips3
+\-mint64
+\-mlong64
+\-mlonglong128
+\-mmips\-as
+\-mgas
+\-mrnames
+\-mno\-rnames
+\-mgpopt
+\-mno\-gpopt
+\-mstats
+\-mno\-stats
+\-mmemcpy
+\-mno\-memcpy
+\-mno\-mips\-tfile
+\-mmips\-tfile
+\-msoft\-float
+\-mhard\-float
+\-mabicalls
+\-mno\-abicalls
+\-mhalf\-pic
+\-mno\-half\-pic
+\-G \fInum\fP
+\-nocpp
+.Sp
+.I i386 オプション
+.br
+\-m486
+\-mno\-486
+\-msoft\-float
+\-mrtd
+\-mregparm
+\-msvr3\-shlib
+\-mno\-ieee\-fp
+\-mno\-fp\-ret\-in\-387
+\-mfancy\-math\-387
+\-mno\-wide\-multiply
+\-mdebug\-addr
+\-mno\-move
+\-mprofiler\-epilogue
+\-reg\-alloc=LIST
+.Sp
+.I HPPA オプション
+.br
+\-mpa\-risc\-1\-0
+\-mpa\-risc\-1\-1
+\-mkernel
+\-mshared\-libs
+\-mno\-shared\-libs
+\-mlong\-calls
+\-mdisable\-fpregs
+\-mdisable\-indexing
+\-mtrailing\-colon
+.Sp
+.I i960 オプション
+.br
+\-m\fIcpu-type\fP
+\-mnumerics
+\-msoft\-float
+\-mleaf\-procedures
+\-mno\-leaf\-procedures
+\-mtail\-call
+\-mno\-tail\-call
+\-mcomplex\-addr
+\-mno\-complex\-addr
+\-mcode\-align
+\-mno\-code\-align
+\-mic\-compat
+\-mic2.0\-compat
+\-mic3.0\-compat
+\-masm\-compat
+\-mintel\-asm
+\-mstrict\-align
+\-mno\-strict\-align
+\-mold\-align
+\-mno\-old\-align
+.Sp
+.I DEC Alpha オプション
+.br
+\-mfp\-regs
+\-mno\-fp\-regs
+\-mno\-soft\-float
+\-msoft\-float
+.Sp
+.I System V オプション
+.br
+\-G
+\-Qy
+\-Qn
+.RI \-YP, paths
+.RI \-Ym, dir
+.TP
+.B コード生成オプション
+.RI \-fcall\-saved\- reg
+.RI \-fcall\-used\- reg
+.RI \-ffixed\- reg
+\-finhibit\-size\-directive
+\-fnonnull\-objects
+\-fno\-common
+\-fno\-ident
+\-fno\-gnu\-linker
+\-fpcc\-struct\-return
+\-fpic
+\-fPIC
+\-freg\-struct\-return
+\-fshared\-data
+\-fshort\-enums
+\-fshort\-double
+\-fvolatile
+\-fvolatile\-global
+\-fverbose\-asm
+.ad b
+.hy 1
+.SH 全体的なオプション
+.TP
+.BI "\-x " "language"
+このオプションに続く入力ファイルの言語を
+.I language\c
+\& であると明示的に指定します
+(拡張子に基づくデフォルトの選択よりも優先されます)。このオプションは、
+次の `\|\c
+.B \-x\c
+\&\|' オプションが出てくるまで、後続する全ての入力ファイルに対して
+適用されます。\c
+.I language\c
+\& としては、
+`\|\c
+.B c\c
+\&\|', `\|\c
+.B objective\-c\c
+\&\|', `\|\c
+.B c\-header\c
+\&\|', `\|\c
+.B c++\c
+\&\|',
+`\|\c
+.B cpp\-output\c
+\&\|', `\|\c
+.B assembler\c
+\&\|', `\|\c
+.B assembler\-with\-cpp\c
+\&\|' を指定することが可能です。
+.TP
+.B \-x none
+言語の指定を解除します。このオプションのあとに続くファイルは、それらの拡張子に
+基づいて (あたかも何の `\|\c
+.B \-x\c
+\&\|'
+オプションも使用されたことがないように) 処理されます。
+.PP
+もし、4 つのステージ (プリプロセス、コンパイル、アセンブル、リンク) の
+うちの一部のみが必要な場合は、
+`\|\c
+.B \-x\c
+\&\|' オプション (またはファイル名の拡張子) を使用して \c
+.B gcc\c
+\& に対してどのステージから開始するかを伝え、さらに
+`\|\c
+.B \-c\c
+\&\|', `\|\c
+.B \-S\c
+\&\|', `\|\c
+.B \-E\c
+\&\|' のオプションのうちのどれかを使用して
+.B gcc\c
+\& に対してどこで処理を停止させるかを指定します。ここで、
+いくつかの組合せ (例えば
+`\|\c
+.B \-x cpp\-output \-E\c
+\&\|') は \c
+.B gcc\c
+\& に対して何の動作も行なわないように指定することになることに注意してください。
+.TP
+.B \-c
+ソースファイルを、コンパイルまたはアセンブルまではしますが、リンクはしません。
+コンパイラの出力は、それぞれのソースファイルに対応したオブジェクトファイル
+となります。
+.Sp
+デフォルトでは、GCC はオブジェクトファイルのファイル名として、
+ソースファイルの拡張子
+`\|\c
+.B .c\c
+\&\|', `\|\c
+.B .i\c
+\&\|', `\|\c
+.B .s\c
+\&\|' 等を `\|\c
+.B .o\c
+\&\|' で置き換えたものを使用します。
+.B \-o\c
+\& オプションを使用することによって、他の名前を指定することも可能です。
+.Sp
+GCC は
+.B \-c
+オプションを使用した場合は、理解できない入力ファイル (コンパイルやアセンブル
+を必要としないファイル) を無視します。
+.TP
+.B \-S
+コンパイルが終った所で処理を停止し、アセンブルは行いません。
+アセンブラコードではない入力ファイルが指
+定された場合は、出力はアセンブラコードのファイルになります。
+.Sp
+デフォルトでは、GCC はアセンブラファイルのファイル名として、
+ソースファイルの拡張子
+`\|\c
+.B .c\c
+\&\|', `\|\c
+.B .i\c
+\&\|' 等を `\|\c
+.B .s\c
+\&\|' で置き換えたものを使用します。
+.B \-o\c
+\& オプションを使用することによって、他の名前を指定することも可能です。
+.Sp
+GCC はコンパイルを必要としない入力ファイルを全て無視します。
+.TP
+.B \-E
+プリプロセス処理が終了したところで停止します。コンパイルはしません。
+出力はプリプロセス済みのソースコードであり、標準出力へと送られます。
+.Sp
+GCC はプリプロセスを必要としない入力ファイルを全て無視します。
+.TP
+.BI "\-o " file
+出力先を \c
+.I file\c
+\& に指定します。このオプションは GCC が実行可能ファイル、
+オブジェクトファイル、アセンブラファイル、プリプロセス済み C コードなどの、
+いかなる種類の出力を行なう場合にも適用可能です。
+.Sp
+出力ファイルは 1 つしか指定できないため、
+`\|\c
+.B \-o\c
+\&\|' を複数の入力ファイルをコンパイルする際に使用することは、実行ファ
+イルを出力する時以外は無意味です。
+.Sp
+`\|\c
+.B \-o\c
+\&\|'オプションを指定しなかった場合のデフォルトは、実行ファイルを作る場
+合は `\|\c
+.B a.out\c
+\&\|' という名前であり、`\|\c
+.I source\c
+.B \&.\c
+.I suffix\c
+\&\c
+\&\|' の形式のファイル名を持ったソースファイルのオブジェクトファイルは
+`\|\c
+.I source\c
+.B \&.o\c
+\&\|' であり、アセンブラのファイルは `\|\c
+.I source\c
+.B \&.s\c
+\&\|' です。
+プリプロセス済みの C 言語は、全て標準出力に送られます。
+.TP
+.B \-v
+(標準エラー出力に対して) コンパイルの各ステージで実行されるコマンドを
+表示します。コンパイラドライバ、プリプロセッサおよび本来のコンパイラの
+各バージョン番号も表示します。
+.TP
+.B -pipe
+コンパイル時のステージの間のデータの受け渡しに、テンポラリファイルではなく
+パイプを使用します。いくつかのシステムではアセンブラがパイプからの入力を受け
+付けることができないために、このオプションを指定すると失敗します。
+GNU アセンブラでは問題なく使用できます。
+.PP
+.SH 言語オプション
+.TP
+以下のオプションは、コンパイラが受け付ける C の方言に関する制御を行ないます:
+.TP
+.B \-ansi
+全ての ANSI 標準の C プログラムをサポートします。
+.Sp
+このオプションは、GNU C が持つ ANSI C との非互換な機能を全て排除します。
+例えば、\c
+.B asm\c
+\&, \c
+.B inline\c
+\&, \c
+.B typeof
+などのキーワードや、\c
+.B unix\c
+\& や \c
+.B vax
+などの現在使用しているシステムを規定する定義済みマクロなどが抑制されます。
+さらに、好ましくなくかつほとんど使用されない ANSI のトライグラフの機能を使
+用可能とし、さらに `\|\c
+.B $\c
+\&\|' を識別子の一部として使用できないようにします。
+.Sp
+代替キーワードである\c
+.B _\|_asm_\|_\c
+\&, \c
+.B _\|_extension_\|_\c
+\&,
+.B _\|_inline_\|_\c
+\&, \c
+.B _\|_typeof_\|_\c
+\& は、
+`\|\c
+.B \-ansi\c
+\&\|' が指定された場合でも使用することが可能です。もちろん、
+これらを ANSI C プログラムで使用することが望ましくないのは当然ですが、`\|\c
+.B \-ansi\c
+\&\|' をつけてコンパイルされる場合でも、インクルードされるヘッダファイル中に
+これらが記述できるということは有用です。
+\c
+.B _\|_unix_\|_\c
+\& や \c
+.B _\|_vax_\|_\c
+\& などの代替定義済みマクロは、
+`\|\c
+.B \-ansi\c
+\&\|' を指定する場合でも指定しない場合でも、利用可能となっています。
+.Sp
+`\|\c
+.B \-ansi\c
+\&\|' オプションは、ANSI 準拠でないプログラムを不必要に拒否することは
+ありません。もしこのような動作を行なわせたい場合には`\|\c
+.B \-ansi\c
+\&\|'に加えて\c
+.B \-pedantic\c
+\&\|' オプションを指定する必要があります。
+.Sp
+プリプロセッサ定義済みマクロ \c
+.B _\|_STRICT_ANSI_\|_\c
+\& が `\|\c
+.B \-ansi\c
+\&\|'
+オプションを使用した際には定義されます。いくつかのヘッダファイルは、この
+マクロを識別して、ANSI 標準が望まない関数やマクロの定義を抑制します。
+これは、
+それらの関数やマクロと同じ名前を別の目的で使用するプログラム
+を混乱させないようにするためです。
+.TP
+.B \-fno\-asm
+\c
+.B asm\c
+\&, \c
+.B inline\c
+\&, \c
+.B typeof\c
+\& をキーワードとして解釈しません。
+これらの単語は識別子として解釈されるようになります。これらの代用として
+\c
+.B _\|_asm_\|_\c
+\&, \c
+.B _\|_inline_\|_\c
+\&, \c
+.B _\|_typeof_\|_\c
+\& が使用できます。
+`\|\c
+.B \-ansi\c
+\&\|' を指定すると、暗黙のうちに `\|\c
+.B \-fno\-asm\c
+\&\|' を指定したものとみなされます。
+.TP
+.B \-fno\-builtin
+ビルトイン関数のうち、2 つのアンダースコアで始まるもの以外を認識しなくなり
+ます。現在、この指定は\c
+.B _exit\c
+\&,
+.B abort\c
+\&, \c
+.B abs\c
+\&, \c
+.B alloca\c
+\&, \c
+.B cos\c
+\&, \c
+.B exit\c
+\&,
+.B fabs\c
+\&, \c
+.B labs\c
+\&, \c
+.B memcmp\c
+\&, \c
+.B memcpy\c
+\&, \c
+.B sin\c
+\&,
+.B sqrt\c
+\&, \c
+.B strcmp\c
+\&, \c
+.B strcpy\c
+\&, \c
+.B strlen\c
+\& の関数に影響を及ぼします。
+.Sp
+`\|\c
+.B \-ansi\c
+\&\|' オプションを指定すると、\c
+.B alloca\c
+\& と \c
+.B _exit\c
+\& はビルトイン関数として扱われなくなります。
+.TP
+.B \-fno\-strict\-prototype
+`\|\c
+.B int foo
+();\c
+\&\|' のような、引数を指定しない関数宣言を、C 言語のように引数の数や
+型について何の仮定もしないという扱いにします (C++ のみ)。通常はこのよう
+な宣言は、C++ では \c
+.B foo\c
+\& という関数が 1 つも引数をとらないことを意味します。
+.TP
+.B \-trigraphs
+ANSI C のトライグラフを使用可能とします。`\|\c
+.B \-ansi\c
+\&\|' オプションを指定すると、暗黙のうちに `\|\c
+.B \-trigraphs\c
+\&\|' を指定したものとみなされます。
+.TP
+.B \-traditional
+伝統的な C コンパイラのいくつかの特徴をサポートします。詳しくは GNU C の
+マニュアルを参照してください。以前はここにそのリストの複製を載せていましたが、
+それらが完全に時代遅れになった時に我々に文句が来ないように削除してしまいま
+した。
+.Sp
+しかし、C++ のプログラムだけについて (C ではありません) 特記しておくこと
+が 1 つあります。
+`\|\c
+.B \-traditional\c
+\&\|' オプションは C++ に対して 1 つだけ特別な効果を持ちます。それは、
+.B this
+への代入を許可するというものです。これは `\|\c
+.B \-fthis\-is\-variable\c
+\&\|'オプションの指定が及ぼす効果と同一のものです。
+.TP
+.B \-traditional\-cpp
+伝統的な C プリプロセッサのいくつかの特徴をサポートします。これは上に挙
+げた中で特にプリプロセッサに関係したものを含みますが、
+`\|\c
+.B \-traditional\c
+\&\|' の指定によって引き起こされる以外の効果を及ぼすことはありません。
+.TP
+.B \-fdollars\-in\-identifiers
+識別子中の `\|\c
+.B $\c
+\&\|' の使用を許可します (C++ のみ)。
+`\|\c
+.B \-fno\-dollars\-in\-identifiers\c
+\&\|' を使用することによって、明示的に
+`\|\c
+.B $\c
+\&\|'の使用を禁止することも可能です。(GNU C++ では、デフォルトで `\|\c
+.B $\c
+\&\|' を許可しているシステムと禁止しているシステムがあります)。
+.TP
+.B \-fenum\-int\-equiv
+\c
+.B int\c
+\& から列挙型への暗黙の変換を許可します (C++ のみ)。通常は GNU C++ は \c
+.B enum\c
+\& から \c
+.B int\c
+\& への変換は許可していますが、
+逆は許していません。
+.TP
+.B \-fexternal\-templates
+テンプレート関数について、その関数が定義された場所にのみ単一のコピー
+を生成することによって、テンプレート宣言に対してより小さなコードを生成
+します (C++ のみ)。このオプションを使用して正しいコードを得るためには、
+テンプレートを使用する全てのファイルにおいて、`\|\c
+.B #pragma implementation\c
+\&\|' (定義) または
+`\|\c
+.B #pragma interface\c
+\&\|' (宣言) を記述しておく必要があります。
+
+`\|\c
+.B \-fexternal\-templates\c
+\&\|' を指定してコンパイルを行なう場合には、全てのテンプレートの
+実体は external となります。全ての使用される実体はインプリメンテーション
+ファイル中にまとめて記述しておかなければなりません。これはその必要とされ
+る実体に対応した \c
+.B typedef\c
+\& 宣言を行なうことによって実現できます。
+逆に、デフォルトのオプション
+`\|\c
+.B \-fno\-external\-templates\c
+\&\|' でコンパイルした場合には全てのテンプレートの実体は internal と
+なります。
+.TP
+.B \-fall\-virtual
+可能な限り全てのメンバ関数を暗黙のうちに仮想関数として扱います。
+全てのメンバ関数 (コンストラクタと
+.B new
+,
+.B delete
+メンバ演算子を除きます) は、出現した時点でそのクラスの仮想関数とし
+て扱われます。
+.Sp
+これは、これらのメンバ関数への全ての呼び出しが仮想関数のための内部
+テーブルを参照して間接的に決定されるということを意味しません。特定の状況
+においては、コンパイラは与えられた仮想関数への呼び出しを直接決定できます。
+このような場合にはその関数呼び出しは常に直接呼び出しとなります。
+.TP
+.B \-fcond\-mismatch
+条件演算子の第 2, 第 3 引数の型が異なる記述を許します。このような式の型は void
+となります。
+.TP
+.B \-fthis\-is\-variable
+\c
+.B this\c
+\& への代入を許可します (C++ のみ)。ユーザ定義による記憶管理が可
+能となった現在では、
+`\|\c
+.B this\c
+\&\|' への代入は時代遅れのものとなりました。従ってデフォルトでは、クラスの
+メンバ関数からの \c
+.B this\c
+\& への代入は不当なものとして扱われています。しかし、後方互換性のために、
+`\|\c
+.B \-fthis-is-variable\c
+\&\|' を指定することによってこの効果を得ることができます。
+.TP
+.B \-funsigned\-char
+\c
+.B char\c
+\& 型を \c
+.B unsigned char\c
+\& のように符号無しとして扱います。
+.Sp
+それぞれのマシンには
+\c
+.B char\c
+\& がどちらであるべきかというデフォルトがあります。
+デフォルトで \c
+.B unsigned char\c
+\& であることもあれば、デフォルトで
+.B signed char\c
+\& であることもあります。
+.Sp
+理想的には、可搬性のあるプログラムは、オブジェクトの符号の有無に依
+存する記述を行なう場合には常に \c
+.B signed char\c
+\&、もしくは
+.B unsigned char\c
+\& を使用すべきです。
+しかし実際には多くのプログラムが単なる \c
+.B char\c
+\& を用いて記述されており、さらにそのプログラムを記述した
+環境に依存して、符号付きである、あるいは符号無しであるという暗黙の仮定が
+行なわれています。このオプション、あるいはこの逆のオプションは、デフォル
+トと逆の動作を行なわせることにより、これらのプログラムを正しく動作させ
+ることを可能にします。
+.Sp
+\c
+.B char\c
+\& 型は常に
+.B signed char\c
+\& あるいは \c
+.B unsigned char\c
+\& とは区別された型として扱われます。常にそれらの振舞いがそのどち
+らかと全く同じであるということに関わらず、このような扱いを行います。
+.TP
+.B \-fsigned\-char
+\c
+.B char\c
+\& 型を \c
+.B signed char\c
+\& 型のように符号付きとして扱います。
+.Sp
+ただし、このオプションは `\|\c
+.B \-fno\-unsigned\-char\c
+\&\|' と等価です。これは `\|\c
+.B \-funsigned\-char\c
+\&\|'の否定形です。同様に
+`\|\c
+.B \-fno\-signed\-char\c
+\&\|' は `\|\c
+.B \-funsigned\-char\c
+\&\|' と等価です。
+.TP
+.B \-fsigned\-bitfields
+.TP
+.B \-funsigned\-bitfields
+.TP
+.B \-fno\-signed\-bitfields
+.TP
+.B \-fno\-unsigned\-bitfields
+これらのオプションは、明示的に
+`\|\c
+.B signed\c
+\&\|' または `\|\c
+.B unsigned\c
+\&\|' の指定が行なわれていないビットフィールドに対して、符号つきであるかある
+いは符号なしであるかを制御します。デフォルトではこのようなビットフィール
+ドは符号つきとなっています。なぜなら、
+.B int\c
+\& のような基本的な型は符号つきであるという点で、整合性がとれるからです。
+.Sp
+ただし、`\|\c
+.B \-traditional\c
+\&\|' を指定した場合は、ビットフィールドは常に全て符号無しであるとされます。
+.TP
+.B \-fwritable\-strings
+文字列定数を書き込み可能なデータセグメントに配置し、同内容の文字列を 1
+つの共有オブジェクトにする処理を行いません。これは、文字定数に書き込む
+ことができることを仮定した昔のプログラムとの互換性をとるために提供され
+ています。`\|\c
+.B \-traditional\c
+\&\|' オプションも同様の効果を含みます。
+.Sp
+文字定数に書き込むという考えは非常によくない考えです。\*(lq定数\*(rq
+はまさに定数であり、変化すべきではありません。
+.PP
+.SH プリプロセッサオプション
+これらのオプションは C プリプロセッサを制御します。
+各 C ソースファイルは、実際にコンパイルする前に、C プリプロセッサに
+かけられます。
+.PP
+`\|\c
+.B \-E\c
+\&\|' オプションを使用すると、GCC はプリプロセス以外の処理を行いません。
+以下に示すオプションのうちのいくつかは、`\|\c
+.B \-E\c
+\&\|' と同時に使用された時のみ意味をもちます。なぜならば、これらのオプション
+によって、実際のコンパイルには不適当なプリプロセッサ出力が生成されるためです。
+.TP
+.BI "\-include " "file"
+\c
+.I file\c
+\& を、通常の入力ファイルが処理される前に処理します。結果的に \c
+.I file\c
+\& に含まれる内容は、一番最初にコンパイルされることになります。コマンドラ
+インに指定されたすべての `\|\c
+.B \-D\c
+\&\|'
+や `\|\c
+.B \-U\c
+\&\|' オプションは、その記述された順番に関わらず常に `\|\c
+.B \-include \c
+.I file\c
+\&\c
+\&\|' が処理される前に処理されます。全ての `\|\c
+.B \-include\c
+\&\|' や `\|\c
+.B \-imacros\c
+\&\|' オプションは、それらが記述された順番通りに処理されます。
+.TP
+.BI "\-imacros " file
+通常の入力ファイルを処理する前に\c
+.I file\c
+\& を入力として処理しますが、その結果の出力を捨てます。
+.I file\c
+\& によって生成された出力は捨てられるため、`\|\c
+.B \-imacros \c
+.I file\c
+\&\c
+\&\|' の処理結果の影響は、\c
+.I file\c
+\& 中に記述されたマクロがメインの入力ファイル中で使用可能になることだけです。
+プリプロセッサは、`\|\c
+.B \-imacros \c
+.I file\c
+\&\|' が記述された順番に関わらず、これを処理する前に、
+コマンドラインから与えられた全ての `\|\c
+.B \-D\c
+\&\|' や `\|\c
+.B \-U\c
+\&\|' オプションを評価します。全ての `\|\c
+.B \-include\c
+\&\|' および `\|\c
+.B \-imacros\c
+\&\|'
+オプションは、それらが記述された順番通りに処理されます。
+.TP
+.BI "\-idirafter " "dir"
+ディレクトリ \c
+.I dir\c
+\& を第 2 インクルードパスに加えます。第 2 インクルードパス中のディレクトリは、
+メインインクルードパス (オプション
+`\|\c
+.B \-I\c
+\&\|' によって追加されます) 中にヘッダファイルを探した結果発見できな
+かった場合に検索されます。
+.TP
+.BI "\-iprefix " "prefix"
+\c
+.I prefix\c
+\& を、その後に続く `\|\c
+.B \-iwithprefix\c
+\&\|'
+オプション用のプレフィックスとして使用します。
+.TP
+.BI "\-iwithprefix " "dir"
+ディレクトリを第 2 インクルードパスに追加します。ディレクトリ名は \c
+.I prefix\c
+\& と \c
+.I dir\c
+\& を連結することによって得られます。ここで \c
+.I prefix
+は、`\|\c
+.B \-iprefix\c
+\&\|' オプションによって指定されたものです。
+.TP
+.B \-nostdinc
+ヘッダファイルのための標準のシステムディレクトリを検索しません。`\|\c
+.B \-I\c
+\&\|' オプションによって指定したディレクトリ (またはカレントディレクト
+リ) のみを検索します。
+.Sp
+`\|\c
+.B \-nostdinc\c
+\&\|' と `\|\c
+.B \-I\-\c
+\&\|'を使用することにより、インクルードファイルの検索パスを明示的に指
+定したディレクトリのみに限定することが可能となります。
+.TP
+.B \-nostdinc++
+ヘッダファイルの検索に、C++\-固有の標準ディレクトリを用いません。ただ
+しそれ以外の標準ディレクトリは検索されます。
+(このオプションは `\|\c
+.B libg++\c
+\&\|' の構築に使用されます。)
+.TP
+.B \-undef
+標準でない定義済みマクロ(アーキテクチャフラグも含めて)を定義しません。
+.TP
+.B \-E
+C プリプロセッサの処理のみを行います。指定された全ての C のソースファイル
+に対してプリプロセスを行ない、標準出力、または指定された出力ファイルに
+対して出力を行います。
+.TP
+.B \-C
+プリプロセッサに対してコメントの削除を行なわないように指示します。
+`\|\c
+.B \-E\c
+\&\|' オプションとともに使用されます。
+.TP
+.B \-P
+プリプロセッサに対して `\|\c
+.B #line\c
+\&\|' コマンドを生成しないように指示します。
+`\|\c
+.B \-E\c
+\&\|' オプションとともに使用されます。
+.TP
+.B \-M\ [ \-MG ]
+プリプロセッサに対して\c
+.B make
+で使用可能な、オブジェクト間の依存関係を記述した出力を生成するように指示
+します。それぞれのソースファイルに対して、プリプロセッサは\c
+.B make\c
+\& のための規則を 1 つ出力します。この出力は、ターゲットとして
+そのソースファイルから生成されるオブジェクトファイルのファイル名をとり、
+依存するファイルのリストとしては
+`\|\c
+.B #include\c
+\&\|' によってソースファイルに
+読み込まれる全てのファイルの名前が並びます。この
+規則は 1 行、あるいは長い場合には`\|\c
+.B \e\c
+\&\|' と改行を入れて複数行で出力されます。この規則のリストは、プリプロセス済
+みの C プログラムのかわりに、標準出力へと出力されます。
+.Sp
+`\|\c
+.B \-M\c
+\&\|' は暗黙のうちに `\|\c
+.B \-E\c
+\&\|' を含みます。
+.Sp
+`\|\c
+.B \-MG\c
+\&\|' を指定すると、見つからないヘッダファイルは生成されたファイルであり、
+それらはソースファイルと同じディレクトリに存在するとみなします。
+これは `\|\c
+.B \-M\c
+\&\|' と同時に指定しなければなりません。
+.TP
+.B \-MM\ [ \-MG ]
+`\|\c
+.B \-M\c
+\&\|' と似ていますが、`\|\c
+.B
+#include "\c
+.I file\c
+.B
+\&"\c
+\&\|'によってインクルードされるユーザ定義のヘッダファイルのみを対象に
+した出力ファイルを生成します。`\|\c
+.B
+#include <\c
+.I file\c
+.B
+\&>\c
+\&\|' によってインクルードされるシステムヘッダファイルは省略されます。
+.TP
+.B \-MD
+`\|\c
+.B \-M\c
+\&\|' と似ていますが、依存情報は出力ファイル名の最後の `\|\c
+.B .o\c
+\&\|' を `\|\c
+.B .d\c
+\&\|' に置き換えたファイル名のファイルに対して出力されます。
+\&`\|\c
+.B \-MD\c
+\&\|' を指定したファイルのコンパイルもこれに加えて行なわれ、
+`\|\c
+.B \-M\c
+\&\|' のように通常のコンパイルを抑制することはありません。
+.Sp
+Mach のユーティリティである`\|\c
+.B md\c
+\&\|' は、これらの複数の `\|\c
+.B .d\c
+\&\|' ファイルを `\|\c
+.B make\c
+\&\|'
+コマンドによって使用できる単一の依存記述ファイルへとマージするのに使用
+することができます。
+.TP
+.B \-MMD
+`\|\c
+.B \-MD\c
+\&\|' と似ていますが、ユーザヘッダファイルのみを対象とし、システムヘッダ
+ファイルを無視します。
+.TP
+.B \-H
+通常の動作に加えて、使用されたヘッダファイルの名前を表示します。
+.TP
+.BI "\-A" "question" ( answer )
+.I question\c
+に対するアサーション
+.I answer
+\& を定義します。これは `\|\c
+.BI "#if #" question ( answer )\c
+\&\|' のようなプリプロセッサ条件節によってテストされます。`\|\c
+.B \-A\-\c
+\&\|' は標準のアサーション(通常はターゲットマシンに関
+する情報を表している)を禁止します。
+.TP
+.BI \-D macro
+マクロ \c
+.I macro\c
+\& に対して文字列 `\|\c
+.B 1\c
+\&\|' を定義として与えます。
+.TP
+.BI \-D macro = defn
+マクロ \c
+.I macro\c
+\& を \c
+.I defn\c
+\& として定義します。コマンドライン上の全ての `\|\c
+.B \-D\c
+\&\|' オプションは `\|\c
+.B \-U\c
+\&\|' オプションの処理を行なう前に処理されます。
+.TP
+.BI \-U macro
+マクロ \c
+.I macro\c
+\& の定義を無効にします。`\|\c
+.B \-U\c
+\&\|' オプションは全ての `\|\c
+.B \-D\c
+\&\|' オプションの処理が終了した後、`\|\c
+.B \-include\c
+\&\|' と `\|\c
+.B \-imacros\c
+\&\|' オプションの処理の前に処理されます。
+.TP
+.B \-dM
+プリプロセッサに対して、プリプロセス終了時に有効であったマクロの定義の
+みを出力するように指示します。`\|\c
+.B \-E\c
+\&\|'
+オプションとともに使用します。
+.TP
+.B \-dD
+プリプロセッサに対して、全てのマクロ定義を適切な順番で出力中にそのまま
+出力するように指示します。
+.TP
+.B \-dN
+`\|\c
+.B \-dD\c
+\&\|' と似ていますが、マクロの引数と内容を削除します。
+出力には`\|\c
+.B #define \c
+.I name\c
+\&\c
+\&\|' のみが含まれます。
+.PP
+.SH アセンブラオプション
+.TP
+.BI "\-Wa," "option"
+\c
+.I option\c
+\& をアセンブラに対するオプションとして渡します。\c
+.I option
+がコンマを含む場合は、そのコンマで区切られた複数のオプションとして与え
+られます。
+.PP
+.SH リンカオプション
+これらのオプションは、コンパイラがオブジェクトファイル群をリンクして 1 つ
+の実行可能ファイルを出力する際に使用されるものです。これらはコンパイラが
+リンクステップを行なわない場合には意味を持ちません。
+.TP
+.I object-file-name
+特別に認識される拡張子で終っていないファイル名は、オブジェクトファイル、
+またはライブラリであると認識されます。(オブジェクトファイルとライブラリ
+はリンカがその内容を参照することで区別されます。) GCC がリンクステップを
+行なう場合は、これらのファイルはリンカへの入力として使用されます。
+.TP
+.BI \-l library
+名前が
+.I library\c
+\& であるライブラリをリンク時に使用します。
+.Sp
+リンカは、標準のライブラリ用ディレクトリのリスト中から、
+実際のファイル名が `\|\c
+.B lib\c
+.I library\c
+\&.a\c
+\&\|' であるファイルを検索します。リンカはこのファイルを、ファイル
+名で直接指定した場合と同様に使用します。
+.Sp
+検索するディレクトリには、いくつかの標準システムディレクトリと、`\|\c
+.B \-L\c
+\&\|' によって指定したディレクトリが含まれます。
+.Sp
+通常、この方法で発見されるファイルはライブラリファイル、つまりいくつかの
+オブジェクトファイルをメンバとして含むアーカイブファイルです。
+リンカは、アーカイブファイルの中を検索して、
+参照されているが定義されていないシンボルを定義しているメンバを
+探し出します。
+しかし、もしリンカがライブラリでなく通常のオブジェクトファイルを発見した
+場合は、そのオブジェクトファイルを通常の方法でリンクします。`\|\c
+.B \-l\c
+\&\|' オプションを使用する場合とファイル名を直接指定する場合の違いは、`\|\c
+.B \-l\c
+\&\|' の場合が
+.I library
+を `\|\c
+.B lib\c
+\&\|' と `\|\c
+.B .a\c
+\&\|' で囲み、いくつものディレクトリを検索することだけです。
+.TP
+.B \-lobjc
+Objective C のプログラムをリンクする場合は、この特別な
+.B \-l
+オプションを指定する必要があります。
+.TP
+.B \-nostartfiles
+リンク時に、標準のシステムスタートアップファイルを使用しません。
+標準ライブラリは通常通りに使用されます。
+.TP
+.B \-nostdlib
+リンク時に、標準のシステムライブラリとスタートアップファイルを使用しません。
+指定したファイルのみがリンカに渡されます。
+.TP
+.B \-static
+ダイナミックリンクをサポートするシステムにおいて、このオプションは共有
+ライブラリとのリンクを抑制します。それ以外のシステムではこのオプションは
+意味を持ちません。
+.TP
+.B \-shared
+他のオブジェクトとリンクして実行可能プログラムを形成し得る共有オブジェクトを
+生成します。ごく少数のシステムでのみ、このオプションはサポートされ
+ています。
+.TP
+.B \-symbolic
+共有オブジェクトを構築する際に、グローバルなシンボルへの参照をバインド
+します。全ての解決できなかった参照に対して警告を与えます
+(ただしリンクエディタオプション `\|\c
+.B
+\-Xlinker \-z \-Xlinker defs\c
+\&\|' によってこれを無効化した場合を除きます)。ごく少数のシステムでのみ、
+このオプションはサポートされています。
+.TP
+.BI "\-Xlinker " "option"
+オプション \c
+.I option
+をリンカに対して渡します。リンカに渡すシステム固有のオプションが、
+GNU CC が理解できないものである場合に利用できます。
+.Sp
+引数を持ったオプションを渡したい場合は、
+`\|\c
+.B \-Xlinker\c
+\&\|' を 2 度使用すれば可能です。1 度目でオプションを渡し、2 度目で引数を
+渡します。例えば `\|\c
+.B
+\-assert definitions\c
+\&\|' を渡すには、
+`\|\c
+.B
+\-Xlinker \-assert \-Xlinker definitions\c
+\&\|' のように記述すれば可能です。
+`\|\c
+.B
+\-Xlinker "\-assert definitions"\c
+\&\|' のように指定した場合は正常に動作しません。なぜならこれは、文字列全
+体を 1 つの引数として渡してしまい、リンカの期待する形式と異なってしま
+うからです。
+.TP
+.BI "\-Wl," "option"
+オプション \c
+.I option\c
+\& をリンカに渡します。\c
+.I option\c
+\& がコンマを含む場合は、それらのコンマで複数のオプションとして分割されます。
+.TP
+.BI "\-u " "symbol"
+シンボル
+.I symbol
+が未定義であるかのように振舞います。これは強制的にこのシンボルを定義してい
+るライブラリモジュールをリンクするために使用します。`\|\c
+.B \-u\c
+\&\|' は異なったシンボルに対して複数回使用することができます。これによっ
+て、さらに多くのライブラリモジュールを読み込ませることができます。
+.SH ディレクトリオプション
+これらのオプションは、ヘッダファイル、ライブラリ、コンパイラの一部を検
+索するディレクトリを指定するために使用されます。
+.TP
+.BI "\-I" "dir"
+ディレクトリ \c
+.I dir\c
+\& を、インクルードファイルの検索するディレクトリのリスト中に追加します。
+.TP
+.B \-I\-
+`\|\c
+.B \-I\-\c
+\&\|' オプション指定前に `\|\c
+.B \-I\c
+\&\|'
+オプションによって指定された全てのディレクトリは、`\|\c
+.B
+#include "\c
+.I file\c
+.B
+\&"\c
+\&\|' の形式によってのみ検索されます。
+これらのディレクトリは `\|\c
+.B
+#include <\c
+.I file\c
+.B
+\&>\c
+\&\|' によっては検索されません。
+.Sp
+\&\|`
+.B \-I\-\c
+\&\|' オプション指定後に `\|\c
+.B \-I\c
+\&\|' で指定したディレクトリは、全ての `\|\c
+.B #include\c
+\&\|'
+命令によって検索されます。(通常は \c
+.I 全ての\c
+\& `\|\c
+.B \-I\c
+\&\|' で指定されたディレクトリは
+この方法で検索されます。)
+.Sp
+これに加えて `\|\c
+.B \-I\-\c
+\&\|' オプションは、カレントディレクトリ (現在の入力ファイルが存在する
+ディレクトリ) が `\|\c
+.B
+#include "\c
+.I file\c
+.B
+\&"\c
+\&\|' に対する最初の検索対象となることを抑制します。`\|\c
+.B \-I\-\c
+\&\|' によるこの効果を上書きする方法はありません。`\|\c
+.B \-I.\c
+\&\|' を指定することによって、コンパイラが起動されたディレクトリが検索
+されることを指定することは可能です。これはプリプロセッサが行なう
+デフォルトの動作とは異なりますが、たいていはこれで十分です。
+.Sp
+`\|\c
+.B \-I\-\c
+\&\|' は、ヘッダファイルの検索に標準のシステムディレクトリを使うことを抑制
+するわけではありません。
+従って、`\|\c
+.B \-I\-\c
+\&\|' と `\|\c
+.B \-nostdinc\c
+\&\|' は
+独立です。
+.TP
+.BI "\-L" "dir"
+ディレクトリ\c
+.I dir\c
+\& を `\|\c
+.B \-l\c
+\&\|' による検索が行なわれるディレクトリのリストに加えます。
+.TP
+.BI "\-B" "prefix"
+このオプションはコンパイラ自身の実行形式、ライブラリ、データファイルの
+検索場所を指定します。
+.Sp
+コンパイラドライバはサブプログラム
+`\|\c
+.B cpp\c
+\&\|', `\|\c
+.B cc1\c
+\&\|' (または C++ においては `\|\c
+.B cc1plus\c
+\&\|'), `\|\c
+.B as\c
+\&\|', そして `\|\c
+.B ld\c
+\&\|' を 1 つ、あるいはそれ以上起動します。コンパイラドライバは、
+起動するプログラムのプレフィックスとして
+.I prefix\c
+\& に `\|\c
+.I machine\c
+.B /\c
+.I version\c
+.B /\c
+\&\|' をつけたものとつけないものの双方を
+使用します。
+.Sp
+コンパイラドライバは各サブプログラムの起動時に、
+`\|\c
+.B \-B\c
+\&\|' プレフィックスの指定がある場合は、それを最初に利用します。もしその
+名前が見つからなければ、または `\|\c
+.B \-B\c
+\&\|'
+が指定されていなければ、ドライバは 2 つの標準プレフィックス `\|\c
+.B /usr/lib/gcc/\c
+\&\|' と `\|\c
+.B /usr/local/lib/gcc-lib/\c
+\&\|' を試します。このどちらにも見つからなければ、コンパイラドライバは、
+環境変数 `\|\c
+.B PATH\c
+\&\|' のディレクトリリストを利用して、そのプログラム名を検索します。
+.Sp
+ランタイムサポートファイル `\|\c
+.B libgcc.a\c
+\&\|' も、必要ならば
+`\|\c
+.B \-B\c
+\&\|' プレフィックスを用いて検索されます。もしそこに見つからなければ、
+前記 2 つの標準プレフィックスが試みられますが、それで終りです。この場合は
+リンクの対象から外されます。ほとんどの場合、またほとんどのマシンでは、`\|\c
+.B libgcc.a\c
+\&\|' は実際には必要ではありません。
+.Sp
+これと同じ効果を、環境変数
+.B GCC_EXEC_PREFIX\c
+\& によっても得ることができます。もしこの環境変数が定義されていれば、こ
+の値がプレフィックスとして同様に使用されます。もし `\|\c
+.B \-B\c
+\&\|' オプションと
+.B GCC_EXEC_PREFIX\c
+\& 環境変数の双方が存在した場合は、`\|\c
+.B \-B\c
+\&\|' オプションが最初に使用され、環境変数は次に使用されます。
+.SH 警告オプション
+警告は、本質的に間違いであるわけではありませんが、危険な構造を報告したり、
+エラーがあるかもしれないような部分を示唆する診断メッセージです。
+.Sp
+以下のオプションは、GNU CC が生成する警告の量と種類を制御します。
+.TP
+.B \-fsyntax\-only
+コードの文法エラーをチェックしますが、一切出力は行いません。
+.TP
+.B \-w
+全ての警告メッセージを抑制します。
+.TP
+.B \-Wno\-import
+.BR #import
+の利用による警告メッセージを抑制します。
+.TP
+.B \-pedantic
+厳密な ANSI 標準 C 言語で規定している全ての警告を表示し、許されていない拡張を
+使用したプログラムを全て拒否します。
+.Sp
+正当な ANSI 標準 C プログラムは、このオプションの有無に関わらず
+コンパイルできるべきです (もっとも、ほんのわずかではありますが `\|\c
+.B \-ansi\c
+\&\|' を必要とするものはあります)。しかし、このオプションを使用しない場合、
+GNU 拡張や伝統的な C の特徴も、これに加えてサポートされます。このオプション
+を使用すれば、それらは拒絶されます。このオプションを\c
+.I 使う\c
+\&理由はありませんが、こだわりのある人々を満足させるためにのみ
+存在しています。
+.Sp
+`\|\c
+.B \-pedantic\c
+\&\|' は、始まりと終りとが `\|\c
+.B _\|_\c
+\&\|' である代替キーワードの使用については、警告しません。
+同様に
+.B _\|_extension_\|_\c
+\& に続く表現についても警告しません。しかし、システムヘッダファイルのみ
+がこの抜け道を使用すべきであり、アプリケーションプログラムはこれを避け
+るべきです。
+.TP
+.B \-pedantic\-errors
+`\|\c
+.B \-pedantic\c
+\&\|' と似ていますが、警告のかわりにエラーを出します。
+.TP
+.B \-W
+以下のイベントに対して、特別な警告メッセージを表示します。
+.TP
+\ \ \ \(bu
+volatile でない自動変数が
+.B longjmp\c
+\& の呼び出しによって変更され得る場合です。これらの警告は、最適化コンパイル
+の時のみ問題になり得ます。
+.Sp
+コンパイラは
+.B setjmp\c
+\& の呼び出しのみを見ています。コンパイラは、どこで \c
+.B longjmp\c
+\& が呼び出されるかを知ることはできません。実際には、シグナルハンドラは
+コード中の任意の場所で
+.B longjmp\c
+\& を呼び出すことができます。従って、実際には \c
+.B longjmp\c
+\& への呼び出しが危険な部分からはおこなわれていないために問題のないプ
+ログラムであっても、警告が発せられることになります。
+.TP
+\ \ \ \(bu
+関数が、値を伴ってリターンする場合と、値を伴わずにリターンする場合の両方
+が起こりうる場合です。
+(関数の最後を抜けていくことは、値を伴わずに関数をリターンするとみなされます。)
+例えば、次の関数がこの種類の警告を引き起こします。
+.Sp
+.nf
+foo (a)
+{
+ if (a > 0)
+ return a;
+}
+.Sp
+
+.fi
+ある関数 (\c
+.B abort\c
+\& や\c
+.B longjmp\c
+\& を含む)
+が決してリターンしないということを GNU CC が理解できないために、にせの警告
+が発生するかもしれません。
+.TP
+\ \ \ \(bu
+式文 (expression-statement) またはコンマ式の左部分が
+一切の副作用を含まない場合です。
+警告を抑制するには、使用しない式を void にキャストして下さい。
+例えば `\|\c
+.B x[i,j]\c
+\&\|' といった式は警告されますが、`\|\c
+.B x[(void)i,j]\c
+\&\|' は警告されません。
+.TP
+\ \ \ \(bu
+符号無しの値が 0 と `\|\c
+.B >\c
+\&\|' または `\|\c
+.B <=\c
+\&\|' で比較される場合です。
+.PP
+.TP
+.B \-Wimplicit
+関数やパラメータに対する暗黙の宣言に対して常に警告します。
+.TP
+.B \-Wreturn\-type
+関数の戻り値の型が、デフォルトである \c
+.B int\c
+\& に定義された時に常に警告します。また、戻り値の型が \c
+.B void\c
+でない関数内に、戻り値のない \c
+.B return\c
+\& 文がある場合にも常に警告します。
+.TP
+.B \-Wunused
+ローカル変数が宣言されたにも関わらず使用されていない場合、静的に宣言さ
+れた関数の実体が定義されていない場合、計算結果が明らかに
+利用されていない場合に常に警告します。
+.TP
+.B \-Wswitch
+.B switch\c
+\& 文がインデックスとして列挙型をとっている時、その列挙型中のいくつ
+かの値に対する \c
+.B case\c
+\& が欠けている場合に常に警告します。(\c
+.B default\c
+\& ラベルが存在する場合、この警告は出ません。) このオプションを使用した場合
+には、列挙型の範囲を越えた \c
+.B case\c
+\& ラベルも、常に警告されます。
+.TP
+.B \-Wcomment
+コメントの開始文字列 `\|\c
+.B /\(**\c
+\&\|' がコメント中に現れた時に常に警告します。
+.TP
+.B \-Wtrigraphs
+トライグラフの出現を常に警告します (トライグラフが使用可能であると仮定します)。
+.TP
+.B \-Wformat
+.B printf\c
+\&, \c
+.B scanf\c
+\& などへの呼び出しに対して、与えられた引数が、フォーマット文字列の指
+定を満足する型を持っているかを検査します。
+.TP
+.B \-Wchar\-subscripts
+配列の添字の型が
+.BR char
+であった場合に警告します。これはよくある間違いのもとです。
+いくつかのマシンにおいてはこの型が符号付きであることを、
+プログラマはしばしば忘れてしまいます。
+.TP
+.B \-Wuninitialized
+初期化されていない自動変数が使用されています。
+.Sp
+これらの警告は、最適化コンパイルを行なう時のみ発生します。なぜなら、
+コンパイラは最適化を行なう時にのみデータフロー情報を必要とするからです。
+もし `\|\c
+.B \-O\c
+\&\|' を指定しなかった場合は、この警告を得ることはできません。
+.Sp
+これらの警告は、レジスタ割り当ての対象となった変数についてのみ発生します。
+従って、\c
+.B volatile\c
+\& であると宣言された変数や、アドレス上に割り当てられた変数、サイズが
+1, 2, 4, 8 バイト以外の変数に関してはこれらの警告は発生しません。
+さらに、構造体、共用体、配列については、たとえそれらがレジスタに
+割り当てられたとしても、これらの警告は発生しません。
+.Sp
+ある変数によって計算された値が結局使用されないような変数については、一切の
+警告が生じないことに注意して下さい。このような計算は、警告が表示される前に
+データフロー解析によって削除されます。
+.Sp
+これらの警告をオプションにした理由の一つは、GNU CC がまだあまり賢くなくて、
+あるコードが一見間違いを含むかのように見えても
+それは実は正しいものかもしれない、
+ということを GNU CC が理解できない、というものです。
+ここにその 1 つの例を挙げます。
+.Sp
+.nf
+{
+ int x;
+ switch (y)
+ {
+ case 1: x = 1;
+ break;
+ case 2: x = 4;
+ break;
+ case 3: x = 5;
+ }
+ foo (x);
+}
+.Sp
+.fi
+もし \c
+.B y\c
+\& の値が常に 1, 2 あるいは 3 である限りは \c
+.B x\c
+\& は常に
+初期化されます。しかし GNU CC はこれを知ることはできません。もう 1 つの一般
+的な例を挙げます。
+.Sp
+.nf
+{
+ int save_y;
+ if (change_y) save_y = y, y = new_y;
+ .\|.\|.
+ if (change_y) y = save_y;
+}
+.Sp
+.fi
+これはバグを含みません。なぜなら \c
+.B save_y\c
+\& は、その値が設定された時のみ使用されるからです。
+.Sp
+いくつかのにせの警告は、使用している決してリターンしない関数全てに対して
+.B volatile\c
+\& と宣言することによって防ぐことが可能です。
+.TP
+.B \-Wparentheses
+ある特定の文脈中で括弧が省略されていた場合に警告します。
+.TP
+.B \-Wtemplate\-debugging
+C++ プログラムにおいてテンプレートを使用している際に、デバッグが完全に
+可能でない場合を警告します (C++ のみ)。
+.TP
+.B \-Wall
+全ての上に挙げた `\|\c
+.B \-W\c
+\&\|' オプションを結合したものです。これらのオプションは全て、
+たとえマクロとの組合せ
+であっても、避けたほうがいいと我々が推奨する用法や、
+簡単に避けることができると我々が信じている用法に関するものです。
+.PP
+残りの `\|\c
+.B \-W.\|.\|.\c
+\&\|' オプションは `\|\c
+.B \-Wall\c
+\&\|'
+によっては暗黙のうちに指定されません。なぜならこれらは、クリーンなプ
+ログラムにおいても、ある状況においては使用することが妥当であると我々が
+考える構造についての警告を行なうオプションだからです。
+.TP
+.B \-Wtraditional
+伝統的な C と ANSI C において異なった振舞いをする特定の構造について警
+告します。
+.TP
+\ \ \ \(bu
+マクロ引数がマクロ本体内の文字列定数に現れるものです。これは、伝統的な C に
+おいてはその引数で置換しましたが、ANSI C においては定数の一部として扱わ
+れます。
+.TP
+\ \ \ \(bu
+ブロック内で外部宣言であると宣言され、かつそのブロックの終端の後で
+使用されている関数です。
+.TP
+\ \ \ \(bu
+オペランドとして \c
+.B long\c
+\& 型をとる \c
+.B switch\c
+\& 文です。
+.PP
+.TP
+.B \-Wshadow
+ローカル変数が他のローカル変数を隠している時に常に警告します。
+.TP
+.BI "\-Wid\-clash\-" "len"
+2 つの全く別の識別子の最初の \c
+.I len
+文字が一致した時に警告します。これはある種の旧式な
+おばかさんコンパイラでコンパイルされ得るプログラムを作る場合に役に立ちます。
+.TP
+.B \-Wpointer\-arith
+関数型や \c
+.B void\c
+\& の \*(lqサイズ\*(rq に依存するものを全て警告します。GNU C はこれらに対して、
+サイズ 1 を割り当てています。これは \c
+.B void \(**\c
+\& ポインタと関数へのポインタにおける計算を簡便にするためです。
+.TP
+.B \-Wcast\-qual
+ポインタが、型修飾子が削除されるようにキャストされる全ての場合に警告します。
+例えば \c
+.B const char \(**\c
+\& を
+普通の \c
+.B char \(**\c
+\& にキャストした場合に警告がなされます。
+.TP
+.B \-Wcast\-align
+ポインタのキャストにおいて、そのターゲットに要求されるアラインメントが
+大きくなるようなキャストを全て警告します。例えば \c
+.B char \(**\c
+\& が \c
+.B int \(**\c
+\& へとキャストされると、整数が 2、あるいは 4 バイト境界でしかアクセスで
+きないマシンにおいては警告が発せられます。
+.TP
+.B \-Wwrite\-strings
+文字定数に対して、型 \c
+.B const char[\c
+.I length\c
+.B ]\c
+\& を与え、非-\c
+.B const\c
+\& の \c
+.B char \(**
+ポインタへのアドレスのコピーに対して警告するようにします。この警告は、
+宣言とプロトタイプにおいて \c
+.B const\c
+\& の使用を非常に注意深くおこなっていさえすれば、
+文字列定数に書き込みをしそうなコードをコンパイル時に発見することを助けますが、
+そうでない場合は有害無益な指定です。これが、我々がこの警告を `\|\c
+.B \-Wall\c
+\&\|' のリクエストに含めなかった理由です。
+.TP
+.B \-Wconversion
+同じ引数が与えられた時に、プロトタイプが存在する場合とプロトタイプが
+存在しない場合とで、異なった型変換を引き起こす場合について警告します。
+これは固定小数点から浮動小数点への変換やその逆、デフォルトの動作と異なる固定
+小数点引数の幅や符号の有無の変換が含まれます。
+.TP
+.B \-Waggregate\-return
+構造体や共用体を返す関数を定義した場合や、
+それらを呼び出す全ての場合に警告します。
+(配列を返すことができる言語においても、これは警告を引き起こします。)
+.TP
+.B \-Wstrict\-prototypes
+引数の型を指定せずに関数を宣言、あるいは定義した場合に警告します。
+(以前に引数の型を指定した宣言が存在する場合には、旧式の関数宣言に対しては
+警告をしません。)
+.TP
+.B \-Wmissing\-declarations
+グローバルな関数を、その前にプロトタイプ宣言をせずに定義した場合に
+警告します。
+この警告は、たとえその定義自身がプロトタイプを含んでいたとしても発生します。
+この警告の目的は、ヘッダファイル中にグローバル関数の定義を忘れるこ
+とを防ぐことにあります。
+.TP
+.B \-Wredundant-decls
+同一スコープ中で複数回、同一対象を宣言した場合に、たとえそれが正当で何も
+変化させない場合であっても警告します。
+.TP
+.B \-Wnested-externs
+関数内で \c
+.B extern\c
+\& 宣言を行なった場合に警告します。
+.TP
+.B \-Wenum\-clash
+異なる列挙型の間で変換を行なった際に警告します (C++ のみ)。
+.TP
+.B \-Woverloaded\-virtual
+(C++ のみ。)
+導出クラスにおいて、仮想関数の定義は基底クラスで定義された仮想関数の型
+の記述と一致していなければなりません。このオプションを使用することによっ
+て、基底クラスにおける仮想関数と同一の名前を持ち、基底クラスのいかなる
+仮想関数とも異なった型の記述を持つ関数に対して警告が行われます。これに
+よって、導出クラスが仮想関数を定義しようとして失敗する場合を警告するこ
+とができます。
+.TP
+.B \-Winline
+関数がインライン宣言されている、あるいは
+.B \-finline\-functions
+オプションが与えられている場合に、関数をインライン展開できなかった場合
+に警告します。
+.TP
+.B \-Werror
+警告をエラーとして扱います。警告の後にコンパイルを中断します。
+.SH デバッグオプション
+GNU CC は、ユーザのプログラムや GCC の双方をデバッグするために、
+多くのオプションを備えています。
+.TP
+.B \-g
+オペレーティングシステムのネイティブのフォーマット (stabs, COFF,
+XCOFF, DWARF) でデバッグ情報を生成します。GDB はこのデバッグ情報に基づい
+て動作することができます。
+.Sp
+stabs フォーマットを使用するほとんどのシステムにおいては、`\|\c
+.B \-g\c
+\&\|' を指定すると、GDB だけが使用できる余分なデバッグ情報が使用可能に
+なります。
+この特別の情報は GDB に対してはよりよいデバッグを行なうことを可能
+としますが、おそらく他のデバッガに対してはクラッシュ、あるいはそのプログラムを
+読めなくしてしまいます。この特別な情報の生成を制御するためには `\|\c
+.B \-gstabs+\c
+\&\|', `\|\c
+.B \-gstabs\c
+\&\|',
+`\|\c
+.B \-gxcoff+\c
+\&\|', `\|\c
+.B \-gxcoff\c
+\&\|', `\|\c
+.B \-gdwarf+\c
+\&\|', `\|\c
+.B \-gdwarf\c
+\&\|'
+を使用してください (下記参照)。
+.Sp
+他の多くの C コンパイラと異なり、GNU CC は `\|\c
+.B \-g\c
+\&\|' を
+`\|\c
+.B \-O\c
+\&\|' とともに使用することを許しています。最適化されたコードが通る近道は、
+時には驚くべき結果を生み出すかもしれません。
+定義したはずの変数が存在しなかったり、
+制御の流れが予想もしなかった場所に移動したり、結果が定数とわかる計算や、
+結果がすでに手元にある文は実行されなくなり、ある文がループの外に追い出されて
+別の場所で実行されたりします。
+.Sp
+それにも関わらず、このオプションは最適化された出力のデバッグを可能とし
+ています。これによって、バグを含むかもしれないプログラムに対して
+オプティマイザを使用することができるようになります。
+.PP
+以下のオプションは、GNU CC を 1 つ以上のデバッグフォーマットを扱
+えるように作成してある場合に有益です。
+.TP
+.B \-ggdb
+(もしサポートされていれば)ネイティブのフォーマットでデバッグ情報を生成
+します。これは可能な限りの全ての GDB 拡張を含みます。
+.TP
+.B \-gstabs
+(もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。
+ただし GDB 拡張は含みません。このフォーマットはほとんどの BSD システム上
+の DBX で利用できるフォーマットです。
+.TP
+.B \-gstabs+
+(もしサポートされていれば) stabs フォーマットでデバッグ情報を生成します。
+ただし GNU デバッガ (GDB) でしか理解できない GNU 拡張を使用します。
+この拡張を使用すると、他のデバッガでは、クラッシュや
+プログラムが読めなくなるなどの影響がおそらく出ます。
+.TP
+.B \-gcoff
+(サポートされていれば) COFF フォーマットでデバッグ情報を生成します。
+これは、System V Release 4 より前の ほとんどの System V 上の
+SDB で利用できるフォーマットです。
+.TP
+.B \-gxcoff
+(サポートされていれば) XCOFF フォーマットでデバッグ情報を生成します。こ
+れは IBM RS/6000 システムにおいて DBX デバッガによって使用される
+フォーマットです。
+.TP
+.B \-gxcoff+
+(もしサポートされていれば) XCOFF フォーマットでデバッグ情報の生成を行
+います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使
+用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュやプ
+ログラムを読みとり不能にするなどの影響を及ぼし得ます。
+.TP
+.B \-gdwarf
+(もしサポートされていれば) DWARF フォーマットでデバッグ情報の生成を行
+います。これはほとんどの System V Release 4 システムにおいて SDB によっ
+て使用される形式です。
+.TP
+.B \-gdwarf+
+(もしサポートされていれば) DAWRF フォーマットでデバッグ情報の生成を行
+います。ただし、GNU デバッガ (GDB) によってのみ理解され得る GNU 拡張を使
+用します。これらの拡張を使用すると、他のデバッガに対してはクラッシュや
+プログラムを読みとり不能にするなどの影響を及ぼし得ます。
+.PP
+.BI "\-g" "level"
+.br
+.BI "\-ggdb" "level"
+.br
+.BI "\-gstabs" "level"
+.br
+.BI "\-gcoff" "level"
+.BI "\-gxcoff" "level"
+.TP
+.BI "\-gdwarf" "level"
+デバッグ情報を要求しますが、同時に \c
+.I level\c
+\& によってどの程度の情報が必要かを指定します。デフォルトのレベルは 2 です。
+.Sp
+レベル 1 は、デバッグを予定しないプログラムの部分に対してバックトレース
+を生成するに十分な最低限の情報を生成します。これは関数と外部変数の記述
+を含みますが、ローカル変数や行番号に関する情報は含みません。
+.Sp
+レベル 3 はプログラムに含まれる全てのマクロ定義などの特別な情報を含みます。
+いくつかのデバッガは `\|\c
+.B \-g3\c
+\&\|' の使用によってマクロの展開をサポートします。
+.TP
+.B \-p
+プログラム \c
+.B prof\c
+\& によって使用されるプロファイル情報を書き込む特別なコードを生成します。
+.TP
+.B \-pg
+プログラム \c
+.B gprof\c
+\& によって使用されるプロファイル情報を書き込む特別なコードを生成します。
+.TP
+.B \-a
+基本ブロックのプロファイル情報を書き込む特別なコードを生成します。これは
+それぞれのブロックが何回実行されたかを記録します。このデータは \c
+.B tcov\c
+\& のようなプログラムによって解析されます。ただし、このデータフォーマットは \c
+.B tcov\c
+\& が期待するものとは異なっています。最終的には、GNU \c
+.B gprof\c
+\& が処理できるように拡張されるべきです。
+.TP
+.BI "\-d" "letters"
+コンパイル中の
+.I letters\c
+\& で指定されるタイミングに、デバッグ用のダンプを生成するように指示します。
+これはコンパイラをデバッグするために使用されます。ほとんどのダンプのファイル
+名はソースファイル名に 1 単語をつなげたものになります。(例えば、`\|\c
+.B foo.c.rtl\c
+\&\|' や `\|\c
+.B foo.c.jump\c
+\&\|' などです)。
+.TP
+.B \-dM
+全てのマクロ定義をダンプし、プリプロセス終了時に出力に書き出します。
+その他には何も書き出しません。
+.TP
+.B \-dN
+全てのマクロ名をダンプし、プリプロセス終了時に出力に書き出します。
+.TP
+.B \-dD
+全てのマクロ定義をプリプロセス終了時に通常の出力に加えてダンプします。
+.TP
+.B \-dy
+パース中にデバッグ情報を標準エラー出力にダンプします。
+.TP
+.B \-dr
+RTL 生成後に `\|\c
+.I file\c
+.B \&.rtl\c
+\&\|' に対してダンプします。
+.TP
+.B \-dx
+関数をコンパイルするかわりに、RTL を生成するのみの処理を行います。通常は
+`\|\c
+.B r\c
+\&\|' とともに使用されます。
+.TP
+.B \-dj
+最初のジャンプ最適化の後に、`\|\c
+.I file\c
+.B \&.jump\c
+\&\|' に対してダンプします。
+.TP
+.B \-ds
+共通部分式削除 (しばしば共通部分式削除に続くジャンプ最適化も含みます) の終了
+時に `\|\c
+.I file\c
+.B \&.cse\c
+\&\|' に対してダンプします。
+.TP
+.B \-dL
+ループ最適化終了時に `\|\c
+.I file\c
+.B \&.loop\c
+\&\|' に対してダンプします。
+.TP
+.B \-dt
+第 2 共通部分式削除段階 (しばしば共通部分式削除に続くジャンプ最適化も
+含みます) の終了時に、`\|\c
+.I file\c
+.B \&.cse2\c
+\&\|' に対してダンプします。
+.TP
+.B \-df
+フロー解析終了後に、`\|\c
+.I file\c
+.B \&.flow\c
+\&\|' に対してダンプします。
+.TP
+.B \-dc
+命令コンビネーション終了時に `\|\c
+.I file\c
+.B \&.combine\c
+\&\|' に対してダンプします。
+.TP
+.B \-dS
+第 1 命令スケジューリング段階終了時に `\|\c
+.I file\c
+.B \&.sched\c
+\&\|' に対してダンプします。
+.TP
+.B \-dl
+ローカルレジスタ割り当て終了時に `\|\c
+.I file\c
+.B \&.lreg\c
+\&\|' に対してダンプします。
+.TP
+.B \-dg
+グローバルレジスタ割り当て終了時に `\|\c
+.I file\c
+.B \&.greg\c
+\&\|' に対してダンプします。
+.TP
+.B \-dR
+第 2 命令スケジューリング段階終了時に `\|\c
+.I file\c
+.B \&.sched2\c
+\&\|' に対してダンプします。
+.TP
+.B \-dJ
+最終ジャンプ最適化終了時に `\|\c
+.I file\c
+.B \&.jump2\c
+\&\|' に対してダンプします。
+.TP
+.B \-dd
+遅延分岐スケジューリング終了時に `\|\c
+.I file\c
+.B \&.dbr\c
+\&\|' に対してダンプします。
+.TP
+.B \-dk
+レジスタからスタックへの転換終了時に `\|\c
+.I file\c
+.B \&.stack\c
+\&\|' に対してダンプします。
+.TP
+.B \-da
+以上の全てのダンプを生成します。
+.TP
+.B \-dm
+処理の終了時に、メモリ使用に関する統計情報を標準エラー出力に出力します。
+.TP
+.B \-dp
+どのようなパターンや選択肢が使用されたかを示すコメントをアセンブラ出力
+中のコメントで解説します。
+.TP
+.B \-fpretend\-float
+クロスコンパイラで処理を行なう際に、ホストマシンと同じ浮動小数点フォーマット
+をターゲットマシンが持つかのように振舞わせます。これは浮動小数点定
+数の誤った出力を引き起こしますが、実際の命令列はおそらく GNU CC を
+ターゲットマシンで起動した場合と同じものとなるでしょう。
+.TP
+.B \-save\-temps
+通常の \*(lq一時\*(rq 中間ファイルを消去せずに保存します。これらは
+カレントディレクトリに置かれ、ソースファイルに基づいた名前が付けられます。
+従って、`\|\c
+.B foo.c\c
+\&\|' を `\|\c
+.B \-c \-save\-temps\c
+\&\|' を使用してコンパイルした場合は、
+`\|\c
+.B foo.cpp\c
+\&\|', `\|\c
+.B foo.s\c
+\&\|' が、`\|\c
+.B foo.o\c
+\&\|' と同様に生成されます。
+.TP
+.BI "\-print\-libgcc\-file\-name=" "library"
+ライブラリファイル `\|\c
+.nh
+.I library
+.hy
+\&\|' の完全な絶対名を表示します。このファイルはリンクの際のみに使用され、
+それ以外の働きはありません。このオプションが指定された場合は、GNU CC は
+コンパイルやリンクを何も行なわず、ただファイル名を表示するのみです。
+.TP
+.B \-print\-libgcc\-file\-name
+`\|\c
+.B \-print\-file\-name=libgcc.a\c
+\&\|' と同じです。
+.TP
+.BI "\-print\-prog\-name=" "program"
+`\|\c
+.B \-print\-file\-name\c
+\&\|' と似ていますが、`\|\c
+cpp\c
+\&\|' のような program を検索します。
+.SH 最適化オプション
+これらのオプションは様々な種類の最適化処理を制御します。
+.TP
+.B \-O
+.TP
+.B \-O1
+最適化を行います。最適化コンパイルは幾分長めの処理時間と、大きな関数に対
+する非常に多くのメモリを必要とします。
+.Sp
+`\|\c
+.B \-O\c
+\&\|' が指定されなかった場合は、コンパイラの目標はコンパイルのコストを
+低減することや、目的の結果を得るためのデバッグを可能とすることに置かれ
+ます。それぞれの文は独立しています。つまり、ブレークポイントでプログラムを
+停止させることによって、任意の変数に新し
+い値を代入したり、プログラムカウンタを他の文へと変更することを可能とし、
+そのソースコードにプログラマが望む正しい結果を得ることを可能にします。
+.Sp
+`\|\c
+.B \-O\c
+\&\|' を指定しなかった場合は、\c
+.B register\c
+\& と宣言した変数のみがレジスタへと割り当てられます。コンパイルの結果と
+して得られるコードは、PCC を `\|\c
+.B \-O\c
+\&\|' なしで使用した場合と比較して若干良くないものとなります。
+.Sp
+`\|\c
+.B \-O\c
+\&\|' が指定されると、コンパイラはコードのサイズと実行時間を減少させる
+ことを試みます。
+.Sp
+`\|\c
+.B \-O\c
+\&\|' を指定することによって、 `\|\c
+.B \-fthread\-jumps\c
+\&\|' と
+`\|\c
+.B \-fdefer\-pop\c
+\&\|' のフラグが指定されます。遅延スロットをもつマシンでは `\|\c
+.B \-fdelayed\-branch\c
+\&\|' が指定されます。フレームポインタを使わないデバッグをサポートしている
+マシンでは、`\|\c
+.B \-fomit\-frame\-pointer\c
+\&\|' も指定されます。マシンによってはさらにその他のフラグが
+指定されることもあります。
+.TP
+.B \-O2
+さらに最適化を行います。サポートされている最適化手段のうち、
+空間と速度のトレードオフを含まないものはほとんどの全て使用されます。
+例えばループのアンローリングや関数のインライン化は行われません。
+.B \-O\c
+\&
+と比較して、このオプションはコンパイル時間と生成コードの性能の双方を増加
+させます。
+.TP
+.B \-O3
+さらなる最適化を行います。これは
+.B \-O2
+が行う全ての最適化手段に加えて
+.B \-finline\-functions
+も有効にします。
+.TP
+.B \-O0
+最適化を行いません。
+.Sp
+複数の
+.B \-O
+オプションを指定した場合は、レベル番号の有無に関わらず、最後に指定した
+ものが有効になります。
+.PP
+`\|\c
+.B \-f\c
+.I flag\c
+\&\c
+\&\|' の形式を持ったオプションは、マシン独立のフラグです。ほとんどの
+フラグは有効形式と無効形式の双方を持っています。`\|\c
+.B \-ffoo\c
+\&\|' の無効形式は `\|\c
+.B \-fno\-foo\c
+\&\|' です。以下のリストでは、デフォルトではない方の形式のみを示します。
+これに対して `\|\c
+.B no\-\c
+\&\|' を削除する、あるいは追加することによって双方の形式を生成すること
+が可能です。
+.TP
+.B \-ffloat\-store
+浮動小数点変数をレジスタに格納しません。このオプションは 68000 のように
+(68881 の) 浮動小数点レジスタが \c
+.B double\c
+\& よりも高い精度を持っていると思われるマシンにおいて、望まない超過精度を
+抑制することを可能にします。
+.Sp
+ほとんどのプログラムにおいては、超過精度は単に良い結果を生むだけですが、
+いくつかのプログラムは正確な IEEE の浮動小数点フォーマット定義に依
+存しています。
+このようなプログラムに対して `\|\c
+.B \-ffloat\-store\c
+\&\|' を使用します。
+.TP
+.B \-fmemoize\-lookups
+.TP
+.B \-fsave\-memoized
+コンパイルを高速に行なうために、ヒューリスティックスを使用します
+(C++ のみ)。これらのヒューリスティックスはデフォルトでは有効になってい
+ません。なぜなら、これはある種の入力ファイルにしか効果がなく、その他の
+ファイルではかえってコンパイルが低速になるからです。
+.Sp
+最初に、コンパイラはメンバ関数への呼び出し (あるいはデータメンバへの参
+照) を構築します。これは (1) どのクラスでその名前のメンバ関数が実装さ
+れているかを決定し、(2) どのメンバ関数への呼び出しであるかという問題
+(これはどの種類の型変換が必要となるかという決定も含みます) を解決し、(3)
+呼び出し側に対するその関数の可視性を検査するという作業を行なう必要があります。
+これらは全て、コンパイルをより低速にしてしまいます。通常は、そのメンバ
+関数への 2 度目の呼び出しが起こった場合も、この長い処理がまた行なわれ
+ることになります。これは次のようなコード
+.Sp
+\& cout << "This " << p << " has " << n << " legs.\en";
+.Sp
+は、これらの 3 つの手順を 6 回繰り返すということを意味します。これに対し
+て、ソフトウェアキャッシュを使用すると、そのキャッシュへの\*(lqヒット
+\*(rqは、コストを劇的に低減することが期待できます。不幸なことに、キャッシュ
+の導入によって異なったレイヤの機構を実装することが必要となり、それ
+自身のオーバヘッドが生じてしまいます。`\|\c
+.B \-fmemoize\-lookups\c
+\&\|' はこのソフトウェアキャッシュを有効にします。
+.Sp
+メンバとメンバ関数へのアクセス特権 (可視性) はある関数におけるコンテクスト
+と別の関数におけるものとでは異なるので、
+.B g++
+はキャッシュをフラッシュしなければなりません。`\|\c
+.B \-fmemoize\-lookups\c
+\&\|' フラグを使用すると、全ての関数をコンパイルするたびに毎回キャッシュを
+フラッシュします。`\|\c
+.B \-fsave\-memoized\c
+\&\|' フラグは同一のソフトウェアキャッシュについて、コンパイラが前回
+コンパイルした関数のコンテキストが、次にコンパイルするコンテキストと同
+一のアクセス特権を有しているとみなせる時には、キャッシュを保持します。
+これは同一クラス中に多くのメンバ関数を定義している時に特に有効です。
+他のクラスのフレンドになっているメンバ関数を除き、同一のクラスに属して
+いる全てのメンバ関数のアクセス特権は、全て同一です。このような場合は
+キャッシュをフラッシュする必要はありません。
+.TP
+.B \-fno\-default\-inline
+クラススコープ中に定義されたメンバ関数をデフォルトでインライン関数とす
+る処理を行ないません (C++ のみ)。
+.TP
+.B \-fno\-defer\-pop
+それぞれの関数呼び出しに対して、関数のリターン直後に常に引数をポップします。
+関数呼出後に引数をポップしなければならないマシンにおいては、
+コンパイラは通常、いくつかの関数の引数をスタックに積んで、
+それらを同時にポップします。
+.TP
+.B \-fforce\-mem
+メモリオペランドに対して、それらに対する演算が行なわれる前に、
+レジスタにコピーします。これは全てのメモリ参照を、潜在的な共通部分式であると
+定めることによって、より良いコードを生成します。もしそれが共通部分式でな
+かった場合は、命令コンビネーションによってレジスタへの読み込みは削
+除されます。私はこれがどのような違いを生み出すかということに興味があります。
+.TP
+.B \-fforce\-addr
+メモリアドレス定数について、それらに対する演算が行なわれる前にレジスタ
+にコピーします。これは `\|\c
+.B \-fforce\-mem\c
+\&\|' と同じ手法でより良いコードを生成します。私はこれがどのような違いを
+生み出すかということに興味があります。
+.TP
+.B \-fomit\-frame\-pointer
+フレームポインタをレジスタに格納する必要のない関数において、この処理を
+行いません。これはフレームポインタの保存、設定、復帰にかかる命令を省略
+し、さらに、多くの関数でレジスタ変数として使用できる余分なレジスタを
+得ることを可能にします。\c
+.I ただし、このオプションはほとんどのマシンにおいてデバッグを不可能にします。
+.Sp
+Vax などのいくつかのマシンでは、このフラグは効果を持ちません。なぜならこ
+れらのマシンでは標準の呼び出し手順が自動的にフレームポインタの設定を
+行なってしまい、これが存在しないとしたところで何も節約ができないからです。
+マシン記述マクロ \c
+.B FRAME_POINTER_REQUIRED\c
+\& が、ターゲットマシンがこのフラグをサポートするかどうかを制御しています。
+.TP
+.B \-finline\-functions
+全ての単純な関数を呼び出し側に組み込んでしまいます。コンパイラは
+ヒューリスティックスを用いて、
+どの関数がこの方法で組み込むに足りるほど単純かを決定します。
+.Sp
+もし、ある関数に対する全ての呼び出しを組み込むことができ、かつその関数が \c
+.B static\c
+\& と宣言されていた場合は、GCC はその関数を独立したアセンブラコードと
+しては出力をしません。
+.TP
+.B \-fcaller\-saves
+関数呼び出しにおいて破壊されるであろう値を、レジスタに保持することを可
+能とします。これはこのような呼び出しの周囲にレジスタに対する保存、復帰の
+特別なコードを出力することによって実現されます。このような割り当ては、そ
+れが通常よりも良いコードを出力するとみなされる場合にのみ行われます。
+.Sp
+このオプションは特定のマシンではデフォルトで有効となっています。これらは
+通常、このオプションの処理の代わりに使うことができる呼び出し時保存
+レジスタが存在しないマシンです。
+.TP
+.B \-fkeep\-inline\-functions
+ある関数への呼び出しが全て呼び出し側に組み込むことができて、かつその関数が \c
+.B static\c
+\& と宣言されていたとしても、実行時に呼び出し可能な関数も生成します。
+.TP
+.B \-fno\-function\-cse
+関数のアドレスをレジスタに置きません。つまり、定まった関数を呼び出すコードは、
+それぞれ明示的な関数のアドレスを含むコードとなります。
+.Sp
+このオプションは効率の低いコードを生成しますが、アセンブラ出力を書き換え
+るようなハックを行なう場合には、このオプションを使用しなければ
+混乱させられることでしょう。
+.TP
+.B \-fno\-peephole
+マシン固有のピープホール最適化を禁止します。
+.TP
+.B \-ffast-math
+このオプションは生成コードのスピードのために、GCC に対して、いくつかの
+ANSI または IEEE の規則/規格を侵させます。例えば、このオプションは \c
+.B sqrt\c
+\& 関数の引数は非負の数であることを仮定します。
+.Sp
+このオプションはどの `\|\c
+.B \-O\c
+\&\|' オプションによっても有効とされません。なぜなら、このオプションは数
+学関数に関する IEEE または ANSI の規則/規格の厳密な実装に依存して書かれた
+プログラムに対して誤った出力を与えるからです。
+.PP
+以下のオプションは特殊な最適化に関する制御を行います。`\|\c
+.B \-O2\c
+\&\|'
+オプションは`\|\c
+.B \-funroll\-loops\c
+\&\|'
+と `\|\c
+.B \-funroll\-all\-loops\c
+\&\|' を除くこれらの全てのオプションを有効にします。
+.PP
+`\|\c
+.B \-O\c
+\&\|' オプションは通常 `\|\c
+.B \-fthread\-jumps\c
+\&\|' と `\|\c
+.B \-fdelayed\-branch\c
+\&\|' を有効とします。ただし、特殊なマシンではデフォルトの最適化に対して
+変更が加えられているかもしれません。
+.PP
+最適化に関する \*(lqきめ細かいチューニング\*(rq が必要な場合に、以下の
+フラグを使用することが可能です。
+.TP
+.B \-fstrength\-reduce
+ループのストレングスリダクションと繰り返し変数の除去を行います。
+.TP
+.B \-fthread\-jumps
+分岐ジャンプによってある場所にジャンプした時に、最初の分岐に包括される
+比較が存在した時に、最初の分岐のジャンプ先を後者の分岐先に変更します。
+この変更先は、2 番目の分岐条件の真偽によって、2 番目の分岐のジャンプ先か、
+あるいは2 番目の分岐の直後に定められます。
+.TP
+.B \-funroll\-loops
+ループ展開の最適化を行います。これはループの繰り返し数がコンパイル時、
+あるいはランタイムに決定できる時においてのみ、実行されます。
+.TP
+.B \-funroll\-all\-loops
+ループ展開の最適化を行います。これは全てのループに対して行われます。この
+オプションは大抵、より遅く動作するプログラムを生成します。
+.TP
+.B \-fcse\-follow\-jumps
+共通部分式削除の処理において、ジャンプ命令の行先が
+他の経路から到達できない場合は、そのジャンプ命令を越えてスキャンを行
+ないます。例えば、共通部分式削除処理中に \c
+.B else \c
+\& 節を伴った
+.B if \c
+\& 文に出会った場合、条件が偽ならば分岐先に対しても共通部分式削除を続けます。
+.TP
+.B \-fcse\-skip\-blocks
+これは `\|\c
+.B \-fcse\-follow\-jumps\c
+\&\|' に似ていますが、ブロックを跨ぐジャンプに対しても共通部分式削除を継
+続します。共通部分式削除処理中に、else 節を持たない単純な \c
+.B if\c
+\& 文にであった時、
+`\|\c
+.B \-fcse\-skip\-blocks\c
+\&\|' は \c
+.B if\c
+\& のボディを跨いだジャンプに対する共通部分式削除処理を継続します。
+.TP
+.B \-frerun\-cse\-after\-loop
+ループ最適化が行なわれた後に、再度共通部分式削除の処理を行います。
+.TP
+.B \-felide\-constructors
+コンストラクタへの呼び出しが省略できるように思われる場合に、その呼び出
+しを省略します (C++ のみ)。このフラグを指
+定した場合は、GNU C++ は以下のコードに対して、一時オブジェクトを経由せずに \c
+.B y\c
+\& を \c
+.B foo
+への呼び出しの結果から直接初期化します。
+.Sp
+A foo ();
+A y = foo ();
+.Sp
+このオプションを使用しない場合は、GNU C++ は最初に \c
+.B y\c
+\& を\c
+.B A\c
+\& 型の適切なコンストラクタを呼び出すことによって初期化します。そして、
+.B foo\c
+\& の結果を一時オブジェクトに格納し、最終的には
+`\|\c
+.B y\c
+\&\|' の値を一時オブジェクトの値に入れ換えます。
+.Sp
+デフォルトの振舞い (`\|\c
+.B \-fno\-elide\-constructors\c
+\&\|') が、ANSI C++ 標準のドラフトには規定されています。コンストラクタ
+が副作用を含むプログラムに対して、`\|\c
+.B \-felide-constructors\c
+\&\|' を指定すると、そのプログラムは異なった動作をする可能性があります。な
+ぜなら、いくつかのコンストラクタの呼び出しが省略されるからです。
+.TP
+.B \-fexpensive\-optimizations
+比較的コストの高いいくつかの些細な最適化を行います。
+.TP
+.B \-fdelayed\-branch
+ターゲットマシンにおいてこのフラグがサポートされている場合は、遅延分岐
+命令後の命令スロットを命令の順番変更によって利用するように設定します。
+.TP
+.B \-fschedule\-insns
+ターゲットマシンにおいてこのフラグがサポートされている場合は、必要な
+データを利用可能になるまで待つことによる実行の遅滞を防ぐために、命令
+の順番の変更を行います。これは遅い浮動小数点命令やメモリ読み込み命令の実
+行において、それらの結果を必要とする命令の前に他の命令を詰め込みます。
+.TP
+.B \-fschedule\-insns2
+`\|\c
+.B \-fschedule\-insns\c
+\&\|' と似ていますが、レジスタ割当て処理の後にもう一度命令スケジューリングの
+段階を置きます。これは、比較的レジスタ数が少なく、メモリロード命令
+が 1 サイクルよりも多くを要するマシンにおいて、特に効果的です。
+.SH ターゲットオプション
+デフォルトでは、GNU CC コンパイラは、現在使用しているマシンと同じタイプの
+コードをコンパイルします。しかし、GNU CC はクロスコンパイラ
+としてもインストールすることが可能です。実際には、異なったターゲット
+マシンのための様々なコンフィギュレーションの GNU CC は、同時にいくつ
+もインストールすることが可能です。そこで、どの GNU CC を使用するかを
+指定するために、`\|\c
+.B \-b\c
+\&\|' オプションを使用することができます。
+.PP
+これに加えて、古い、あるいはより新しいバージョンの GNU CC も同時にいく
+つもインストールしていくことができます。これらのうち 1 つ (おそらくもっ
+とも新しいもの) がデフォルトとなります。しかし、ひょっとしたら別のものを使
+いたくなるかもしれません。
+.TP
+.BI "\-b " "machine"
+引数 \c
+.I machine\c
+\& は、コンパイルのターゲットマシンを規定します。これは GNU CC をクロス
+コンパイラとしてインストールした時に有用です。
+.Sp
+.I machine\c
+\& に指定する値は、GNU CC をクロスコンパイラとしてコンフィギュレーション
+した時に与えたマシンタイプと同じです。例えば、80386 上の System V
+で実行されるプログラムのために `\|\c
+.B configure
+i386v\c
+\&\|' というコンフィギュレーションを行なったクロスコンパイラを起動した
+い場合は、`\|\c
+.B \-b i386v\c
+\&\|' と指定します。
+.Sp
+`\|\c
+.B \-b\c
+\&\|' の設定を省略した場合は、通常は使用しているマシンと同タイプのマシン
+のためのコンパイルが行われます。
+.TP
+.BI "\-V " "version"
+引数 \c
+.I version\c
+\& は、起動される GNU CC のバージョンを規定します。これは複数のバージョンが
+インストールされている場合に有用です。例えば、
+.I version\c
+\& が `\|\c
+.B 2.0\c
+\&\|' ならば、GNU CC バージョン 2.0 を起動することを意味します。
+.Sp
+`\|\c
+.B \-V\c
+\&\|' を指定しなかった場合のデフォルトのバージョンは、GNU CC をインストール
+する時に調整可能です。通常は、もっとも一般的な使用に勧めることができる
+バージョンがここに指定されます。
+.SH マシン依存オプション
+それぞれのターゲットマシンタイプは、それぞれの特別なオプションを持つ
+ことが可能です。`\|\c
+.B \-m\c
+\&\|' で始まるオプション群は、様々なハードウェアモデルや
+コンフィギュレーション\(em\&例えば 68010 と 68020、
+浮動小数点コプロセッサの有無\(em\&
+などを選択できます。このオプションを指定することによって、コンパイラは
+どれか 1 つのモデル、
+あるいはコンフィギュレーションに対するコンパイルが可能です。
+.PP
+いくつかのコンフィギュレーションは、通常はそのプラットホーム上の
+他のコンパイラとのコマンドラインに関するの互換性をとるため
+の特別なオプションを用意しています。
+.PP
+以下は 68000 シリーズのために定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-m68000
+.TP
+.B \-mc68000
+68000 のためのコードを生成します。これは 68000 ベースのシステムに対して
+コンフィギュレーションを行なったコンパイラのデフォルトです。
+.TP
+.B \-m68020
+.TP
+.B \-mc68020
+(68000 ではなく) 68020 のためのコードを生成します。これは 68020 ベースの
+システムに対してコンフィギュレーションを行なったコンパイラのデフォルト
+です。
+.TP
+.B \-m68881
+浮動小数点演算のために 68881 命令を含んだ出力を行います。これはほとんどの
+68020 ベースのシステムにおいて、コンパイラのコンフィギュレーション時に
+.B \-nfp
+を指定されなかった場合のデフォルトです。
+.TP
+.B \-m68030
+68030 のためのコードを生成します。これは 68030 ベースのシステムに対して
+コンフィギュレーションを行なったコンパイラのデフォルトです。
+.TP
+.B \-m68040
+68040 のためのコードを生成します。これは 68040 ベースのシステムに対して
+コンフィギュレーションを行なったコンパイラのデフォルトです。
+.TP
+.B \-m68020\-40
+68040 のためのコードを生成しますが、新しい命令を使用しません。この結果とし
+て得られるコードは、68020/68881, 68030, 68040 のいずれのシステムにおいても、
+比較的高い性能を持ちます。
+.TP
+.B \-mfpa
+浮動小数点演算のために Sun FPA 命令を含んだ出力を行います。
+.TP
+.B \-msoft\-float
+浮動小数点演算のためにライブラリを呼び出す出力を行います。
+.I 警告:
+この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシン
+の一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
+ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
+ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
+.TP
+.B \-mshort
+.B int\c
+\& 型を \c
+.B short int\c
+\& 型のように 16 ビット幅とみなします。
+.TP
+.B \-mnobitfield
+ビットフィールド命令を使用しません。`\|\c
+.B \-m68000\c
+\&\|' は暗黙のうちに
+`\|\c
+.B \-mnobitfield\c
+\&\|' を含みます。
+.TP
+.B \-mbitfield
+ビットフィールド命令を使用します。`\|\c
+.B \-m68020\c
+\&\|' は暗黙のうちに
+`\|\c
+.B \-mbitfield\c
+\&\|' を含みます。これは変更されていないソースの場合のデフォルトです。
+.TP
+.B \-mrtd
+固定個数の引数をとる関数に対して、異なった関数呼び出し規約を使用します。
+これは、リターン時に引数をポップする \c
+.B rtd
+命令を利用するものです。これは呼び出し側で引数をポップさせる必要がな
+いために、1 命令を省略することが可能となります。
+.Sp
+この呼び出し規約は通常の Unix で使用されている方式とは互換性がありません。そ
+のため、Unix コンパイラでコンパイルされたライブラリを呼び出す必要があ
+る限りは、使用することはできません。
+.Sp
+さらに、全ての可変引数をとり得る関数 (
+.B printf\c
+を含みます) に対して、関数プロトタイプを用意する必要があります。さもないと、
+これらの関数に対して誤ったコードが生成されます。
+.Sp
+さらに、関数に対して多過ぎる引数をつけて呼び出すコードを書いた場合、こ
+れは深刻な誤ったコードを生成します。(通常は多過ぎる変数は害を及ぼすこと
+なく無視されます。)
+.Sp
+.B rtd\c
+\& 命令は 68010 と 68020 によってサポートされますが、 68000 では使用でき
+ません。
+.PP
+以下は Vax のために定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-munix
+特定のいくつかのジャンプ命令 (\c
+.B aobleq\c
+\& 等)
+を出力しません。これらの命令で長いレンジを使用した場合、
+Vax 用の Unix アセンブラはこれを処理できません。
+.TP
+.B \-mgnu
+これらのジャンプ命令を出力します。アセンブルには GNU アセンブラの使用
+を仮定します。
+.TP
+.B \-mg
+浮動小数点数について、d-フォーマットではなく、g-フォーマットのための
+コードを出力します。
+.PP
+以下は SPARC でサポートされている `\|\c
+.B \-m\c
+\&\|' スイッチです。
+.PP
+.B \-mfpu
+.TP
+.B \-mhard\-float
+浮動小数点命令を含む出力を行います。これはデフォルトです。
+.PP
+.B \-mno\-fpu
+.TP
+.B \-msoft\-float
+浮動小数点の処理のためにライブラリを呼び出す出力を行います。
+.I 警告:
+SPARC 用の GNU 浮動小数点ライブラリは存在しません。
+通常はそのマシンの一般的な C コンパイラの提供するものを使用しますが、
+これは通常の方法ではクロスコンパイルで直接使用することはできません。
+クロスコンパイルを行ないたい場合は、
+自分自身で必要なライブラリ関数を用意する必要があります。
+.Sp
+.B \-msoft\-float
+は呼び出し規約を変更します。したがって、
+.I 全て
+のプログラムをこのオプションでコンパイルしない限り、
+このオプションは意味をなしません。
+.PP
+.B \-mno\-epilogue
+.TP
+.B \-mepilogue
+.B \-mepilogue
+を指定することによって (デフォルト)、コンパイラは関数を抜けるため
+のコードを常に関数の最後に出力します。関数の途中で関数を抜けるコードは全て、
+関数の最後の終了コードへのジャンプとして生成されます。
+.Sp
+.BR \-mno\-epilogue
+を設定することによって、コンパイラは関数から抜けるコードをインライン化
+することを試みます。
+.PP
+.B \-mno\-v8
+.TP
+.B \-mv8
+.TP
+.B \-msparclite
+これらの 3 つのオプションは SPARC アーキテクチャのバリエーションを選択
+するために使用されます。
+.Sp
+デフォルトでは、(Fujitsu SPARClite 用にコンフィギュレーションしない限
+りは) GCC は SPARC アーキテクチャ v7 用のコードを生成します。
+.Sp
+.B \-mv8
+は、SPARC v8 用コードを生成します。v7 コードとの違いは、整数の乗算と整数
+の除算が v7 では存在しないが v8 には存在するという点のみです。
+.Sp
+.B \-msparclite
+は、SPARClite 用のコードを生成します。これは v7 には存在せず SPARClite
+に存在する、整数乗算、整数除算とスキャン (ffs) 命令を追加します。
+.PP
+.B \-mcypress
+.TP
+.B \-msupersparc
+これら 2 つのオプションはコード最適化対象のプロセッサを選択するための
+ものです。
+.Sp
+.B \-mcypress
+を用いると(これがデフォルト)、
+コンパイラは Cypress CY7C602 チップ用にコードを最適化します。
+このチップは SparcStation/SparcServer 3xx シリーズに用いられています。
+このオプションは古い SparcStation 1, 2, IPX などにも適用できます。
+.Sp
+.B \-msupersparc
+を用いると、コンパイラは SuperSparc CPU 用にコードを最適化します。
+このチップは SparcStation 10, 1000, 2000 シリーズに用いられています。
+このオプションを用いると、SPARC v8 の全命令セットを用いるようになります。
+.PP
+以下は Convex のために定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-mc1
+C1 用の出力を行います。これはコンパイラが C1 用にコンフィギュレーション
+を行なわれた時のデフォルトです。
+.TP
+.B \-mc2
+C2 用の出力を行います。これはコンパイラが C2 用にコンフィギュレーション
+を行なわれた時のデフォルトです。
+.TP
+.B \-margcount
+引数列の前に、引数の数をワードに置くコードを生成します。いくつかの可搬性
+のない Convex や Vax のプログラムはこのワードを必要とします。(デバッガは
+不定長引数リストを持つ関数を除いて、このワードを必要としません。これらの
+情報はシンボルテーブルに書かれます。)
+.TP
+.B \-mnoargcount
+引数の数を示すワードを省略します。これは変更されていないソースを使用した
+場合のデフォルトです。
+.PP
+以下は、AMD Am29000 のために定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-mdw
+DW ビットが立っていることを仮定したコードを出力します。これは、ハードウェア
+によってバイト操作やハーフワード操作がサポートされているということを
+意味します。これはデフォルトです。
+.TP
+.B \-mnodw
+DW ビットが立っていないことを仮定したコードを出力します。
+.TP
+.B \-mbw
+システムがバイト操作やハーフワード書き込み操作をサポートしていることを仮定した
+コードを生成します。これはデフォルトです。
+.TP
+.B \-mnbw
+システムがバイト操作やハーフワード書き込み操作をサポートしていないことを仮定し
+たコードを生成します。これは暗黙のうちに `\|\c
+.B \-mnodw\c
+\&\|' を含みます。
+.TP
+.B \-msmall
+スモールメモリモデルを使用します。これは全ての関数のアドレスが単一の
+256KB のセグメント内に入ることと、関数の絶対アドレスが 256K 以下にある
+ことを仮定します。このオプションは \c
+.B call\c
+\& 命令を \c
+.B const\c
+\&, \c
+.B consth\c
+\&, \c
+.B calli\c
+\& シーケンスの代わりに使用することを可能にします。
+.TP
+.B \-mlarge
+.B call\c
+\& 命令が使用できることを仮定しません。これはデフォルトです。
+.TP
+.B \-m29050
+Am29050 用のコードを生成します。
+.TP
+.B \-m29000
+Am29000 用のコードを生成します。これはデフォルトです。
+.TP
+.B \-mkernel\-registers
+.B gr96-gr127\c
+\& レジスタへの参照の代わりに
+.B gr64-gr95\c
+\& を参照するコードを生成します。このオプションは、ユーザのコードか
+ら使用できるグローバルレジスタから区別されたグローバルレジスタの集合
+を利用するカーネルのコードをコンパイルする時に使用できます。
+.Sp
+ただし、このオプションが使用されている時にも `\|\c
+.B \-f\c
+\&\|'
+フラグ中のレジスタ名は通常のユーザモードでの名前を使用します。
+.TP
+.B \-muser\-registers
+通常のグローバルレジスタの集合 \c
+.B gr96-gr127\c
+\& を使用します。これはデフォルトです。
+.TP
+.B \-mstack\-check
+.B _\|_msp_check\c
+\& への呼び出しをそれぞれのスタック調整の後に挿入します。これはしばしば
+カーネルのコードにおいて用いられます。
+.PP
+以下は、Motorola 88K アーキテクチャのために定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-m88000
+m88100 と m88110 の双方で比較的高性能で動作するコードを生成します。
+.TP
+.B \-m88100
+m88100 に最適なコードを生成します。ただし m88110 においても動作します。
+.TP
+.B \-m88110
+m88110 に最適なコードを生成します。
+ただし m88100 においては動作しないかも知れません
+.TP
+.B \-midentify\-revision
+アセンブラ出力中に、ソースファイル名、コンパイラ名とバージョン、
+タイムスタンプ、使用されたコンパイルフラグを記した \c
+.B ident\c
+\& ディレクティブを挿入します。
+.TP
+.B \-mno\-underscores
+シンボル名の最初にアンダースコアキャラクタをつけないアセンブラ出力を生
+成します。デフォルトでは個々の名前に対して、アンダースコアをプレフィック
+スとして使用します。
+.TP
+.B \-mno\-check\-zero\-division
+.TP
+.B \-mcheck\-zero\-division
+初期の 88K のモデルはゼロによる除算の処理に問題を持っていました。特に、そ
+れらの多くにおいてトラップが生じなかったことは問題でした。これ
+らのオプションを使用することによって、ゼロ除算を発見し、例外を知らせる
+コードを埋め込むことを禁止 (あるいは明示的に許可) することができます。全
+ての 88K 用の GCC のコンフィギュレーションは `\|\c
+.B \-mcheck\-zero\-division\c
+\&\|' をデフォルトとして使用しています。
+.TP
+.B \-mocs\-debug\-info
+.TP
+.B \-mno\-ocs\-debug\-info
+88Open Object Compatibility Standard \*(lqOCS\*(rq で定義された
+(それぞれのスタックフレーム中で使用されるレジスタに関する) 付加的なデバッグ
+情報を取り込みます (または省略します)。これらの付加的な情報は GDB によっ
+ては必要とされません。DG/UX, SVr4, Delta 88 SVr3.2 ではデフォルトでこの情
+報を含めます。その他の 88K コンフィギュレーションではデフォルトで省略します。
+.TP
+.B \-mocs\-frame\-position
+.TP
+.B \-mno\-ocs\-frame\-position
+OCS で規定されているように、レジスタの値に対して、スタックフレーム中の
+特定の場所に保存されるという動作を強制します (あるいは要求しません)。
+DG/UX, Delta88 SVr3.2, BCS のコンフィギュレーションでは `\|\c
+.B \-mocs\-frame\-position\c
+\&\|' をデフォルトとして、それ以外の 88k コンフィギュレーションでは `\|\c
+.B \-mno\-ocs\-frame\-position\c
+\&\|' をデフォルトとして使用しています。
+.TP
+.B \-moptimize\-arg\-area
+.TP
+.B \-mno\-optimize\-arg\-area
+関数の引数がどのような方法でスタックフレームに格納されるかを指定します。
+`\|\c
+.B \-moptimize\-arg\-area\c
+\&\|' はスペースを節約しますが、いくつかのデバッガ (GDB は含まれない) を
+クラッシュさせます。`\|\c
+.B \-mno\-optimize\-arg\-area\c
+\&\|' はより標準に従っています。デフォルトでは GCC は引数エリアの最適化
+を行いません。
+.TP
+.BI "\-mshort\-data\-" "num"
+データ参照時に、それらの処理を \c
+.B r0\c
+\& からの相対参照で行なうことによって小さなコードにすることを可能とします。
+これは値のロードを (その他の場合は 2 命令かかるところを) 1 命令で行な
+うことを可能にします。\c
+.I num\c
+\& をこのオプションとともに指定することによって、どのデータ参照が影響
+を受けるかを指定することができます。例えば `\|\c
+.B \-mshort\-data\-512\c
+\&\|' を指定すると、512 バイト以内のディスプレースメントのデータ参照が
+影響を受けることになります。
+`\|\c
+.B \-mshort\-data\-\c
+.I num\c
+\&\c
+\&\|' は \c
+.I num\c
+\& が 64K よりも大きな時は効果を持ちません。
+.PP
+.B \-mserialize-volatile
+.TP
+.B \-mno-serialize-volatile
+volatile なメモリへの参照について、シーケンシャルな整合性を持った
+コードを生成する、あるいは生成しません。
+.Sp
+GNU CC はデフォルトではどのプロセッササブモデルを選んだ場合においても、
+整合性を常に保証します。これがどのように実現されているかは、サブモデルに
+依存しています。
+.Sp
+m88100 プロセッサはメモリ参照の順番を入れ換えないので、常にシーケンシャルな
+整合性は保たれます。もし `\|\c
+.B \-m88100\c
+\&\|' を使用した場合は、GNU CC はシーケンシャルな整合性を保つための特
+別な命令を生成しません。
+.Sp
+m88110 プロセッサにおけるメモリ参照の順番は、必ずしもそれらの要求を行
+なった命令の順番とは一致しません。特に、読み込み命令は、先行する書き込み
+命令よりも先に実行され得ます。このような順番の入れ換えは、マルチプロセッサ時に
+volatile なメモリの参照におけるシーケンシャルな整合性を崩してしまいます。
+`\|\c
+.B \-m88000\c
+\&\|' または `\|\c
+.B \-m88110\c
+\&\|' を指定した場合には、GNU CC は、必要な場合は特別な命令を生成し、
+命令の実行が正しい順番で行なわれることを強制します。
+.Sp
+ここで生成される整合性を保証するための特別な命令はアプリケーションの性
+能に対して影響を及ぼします。もしこの保証無しで問題がないということがわかっ
+ている場合は、`\|\c
+.B \-mno-serialize-volatile\c
+\&\|' を使用することができます。
+.Sp
+`\|\c
+.B \-m88100\c
+\&\|' オプションを使用しているが、m88110 における実行時にシーケンシャルな
+整合性が必要とされる場合は、`\|\c
+.B \-mserialize-volatile\c
+\&\|' を使用するべきです。
+.PP
+.B \-msvr4
+.TP
+.B \-msvr3
+System V release 4 (SVr4) に関連したコンパイラの拡張を有効 (`\|\c
+.B \-msvr4\c
+\&\|') あるいは無効 (`\|\c
+.B \-msvr3\c
+\&\|') にします。これは以下の内容を制御します。
+.TP
+\ \ \ \(bu
+生成するアセンブラの文法の種類 (これは
+`\|\c
+.B \-mversion\-03.00\c
+\&\|' を使用することによって独立に制御できます)。
+.TP
+\ \ \ \(bu
+`\|\c
+.B \-msvr4\c
+\&\|' は C プリプロセッサに対して `\|\c
+.B #pragma weak\c
+\&\|' を理解させます。
+.TP
+\ \ \ \(bu
+`\|\c
+.B \-msvr4\c
+\&\|' は、GCC に SVr4 によって使用されている付加的な宣言ディレクティブ
+を生成させます。
+.PP
+`\|\c
+.B \-msvr3\c
+\&\|' は、SVr4 を除く全ての m88K コンフィギュレーションにおけるデフォ
+ルトです。
+.TP
+.B \-mtrap\-large\-shift
+.TP
+.B \-mhandle\-large\-shift
+31 ビットより大きいビットシフトを検出するコードを埋め込みます。これらの
+オプションを指定することによって、それぞれトラップ、あるいは適切に処理す
+るコードが埋め込まれます。デフォルトでは GCC は大きなビットシフトには
+特別な対策を行いません。
+.TP
+.B \-muse\-div\-instruction
+非常に初期の 88K アーキテクチャのモデルは除算命令を持っていません。従っ
+て、GCC はデフォルトでは除算命令を生成しません。このオプションは除算命令
+が安全に使用できるということを指定します。
+.TP
+.B \-mversion\-03.00
+DG/UX コンフィギュレーションには、2 つの SVr4 の種類があります。このオプション
+は
+.B \-msvr4
+オプションによって hybrid-COFF と real-ELF のどちらが使用されるかを選択します。
+他のコンフィギュレーションはこのオプションを無視します。
+.TP
+.B \-mwarn\-passed\-structs
+関数に対して構造体を渡した場合と、関数が構造体を返した場合に警告します。
+構造体を渡す規約は C 言語の発展の中で変化しており、移植性の問題をしば
+しば生じることになります。デフォルトでは GCC はこの警告を行いません。
+.PP
+以下のオプションは IBM RS6000 のために定義されたものです。
+.PP
+.B \-mfp\-in\-toc
+.TP
+.B \-mno\-fp\-in\-toc
+浮動小数点定数を Table of Contents (TOC) に入れるかどうかを指定します。
+このテーブルは全てのグローバル変数と関数のアドレスを格納します。デフォルト
+では GCC は浮動小数点定数をここに格納します。もし TOC がオーバフロー
+する場合は、`\|\c
+.B \-mno\-fp\-in\-toc\c
+\&\|' を使用することによって TOC のサイズを小さくすることが可能であり、
+オーバーフローを防ぐことができるでしょう。
+.PP
+以下は IBM RT PC 用に定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-min\-line\-mul
+整数の乗算に対してインラインのコード列を生成します。これはデフォルトです。
+.TP
+.B \-mcall\-lib\-mul
+整数の乗算に対して \c
+.B lmul$$\c
+\& を呼び出します。
+.TP
+.B \-mfull\-fp\-blocks
+フルサイズの浮動小数点データブロックを生成します。これは IBM によって推
+奨されている最低限のスクラッチスペースの量を包含します。これはデフォルトです。
+.TP
+.B \-mminimum\-fp\-blocks
+浮動小数点データブロック内に特別なスクラッチスペースを含めません。これに
+よって、より小さなコードが生成されますが、実行は遅くなります。
+なぜならスクラッチスペースが動的に確保されるからです。
+.TP
+.B \-mfp\-arg\-in\-fpregs
+IBM の関数呼び出し規約とは互換性のない呼び出し手順を使用します。
+この規約では浮動小数点引数を浮動小数点レジスタに入れて渡します。
+このオプションを指定すると、\c
+.B varargs.h\c
+\& や \c
+.B stdarg.h\c
+\& で浮動小数点オペランドが使用できなくなることに注意して下さい。
+.TP
+.B \-mfp\-arg\-in\-gregs
+浮動小数点に対して通常の関数呼び出し規約を使用します。これはデフォルトです。
+.TP
+.B \-mhc\-struct\-return
+1 ワードより大きな構造体を返す時に、レジスタではなくメモリを使用して返します。
+これは MetaWare HighC (hc) コンパイラとの互換性を提供します。`\|\c
+.B \-fpcc\-struct\-return\c
+\&\|' を使用することによって Portable C Compiler (pcc) との互換性を得
+ることができます。
+.TP
+.B \-mnohc\-struct\-return
+1 ワードより大きな構造体を返す時に、レジスタによって返される場合があります。
+これはその方が便利であると考えられる時に使用されます。これはデフォルトです。
+IBM が提供するコンパイラとの互換性を得るためには、`\|\c
+.B \-fpcc\-struct\-return\c
+\&\|' と
+`\|\c
+.B \-mhc\-struct\-return\c
+\&\|' の双方を使用します。
+.PP
+以下は MIPS ファミリのために定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.BI "\-mcpu=" "cpu-type"
+命令スケジューリング時に、デフォルトのマシンタイプを
+.I cpu-type
+に仮定します。デフォルトの
+.I cpu-type
+は
+.BR default
+です。この選択はすべてのマシンに対する最長のサイクル数を元にコードを
+生成します。これは、生成されるコードがどの MIPS cpu においても適当な速度
+で処理されるようにするためです。これ以外の
+.I cpu-type
+の選択としては、
+.BR r2000 ,
+.BR r3000 ,
+.BR r4000 ,
+.BR r6000
+があります。特定の
+.I cpu-type
+を選択した場合は、その特定のチップに適したスケジュールが行われます。
+コンパイラは、
+.B \-mips2
+または
+.B \-mips3
+スイッチが使用されていない場合は、MIPS ISA (instruction set
+architecture) のレベル 1 に合致しないコードを生成することはありません。
+.TP
+.B \-mips2
+MIPS ISA のレベル 2 (branch likely 命令, 平方根命令) による命令群
+を出力します。
+.B \-mcpu=r4000
+と
+.B \-mcpu=r6000
+スイッチは、
+.BR \-mips2
+と共に使用される必要があります。
+.TP
+.B \-mips3
+MIPS ISA のレベル 3 (64 ビット命令) を含む命令群を出力します。
+.B \-mcpu=r4000
+スイッチは、
+.BR \-mips2
+と同時に使用する必要があります。
+.TP
+.B \-mint64
+.TP
+.B \-mlong64
+.TP
+.B \-mlonglong128
+これらのオプションは現在動作しません。
+.TP
+.B \-mmips\-as
+MIPS アセンブラのためのコードを生成し、
+.B mips\-tfile
+を起動して通常のデバッグ情報を追加します。
+これは OSF/1 リファレンスプラットフォーム
+以外の全てのプラットフォームにおけるデフォルトです。
+OSF/1 リファレンスプラットフォームは OSF/rose オブジェクトフォーマットを
+使用します。スイッチ
+.BR \-ggdb ,
+.BR \-gstabs ,
+.B \-gstabs+
+のうちのどれかが使用されている場合は、
+.B mips\-tfile
+プログラムは、stabs を MIPS ECOFF 中にカプセル化します。
+.TP
+.B \-mgas
+GNU アセンブラ用のコードを生成します。これは OSF/1 リファレンスプラットフォーム
+におけるデフォルトです。OSF/1 リファレンスプラットフォームは
+OSF/rose オブジェクトフォーマットを使用します。
+.TP
+.B \-mrnames
+.TP
+.B \-mno\-rnames
+.B \-mrnames
+スイッチは出力コードにおいて、レジスタの名前として、ハードウェア名の代
+わりに MIPS ソフトウェア名を使用することを指定します。(つまり、
+.B a0
+を
+.BR $4
+の代わりに使用します)。
+GNU アセンブラは
+.B \-mrnames
+スイッチをサポートしません。MIPS アセンブラはソースファイルに対して MIPS
+C プリプロセッサを起動するでしょう。
+.B \-mno\-rnames
+スイッチがデフォルトです。
+.TP
+.B \-mgpopt
+.TP
+.B \-mno\-gpopt
+.B \-mgpopt
+スイッチは、全てのデータ宣言をテキストセクション中の全命令の前に書き出
+すことを指定します。これによって、全ての MIPS アセンブラは、
+ショートグローバル、あるいは静的なデータアイテムに対して、2 ワードではなく、1 ワードのメモリ参照命令を生成します。
+これは最適化が指定された場合のデフォルトです。
+.TP
+.B \-mstats
+.TP
+.B \-mno\-stats
+.B \-mstats
+が指定された場合は、コンパイラによってインラインでない関数が処理される
+ごとに、標準エラー出力ファイルに対して、そのプログラムに対する統計情報
+を示す 1 行のメッセージを出力します。このメッセージは、保存したレジスタ
+の数、スタックのサイズなどを示します。
+.TP
+.B \-mmemcpy
+.TP
+.B \-mno\-memcpy
+.B \-mmemcpy
+スイッチは、全てのブロック転送に対して、インラインコードを生成する代わ
+りに、適切なストリング関数
+.RB ( memcpy
+または
+.BR bcopy )
+を呼び出すコードを生成します。
+.TP
+.B \-mmips\-tfile
+.TP
+.B \-mno\-mips\-tfile
+.B \-mno\-mips\-tfile
+スイッチを指定すると、
+MIPS アセンブラがデバッグサポートのために生成したオブジェクトファイルに対し、
+.B mips\-tfile
+を使用した後処理を行いません。
+.B mips\-tfile
+が実行されないと、デバッガからはローカル変数を扱うことができません。
+さらに、
+.B stage2
+と
+.B stage3
+のオブジェクトはアセンブラに渡される一時的なファイル名をオブジェクトファイル
+中に埋め込まれて持っており、このためそれらを比較した場合に同一のも
+のとはみなされません。
+.TP
+.B \-msoft\-float
+浮動小数点演算のためにライブラリを呼び出す出力を行います。
+.I 警告:
+この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの
+一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
+ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
+ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
+.TP
+.B \-mhard\-float
+浮動小数点命令を含んだ出力を生成します。これは変更されないソースを使用し
+た場合のデフォルトです。
+.TP
+.B \-mfp64
+ステータスワード中の
+.B FR
+ビットが立っていることを仮定します。これは 32 個の 32 ビット浮動小数点
+レジスタの代わりに、32 個の 64 ビットの浮動小数点レジスタが存在するとい
+うことを示します。この場合は、同時に
+.B \-mcpu=r4000
+と
+.B \-mips3
+スイッチを指定する必要があります。
+.TP
+.B \-mfp32
+32 個の 32 ビット浮動小数点レジスタが存在するということを仮定します。こ
+れはデフォルトです。
+.PP
+.B \-mabicalls
+.TP
+.B \-mno\-abicalls
+いくつかの System V.4 の移植が位置独立コードのために使用する疑似命令
+.BR \&.abicalls ,
+.BR \&.cpload ,
+.B \&.cprestore
+を出力する、あるいは出力しません。
+.TP
+.B \-mhalf\-pic
+.TP
+.B \-mno\-half\-pic
+.B \-mhalf\-pic
+スイッチは、テキストセクション中に参照を配置する代わりに、外部参照を行
+なうポインタをデータセクションに配置し、それをロードする動作を指定します。
+このオプションは現在まだ動作しません。
+.B
+.BI \-G num
+は
+.I num
+バイト以下のグローバル、あるいは静的なアイテムを、通常のデータや bss
+セクションではなく、小さなデータ、または bss セクションに配置することを
+指定します。
+これによりアセンブラは、通常では 2 ワードの参照を行うところを、
+グローバルポインタ
+.RB ( gp
+または
+.BR $28 )
+を基準とした 1 ワードのメモリ参照命令を生成可能となります。
+デフォルトでは MIPS アセンブラが使用される場合、
+.I num
+は 8 です。また、GNU アセンブラが使用される場合のデフォルトは 0 です。
+.BI \-G num
+スイッチはアセンブラ、リンカにも同様に渡されます。全てのモジュールは同一の
+.BI \-G num
+の値でコンパイルされなければなりません。
+.TP
+.B \-nocpp
+MIPS アセンブラに、ユーザアセンブラファイル (`\|\c
+.B .s\c
+\&\|' 拡張子を持ちます) に対するアセンブル時のプリプロセッサの起動を抑制さ
+せます。
+.PP
+以下は、Intel 80386 ファミリ用に定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-m486
+.TP
+.B \-mno\-486
+386 ではなく 486 に最適化されたコードを出力する、あるいはその逆を行な
+う指定を行います。486 用に生成されたコードは 386 で実行可能であり、逆も
+また可能です。
+.TP
+.B \-msoft\-float
+浮動小数点演算のためにライブラリを呼び出す出力を行います。
+.I 警告:
+この必須のライブラリは GNU CC の一部としては含まれません。通常はそのマシンの
+一般的な C コンパイラの提供するものを使用しますが、これは通常の方法
+ではクロスコンパイルで直接使用することはできません。クロスコンパイルを行
+ないたい場合は、自分自身で必要なライブラリ関数を用意する必要があります。
+.Sp
+関数が浮動小数点数を返す時に 80387 レジスタスタックを使用するマシンに
+おいては、`\|\c
+.B \-msoft-float\c
+\&\|' を使用した場合でも、いくつかの浮動小数点命令が生成されます。
+.TP
+.B \-mno-fp-ret-in-387
+関数からの返り値に FPU のレジスタを使用しません。
+.Sp
+通常の関数呼び出し規約は、たとえ FPU が存在しなくても
+.B float\c
+\& と \c
+.B double\c
+\& の結果を FPU レジスタに入れて返します。したがってこの場合、
+オペレーティングシステムは FPU をエミュレートしなければなりません。
+.Sp
+`\|\c
+.B \-mno-fp-ret-in-387\c
+\&\|' オプションを指定すると、浮動小数点数も通常の CPU レジスタに入れ
+て返されます。
+.TP
+.B \-mprofiler-epilogue
+.TP
+.B \-mno-profiler-epilogue
+関数から抜けるコードにてプロファイル情報を書き出す追加コードを生成します。
+.PP
+以下は HPPA ファミリ用に定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-mpa-risc-1-0
+PA 1.0 プロセッサ用のコードを出力します。
+.TP
+.B \-mpa-risc-1-1
+PA 1.1 プロセッサ用のコードを出力します。
+.TP
+.B \-mkernel
+カーネルに適したコードを生成します。特に、引数の 1 つとして DP レジスタを
+とる
+.B add\c
+\& 命令の使用を抑制し、その代わりに、\c
+.B addil\c
+\& 命令を生成します。これは HP-UX リンカの深刻なバグを避けるための措置です。
+.TP
+.B \-mshared-libs
+HP-UX 共有ライブラリとリンクさせるコードを生成します。このオプションはま
+だ完全に動作しているわけではなく、どの PA ターゲットにおいてもデフォルト
+になっていません。このオプションを指定すると、コンパイラは誤ったコード
+を出力し得ます。
+.TP
+.B \-mno-shared-libs
+共有ライブラリとリンクしないコードを生成します。これは全ての PA ターゲット
+においてデフォルトのオプションです。
+.TP
+.B \-mlong-calls
+関数の呼び出し先と呼び出し元が同一ファイルに含まれた場合、呼び出し時の
+距離が 256K を越える場合でも動作するようなコードを出力します。
+このオプションは、リンカから \*(lqbranch out of range errors\*(rq で
+リンクを拒否された時以外には使用しないようにしてください。
+.TP
+.B \-mdisable-fpregs
+いかなる形においても、浮動小数点レジスタの使用を禁止します。
+これは浮動小数点レジスタに配慮しないコンテキストスイッチを行なう
+カーネルに対して有効です。
+このオプションを使用して、浮動小数点処理を行なおうとすると、
+コンパイラはアボートします。
+.TP
+.B \-mdisable-indexing
+コンパイラに対して、indexing addressing mode を使用しないように指定します。
+これによって MACH において MIG によって生成されたコードをコンパイルす
+る際の、あまり重要でないいくつかの問題を防ぐことができます。
+.TP
+.B \-mtrailing-colon
+ラベル定義の後にコロンを加えます (ELF アセンブラ用)。
+.PP
+以下は、Intel 80960 ファミリ用に定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.BI "\-m" "cpu-type"
+デフォルトのマシンタイプを
+.I cpu-type
+に仮定します。これは生成する命令とアドレッシングモード、そしてアラインメントに
+関係します。
+デフォルトの
+.I cpu-type
+は
+.BR kb
+です。その他の選択としては
+.BR ka ,
+.BR mc ,
+.BR ca ,
+.BR cf ,
+.BR sa ,
+.BR sb
+があります。
+.TP
+.B \-mnumerics
+.TP
+.B \-msoft\-float
+.B \-mnumerics
+オプションはプロセッサが浮動小数点命令をサポートすることを示します。
+.B \-msoft\-float
+オプションは浮動小数点サポートを仮定しないことを示します。
+.TP
+.B \-mleaf\-procedures
+.TP
+.B \-mno\-leaf\-procedures
+葉に位置する手続きについて、
+.IR call
+命令と同様に
+.I bal
+命令でも呼び出すことを可能とします (あるいは、しません)。これは
+.I bal
+命令がアセンブラ、またはリンカによって置き換えられ得る場合には、直接呼
+び出しに対して効率の良いコードを得ることができます。ただし、それ以外の場
+合は効率の良くないコードを生成します。例えば、関数へのポインタ経由の呼び
+出しや、この最適化をサポートしないリンカを使用した場合などがこれ
+に該当します。
+.TP
+.B \-mtail\-call
+.TP
+.B \-mno\-tail\-call
+(マシン非依存の部分を越えて) 末尾再帰を分岐に変換する処理に関するさ
+らなる最適化を行います(または行いません)。
+この手法の適用が正当でないということに関する判断
+が完全ではないので、まだこのオプションを使用することは適当でないかも
+しれません。デフォルトは
+.BR \-mno\-tail\-call
+です。
+.TP
+.B \-mcomplex\-addr
+.TP
+.B \-mno\-complex\-addr
+この i960 の実装では複雑なアドレッシングモードの使用が優位であると仮定
+します (あるいは仮定しません)。複雑なアドレッシングモードは K-シリーズでは
+使用する価値は無いかも知れませんが、
+C-シリーズでは確かに使用する価値があります。
+現在は
+.B \-mcomplex\-addr
+が、CB と CC を除く全てのプロセッサにおけるデフォルトです。
+.TP
+.B \-mcode\-align
+.TP
+.B \-mno\-code\-align
+より高速なフェッチのためにコードを 8 バイトにアラインします (または何も
+しません)。現在では C シリーズの実装においてのみデフォルトで有効にしています。
+.TP
+.B \-mic\-compat
+.TP
+.B \-mic2.0\-compat
+.TP
+.B \-mic3.0\-compat
+iC960 v2.0 または v3.0 との互換性を持たせます。
+.TP
+.B \-masm\-compat
+.TP
+.B \-mintel\-asm
+iC960 アセンブラとの互換性を持たせます。
+.TP
+.B \-mstrict\-align
+.TP
+.B \-mno\-strict\-align
+アラインされないアクセスを許可しません (あるいは許可します)。
+.TP
+.B \-mold\-align
+Intel による gcc リリースバージョン 1.3 (gcc 1.37 ベース) との構造体の
+アラインメントに関する互換性を持たせます。現在は、
+.B #pragma align 1
+が同時に仮定されてしまい、無効化できないというバグを持っています。
+.PP
+以下は、DEC Alpha 用に定義された `\|\c
+.B \-m\c
+\&\|' オプションです。
+.TP
+.B \-mno-soft-float
+.TP
+.B \-msoft-float
+浮動小数点操作に対して、ハードウェアによる浮動小数点命令を使用します (し
+ません)。もし、\c
+.B \-msoft-float\c
+\& が指定された場合は、`\|\c
+.B libgcc1.c\c
+\&\|' 内の関数が浮動小数点演算に使用されます。ただし、これらのルーチンが
+浮動小数点演算をエミュレートするルーチンによって置き換えられているか、
+そのようなエミュレーションルーチンを呼び出すようにコンパイルされている
+のでない限り、これらのルーチンは浮動小数点演算を行なってしまいます。浮動小
+数点演算のない Alpha のためのコンパイルを行なうためには、ライブラリも
+これらを呼び出さないようにコンパイルされていなければなりません。
+.Sp
+浮動小数点演算のない Alpha の実装は、浮動小数点レジスタを必要とすると
+いうことに注意して下さい。
+.TP
+.B \-mfp-reg
+.TP
+.B \-mno-fp-regs
+浮動小数点レジスタセットを使用する (使用しない)コードを生成します。
+.B \-mno-fp-regs\c
+\& は暗黙のうちに \c
+.B \-msoft-float\c
+\& を含みます。浮動小数点レジスタセットが使用されない場合は、浮動小数点
+オペランドは整数レジスタに入れられて渡され、浮動小数点数の結果は $f0 では
+なく $0 に入れて返されます。これは非標準の関数呼び出し手順であり、
+浮動小数点数の引数や返り値を持つ関数で、\c
+.B \-mno-fp-regs\c
+\& をつけてコンパイルされたコードから呼び出される関数はすべてこのオプションを
+つけてコンパイルされている必要があります。
+.Sp
+このオプションの典型的な用法は、浮動小数点レジスタを使用せず、したがっ
+て浮動小数点レジスタへのセーブもリストアも必要のないカーネルを構築する
+時などがあるでしょう。
+.PP
+ここに追加するオプションは System V Release 4 において、これらのシステム上の
+他のコンパイラとの互換性のために提供されるものです。
+.TP
+.B \-G
+SVr4 システムにおいて、\c
+.B gcc\c
+\& は `\|\c
+.B \-G\c
+\&\|' オプションを受け付けます (そして
+これをシステムリンカに渡します)。これは他のコンパイラとの互換性のためです。
+しかし、リンカオプションを \c
+.B gcc
+のコマンドラインから渡すよりも、我々は `\|\c
+.B \-symbolic\c
+\&\|' または `\|\c
+.B \-shared\c
+\&\|' の使用が適当であると考えています。
+.TP
+.B \-Qy
+コンパイラが使用したそれぞれのツールのバージョンを
+.B .ident\c
+\& アセンブラディレクティブを使用して、出力で明示します。
+.TP
+.B \-Qn
+.B .ident\c
+\& ディレクティブを出力に加えることを抑制します (これは
+デフォルトです)。
+.TP
+.BI "\-YP," "dirs"
+`\|\c
+.B \-l\c
+\&\|' で指定されたライブラリに対して、
+.I dirs\c
+で規定されたディレクトリのみを検索し、他は検索しません。
+.I dirs\c
+\& 中は、1 つのコロンで区切ることにより、
+複数のディレクトリエントリを記述します。
+.TP
+.BI "\-Ym," "dir"
+M4 プリプロセッサを \c
+.I dir\c
+\& に検索します。アセンブラがこのオプションを使用します。
+.SH コード生成オプション
+これらのマシン独立オプションは、
+コード生成にて使用されるインタフェース規約を制御します。
+.PP
+これらのほとんどは `\|\c
+\-f\c
+\&\|' で始まります。これらのオプションは有効形式と無効形式の 2 つの形式を持っ
+ています。`\|\c
+.B \-ffoo\c
+\&\|' の無効形式は `\|\c
+.B \-fno\-foo\c
+\&\|' です。以下に挙げる表においては、このうち、デフォルトではない片
+方のみが挙げられています。`\|\c
+.B no\-\c
+\&\|' を追加するか、削除するかによって双方の形式を得ることができます。
+.TP
+.B \-fnonnull\-objects
+参照型によって参照されるオブジェクトはヌルでないと仮定します (C++ のみ)。
+.Sp
+通常は GNU C++ は参照型によって参照されるオブジェクトに関しては保守的
+な仮定を行います。例えば、コンパイラは \c
+.B a
+が以下のコードにおいてヌルでないことをチェックする必要があります。
+.Sp
+obj &a = g ();
+a.f (2);
+.Sp
+この種の参照がヌルでないことのチェックは、特別なコードを必要とします。
+しかし、これは多くのプログラムにとって無用なものです。
+このヌルに対するチェックを必要のない場合 `\|\c
+.B \-fnonnull-objects\c
+\&\|' を使用することにより、省略することができます。
+.TP
+.B \-fpcc\-struct\-return
+.B struct\c
+\& と \c
+.B union
+の値を返す場合に、普通の C コンパイラが行なうのと同じ規約を使用します。
+この規約は小規模な構造体に対して非効率なものとなり、また多くのマシンでその
+関数を再入不可能としてしまいます。しかしこれは、GCC でコンパイルされたコード
+と PCC でコンパイルされたコードを相互に呼び出すことを可能とするとい
+う利点を持ちます。
+.TP
+.B \-freg\-struct\-return
+.B struct
+と
+.B union
+の値を返す場合に、可能な場合はレジスタを使用する規約を使用します。これは
+.BR \-fpcc\-struct\-return
+を使用した場合と比較して、小さな構造体を返す場合に高い性能を発揮します。
+.Sp
+.B \-fpcc\-struct\-return
+と
+.BR \-freg\-struct\-return
+のどちらも使用しなかった場合には、GNU CC は各ターゲットに対して標準で
+あると考えられる規約をデフォルトとして使用します。
+もし標準規約がなかった場合は、
+.BR \-fpcc\-struct\-return
+をデフォルトとして使用します。
+.TP
+.B \-fshort\-enums
+.B enum\c
+\& 型に対して、ちょうど取り得る値の範囲に応じたバイト数の型を与えます。
+具体的には、\c
+.B enum\c
+\& 型は、その値域を格納するに十分な最小の整数型と等価になります。
+.TP
+.B \-fshort\-double
+.B double
+を
+.B float
+\& と同サイズにします。
+.TP
+.B \-fshared\-data
+データと非 \c
+.B const\c
+\& 変数を、プライベートなデータではなく、共有データとしてコンパイルします。
+このオプションは、走行中の同じプログラム間は共有データが共有され、
+プライベートデータがそれぞれのプロセスに 1 つずつ与えられるような一部
+のオペレーティングシステムで意味を持ちます。
+.TP
+.B \-fno\-common
+bss セクション中の初期化されていないグローバル変数に対してでも、共通ブロック
+に生成するのではなく、領域を割り当てます。このオプションは、(\c
+.B extern\c
+\& をつけずに) 同一の変数を宣言した 2 つのコンパイルに対して、リンク時
+にエラーを発生するという効果があります。このオプションは、常にこのような動
+作を行なうシステムにおいても、プログラムが正常に動作するかどうかを検査
+する場合にのみ有用です。
+.TP
+.B \-fno\-ident
+`\|\c
+.B #ident\c
+\&\|' ディレクティブを無視します。
+.TP
+.B \-fno\-gnu\-linker
+(C++ のコンストラクタとデストラクタのような) グローバルな初期化のコードを
+(GNU リンカがこれらを扱う標準のシステムであるようなシステムにおいて)
+GNU リンカで使用される形式で出力しません。これは GNU リンカではない
+リンカを使用する場合に指定します。この場合、
+.B collect2\c
+\& を使用して、確実にシステムリンカにコンストラクタとデストラクタを含
+んだコードを出力させる必要があります。(\c
+.B collect2\c
+\& は GNU CC
+のディストリビューションに含まれます。) \c
+.B collect2 \c
+を\c
+.I 必ず使用しなければならない\c
+\& システムにおいては、
+コンパイラドライバ \c
+.B gcc\c
+\& は自動的にそのようにコンフィギュレーションされます。
+.TP
+.B \-finhibit-size-directive
+.B .size\c
+アセンブラディレクティブなど、関数が途中で分割され、メモリ上の異なった
+位置にそれぞれの部分が配置されるような場合に不都合が生じるような要素を
+出力しません。このオプションは `\|\c
+.B crtstuff.c\c
+\&\|' をコンパイルする時に使用されます。それ以外の場所ではこれを使用する
+必要はありません。
+.TP
+.B \-fverbose-asm
+出力のアセンブラ中に特別なコメント情報を追加し、可読性を高めます。この
+オプションは一般的には、出力のアセンブラコードを本当に読みたい場合 (例え
+ばコンパイラ自身をデバッグしているような場合) にのみ効果があります。
+.TP
+.B \-fvolatile
+ポインタによるメモリの参照を全て volatile として扱います。
+.TP
+.B \-fvolatile\-global
+外部変数やグローバルデータアイテムへのメモリ参照を全て volatile として
+扱います。
+.TP
+.B \-fpic
+このオプションがターゲットマシンでサポートされていれば、位置独立なコードを
+出力します。このオプションは共有ライブラリでの使用に適します。
+.TP
+.B \-fPIC
+このオプションがターゲットマシンでサポートされていれば、位置独立なコードを
+出力します。このオプションはダイナミックリンクに適しており、分岐にお
+いて大きなディスプレースメントを要求する場合にも適応します。
+.TP
+.BI "\-ffixed\-" "reg"
+名前が \c
+.I reg\c
+\& のレジスタを固定レジスタとして扱います。生成されたコードはこのレジスタ
+を参照しません (ただし、スタックポインタ、フレームポインタ、その他固定用
+途の場合を除きます)。
+.Sp
+.I reg\c
+\& はレジスタ名でなければなりません。受け付けられるレジスタ名はマシン固
+有であり、マシン記述マクロファイル内の \c
+.B REGISTER_NAMES
+マクロに記述されたものです。
+.Sp
+このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
+あるからです。
+.TP
+.BI "\-fcall\-used\-" "reg"
+名前が \c
+.I reg\c
+\& のレジスタを、関数呼び出しによって破壊される割り当て可能のレジスタ
+として取り扱います。これは、関数呼び出しを跨いで存在しない一時領域や変数
+として割り当ることができます。この指定でコンパイルされた関数は、レジスタ \c
+.I reg\c
+\& の保存や復帰を行いません。
+.Sp
+このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って
+いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する
+ことは、破滅的な結果を生みます。
+.Sp
+このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
+あるからです。
+.TP
+.BI "\-fcall\-saved\-" "reg"
+名前が \c
+.I reg\c
+\& のレジスタを、関数によって保存される割り当て可能なレジスタとして取
+り扱います。これは、関数呼び出しを跨いで存在する一時領域や変数としても割り
+当てることができます。この指定でコンパイルされた関数は、レジスタ \c
+.I reg\c
+\& を使用する場合、その保存と復帰を行います。
+.Sp
+このフラグをマシンの実行モデルにおいて、ある固定的で特殊な役割を持って
+いるレジスタ、例えばスタックポインタやフレームポインタに対して適用する
+ことは、破滅的な結果を生みます。
+.Sp
+また、このフラグを関数の返り値が格納されるレジスタに使用すると、これも
+破滅的な結果を生みます。
+.Sp
+このフラグは無効形式を持ちません。なぜなら、これは 3 通りの指定が可能で
+あるからです。
+.SH プラグマ
+2 つの `\|\c
+.B #pragma\c
+\&\|' ディレクティブ(指令)が GNU C++ によってサポートされています。これは、1
+つのヘッダファイルを 2 つの目的、つまりあるオブジェクトクラスのための
+インタフェースの定義としての目的と、オブジェクトクラスに含まれる内容
+の完全な定義としての目的の、両方の目的で使用するためのものです。
+.TP
+.B #pragma interface
+(C++ のみ)
+このディレクティブを、オブジェクトクラスを定義しているヘッダファイル中
+に使用することによって、それらのクラスを使用するほとんどのオブジェクト
+ファイルの大きさを減少させることができます。通常は、
+特定の情報 (インラインメンバ関数のバックアップコピー、デバッグ情報、
+仮想関数実現のための内部テーブル) の複製がそのクラス定義をインクルードした
+それぞれのオブジェクトファイル中に置かれます。
+このプラグマを使用することによって、このような複製を防ぐことが
+可能となります。`\|\c
+.B #pragma interface\c
+\&\|' を含んだヘッダファイルをインクルードした場合は、これらの追加情報
+は生成されません (ただし、メインの入力ソースファイル自身が `\|\c
+.B #pragma implementation\c
+\&\|' を含んでいる場合を除きます)。そのかわり、オブジェクトファイルは
+リンク時に解決される参照を含むことになります。
+.TP
+.B #pragma implementation
+.TP
+\fB#pragma implementation "\fP\fIobjects\fP\fB.h"\fP
+(C++ のみ)
+インクルードされたヘッダファイルによる完全な出力を生成させたい (またそ
+れをグローバルに可視化したい) 場合には、メインの入力ファイル中でこの
+プラグマを使用します。この場合、インクルードされるヘッダファイルは、`\|\c
+.B #pragma interface\c
+\&\|' を使用していなければなりません。インライン関数のバックアップ情報、
+デバッグ情報、仮想関数実現用の内部テーブルは、全てインプリメンテーション
+ファイル中に生成されます。
+.Sp
+`\|\c
+.B #pragma implementation\c
+\&\|' を、引数をつけずに使用した場合は、これはそのソースファイルと同じ
+ベースネーム(basename)を持つファイルに対して適用されます。例えば、`\|\c
+.B allclass.cc\c
+\&\|' 中の `\|\c
+.B #pragma implementation\c
+\&\|' は、`\|\c
+.B #pragma implementation \*(lqallclass.h\*(rq \c
+\&\|' と等価です。もし複数のヘッダファイルに対して、
+1 つのインプリメンテーションファイルを対応させたい場合は、
+文字列の引数を使用する必要があります。
+.Sp
+1 つのヘッダファイルに対して、複数のインプリメンテーションファイルを対
+応させる方法はありません。
+.SH 関連ファイル
+.nf
+.ta \w'LIBDIR/g++\-include 'u
+file.c C 言語ソースファイル
+file.h C 言語ヘッダ (プリプロセッサ) ファイル
+file.i プリプロセス済みの C 言語ソースファイル
+file.C C++ ソースファイル
+file.cc C++ ソースファイル
+file.cxx C++ ソースファイル
+file.m Objective-C ソースファイル
+file.s アセンブリ言語ファイル
+file.o オブジェクトファイル
+a.out リンクエディット済みの出力
+\fITMPDIR\fR/cc\(** 一時ファイル群
+\fILIBDIR\fR/cpp プリプロセッサ
+\fILIBDIR\fR/cc1 C 言語コンパイラ
+\fILIBDIR\fR/cc1plus C++ コンパイラ
+\fILIBDIR\fR/collect いくつかのマシンで必要となるリンカのフロントエンド
+\fILIBDIR\fR/libgcc.a GCC サブルーチンライブラリ
+/lib/crt[01n].o スタートアップルーチン
+\fILIBDIR\fR/ccrt0 C++ 用の付加的なスタートアップルーチン
+/lib/libc.a 標準ライブラリ、\c
+.IR intro (3) \c
+を参照
+/usr/include \fB#include\fP ファイルのための標準ディレクトリ
+\fILIBDIR\fR/include \fB#include\fP ファイルのための GCC 標準ディレクトリ
+\fILIBDIR\fR/g++\-include \fB#include\fP ファイルのための付加的な g++ ディレクトリ
+.Sp
+.fi
+.I LIBDIR
+は通常
+.B /usr/local/lib/\c
+.IR machine / version
+の形式を持ちます
+.br
+.I TMPDIR
+は環境変数
+.B TMPDIR
+(もし使用可能ならば
+.B /usr/tmp
+を、そうでなければ
+.B /tmp\c
+\& を使用します) からとられます。
+.SH "関連項目"
+cpp(1), as(1), ld(1), gdb(1).
+.br
+.B info \c
+中の
+.RB "`\|" gcc "\|', `\|" cpp \|',
+.RB "`\|" as "\|', `\|" ld \|',
+.RB `\| gdb \|'
+\& エントリ
+.br
+.I
+Using and Porting GNU CC (for version 2.0)\c
+, Richard M. Stallman;
+.I
+The C Preprocessor\c
+, Richard M. Stallman;
+.I
+Debugging with GDB: the GNU Source-Level Debugger\c
+, Richard M. Stallman and Roland H. Pesch;
+.I
+Using as: the GNU Assembler\c
+, Dean Elsner, Jay Fenlason & friends;
+.I
+ld: the GNU linker\c
+, Steve Chamberlain and Roland Pesch.
+.SH バグ
+バグを報告する方法については、GCC マニュアルを参照してください。
+.SH COPYING
+Copyright
+.if t \(co
+1991, 1992, 1993 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+.SH 作者
+GNU CC に対して貢献した人々に関しては、GNU CC マニュアルを参照してください。
+.SH 日本語訳
+細川 達己(hosokawa@mt.cs.keio.ac.jp): NetBSD 用に翻訳
+.br
+sakai@csl.cl.nec.co.jp,
+h-nokubi@nmit.mt.nec.co.jp,
+.br
+kumano@strl.nhk.or.jp,
+horikawa@isrd.hitachi.co.jp: FreeBSD 向けに修正, 査閲
diff --git a/ja/man/man1/gcore.1 b/ja/man/man1/gcore.1
new file mode 100644
index 0000000000..22cd9fce79
--- /dev/null
+++ b/ja/man/man1/gcore.1
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1983, 1990, 1992, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)gcore.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: gcore.1,v 1.3 1997/08/20 12:27:20 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt GCORE 1
+.Os BSD 4.2
+.Sh 名称
+.Nm gcore
+.Nd 実行中のプロセスのコアイメージを取得する
+.Sh 書式
+.Nm gcore
+.Op Fl s
+.Op Fl c Ar core
+.Ar exec pid
+.Sh 解説
+.Nm gcore
+は指定したプロセスのコアイメージを生成します。
+このコアイメージは
+.Xr gdb 1
+で用いるのに適したものです。
+デフォルトでは、コアはファイル
+.Dq Pa core.<pid>
+に書き出されます。
+実行可能イメージ
+.Ar exec
+とプロセス ID
+.Ar pid
+の両方をコマンドラインで指定しなければなりません。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width indent
+.It Fl c
+コアファイルを
+.Dq Pa core.<pid>
+ではなく、指定したファイルに書き出します。
+.It Fl s
+コアイメージを集める間プロセスを停止し、
+集め終わったらプロセスを再開させます。
+これにより、生成されたコアダンプが一貫性のとれた状態になっていることを
+保証できます。
+プロセスはたとえ既に停止していても、再開されます。
+同じ効果は
+.Xr kill 1
+を用いて手動で行うことも可能です。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /var/log/messages -compact
+.It Pa core.<pid>
+コアイメージ
+.EL
+.Dp
+.Sh 歴史
+.Nm gcore
+は
+.Bx 4.2
+から登場しました。
+.Sh バグ
+.Nm gcore
+動作中にコンテキスト切り替えやページング動作が発生すると混乱します。
+最善の結果を得るには、-s を用いて目的プロセスを一時停止させて下さい。
+.Pp
+.Nm gcore
+はオリジナルの
+.Bx 4.2
+バージョンと互換ではありません。特に
+.Bx 4.4
+では
+.Ar exec
+引数が必要です。
diff --git a/ja/man/man1/gctags.1 b/ja/man/man1/gctags.1
new file mode 100644
index 0000000000..4632f433f6
--- /dev/null
+++ b/ja/man/man1/gctags.1
@@ -0,0 +1,222 @@
+.\" Copyright (c) 1987, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)gctags.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: gctags.1,v 1.3 1997/08/31 14:13:32 horikawa Stab %
+.\"
+.\" gctags.1 修正時には ctags.1 も同様に修正して下さい。
+.\" Aug 31 1997 <horikawa@jp.freebsd.org>
+.Dd Apr 21, 1997
+.Dt GCTAGS 1
+.Os BSD 4
+.Sh 名称
+.Nm gctags
+.Nd タグファイルを作成する (GLOBAL 用の特別なコマンド)
+.Sh 書式
+.Nm gctags
+.Op Fl BDFadertuwvx
+.Op Fl f Ar tagsfile
+.Ar name ...
+.Sh 解説
+.Nm
+は、指定された C, Pascal, Fortran,
+.Tn YACC ,
+lex, lisp のソースから、
+.Xr ex 1
+コマンド用のタグファイルを作成します。
+タグファイルは、指定されたオブジェクトが一群のファイル中の
+どの場所にあるかを示すものです。
+タグファイルの各行はオブジェクトの名前、定義されているファイル、
+オブジェクトの定義を見つけるための検索パターンを含み、
+各々は空白で区切られています。
+この
+.Ar tags
+ファイルを用いることにより、
+.Xr ex 1
+でこれらのオブジェクトが定義されている場所をすばやく見つけることが
+できます。
+.Nm
+に与えられるオプションによりますが、オブジェクトは
+subroutine 、 typedef 、 define 、 struct 、 enum 、 union から
+構成されます。
+.Bl -tag -width Ds
+.It Fl B
+後方検索パターン
+.Pq Li ?...?
+を用います。
+.It Fl D
+同じオブジェクトの名前が複数回出てくるのを許可します。
+.It Fl F
+前方検索パターン
+.Pq Li /.../
+を用います(デフォルト)。
+.It Fl a
+既存の
+.Ar tags
+ファイルに追加します。
+.It Fl d
+引数を持たない
+.Li #define
+に関してもタグを作成します。引数を持つ
+.Li #define
+は自動的にタグが作成されます。
+.It Fl e
+一桁目に '}' が出てきたときに、強制的に関数の終わりと判断します
+( C 言語のみ ) 。
+.It Fl f Ar tagsfile
+.Ar tagsfile
+で指定されたファイル名でタグファイルを生成します。
+デフォルトでは
+.Ar tags
+というファイル名でタグファイルを生成します。
+.It Fl r
+関数定義ではなく関数参照の位置を提供します。
+カレントディレクトリに GTAGS ファイルが必要となります
+( C 言語のみ ) 。
+.It Fl t
+typedef, struct, union, enum 宣言のタグを生成します。
+.It Fl u
+.Ar tags
+ファイル内の指定されたファイルに関する情報を更新します。
+すなわち、関係するファイルへのすべての参照が削除され、新しいタグ情報が
+ファイルに追加されます。
+(注意: このオプションはあまりスピードのでないような実装しか
+おこなわれていません。単に
+.Ar tags
+ファイルを再構築した方が早く終了するでしょう。)
+.It Fl v
+.Xr vgrind 1
+形式のファイル一覧が標準出力に出力されます。
+この一覧はオブジェクト名、ファイル名、1 ページあたり 64 行とした場合の
+ページ番号から構成されます。
+出力は辞書式の順番でソートされているので、この後に
+.Xr sort 1
+を通した方がよいでしょう。次のように使います。
+.Bd -literal -offset indent
+gctags \-v files \&| sort \-f > index
+vgrind \-x index
+.Ed
+.It Fl w
+診断用メッセージを表示しないようにします。
+.It Fl x
+.Nm
+はオブジェクト名、行番号、ファイル名、その行の内容からなる一覧を作成し、
+それを標準出力に出力します。
+これはオフラインでも読みやすいように印刷できる簡単な関数一覧として
+利用できます。
+.El
+.Pp
+.Nm \&.c
+や
+.Nm \&.h
+で終わる名前のファイルは、 C 言語のソースファイルとみなされ、
+C の形式の関数・マクロ定義が検索されます。
+.Nm \&.y
+で終わる名前のファイルは、
+.Tn YACC
+のソースファイルとみなされます。
+.Nm \&.l
+で終わる名前のファイルは、最初の空白でない文字が `;' か `(' か `[' で
+あれば lisp のファイルであるとみなされ、そうでなければ lex のファイルと
+みなされます。
+その他のファイルは、まず Pascal か Fortran の定義が含まれるか
+どうかがチェックされ、含まれない場合には C 形式の定義が検索されます。
+.Pp
+C 言語の場合、
+.Li main
+は特別に扱われ、元のソースファイルのパス名部分と末尾の
+.Nm \&.c
+の部分を取り除いたファイル名に対し、その先頭に
+.Ar M
+を付加したものをオブジェクト名とします。
+これにより、同じディレクトリに複数のプログラムがある場合でも
+.Nm gctags
+を実用的に使うことができます。
+.Pp
+yacc と lex のファイルには特殊なタグがあります。
+.Ar yyparse
+は yacc ファイルの第二セクションの始まりを示し、
+.Ar yylex
+は lex ファイルの第二セクションの始まりを示します。
+.Sh 関連ファイル
+.Bl -tag -width tags -compact
+.It Pa tags
+デフォルトで出力されるタグファイル
+.It Pa GTAGS
+GLOBAL 用のタグファイル
+.El
+.Sh 診断
+.Nm
+はエラーが発生すると 1 を返し、それ以外では 0 を返します。
+同じ名前のオブジェクトが複数出てきてもエラーとはみなされません。
+.Sh 関連項目
+.Xr btreeop 1 ,
+.Xr ex 1 ,
+.Xr global 1 ,
+.Xr gtags 1 ,
+.Xr htags 1 ,
+.Xr vi 1 .
+.Sh バグ
+.Tn FORTRAN
+と Pascal 用の
+.Nm 関数(function)
+、
+.Nm サブルーチン(subroutine)
+、
+.Nm 手続き(procedure)
+の認識にはとても単純な方法を用いています。
+ブロック構造が解釈できないので、異なるブロックに同じ名前の Pascal 手続きが
+存在するとうまく動作しません。
+.Nm
+は Pascal の型(type)も理解しません。
+.Pp
+C か Pascal か
+.Tn FORTRAN
+かを判断する方法はとりあえず動いている、という程度のものです。
+.Pp
+.Nm
+はきちんと整形された入力に頼っています。
+また、ソースファイルに文法的な間違いがあると
+簡単に混乱してしまいます。
+文法的に間違っていなくても混乱する場合があります。
+例えば、
+.Li #ifdef
+を理解しないので(バグではなく仕様です)、
+.Li #ifdef
+内に括弧のつりあっていないコードがあると混乱してしまいます。
+同様に、定義が複数行にわたっている場合、オブジェクトの先頭行ではなく
+最終行が検索パターンにマッチします。
+複数行にわたる
+.Li typedef
+に関しても同様です。
+.Sh 歴史
+.Nm
+コマンドは FreeBSD 2.2 で登場しました。
diff --git a/ja/man/man1/gdb.1 b/ja/man/man1/gdb.1
new file mode 100644
index 0000000000..51b8d3db5c
--- /dev/null
+++ b/ja/man/man1/gdb.1
@@ -0,0 +1,366 @@
+.\" Copyright (c) 1991 Free Software Foundation
+.\" See section COPYING for conditions for redistribution
+.\" %Id: gdb.1,v 1.2 1994/12/30 23:25:45 jkh Exp %
+.\" jpman %Id: gdb.1,v 1.2 1997/04/08 00:36:23 h-nokubi Stab %
+.TH gdb 1 "4nov1991" "GNU Tools" "GNU Tools"
+.SH 名称
+gdb \- GNU デバッガ
+.SH 書式
+.na
+.TP
+.B gdb
+.RB "[\|" \-help "\|]"
+.RB "[\|" \-nx "\|]"
+.RB "[\|" \-q "\|]"
+.RB "[\|" \-batch "\|]"
+.RB "[\|" \-cd=\c
+.I dir\c
+\|]
+.RB "[\|" \-f "\|]"
+.RB "[\|" "\-b\ "\c
+.IR bps "\|]"
+.RB "[\|" "\-tty="\c
+.IR dev "\|]"
+.RB "[\|" "\-s "\c
+.I symfile\c
+\&\|]
+.RB "[\|" "\-e "\c
+.I prog\c
+\&\|]
+.RB "[\|" "\-se "\c
+.I prog\c
+\&\|]
+.RB "[\|" "\-c "\c
+.I core\c
+\&\|]
+.RB "[\|" "\-x "\c
+.I cmds\c
+\&\|]
+.RB "[\|" "\-d "\c
+.I dir\c
+\&\|]
+.RB "[\|" \c
+.I prog\c
+.RB "[\|" \c
+.IR core \||\| procID\c
+\&\|]\&\|]
+.ad b
+.SH 解説
+GDB をはじめとするデバッガは、プログラムが実行中もしくはクラッシュした時にその
+プログラムの ``内部'' で何が行なわれているか/行われていたかを調べるのに
+使用されます。
+
+GDB は、4 つの機能 (加えてこれらをサポートする機能) によって
+実行中にバグを見つけることを手助けします。
+
+.TP
+\ \ \ \(bu
+プログラムの動作を詳細に指定してプログラムを実行させる。
+
+.TP
+\ \ \ \(bu
+指定した条件でプログラムを停止させる。
+
+.TP
+\ \ \ \(bu
+プログラムが止まった時に、何が起こったか調べる。
+
+.TP
+\ \ \ \(bu
+バグによる副作用を修正し、別のバグを調べるためプログラムの状態を変更する。
+.PP
+
+GDB では C, C++, Modula-2 などで書かれたプログラムのデバッグが行なえます。
+GNU Fortran コンパイラが完成すれば Fortran もサポートされます。
+
+GDB はシェルコマンド\c
+.B gdb\c
+\&で起動されます。いったん起動すると、GDB コマンド\c
+.B quit\c
+\&を実行して終了するまで、端末からコマンドを読み続けます。
+.B gdb\c
+\&のオンラインヘルプは(\c
+.B gdb\c
+の中で)
+.B help\c
+\&コマンドを実行すれば表示されます。
+
+.B gdb\c
+\& は引数やオプション無しで起動できますが、
+たいてい、1 つか 2 つの引数を付けて起動します。実行プログラムを
+引数にする場合は以下のようになります:
+.sp
+.br
+gdb\ program
+.br
+.sp
+
+また実行プログラムと core ファイルの両方を指定することもできます:
+.sp
+.br
+gdb\ program\ core
+.br
+.sp
+
+もし実行中のプロセスのデバッグを行ないたい場合には、
+第 2 引数として core の代わりにプロセス ID を指定します:
+.sp
+.br
+gdb\ program\ 1234
+.br
+.sp
+
+これは GDB をプロセス ID \c
+.B 1234\c
+\& のプロセスに接続します(このとき`\|\c
+.B 1234\c
+\&\|'という名前のファイルが存在してはいけません。
+GDB はまず core ファイルを最初にチェックしにいくからです)。
+
+よく利用される GDB コマンドには以下のようなものがあります:
+.TP
+.B break \fR[\|\fIfile\fB:\fR\|]\fIfunction
+\&
+プレークポイントを \c
+\& (\c
+.I file\c
+\&内の)
+.I function\c
+に設定します。
+.TP
+.B run \fR[\|\fIarglist\fR\|]
+プログラムの実行を開始します(もしあれば
+.I arglist\c
+\&を\c
+引数として)。
+.TP
+.B bt
+バックトレース: プログラムのスタックを表示します。
+.TP
+.BI print " expr"\c
+\&
+式の値を表示します。
+.TP
+.B c
+プログラムの実行を再開します。(たとえばブレークポイントで実行を中断した後で)
+.TP
+.B next
+次のプログラム行を実行します 。
+その行内の全ての関数は 1 ステップで実行されます。
+.TP
+.B step
+次のプログラム行を実行します。
+もしその行に関数が含まれていれば、その関数内をステップ実行していきます。
+.TP
+.B help \fR[\|\fIname\fR\|]
+GDB コマンド \c
+.I name\c
+\&についての情報や、
+GDB を使う上での一般的な情報を表示します。
+.TP
+.B quit
+GDB を終了します。
+.PP
+GDB の詳細については\c
+.I
+Using GDB: A Guide to the GNU Source-Level Debugger\c
+\&, by Richard M. Stallman and Roland H. Pesch. を参照して下さい。
+同じテキストは、
+.B info\c
+\& プログラム内の
+.B gdb\c
+\& エントリからオンラインで参照できます。
+.SH オプション
+オプション以外の引数は、実行ファイルと core ファイル (もしくはプロセス ID)
+を表します。つまりオプションフラグでもオプションフラグの引数でもない最初の
+引数は `\|\c
+.B \-se\c
+\&\|' オプションで指定するファイルと同じになり、(もしあれば)次の 2 番目の引数は
+`\|\c
+.B \-c\c
+\&\|' オプションで指定するファイルと同じになります。
+
+オプションの多くは、長い表記法と短い表記法の両方で指定することができま
+すが、ここではその両方を示します。
+長い表記法は、どのオプションであるのかが明確であれば、短く切り詰めても
+構いません。
+(好みにより `\|\c
+.B \-\c
+\&\|' の代わりに
+`\|\c
+.B +\c
+\&\|' が使用できますが、ここではよく用いられる表記で記します。)
+
+全てのオプションとコマンドライン引数は指定した順番に処理されます。
+`\|\c
+.B \-x\c
+\&\|' オプションが使用されると、この順番は変わってきます。
+
+.TP
+.B \-help
+.TP
+.B \-h
+短い説明つきで、全てのオプションを表示します。
+
+.TP
+.BI "\-symbols=" "file"\c
+.TP
+.BI "\-s " "file"\c
+\&
+シンボルテーブルをファイル \c
+.I file\c
+\&から読みます。
+
+.TP
+.BI "\-exec=" "file"\c
+.TP
+.BI "\-e " "file"\c
+\&
+ファイル \c
+.I file\c
+\& を実行可能ファイルとして利用します。
+core dump と連係して pure data を調べるのにも用いられます。
+
+.TP
+.BI "\-se=" "file"\c
+\&
+ファイル \c
+.I file\c
+\& からシンボルテーブルを読み、同時にそれを実行可能ファイルとして利用します。
+
+.TP
+.BI "\-core=" "file"\c
+.TP
+.BI "\-c " "file"\c
+\&
+ファイル \c
+.I file\c
+\& を core dump として利用します。
+
+.TP
+.BI "\-command=" "file"\c
+.TP
+.BI "\-x " "file"\c
+\&
+ファイル \c
+.I file\c
+\&から GDB のコマンドを読み込み、実行します。
+
+.TP
+.BI "\-directory=" "directory"\c
+.TP
+.BI "\-d " "directory"\c
+\&
+ソースファイルを探すサーチパスに \c
+.I directory\c
+\& を追加します。
+.PP
+
+.TP
+.B \-nx
+.TP
+.B \-n
+初期化ファイル `\|\c
+.B .gdbinit\c
+\&\|' からコマンドを読み込みません。
+通常は、
+全てのコマンドオプションと引数が処理された後で、
+初期化ファイル内のコマンドが実行されます。
+
+.TP
+.B \-quiet
+.TP
+.B \-q
+起動時のメッセージおよび copyright を表示しません。
+これらのメッセージはバッチモードでも抑制されます。
+
+.TP
+.B \-batch
+バッチモードで動作します。`\|\c
+.B \-x\c
+\&\|' で指定したファイル(および、-nx か -n で抑制されていなければ `\|\c
+.B .gdbinit\c
+\&\|') 内の全てのコマンドを
+処理した後、戻り値として \c
+.B 0\c
+\& を返して終了します。
+コマンドファイル内の GDB コマンドの実行中にエラーが生じた場合は、
+0 以外の値で終了します。
+
+バッチモードは GDB をフィルタとして実行する場合、
+たとえばプログラムをダウンロードして別のコンピュータ上で実行したりする場合
+に便利です。
+以下のメッセージ
+.sp
+.br
+Program\ exited\ normally.(プログラムは正常に終了しました。)
+.br
+.sp
+は通常、GDB の制御端末上で実行されるプログラムが終了するたびに
+出力されるものですが、
+バッチモードではこのようなメッセージは出力されません。
+.TP
+.BI "\-cd=" "directory"\c
+\&
+カレントディレクトリの代わりに \c
+.I directory\c
+\& を GDB の作業用ディレクトリとして実行します。
+
+.TP
+.B \-fullname
+.TP
+.B \-f
+Emacs が GDB をサブプロセスとして実行する際にこのオプションを付加します。
+このとき GDB は、スタックフレームが表示される度(プログラムが中断する度を
+含みます)に、完全なファイル名と行番号を標準的な認識しやすい形式で表示します。
+この表示書式は 2 つの
+`\|\c
+.B \032\c
+\&\|'
+文字、ファイル名、コロンで区切られた行番号と文字位置、改行の順になっ
+ています。これは Emacs→GDB インターフェースプログラムにおいて、
+フレームに対応するソースコードを表示するために 2 つの
+`\|\c
+.B \032\c
+\&\|' 文字を使うことになっているからです。
+
+.TP
+.BI "\-b " "bps"\c
+\&
+リモートデバッグ用に GDB が利用するシリアルインタフェースの転送速度を
+(ボーレートまたはビット/秒で)セットします。
+
+.TP
+.BI "\-tty=" "device"\c
+\&
+プログラムの標準入出力に \c
+.I device\c
+\& を利用します。
+.PP
+
+.SH "関連項目"
+.B info\c
+内の
+.RB "`\|" gdb "\|'"
+エントリ
+\&;
+.I
+Using GDB: A Guide to the GNU Source-Level Debugger\c
+, Richard M. Stallman and Roland H. Pesch, July 1991.
+.SH COPYING
+Copyright (c) 1991 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
diff --git a/ja/man/man1/gdbserver.1 b/ja/man/man1/gdbserver.1
new file mode 100644
index 0000000000..58e5dd629c
--- /dev/null
+++ b/ja/man/man1/gdbserver.1
@@ -0,0 +1,103 @@
+.\" Copyright (c) 1993 Free Software Foundation
+.\" See section COPYING for conditions for redistribution
+.TH gdbserver 1 "2 November 1993" "Cygnus Support" "GNU Development Tools"
+.\" jpman %Id: gdbserver.1,v 1.3 1997/08/19 03:04:24 h-nokubi Stab %
+.SH 名称
+gdbserver \- GNU デバッガ用リモートサーバ
+.SH 書式
+.na
+.TP
+.B gdbserver
+.RB tty
+.RB prog
+.RB "[\|" args... "\|]"
+.ad b
+.SH 解説
+GDBSERVER は、デバッグ対象のプログラムを実行しているマシンとは異なる
+マシン上で GDB を実行することを可能にするプログラムです。
+
+使用方法 (サーバ(ターゲット)側):
+
+まず、デバッグ対象のプログラムのコピーをターゲットシステムに用意します。
+GDBserver は、シンボルを関知しないので、使用スペースを節約するために
+プログラムをストリップしても構いません。全てのシンボルは、ホストシステムで
+実行される GDB によって考慮されます。
+
+サーバを使用するためには、ターゲットシステムにログインし、`gdbserver'
+プログラムを実行します。(a) GDB との通信方法、(b) プログラム名、
+(c) プログラムへの引数 を指定する必要があります。一般的な書式は以下のように
+なります:
+
+ target> gdbserver COMM PROGRAM [ARGS ...]
+
+例えば、シリアルポートを使用する場合は、以下のようになります。
+
+ target> gdbserver /dev/com1 emacs foo.txt
+
+この例では、emacs を引数 foo.txt を用いてデバッグすることを指定し、
+GDB との通信に /dev/com1 を使用します。gdbserver は、ホストの GDB が
+通信して来ることを辛抱強く待ちます。
+
+TCP 接続を使用する場合は、以下のようになります。
+
+ target> gdbserver host:2345 emacs foo.txt
+
+この例では、ホストの GDB との通信に TCP を用いる以外は、前の例と同じです。
+引数 `host:2345' は、`host' からの TCP 接続が ローカルの TCP ポート 2345
+に接続されるのを待つ、という意味です。(現状では `host' 部は無視されます。)
+ターゲットシステムで存在する TCP ポートとの衝突が無ければ、ポート番号は
+自由に選ぶことができます。ホストの GDB の `target remote' コマンドで、
+同じポート番号を指定する必要があります。他のサービスと衝突するポート番号を
+選んだ場合、gdbserver はエラーメッセージを出力して終了します。
+
+使用方法 (ホスト側):
+
+GDB がシンボルテーブルを検査したりするため、ホストシステムには、ターゲット
+プログラムのストリップされていないコピーが必要です。通常の場合同様、
+最初の引数にターゲットプログラムを指定して GDB を起動します。(シリアルラインが
+9600 baud 以外で動作している場合は、--baud オプションが必要です。)
+つまり、`gdb TARGET-PROG' あるいは、`gdb --baud BAUD TARGET-PROG' のように
+起動します。その後、新たに覚える必要のあるコマンドは、`target remote' だけです。
+コマンドの引数は、デバイス名(通常、`/dev/ttyb' のようなシリアルデバイス)か、
+HOST:PORT 記述子です。例えば、
+
+ (gdb) target remote /dev/ttyb
+
+は、シリアルライン /dev/ttyb を使用してサーバと通信します。また、
+
+ (gdb) target remote the-target:2345
+
+は、TCP 接続で、ホスト `the-target' の gdbserver を起動した時に指定した
+ポートと同じポート 2345 を使用してサーバと通信します。TCP 接続の場合、
+`target remote' コマンドを実行する前に gdbserver を実行しておく必要があります。
+そうしないと、`Connection refused' というようなエラーになるでしょう。
+.SH オプション
+デバッグの対象となるプログラムの名前と、通信に使用する tty を指定する
+必要があります。他の全てのことはリモートの GDB が行います。
+その他の引数は、そのままプログラムに渡されます。
+.SH 関連項目
+.RB "`\|" gdb "\|'"
+entry in
+.B info\c
+\&;
+.I
+Using GDB: A Guide to the GNU Source-Level Debugger\c
+, Richard M. Stallman and Roland H. Pesch, July 1991.
+.SH COPYING
+Copyright (c) 1993 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+
diff --git a/ja/man/man1/gencat.1 b/ja/man/man1/gencat.1
new file mode 100644
index 0000000000..071d98a2b8
--- /dev/null
+++ b/ja/man/man1/gencat.1
@@ -0,0 +1,61 @@
+.\" $OpenBSD: gencat.1,v 1.3 1997/06/11 15:39:54 kstailey Exp $
+.\"
+.\" Copyright (c) 1997 Ken Stailey
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: gencat.1,v 1.1 1997/09/14 20:23:02 wosch Exp %
+.\"
+.Dd June 11, 1997
+.Dt GENCAT 1
+.Os
+.Sh 名称
+.Nm gencat
+.Nd NLS カタログコンパイラ
+.Sh 書式
+.Nm gencat
+.Ar "output-file"
+.Ar "input-file..."
+.Sh 解説
+.Nm
+ユーティリティは、テキストの NLS 入力ファイルを
+.Xr catclose 3
+や
+.Xr catgets 3
+、
+.Xr catopen 3
+などの関数により用いられるバイナリフォーマットのカタログファイルに
+コンパイルします。
+.Pp
+.Nm gencat
+ユーティリティは成功すると 0 を、エラーが発生すると
+1 以上を返します。
+.Sh 関連項目
+.Xr catclose 3 ,
+.Xr catgets 3 ,
+.Xr catopen 3
+.Sh 規格
+.Nm gencat
+ユーティリティは
+.St -xpg3
+互換となる予定です。
diff --git a/ja/man/man1/getNAME.1 b/ja/man/man1/getNAME.1
new file mode 100644
index 0000000000..1fdb3bd5f5
--- /dev/null
+++ b/ja/man/man1/getNAME.1
@@ -0,0 +1,65 @@
+.\" Copyright (c) July 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: getNAME.1,v 1.3 1996/08/27 20:04:12 wosch Exp %
+.\" jpman %Id: getNAME.1,v 1.3 1997/07/22 17:20:08 horikawa Stab %
+
+.Dd July 8, 1996
+.Dt getNAME 1
+.Os FreeBSD 2.2
+.Sh 名称
+.Nm getNAME
+.Nd マニュアルから ``名称 (Name)'' の章を取り出す
+.Sh 書式
+.Nm /usr/libexec/getNAME
+.Op Fl itw
+.Ar files ...
+.Sh 解説
+.Nm
+は、マニュアルから名称の章を取り出します。
+オプションが指定されていない場合は、
+.Nm
+は、
+.Xr apropos 1
+データベースのエントリを作成します。
+.Pp
+オプションには、以下のようなものがあります。
+.Bl -tag -width Ds
+.It Fl i
+導入エントリを作成します。
+.It Fl t
+目次を作成します。
+.It Fl w
+マニュアルのタイプを OLD, NEW, UNKNOWN のいずれかで表示します。
+.El
+.\" .Sh バグ
+.Sh 関連項目
+.Xr man 1 ,
+.Xr makewhatis 1 ,
+.Xr apropos 1 .
+.Sh 歴史
+.Nm
+コマンドのためのマニュアルは
+.Fx 2.2
+から導入されました。
diff --git a/ja/man/man1/getopt.1 b/ja/man/man1/getopt.1
new file mode 100644
index 0000000000..fccffc7da5
--- /dev/null
+++ b/ja/man/man1/getopt.1
@@ -0,0 +1,105 @@
+.Dd June 21, 1993
+.\" jpman %Id: getopt.1,v 1.3 1997/06/19 14:12:53 take Stab %
+.Dt GETOPT 1
+.Os
+.Sh 名称
+.Nm getopt
+.Nd コマンドラインオプションの解釈を行う
+.Sh 書式
+.Nm set \-\- \`getopt Ar optstring $*\`
+.Sh 解説
+.Nm getopt
+は、シェルプロシジャによって簡単に解釈できるようにコマンドライン上の
+オプションを切り分けます。そして、正しいオプションであるかを確かめます。
+.Ar optstring
+は、認識されるオプション文字の文字列です (
+.Xr getopt 3
+を参照 )。
+オプション文字のあとにコロン (``:'') がある場合、そのオプションは、
+( 空白文字で区切られているかもしれない ) 引数を持つことになります。
+特別なオプション
+.Ql \-\-
+は、オプションの終りを区別するために使われます。
+.Nm getopt
+は、オプションの最後に引数として
+.Ql \-\-
+を配置します。または、それが陽に使われた時はそれを終りと認識します。
+シェル変数
+(\fB$1 $2\fR ...) は、個々のオプションが
+.Ql \-
+に続くように再設定されます。そして、それ自身をシェル変数にします。
+各オプション引数は、同様にそれ用のシェル変数に入れられます。
+.Sh 使用例
+以下のコードの断片は、
+引数無しの
+.Fl a,
+.Fl b
+オプションと、
+引数ありの
+.Fl o
+オプションを取ろうとしているコマンドのために、どのようにして
+引数を処理するのかを示しています。
+.Pp
+.Bd -literal -offset indent
+set \-\- \`getopt abo: $*\`
+if test $? != 0
+then
+ echo 'Usage: ...'
+ exit 2
+fi
+for i
+do
+ case "$i"
+ in
+ \-a|\-b)
+ flag=$i; shift;;
+ \-o)
+ oarg=$2; shift; shift;;
+ \-\-)
+ shift; break;;
+ esac
+done
+.Ed
+.Pp
+このコードは、以下の ( コマンド指定の ) 例のどれでも同じように
+受け入れます。
+.\"(訳注)「コマンド指定の」は、訳者が勝手に挿入している。
+.\" 2.2.1R 対象(1997/04/27) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.Pp
+.Bd -literal -offset indent
+cmd \-aoarg file file
+cmd \-a \-o arg file file
+cmd \-oarg -a file file
+cmd \-a \-oarg \-\- file file
+.Ed
+.Sh 関連項目
+.Xr sh 1 ,
+.Xr getopt 3
+.Sh 診断
+.Nm getopt
+は、
+.Ar optstring
+中に含まれていないオプション文字に出会った時に、
+標準エラー出力にエラーメッセージを表示します。
+.Sh 歴史
+ベル研究所マニュアルによると、 Henry Spencer によって書かれました。
+振舞いは、ベル研究所版と同じであると信じています。
+.Sh バグ
+.Xr getopt 3
+が持っているバグは、そのまま持っています。
+.Pp
+空白文字やシェルのメタキャラクタを含んだ引数は、一般に元のまま
+残りません。
+これは直すのは簡単に思われますが、そうではありません。
+.Pp
+不正なオプションに対するエラーメッセージは、
+.Nm getopt
+を実行するシェルプロシジャから返すのではなく、
+.Nm getopt
+から返されます。
+これも直すのは困難です。
+.Pp
+シェルオプションの値を分離すること無く、引数を指定するための
+.Nm set
+コマンドを使うためのとっても良い方法は、シェルのバージョンを
+変えることです。
diff --git a/ja/man/man1/global.1 b/ja/man/man1/global.1
new file mode 100644
index 0000000000..4f5dc5c4f6
--- /dev/null
+++ b/ja/man/man1/global.1
@@ -0,0 +1,135 @@
+.\"
+.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Shigio Yamaguchi.
+.\" 4. Neither the name of the author nor the names of any co-contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" jpman %Id: global.1,v 1.3 1997/07/27 12:54:52 horikawa Stab %
+.\"
+.Dd Apr 21, 1997
+.Dt GLOBAL 1
+.Os BSD 4
+.Sh 名称
+.Nm global
+.Nd 指定した関数の位置を表示する
+.Sh 書式
+.Nm global
+.Op Fl acrx
+.Ar name
+.Sh 解説
+.Nm
+は C や Yacc のソースファイル中から特定の関数の位置を見つけ出します。
+.Nm
+は、ソースツリー(サブディレクトリやソースファイルを持つディレクトリ)も
+扱うことができます。
+ツリー内のどこにあろうと、オブジェクトの相対パスを得ることができます。
+
+.Nm
+は関数定義だけではなく、関数参照の位置も把握し、二重のエントリも
+取り扱うことができます。
+.Pp
+このコマンドを使う前に、ソースツリーのルートディレクトリで
+.Xr gtags 1
+を実行しなければなりません。
+.Pp
+以下のオプションが使用可能です:
+.Bl -tag -width Ds
+.It Fl a
+絶対パスで表示します。デフォルトでは相対パス名で表示します。
+.It Fl c
+指定された文字列で始まる名前の関数の候補を表示します。
+文字列が指定されない場合、すべての関数の名前を表示します。
+.It Fl r
+関数の参照場所を表示します。
+デフォルトでは、関数の定義場所を表示します。
+.It Fl x
+デフォルトの出力に加えて、行番号と行の内容を表示します。
+.It Ar name
+関数の名前です。perl の正規表現を用いることができます。
+.Sh 関連ファイル
+.Bl -tag -width tags -compact
+.It Pa GTAGS
+関数定義に関するタグファイルです。
+.It Pa GRTAGS
+関数参照に関するタグファイルです。
+.El
+.Sh 環境変数
+以下の環境変数が global の実行に影響します。
+.Pp
+.Bl -tag -width indent
+.It Ev GTAGSROOT
+ソースツリーのルートディレクトリです。
+.It Ev GTAGSDBPATH
+gtags のデータベースが存在するディレクトリです。
+この値は GTAGSROOT が定義されていない場合は無視されます。
+.It Ev GTAGSLIBPATH
+この変数が設定されていると、ライブラリ関数を探すパスとして
+用いられます。指定された関数がソースツリー内に見つからない場合、
+global はこのパスも検索します。
+.Sh 使用例
+
+ % ls -F
+ Makefile src/ lib/
+ % gtags
+ % global main
+ src/main.c
+ % global -x main
+ main 10 src/main.c main (argc, argv) {
+ % global -x '^[sg]et'
+ set_num 20 lib/util.c set_num(values)
+ get_num 30 lib/util.c get_num() {
+ % global -rx '^[sg]et'
+ set_num 113 src/op.c set_num(32);
+ set_num 225 src/opop.c if (set_num(0) > 0) {
+ get_num 90 src/op.c while (get_num() > 0) {
+ % cd lib
+ % global -rx '^[sg]et'
+ set_num 113 ../src/op.c set_num(32);
+ set_num 225 ../src/opop.c if (set_num(0) > 0) {
+ get_num 90 ../src/op.c while (get_num() > 0) {
+ % global strlen
+ % (cd /usr/src/sys; gtags)
+ % setenv GTAGSLIBPATH /usr/src/sys
+ % global strlen
+ ../../../usr/src/sys/libkern/strlen.c
+ % (cd /usr/src/lib; gtags)
+ % setenv GTAGSLIBPATH /usr/src/lib:/usr/src/sys
+ % global strlen
+ ../../../usr/src/lib/libc/string/strlen.c
+
+.Sh 診断
+.Nm
+はエラーが発生すると 0 以外の値を、そうでなければ 0 を返します。
+.Sh 関連項目
+.Xr btreeop 1 ,
+.Xr gctags 1 ,
+.Xr gtags 1 ,
+.Xr htags 1 .
+.Sh 作者
+Shigio Yamaguchi (shigio@wafu.netgate.net)
+.Sh 歴史
+.Nm
+コマンドは FreeBSD 2.2 で登場しました。
diff --git a/ja/man/man1/gperf.1 b/ja/man/man1/gperf.1
new file mode 100644
index 0000000000..66781aa54b
--- /dev/null
+++ b/ja/man/man1/gperf.1
@@ -0,0 +1,23 @@
+.TH GPERF 1 "December 16, 1988
+.\" jpman %Id: gperf.1,v 1.3 1997/07/03 15:44:48 take Stab %
+.UC 4
+.SH 名称
+gperf \- キーの集合から完全なハッシュ関数を生成する
+.SH 書式
+.B gperf
+[
+.B \-adghijklnoprsStv
+] [
+.I keyfile
+]
+.SH 解説
+\fIgperf\fP は、 \fIkeyfile\fP ( もしくはデフォルトでは標準入力 )
+から `` キー '' の集合を読み込み、キー集合の要素を定数時間、つまり
+O(1) の時間で、認識できるような最小ではない完全なハッシュ関数を
+見付けようとします。そのような関数が見付かったら、プログラムは
+ハッシュを行うものと、表を参照するものの\fIC\fP のソースコードを
+生成します。全ての生成されたコードは、標準出力に出力されます。
+
+更に情報が必要であれば、 \fIgperf.texinfo\fP ファイルを
+参照してください。
+このファイルは \fIgperf\fP のリリースと一緒に配布されています。
diff --git a/ja/man/man1/gprof.1 b/ja/man/man1/gprof.1
new file mode 100644
index 0000000000..abbed0ef06
--- /dev/null
+++ b/ja/man/man1/gprof.1
@@ -0,0 +1,296 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)gprof.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: gprof.1,v 1.2 1997/05/06 00:50:59 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt GPROF 1
+.Os BSD 4.2
+.Sh 名称
+.Nm gprof
+.Nd 呼び出しグラフに基づくプロファイルデータを表示する
+.Pp
+.Sh 書式
+.Nm gprof
+.Op options
+.Op Ar a.out Op Ar gmon.out ...
+.Pp
+.Sh 解説
+.Nm gprof
+は、C や Pascal, Fortran77 の実行プロファイルを生成します。
+.Nm gprof
+では、呼び出されたルーチンの実行時間は、呼び出した側の
+ルーチンに加算されます。
+プロファイルデータは、呼び出しグラフプロファイルファイル
+(call graph profile file - デフォルトは
+.Pa gmon.out )
+から読み出されます。このファイルは、
+.Xr cc 1 ,
+.Xr pc 1 ,
+.Xr f77 1
+に
+.Fl pg
+をつけてコンパイル
+されたプログラムによって生成されます。
+.Fl pg
+をつけると、コンパイラは
+プロファイル用ライブラリをリンクします。
+.Nm gprof
+は与えられたオブジェクトファイル ( デフォルトでは
+.Pa a.out )
+を読み込んで、そのオブジェクトのシンボルテーブルと
+.Pa gmon.out
+から得られる呼び出しグラフプロファイルとを結び付けます。
+2つ以上のプロファイルファイルが与えられると、
+.Nm gprof
+は、それらの情報を合計して出力します。
+.Pp
+.Nm gprof
+は、各ルーチンが消費した時間を計算します。
+次に、この時間は呼び出しグラフの辺にそって伝搬されます。
+サイクルが見つかると、サイクルに対する呼び出しが、サイクルの時間を
+共有するものとされます。
+最初のリストには、関数からの呼び出しグラフ全体の合計時間によって
+ソートされた関数が表示されています。
+各関数のエントリの下には、その関数の呼び出しグラフ
+での(直接の)子(すなわち呼び出された関数名)が表示され、それらの
+関数の消費時間がどれくらい親(つまり呼び出した側の関数)に伝播されているかが
+示されています。
+同様に、各関数のエントリの上側には、
+関数での消費時間が呼び出し元の関数にどのように伝播されているかが
+示されています。
+.Pp
+サイクル全体とそのメンバーのリストを示したエントリが、
+サイクルの呼び出し回数や実行時間への各メンバーの寄与を含めて表示されます。
+.Pp
+次のリストでは、
+.Xr prof 1
+( NetBSD, FreeBSDにはありません ) と同様なフラットプロファイル (flat profile)
+表示されます。
+ここには、関数の合計実行時間や呼び出し回数、
+その関数本体のみの実行時間 (ミリ秒またはマイクロ秒) 、
+その関数本体及びそこから呼び出された関数の実行時間 (ミリ秒またはマイクロ秒) 、
+が表示されます。
+.Pp
+最後に関数名の索引が表示されます。
+.Pp
+以下のオプションが利用可能です。
+.Bl -tag -width Fl
+.It Fl a
+静的に宣言された関数の表示を抑制します。
+このオプションが指定されると、静的関数についてのすべての関連する情報
+( 実行時間、別の関数の呼び出し、他の関数からの呼び出しなど ) が、
+.Pa a.out
+ファイル中の静的関数の直前に読み込まれるされる関数に含まれることになります。
+.It Fl b
+プロファイル中の各フィールドの説明文を抑制します。
+.It Fl c
+オブジェクトファイルのテキスト空間を調べる発見的な方法を使って、
+プログラムの静的呼び出しグラフを見つけます。
+静的な呼び出しのみの親と子供は、
+呼び出し数 0 として表示されます。
+.It Fl C Ar count
+.Ar count
+数以上の関数を含む(呼び出し関係の)サイクルを取り除くために、
+切断すべきアーク(呼び出し関係)の最小集合を見つけます。
+注意:サイクルを中断するために用いられるアルゴリズムは指数関数的な
+ものです。そのため、このオプションを指定すると、
+.Nm gprof
+を実行するのに非常に長い時間がかかります。
+.It Fl e Ar name
+ルーチン
+.Ar name
+とそのすべての子孫(それらの関数が表示抑制されていない親をほかに
+持っていなければ)のグラフプロファイルエントリの表示を抑制
+します。2つ以上の
+.Fl e
+を指定することができます。各
+.Fl e
+には1つしか
+.Ar name
+を指定することができません。
+.It Fl E Ar name
+.Fl e
+と同様、指定されたルーチン
+.Ar name
+のグラフプロファイル
+エントリ表示を抑制します。さらに、プログラムのトータルの時間と計算時間の
+パーセンテージから
+.Ar name
+で使われている時間を取り除きます。
+(たとえば、
+.Fl E
+.Ar mcount
+.Fl E
+.Ar mcleanup
+がデフォルトです)
+.It Fl f Ar name
+指定されたルーチン
+.Ar name
+とその子孫のグラフプロファイルエントリ
+のみを表示します。
+.Fl f
+オプションは、複数指定することができます。
+各オプション
+.Fl f
+には、1つしか
+.Ar name
+を指定することができません。
+.It Fl F Ar name
+.Fl f
+と同様に、指定されたルーチン
+.Ar name
+とその子孫のグラフ
+プロファイルエントリのみを表示します。
+プログラムのトータルの時間と計算時間の割合
+には、表示されたルーチンの時間のみが使われます。
+.Fl F
+は複数指定することができます。各オプション
+.Fl F
+には、1つしか
+.Ar name
+を指定することができません。オプション
+.Fl F
+は、オプション
+.Fl E
+の効果を打ち消します。
+.It Fl k Ar fromname Ar toname
+.Ar fromname
+から
+.Ar toname
+への関数呼び出し関係のアークを削除します。
+このオプションによって、不必要だと思うサイクルを切断することができます。
+オプション
+.Fl k
+は、複数指定することができます。各オプション
+.Fl k
+には一対のルーチン名
+.Pf ( Ar fromname
+と
+.Ar toname )
+しか
+指定することができません。
+.It Fl l
+呼び出しグラフプロファイルの表示を抑制します。
+.It Fl L
+フラットプロファイルの表示を抑制します。
+.It Fl s
+指定されたすべてのプロファイルファイル中のプロファイル情報の合計
+を表すサマリプロファイルファイル
+.Pa gmon.sum
+が生成されます。
+このサマリプロファイルファイルはこのあとの
+.Nm gprof
+の実行に
+対して与えられ
+.Pf ( その際にも通常 Fl s
+が指定される )、一連の
+.Pa a.out
+実行の結果のプロファイルデータの合計を
+求めることができます。
+.It Fl u
+アンダースコア `_' で始まらない名前を持つ関数の表示を抑制します。
+それらの関数に関連する情報は、すぐ低位側のアドレスにある (表示が
+抑制されていない) 関数に含まれます。
+これにより関数内にあるただのラベルが関数と認識されてしまうのを
+防ぐ事ができます。
+.It Fl z
+使用されていないルーチン(呼び出し回数と合計時間が 0 である)を表示します。
+.Fl c
+オプションとともに使うと、一度も呼ばれていないルーチンを発見する事ができます。
+.El
+.Sh 関連ファイル
+.Bl -tag -width gmon.sum -compact
+.It Pa a.out
+テキスト空間と名前リスト
+.It Pa gmon.out
+動的な呼び出しグラフとプロファイル
+.It Pa gmon.sum
+動的な呼び出しグラフとプロファイルのサマリ
+.El
+.Sh 関連項目
+.Xr cc 1 ,
+.Xr profil 2 ,
+.Xr clocks 7
+.\" .Xr monitor 3 ,
+.\" .Xr prof 1
+.Pp
+.Rs
+.%T "An Execution Profiler for Modular Programs"
+.%A S. Graham
+.%A P. Kessler
+.%A M. McKusick
+.%J "Software - Practice and Experience"
+.%V 13
+.%P pp. 671-685
+.%D 1983
+.Re
+.Pp
+.Rs
+.%T "gprof: A Call Graph Execution Profiler"
+.%A S. Graham
+.%A P. Kessler
+.%A M. McKusick
+.%J "Proceedings of the SIGPLAN '82 Symposium on Compiler Construction, SIGPLAN Notices"
+.%V 17
+.%N 6
+.%P pp. 120-126
+.%D June 1982
+.Re
+.Sh 歴史
+.Nm gprof
+プロファイラは、
+.Bx 4.2
+から登場しました。
+.Sh バグ
+サンプリングの周期がリストの最初に表示されますが、
+統計的な域を出ないものであるかもしれません。
+我々は、各関数の実行時間はその関数が消費した時間の合計をその関数の
+呼び出し回数で割ったものによって表現されると仮定しています。
+したがって、呼び出しグラフの関係にそって関数の親に伝播される時間は、
+その関係をたどる回数に直接比例しています。
+.Pp
+自身がプロファイルされていない親は、プロファイルしている子供から
+伝播される時間を持っており、呼び出しグラフのリストのなかで
+自動的に起動されるものとして現れます。しかし、この関数が持つ時間は
+それ以上伝播されません。
+同様に、シグナルを捕捉する関数は、それらがプロファイルされていても、
+自動的に起動されるものとして現れます(もう少し複雑な理由がありますが)。
+シグナルを捕捉する関数の子供の実行時間は、その親に正しく伝播される
+べきですが、プロファイルルーチンを実行している間にシグナルを捕捉する
+関数が実行された場合以外では、すべて失われてしまいます。
+.Pp
+プロファイルされているプログラムは、
+.Pa gmon.out
+ファイルにプロファイル情報がセーブされるよう
+.Xr exit 3
+を呼ぶか、正常に終了しなければいけません。
diff --git a/ja/man/man1/grep.1 b/ja/man/man1/grep.1
new file mode 100644
index 0000000000..c991c0dff6
--- /dev/null
+++ b/ja/man/man1/grep.1
@@ -0,0 +1,420 @@
+.TH GREP 1 "1992 September 10" "GNU Project"
+.\" jpman %Id: grep.1,v 1.3 1997/07/21 07:22:12 konuma Stab %
+.SH 名称
+grep, egrep, fgrep \- パターンにマッチする行を表示する
+.SH 書式
+.B grep
+[\-[AB] num]
+[\-HRPS]
+[\-CEFGLVabchilnqsvwx]
+[\-e expr]
+[\-f file]
+files...
+.SH 解説
+.B grep
+は、
+.I files
+が指定されていればそのファイルから、ファイルが指定されて
+ないか
+.I files
+の部分に
+.B \-
+が指定された場合は標準入力を読み込み、行毎に
+指定したパターン
+.I pattern
+にマッチする部分を含んでいるかどうか調べます。
+デフォルト動作では、マッチした行を表示します。
+.PP
+.B grep
+は、以下のオプションにより大きく 3 つの動作に分かれます。
+.PD 0
+.TP
+.B \-G
+パターンとして、基本的な正規表現を扱うモード(下記参照)。デフォルトです。
+.TP
+.B \-E
+拡張された正規表現を扱うモードです(下記参照)。
+.\"ただし、本 grep は、基本の正規表現と、拡張の正規表現には、
+.\"表記上の違いはありますが、機能的には差は
+.\"ありません。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.B \-F
+パターン
+.I pattern
+として改行で区切られた固定の文字列パターンのリストを扱
+うモードです。その文字列のどれかにマッチするかどうか調べます。
+.LP
+さらに、二つの同種のプログラム
+.B egrep
+と
+.B fgrep
+が利用可能です。
+.B egrep
+は、
+.B "grep\ \-E"
+と似ています ( が等価ではありません ) し、歴史的な UNIX の
+.B egrep
+と互換性があります。
+.B fgrep
+は、
+.B "grep\ \-F"
+と同じです。
+.PD
+.LP
+全ての
+.B grep
+の変種は、以下のようなオプションを理解します。
+.PD 0
+.TP
+.BI \- num
+.I num
+で指定した行数だけ、パターンにマッチした行の前後の行も表示します。
+ただし、同じ行を2度以上表示する事はありません。
+.TP
+.BI \-A " num"
+.I num
+で指定した行数だけ、パターンにマッチした行の後の行も表示します。
+.TP
+.BI \-B " num"
+.I num
+で指定した行数だけ、パターンにマッチした行の前の行も表示します。
+.TP
+.B \-C
+.B \-2
+を指定した事と同じです。
+.TP
+.B \-V
+.B grep
+のバージョン番号を標準エラー出力に表示します。バグレポート
+には、この番号を付記してください ( 下記参照 ) 。
+.TP
+.B \-a
+バイナリーファイルの検索を行いません。
+.TP
+.B \-b
+各行の前に、ファイルの先頭からバイト単位のオフセットを表示します。
+.TP
+.B \-c
+各行の表示はせず、マッチした行数だけを表示します。
+.B \-v
+オプションと共に指定した場合は、マッチしなかった行数の表示となります(下記参照)。
+.TP
+.BI \-e " pattern"
+パターンを指定します。
+.B \-
+で始まっているパターンを保護するために有効です。
+.\"通常は、
+.\".B \-e
+.\"を省略してパターンを記述する事ができます。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.BI \-f " file"
+パターンを
+.I file
+から読み込みます。
+.TP
+.B \-h
+複数のファイルを指定した場合、デフォルトでは、マッチした行の前に、
+ファイル名を付けて表示が行なわれますが、
+.B \-h
+を指定した場合は、ファイル名を付けないようにします。
+.TP
+.B \-i
+パターンマッチにおいて、英大文字と小文字の区別をしないようにします。
+.TP
+.B \-L
+通常の表示を抑止し、代わりにパターンにマッチしなかったファイル名を
+表示します。
+.\".B \-lv
+.\"と同じです。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.B \-l
+通常の表示を抑止し、代わりに、パターンにマッチしたファイルのファ
+イル名を 1 行づつ表示します。
+.\".B \-v
+.\"と共に使用した場合は、マッチしなかったファイル名の表示になります。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.B \-n
+各行の前に、行番号を表示します。
+.TP
+.B \-q
+通常の表示を抑止します。
+.TP
+.B \-s
+指定されたファイルが存在しない場合や、読み込みできなかった時、
+.\"デフォルトではエラーメッセージを表示しますが、
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+エラーメッセージを抑止します。
+.TP
+.B \-v
+指定されたパターンにマッチしない行を対象にします。
+.TP
+.B \-w
+パターンマッチを、単語全体で行なうようにします。
+このテストは、部分文字列が行の始めから始まっているか、
+語でない文字列が前にあるかです。
+同様に、行末か語でない文字列が後に付いてなければなりません。
+単語とは、アルファベット、数字およびアンダスコアからなる文字列です。
+.TP
+.B \-x
+パターンマッチを、行全体で行なうようにします。
+
+.PP
+FTS ライブラリとともにコンパイルした場合、以下のオプションが
+利用可能です。
+.PD 0
+.TP
+.BI \-H
+.I \-R
+オプションが指定されていれば、コマンドラインのシンボリックリンクも
+調べられます (木を探索している時に遭遇したシンボリックリンクは
+調べられません) 。
+.TP
+
+.BI \-L
+.I \-R
+オプションが指定されていれば、全てのシンボリックリンクが調べられます。
+.TP
+
+.BI \-P
+.I \-R
+オプションが指定されていれば、シンボリックリンクはたどられません。
+.TP
+
+.BI \-R
+ファイルを探索する代わりに、ファイルを根とするファイル階層を探索します。
+.TP
+
+.PD
+.SH "正規表現"
+.PP
+正規表現は、一連の文字列を表現するパターンの事です。正規表現は、より小さな
+表現を組み合わせるさまざまな演算子を用いる事により、数式表現と同じような
+表現を作成する事ができます。
+.PP
+.B grep
+は、基本的な正規表現と
+.\"古い UNIX の egrep に相当する
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+拡張正規表現の 2 種類の正規表現を扱う事ができます。
+.RB "GNU\ " grep
+では、どちらの表現も機能的に違いありません。
+他の実装では、基本正規表現は拡張正規表現より能力が低くなっています。
+ここでは、拡張正規表現について説明します。
+基本正規表現との違いは、その後に説明します。
+.PP
+正規表現の基本単位は、単一の文字にマッチします。
+アルファベットや数字などの多くの文字は、それ自身にマッチします。
+また、特殊な意味のあるメタ文字も、その文字の前にバックスラッシュ (`\e')
+を付ける事で、その本来の文字にマッチするようになります。
+.\"例えば
+.\".B 0
+.\"は 0 にマッチし、
+.\".B \e[
+.\"は [ にマッチします。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.PP
+.B [
+と
+.B ]
+で囲まれた文字のリストは、そのリストの中に含まれる文字のどれか
+にマッチします。ただし、リストの先頭にカレット
+.B ^
+を書いた場合は、そのリストに含まれ
+.I ない
+文字にマッチします。
+例えば、
+.B [0123456789]
+は数字 1 文字にマッチします。
+.\".B [^0123456789]
+.\"は数字以外の 1 文字にマッチします。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+ASCII 文字の範囲は最初と最後の文字をハイフン (`-') でつなぐことで
+指定できます。
+.\"例えば、
+.\".B [0-9]
+.\"は数字 1 文字にマッチします。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+[:クラス名:]で、特定の文字クラスを指定することができます。クラスには、
+.BR [:alnum:] ,
+.BR [:alpha:] ,
+.BR [:cntrl:] ,
+.BR [:digit:] ,
+.BR [:graph:] ,
+.BR [:lower:] ,
+.BR [:print:] ,
+.BR [:punct:] ,
+.BR [:space:] ,
+.BR [:upper:] ,
+.B [:xdigit:]
+があります。
+例えば、
+.B [[:alnum:]]
+は
+.B [0-9A-Za-z]
+と同じですが、
+.B [:alnum:]
+で指定した方が ASCII コード順に依存せず、後者の方が可搬的です。
+(注:クラス名の鈎括弧はシンボル名の一部であり、
+リストを区切る鈎括弧とは別に指定する必要があります。)
+リストの中では、ほとんどの特殊文字は、通常の文字として扱われます。
+また、次の文字も、リストの中の位置によっては、通常の文字として扱われます。
+文字
+.B ]
+を含むためにはリストの先頭においてください。同様に、文字
+.B ^
+を含むためには先頭以外においてください。文字
+.B \-
+を含むためには、最後においてください。
+.PP
+.\"例えば、[][] は ] か [ にマッチします。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.PP
+ピリオド
+.B .
+は、任意の 1 文字にマッチします。
+シンボル
+.B \ew
+は、
+.B [[:alnum:]]
+と同じで、
+シンボル
+.B \eW
+は、
+.B [^[:alnum:]]
+と同じです。
+.PP
+カレット
+.B ^
+と、
+ドル記号
+.B $
+は、それぞれ行の先頭と行の最後にマッチするメタ文字です。
+シンボル
+.B \e<
+とシンボル
+.B \e>
+は、それぞれ単語の先頭と単語の末尾にマッチするメタ文字です。
+.B \eb
+は単語の端にマッチします。
+.B \eB
+は単語の端
+.I 以外
+にマッチします。
+.PP
+次の表現は、他の正規表現を修飾します。拡張正規表現です。
+.PD 0
+.TP
+.B ?
+他の正規表現の後に指定し、0 回か 1 回マッチさせます。
+.\"マッチしない場合も一致とします。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.B *
+他の正規表現の後に指定し、0 回以上マッチさせます。
+.\"マッチしない場合も一致とします。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.B +
+他の正規表現の後に指定し、その正規表現を 1 回以上マッチさせます。
+.\"なお、少なくとも 1 回はマッチしなくてはいけません。
+.\"(訳注)原文表記中に上記の表現は見当たらないので削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.TP
+.BI { n }
+他の正規表現の後に指定し、厳密に
+.I n
+回マッチさせます。
+.TP
+.BI { n ,}
+他の正規表現の後に指定し、
+.I n
+回以上マッチさせます。
+.TP
+.BI {, m }
+他の正規表現の後に指定し、
+.I m
+回以下でマッチさせます。
+.TP
+.BI { n , m }
+他の正規表現の後に指定し、
+.I n
+回以上
+.I m
+回以下でマッチさせます。
+.PD
+.PP
+二つの正規表現は、つなげられます。
+結果としてできあがる正規表現は、それぞれの表現にマッチするつなげられた
+二つの部分文字列によって作られるどんな文字列にもマッチします。
+.B |
+は、二つの正規表現の間に指定し、どちらか一方がマッチすれば一致とします。
+結果として得られる正規表現はどんな部分表現にマッチする文字列にも
+マッチします。
+.PP
+.I n
+が一つの数字であるような、
+後方参照
+.BI \e n\c
+\& は、正規表現のカッコで囲まれた部分表現の
+.I n
+番目にマッチします。
+.PP
+基本正規表現では、メタ文字
+.BR ? ,
+.BR + ,
+.BR { ,
+.BR | ,
+.BR ( ,
+.B )
+は、その意味を失います。その代わりに、バックスラッシュが付けられた
+.BR \e? ,
+.BR \e+ ,
+.BR \e{ ,
+.BR \e| ,
+.BR \e( ,
+.B \e)
+として扱われます。
+.PP
+.B egrep
+として起動した場合、
+.B {
+は、正規表現としての特殊な意味は持ちません。代わりに、
+.B \e{
+を使う必要があります。
+.SH 診断
+パターンにマッチした行が見つかった場合は、0 を、見つからなかった場合は、1 を
+返します。ただし、
+.B \-v
+オプションが指定された場合は、逆になります。
+パターンの指定の仕方が間違っていたり、ファイルがアクセスできないなどの
+エラーがおきた場合は、 2 を返します。
+.SH バグ
+バグレポートは、
+.B bug-gnu-utils@prep.ai.mit.edu
+まで Email してください。この時、``Subject:'' のどこにでもいいですから
+``grep'' という単語を
+忘れずに入れてください。
+.PP
+.BI { m , n }
+の表現で非常に大きな繰り返しを指定すると、非常に多くのメモリを消費します。
+さらに、ある種のあいまいな正規表現を指定すると、必要となる時間とメモリ領域は
+指数的に増大し、メモリ不足を起こす可能性があります。
+.PP
+後方参照は非常に動作が遅く、必要となる時間は指数的に増大します。
+
diff --git a/ja/man/man1/grodvi.1 b/ja/man/man1/grodvi.1
new file mode 100644
index 0000000000..874ff2e4d6
--- /dev/null
+++ b/ja/man/man1/grodvi.1
@@ -0,0 +1,175 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: grodvi.1,v 1.2 1997/05/13 16:10:18 horikawa Stab %
+.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+.el .ds tx TeX
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH GRODVI 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+grodvi \- groff の出力を TeX の dvi 形式に変換する
+.SH 書式
+.B grodvi
+[
+.B \-dv
+] [
+.BI \-w n
+] [
+.BI \-F dir
+] [
+.IR files \|.\|.\|.
+]
+.SH 解説
+.B grodvi
+は
+\*(tx
+のdvi形式を出力する
+.B groff
+のドライバで、通常
+.BR groff\ \-Tdvi
+と実行されます。
+これは
+.BR troff\ \-Tdvi
+を実行するので、マクロ
+.BR /usr/share/tmac/tmac.dvi
+も読み込まれますし、入力が
+.B eqn
+によって前処理されていれば
+.BR /usr/share/groff_font/devdvi/eqnchar
+も読み込まれます。
+.LP
+.B grodvi
+によって生成された dvi ファイルは、正しく設計された
+どのような dvi ドライバででも表示できます。troff の基本的な
+描画機能は、tpic バージョン 2 の特殊機能(special)を用いて実装されています。
+dvi ドライバがこれらをサポートしていない場合は、
+.B \eD
+コマンドは何も出力しません。
+.LP
+troff のものに加え、描画コマンドとして次のものが利用可能です:
+.TP
+.BI \eD'R\ dh\ dv '
+現在の位置と、現在の位置
+.RI +( dh , dv )
+とを対角とする罫線(黒く塗りつぶした矩形)を描きます。描いた後の
+現在位置は、対角点となります。これは dvi ファイル内に
+罫線を出力するため、他の
+.B \eD
+コマンドと異なり、たとえドライバが tpic の特殊機能に対応して
+いなくとも印刷することができます。
+.LP
+.BI \eX' anything '
+という groff のコマンドは、
+\*(tx
+で
+.BI \especial{ anything }
+と記述した時と同様の dvi ファイル中コマンドに変換されます。
+.I anything
+に改行が入っていてはいけません。
+.LP
+.B grodvi
+の用いるフォントファイルは、
+.BR tfmtodit (1)
+によって tfm ファイルから作成できます。
+フォント記述ファイルには以下のような追加情報が
+含まれていなければなりません:
+.Tp \w'\fBinternalname'u+2n
+.BI internalname\ name
+.IR name
+は (拡張子
+.B tfm
+を除いた) tfm ファイル名です。
+.TP
+.BI checksum\ n
+.IR n
+は tfm ファイルのチェックサムです。
+.TP
+.BI designsize\ n
+.IR n
+は tfm ファイルのデザインサイズです。
+.LP
+これらは
+.B tfmtodit
+によって自動生成されます。
+.LP
+.B troff
+では、エスケープシーケンス
+.B \eN
+で指定することによって、対応する位置にある tfm ファイル内の文字を参照できます。
+このようにして tfm ファイルの全ての文字を参照可能です。
+.SH オプション
+.TP
+.B \-d
+描画コマンドを実現するのに tpic 特殊機能を使いません。
+水平・垂直な直線は罫線で実現されますが、他の描画コマンドは
+無視されます。
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.BI \-w n
+デフォルトの線の太さを M の横幅(em)の1000分の
+.I n
+にします。
+.TP
+.BI \-F dir
+フォントやデバイス記述ファイルを
+.IB dir /devdvi
+というディレクトリから探すようにします。
+.SH 関連ファイル
+.TP
+.B /usr/share/groff_font/devdvi/DESC
+デバイス記述ファイルです。
+.TP
+.B /usr/share/groff_font/devdvi/ F
+.IR F
+というフォントに対する記述ファイルです。
+.TP
+.B /usr/share/tmac/tmac.dvi
+.BR grodvi
+と共に使われるマクロです。
+.SH バグ
+.B grodvi
+によって生成される dvi ファイルは、
+\*(tx
+によって生成されるものとは解像度が異なっています(1インチにつき57816単位)。
+このため、dvi ファイルに指定されている解像度を参照せずに
+\*(tx
+で使われている解像度を想定しているような、正しく設計されていない
+ドライバは、grodvi ではうまく動作しません。
+.LP
+箱状の表に対して
+.B -d
+オプションを使った場合、時に水平・垂直な直線が 1 ピクセル
+突き出てしまうことがあります。これは
+\*(tx
+の指定する方法で
+罫線の縦横の長さを丸めているためです。
+.SH 関連項目
+.BR tfmtodit (1),
+.BR groff (1),
+.BR troff (1),
+.BR eqn (1),
+.BR groff_out (5),
+.BR groff_font (5),
+.BR groff_char (7)
diff --git a/ja/man/man1/groff.1 b/ja/man/man1/groff.1
new file mode 100644
index 0000000000..2244698e5d
--- /dev/null
+++ b/ja/man/man1/groff.1
@@ -0,0 +1,412 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: groff.1,v 1.2 1997/05/13 16:13:14 horikawa Stab %
+.de TQ
+.br
+.ns
+.TP \\$1
+..
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH GROFF 1 "8 September 1996" "Groff Version 1.10"
+.SH 名称
+groff \- groff ドキュメントフォーマットシステムのフロントエンド
+.SH 書式
+.B groff
+[
+.B \-tpeszaivhblCENRSVXZ
+]
+[
+.BI \-w name
+]
+[
+.BI \-W name
+]
+[
+.BI \-m name
+]
+[
+.BI \-F dir
+]
+[
+.BI \-T dev
+]
+[
+.BI \-f fam
+]
+[
+.BI \-M dir
+]
+[
+.BI \-d cs
+]
+[
+.BI \-r cn
+]
+[
+.BI \-n num
+]
+[
+.BI \-o list
+]
+[
+.BI \-P arg
+]
+[
+.IR files \|.\|.\|.\|
+]
+.SH 解説
+.B groff
+は、groff ドキュメントフォーマットシステムのフロントエンドプログラムです。通常
+.B groff
+は
+.B troff
+を実行し、その出力を指定されたデバイスで扱うための
+後処理プログラムを実行します。利用可能なデバイスは以下のとおりです:
+.TP
+.B ps
+PostScript プリンタやプレビュア
+.TP
+.B dvi
+TeX の dvi フォーマット
+.TP
+.B X75
+75 dpi の X11 プレビュア
+.TP
+.B X100
+100 dpi の X11 プレビュア
+.TP
+.B ascii
+タイプライタに似た特性を持つデバイス
+.TP
+.B latin1
+ISO Latin-1 文字集合を利用するタイプライタに似た特性を持つデバイス
+.TP
+.B koi8-r
+ロシア語 KOI8-R 文字集合を利用するタイプライタに似た特性を持つデバイス
+.LP
+指定されたデバイス用の後処理を行うプログラムは、デバイス記述ファイルの
+.B postpro
+コマンドにより指定されています。これは
+.B \-X
+オプションにより変更できます。
+.LP
+デフォルトのデバイスは
+.B ps
+です。
+.BR pic ,
+.BR eqn ,
+.BR tbl ,
+.BR refer ,
+.B soelim
+の任意の前処理を行わせることもできます。
+.LP
+引数を伴わないオプションは
+.B \-
+のあとにまとめて続けることができます。
+ファイル名のかわりに用いられる
+.B \-
+は標準入力を意味します。
+.LP
+.B grog
+コマンドを用いてドキュメントを正しくフォーマットするための
+.B groff
+コマンドを調べることができます。
+.SH オプション
+.TP
+.B \-h
+ヘルプメッセージを表示します。
+.TP
+.B \-e
+.B eqn
+を使って前処理を行います。
+.TP
+.B \-t
+.B tbl
+を使って前処理を行います。
+.TP
+.B \-p
+.B pic
+を使って前処理を行います。
+.TP
+.B \-s
+.B soelim
+を使って前処理を行います。
+.TP
+.B \-R
+.B refer
+を使って前処理を行います。
+.B refer
+に引数を渡す機構は用意されていません。
+.B refer
+のほとんどのオプションは、ファイル中に記述することができる等価なコマンドを
+備えているからです。詳しくは
+.BR refer (1)
+のマニュアルを参照してください。
+.TP
+.B \-v
+.B groff
+から起動されるプログラムのバージョン番号を表示します。
+.TP
+.B \-V
+実行しないで、
+.B groff
+で実行される処理内容を標準出力に表示します。
+.TP
+.B \-z
+.B troff
+からの出力を捨てます。エラーメッセージのみが表示されます。
+.TP
+.B \-Z
+.B troff
+からの出力を後処理しません。通常
+.B groff
+は、自動的に適当な後処理プログラムを起動します。
+.TP
+.BI \-P arg
+後処理プログラムに
+.I arg
+を引数として渡します。別々の引数は別々の
+.B \-P
+オプションで指定する必要があります。
+.B groff
+は、
+.I arg
+の前に
+.B \-
+をつけてコマンドに渡したりしないことに注意してください。
+.TP
+.B \-l
+プリンタへ出力します。プリントアウトに用いられるコマンドは、デバイス
+記述ファイルの
+.B print
+コマンドによって指定されます。
+.TP
+.BI \-L arg
+.I arg
+をプリンタスプーラプログラムに渡します。別々の引数は、別々の
+.B \-L
+オプションで指定する必要があります。
+.B groff
+は、
+.I arg
+の前に
+.B \-
+をつけてコマンドに渡したりしないことに注意してください。
+.TP
+.BI \-T dev
+デバイス
+.I dev
+用に出力します。デフォルトのデバイスは
+.B ps
+です。
+.TP
+.B \-X
+通常の後処理プログラムのかわりに、
+.B gxditview
+を起動してプレビューします。
+.B groff
+は
+.B gxditview
+に
+.B -printCommand
+オプションを渡します。このオプションは
+.B groff
+に
+.B -l
+オプション指定時に実行される
+.B Print
+アクションを実行させます。
+.B \-Tps
+以外が指定されている場合は、よい結果が得られません。
+.TP
+.B \-N
+.B eqn
+の区切り文字間に改行が入ることを禁止します。
+.B eqn
+の
+.B \-N
+オプションと同様です。
+.TP
+.B \-S
+より安全なモード。
+.B \-S
+オプションを
+.B pic
+に渡し、
+.B troff
+にて
+.B \%\-msafer
+マクロを使用します。
+.TP
+.B \-a
+.TQ
+.B \-b
+.TQ
+.B \-i
+.TQ
+.B \-C
+.TQ
+.B \-E
+.TQ
+.BI \-w name
+.TQ
+.BI \-W name
+.TQ
+.BI \-m name
+.TQ
+.BI \-o list
+.TQ
+.BI \-d cs
+.TQ
+.BI \-r cn
+.TQ
+.BI \-F dir
+.TQ
+.BI \-M dir
+.TQ
+.BI \-f fam
+.TQ
+.BI \-n num
+これらのオプションの詳細は、
+.BR troff (1)
+に記述してあります。
+.SH 環境変数
+.TP
+.SM
+.B GROFF_COMMAND_PREFIX
+もしこの変数が
+.I X
+に設定されていると、
+.B groff
+は
+.B troff
+のかわりに
+.IB X troff
+を起動します。これは、
+.BR tbl ,
+.BR pic ,
+.BR eqn ,
+.BR refer ,
+.B soelim
+にも同様に影響します。
+.BR gropos ,
+.BR grodvi ,
+.BR grotty ,
+.B gxditview
+には影響しません。
+.TP
+.SM
+.B GROFF_TMAC_PATH
+マクロファイルを検索すべきディレクトリのリスト(リストの区切りはコロンです)
+.TP
+.SM
+.B GROFF_TYPESETTER
+デフォルトのデバイス
+.TP
+.SM
+.B GROFF_FONT_PATH
+.BI dev name
+という名前のディレクトリを検索するディレクトリのリスト(リストの区切りはコロンです)
+.TP
+.SM
+.B PATH
+.B groff
+から起動されるプログラムが存在するパス
+.TP
+.SM
+.B GROFF_TMPDIR
+一時的なファイルが作成されるディレクトリ。もし、
+.SM GRROFF_TMPDIR
+が設定さ
+れておらず、
+.B
+.SM TMPDIR
+が設定されているなら、
+.SM TMPDIR
+で示されるディレクトリ
+に一時ファイルが生成されます。さもなければ、一時ファイルは
+.B /tmp
+に作られます。
+.BR grops (1)
+と
+.BR refer (1)
+が一時ファイルを作成する可能性があります。
+.SH 関連ファイル
+.Tp \w'\fB/usr/share/groff_font/dev\fIname\fB/DESC'u+3n
+.BI /usr/share/groff_font/dev name /DESC
+デバイス
+.IR name
+のデバイス記述ファイル
+.TP
+.BI /usr/share/groff_font/dev name / F
+デバイス
+.I name
+のためのフォント
+.I F
+を記述したフォントファイル
+.SH 作者
+James Clark <jjc@jclark.com>
+.SH バグ
+バグレポートは、bug-groff@prep.ai.mit.edu. までお願いします。
+レポートの際にはバグを再現できる完全な例題を添付し、あなたの利
+用している groff のバージョンを添えて下さい。
+.SH 著作権
+Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
+.LP
+groff はフリーソフトウェアです。Free Software Foundation から
+出版されている the GNU General Public License の ver 2.0 かそ
+れ以降に基づく限り再配布したり、変更することが可能です。
+.LP
+groff は使い易いツールとして配布されることを望まれていますが、
+どのような保証もありません。それが商業的であってもある特定の目
+的に対するだけであっても保証はありません。詳しくは GNU の
+General Public License を参照して下さい。
+.LP
+あなた
+は groff のコピーを GNU General Public License と共に受
+けとっているはずです。その COPYING を参照して下さい。そうでな
+い場合には、
+Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+まで御連絡下さい。
+.SH 可用性
+最新の groff はたいてい prep.ai.mit.edu の pub/gnu ディレクト
+リに置かれており、anonymous ftp で入手できます。
+.SH 関連項目
+.\" .BR grog (1),
+.BR troff (1),
+.BR tbl (1),
+.BR pic (1),
+.BR eqn (1),
+.BR soelim (1) ,
+.BR refer (1),
+.BR grops (1),
+.BR grodvi (1),
+.BR grotty (1),
+.\" .BR gxditview (1),
+.BR groff_font (5),
+.BR groff_out (5),
+.BR groff_ms (7),
+.BR me (7),
+.BR groff_char (7),
+.BR msafer (7)
diff --git a/ja/man/man1/grolj4.1 b/ja/man/man1/grolj4.1
new file mode 100644
index 0000000000..35a7b7f4a9
--- /dev/null
+++ b/ja/man/man1/grolj4.1
@@ -0,0 +1,111 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: grolj4.1,v 1.3 1997/10/28 10:11:56 ryo2 Stab %
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH GROLJ4 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+grolj4 \- HP Laserjet 4 ファミリ用 groff ドライバ
+.SH 書式
+.B grolj4
+[
+.B \-lv
+] [
+.BI \-c n
+] [
+.BI \-p paper_size
+] [
+.BI \-w n
+] [
+.BI \-F dir
+] [
+.IR files \|.\|.\|.
+]
+.SH 解説
+.B grolj4
+は
+.B groff
+のドライバであり、HP Laserjet 4 プリンタに適した PCL5 フォーマットの出力
+を生成します。
+.LP
+troff のものに加え、描画コマンドとして次のものが利用可能です:
+.TP
+.BI \eD'R\ dh\ dv '
+現在の位置と、現在の位置
+.RI +( dh , dv )
+とを対角とする罫線(黒く塗りつぶした矩形)を描きます。描いた後の
+現在位置は、対角点となります。
+これは PCL の矩形塗りつぶしコマンドを生成します。
+他デバイスの
+.B \eD
+コマンドと異なり HPGL/2 をサポートしないプリンタ上で動作します。
+.SH オプション
+.TP
+.BI \-c n
+各ページを
+.I n
+回印刷します。
+.TP
+.B \-l
+ランドスケープにて文書を印刷します。
+.TP
+.BI \-p size
+用紙サイズを
+.I size
+にします。これは
+letter, legal, executive, a4, com10, monarch, c5, b5, dl のいずれかである
+必要があります。
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.BI \-w n
+デフォルトの線の太さを M の横幅 (em)の1000 分の
+.I n
+にします。
+.TP
+.BI \-F dir
+フォントやデバイス記述ファイルを
+.IB dir /devlj4
+というディレクトリから探すようにします。
+.SH 関連ファイル
+.TP
+.B /usr/share/groff_font/devlj4/DESC
+デバイス記述ファイルです。
+.TP
+.B /usr/share/groff_font/devlj4/ F
+.I F
+というフォントに対する記述ファイルです。
+.TP
+.B /usr/share/tmac/tmac.lj4
+.B grolj4
+と共に使われるマクロです。
+.SH バグ
+些細なものです。
+.SH 関連項目
+.BR groff (1),
+.BR troff (1),
+.BR eqn (1),
+.BR groff_out (5),
+.BR groff_font (5),
+.BR groff_char (7),
diff --git a/ja/man/man1/grops.1 b/ja/man/man1/grops.1
new file mode 100644
index 0000000000..7a2b2cfbad
--- /dev/null
+++ b/ja/man/man1/grops.1
@@ -0,0 +1,796 @@
+.\" jpman %Id: grops.1,v 1.2 1997/06/15 11:25:35 horikawa Stab %
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH GROPS 1 "8 September 1996" "Groff Version 1.10"
+.SH 名称
+grops \- groff 用 PostScript ドライバ
+.SH 書式
+.B grops
+[
+.B \-glmv
+] [
+.BI \-b n
+] [
+.BI \-c n
+] [
+.BI \-w n
+] [
+.BI \-F dir
+] [
+.IR files \|.\|.\|.
+]
+.SH 解説
+.B grops
+は GNU
+.B troff
+の出力を PostScript に変換します。
+通常
+.B grops
+は groff コマンドを
+.B \-Tps
+オプション付きで起動した時に起動されます。
+.if 'ps'ps' (groff のデフォルトです。)
+ファイルを指定しないと、
+.B grops
+は標準入力を読みます。
+ファイル名
+.B \-
+を指定しても、
+.B grops
+は標準入力を読みます。
+PostScript 出力は標準出力に書きます。
+.B grops
+を
+.B groff
+から起動する場合、
+.B groff
+.B \-P
+により、オプションを
+.B grops
+に渡せます。
+.SH オプション
+.TP
+.BI \-b n
+不良なスプーラとプレビュアのための対処をします。
+通常、
+.B grops
+は
+Document Structuring Conventions version 3.0 を満たす出力を生成します。
+値
+.I n
+は、不良プログラムが受理可能な出力を
+.B grops
+が行うように制御します。
+値 0 は grops に何も対処しないようにさせます。
+.B %%BeginDocumentSetup
+と
+.B %%EndDocumentSetup
+のコメントを生成してはならない場合 1 を加えます;
+初期バージョンの TranScript は
+.B %%EndProlog
+コメントと最初の
+.B %%Page
+コメントとの間で混乱させられましたので、これが必要です。
+インクルードされたファイルで
+.B %!
+から始まる行を取り除かねばならない時には 2 を加えます;
+Sun の pageview プレビュアで必要です。
+インクルードされたファイルから
+.BR %%Page ,
+.BR %%Trailer ,
+.B %%EndProlog
+コメントを取り除かねばならない時には 4 を加えます;
+.B %%BeginDocument
+と
+.B %%EndDocument
+のコメントを理解しないスプーラに対して必要です。
+PostScript 出力の最初の行が
+.B %!PS-Adobe-3.0
+ではなく
+.B %!PS-Adobe-2.0
+でなければならない時には 8 を加えます;
+Sun の Newsprint をページ逆順を要求するプリンタと共に使用する時に必要です。
+デフォルト値は
+.RS
+.IP
+.BI broken\ n
+.LP
+コマンドを DESC ファイルに記述することで指定可能です。
+そうでない場合はデフォルト値は 0 です。
+.RE
+.TP
+.BI \-c n
+各ページを
+.I n
+部ずつ印刷します。
+.TP
+.BI \-g
+ページ長を予測します。
+ページ長を予測する PostScript コードを生成します。
+イメージ領域が垂直位置でページの中心に有る時のみ、予測は正しいはずです。
+このオプションにより、変更無しで
+letter (8.5\(mu11) と A4 の両方に印刷可能な文書を生成可能です。
+.TP
+.B \-l
+文書をランドスケープ形式にて印刷します。
+.TP
+.B \-m
+文書に対し手動フィードを有効にします。
+.TP
+.BI \-F dir
+ディレクトリ
+.IB dir /dev name
+からフォントとデバイス記述ファイルを探します;
+.I name
+はデバイス名であり、通常
+.B ps
+です。
+.TP
+.BI \-w n
+線の太さを M の横幅 (em) の 1000 分の
+.I n
+にて描画します。
+.TP
+.B \-v
+バージョン番号を表示します。
+.SH 使用方法
+.BR R ,
+.BR I ,
+.BR B ,
+.B BI
+と呼ばれるスタイルがフォント位置 1 から 4 までにマウントされます。
+フォントはファミリ
+.BR A ,
+.BR BM ,
+.BR C ,
+.BR H ,
+.BR HN ,
+.BR N ,
+.BR P ,
+.B T
+にまとめられ、これらのスタイル中にメンバを持ちます:
+.de FT
+.if '\\*(.T'ps' .ft \\$1
+..
+.TP
+.B AR
+.FT AR
+AvantGarde-Book
+.FT
+.TP
+.B AI
+.FT AI
+AvantGarde-BookOblique
+.FT
+.TP
+.B AB
+.FT AB
+AvantGarde-Demi
+.FT
+.TP
+.B ABI
+.FT ABI
+AvantGarde-DemiOblique
+.FT
+.TP
+.B BMR
+.FT BMR
+Bookman-Light
+.FT
+.TP
+.B BMI
+.FT BMI
+Bookman-LightItalic
+.FT
+.TP
+.B BMB
+.FT BMB
+Bookman-Demi
+.FT
+.TP
+.B BMBI
+.FT BMBI
+Bookman-DemiItalic
+.FT
+.TP
+.B CR
+.FT CR
+Courier
+.FT
+.TP
+.B CI
+.FT CI
+Courier-Oblique
+.FT
+.TP
+.B CB
+.FT CB
+Courier-Bold
+.FT
+.TP
+.B CBI
+.FT CBI
+Courier-BoldOblique
+.FT
+.TP
+.B HR
+.FT HR
+Helvetica
+.FT
+.TP
+.B HI
+.FT HI
+Helvetica-Oblique
+.FT
+.TP
+.B HB
+.FT HB
+Helvetica-Bold
+.FT
+.TP
+.B HBI
+.FT HBI
+Helvetica-BoldOblique
+.FT
+.TP
+.B HNR
+.FT HNR
+Helvetica-Narrow
+.FT
+.TP
+.B HNI
+.FT HNI
+Helvetica-Narrow-Oblique
+.FT
+.TP
+.B HNB
+.FT HNB
+Helvetica-Narrow-Bold
+.FT
+.TP
+.B HNBI
+.FT HNBI
+Helvetica-Narrow-BoldOblique
+.FT
+.TP
+.B NR
+.FT NR
+NewCenturySchlbk-Roman
+.FT
+.TP
+.B NI
+.FT NI
+NewCenturySchlbk-Italic
+.FT
+.TP
+.B NB
+.FT NB
+NewCenturySchlbk-Bold
+.FT
+.TP
+.B NBI
+.FT NBI
+NewCenturySchlbk-BoldItalic
+.FT
+.TP
+.B PR
+.FT PR
+Palatino-Roman
+.FT
+.TP
+.B PI
+.FT PI
+Palatino-Italic
+.FT
+.TP
+.B PB
+.FT PB
+Palatino-Bold
+.FT
+.TP
+.B PBI
+.FT PBI
+Palatino-BoldItalic
+.FT
+.TP
+.B TR
+.FT TR
+Times-Roman
+.FT
+.TP
+.B TI
+.FT TI
+Times-Italic
+.FT
+.TP
+.B TB
+.FT TB
+Times-Bold
+.FT
+.TP
+.B TBI
+.FT TBI
+Times-BoldItalic
+.FT
+.LP
+ファミリのメンバではない以下のフォントもあります:
+.TP
+.B ZCMI
+.FT ZCMI
+ZapfChancery-MediumItalic
+.FT
+.LP
+.B SS
+および
+.B S
+と呼ばれる特別なフォントも有ります。
+Zapf Dingbats は
+.BR ZD
+として、逆バージョンの ZapfDingbats (シンボルが逆向き) は
+.B ZDR
+として使用可能です;
+これらのフォントのほとんどの文字は名前が無いので、
+.B \eN
+にてアクセスせねばなりません。
+.LP
+.B grops
+は
+.B \eX
+エスケープシーケンスにより生成された様々な X コマンドを理解します;
+.B grops
+は
+.B ps:
+タグから始まるコマンドのみを翻訳します:
+.TP
+.BI \eX'ps:\ exec\ code '
+.I code
+中の任意の PostScript コマンドを実行します。
+.I code
+実行前に PostScript の現在位置は
+.B \eX
+の位置に設定されます。
+原点はページの左上になり、y 座標はページを下ると増加します。
+プロシジャ
+.B u
+は、groff の単位を有効な座標系のものに変更するように定義されます。
+例えば、
+.RS
+.IP
+.B
+\&.nr x 1i
+.br
+.B
+\eX'ps: exec \enx u 0 rlineto stroke'
+.br
+.RE
+.IP
+は 1 インチ長の水平線を描画します。
+.I code
+はグラフィックステートを変更し得ますが、ページの終端までしか継続しません。
+.B def
+と
+.B mdef
+により指定される定義を含む辞書は、辞書スタックの頭に有るでしょう。
+あなたのコードがこの辞書に定義を付加するなら、
+.BI \eX'ps\ mdef \ n '\fR
+を使用して、そのための空間を割り当てる必要が有ります。
+定義はページの終りまでしか継続しません。
+.B \eY
+エスケープシーケンスをマクロを名付ける引数と共に使うと、
+.I code
+を複数行に渡らせることが出来ます。
+例えば、
+.RS
+.IP
+.nf
+.ft B
+\&.nr x 1i
+\&.de y
+\&ps: exec
+\&\enx u 0 rlineto
+\&stroke
+\&..
+\&\eYy
+.fi
+.ft R
+.LP
+は 1 インチ長の水平線を描画する別の方法です。
+.RE
+.TP
+.BI \eX'ps:\ file\ name '
+.B exec
+コマンドと同様ですが、コードをファイル
+.I name
+から読みます。
+.TP
+.BI \eX'ps:\ def\ code '
+.I code
+の PostScript 定義をプロログ部に置きます。
+.B \eX
+コマンドに対し最大 1 定義までです。
+長い定義は複数の
+.B \eX
+コマンドに渡り分割できます;
+全ての
+.I code
+引数は、改行で区切られ、単純に連結されます。
+定義は、
+.B exec
+コマンド実行時に辞書スタックに自動的にプッシュされる辞書に置かれます。
+.B \eY
+エスケープシーケンスをマクロを名付ける引数と共に使うと、
+.I code
+を複数行に渡らせることが出来ます。
+.TP
+.BI \eX'ps:\ mdef\ n\ code '
+.B def
+と同様ですが、
+.I code
+は
+.I n
+個まで定義を保持し得ます。
+.B grops
+は何個の定義を
+.I code
+が含むのかを知る必要が有るので、これらを含む適切な大きさの PostScript 辞書
+を生成できます。
+.TP
+.BI \eX'ps:\ import\ file\ llx\ lly\ urx\ ury\ width\ \fR[\fP\ height\ \fR]\fP '
+PostScript グラフィクスを
+.I file
+からインポートします。
+引数
+.IR llx ,
+.IR lly ,
+.IR urx ,
+.I ury
+は、デフォルトの PostScript 座標系における
+グラフィックのバウンディングボックスを与えます;
+すべて整数である必要が有ります;
+.I llx
+と
+.I lly
+はグラフィックの左下の x y 座標です;
+.I urx
+と
+.I ury
+はグラフィックの右上の x y 座標です;
+.I width
+と
+.I height
+は整数であり、groff の単位でグラフィックの幅と高さを与えます。
+グラフィックは延び縮みして、この幅と高さになり、
+グラフィックの左下角は
+.B \eX
+コマンドにて関連づけられた場所に位置します。
+引数 height を省略すると、x y 方向が同等に縮尺され、
+指定した幅になります。
+.B \eX
+コマンドの内容は
+.B troff
+が解釈しないことに注意して下さい;
+グラフィックのための垂直方向の空白は自動的に付加されず、
+.I width
+と
+.I height
+の引数にスケーリングインジケータを付加することは許されません。
+PostScript ファイルが Adobe Document Structuring Conventions から成り、
+.B %%BoundingBox
+コメントを含む場合、
+.B sy
+リクエストによる
+.B psbb
+コマンド実行により、groff 中でバウンディングボックスを自動的に取得可能です。
+.RS
+.LP
+.B \-mps
+マクロ (
+.B grops
+が groff コマンドから起動された時には自動的にロードされます) は、
+画像を容易にインポート出来るようにする
+.B PSPIC
+マクロをインクルードします。
+フォーマットは以下です。
+.IP
+\&\fB.PSPIC\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\ \"
+\fI\|file\fP [ \fIwidth\fP [ \fIheight\fP ]]
+.LP
+.I file
+は画像を含むファイル名;
+.I width
+と
+.I height
+は要求する画像の横幅と高さです。
+引数
+.I width
+と
+.I height
+にはスケーリングインジケータを付けても構いません;
+デフォルトのスケーリングインジケータは
+.B i
+です。
+このマクロは、
+画像の幅が
+.I width
+以下および
+画像の高さが
+.I height
+以下の範囲において、画像を x y 方向同等で縮尺します。
+デフォルトで、画像は水平的に中心に置かれます。
+.BI \-L
+および
+.BI \-R
+はそれぞれ画像を左寄せおよび右寄せします。
+.B \-I
+オプションは、画像を
+.I n
+だけインデントします。
+.RE
+.TP
+.B \eX'ps:\ invis'
+.br
+.ns
+.TP
+.B \eX'ps:\ endinvis'
+これらの
+.B \eX
+コマンドにて囲まれたテキストと描画コマンドは出力を生成しません。
+このコマンドは、
+.B troff
+の出力を
+.B grops
+で処理する前に見るために有ります;
+プレビュアがある文字または構造を表示できない時、
+これらの
+.B \eX
+コマンドで囲むことにより、
+代わりの文字または構造をプレビュー用に使えます。
+.RS
+.LP
+例えば、標準の X11 フォントには含まれませんので、
+.B gxditview
+は
+.B \e(em
+文字を正しく表示できません;
+この問題は以下のリクエストを実行することにより解決できます。
+.IP
+.ft B
+.nf
+\&.char \e(em \eX'ps: invis'\e
+\eZ'\ev'-.25m'\eh'.05m'\eD'l .9m 0'\eh'.05m''\e
+\eX'ps: endinvis'\e(em
+.ft
+.fi
+.LP
+この場合、
+.B gxditview
+は
+.B \e(em
+文字を表示できず線を引きますが、
+.B grops
+は
+.B \e(em
+文字を印刷し線を無視します。
+.RE
+.LP
+.B grops
+への入力は
+.B troff (1)
+の出力形式である必要が有ります。
+これは
+.B groff_out (5)
+に記載してあります。
+また、使用するデバイスに関するデバイス及びフォントの記述ファイルは
+仕様に合致する必要が有ります。
+.B ps
+デバイスに対して提供されているデバイス及びフォントの記述ファイルは
+完全にこの仕様に合致します。
+.BR afmtodit (1)
+を使って AFM ファイルからフォントファイルを生成可能です。
+解像度は、整数値かつ
+.B sizescale
+の 72 倍の倍数である必要が有ります。
+.B ps
+デバイスは解像度 72000 および sizescale 1000 を使用します。
+デバイス記述ファイルはコマンド
+.IP
+.BI paperlength\ n
+.LP
+を含む必要が有ります。これは生成される出力が、ページ長
+.I n
+マシンユニットに適していることを意味します。
+各フォント記述ファイルはコマンド
+.IP
+.BI internalname\ psname
+.LP
+を含む必要が有ります。これは PostScript におけるフォント名が
+.I psname
+であることを意味します。
+また、コマンド
+.IP
+.BI encoding\ enc_file
+.LP
+を含む場合も有ります。これは PostScript フォントが
+.I enc_file
+に記載されたエンコード方式で再度エンコードする必要が有ることを意味します;
+このファイルは以下の形式の行のシーケンスから成ります:
+.IP
+.I
+pschar code
+.LP
+ここで
+.I pschar
+は PostScript における文字名であり、
+.I code
+はエンコードにおける位置を 10 進整数で表したものです。
+フォントファイルにおいて与えられる各文字のコードは、
+エンコードファイルにおける文字のコードに対応するか、
+もしくは PostScript フォントが再度エンコードされていない場合は
+デフォルトエンコードにおけるコードに対応する必要が有ります。
+このコードを
+.B \eN
+エスケープシーケンスと共に
+.B troff
+中で使うことにより文字を選択可能です。
+これは、文字が groff での名前を持たなくても可能です。
+フォントファイル中の全ての文字は PostScript フォント中に存在することが
+必要であり、
+フォントファイル中で与えられる幅は PostScript フォントで使用される幅に
+マッチする必要が有ります。
+.B grops
+は、groff における名前が
+.B space
+である文字をブランク (ページ上に何も印を付けない) であるとしています;
+これにより、効率の良い小さな PostScript 出力が得られます。
+.LP
+.B grops
+は文書印刷に必要なダウンロード可能なフォントを自動的にインクルードします。
+要求時に
+.B grops
+にインクルードされるダウンロード可能な全てのフォントは
+.B /usr/share/groff_font/devps/download
+に列挙する必要が有ります;
+これは以下の形式の複数の行から成ります。
+.IP
+.I
+font filename
+.LP
+ここで
+.I font
+はフォントの PostScript における名前であり、
+.I filename
+はフォントを含むファイルの名前です;
+.B #
+から始まる行と空行は無視されます;
+フィールドはタブもしくは空白により区切ります;
+.I filename
+の検索は、groff のフォントメトリックファイルの検索と同じ方式で行われます。
+.B download
+ファイル自身も同じ方式で検索されます。
+.LP
+ダウンロード可能なフォントもしくはインポートされた文書を含むファイルが
+Adobe Document Structuring Conventions を満たす場合、
+.B grops
+はファイル中のコメントを十分解釈し、出力もこれを満たすようにします。
+また、
+.B download
+ファイルに列挙された必要なフォントリソースおよびファイルリソースを提供します。
+また、リソース間の依存関係を扱うことも可能です。
+例えば、ダウンロード可能な Garamond フォントおよび
+ダウンロード可能な Garamond-Outline フォントが有り、
+後者が前者に依存すると仮定すると
+(概して、後者は前者のフォント辞書をコピーして PaintType を変更したものと
+定義されます)、PostScript 文書中で Garamond が Garamond-Outline より前に
+現れる必要が有ります。
+.B grops
+がこれを自動的に扱うためには、
+Garamond-Outline 用のダウンロード可能なフォントファイルが
+Garamond に依存することを
+Document Structuring Conventions を使用して示します。
+例えば以下のように始めることで示します。
+.IP
+.B
+%!PS-Adobe-3.0 Resource-Font
+.br
+.B
+%%DocumentNeededResources: font Garamond
+.br
+.B
+%%EndComments
+.br
+.B
+%%IncludeResource: font Garamond
+.LP
+この場合、Garamond と Garamond-Outline を
+.B download
+ファイルに列挙する必要が有ります。
+ダウンロード可能なフォントは、自身の名前を
+.B %%DocumentSuppliedResources
+コメントに含んではなりません。
+.LP
+.B grops
+は
+.B %%DocumentFonts
+コメントを解釈しません。
+.BR %%DocumentNeededResources ,
+.BR %%DocumentSuppliedResources ,
+.BR %%IncludeResource ,
+.BR %%BeginResource ,
+.BR %%EndResource
+コメント
+(もしくは古い
+.BR %%DocumentNeededFonts ,
+.BR %%DocumentSuppliedFonts ,
+.BR %%IncludeFont ,
+.BR %%BeginFont ,
+.BR %%EndFont
+コメント) は使用されます。
+.SH 関連ファイル
+.Tp \w'\fB/usr/share/groff_font/devps/download'u+2n
+.B /usr/share/groff_font/devps/DESC
+デバイス記述ファイル。
+.TP
+.BI /usr/share/groff_font/devps/ F
+フォント
+.I F
+のフォント記述ファイル。
+.TP
+.B /usr/share/groff_font/devps/download
+ダウンロード可能なフォントのリスト。
+.TP
+.B /usr/share/groff_font/devps/text.enc
+テキストフォント用のエンコード方法。
+.TP
+.B /usr/share/tmac/tmac.ps
+.B grops
+が使用するマクロ;
+.B troffrc
+により自動的にロードされます。
+.TP
+.B /usr/share/tmac/tmac.pspic
+.B PSPIC
+マクロの定義。
+.B tmac.ps
+から自動的にロードされます。
+.TP
+.B /usr/share/tmac/tmac.psold
+古い PostScript プリンタには存在しない文字の使用を禁止するマクロ;
+.B tmac.ps
+から自動的にロードされます。
+.TP
+.B /usr/share/tmac/tmac.psnew
+.B tmac.psold
+の効果を打ち消すマクロ。
+.TP
+.BI /tmp/grops XXXXXX
+一時ファイル。
+.SH "関連項目"
+.\" .BR afmtodit (1),
+.BR groff (1),
+.BR troff (1),
+.BR psbb (1),
+.BR groff_out (5),
+.BR groff_font (5),
+.BR groff_char (7)
diff --git a/ja/man/man1/grotty.1 b/ja/man/man1/grotty.1
new file mode 100644
index 0000000000..24b7cb966a
--- /dev/null
+++ b/ja/man/man1/grotty.1
@@ -0,0 +1,198 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: grotty.1,v 1.2 1997/05/13 16:15:38 horikawa Stab %
+.TH GROTTY 1 "8 September 1996" "Groff Version 1.10"
+.SH 名称
+grotty \- タイプライタ型デバイスのための groff ドライバ
+.SH 書式
+.B grotty
+[
+.B \-hfbuodBUv
+] [
+.BI \-F dir
+] [
+.IR files \|.\|.\|.
+]
+.SH 解説
+.B grotty
+は、GNU
+.B troff
+の出力をタイプライタ型デバイスのために変換します。通常
+.B grotty
+は、
+.B groff
+に
+.BR \-Tascii ,
+.BR \-Tkoi8-r ,
+.B \-Tlatin1
+のいずれかのオプションを指定することにより起動されます。
+ファイル名を指定しない場合は標準入力を読み込みます。
+ファイル名として
+.B \-
+を指定した場合も標準入力を読み込みます。
+出力は標準出力に書き出されます。
+.LP
+通常
+.B grotty
+は、ボールド文字
+.I c
+を
+.RI ` c
+.SM BACKSPACE
+.IR c '
+というシーケンスで、
+イタリック文字
+.I c
+を
+.RB ` _
+.SM BACKSPACE
+.IR c '
+というシーケンスで出力します。
+これらのシーケンスは、
+.BR ul (1)
+を通すことにより、端末で表示することができるようになります。
+.BR more (1)
+や
+.BR less (1)
+のようなページャも、これらのシーケンスを表示することができます。
+.BR less (1)
+を使って表示する場合は
+.B \-B
+または
+.B \-U
+オプションを、
+.BR more (1)
+を使って表示する場合は
+.B \-b
+オプションを使用してください。
+.B grotty
+は逆改行を出力しないので、
+.BR col (1)
+を通す必要はありません。
+.LP
+フォント記述ファイルには、以下のコマンドを含めることができます。
+.IP
+.BI internalname\ n
+.LP
+ここで、
+.I n
+は 10 進数の整数です。もし
+.I n
+の 01 ビットがセットされているなら、そのフォントは
+イタリックフォントとして扱われます。
+02 ビットがセットされているなら、ボールドフォントとして扱われます。
+フォント記述のコードフィールドは、出力時に用いられる文字を指定します。
+このコードは、
+.B troff
+の
+.B \eN
+エスケープシーケンスでも使用されます。
+.SH オプション
+.TP
+.BI \-F dir
+フォントとデバイス記述ファイルを
+.IB dir /dev name
+ディレクトリから探します。
+.I name
+はデバイス名で、通常は
+.BR ascii ,
+.BR koi8-r ,
+.B latin1
+のいずれかです。
+.TP
+.B \-h
+出力に水平タブを使用します。水平タブは 8 桁ごとに設定されているものとします。
+.TP
+.B \-f
+フォームフィードを使用します。
+最終行に出力するものがないページの最後にフォームフィードが出力されます。
+.TP
+.B \-b
+ボールド文字を出力するのに二重打ちを使わないようにします。
+.TP
+.B \-u
+イタリック文字を出力するのにアンダーラインを使用しないようにします。
+.TP
+.B \-B
+ボールドイタリック文字をただの二重打ちで出力します。
+.TP
+.B \-U
+ボールドイタリック文字をただのアンダーラインで出力します。
+.TP
+.B \-o
+ボールドとアンダーライン以外に二重打ちを用いないようにします。
+.TP
+.B \-d
+すべての
+.B \eD
+コマンドを無視します。このオプションを指定しないと、
+.B grotty
+は
+.B \eD'l\|.\|.\|.'
+コマンドのうち引数のどちらかが 0 (すなわち水平あるいは垂直線の描画)
+であるものを、文字
+.BR \- ,
+.BR \&| ,
+.B \&+
+を用いて描画します。
+.TP
+.B \-v
+バージョン番号を表示します。
+.SH 関連ファイル
+.TP
+.B /usr/share/groff_font/dev\fIname\fB/DESC
+.B name
+デバイス記述ファイル
+.TP
+.B /usr/share/groff_font/dev\fIname\fB/F
+.B name
+デバイスにおけるフォント
+.I F
+用のフォント記述ファイル
+.TP
+.B /usr/share/tmac/tmac.tty
+.B grotty
+で用いるマクロ
+.TP
+.B /usr/share/tmac/tmac.tty-char
+そのままでは
+.B grotty
+に表示できない文字の表示方法の定義
+.SH バグ
+.LP
+.B grotty
+は、単純なドキュメントの作成を意図して作られています。
+.LP
+水平や鉛直方向への小さな移動 (半改行など、1文字、1行より小さな位置決め) を
+サポートしていません。
+.LP
+水平線、鉛直線以外の
+.B \eD
+コマンドはサポートされていません。
+.LP
+1 行目よりも上に位置する文字(すなわち垂直方向の座標が 0 である文字)は
+出力されません。
+.SH 関連項目
+.BR groff (1),
+.BR troff (1),
+.BR groff_out (5),
+.BR groff_font (5),
+.BR groff_char (7),
+.BR ul (1),
+.BR more (1)
diff --git a/ja/man/man1/groups.1 b/ja/man/man1/groups.1
new file mode 100644
index 0000000000..0308f7c979
--- /dev/null
+++ b/ja/man/man1/groups.1
@@ -0,0 +1,65 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)groups.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: groups.1,v 1.2 1997/05/06 00:59:29 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt GROUPS 1
+.UC
+.Sh 名称
+.Nm groups
+.Nd 所属しているグループをすべて表示する
+.Sh 書式
+.Nm groups
+.Op Ar user
+.Sh 解説
+.Nm groups
+は、
+.Xr id 1
+が登場したために古くなりました。
+これは、
+.Dq Nm id Fl Gn Op Ar user
+と等価です。
+.Dq Nm id Fl p
+が普通の対話的な使い方です。
+.Pp
+.Nm groups
+は、ユーザが属しているグループ ( ユーザを指定した場合はその
+ユーザの属しているグループ ) を表示します。
+.Pp
+.\".Sh 戻り値
+.\"(訳注)原文表記中に上記の章分けがないため削除した。
+.\" 2.2.1R 対象(1997/05/04) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.Nm groups
+は、成功した場合は0を、エラーが起きた場合は0より大きな値を返します。
+.Sh 関連項目
+.Xr id 1
diff --git a/ja/man/man1/gtags.1 b/ja/man/man1/gtags.1
new file mode 100644
index 0000000000..b256544c04
--- /dev/null
+++ b/ja/man/man1/gtags.1
@@ -0,0 +1,90 @@
+.\"
+.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Shigio Yamaguchi.
+.\" 4. Neither the name of the author nor the names of any co-contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" jpman %Id: gtags.1,v 1.3 1997/07/27 12:57:00 horikawa Stab %
+.\"
+.Dd Apr 21, 1997
+.Dt GTAGS 1
+.Os BSD 4
+.Sh 名称
+.Nm gtags
+.Nd GTAGS や GRTAGS ファイルを作成する
+.Sh 書式
+.Nm gtags
+.Op Fl e
+.Op Fl s
+.Op Ar dbpath
+.Sh 解説
+.Nm
+は global(1) で用いる GTAGS ファイルや GRTAGS ファイルを
+作成します。
+.Nm
+はサブディレクトリをたどり、ソースファイルを読み、関数の位置を把握して
+その情報をタグファイルに保存します。
+C や yacc やアセンブラのソースファイルがサポートされています。
+このコマンドはソースツリーのルートで実行する必要があります。
+.Pp
+ソースディレクトリが CDROM のような読み込み専用デバイスの場合、
+タグファイルを作成するディレクトリを
+.Ar dbpath
+に指定します。
+.Pp
+.Bl -tag -width Ds
+.It Fl e
+C のソースファイルで、一桁目の '}' を見つけた時点で関数の
+終わりとします。
+.It Fl s
+アセンブラのソースファイルとして扱います(*.s や *.S)。
+.Sh 関連ファイル
+.Bl -tag -width tags -compact
+.It Pa GTAGS
+関数定義に関するタグファイルです。
+.It Pa GRTAGS
+関数参照に関するタグファイルです。
+.El
+.Sh 診断
+.Nm
+はエラーが発生すると 1 を、そうでなければ 0 を返します。
+.Sh 関連項目
+.Xr btreeop 1 ,
+.Xr gctags 1 ,
+.Xr global 1 ,
+.Xr htags 1 .
+.Sh バグ
+GTAGS や GRTAGS はとても大きくなります。
+実行前にディスクの空き容量をチェックしてください。
+
+アセンブラのサポートは完璧には程遠く、ソースファイルから ENTRY() と
+ALTENTRY() を抜き出すだけです。
+FreeBSD と Linux のカーネルソースでどうにか大丈夫なだけでしょう。
+.Sh 作者
+Shigio Yamaguchi (shigio@wafu.netgate.net)
+.Sh 歴史
+.Nm
+コマンドは FreeBSD 2.2 で登場しました。
diff --git a/ja/man/man1/gzexe.1 b/ja/man/man1/gzexe.1
new file mode 100644
index 0000000000..1909c20bff
--- /dev/null
+++ b/ja/man/man1/gzexe.1
@@ -0,0 +1,47 @@
+.\" jpman %Id: gzexe.1,v 1.2 1997/04/12 13:01:35 horikawa Stab %
+.TH GZEXE 1
+.SH 名称
+gzexe \- 実行ファイルを実行形式のまま圧縮する
+.SH 書式
+.B gzexe
+[ name ... ]
+.SH 解説
+.I gzexe
+は、実行ファイルを圧縮し、圧縮ずみ実行ファイルを元ファイルの
+存在するディレクトリに元のファイルと同名で格納します。圧縮ずみ実行
+ファイルは、実行時に自動展開されるため起動が遅くなりますが、それ以外は
+元の実行ファイルと同じ機能を持ちます。
+例えば、
+``gzexe /bin/cat''
+を実行すると、以下の 2 つのファイルが生成されます。
+.nf
+.br
+ -r-xr-xr-x 1 root bin 9644 Feb 11 11:16 /bin/cat
+ -r-xr-xr-x 1 bin bin 24576 Nov 23 13:21 /bin/cat~
+.fi
+/bin/cat~ は元のファイルで、/bin/cat は自己展開形式の実行ファイルです。
+/bin/cat が正常に動作することを確認したら、/bin/cat~ は消してしまっても
+構いません。
+.PP
+このユーティリティはディスク容量の少ないシステムで効果があります。
+.SH オプション
+.TP
+.B \-d
+指定された圧縮ずみ実行ファイルを展開します。
+.SH 関連項目
+gzip(1), znew(1), zmore(1), zcmp(1), zforce(1)
+.SH 警告
+圧縮ずみ実行ファイルはシェルスクリプトです。このことによって、
+何らかのセキュリティホールが生じる可能性があります。
+特に、圧縮ずみ実行ファイルは
+.I gzip
+および
+.I (tail, chmod, ln, sleep)
+などのコマンドを見つけるための PATH 環境変数に依存しています。
+.SH バグ
+.I gzexe
+は、元ファイルの属性を圧縮ずみ実行ファイルにも引き継ごうとしますが、
+.I chmod
+や
+.I chown
+を用いてこれらの属性を設定しなければならない場合があります。
diff --git a/ja/man/man1/gzip.1 b/ja/man/man1/gzip.1
new file mode 100644
index 0000000000..1cc00940a6
--- /dev/null
+++ b/ja/man/man1/gzip.1
@@ -0,0 +1,488 @@
+.PU
+.\" jpman %Id: gzip.1,v 1.3 1997/06/12 15:36:29 kubo Stab %
+.TH GZIP 1
+.SH 名称
+gzip, gunzip, zcat \- ファイルの圧縮、伸長を行なう
+.SH 書式
+.ll +8
+.B gzip
+.RB [ " \-acdfhlLnNrtvV19 " ]
+.RB [ \-S\ suffix ]
+[
+.I "name \&..."
+]
+.ll -8
+.br
+.B gunzip
+.RB [ " \-acfhlLnNrtvV " ]
+.RB [ \-S\ suffix ]
+[
+.I "name \&..."
+]
+.br
+.B zcat
+.RB [ " \-fhLV " ]
+[
+.I "name \&..."
+]
+.SH 解説
+.I gzip
+は、Lempel-Ziv アルゴリズム (LZ77) を利用してファイルのサイズを減らします。
+もし可能な場合は、ファイル名に
+.B "\&.gz,"
+の拡張子をつけ、
+ファイルの所有者やアクセス時間と更新時間を保存します。
+(デフォルトの拡張子は、
+VMS では
+.B "\-gz"
+、MSDOS, OS/2 FAT, Windows NT FAT, Atari では
+.B "z"
+となります。)
+もし、ファイル名が指定されなかったり、ファイル名として "-" が指定されれば、
+標準入力を圧縮し、結果を標準出力へ出力します。
+.I gzip
+は、一般ファイルのみを圧縮します。
+特に、シンボリックリンクは無視されます。
+.PP
+もし、圧縮されたファイル名がファイルシステムにとって長ければ、
+.I gzip
+は、その名前を縮めます。
+.I gzip
+は、ファイル名の 3 文字以上の部分にのみ名前の縮小を試みます。
+(部分とは、ドットによって分けられた所です。) もし、ファイル名が短かい部分のみで
+構成されていた時は、最も長い部分を縮小します。例えば、ファイル名が 14 文字
+という制限がある時、 gzip.msdos.exe は gzi.msd.exe.gz となります。
+ファイル名の文字数が制限を持たないシステムでは、
+ファイル名の縮小は行われません。
+.PP
+デフォルトで
+.I gzip
+は、オリジナルのファイル名とタイムスタンプを圧縮されたファイル中に保存します。
+これらは、
+.B \-N
+オプション付きで伸長された時に、使われます。これは、圧縮されたファイル名が
+縮小されていたり、ファイル転送後にタイムスタンプが保存されなかった時に
+便利です。
+.PP
+圧縮されたファイルは、
+.I gzip -d
+か
+.I gunzip
+か
+.I zcat
+を用い、オリジナルに戻すことが出来ます。
+もし、圧縮されたファイルに保存されたオリジナルのファイル名がファイルシステムに
+合わなければ、オリジナルのファイル名から新しいファイル名が作られます。
+.PP
+.I gunzip
+は、コマンドライン上のファイルのリストを
+受け取り、.gz, -gz, .z, -z, _z, .Z で終っていて、正しいマジックナンバーで
+始まっているファイルを、
+元の拡張子を取り除いた圧縮されていないファイルにします。
+.I gunzip
+は、
+.B "\&.tar.gz"
+や
+.B "\&.tar.Z"
+を省略した
+.B "\&.tgz"
+や
+.B "\&.taz"
+も認識します。
+圧縮する時、
+.I gzip
+は、
+.B "\&.tar"
+ファイルのファイル名を縮めるかわりに
+.B "\&.tgz"
+を使います。
+.PP
+.I gunzip
+は、
+.I gzip, zip, compress, compress -H, pack
+で作られたファイルを伸長できます。
+入力されたファイルがどの方式で圧縮されいるかは自動的に判別されます。
+最初の二つの方式を使うと、
+.I gunzip
+は 32ビット CRC をチェックします。
+.I pack
+の場合、
+.I gunzip
+は伸長された大きさをチェックします。標準の
+.I compress
+は一貫性のチェックをするように設計されていませんでしたが、
+.I gunzip
+は .Z ファイルが正しくないことを検出できるこもあります。
+もし .Z ファイルを伸長する時にエラーに会う場合には、 標準の
+.I uncompress
+がエラーを出さないという理由で .Z ファイルは正しい
+と思わないで下さい。
+これは一般的に、標準の
+.I uncompress
+が入力をチェックせず、ゴミである出力をしてしまうという事を意味しています。
+SCO compress -H 方式 (lzh 圧縮技法) は CRC を含みませんが、
+ある程度の一貫性のチェックの余地があります。
+.PP
+.I zip
+で作られたファイルは、 'deflation' 技法で圧縮された一つのメンバーを
+もつ時のみ gzip で伸長できます。この特徴は tar.zip ファイルを tar.gz ファイルに
+するのを助けることのみを意図しています。複数のメンバーを持った zip ファイルを
+取り出す時には
+.I gunzip
+ではなく
+.I unzip
+を使って下さい。
+.PP
+.I zcat
+は、
+.I gunzip
+.B \-c
+と同一です。
+(いくつかのシステムでは、
+.I zcat
+は
+.I compress
+へのオリジナルのリンクを保存しておくために
+.I gzcat
+としてインストールされているかもしれません。)
+.I zcat
+は、コマンドラインで指定されたファイルか標準入力からの入力を伸長し、
+標準出力へ伸長したデータを出力します。
+.I zcat
+は、
+.B "\&.gz"
+拡張子であろうとなかろうと、マジックナンバーが正しければファイルを伸長
+します。
+.PP
+.I gzip
+は、
+.I zip
+や PKZIP で使われている Lempel-Ziv アルゴリズムを使っています。
+圧縮率は入力の大きさや共通の文字列の分布によります。
+一般に、ソースコードや英語のようなテキストは 60\-70% 縮小されます。
+また、
+LZW (
+.IR compress
+で使われている)、
+Huffman coding (
+.IR pack
+で使われている)、
+適応性 Huffman coding
+.RI ( compact )
+よりも圧縮率が良いです。
+.PP
+圧縮されたファイルがオリジナルのファイルよりわずかでも大きいとしても、
+圧縮は常に行われます。最悪の伸長は gzip ファイルヘッダの数バイト、
+32K ブロック毎に 5 バイトの増加、すなわち伸長率 0.015% です。
+使用しているディスクブロックの実際の数はほとんどの場合決して増加しない事に
+注意してください。
+.I gzip
+は、圧縮や伸長を行う時ファイルのモード、所有者、タイムスタンプを保存します。
+
+.SH オプション
+.TP
+.B \-a --ascii
+行末の変換を行います。このオプションは非 Unix 環境でのみ
+サポートされています。例えばMSDOSでは、圧縮時に CR LF が LF に変換され、
+伸長時に LF が CR LF に変換されます。
+.TP
+.B \-c --stdout --to-stdout
+オリジナルファイルはそのままで、結果を標準出力へ書き出します。
+もし、複数のファイルが入力されれば、結果は一続きの独立したものに
+なります。よりよく圧縮をするためには、圧縮をする前にすべての入力
+ファイルを結合するとよいです。
+.TP
+.B \-d --decompress --uncompress
+伸長を行います。
+.TP
+.B \-f --force
+ファイルが複数のリンクを持っていたり、すでにファイルは存在してとしても、
+また圧縮されたデータを端末から読み書きしようとしたときでも圧縮や伸長を
+強行します。もし入力されたデータが
+.I gzip
+で認識出来ない形式でありオプション --stdout が指定された場合、
+変更されることなく入力されたデータは標準出力へコピーされます:
+.I zcat
+は
+.I cat
+として振舞います。もし
+.B \-f
+が指定されておらず
+バックグランドで実行されていない場合には、
+.I gzip
+はファイルを上書きしてよいか確認を求めます。
+.TP
+.B \-h --help
+ヘルプを表示し、終了します。
+.TP
+.B \-l --list
+圧縮されたファイルそれぞれに以下のフィールドを表示する。
+
+ compressed size: 圧縮されたファイルの大きさ
+ uncompressed size: 伸長されたファイルの大きさ
+ ratio: 圧縮率 (分からなければ 0.0%)
+ uncompressed_name: 伸長されたファイルの名前
+
+uncompressed size が -1 ならば、ファイルは gzip 形式ではなく .Z ファイル等です。
+そのようなファイルの伸長されたファイルの大きさを
+知るには、以下のようにして下さい。
+
+ zcat file.Z | wc -c
+
+--verbose オプションを共に指定すると、以下のフィールドが追加されます。
+
+ method: 圧縮技法
+ crc: 伸長されたファイルの 32-bit CRC
+ date & time: 伸長されたファイルのタイムスタンプ
+
+圧縮技法は今のところ deflate, compress, lzh (SCO compress -H), pack を
+サポートしています。crc が ffffffff ならば、gzip 形式ではありません。
+
+--name オプションを共に指定すると、表示する伸長されたファイルの名前、日付、時間
+は圧縮されたファイルに保存されたものになります。
+
+--verbose オプションを共に指定すると、
+全てのファイルのサイズのトータルや圧縮率が
+表示されます (ファイルサイズが分からないものがある場合を除きます)。
+--quiet オプションを共に指定すると、タイトルやトータルラインは表示されません。
+.TP
+.B \-L --license
+.I gzip
+ライセンスを表示し、終了します。
+.TP
+.B \-n --no-name
+圧縮する時、デフォルトでオリジナルのファイル名やタイムスタンプを保存しません。
+(もしファイル名が縮められるならば、オリジナルのファイル名は常に
+保存されます。) 伸長する時、もしオリジナルのファイル名が存在しても
+復元しません (圧縮されたファイルの名前から
+.I gzip
+サフィックスのみを取り除きます)、もしオリジナルのタイムスタンプが
+存在しても復元しません (圧縮されたファイルからコピーします)。この
+オプションは伸長する時のデフォルトです。
+.TP
+.B \-N --name
+圧縮する時、常にオリジナルのファイル名とタイムスタンプを保存します。
+これはデフォルトです。伸長する時、もしオリジナルのファイル名やタイム
+スタンプが存在すれば復元します。これはファイル名の長さに制限のある
+システムやタイムスタンプがファイル転送後に失われた時に役に立ちます。
+.TP
+.B \-q --quiet
+すべての警告を抑制します。
+.TP
+.B \-r --recursive
+ディレクトリ構造を再帰的に進みます。もし、コマンドラインで指定された
+ファイル名のディレクトリがあれば、
+.I gzip
+はそのディレクトリへ進み、
+そのディレクトリで発見した全てのファイルを圧縮します
+(
+.I gunzip
+の場合はそれらを伸長します)。
+.TP
+.B \-S .suf --suffix .suf
+.gz の代わりに .suf というサフィックスを使います。どのようなサフィックス
+を使う事が出来ますが、ファイルを他のシステムに転送する時の混乱を避ける
+ために、.z や .gz 以外のサフィックスは避けるべきです。サフィックスに
+ヌルを指定すると、
+以下のように gunzip はサフィックスにかかわらずすべてのファイルを
+伸長しようとします。
+
+ gunzip -S "" * (MSDOS では *.*)
+
+gzip の以前のバージョンでは .z サフィックスを使っていました。
+これは、
+.IR pack "(1)"
+との衝突を避けるために変更されました。
+.TP
+.B \-t --test
+テスト。圧縮されたファイルが完全なものかチェックします。
+.TP
+.B \-v --verbose
+冗長メッセージを表示します。圧縮/伸長される各ファイル名と圧縮率を
+表示します。
+.TP
+.B \-V --version
+バージョンナンバーやオプションを表示した後、終了します。
+.TP
+.B \-# --fast --best
+圧縮の速度を数値
+.IR #
+で調節します。例えば、
+.B \-1
+や
+.B \-\-fast
+は圧縮速度を最も速くし (圧縮率は最低)、
+.B \-9
+や
+.B \-\-best
+は圧縮速度を最も遅くします (圧縮率は最高)。
+デフォルトの圧縮レベルは
+.BR \-6
+(つまり 速度より高い圧縮率を重視している)。
+.SH 進んだ使用法
+複数の圧縮されたファイルは結合する事ができます。この場合、
+.I gunzip
+は同時にすべてのメンバーを取り出します。例えば、
+
+ gzip -c file1 > foo.gz
+ gzip -c file2 >> foo.gz
+その後、
+ gunzip -c foo
+
+は
+
+ cat file1 file2
+
+と同じ事です。.gz ファイルの一つのメンバーが壊れた場合、他のメンバーは
+復元できます (壊れたメンバーを取り除けば)。しかし、
+同時にすべてのメンバーを圧縮する時、
+
+ gzip -c file1 file2 > foo.gz
+
+と実行するより、以下のように実行するとより圧縮率を上げる事が出来ます。
+
+ cat file1 file2 | gzip > foo.gz
+
+もし結合されたファイルをより圧縮率を上げるために再圧縮したければ、
+以下のように実行して下さい。
+
+ gzip -cd old.gz | gzip > new.gz
+
+もし圧縮されたファイルがいくつかのメンバーを持つのなら、
+--list オプションで報告される伸長後の大きさや CRC は最後のメンバーのみを
+示しています。すべてのメンバーの伸長後の大きさが必要なら、以下のように
+実行して下さい。
+
+ gzip -cd file.gz | wc -c
+
+複数のメンバーを持ち、後からあるメンバーを抜き取る事ができるような
+単一のアーカイブファイルを作りたければ、
+tar や zip のようなアーカイバーを使って下さい。
+GNU tar は gzip を呼び出す -z オプションをサポートしています。
+gzip は tar の代替ではなく tar の捕捉として設計されています。
+.SH 環境変数
+環境変数
+.B GZIP
+には、
+.I gzip
+起動時にコマンドラインに付加するオプションを指定できます。
+これらのオプションがまず解釈され、コマンドラインのパラメーター
+によって上書きされます。例えば、
+ sh では: GZIP="-8v --name"; export GZIP
+ csh では: setenv GZIP "-8v --name"
+ MSDOS では: set GZIP=-8v --name
+
+Vax/VMS では、環境変数の名前は GZIP_OPT です。これはプログラムの
+始動のためのシンボルセットとの衝突を避けるためです。
+.SH 関連項目
+znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), compress(1)
+.SH 診断
+終了コードは通常 0 です; エラーが起こった場合は 1 を返します。
+警告が出た時は 2 を返します。
+.PP
+Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
+.in +8
+無効なオプションがコマンドラインに指定されています。
+.in -8
+.IR file :
+not in gzip format
+.in +8
+.I gunzip
+に指定されたファイルは圧縮されていません。
+.in -8
+.IR file:
+Corrupt input. Use zcat to recover some data.
+.in +8
+圧縮されたファイルが壊れています。壊れている部分までのデータを
+以下のようにして復元できます。
+.in +8
+zcat file > recover
+.in -16
+.IR file :
+compressed with
+.I xx
+bits, can only handle
+.I yy
+bits
+.in +8
+.I file
+が、このマシンの伸長プログラムよりも多くの
+.I bit
+を処理できるプログラムにより (LZW を使い) 圧縮されています。
+ファイルを gzip で再圧縮してください。
+圧縮率が良くなりメモリ使用量も少なくなります。
+.in -8
+.IR file :
+already has .gz suffix -- no change
+.in +8
+ファイルが既に圧縮されているかもしれません。ファイルをリネームして
+もう一度試してください。
+.in -8
+.I file
+already exists; do you wish to overwrite (y or n)?
+.in +8
+もし出力ファイルを置き換えたければ、"y" と答えてください。そうでなければ
+"n" と答えてください。
+.in -8
+gunzip: corrupt input
+.in +8
+SIGSEGV 違反が検出されました。これは通常、入力されたファイルが壊れている事を
+意味しています。
+.in -8
+.I "xx.x%"
+.in +8
+圧縮で保存された入力の割合
+(
+.BR \-v
+と
+.BR \-l
+にのみ関係あります)。
+.in -8
+-- not a regular file or directory: ignored
+.in +8
+入力ファイルが通常ファイルやディレクトリでない時
+(シンボリックリンク、ソケット、FIFO、デバイスファイル)、それらは
+変更されません。
+.in -8
+-- has
+.I xx
+other links: unchanged
+.in +8
+入力ファイルがリンクをもっています; 変更されないままです。より詳しい事は
+.IR ln "(1)"
+を参照して下さい。複数のリンクを持つファイルを圧縮するためには
+.B \-f
+フラグを使用して下さい。
+.in -8
+.SH 注意
+圧縮されたデータをテープに書く時、一般にブロック境界まで 0 で埋める必要が
+あります。データを読み、全ブロックを
+.I gunzip
+で伸長する時、
+.I gunzip
+は圧縮されたデータの後にゴミがあると検出し、デフォルトでは警告を出力します。
+この警告を抑えるには --quiet オプションを使わなければなりません。
+このオプションは、以下のように
+.B GZIP
+環境変数にセット出来ます。
+ sh では: GZIP="-q" tar -xfz --block-compress /dev/rst0
+ csh では: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0
+
+上記の例では、gzip は GNU tar の -z オプションによって
+暗黙的に呼び出されています。
+テープで圧縮されたデータを読み書きするのに同じブロックサイズ
+(tar の -b オプション) が使われて
+いるか確認して下さい。(この例では tar は GNU Version を使っていると
+仮定しています。)
+.SH バグ
+サイズが 2GB を越える場合のオプション --list による出力は、正しくないものです。
+圧縮ファイルがシークできない媒体上に存在する場合、
+オプション --list による出力は、
+サイズを -1 としヘッダ内の CRC を 0xffffffffとします。
+
+まれに、オプション --best を付加して圧縮した場合よりも、デフォルトの圧縮
+時 (-6) の方が圧縮率が良いことがあります。ファイルに高い冗長性があれば、
+.I compress
+の方が
+.I gzip
+より圧縮率がよいです。
diff --git a/ja/man/man1/h2ph.1 b/ja/man/man1/h2ph.1
new file mode 100644
index 0000000000..deed347989
--- /dev/null
+++ b/ja/man/man1/h2ph.1
@@ -0,0 +1,44 @@
+.TH H2PH 1 "August 8, 1990"
+.\" jpman %Id: h2ph.1,v 1.3 1997/08/27 14:19:00 take-i Stab %
+.AT 3
+.SH 名称
+h2ph \- C のヘッダファイル .h を Perl ヘッダファイル .ph に変換する
+.SH 書式
+.B h2ph [headerfiles]
+.SH 解説
+.I h2ph
+は指定された全ての C のヘッダファイルを、
+対応する Perl のヘッダファイル形式に変換します。
+以下のように、/usr/include ディレクトリの中で実行するのが
+最も簡単です:
+.nf
+
+ cd /usr/include; h2ph * sys/*
+
+.fi
+引数なしで実行すると、標準入力から入力して変換し、標準出力に出力します。
+.SH 環境変数
+環境変数は使用しません。
+.SH 関連ファイル
+/usr/include/*.h
+.br
+/usr/include/sys/*.h
+.br
+等。
+.SH 作者
+Larry Wall
+.SH 関連項目
+perl(1)
+.SH 診断
+関連するファイルが読めないあるいは書き込めない場合は、
+いつもの警告メッセージを出力します。
+.SH バグ
+%sizeof 配列を作りません。
+.PP
+h2ph は全ての C の構造を取り扱えませんが、
+h2ph が変換できる定義を得られるように eval の中にある定義を分離しようと
+試みます。
+.PP
+h2ph は単に大雑把なツールのつもりです。
+生成されたファイルは吟味してみる必要があるかも知れません。
+.ex
diff --git a/ja/man/man1/head.1 b/ja/man/man1/head.1
new file mode 100644
index 0000000000..2f39b23ba6
--- /dev/null
+++ b/ja/man/man1/head.1
@@ -0,0 +1,85 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)head.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: head.1,v 1.2 1997/04/09 23:35:30 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt HEAD 1
+.Os BSD 3
+.Sh 名称
+.Nm head
+.Nd ファイルの先頭の数行を表示する
+.Sh 書式
+.Nm head
+.Op Fl n Ar count
+.Op Fl c Ar bytes
+.Op Ar file ...
+.Sh 解説
+フィルタ
+.Nm head
+は、fileが指定されていればそのファイルを、指定されていなければ標準入力を読み
+込み、先頭から
+.Ar count
+で指定された行数だけ、もしくは
+.Ar bytes
+だけ表示します。
+.Ar count
+が指定されていなかった場合は、デフォルトの 10 行を表示します。
+.Pp
+1個以上のファイルが指定された場合は、
+.Dq ==> XXX <==
+という形式の文字列からなるヘッダを付けられます。ここで、
+.Dq XXX
+は、ファイル名です。
+.Pp
+.Nm head
+ユーティリティは、成功時には 0 を返し、エラーの場合は 0 より大きい数を
+返します。
+.Sh 互換性
+.\"(訳注)FreeBSD 2.2.1Rのmanには、本節の記述は無い。
+.\" 前任者の意向が分からないので、このまま残す。
+.\" 2.2.1R 対象(1997/04/10) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+昔の UNIX の
+.Nm head
+コマンドのオプションの書式と互換を取るため、行数指定の
+オプションとして -count
+の表記も受け付けます。
+.Sh 関連項目
+.Xr tail 1
+.Sh 規格
+.Nm head
+ユーティリティは IEEE Std1003.2 (POSIX) 互換です。
+.Sh 歴史
+.Nm head
+ユーティリティは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/hexdump.1 b/ja/man/man1/hexdump.1
new file mode 100644
index 0000000000..3b46746b7f
--- /dev/null
+++ b/ja/man/man1/hexdump.1
@@ -0,0 +1,322 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)hexdump.1 8.2 (Berkeley) 4/18/94
+.\" %Id: hexdump.1,v 1.5 1996/10/05 22:27:09 wosch Exp %
+.\" jpman %Id: hexdump.1,v 1.2 1997/03/29 04:26:20 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt HEXDUMP 1
+.Os
+.Sh 名称
+.Nm hexdump, hd
+.Nd ASCII, 10進, 16進, 8進でのダンプ
+.Sh 書式
+.Nm hexdump
+.Op Fl bcCdovx
+.Op Fl e Ar format_string
+.Op Fl f Ar format_file
+.Op Fl n Ar length
+.Bk -words
+.Op Fl s Ar skip
+.Ek
+.Ar file ...
+.Nm hd
+.Op Fl bcdovx
+.Op Fl e Ar format_string
+.Op Fl f Ar format_file
+.Op Fl n Ar length
+.Bk -words
+.Op Fl s Ar skip
+.Ek
+.Ar file ...
+.Sh 解説
+.Nm hexdump
+ユーティリティは、ファイルが指定されていればそのファイル、
+指定されていなければ標準入力を読み込み、ユーザの指定した
+フォーマットに従って表示するフィルタです。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Fl
+.It Fl b
+.Em 1バイト 8進表示。
+入力のオフセットを16進数で表示し、次に、
+入力の1バイトずつを、0詰めした3桁の8進数で、1行あたり16個、
+空白で区切って表示します。
+.It Fl c
+.Em 1バイト キャラクタ表示。
+入力のオフセットを16進数で表示し、次に、
+入力の1バイトずつを、空白詰めした3桁のASCII文字で、1行あたり16個、
+空白で区切って表示します。
+.It Fl C
+.Em 標準的な hex+ASCII 表示。
+入力オフセットを 16 進数で表示し、
+引続いて 16 バイトを 16 進数 2 桁で空白で区切って表示し、
+引き続いて同じ 16 バイトを %_p フォーマットで ``|'' 文字で括って表示します。
+.Pp
+コマンド
+.Nm hd
+を実行すると、このオプションで
+.Nm hexdump
+実行したことを意味します。
+.It Fl d
+.Em 2バイト 10進表示。
+入力のオフセットを16進数で表示し、次に、
+入力の2バイトずつを、0詰めした5桁の10進数で、1行あたり8個、
+空白で区切って表示します。
+.It Fl e Ar format_string
+データの表示形式を決めるフォーマット文字列を指定します。
+.It Fl f Ar format_file
+一つあるいはそれ以上のフォーマット文字列(改行で区切る)
+の書かれたファイルを指定します。空行、および、
+空白を除いた最初の文字が
+ハッシュ記号
+.Pf ( Cm \&# )
+である行は無視されます。
+.It Fl n Ar length
+入力のうち
+.Ar length
+バイト分だけを処理します。
+.It Fl o
+.Em 2バイト 8進表示。
+入力のオフセットを16進数で表示し、次に、
+入力の2バイトずつを、0詰めした6桁の8進数で、1行あたり8個、
+空白で区切って表示します。
+.It Fl s Ar offset
+入力の先頭から
+.Ar offset
+バイトを読み飛ばします。
+デフォルトでは
+.Ar offset
+は10進数として解釈されます。
+.Cm 0x
+または
+.Cm 0X ,
+を頭に付けると
+.Ar offset
+は16進数として解釈されます。また、
+.Cm 0
+を頭に付けると
+.Ar offset
+は8進数として解釈されます。
+.Cm b ,
+.Cm k ,
+.Cm m
+を
+.Ar offset
+の後ろにつけると、それぞれ
+.Li 512 ,
+.Li 1024 ,
+.Li 1048576
+倍と解釈されます。
+.It Fl v
+.Fl v
+オプションは hexdump に対してすべての入力を表示させます。
+.Fl v
+オプションを指定しない場合、直前の行と
+内容(オフセットは除く)が全く同じ行は何行であっても、
+アスタリスク1個の1行で置き換えられます。
+.It Fl x
+.Em 2バイト 16進表示。
+入力のオフセットを16進数で表示し、次に、
+入力の2バイトづつを、0詰めした4桁の16進数で、1行あたり8個、
+空白で区切って表示します。
+.El
+.Pp
+.Nm hexdump
+は、各々の入力ファイルの内容を、それらが指定された順に、
+.Fl e
+および
+.Fl f
+オプションによって指示されたフォーマット文字列に従って変換しながら、
+シーケンシャルに標準出力へコピーします。
+.Ss フォーマット
+フォーマット文字列は、任意の数のフォーマット単位を空白で区切って
+並べたものです。フォーマット単位は最大3個までの要素すなわち
+繰り返し回数・バイト数・フォーマットによって構成されます。
+.Pp
+繰り返し回数は正の整数で、省略時の値は1です。それぞれのフォーマットは
+この繰り返し回数だけ適用されます。
+.Pp
+バイト数も正の整数で、省略することもできます。指定された場合には
+繰り返し一回あたりに処理されるバイト数を示します。
+.Pp
+繰り返し回数とバイト数はスラッシュ(/)で区切ります。どちらか一方だけ
+指定する時も、繰り返し回数の場合は直後、バイト数の場合は直前にスラッシュを
+付け、曖昧にならないようにします。スラッシュの前後にある空白は無視されます。
+.Pp
+フォーマットは必須であり、ダブルクォート(" ")で囲みます。フォーマットは
+fprintf形式のフォーマット文字列(
+.Xr fprintf 3
+を参照)
+ですが、以下の例外があります。
+.Bl -bullet -offset indent
+.It
+フィールドの幅あるいは精度としてアスタリスク(*)を使用することはできません。
+.It
+``s'' 変換文字にはバイト数または精度を指定しなければなりません。
+(精度が指定されなかった場合は文字列全体を表示するという
+.Xr fprintf 3
+のデフォルトとは異なります))
+.It
+変換文字 ``h'', ``l'', ``n'', ``p'' , ``q'' は
+サポートされていません。
+.It
+Cの標準規格の中で記述されている
+以下の一文字エスケープシーケンスをサポートしています。
+.Bd -ragged -offset indent -compact
+.Bl -column <alert_character>
+.It NUL \e0
+.It <alert character> \ea
+.It <backspace> \eb
+.It <form-feed> \ef
+.It <newline> \en
+.It <carriage return> \er
+.It <tab> \et
+.It <vertical tab> \ev
+.El
+.Ed
+.El
+.Pp
+hexdump はさらに以下の変換文字をサポートします。
+.Bl -tag -width Fl
+.It Cm \&_a Ns Op Cm dox
+次に表示されるバイトのオフセット(複数の入力ファイルを通算しての
+値)を表示します。文字
+.Cm d ,
+.Cm o ,
+.Cm x
+を付加すると、表示をそれぞれ10進、8進、16進形式にします。
+.It Cm \&_A Ns Op Cm dox
+.Cm \&_a
+変換文字とほぼ同じですが、すべての入力が処理された後で一度だけ実行
+されるという点が異なります。
+.It Cm \&_c
+デフォルトの文字セット中における文字を表示します。
+表示不能な文字は0詰めして3桁にした8進数で表示します。ただし標準のエスケープ
+表記(上述)ができるものについてはその2文字で表示します。
+.It Cm _p
+デフォルトの文字セット中における文字を表示します。
+表示不能な文字は
+.Dq Cm \&.
+として表示します。
+.It Cm _u
+文字セット US ASCII 中での文字を表示します。ただし制御文字については
+以下に示す小文字名で表示します。16進で0xffより大きな文字に
+ついては16進表記の文字列として表示します。
+.Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo
+.It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
+.It \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
+.It \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
+.It \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
+.It \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
+.It \&01E\ rs\t01F\ us\t0FF\ del
+.El
+.El
+.Pp
+各々の変換文字について、サポートされているバイト数とデフォルトの
+バイト数は以下の通りです:
+.Bl -tag -width "Xc,_Xc,_Xc,_Xc,_Xc,_Xc" -offset indent
+.It Li \&%_c , \&%_p , \&%_u , \&%c
+1バイトのみ使用できます。
+.It Xo
+.Li \&%d , \&%i , \&%o ,
+.Li \&%u , \&%X , \&%x
+.Xc
+デフォルトでは4バイトで、1バイト・2バイト・4バイトが使用できます。
+.It Xo
+.Li \&%E , \&%e , \&%f ,
+.Li \&%G , \&%g
+.Xc
+デフォルトでは8バイトで、4バイトも使用できます。
+.El
+.Pp
+各フォーマット文字列によって処理されるデータの量は、
+各フォーマット単位が必要とするデータ量の合計であり、これは
+バイト数の繰り返し回数倍、あるいはバイト数が指定されていない場合には
+フォーマットの必要とするバイト数の繰り返し回数倍になります。
+.Pp
+入力は``ブロック''ごとに処理されます。ブロックとは、フォーマット
+文字列によって指定されるデータの塊のうちで最も大きいものです。
+1ブロック分のデータを処理し切らないフォーマット文字列で、その中の
+最後のフォーマット単位が何バイトかを処理し、かつ繰り返し
+回数が指定されていないものは、ブロック全体が処理され切るか、
+フォーマット文字列に合致するデータがブロック中になくなるまで
+繰り返し回数を増やされます。
+.Pp
+ユーザの指定またはhexdumpが上記のように繰り返し回数を変更した結果、
+繰り返し回数が1より大きくなった場合、最後の繰り返しにおける
+末尾の空白は出力されません。
+.Pp
+バイト数を複数の変換文字と共に指定すると、一つを除いた全ての変換文字が
+.Cm \&_a
+または
+.Cm \&_A
+である時以外、エラーになります。
+.Pp
+入力がフォーマット文字列の一部分しか満たしていない状態で
+.Fl n
+オプションで指定したバイト数あるいはEOFに到達した場合、
+有効なデータをすべて表示できるよう、入力ブロックには適当な数の0が
+補われます。(すなわち、データの終端にまたがっている
+フォーマット単位は何バイトかの0を表示します。)
+.Pp
+そのようなフォーマット文字列によるさらなる出力は、等数の空白で
+置き換えられます。等数の空白とは、
+もとの変換文字あるいは変換文字列とフィールド幅と精度は同じで
+.Dq Li \&+ ,
+.Dq \&\ \& ,
+.Dq Li \&#
+を取り除いた
+.Cm s
+変換文字が、NULL文字列を指した場合に出力される数の空白です。
+.Pp
+フォーマット文字列が指定されない場合、デフォルトの表示形式は
+.Fl x
+オプションが指定された場合のものと同じになります。
+.Pp
+.Nm hexdump
+は成功すれば0を、エラーが発生すれば >0 を返します。
+.Sh 実行例
+入力を perusal 形式で表示する:
+.Bd -literal -offset indent
+"%06.6_ao " 12/1 "%3_u "
+"\et\et" "%_p "
+"\en"
+.Ed
+.Pp
+\-x オプションを実装:
+.Bd -literal -offset indent
+"%07.7_Ax\en"
+"%07.7_ax " 8/2 "%04x " "\en"
+.Ed
+.Sh 関連項目
+.Xr gdb 1
diff --git a/ja/man/man1/host.1 b/ja/man/man1/host.1
new file mode 100644
index 0000000000..b1cb2f9fa0
--- /dev/null
+++ b/ja/man/man1/host.1
@@ -0,0 +1,200 @@
+.\" ++Copyright++ 1993
+.\" -
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" -
+.\" Portions Copyright (c) 1993 by Digital Equipment Corporation.
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies, and that
+.\" the name of Digital Equipment Corporation not be used in advertising or
+.\" publicity pertaining to distribution of the document or software without
+.\" specific, written prior permission.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
+.\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
+.\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+.\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+.\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+.\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+.\" SOFTWARE.
+.\" -
+.\" --Copyright--
+.\" %Id: host.1,v 8.1 1994/12/15 06:24:10 vixie Exp %
+.\" jpman %Id: host.1,v 1.3 1997/08/20 12:10:27 horikawa Stab %
+.TH HOST 1
+.SH 名称
+host \- ドメインサーバを使ってホスト名の検索を行なう
+.SH 書式
+host [-l] [-v] [-w] [-r] [-d] [-t querytype] [-a] host [ server ]
+.SH 解説
+.I host
+はインターネットホストに関する情報の検索を行ないます。情報は世界中に広
+がった相互に接続されたサーバ群から得ます。デフォルトではホスト名と
+インターネットアドレス間の変換のみを行ないます。-t や -a オプションととも
+に使うと、そのホストに関するドメインサーバによって保守されている情報の
+全てを使うことができます。
+.PP
+引数にはホスト名かホスト番号のいずれかを指定できます。本プログラムはま
+ず引数を数字として解釈を試みます。それがうまく行かなければ、ホスト名と
+して扱います。ホスト番号は 128.6.4.194 のようにドットによって区切られ
+た 4 つの 10 進数からなります。
+ホスト名は topaz.rutgers.edu のようにドットで区切られた複数の名前から
+なります。
+名前がドットで終っていなければ、ローカルドメインが自動的に末尾に付け加
+えられます。たとえば Rutgers のユーザは "host topaz" というように使う
+ことができ、これは実際には "topaz.rutgers.edu" が検索されます。
+これがうまく行かなければ、名前は変更されずに (この例では "topaz" とし
+て) 試みられます。このやりかたはメールやその他のネットワークユーティリティ
+でも使うことができます。
+実際に末尾に付け加えられる接尾子は "hostname" コールの結果から得られる
+ものの最初のドット以降となります。(ホスト名の検索のカスタマイズ方法に
+ついては下記を参照してください。)
+.PP
+最初の引数は検索を行なうホスト名となります。これが数字の場合、"逆引き"
+が実行されます。すなわちドメインシステムは数字を名前に変換するための別
+のデータベース群を参照します。
+.PP
+2 番目の引数は省略可能です。ここでは問い合わせを行なうサーバを指定する
+ことができます。この引数が指定されなければ、デフォルトのサーバ (通常は
+ローカルマシン) が使われます。
+.PP
+名前が指定された場合、3 つの異なった種類の結果が出力されます。
+以下はそれらの例です。
+.br
+ % host sun4
+.br
+ sun4.rutgers.edu is a nickname for ATHOS.RUTGERS.EDU
+.br
+ ATHOS.RUTGERS.EDU has address 128.6.5.46
+.br
+ ATHOS.RUTGERS.EDU has address 128.6.4.4
+.br
+ ATHOS.RUTGERS.EDU mail is handled by ARAMIS.RUTGERS.EDU
+.br
+ここでユーザはコマンド "host sun4" を入力しています。最初の行は名前
+"sun4.rutgers.edu" は実際にはニックネームであることを示しています。
+正式なホスト名は "ATHOS.RUTGERS.EDU' です。続く 2 行ではアドレスが表示
+されています。もし複数のネットワークインターフェイスをもつシステムであ
+れば、その各々は別のアドレスを持ちます。最後の行では ATHOS.RUTGERS.EDU
+は自分に対するメールは受け取らないことを示しています。このホスト宛ての
+メールは ARAMIS.RUTGERS.EDU によって取り込まれます。いくつかのシステム
+ではそのメールを扱うシステムが複数存在することがあり、その場合はこの行
+のような情報がさらに出力されます。技術的にはメールを受け取ることのでき
+る全てのシステムがこのようなエントリを持つと考えられます。もしシステム
+がそのメールを自分自身で受け取る場合、"XXX mail is handled by XXX" の
+ように、そのシステム自身について言及したエントリがあるはずです。しかし、
+メールを自分で受け取る多くのシステムではわざわざその事実について言及し
+ていません。もしあるシステムに "mail is handled by" のエントリがあるの
+にアドレスがなければ、それは本当はインターネットの構成員ではないが、
+ネットワーク上のあるシステムがメールをそこに転送してくることを示しています。
+Usenet や Bitnet やその他の多くのネットワーク上のシステムではこの種の
+エントリを持っています。
+.PP
+ホスト名の前に指定できるオプションは沢山あります。これらのオプションの
+ほとんどはドメインデータベースを保守しているスタッフにのみ意味のあるも
+のです。
+.PP
+オプション -w を指定すると、host は応答があるまで永遠に待ち続けます。通
+常は 1 分程でタイムアウトになります。
+.PP
+オプション -v を指定すると、"verbose" 形式で表示されます。これは正式な
+ドメインマスタのファイル形式となります。この形式については "named" の
+man ページに文書化されています。このオプションがなくても出力の形式は一
+般的な意味ではこの正式な形式に準拠したものとなりますが、通常のユーザに
+とって分かりやすいものにされます。-v が指定されなければ、"a"、"mx"、
+"cname" の各レコードはそれぞれ"has address"、"mail is handled by"、
+"is a nickname for" と出力され、TTL とクラスフィールドは表示されません。
+.PP
+オプション -r を指定すると、再帰的な問い合わせを行ないません。これは
+ネームサーバがそのサーバ自身のデータベースに所持しているデータのみを返すこ
+とを意味します。サーバは他のサーバに情報の問い合わせを行ないません。
+.PP
+オプション -d を指定すると、デバッグモードとなります。ネットワーク
+トランザクションが詳細に表示されます。
+.PP
+オプション -t によって特定のタイプの情報の検索を指定することができます。
+引数は "named" の man ページにおいて定義されています。現在サポートされ
+ているタイプには a、ns、md、mf、cname、soa、mb、mg、mr、null、wks、ptr、
+hinfo、minfo、mx、uinfo とワイルドカード (これは "any" か "*" として指
+定されます) があります。タイプは小文字で指定しなければなりません。
+デフォルトでは最初に "a" が検索され、次に "mx" が検索されます。ただし、
+"verbose" オプションが指定されていると、デフォルトでは "a" のみの検索
+を行ないます。
+.PP
+オプション -a ("all" の意) は "-v -t any" と同じです。
+.PP
+オプション -l を指定すると完全なドメインのリストを表示します。例えば
+.br
+ host -l rutgers.edu
+.br
+を実行すると、rutgers.edu ドメインの全てのホストのリストを表示します。
+-t オプションを使うことによって表示する情報にフィルタをかけることがで
+きます。デフォルトでは PTR と NS レコードを含んだアドレス情報が表示さ
+れます。
+.br
+ host -l -v -t any rutgers.edu
+.br
+のコマンドでは rutgers.edu の完全なゾーンデータを正式なマスタファイル
+の形式でダウンロードします。(しかし不思議な理由により SOA レコードは 2
+回リストされます。) ノート : -l フラグは完全なゾーン転送を行なった後、
+要求した情報をフィルタリングするように実装されています。このコマンドは
+絶対に必要な時に限って使うべきです。
+.SH ホスト名検索のカスタマイズ
+一般にユーザによって指定された名前にドットが含まれていなければ、
+デフォルトのドメインがその末尾に付け加えられます。このドメインは
+/etc/resolv.conf において定義することができますが、通常はローカルの
+ホスト名の最初のドット以降を取ることによって求められます。ユーザは環境変数
+.I LOCALDOMAIN
+を使って異なるデフォルトドメインを指定することによって、これを
+オーバーライドすることができます。さらに、ユーザはホスト名の独自の略称を使うこ
+ともできます。略称は 1 つの略称につき 1 行からなるファイルにおいて指定
+します。各行には略称、スペース、そして完全なホスト名が含まれます。この
+ファイルは環境変数
+.I HOSTALIASES
+にてファイル名を指定します。
+.SH 関連項目
+named (8)
+.SH バグ
+ローカルドメインに含まれない名前を入力すると予期できない影響が起こり得
+ます。名前がドットで終っていない限り、ローカルドメイン名が全ての名前の
+末尾に付加されることをいつも心に留めておいてください。
+ローカルドメインの補完に失敗した時のみ、名前は変更されずに使用されます。
+.PP
+-l オプションでは要求されたドメインにおいてリストされている最初の
+ネームサーバにのみ問い合わせを行ないます。もしこのサーバが死んでいれば、
+サーバをマニュアルで指定しなければなりません。たとえば foo.edu のリストを
+得るには、"host -t ns foo.edu" と指定して foo.edu の全てのネームサーバ
+のリストを得てから、動作するものが見つかるまでリストにある全ての
+ネームサーバについて "host -l foo.edu xxx" (ここで xxx はネームサーバ) を試
+みれば良いでしょう。
diff --git a/ja/man/man1/hostname.1 b/ja/man/man1/hostname.1
new file mode 100644
index 0000000000..c1eeefe81a
--- /dev/null
+++ b/ja/man/man1/hostname.1
@@ -0,0 +1,65 @@
+.\" Copyright (c) 1983, 1988, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)hostname.1 8.2 (Berkeley) 4/28/95
+.\" jpman %Id: hostname.1,v 1.2 1997/04/10 07:27:59 mutoh Stab %
+.\" %Id: hostname.1,v 1.3.2.2 1997/08/24 21:51:25 jkh Exp %
+.\"
+.Dd April 28, 1995
+.Dt HOSTNAME 1
+.Os BSD 4.2
+.Sh 名称
+.Nm hostname
+.Nd 現在のホスト名の表示、設定
+.Sh 書式
+.Nm hostname
+.Op Fl s
+.Op Ar name-of-host
+.Sh 解説
+.Nm
+は、現在のホストの名前を表示します。
+スーパーユーザは、引数を与えることでホスト名の設定をすることもできます。
+これは通常、ブート時にネットワークの初期化スクリプトである
+.Pa /etc/rc.network
+の中で行なわれます。
+.Pp
+オプションとしては、以下のものがあります。
+.Bl -tag -width flag
+.It Fl s
+名前からドメイン情報を取り除いて表示します。
+.El
+.Sh 関連項目
+.Xr gethostname 3
+.Sh 歴史
+.Nm hostname
+ユーティリティは
+.Bx 4.2
+から登場しています。
diff --git a/ja/man/man1/htags.1 b/ja/man/man1/htags.1
new file mode 100644
index 0000000000..5db3f2e0cd
--- /dev/null
+++ b/ja/man/man1/htags.1
@@ -0,0 +1,126 @@
+.\"
+.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Shigio Yamaguchi.
+.\" 4. Neither the name of the author nor the names of any co-contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" jpman %Id: htags.1,v 1.3 1997/07/27 12:58:52 horikawa Stab %
+.\"
+.Dd Apr 21, 1997
+.Dt HTAGS 1
+.Os BSD 4
+.Sh 名称
+.Nm htags
+.Nd C や yacc のソースコードからハイパーテキストを生成する
+.Sh 書式
+.Nm htags
+.Op Fl a
+.Op Fl l
+.Op Fl v
+.Op Fl w
+.Op Fl d Ar tagdir
+.Op Fl t Ar title
+.Op Ar dir
+.Sh 解説
+.Nm
+は GLOBAL のデータベース (GTAGS と GRTAGS) を利用して C や yacc の
+ソースコードからハイパーテキストを生成します。
+.Pp
+このコマンドを使う前には、ソースツリーのルートディレクトリで
+.Xr gtags 1
+を実行していなければなりません。
+その後、同じディレクトリで
+.Nm
+を使うことができるようになります。
+.Nm
+は HTML ディレクトリを作成し、そこにハイパーテキストを生成します。
+.Pp
+\&'HTML/index.html' からブラウズを始めることができます。
+いったんハイパーテキストが生成されれば、好きな場所に持っていき、
+好きなブラウザで見ることが可能です。
+.Pp
+.br
+.Bl -tag -width Ds
+.It Fl a
+アルファベット順の関数一覧を作成します。
+大きなプロジェクトには有効でしょう。
+.It Fl l
+各行に対し名前のタグ(<A NAME=行番号>)を生成し、他のハイパーテキストから
+このハイパーテキストの任意の行を指し示すことができるようにします。
+デフォルトでは、参照されるオブジェクトがある行にのみタグを生成します。
+.It Fl v
+冗長な表示を行います。
+.It Fl w
+警告メッセージを表示します。
+.It Fl d Ar tagdir
+GTAGS と GRTAGS が存在するディレクトリを指定します。
+デフォルトではカレントディレクトリになります。
+.It Fl t Ar title
+ハイパーテキストのタイトルを指定します。デフォルトでは現在のパスの
+最後の構成要素になります。
+.It Ar dir
+ハイパーテキストが生成されるディレクトリを指定します。
+デフォルトではカレントディレクトリになります。
+.Sh 使用例
+ % cd /usr/src/sys
+ # gtags -se
+ # htags -vat 'Welcom to FreeBSD kernel source tour!'
+ % lynx HTML/index.html
+.Sh 関連ファイル
+.Bl -tag -width tags -compact
+.It Pa HTML/index.html
+目次ファイル。
+.It Pa GTAGS
+関数定義のタグファイル。
+.It Pa GRTAGS
+関数参照のタグファイル。
+.El
+.Sh 環境変数
+htags の実行に際しては、以下の環境変数が参照されます。
+.Pp
+.Bl -tag -width indent
+.It Ev TMPDIR
+この変数が設定されていると、値が一時ファイルを作成するディレクトリ
+として用いられます。
+デフォルトは /tmp 。
+.Sh 診断
+エラーが発生すると
+.Nm
+は 1 を返し、それ以外では 0 を返して終了します。
+.Sh 関連項目
+.Xr btreeop 1 ,
+.Xr gctags 1 ,
+.Xr global 1 ,
+.Xr gtags 1 .
+.Sh バグ
+生成されるハイパーテキストはとても大きくなります。実行前にディスクの
+空き容量をチェックしてください。
+.Sh 作者
+Shigio Yamaguchi (shigio@wafu.netgate.net)
+.Sh 歴史
+.Nm
+コマンドは FreeBSD 2.2 で登場しました。
+
diff --git a/ja/man/man1/id.1 b/ja/man/man1/id.1
new file mode 100644
index 0000000000..7ba83a39a5
--- /dev/null
+++ b/ja/man/man1/id.1
@@ -0,0 +1,145 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)id.1 8.1 (Berkeley) 6/6/93
+.\" %Id: id.1,v 1.1.1.1.8.2 1997/09/15 08:17:26 jkh Exp %
+.\" jpman %Id: id.1,v 1.2 1997/03/29 04:26:50 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt ID 1
+.Os BSD 4.4
+.Sh 名称
+.Nm id
+.Nd ユーザの、ユーザ名とグループ名および各番号を表示する
+.Sh 書式
+.Nm
+.Op Ar user
+.Nm
+.Fl G Op Fl n
+.Op Ar user
+.Nm
+.Fl g Op Fl nr
+.Op Ar user
+.Nm
+.Fl p
+.Nm
+.Fl u Op Fl nr
+.Op Ar user
+.Sh 解説
+.Nm
+ユーティリティは、
+呼び出したプロセスのユーザとグループとを、
+名称と ID 番号で標準出力に表示します。
+もし実 ID と実効 ID が異なっている場合は、両方とも表示します。
+.Pp
+もし、
+.Ar user
+(ユーザ名かユーザ ID)
+が指定された場合は、そのユーザのユーザ ID とグループ ID が表示されます。
+この場合、実 ID と実効 ID とは同じものとみなされます。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl G
+グループ ID
+(実効グループ、実グループ、その他)を、空白で区切って列挙します。
+表示する順序に意味はありません。
+.It Fl g
+実効グループ ID を ID 番号で表示します。
+.It Fl n
+.Fl G ,
+.Fl g ,
+.Fl u
+のオプションによる表示を、ID 番号ではなく名前による表示にします。
+ID 番号に対応する名前がなかった場合は、通常通り ID 番号で表示します。
+.It Fl p
+人間が見やすい形で表示します。
+.Xr getlogin 2
+が返すユーザ名がユーザ ID から得られるログイン名と異なっている場合は、
+行頭に
+.Dq login
+とキーワードがついて
+.Xr getlogin 2
+で得られる名前が表示されます
+.Pf ( Xr su 1
+している場合など)。
+名前で表示されるユーザ ID は、頭に
+.Dq uid
+というキーワードをつけて表示されます。
+実ユーザ ID が実効ユーザ ID
+と異なっていると、
+.Dq euid
+というキーワードが頭について実ユーザ ID が表示されます。
+実グループ ID が実効グループ ID と異なっていると、頭に
+.Dq rgid
+がついて実グループ名を表示します。
+ユーザが属しているグループのリストを、行頭に
+.Dq groups
+というキーワードをつけて名前で表示します。それぞれ、行を改めて表示されます。
+.It Fl r
+.Fl g ,
+.Fl u
+のオプションで実効ユーザ ID/グループ ID ではなく、
+実ユーザ ID/グループ ID を表示するようにします。
+.It Fl u
+実効ユーザ ID を ID 番号で表示します。
+.El
+.Pp
+.Nm
+ユーティリティは
+成功の場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
+.Sh 関連項目
+.Xr who 1
+.Sh 規格
+.Nm
+は
+.St -p1003.2
+準拠です。
+.Sh 歴史
+伝統的な
+.Xr groups 1
+コマンドは
+.Dq Nm id Fl Gn Op Ar user
+と同一です。
+.Pp
+伝統的な
+.Xr whoami 1
+コマンドは
+.Dq Nm id Fl un
+と同一です。
+.Pp
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/ident.1 b/ja/man/man1/ident.1
new file mode 100644
index 0000000000..009ea79412
--- /dev/null
+++ b/ja/man/man1/ident.1
@@ -0,0 +1,186 @@
+.de Id
+.\" jpman %Id: ident.1,v 1.2 1997/05/08 13:28:03 mitchy Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
+..
+.Id %Id: ident.1,v 1.2 1995/10/28 21:49:18 peter Exp %
+.ds r \&\s-1RCS\s0
+.ds u \&\s-1UTC\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.TH IDENT 1 \*(Dt GNU
+.SH 名称
+ident \- ファイル内の RCS キーワードを読み出す
+.SH 書式
+.B ident
+[
+.B \-q
+] [
+.B \-V
+] [
+.I file
+\&.\|.\|. ]
+.SH 解説
+.B ident
+は、指定されたファイルがあればそのファイルから、指定がない場合には標準入力から、
+.BI $ keyword : "\ text\ " $
+なるパターンを検索します。
+.PP
+これらのパターンは、通常 \*r の
+.BR co (1)
+コマンドにより自動的に挿入されますが、
+手作業で入れることも可能です。オプション
+.B \-q
+を指定すると、ファイル中に
+キーワードが発見できなくても警告メッセージを出力しません。
+.B \-V
+を指定すると、
+.BR ident
+のバージョン番号を表示します。
+.PP
+.B ident
+は、テキストファイルと同様にオブジェクトファイルやダンプファイルにも使
+用することができます。
+たとえば、以下の C 言語プログラム
+.B f.c
+で、
+.IP
+.ft 3
+#include <stdio.h>
+.br
+static char const rcsid[] =
+.br
+ \&"$\&Id: f.c,v \*(iD $\&";
+.br
+int main() { return printf(\&"%s\en\&", rcsid) == EOF; }
+.ft P
+.LP
+.B f.c
+が
+.B f.o
+にコンパイルされているなら、以下のコマンド
+.IP
+.B "ident f.c f.o"
+.LP
+は、次のような出力を行います。
+.nf
+.IP
+.ft 3
+f.c:
+ $\&Id: f.c,v \*(iD $
+f.o:
+ $\&Id: f.c,v \*(iD $
+.ft
+.fi
+.PP
+C 言語プログラムで上記のような文字列
+.B rcsid
+が定義され、かつ使われていないとき、
+.BR lint (1)
+が警告を出したり、 C コンパイラによっては最適化により文字列を削除する
+場合があります。もっとも、よい解決策は上のプログラム例のように文字列
+.B rcsid
+を使うことです。
+.PP
+.B ident
+は、 \r* がサポートする
+.I keyword
+でなくても、すべての
+.BI $ keyword : "\ text\ " $
+パターンを表示します。
+これにより、
+.BR $\&XConsortium$
+のような非標準の keyword についても情報が得られます。
+.SH KEYWORDS
+つぎに現在、
+.BR co (1)
+が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定標準時
+(\*u しばしば \&\s-1GMT\s0と呼ばれます) で表されますが、
+チェックアウトのときに、
+.BR co
+の
+.BI \-z zone
+オプションを使ったファイルについては、数字によるタイムゾーンが付加され
+ます。
+.TP
+.B $\&Author$
+そのリビジョンをチェックインしたユーザ名です。
+.TP
+.B $\&Date$
+そのリビジョンをチェックインした日付と時刻です。
+.TP
+.B $\&Header$
+\*r ファイルのフルパス名を含んだ標準のヘッダ、リビジョン番号、
+作者、状態、およびロックされている場合にはロックした人です。
+.TP
+.B $\&Id$
+\*r ファイルの名前がフルパスでないことを除いて、
+.BR $\&Header$ ,
+と同じです。
+.TP
+.B $\&Locker$
+そのリビジョンをロックした人のユーザ名 (ロックされていない場合は空白)
+です。
+.TP
+.B $\&Log$
+チェックインのときに書かれたログメッセージです。
+.BR ident
+の目的としては、
+.BR $\&RCSfile$
+と等価です。
+.TP
+.B $\&Name$
+リビジョンをチェックアウトするときに使うシンボル名です(ないかもしれま
+せん)。
+.TP
+.B $\&RCSfile$
+フルパスでない \*r ファイルの名前です。
+.TP
+.B $\&Revision$
+そのリビジョンのリビジョン番号です。
+.TP
+.B $\&Source$
+\*r ファイルのフルパス名です。
+.TP
+.B $\&State$
+.BR rcs (1)
+or
+.BR ci (1)
+の
+.B \-s
+オプションで付けられたそのリビジョンの状態です。
+.PP
+.BR co (1)
+は以下の文字をエスケープシーケンスで表現することにより、
+キーワードの文字列の形を保ちます。
+.LP
+.RS
+.nf
+.ne 6
+.ta \w'newline 'u
+\f2char escape sequence\fP
+tab \f3\et\fP
+newline \f3\en\fP
+space \f3\e040
+$ \e044
+\e \e\e\fP
+.fi
+.RE
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1992, 1993 Paul Eggert.
+.SH 関連項目
+ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1),
+rcsfile(5)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
diff --git a/ja/man/man1/indent.1 b/ja/man/man1/indent.1
new file mode 100644
index 0000000000..0152ea26e5
--- /dev/null
+++ b/ja/man/man1/indent.1
@@ -0,0 +1,457 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\" Copyright (c) 1976 Board of Trustees of the University of Illinois.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)indent.1 8.1 (Berkeley) 7/1/93
+.\" jpman %Id: indent.1,v 1.4 1997/06/28 00:13:51 ken Stab %
+.\"
+.Dd July 1, 1993
+.Dt INDENT 1
+.Os BSD 4.2
+.Sh 名称
+.Nm indent
+.Nd C 言語プログラムの字下げと整形
+.Sh 書式
+.Nm indent
+.Op Ar input-file Op Ar output-file
+.Op Fl bad | Fl nbad
+.Op Fl bap | Fl nbap
+.Bk -words
+.Op Fl bbb | Fl nbbb
+.Ek
+.Op Fl \&bc | Fl nbc
+.Op Fl \&bl
+.Op Fl \&br
+.Op Fl c Ns Ar n
+.Op Fl \&cd Ns Ar n
+.Bk -words
+.Op Fl cdb | Fl ncdb
+.Ek
+.Op Fl \&ce | Fl nce
+.Op Fl \&ci Ns Ar n
+.Op Fl cli Ns Ar n
+.Op Fl d Ns Ar n
+.Op Fl \&di Ns Ar n
+.Bk -words
+.Op Fl fc1 | Fl nfc1
+.Ek
+.Op Fl i Ns Ar n
+.Op Fl \&ip | Fl nip
+.Op Fl l Ns Ar n
+.Op Fl \&lc Ns Ar n
+.Op Fl \&lp | Fl nlp
+.Op Fl npro
+.Op Fl pcs | Fl npcs
+.Op Fl psl | Fl npsl
+.Op Fl \&sc | Fl nsc
+.Bk -words
+.Op Fl sob | Fl nsob
+.Ek
+.Op Fl \&st
+.Op Fl troff
+.Op Fl v | Fl \&nv
+.Sh 解説
+.Nm
+は
+.Ar C
+言語プログラムの整形を行います。
+.Ar input-file
+中の
+.Ar C
+プログラムをオプションに従って整形し直します。
+以下で説明するオプションはファイル名の前後で指定できます。
+.Pp
+.Sy 注釈 :
+.Ar input-file
+のみを指定した場合、整形は「同じ場所に」行われます。つまり、整形結果は
+.Ar input-file
+に書き戻され、カレントディレクトリに元の
+.Ar input-file
+のバックアップがコピーされます。例えば
+.Ar input-file
+の名前が
+.Sq Pa /blah/blah/file
+だったとすると、バックアップファイルの名前は
+.Pa file.BAK
+となります。
+.Pp
+.Nm
+は
+.Ar output-file
+が指定されると、念のため、それが
+.Ar input-file
+とは異なっていることをチェックします。
+.Pp
+.Nm
+の整形スタイルは以下にあげるオプションで制御します。
+.Bl -tag -width Op
+.It Fl bad , nbad
+.Fl bad
+を指定すると、宣言ブロックの後ごとに空行を 1 行入れます。デフォルトは
+.Fl nbad
+です。
+.It Fl bap , nbap
+.Fl bap
+を指定すると、関数本体の後ごとに空行を 1 行入れます。デフォルトは
+.Fl nbap
+です。
+.It Fl bbb , nbbb
+.Fl bbb
+を指定すると、コメントブロックの前に必ず空行を 1 行入れます。デフォルトは
+.Fl nbbb
+です。
+.It Fl \&bc , nbc
+.Fl \&bc
+を指定すると、宣言の中のコンマの後ごとに改行を入れます。
+.Fl nbc
+はこれを抑止します。デフォルトは
+.Fl \&bc
+です。
+.It Fl \&br , \&bl
+.Fl \&bl
+を指定すると、複合文は以下のように行分けされます。
+.ne 4
+.Bd -literal -offset indent
+if (...)
+{
+ code
+}
+.Ed
+.Pp
+一方、デフォルトは
+.Fl \&br
+ですが、以下のようになります。
+.ne 3
+.Bd -literal -offset indent
+if (...) {
+ code
+}
+.Ed
+.Pp
+.It Fl c Ns Ar n
+プログラムコードの右側に書かれたコメントを指定の桁位置に揃えます。デ
+フォルトでは 33 桁目に揃えられます。
+.It Fl cd Ns Ar n
+宣言の右側に書かれたコメントを指定の桁位置に揃えます。デフォルトでは
+プログラムコードの右側に書かれたコメントと同じ位置(つまり
+.Fl c
+で指定された位置)になります。
+.It Fl cdb , ncdb
+コメント区切りを独立の行とするかどうかを指定します。コメントブロック
+だけに有効で、プログラムコードの右側に書かれたコメントには影響しませ
+ん。デフォルトは
+.Fl cdb
+で、コメントは以下のようになります。
+.Bd -literal -offset indent
+.ne 3
+ /*
+ * this is a comment
+ */
+.Ed
+.Pp
+一方、
+.Fl ncdb
+では以下のようになります。
+.Bd -literal -offset indent
+ /* this is a comment */
+.Ed
+.Pp
+.It Fl ce , nce
+.Fl \&ce
+は `else' を直前の `}' につけて ``} else'' のように出力します。デフォルトは
+.Fl \&ce
+です。
+.It Fl \&ci Ns Ar n
+継続行の字下げを
+.Ar n
+で指定します。継続行は、その文の最初の行の先頭から指定した字数だけ字
+下げされます。かっこで括られた式は
+.Fl \&lp
+が有効でなければ、入れ子になっていることを示すために余分に字下げされ
+ます。
+.Fl \&ci
+のデフォルトは
+.Fl i
+と同じ値です。
+.It Fl cli Ns Ar n
+case ラベル字下げ位置を
+.Ic switch
+文の字下げ位置から
+.Ar n
+個目のタブストップにします。
+.Fl cli0.5
+なら、タブストップの半分になります。デフォルトは
+.Fl cli0
+です。
+.It Fl d Ns Ar n
+プログラムコードの右側に書かれたものでない独立したコメントに関して、
+その場所を制御します。デフォルトは
+.Fl \&d\&1
+で、コードの字下げより 1 段左側にします。
+.Fl \&d\&0
+を指定すると、プログラムコードの字下げに合わせます。下記「コメントの
+字下げ」の節を参照して下さい。
+.It Fl \&di Ns Ar n
+宣言子からそれに続く識別子への字下げを文字数で指定します。デフォルト
+は
+.Fl di16
+です。
+.It Fl dj , ndj
+.Fl \&dj
+は宣言を左揃えにします。
+.Fl ndj
+は、プログラムコードと同じ字下げを行います。デフォルトは
+.Fl ndj
+です。
+.It Fl \&ei , nei
+.Ic else-if
+に対し特別な処理するよう指定します(しません)。
+.Fl \&ei
+は特別な処理を行い、
+.Ic else
+に続く
+.Ic if
+は、最初の if 文と同じだけ字下げされます。
+.It Fl fc1 , nfc1
+.Fl fc1
+で、コメントが 1 桁目から始まっている場合も整形します(しません)。こ
+のような場合には、おうおうにしてプログラマが意図的にそうしているので
+あって、
+.Fl nfc1
+を使うべきではありません。デフォルトは
+.Fl fc1
+です。
+.It Fl i Ns Ar n
+1 段の字下げ量を指定します。デフォルトは 4 文字です。
+.It Fl \&ip , nip
+パラメータ宣言を左マージンからさらに字下げします(しません)。
+デフォルトは
+.Fl \&ip
+です。
+.It Fl l Ns Ar n
+出力行の最大幅を指定します。デフォルトは 75 文字です。
+.It Fl \&lp , nlp
+継続行において括弧内のプログラムコードの位置を揃えます。左括弧がその
+行で閉じていない時、継続行を前の行の左括弧の 1 文字後ろから始まるよ
+うにします。例えば、
+.Fl nlp
+が指定されると継続行は以下のようになります。
+.ne 2
+.Bd -literal -offset indent
+p1 = first_procedure(second_procedure(p2, p3),
+\ \ third_procedure(p4, p5));
+.Ed
+.Pp
+.ne 5
+一方、
+.Fl lp
+が指定されるとが指定されると、プログラムコードは以下のようには幾分見
+やすくなります。
+.Bd -literal -offset indent
+p1\ =\ first_procedure(second_procedure(p2,\ p3),
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ third_procedure(p4,\ p5));
+.Ed
+.Pp
+.ne 5
+2行余分に改行された場合には、下のようになります。
+.Bd -literal -offset indent
+p1\ =\ first_procedure(second_procedure(p2,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ p3),
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ third_procedure(p4,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ p5));
+.Ed
+.It Fl npro
+字下げのプロファイル
+.Sq Pa ./.indent.pro
+と
+.Sq Pa ~/.indent.pro ,
+を使わないようになります。
+.It Fl pcs , npcs
+.Fl pcs
+が指定されると、全ての関数呼出しの関数名と括弧の間に空白を
+1 つ入れます。デフォルトは、
+.Fl npcs
+です。
+.It Fl psl , npsl
+.Fl psl
+が指定されると、関数定義における関数の名前を 1 桁目から始め
+ます。つまり、その関数の型名は前の行に置かれることになります。デフォ
+ルトは、
+.Fl psl
+です。
+.It Fl \&sc , nsc
+全てのコメントの左端に、アスタリスク(`*') を置きます(置きません)。
+.It Fl sob , nsob
+.Fl sob
+が指定されると、不要な空白行を取除きます。宣言部の後ろの余分な空白行
+を取り除くのに便利です。デフォルトは、
+.Fl nsob
+です。
+.It Fl \&st
+.Nm
+が標準入力に対して処理を行い、結果を標準出力に出力するようします。
+.It Fl T Ns Ar typename
+.Ar typename
+を型名として扱うように追加します。
+.Fl T
+は幾つ使ってもかまわないので、複数の型名を指定できます。
+プログラム中で
+.Ic typedef
+によって定義された型名は必ず指定する必要があります。\- 多少の指定を
+忘れたところで実害は全くありませんが、プログラムは意図した程きれいに
+は整形されないでしょう。全部の型名を指定しなければならないのは大変な
+ように思えますが、実際にはこれは C 言語のもつ問題が表面化したに過ぎ
+ません。つまり、
+.Ic typedef
+は、言語の構文解釈を変えてしまうので、
+.Nm
+は
+.Ic typedef
+で定義された型名を全て見付けることができないわけです。
+.It Fl troff
+.Xr troff 1
+で処理できるフォーマットで出力します。
+.Xr vgrind 1
+と全く同じ考え方に基づいて、出力をきれいにしようとします。出力ファイ
+ルが指定されていないと、出力先として入力ファイルではなく標準出力が使
+われます。
+.It Fl v , \&nv
+.Fl v
+で `verbose' モードになります。
+.Fl \&nv
+は `verbose' モードを抑止します。`verbose' モードでは、入力中の 1 行
+が複数行に分割された場合には、その旨を表示し、終了時には出力サイズに
+付いての情報を付け加えるようになります。
+デフォルトは
+.Fl \&nv
+です。
+.El
+.Pp
+ログインディレクトリかカレントディレクトリの一方、あるいはその両方に
+.Pa .indent.pro
+というプロファイルを作って、その中にオプションを書いておくことにより、
+あなたの好みの設定を
+.Nm
+のデフォルトとすることができます。プロファイルは、ログインディレクト
+リ, カレントディレクトリの順で読み込まれるため、カレントディレクトリ
+に `.indent.pro'があると、そちらの指定の方が優先されます。
+.Nm
+の起動時にプロファイルが存在していると、それを読み込んでデフォルトと
+して使用します。ただし、コマンド行でオプションを指定すると、それは常
+にプロファイル中のオプションよりも優先されます。プロファイルを書く際
+には、各オプションを空白かタブもしくは改行で区切ってやらなくてはなり
+ません。
+.Pp
+.Ss コメント
+.Sq Em 囲まれた
+.Em コメント
+の処理について説明します。
+.Nm
+は、コメント開始の直後にマイナスやアスタリスクが続いている(つまり
+`/*\-' もしくは`/**' となっている)場合、そのコメントをアスタリスクで
+周囲を囲まれたものとみなします。このようなコメントに対しては、コメン
+トの最初の行に施される字下げ位置に、続く各行を揃える他は、処理を行い
+ません。
+.Pp
+つぎに、
+.Em 連続したテキスト
+としての処理について説明します。
+上にあげた以外のコメントは、連続したテキストとして扱います。
+.Nm
+は 1 行にできるだけ多くの単語(空白やタブもしくは改行で区切られた文字
+列)を詰め込もうとします。また、空白行により段落が分けられます。
+.Pp
+.Ss コメントの字下げ
+プログラムコードの右側のコメントは、コマンド行のオプション
+.Fl c Ns Ns Ar n
+で指定された「コメント開始位置」から始まるようになります。その他のコ
+メントは、コマンド行のオプション
+.Fl d Ns Ns Ar n
+が指定されると、プログラムコードがおかれている位置よりも
+.Ar n
+段少なく字下げされます。1 行の内でプログラムコードが指定されたコメン
+ト開始位置を超えて続いていた場合には、さらにその右へとコメントを続け
+ますが、極端に行が長かった場合には、自動的に右マージンが広くとられる
+ことがあります。
+.Pp
+.Ss マクロ行
+一般に
+.Nm
+はプリプロセッサのマクロ行をそのまま出力します。唯一の例外はその行の
+右側にコメントが書かれている時で、そのコメントを整形します。ただし、
+マクロの展開の結果プログラムに埋込まれるコメントは処理しません。また、
+.Nm
+は条件付きコンパイルのマクロ
+.Pq Ic #ifdef...#endif
+を認識し、それによってもたらされる構文上の異常を正しく補おうとしま
+す。
+.Pp
+.Ss C 言語の構文
+.Nm
+は、C 言語の構文をかなり理解しますが、「寛容な」構文解析しか行いませ
+ん。不完全だったり正しくない構文も、ごく普通のものならうまく処理しよ
+うとします。とくにあげると、以下のようなマクロも適当に処理されます。
+.Pp
+.Dl #define forever for(;;)
+.Pp
+.Sh 環境変数
+.Nm
+は環境変数として、
+.Ev HOME
+を使用します。
+.Sh 関連ファイル
+.Bl -tag -width "./.indent.pro" -compact
+.It Pa ./.indent.pro
+デフォルトの設定を記述したプロファイルです。
+.It Pa ~/.indent.pro
+デフォルトの設定を記述したプロファイルです。
+.El
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.2
+で導入されました。
+.Sh バグ
+.Nm
+は
+.Xr ls 1
+以上に多くのオプションを持っています。
+.Pp
+.ne 5
+よくある悲惨な間違いは、ディレクトリにある全ての
+.Nm C
+プログラムを整形しようとして
+.Pp
+.Dl indent *.c
+.Pp
+と入力してしまうことです。おそらく、これはバグであって特徴と言うべき
+ではないでしょう。
diff --git a/ja/man/man1/indxbib.1 b/ja/man/man1/indxbib.1
new file mode 100644
index 0000000000..d55ede48e3
--- /dev/null
+++ b/ja/man/man1/indxbib.1
@@ -0,0 +1,204 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: indxbib.1,v 1.2 1997/03/29 04:27:19 horikawa Stab %
+.TH INDXBIB 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+indxbib \- 文献目録データベース用の逆引きインデックスの作成
+.SH 書式
+.nr a \n(.j
+.ad l
+.nr i \n(.i
+.in +\w'\fBindxbib 'u
+.ti \niu
+.B indxbib
+.de OP
+.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
+.el .RB "[\ " "\\$1" "\ ]"
+..
+.OP \-vw
+.OP \-c file
+.OP \-d dir
+.OP \-f file
+.OP \-h n
+.OP \-i string
+.OP \-k n
+.OP \-l n
+.OP \-n n
+.OP \-o file
+.OP \-t n
+.RI [\ filename \|.\|.\|.\ ]
+.ad \na
+.SH 解説
+.B indxbib
+は、
+.IR filename \|.\|.\|.
+で指定される文献目録データベースの逆引きインデックスを作成します。逆引きインデックスは
+.BR refer (1)
+、
+.BR lookbib (1)
+、
+.BR lkbib (1)
+で利用されます。このインデックスのファイル名は
+.IB filename .i
+となります(インデックスはいったんテンポラリファイルに書き込まれ、この
+名前にリネームされます)。
+.B \-f
+オプションを使い、また
+.B \-o
+オプションの指定もファイル名の指定もしなかった場合には、インデックスファイルは
+.BR Ind.i
+という名前となります。
+.LP
+文献目録データベースは、空行によってレコードに分けられています。
+レコード内では、各フィールドは、行頭にある
+.B %
+の文字で始まります。フィールドは、
+.B %
+に続いた一文字の名前を持ちます。
+.LP
+.BR \-c
+、
+.BR \-n
+、
+.BR \-l
+、および
+.B \-t
+のオプションによって指定された値は、インデックスの中に格納されます。
+インデックスを検索する時には、ユーザが指定する検索キーは、これらのオプションに
+従って、捨てられたり切りつめられてしまいます。
+しかし、インデックスを検索して見付かったレコードが、実際にユーザが指定した検索キーを
+含んでいる、ということを確かめる場合には、検索キーには
+そのような修正は行われません。
+これは、
+ユーザが指定した検索キーのうち少なくとも1つが
+(-l オプション等によって捨てられることなく)
+インデックスに登録されており、
+かつ検索キーのうちの少なくとも(-t オプションによって)切りつめられた部分を
+インデックスのユーザが指定できるならば、
+これらのオプションがインデックス作成時に使われたかどうか、ユーザは気にする必要が
+ない、ということを意味します。
+.B \-i
+オプションによって指定された値もインデックス内に保存され、
+インデックスを使った検索に適合するレコードがキーに適合するか否かを検証する時に使用します。
+.\" うーんこんな訳でいいのかなぁ...ちょっと自信なし...
+.SH オプション
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.B \-w
+ファイル全体に対してインデックスを作成します。
+各々のファイルが、別々のレコードとなります。
+.TP
+.BI \-c file
+.BR /usr/share/dict/eign
+の代わりに、
+.I file
+から共通語の一覧を読み込みます。
+.TP
+.BI \-d dir
+インデックスに格納する現在の作業ディレクトリのパスとして
+.BR pwd (1)
+で表示されるパスの代わりに
+.I dir
+を使います。
+通常、
+.I dir
+は
+BR pwd (1)
+で表示されるディレクトリを差すシンボリックリンクとします。
+.TP
+.BI \-f file
+インデックスを作るファイルを
+.IR file
+から読み込みます。
+.I file
+が
+.BR \-
+の場合には、ファイルは標準入力から読み込まれます。
+.B \-f
+オプションは1つまでしか使用できません。
+.TP
+.BI \-i string
+フィールド名が
+.IR string
+に含まれているフィールドの内容についてのインデックスは作成しません。
+.I string
+の初期値は
+.BR XYZ
+です。
+.TP
+.BI \-h n
+ハッシュテーブルのサイズとして
+.I n
+以上の素数を用います。
+.I n
+を大きくすると検索は速くなりますが、インデックスは大きくなり、また
+.B indxbib
+はより多くのメモリを消費するようになります。
+.I n
+の初期値は997です。
+.TP
+.BI \-k n
+入力レコードに対する検索キーの数を、最大で
+.I n
+個にします。
+.I n
+の初期値は100です。
+.TP
+.BI \-l n
+.IR n
+文字未満の検索キーを捨てます。
+.I n
+の初期値は3です。
+.TP
+.BI \-n n
+.I n
+個の共通語を、ありふれたものから順に捨てます。
+.I n
+の初期値は100です。
+.TP
+.BI \-o basename
+インデックスの名前を
+.IB basename .i\fR
+とします。
+.TP
+.BI \-t n
+検索キーを
+.IR n
+文字で切り捨てます。
+.I n
+の初期値は6です。
+.SH 関連ファイル
+.TP \w'\fBindxbib\fIXXXXXX'u+2n
+.IB filename .i
+インデックスです。
+.TP
+.B Ind.i
+デフォルトのインデックス名です。
+.TP
+.B /usr/share/dict/eign
+共通語の一覧です。
+.TP
+.BI indxbib XXXXXX
+テンポラリファイルです。
+.SH 関連項目
+.BR refer (1),
+.BR lkbib (1),
+.BR lookbib (1)
diff --git a/ja/man/man1/info.1 b/ja/man/man1/info.1
new file mode 100644
index 0000000000..b889dbb46c
--- /dev/null
+++ b/ja/man/man1/info.1
@@ -0,0 +1,239 @@
+.\" %Id: info.1,v 1.3 1996/10/05 22:26:26 wosch Exp %
+.\" jpman %Id: info.1,v 1.4 1997/08/20 20:54:51 horikawa Stab %
+.\"
+.TH info 1 "7th December 1990"
+.SH 名称
+info \- GNU のハイパーテキストシステム
+.SH 書式
+.B info
+[
+.B \-\-option-name option-value
+]
+.B \menu-item...
+.SH 著作権
+.if n Copyright (C) 1989, 1993 Free Software Foundation, Inc.
+.if t Copyright \(co 1989, 1993 Free Software Foundation, Inc.
+.SH 解説
+.LP
+GNU プロジェクトには
+.I Info
+と呼ばれるハイパーテキストシステムがあります。
+.I Info
+では、同一のソースファイルを元にして紙のマニュアルを印刷出力することと、
+.B info
+コマンドを用いて眺めることができます。
+Emacs 中で
+.B info
+プログラムを用いることもできますが、
+ここで述べるスタンドアロン版を用いることもできます。
+このマニュアルページでは、スタンドアロン版の機能を簡単にまとめて示します。
+
+.SH オプション
+.TP
+.B \-\-directory directory-path
+.B info
+がファイルをオープンする際に検索するディレクトリパスのリストに
+.B directory-path
+を加えます。
+.B \-\-directory
+を複数回指定することもできます。
+このほか、環境変数
+.B INFOPATH
+に値を設定することもできます。
+.B \-\-directory
+が指定されなければ、環境変数
+.B INFOPATH
+の値が用いられます。
+.B INFOPATH
+の値は、ディレクトリ名をコロンで区切ったリストです。
+.B INFOPATH
+と
+.B \-\-directory-path
+の両方とも指定しなければ、
+.B info
+はデフォルトのパスを用います。
+.TP
+.B \-f filename
+オープンする特定の
+.B info
+ファイルを指定します。デフォルトでは
+.B info
+はファイル
+.B dir
+をオープンします。
+このオプションを用いると、
+.B info
+は
+.B (FILENAME)Top
+を最初のファイルおよびノードとして起動します。
+.TP
+.B \-n nodename
+.B info
+がロードする初期ファイルの中で、最初に visit するノードを指定します。
+特に、
+.B \-\-file
+オプションと組み合わせて用いる際に有用です。
+.B \-\-node
+を複数回指定することもできます。
+.TP
+.B -o file
+対話的な
+.B info
+セッションを開始する代わりに、
+出力を直接
+.B file
+に書き出します。
+.TP
+.B \-h
+.B info
+の利用可能オプションについて、かなり簡潔な説明を表示します。
+.TP
+.B \-\-version
+.B info
+のバージョン情報を出力して終了します。
+.TP
+.B menu-item
+.B info
+は残りの引数をメニュー項目名として扱います。
+最初の引数は visit する初期ノード中のメニュー項目で、
+第 2 の引数は第 1 引数のノード中のメニュー項目です。
+目的ノードへのパスを表すメニュー名を指定することで、
+そのノードに簡単に移動できます。
+例えば
+
+.B info emacs buffers
+
+とすると、まずノード
+.B (dir)Top
+におけるメニュー項目
+.B emacs
+を選択し、次にそのノード
+.B (emacs)Top
+中のメニュー項目
+.B buffers
+を選択します。
+.SH コマンド
+.B info
+中では以下のコマンドが利用可能です:
+.TP
+.B h
+Info チュートリアルを起動します。
+.TP
+.B ?
+.B info
+コマンドの簡単なまとめを表示します。
+.TP
+.B h
+メインディレクトリから
+.B info
+ノードを選びます。
+これは、単に
+.B ?
+を用いるよりはるかに完全です。
+.TP
+.B Ctrl-g
+操作中の処理を中断します。
+.TP
+.B Ctrl-l
+画面を再描画します。
+.PP
+他のノードの選択:
+.TP
+.B n
+現ノードの「次」ノードへ移動します。
+.TP
+.B p
+現ノードの「前」ノードへ移動します。
+.TP
+.B u
+現ノードの「上位」ノードへ移動します。
+.TP
+.B m
+メニュー項目を名前で指定して選びます。
+これによりもう一つのノードを選択できます。
+ノード名を完全にタイプする必要はありません。
+何文字かタイプしたところでスペースあるいはタブを打つと、
+.B info
+は残りのノード名を補充しようとします。
+これ以上文字をタイプせずに補完を求めると、
+可能性のある項目のリストが表示されます。
+リストは
+.B ?
+によっても得られます。
+何文字かタイプしたところでリターンを打つと、
+.B info
+は補完を試み、
+もし曖昧であれば最初の候補を採用します。
+.TP
+.B f
+参照先に移動します。参照名を尋ねられますが、
+.B m
+と同様のコマンド補完を使えます。
+.TP
+.B l
+直前にいたノードに移動します。
+.PP
+ノード内での移動:
+.TP
+.B Space
+次のページへスクロールします。
+.TP
+.B DEL
+前のページへスクロールします。
+.TP
+.B b
+このノードの先頭へ移動します。
+.PP
+高度なコマンド:
+.TP
+.B q
+.B info
+を終了します。
+.TP
+.B 1
+ノードメニューの第 1 項目を選択します。
+.TP
+.B 2 \-\- 5
+ノードメニューの第 2 〜 第 5 項目を選択します。
+.TP
+.B g
+名前で指定してノードへ移動します。
+.B (FILENAME)NODENAME
+のようにファイル名を含めることもできます。
+.TP
+.B s
+この
+.B info
+ファイル中から指定した文字列を検索し、
+次に見つかったノードを選択します。
+.TP
+.B M-x print-node
+現在のノードの内容を環境変数
+.B INFO_PRINT_COMMAND
+で指定されたコマンドにパイプします。
+この環境変数が存在しない場合、ノードの内容は単に
+.B lpr
+にパイプされます。
+.SH 環境変数
+.TP
+.B INFOPATH
+.B info
+ファイルを検索するディレクトリをコロンで区切って並べたリスト。
+.B \-\-directory
+が指定されない場合に用いられます。
+.TP
+.B INFO_PRINT_COMMAND
+印刷時に用いられるコマンド。
+.SH 関連項目
+.BR man (1)
+.\" .BR emacs (1)
+.SH 作者
+.RS
+Brian Fox, Free Software Foundation
+.br
+bfox@ai.mit.edu
+.SH マニュアル著者
+.RS
+Robert Lupton; Robert J. Chassell が更新。
+.br
+rhl@astro.princeton.edu; bob@gnu.ai.mit.edu
diff --git a/ja/man/man1/install-info.1 b/ja/man/man1/install-info.1
new file mode 100644
index 0000000000..ca2d1fd2d9
--- /dev/null
+++ b/ja/man/man1/install-info.1
@@ -0,0 +1,56 @@
+.\"
+.\" Copyright (c) 1997 David E. O'Brien (obrien@FreeBSD.org)
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: install-info.1,v 1.1.2.1 1997/08/29 09:11:26 obrien Exp %
+.\"
+.\" .TH install-info 1
+.Dd August 29, 1997
+.Dt INSTALL-INFO 1
+.Os BSD
+.Sh 名称
+.Nm install-info
+.Nd GNU info ハイパーテキストシステム用の info/dir ファイルを編集する
+.Sh 書式
+.Nm install-info
+.Ar program.info info/dir
+.Sh 解説
+.Nm
+は FreeBSD ports コレクションでよく利用されます。
+.Sh 関連ファイル
+/usr/share/info/dir
+/usr/local/info/dir
+.I F
+.Sh 関連項目
+.Xr info 1
+.Sh 診断
+なし。
+.Sh バグ
+知られているものはありません。
+.Sh 作者
+このマニュアルページは David O'Brien (obrien@NUXI.com) によって
+書かれました。
+.\" .Sh HISTORY
+.\" .Nm
+.\" appeared in FreeBSD 2.1.
diff --git a/ja/man/man1/install.1 b/ja/man/man1/install.1
new file mode 100644
index 0000000000..a74c077854
--- /dev/null
+++ b/ja/man/man1/install.1
@@ -0,0 +1,171 @@
+.\" Copyright (c) 1987, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" From: @(#)install.1 8.1 (Berkeley) 6/6/93
+.\" %Id: install.1,v 1.7.2.1 1997/08/28 06:24:41 charnier Exp %
+.\"
+.\" jpman %Id: install.1,v 1.3 1997/11/12 13:03:24 horikawa Stab %
+.Dd September 22, 1996
+.Dt INSTALL 1
+.Os BSD 4.2
+.Sh 名称
+.Nm install
+.Nd バイナリのインストール
+.Sh 書式
+.Nm install
+.Op Fl CcDps
+.Op Fl f Ar flags
+.Op Fl g Ar group
+.Op Fl m Ar mode
+.Op Fl o Ar owner
+.Ar file1 file2
+.Nm install
+.Op Fl CcDps
+.Op Fl f Ar flags
+.Op Fl g Ar group
+.Op Fl m Ar mode
+.Op Fl o Ar owner
+.Ar file1
+\&...
+.Ar fileN directory
+.Nm install
+.Fl d
+.Op Fl g Ar group
+.Op Fl m Ar mode
+.Op Fl o Ar owner
+.Ar directory
+\&...
+.Sh 解説
+ファイルを指定したファイルもしくはディレクトリへ移動 (
+.Fl c
+オプションが指定されていればコピー) します。
+もしもターゲットがディレクトリであれば、
+.Ar file
+は元のファイル名のままで
+.Ar directory
+の中に移動されます。もし指定ファイルがすでに存在してい
+る場合、パーミッションが許せば上書きされます。
+.Pp
+.Bl -tag -width Ds
+.It Fl C
+.Fl c
+オプションが指定されたのと同じように、コピーを行います。
+コピー先ファイルがすでに存在しかつ内容が同一である場合には、
+ターゲットの修正時刻を変更しないことが異なります。
+.It Fl c
+ファイルをコピーします。デフォルトでは
+.Nm
+はターゲットのファイルを作った後にオリジナルのファイルを削除しますが、
+.Fl c
+オプションはこの動作をオフにします。
+.It Fl D
+デバッグ情報を表示します。
+.Fl D
+が一回以上指定されている時、
+.Fl C
+でのリネーム処理も表示します。
+.Fl D
+が 2 回以上指定されている時は、
+.Fl C
+オプションでインストールできなかったファイルに対して警告を発します。
+.It Fl d
+ディレクトリを作成します。
+必要であれば、無い親ディレクトリも作成されます。
+.It Fl f
+ターゲットファイルのファイルフラグを指定します;
+指定可能なフラグのリストとその意味は
+.Xr chflags 1
+を参照して下さい。
+.It Fl g
+グループを指定します。数値指定の GID が利用できます。
+.It Fl m
+モードを指定します。デフォルトのモードは rwxr-xr-x
+(0755) にセットされます。モード指定は 8 進数もしくは
+シンボリックな値のどちらでも可能です; 指定可能なモードの値については
+.Xr chmod 1
+を参照して下さい。
+.It Fl o
+オーナを指定します。数値指定の UID が利用できます。
+.It Fl p
+修正時刻を保存します。
+.Fl C
+(比較してコピー) オプションが指定された場合のようにコピーを行いますが、
+ターゲットファイルが存在しないもしくは内容が異る場合、
+ファイルの修正時刻を保存します。
+.It Fl s
+.Nm
+は
+.Xr strip 1
+コマンドを実行してバイナリをストリップします。
+.Nm strip
+コマンドを別に起動するため、多くのシステムやバイナリ形式に対して
+移植性のある方法となっています。
+.El
+.Pp
+デフォルトでは
+.Nm
+は全てのファイルフラグを保存します。ただし ``nodump'' フラグは例外です。
+.Pp
+.Nm
+ユーティリティは、ファイルをそれ自身に移動しないように試みます。
+.Pp
+.Pa /dev/null
+をインストールすると、空のファイルを作ります。
+.Pp
+正常終了時は 0 が返ります。他の場合は 1 が返ります。
+.Pp
+.Sh 関連ファイル
+.Bl -tag -width INS@XXXX -compact
+.It Pa INS@XXXX
+.Fl C
+もしくは
+.Fl p
+オプションが使われている時は、一時ファイル名を INS@XXXXとします。
+ここで、 XXXX 部分は
+.Xr mkstemp 3
+で決定され、ターゲットディレクトリに作成されます。
+.Sh 関連項目
+.Xr chflags 1 ,
+.Xr chgrp 1 ,
+.Xr chmod 1 ,
+.Xr cp 1 ,
+.Xr mv 1 ,
+.Xr strip 1 ,
+.Xr chown 8
+.Sh 歴史
+.Nm
+ユーティリティは
+.Bx 4.2
+から登場しました。
+.Sh バグ
+.Nm install
+が異常終了した場合に、
+一時ファイルがターゲットディレクトリに残るかも知れません。
diff --git a/ja/man/man1/intro.1 b/ja/man/man1/intro.1
new file mode 100644
index 0000000000..a5dd798ef9
--- /dev/null
+++ b/ja/man/man1/intro.1
@@ -0,0 +1,97 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)intro.1 8.2 (Berkeley) 12/30/93
+.\" %Id: intro.1,v 1.4.2.3 1997/06/13 21:13:27 max Exp %
+.\" jpman %Id: intro.1,v 1.2 1997/05/17 15:58:13 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt INTRO 1
+.Os
+.Sh 名称
+.Nm intro
+.Nd 通常コマンド (ツールとユーティリティ) の手引
+.Sh 解説
+マニュアルのセクション1は、
+.Bx
+ユーザ環境を構成するコマンドのほとんどについて書かれています。
+セクション1に含まれるコマンドを以下にいくつか列挙します。
+.de OP
+.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
+.el .RB "[\ " "\\$1" "\ ]"
+..
+.Pp
+テキストエディタ
+.Pp
+コマンドシェルインタープリタ
+.Pp
+検索およびソートツール
+.Pp
+ファイル操作コマンド
+.Pp
+システム状態参照コマンド
+.Pp
+遠隔ファイルコピーコマンド
+.Pp
+メールコマンド
+.Pp
+コンパイラおよびコンパイラ関連ツール
+.Pp
+整形出力ツール
+.Pp
+ラインプリンタコマンド
+.Pp
+.Pp
+すべてのコマンドは終了 (exit) 時にステータス値をセットするので、
+その値を調べることで
+コマンドが正常に終了したかどうかを判断することができるようになって
+います。
+exit 値とそれが意味するものは、個々のマニュアルに明記されていま
+す。伝統的に、値 0 はコマンドが完全に成功したことを表します。
+.Sh 関連項目
+.Xr apropos 1 ,
+.Xr man 1 ,
+.Xr intro 2 ,
+.Xr intro 3 ,
+.Xr intro 4 ,
+.Xr intro 5 ,
+.Xr intro 6 ,
+.Xr intro 7 ,
+.Xr intro 8 ,
+.Xr intro 9
+.Pp
+.%T "UNIX User's Manual Supplementary Documents"
+の中のチュートリアル
+.Sh 歴史
+.Nm
+マニュアルは
+.At v6
+から登場しました。
diff --git a/ja/man/man1/ipcrm.1 b/ja/man/man1/ipcrm.1
new file mode 100644
index 0000000000..e58827bab3
--- /dev/null
+++ b/ja/man/man1/ipcrm.1
@@ -0,0 +1,79 @@
+.\" Copyright (c) 1994 Adam Glass
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. The name of the Author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY Adam Glass ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL Adam Glass BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: ipcrm.1,v 1.1.8.2 1997/09/15 08:32:01 jkh Exp %
+.\" jpman %Id: ipcrm.1,v 1.2 1997/05/04 07:58:04 horikawa Stab %
+.\""
+.Dd August 8, 1994
+.Dt ipcrm 1
+.Os
+.Sh 名称
+.Nm ipcrm
+.Nd 指定したメッセージキュー、セマフォセット、共有メモリセグメントを削除する
+.Sh 書式
+.Nm
+.Op Fl q Ar msqid
+.Op Fl m Ar shmid
+.Op Fl s Ar semid
+.Op Fl Q Ar msgkey
+.Op Fl M Ar shmkey
+.Op Fl S Ar semkey
+.Ar ...
+.Sh 解説
+.Nm ipcrm
+は、指定したメッセージキュー、セマフォ、共有メモリセグメントを
+削除します。これらの System V IPC オブジェクトは、
+作成時につけられるID、もしくはキーで指定することができます。
+.Pp
+次のようなオプションにて、削除する IPC オブジェクトを指定します。
+これらのオプションはいくつでも組み合わせて使用することができます:
+.Bl -tag -width indent
+.It Fl q Ar msqid
+.Nm msqid
+で指定した ID のメッセージキューを削除します。
+.It Fl m Ar shmid
+.Nm shmid
+で指定した ID の共有メモリセグメントに対し、削除マークを付けます。
+このマークが付けられた共有メモリは、最後のプロセスがデタッチした後、
+解放されます。
+.It Fl s Ar semid
+.Nm semid
+で指定した ID のセマフォセットを削除します。
+.It Fl Q Ar msgkey
+.Nm msgkey
+で指定したキーに対応するメッセージキューを削除します。
+.It Fl M Ar shmkey
+.Nm shmkey
+で指定したキーに対応する共有メモリセグメントに対し、削除マークをつけます。
+このマークが付けられた共有メモリは、最後のプロセスがデタッチした後、
+解放されます。
+.It Fl S Ar semkey
+.Nm semkey
+で指定したキーに対応するセマフォセットを削除します。
+.El
+.Pp
+System V IPC オブジェクトの ID とキーは、
+.Xr ipcs 1
+を使って知ることができます。
+.Sh 関連項目
+.Xr ipcs 1
diff --git a/ja/man/man1/ipcs.1 b/ja/man/man1/ipcs.1
new file mode 100644
index 0000000000..14b77986c1
--- /dev/null
+++ b/ja/man/man1/ipcs.1
@@ -0,0 +1,150 @@
+.\"
+.\" Copyright (c) 1994 SigmaSoft, Th. Lockert
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by SigmaSoft, Th. Lockert.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: ipcs.1,v 1.3.2.2 1997/09/15 08:32:02 jkh Exp %
+.\" jpman %Id: ipcs.1,v 1.2 1997/05/04 07:59:32 horikawa Stab %
+.\"
+.Dd June 18, 1994
+.Dt "IPCS" 1
+.Os FreeBSD 2.0
+.Sh 名称
+.Nm ipcs
+.Nd System V プロセス間通信機構の利用状況を報告する
+.Pp
+.Sh 書式
+.Nm
+.Op Fl abcmopqstMQST
+.Op Fl C Ar system
+.Op Fl N Ar core
+.Sh 解説
+.Nm
+プログラムは、システムの System V プロセス間通信 (IPC) 機構
+に関する情報を提供します。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl a
+使用中のセマフォ、メッセージキュー、共有メモリセグメントに関し、
+可能な限り多くの情報を表示します(これは
+.Fl b ,
+.Fl c ,
+.Fl o ,
+.Fl p ,
+.Fl t
+オプションを同時に指定したのと同じです)。
+.It Fl b
+使用中のセマフォ、メッセージキュー、共有メモリセグメントの
+最大許容サイズを表示します。
+.Dq 最大許容サイズ(maximum allowed size)
+とは、メッセージキュー中の1つのメッセージの最大バイト数、
+共有メモリセグメントのサイズの最大バイト数、もしくは一組のセマフォ中の
+セマフォの数を意味します。
+.It Fl c
+使用中のセマフォ、メッセージキュー、共有メモリセグメント作成者の名前、
+グループを表示します。
+.It Fl m
+使用中の共有メモリセグメントの情報を表示します。
+.It Fl o
+使用中のメッセージキュー、共有メモリセグメントの特徴的な利用状況を表示します。
+.Dq 特徴的な利用状況(outstanding usage)
+とは、メッセージキューにあるメッセージ数や共有メモリセグメントを
+アタッチしているプロセスの数のことです。
+.It Fl p
+使用中のセマフォ、メッセージキュー、共有メモリセグメントの
+プロセスID情報を表示します。
+.Dq プロセスID情報(process ID information)
+とは、メッセージキューにメッセージを送ったり、
+メッセージキューからメッセージを受け取ったりした最後のプロセス、
+またはセマフォを作ったプロセスや、共有メモリセグメントをアタッチしたり、
+デタッチしたりした最後のプロセスのことです。
+.It Fl q
+使用中のメッセージキューに関する情報を表示します。
+.It Fl s
+使用中のセマフォに関する情報を表示します。
+.It Fl t
+使用中のセマフォ、メッセージキュー、共有メモリセグメントの
+アクセス時間を表示します。アクセス時間とは、
+IPC オブジェクトに対する最後の制御操作を行った時間や、
+メッセージを最後に送ったり受け取ったりした時間、
+共有メモリセグメントを最後にアタッチしたりデタッチしたりした時間、
+セマフォを最後に操作した時間のことです。
+.It Fl C Ar system
+デフォルトの
+.Dq Pa /kernel
+のかわりに、指定した
+.Ar system
+から名前リストを取り出します。
+.It Fl M
+共有メモリに関するシステム情報を表示します。
+.It Fl N Ar core
+デフォルトの
+.Dq Pa /dev/kmem
+のかわりに、指定した
+.Ar core
+から名前リストに関連した値を取り出します。
+.It Fl Q
+メッセージキューに関するシステム情報を表示します。
+.It Fl S
+セマフォに関するシステム情報を表示します。
+.It Fl T
+共有メモリ、メッセージキュー、セマフォに関するシステム情報を表示します。
+.El
+.Pp
+もし、
+.Fl M ,
+.Fl m ,
+.Fl Q ,
+.Fl q ,
+.Fl S ,
+.Fl s
+オプションがいずれも指定されていなければ、使用中の IPC 機構に関する情報が
+表示されます。
+.Sh 制限
+システムデータの構造は、
+.Nm
+の実行中にも変化するかもしれません;
+.Nm
+の出力が矛盾のないものであることは保証されません。
+.Sh バグ
+このマニュアルページは、完全なものではありません。なぜなら、
+.Nm ipcs
+で表示される情報について説明していないからです。
+.Sh 関連ファイル
+.Bl -tag -width /etc/passwd -compact
+.It Pa /dev/kmem
+デフォルトのカーネルメモリ
+.It Pa /kernel
+デフォルトのシステム名前リスト
+.El
+.Sh 関連項目
+.Xr ipcrm 1
+.Sh 作者
+.Bl -tag
+Thorsten Lockert <tholo@sigmasoft.com>
+.El
diff --git a/ja/man/man1/join.1 b/ja/man/man1/join.1
new file mode 100644
index 0000000000..426c873acf
--- /dev/null
+++ b/ja/man/man1/join.1
@@ -0,0 +1,212 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)join.1 8.3 (Berkeley) 4/28/95
+.\" jpman %Id: join.1,v 1.2 1997/05/20 00:48:55 mutoh Stab %
+.\"
+.Dd April 28, 1995
+.Dt JOIN 1
+.Os
+.Sh 名称
+.Nm join
+.Nd リレーショナルデータベースの操作
+.Sh 書式
+.Nm join
+.Oo
+.Fl a Ar file_number | Fl v Ar file_number
+.Oc
+.Op Fl e Ar string
+.Op Fl j Ar file_number field
+.Op Fl o Ar list
+.Bk -words
+.Ek
+.Op Fl t Ar char
+.Op Fl \&1 Ar field
+.Op Fl \&2 Ar field
+.Ar file1
+.Ar file2
+.Sh 解説
+.Nm join
+は、指定されたファイルに対し ``equality join'' と呼ばれる、
+各ファイルの同一の部分を結合する操作を施して結果を標準出力に出力します。
+.Pp
+比較は、それぞれのファイルの ``join field'' と呼ばれるフィールドで
+行ないます。デフォルトでは、各行の最初のフィールドが使用されます。
+.Ar file1
+と
+.Ar file2
+の中で、``join field'' が一致した行が組みとなり、1 行で出力されます。
+``join field'' 、
+.Ar file1
+のうちの残りのフィールド、その後、
+.Ar file2
+のうちの残りのフィールドが 1行になって出力されます。
+.Pp
+フィールドの区切は、デフォルトではタブか空白文字です。複数のタブや空白
+が繋っていても、1 つの区切とみなされ、読み込み時にこれらは無視されます。
+出力時の各フィールドの区切は、デフォルトでは空白 1 文字です。
+.Pp
+ファイルとフィールドの番号に関し、多くのオプションがあります。これらの
+番号は常に、1 から始まります。すなわち、コマンドラインの最初のファイル
+はファイル番号 1 番であり、各行の最初のフィールドは、フィールド番号 1
+番となります。
+.Bl -tag -width Fl
+.It Fl a Ar file_number
+デフォルトの出力に加えて、
+.Ar file_number
+で指定したファイルに関して、同一フィールドがなかった行を表示します。
+(
+.FL a
+の引数の前には空白を入れてはなりません;
+.Sx 互換性
+の節を御覧ください。)
+.It Fl e Ar string
+出力時に、空のフィールドがあれば
+.Ar string
+で指定した文字列に置き換えます。
+.It Fl o Ar list
+.Nm join
+の処理して出力すべき行に関し、デフォルトの順序でなく、
+.Ar list
+で指定した順序で各ファイルの各フィールドを出力
+するようにします。
+.Ar list
+の各要素は、
+.Ql file_number.field
+で表わし、要素間は、コンマ (``,'') か空白で区切ります
+(空白で区切る場合は、シェルが要素を別々のパラメータに分解しないよう
+クォーティングするか、複数の
+.Fl o
+オプションを使用します)。
+.It Fl t Ar char
+入力および出力に使用するフィールドの区切として
+.Ar char
+で指定した文字を使用するようにします。
+1行の中で出現したすべての
+.Ar char
+が有効です。
+.It Fl v Ar file_number
+.Ar file_number
+で指定したファイル番号のファイルに関して、
+join 処理で同一フィールドが見つからなかった行だけを表示する
+ようにします。
+.Fl v Ar 1
+と
+.Fl v Ar 2
+を同時に指定してもかまいません。
+.It Fl 1 Ar field
+ファイル1の ``join field'' を
+.Ar field
+で指定した番号のフィールドとします。
+.It Fl 2 Ar field
+ファイル2 の ``join field'' を
+.Ar field
+で指定した番号のフィールドとします。
+.El
+.Pp
+デフォルトのフィールド区切り文字が使われた場合、
+ファイルが結合される順序は
+.Xr sort 1 ,
+に
+.Fl b
+オプションを付けたものと同様になるはずです。
+逆に、
+.Nm join
+.Fl t
+オプションによって、フィールド区切り文字が指定されている場合、
+フィールドの照合順序は
+.Xr sort 1
+で
+.Fl b
+オプションを指定しない場合と同じになるはずです。
+.Pp
+.Ar file1
+または
+.Ar file2
+のうちの片方が ``-'' であった場合には、標準入力が使われます。
+.Pp
+.Nm join
+は、実行に成功した場合に0を返し、エラーが発生した場合には0より大きな
+値を返します。
+.Sh 互換性
+さらに、古いバージョンのjoinとの互換のため、次のオプションも使用できます。
+.Bl -tag -width Fl
+.It Fl a
+デフォルトの出力に加え、file1 と file2 の各々で、同一フィールド
+がない行を表示します。
+(これと
+.Fl a Ar file_number
+を区別するために、
+.Nm join
+は現在後者は空白を含まないことを必要としています。)
+.It Fl j1 Ar field
+ファイル1の ``join field'' を
+.Ar field
+で指定した番号のフィールドとします。
+.It Fl j2 Ar field
+ファイル2の ``join field'' を
+.Ar field
+で指定した番号のフィールドとします。
+.It Fl j Ar field
+file1 と file2 の ``join field'' を
+.Ar field
+で指定した番号のフィールドとします。
+.It Fl o Ar list ...
+歴史的な
+.Nm join
+の実装では
+.Fl o
+オプションに複数の引数を許可していました。
+これらの引数は、現在の
+.Fl o
+オプションで説明したものと同じ``file_number.field_number''とい
+う形式でした。
+しかし、この方法では``1.2''と名付けられたファイルが存在すると、明
+らかに困難を生じます。
+.El
+.Pp
+これらのオプションは、修正をしたくないような非常に古いシェルスクリプト
+のためだけに用意されています。
+これらのオプションは、使うべきではありません。
+.Sh 規格
+.Nm join
+コマンドは
+.St -p1003.2
+互換です。
+.Sh 関連項目
+.Xr awk 1 ,
+.Xr comm 1 ,
+.Xr paste 1 ,
+.Xr sort 1 ,
+.Xr uniq 1
diff --git a/ja/man/man1/jot.1 b/ja/man/man1/jot.1
new file mode 100644
index 0000000000..c651779079
--- /dev/null
+++ b/ja/man/man1/jot.1
@@ -0,0 +1,197 @@
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)jot.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: jot.1,v 1.3 1997/07/22 17:41:47 horikawa Stab %
+.\"
+.TH JOT 1 "June 6, 1993"
+.UC 4
+.SH 名称
+jot \- 連なったデータか乱数データを出力する
+.SH 書式
+.B jot [
+options
+.B ] [
+\fRreps \fB[\fP begin \fB[\fP end \fB[\fP s \fB] ] ] ]\fP
+.SH 解説
+.I jot
+は、普通は数字の増加・減少・乱数・冗長データを一行毎に
+出力するために使われます。
+オプションは、以下のように理解できます。
+.IP \fB\-r\fP
+デフォルトの並んだデータの代わりに、乱数データを作成します。
+.IP \fB\-b\fP\ word
+.I word
+を、繰り返し出力するだけです。
+.IP \fB\-w\fP\ word
+.IR word
+のあとに、生成されたデータを付け加え、出力します。
+8 進・16 進・指数・ASCII・ゼロで埋めた表示・右詰め表現は、
+適切な
+.IR printf (3)
+記法を
+.IR word
+中で指定することで、可能です。この場合、データは追加されるというよりも、
+挿入されると考えてください。
+.IP \fB\-c\fP
+これは、 \fB\-w %c\fP の省略形です。
+.IP \fB\-s\fP\ string
+.IR string
+で分けられたデータを出力します。
+普通は、改行文字がデータを分割します。
+.IP \fB\-n\fP
+最後の改行 (通常出力に追加される) を出力しません。
+.IP \fB\-p\fP\ precision
+整数
+.IR precision
+で指定されたデータの文字数もしくは桁数だけ表示します。
+.BR \-p
+がない場合、精度値は
+.I begin
+と
+.IR end
+の精度の大きい方です。
+.B \-p
+オプションは、
+.BR \-w
+に続く
+.IR printf (3)
+記法が指定されている時には、上書きされます。
+.PP
+最後の 4 つの引数はそれぞれデータ数・下界・上界と、
+幅の大きさまたは、乱数データのための種です。
+少なくともそれらの一つが指定されなければなりませんが、
+その他の 3 つは省略できます。
+引数として
+.BR \-
+を与えると、省略したと考えられます。
+これらの中から 3 つの引数をどのように選んでも、4 つ目は決定されます。
+4 つが指定され、計算された値
+.I reps
+が衝突している場合、小さい方の値が使われます。
+指定された数が 3 つより少ない場合、
+.IR s
+を除いて、
+デフォルト値が左から右へ割り当てられます。
+.IR s は、
+.I begin
+と
+.I end
+が共に指定される場合を除き、デフォルト値が設定されます。
+.PP
+4 つの引数に対するデフォルトは、乱数データが要求された時を除いて、
+それぞれ、100, 1, 100, 1です。
+乱数の種
+.I s
+のデフォルトは、時間 (the time of day) に依存しています。
+.I reps
+は、符号無し整数であることが期待されています。ゼロが与えられた場合は、
+無限回数となります。
+.I begin
+と
+.I end
+は、実数、もしくは文字の場合は対応する ASCII 値としてあたえられます。
+最後の引数は、実数でなければなりません。
+.PP
+乱数値は、
+.IR random (3)
+を使って得られます。
+名前
+.I jot
+は、
+APL 中の関数
+.IR iota
+の部分から来ています。
+.SH 使用例
+.de IC
+.IP
+.ss 36
+.ft B
+..
+.de NC
+.br
+.ss 12
+.PP
+..
+.PP
+コマンド
+.IC
+jot 21 \-1 1.00
+.NC
+は、\-1 から 1 へ増加する等間隔の数字を 21 個出力します。
+ASCII 文字集合は、以下のように入力することで生成されます。
+.IC
+jot \-c 128 0
+.NC
+xaa から xaz までの文字列は以下のようにして表示できます。
+.IC
+jot \-w xa%c 26 a
+.NC
+20 個のランダムな 8 文字は以下のようにして作成できます。
+.IC
+jot \-r \-c 160 a z | rs \-g 0 8
+.NC
+無限に、
+.IR yes
+を出したい場合は、以下のようにします。
+.IC
+jot \-b yes 0
+.NC
+30 個の
+.IR ed (1)
+の置換コマンドを、2, 7, 12 行等のように (5 行毎に ) 適用したい場合は、
+以下の結果を使ってください。
+.\"(訳中)(5 行毎に )は訳者が挿入しました。
+.\" 2.2.1R 対象(1997/05/06) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.IC
+jot \-w %ds/old/new/ 30 2 \- 5
+.NC
+だぶりのある 9, 9, 8, 8, 7 の様な列は、
+適切に精度とステップの大きさを設定することで、以下のように実現できます。
+.IC
+jot 0 9 \- \-.5
+.NC
+ファイルが正確に 1024 バイトであるように作成したければ、
+以下を使ってください。
+.IC
+jot \-b x 512 > block
+.NC
+最後に、タブを 4 つのスペースに設定し、10 カラム目からはじまって、
+132 カラム目で終るようにするためには、以下のようにしてください。
+.IC
+expand \-\`jot \-s, \- 10 132 4\`
+.NC
+80 文字以上の全ての行を表示するためには、以下を使ってください。
+.IC
+grep \`jot \-s "" \-b . 80\`
+.NC
+.SH 関連項目
+ed(1), expand(1), rs(1), yes(1), printf(3), random(3), expand(1)
diff --git a/ja/man/man1/kbdcontrol.1 b/ja/man/man1/kbdcontrol.1
new file mode 100644
index 0000000000..b8bb8ae414
--- /dev/null
+++ b/ja/man/man1/kbdcontrol.1
@@ -0,0 +1,110 @@
+.\"
+.\" kbdcontrol - a utility for manipulating the syscons keyboard driver section
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" @(#)kbdcontrol.1
+.\" jpman %Id: kbdcontrol.1,v 1.3 1997/07/26 21:37:54 horikawa Stab %
+.\"
+.Dd "May 22, 1994"
+.Dt kbdcontrol 1
+.Os FreeBSD
+.Sh 名称
+.Nm kbdcontrol
+.Nd a utility for manipulating the syscons keyboard driver section.
+.Sh 書式
+.Nm
+.Op Fl dFx
+.Op Fl b Ar duration.pitch | Ar belltype
+.Op Fl r Ar delay.repeat | Ar speed
+.Op Fl l Ar mapfile
+.Op Fl f Ar # Ar string
+.Op Fl h Ar size
+.Op Fl L Ar mapfile
+.Sh 解説
+.Nm
+コマンドは、
+キーマップ、リピート速度/ディレイ時間、ベル
+といった様々なキーボード関連オプションを syscons に対して
+設定するのに用いられます。
+.Pp
+以下のコマンドラインオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl b Ar duration.pitch | Ar belltype
+ベルの持続時間(duration)及びピッチ(pitch)を設定します。
+代わりに
+.Ar belltype
+引数が指定された場合、この引数は
+.Ar normal
+(サウンドパラメータを標準値に戻します)か
+.Ar visual
+(ベルをビジュアルモードにします、
+すなわち音を鳴らす代わりに画面をフラッシュさせます)
+のいずれかでなければなりません。
+.It Fl r Ar delay.repeat | Ar speed
+キーボードの
+.Ar delay
+(250, 500, 750, 1000)
+と
+.Ar repeat
+(34, 38, 42, 46, 50, 55, 59, 63, 68, 76, 84, 92, 100, 110, 118, 126,
+136, 152, 168, 184, 200, 220, 236, 252, 272, 304, 336, 368, 400, 440,
+472, 504)
+レートを設定します。
+代わりに
+.Ar speed
+引数が指定された場合、この引数は
+.Ar slow
+(1000.504),
+.Ar fast
+(250.34),
+.Ar normal
+(500.126)
+でなければなりません。
+.It Fl l Ar mapfile
+キーボードマップをファイル
+.Ar mapfile
+から読み取って設定します。
+.It Fl d
+現在のキーボードマップを標準出力にダンプします。
+.It Fl f Ar # Ar string
+.BI "\-f\ " #\ string
+.Ar #
+番のファンクションキーで文字列
+.Ar string
+が送られるように設定します。
+.It Fl F
+ファンクションキー設定を標準状態に戻します。
+.It Fl x
+キーボードマップのダンプを 16 進数表示で行います。
+.It Fl h Ar size
+ヒストリバッファの大きさを
+.Ar size
+行に設定します。
+.It Fl L Ar mapfile
+キーボードマップをファイル
+.Ar mapfile
+から読み取り、これをコンパイルした結果の
+.Ft "struct keymap"
+を標準出力に書き出します。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/syscons/keymaps -compact
+.Pa /usr/share/syscons/keymaps
+.El
+.Sh バグ
+もし見つかったら報告してください。
+.Sh 関連項目
+.Xr vidcontrol 1 ,
+.Xr keyboard 4 ,
+.Xr screen 4
+.Sh 作者
+.An Soren Schmidt Aq sos@FreeBSD.org
+.Sh 日本語訳
+酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳
diff --git a/ja/man/man1/kbdmap.1 b/ja/man/man1/kbdmap.1
new file mode 100644
index 0000000000..33c5915f87
--- /dev/null
+++ b/ja/man/man1/kbdmap.1
@@ -0,0 +1,133 @@
+.\" Copyright (c) March 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: kbdmap.1,v 1.6.2.5 1997/10/12 08:10:33 jmg Exp %
+.\" jpman %Id: kbdmap.1,v 1.3 1997/08/10 18:29:41 horikawa Stab %
+
+.Dd Mar 25, 1995
+.Dt KBDMAP 1
+.Os FreeBSD
+.Sh 名称
+.Nm kbdmap ,
+.Nm vidfont
+.Nd syscons 用フロントエンド
+
+.Sh 書式
+.Nm kbdmap
+.Op Fl K
+.Op Fl V
+.Op Fl d | Fl default
+.Op Fl h | Fl help
+.Op Fl l | Fl lang Ar language
+.Op Fl p | Fl print
+.Op Fl r | Fl restore
+.Op Fl s | Fl show
+.Op Fl v | Fl verbose
+.Sh 解説
+.Nm kbdmap
+は有効なキーマップを容易に設定するコマンドです。
+同様に
+.Nm vidfont
+はフォントを設定します。
+いずれもデータベース中の記述(description)を探します。
+この記述は英語(デフォルト)あるいは他の言語で書かれています。
+両コマンドともキーマップおよびフォントのデータベースを検査します。
+デフォルトでは英語で記述されていますが、他の言語でなされても構いません。
+.Pp
+.Tn MSDOS
+コードページのキーマップやフォントを使用しないよう強く勧めます。
+可能であれば
+.Tn ISO
+標準バージョンを使ってください!
+.Tn X11
+は
+.Tn MSDOS
+コードページをサポートしません。
+.Sh オプション
+.Bl -tag -width Ds
+.It Fl K
+.Xr kbdmap 1
+としてコマンドを実行します。
+.It Fl V
+.Xr vidfont 1
+としてコマンドを実行します。
+.It Fl d , Fl default
+デフォルト言語を使用します。$LANG は無視されます。
+.It Fl h , Fl help
+オプション一覧を表示して終了します。
+.It Fl l , Fl lang Ar language
+記述およびメニューの表示に言語
+.Ar language
+を用います。
+.It Fl p , Fl print
+標準出力に使用可能なキーマップもしくはフォントを表示し、終了します。
+.It Fl r , Fl restore
+.Pa /etc/rc.conf
+からデフォルトフォントをロードします。
+.It Fl s , Fl show
+現在サポートしている言語を表示して終了します。
+.It Fl v , Fl verbose
+通常よりきめ細かく警告メッセージを出力します。
+.Sh 環境変数
+.Bl -tag -width /etc/master.passwdxx -compact
+.Pa LANG
+希望する言語。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/syscons/keymaps/INDEX.keymaps -compact
+.It Pa /usr/share/syscons/keymaps/INDEX.keymaps
+キーマップのデータベース。
+.It Pa /usr/share/syscons/fonts/INDEX.fonts
+フォントのデータベース。
+.It Pa /etc/rc.conf
+デフォルトのフォント。
+.It Pa /usr/X11/lib/X11/locale/locale.alias
+共通な LANG に関する記述。
+.Sh バグ
+.\" .Nm kbdmap/vidfont
+.\" does not know which font is in use. E.g. if the current font
+.\" is iso-8859-1 and you chose lang 'ru' (for Russian)
+.\" you get funny latin1 characters and not russkij shrift.
+.\"
+.Nm vidcontrol
+および
+.Nm kbdcontrol
+は(仮想)コンソールでのみ機能します。X11 上では動作しません。
+.Sh 関連項目
+.Xr dialog 1 ,
+.Xr kbdcontrol 1 ,
+.Xr vidcontrol 1 ,
+.Xr rc.conf 5
+.Sh 歴史
+.Nm kbdmap
+および
+.Nm vidfont
+コマンドは
+.Fx 2.1
+から登場しました。
+.Sh 作者
+.An Wolfram Schneider
+.Aq wosch@FreeBSD.org ,
+Berlin.
+.Sh 日本語訳
+酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD向けに翻訳
diff --git a/ja/man/man1/kcon.1 b/ja/man/man1/kcon.1
new file mode 100644
index 0000000000..a04fbaf32e
--- /dev/null
+++ b/ja/man/man1/kcon.1
@@ -0,0 +1,124 @@
+.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Hellmuth Michaelis
+.\" 4. The name authors may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" @(#)kcon.1, 3.20, Last Edit-Date: [Wed Jan 25 16:34:56 1995]
+.\" jpman %Id: kcon.1,v 1.3 1997/07/22 17:43:18 horikawa Stab %
+.\"
+.Dd January 25, 1995
+.Dt KCON 1
+.Sh 名称
+.Nm kcon
+.Nd キーボードのコントロールと再割り当て
+.Sh 書式
+.Nm kcon
+.Op Fl d Ar delay
+.Op Fl l
+.Op Fl m Ar map
+.Op Fl o
+.Op Fl p
+.Op Fl R
+.Op Fl r Ar rate
+.Op Fl s
+.Op Fl t Ns Ar +/-
+.Op Fl x
+.Sh 解説
+.Nm kcon
+は、 'pcvt' ビデオドライバのためにキーボード設定の全ての側面を
+制御するために使われます。
+.Pp
+利用可能なオプションは以下の通りです。
+.Bl -tag -width flag
+.It Fl d Ar delay
+最後のキーを押してから、キーボードがリピートするまでの
+ディレイ時間を指定します。指定できる値は、0 から 3 で、
+それぞれ 250, 500, 750, 1000 ミリ秒のディレイ時間をあらわします。
+.It Fl l
+現在のドライバに利用されているキーボードマップを表示します。
+.It Fl m Ar map
+キーボード能力データベース
+.Nm keycap
+中で探されるマップエントリを指定します。
+データベース中のエントリを探索し、見付かればマップが読み込まれ、
+直ちにこのドライバで使われます。
+.It Fl o
+現在のマップリスト中の、ディスプレイ制御コードを 8 進数に切替えます。
+.Fl l
+オプションと一緒に使われます。
+.It Fl p
+リストの時に '純粋な (pure)' 出力を使います。
+エスケープ文字は 8 進もしくは 16 進で表示され、 'ESC' とは
+表示されません。
+.Fl l
+オプションと一緒に使われます。
+.It Fl r Ar rate
+文字のリピートレートを指定します。有効な値は 0 から 31 で、それぞれ
+30 文字/秒から 2 文字/秒をあらわします。
+.It Fl R
+キーボードをリセットします。
+.It Fl s
+現在のリピートレートとディレイ値を表示します。
+.It Fl t Ar +/-
+キーリピートオプションを有効とする (
+.Ar +
+) か、無効とする (
+.Ar -
+) かを指定します。
+.It Fl x
+現在のマップの表示で、ディスプレイ制御コードを 16 進での表示に切替えます。
+.Fl l
+オプションと一緒に使われます。これはデフォルトの振舞いです。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/misc/keycap.pcvt -compact
+.It Pa /usr/share/misc/keycap.pcvt
+インストール時に他のものを選んでいなければ、
+これがキーボード能力のデータベースファイルです
+.It Pa /dev/console
+キーボードの raw デバイス
+.Sh 関連項目
+.Xr keycap 3 ,
+.Xr keycap 5
+.Sh バグ
+.Nm kcon
+は、keycap データベース中にいくつかの矛盾を見付けます。
+エラーの場合、
+.Nm kcon
+はエラーメッセージを表示して、終了します。この場合、キーボードは
+未定義状態になるかもしれません。この状態を回復するためには、
+.Nm kcon -m default
+を実行してください。
+.Sh 使用例
+コマンド
+.Dq Li kcon -m gb
+は、英国のキーボードの振舞いに切替えるために 'gb' エントリを keycap
+ファイルからキーボードへ読み込みます。
+
+コマンド
+.Dq Li kcon -r 0 -d 0
+は、キーが 250 ミリ秒押し続けられた後で、キーボードの文字を出すレート
+を 30 文字/秒に設定します。
diff --git a/ja/man/man1/kdump.1 b/ja/man/man1/kdump.1
new file mode 100644
index 0000000000..16eb0c5dd7
--- /dev/null
+++ b/ja/man/man1/kdump.1
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)kdump.1 8.1 (Berkeley) 6/6/93
+.\" %Id: kdump.1,v 1.2.2.3 1997/09/15 08:32:05 jkh Exp %
+.\" jpman %Id: kdump.1,v 1.2 1997/05/16 00:24:29 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt KDUMP 1
+.Os BSD 4.4
+.Sh 名称
+.Nm kdump
+.Nd カーネルのトレースデータを表示する
+.Sh 書式
+.Nm
+.Op Fl dnlRT
+.Op Fl f Ar file
+.Op Fl m Ar maxdata
+.Op Fl t Op cnisuw
+.Sh 解説
+.Nm
+は、
+.Xr ktrace 1
+が作成したカーネルトレースファイルを
+可読形式で表示します。デフォルトでは、カレントディレクトリにある
+.Pa ktrace.out
+ファイルを変換して表示します。
+.Pp
+オプションとしては、以下のものがあります:
+.Bl -tag -width Fl
+.It Fl d
+すべての数値を 10 進数で表示します。
+.It Fl f Ar file
+.Pa ktrace.out
+のかわりに、指定したファイルを変換して表示します。
+.It Fl l
+トレースファイルを何度も読みます。いったん EOF に達すると、
+新たなデータが書かれるまで待ちます。
+.It Fl m Ar maxdata
+.Tn I/O
+をデコードする際に最高
+.Ar maxdata
+バイトまで表示します。
+.It Fl n
+各動作専用に用意されている変換を行わないようにします。通常
+.Nm
+は多くのシステムコールを、より読みやすい形にデコードします。たとえば、
+.Xr ioctl 2
+の値はマクロ名に置き換えられたり、
+.Va errno
+の値は
+.Xr strerror 3
+を利用して文字列に置き換えられたりします。この動作をやめて一貫したフォー
+マットで出力することで、この出力をさらに処理して分析を行うことが容易
+になります。
+.It Fl R
+時間の表示に、前のエントリからの相対時間を使います。
+.It Fl T
+時間の表示に、各エントリの絶対時間を利用します。
+.It Fl t Ar cnisuw
+.Xr ktrace 1
+の
+.Fl t
+オプションを参照してください。
+.El
+.Sh 関連項目
+.Xr ktrace 1
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/key.1 b/ja/man/man1/key.1
new file mode 100644
index 0000000000..9c8b04628d
--- /dev/null
+++ b/ja/man/man1/key.1
@@ -0,0 +1,49 @@
+.\" from: @(#)key.1 1.0 (Bellcore) 12/2/91
+.\" %Id: key.1,v 1.2.2.1 1997/07/17 06:39:15 charnier Exp %
+.\" jpman %Id: key.1,v 1.3 1997/07/22 17:45:51 horikawa Stab %
+.\"
+.Dd December 2, 1991
+.Dt KEY 1
+.Os
+.Sh 名称
+.Nm key
+.Nd S/Key 試行の応答を計算するための独立プログラム
+.Sh 書式
+.Nm
+.Op Fl n Ar count
+.Ar sequence
+.Ar key
+.Sh 解説
+.Nm key
+は、オプションの count を表示すべき一回利用パスワード
+(one time access password) の数として、
+そして (最大の) シーケンス番号とキーをコマンドライン引数として取ります。
+そして、ユーザに秘密のパスワードの入力を促し、
+単語と 16 進フォーマットの両方の応答を作成します。
+.Sh 使用例
+使用例です。
+.sp 0
+ >key \-n 5 99 th91334
+.sp 0
+ Enter password: <あなたの秘密のパスワードをここに入力>
+.sp 0
+ OMEN US HORN OMIT BACK AHOY
+.sp 0
+ .... あと 4 つパスワードを表示します。
+.sp 0
+ >
+.Sh オプション
+.Bl -tag -width indent
+.It Fl n Ar count
+出力する一回利用パスワードの数です。
+デフォルトは 1 です。
+.El
+.Sh 関連項目
+.Xr keyinfo 1 ,
+.Xr keyinit 1 ,
+.Xr skey 1
+.Sh 作者
+コマンドは、Phil Karn, Neil M. Haller, John S. Walden によって
+作られました。
+.Sh 連絡先
+staff@thumper.bellcore.com
diff --git a/ja/man/man1/keyinfo.1 b/ja/man/man1/keyinfo.1
new file mode 100644
index 0000000000..26270f417f
--- /dev/null
+++ b/ja/man/man1/keyinfo.1
@@ -0,0 +1,54 @@
+.\" from: @(#)keyinfo.1 1.1 (Bellcore) 7/20/93
+.\" %Id: keyinfo.1,v 1.2.2.1 1997/07/17 06:40:14 charnier Exp %
+.\" jpman %Id: keyinfo.1,v 1.2 1997/04/18 07:31:28 mutoh Stab %
+.\"
+.Dd April 26, 1996
+.Dt KEYINFO 1
+.Os
+.Sh 名称
+.Nm keyinfo
+.Nd 現在の S/Key シーケンスナンバーとキーを表示する
+.Sh 書式
+.Nm
+.Op Ar username
+.Sh 解説
+.Nm keyinfo
+はユーザ名のオプションをとり、
+ユーザの現在の S/Key データベースである
+.Pa /etc/skeykeys
+にあるシーケンスナンバとキーが表示されます。
+このコマンドはフォームの中での
+.Nm key
+コマンドの結合によって、旅行に出かける時に使うパスワードの一覧表を
+生成する時に有用です。
+.sp
+ >key \-n <number of passwords> `keyinfo`|lpr
+.Sh 使用例
+実行例を以下に示します:
+.sp 0
+ > keyinfo
+.sp 0
+ 0098 ws91340
+.LP
+.Sh 引数
+.Bl -tag -width indent
+.It Ar username
+このユーザの情報を表示します。
+デフォルトでは S/Key の情報はコマンドを実行したユーザのものが
+表示されます。
+.El
+.Sh 診断
+.Nm keyinfo
+は、要求されたユーザのキーが見付かったときに終了コード 0 を返し、
+そうでない場合に終了コード 1 を返します。
+.Sh 関連項目
+.Xr key 1 ,
+.Xr keyinit 1
+.Sh 作者
+もともとのコマンドは、Phil Karn, Neil M. Haller, John S. Waldenに
+よって作成されました。
+perl 用に書き直したのは、
+.ie t J\(:org \%Wunsch
+.el Joerg Wunsch
+です。この版では setuid をしていますので、 S/Key のキーファイルは
+ユーザから読めない用にしておくことができます。
diff --git a/ja/man/man1/keyinit.1 b/ja/man/man1/keyinit.1
new file mode 100644
index 0000000000..14019c0684
--- /dev/null
+++ b/ja/man/man1/keyinit.1
@@ -0,0 +1,90 @@
+.\" @(#)keyinit.1 1.0 (Bellcore) 7/20/93
+.\"
+.\" jpman %Id: keyinit.1,v 1.4 1997/07/26 21:39:55 horikawa Stab %
+.Dd July 20, 1993
+.Dt KEYINIT 1
+.Os
+.Sh 名称
+.Nm keyinit
+.Nd パスワードの変更もしくは、S/Key 認証システムにユーザを加える
+.Sh 書式
+.Nm
+.Op Fl s
+.Op Ar userID
+.Sh 解説
+.Nm keyinit
+は、S/Key の一回利用パスワードをログインに使うためにシステムを
+初期化します。
+プログラムはあなたに秘密のパスフレーズを入力するように尋ねます。
+これにたいして、いくつかの単語からなるフレーズを応答として入力します。
+S/Key データベースが更新された後では、普通の UNIX パスワードか S/Key
+の一回利用パスワードを用いてログインできます。
+.Pp
+別のマシンからログインする時には、
+.Nm key
+コマンドをローカルマシンで
+使いパスフレーズを入力することで、
+実際のパスワードをネットワークを通して送ることを避けることができます。
+このプログラムは、リモートマシンにログインするために使う
+一回利用パスワードを返します。
+この入力は、マウスを使ったカット・アンド・ペースト操作で利用すると
+もっとも便利です。別の方法として、
+.Nm key
+コマンドを利用して
+一回利用パスワードをあらかじめ計算し、紙にでも書いて持ち運ぶことも
+できます。
+.Pp
+.Nm keyinit
+は、秘密パスワードの入力を要求します。これは、安全 (secure)
+な端末でだけ使われるべきです。例えば、ワークステーションのコンソールなど
+がその例です。 信頼できないネットワークを通してログインするとき
+.Nm
+を使う場合、
+.Fl s
+オプションを使って後述の説明にしたがって
+ください。
+.Sh オプション
+.Bl -tag -width indent
+.It Fl s
+セキュアモード、
+すなわち最初の一回利用パスワードの生成をユーザがセキュアなマシンで行う
+モードに設定します。
+.Fl s
+オプション無しでは
+システムは、安全な接続を通して直接接続していることを仮定し、
+あなたに直接秘密パスワードを求めます。
+また、
+.Fl s
+オプションでは、ユーザが種とカウントとを指定できますので、
+パラメータを完全に制御可能です。
+デフォルトが気に入らなければ、種とカウントを設定するために
+.Nm key
+コマンドと
+.Nm
+.Fl s
+を組み合わせて使うことができます。
+これを行うためには、
+まずあるウインドウで
+.Nm
+を実行してカウントと種を入力し、
+その後別のウインドウで
+.Nm key
+を実行して
+そのカウントと種に当てはまる正しい 6 つの英単語を生成します。
+それから、カット・アンド・ペースト等で
+.Nm
+のウインドウへ 6 つの英単語を複製してください。
+.It Ar user ID
+変更したり加えたりするユーザの ID です。
+.El
+.Sh 関連ファイル
+.Pa /etc/skeykeys
+S/Key システムのための情報データベース
+.Sh 関連項目
+.Xr key 1 ,
+.Xr keyinfo 1 ,
+.Xr skey 1 ,
+.Xr su 1
+.Sh 作者
+コマンドは、 Phil Karn, Neil M. Haller, John S. Walden によって
+作られました。
diff --git a/ja/man/man1/kill.1 b/ja/man/man1/kill.1
new file mode 100644
index 0000000000..80879129dd
--- /dev/null
+++ b/ja/man/man1/kill.1
@@ -0,0 +1,150 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)kill.1 8.2 (Berkeley) 4/28/95
+.\" %Id: kill.1,v 1.3.2.1 1997/08/21 21:56:18 jlemon Exp %
+.\" jpman %Id: kill.1,v 1.2 1997/04/18 07:37:46 mutoh Stab %
+.\"
+.Dd April 28, 1995
+.Dt KILL 1
+.Os
+.Sh 名称
+.Nm kill
+.Nd プロセスを終了させる、もしくは、プロセスにシグナルを送る
+.Sh 書式
+.Nm kill
+.Op Fl s signal_name
+.Ar pid
+\&...
+.Nm kill
+.Fl l
+.Op Ar exit_status
+.Nm kill
+.Fl signal_name
+.Ar pid
+\&...
+.Nm kill
+.Fl signal_number
+.Ar pid
+\&...
+.Sh 解説
+.Nm kill
+は、
+.Ar pid
+で指定されたプロセス番号のプロセスに対し
+シグナルを送ります。
+.Pp
+他のユーザのプロセスにシグナルを送ることができるのは、スーパユーザ
+だけです。
+.Pp
+オプションとしては以下のものがあります:
+.Pp
+.Bl -tag -width Ds
+.It Fl s Ar signal_name
+デフォルトの
+.Dv TERM
+シグナルのかわりに、
+シンボルによるシグナル名で指定したシグナルを送ります。
+.It Fl l Op Ar exit_status
+オペランドを指定しない場合、シグナル名をリストします;
+オペランドを指定する場合、
+.Ar exit_status
+に対応するシグナル名を表示します。
+.It Fl signal_name
+デフォルトの
+.Dv TERM
+シグナルのかわりに、
+シンボルによるシグナル名で指定したシグナルを送ります。
+.It Fl signal_number
+負でない整数値を指定すると、
+デフォルトの
+.Dv TERM
+シグナルのかわりに、その番号のシグナルを送ります。
+.El
+.Pp
+以下のプロセス番号には特別な意味があります:
+.Bl -tag -width Ds -compact
+.It -1
+スーパユーザの場合、全てのプロセスに対しシグナルを放送します;
+そうでない場合、そのユーザの全てのプロセスに対しシグナルを放送します。
+.El
+.Pp
+主なシグナル番号とシグナル名は次のとおりです:
+.Bl -tag -width Ds -compact
+.It 1
+HUP (hang up)
+.It 2
+INT (interrupt)
+.It 3
+QUIT (quit)
+.It 6
+ABRT (abort)
+.It 9
+KILL (non-catchable, non-ignorable kill)
+.It 14
+ALRM (alarm clock)
+.It 15
+TERM (software termination signal)
+.El
+.Pp
+.Nm
+は
+.Xr csh 1
+では組み込みコマンドです;
+組み込みコマンドではプロセス番号のかわりに ``%...'' の形でジョブ番号を
+指定することができるので、プロセス番号はあまり使いません。
+詳しくは
+.Xr csh 1
+を参照して下さい。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr killall 1 ,
+.Xr ps 1 ,
+.Xr kill 2 ,
+.Xr sigvec 2
+.Sh 規格
+.Nm
+の機能は
+.St -p1003.2
+互換であることが期待されています。
+.Sh 歴史
+.Nm kill
+コマンドは
+.At v6
+から登場しました。
+.Sh バグ
+.Xr csh 1
+ユーザのために
+.Dq Li kill 0
+の代替コマンドを用意するべきです。
diff --git a/ja/man/man1/killall.1 b/ja/man/man1/killall.1
new file mode 100644
index 0000000000..c1d14f30f6
--- /dev/null
+++ b/ja/man/man1/killall.1
@@ -0,0 +1,139 @@
+.\" Copyright (C) 1995 by Joerg Wunsch, Dresden
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
+.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
+.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: killall.1,v 1.6 1996/08/27 20:04:19 wosch Exp %
+.\" jpman %Id: killall.1,v 1.3 1997/07/22 18:03:26 horikawa Stab %
+.\"
+.Dd June 25, 1995
+.Os FreeBSD 2.2
+.Dt KILLALL 1
+.Sh 名称
+.Nm killall
+.Nd 名前で指定されるプロセスにシグナルを送る
+.\"(訳注)原文では、 kill processes by name であるが、機能から考えて
+.\" "プロセスにシグナルを送る"と訳した。
+.\" 2.2.1R 対象(1997/04/13) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.Sh 書式
+.Nm killall
+.Op Fl d \&| Ns Fl v
+.Op Fl h \&| Ns Fl \&?
+.Op Fl help
+.Op Fl l
+.Op Fl m
+.Op Fl s
+.Op Fl SIGNAL
+.Ar procname ...
+.Sh 解説
+.Nm killall
+は、
+.Xr kill 1
+がプロセス id で指定されるプロセスにシグナルを送るのに対して、
+名前で指定されるプロセスにシグナルをおくります。
+デフォルトでは、
+.Dv TERM
+シグナルを、
+.Nm
+実行者と同じ実効 UID を持つ、
+.Ar procname
+に名前が一致する全てのプロセスに送ります。
+スーパユーザはどんなプロセスにたいしてもシグナルを送ることができます。
+.Pp
+以下のようなオプションがあります。
+.Bl -tag -width 10n -offset indent
+.It Fl d \&| Ns Fl v
+これから、行おうとすることをより冗長に報告します。一つの
+.Fl d
+オプションによって、シグナルを送ろうとするプロセスの一覧が表示されるか、
+一つも一致するプロセスが見付からなかったことが示されます。
+.Fl d
+オプションが少なくとも 2 回指定された時は、
+.Xr procfs 5
+で見付かった全てのプロセスの実効 UID, PID とプロセスの名前が更に
+付け加えて表示されます。
+.It Fl h \&| Ns Fl \&?
+.It Fl help
+コマンドの使い方のヘルプを表示し、終了します。
+.It Fl l
+.Xr kill 1
+の様に利用可能なシグナルの名前の一覧を表示し、終了します。
+.It Fl m
+引数
+.Ar procname
+を ( 大文字小文字を区別しない ) 正規表現として、
+.Xr procfs 5
+から得られた名前に対して対応を取ります。
+注意! 一つのドット (.) は、呼び出しユーザと同一の実効 UID を持つ
+全てのプロセスに一致し、
+危険です。正規表現の文法は
+.Xr perl 1
+で使っているものと同じです。
+.It Fl s
+何が行われるのかだけを表示し、シグナルは送られません。
+.It Fl SIGNAL
+デフォルトの
+.Dv TERM
+とは違うシグナルを送ります。シグナルは、
+(頭に
+.Dv SIG
+を付けても付けなくても良い) 名前もしくは数字で指定します。
+.El
+
+.Sh 全てのプロセス
+uid が
+.Nm XYZ
+である全てのプロセスに対してシグナルを送る動作は、
+.Xr kill 1
+で既にサポートされています。したがって、このような仕事を行うためには
+.Xr kill 1
+を使ってください(たとえば、 $ kill -TERM -1 もしくは、 root になって、
+$ echo kill -TERM -1 |su -m <user> で可能です。)。
+
+
+.Sh 診断
+.Nm
+コマンドは、コマンドエラーが起こった場合は、短い利用法のメッセージを
+表示し、終了状態 2 で終了します。
+終了状態 1 は、一致するプロセスが見付からなかった時か、全ての
+プロセスに対してシグナルを送ることに成功しなかった時に返されます。
+それ以外の場合は、終了状態 0 が返されます。
+.Pp
+診断メッセージは、
+.Fl d
+オプションで要求された場合だけ表示されます。
+.Sh 関連項目
+.Xr kill 1 ,
+.Xr procfs 5 .
+.Sh 歴史
+.Nm
+コマンドは
+.Fx 2.1
+から導入されました。
+.Nm
+コマンドは他のプラットホームでも利用可能なように設計されています。
+.Sh 作者
+このプログラムは、 Wolfram Schneider によって提供されました。
+このマニュアルページは
+.if n Joerg Wunsch.
+.if t J\(:org Wunsch
+によって書かれました。
diff --git a/ja/man/man1/ktrace.1 b/ja/man/man1/ktrace.1
new file mode 100644
index 0000000000..3694baed14
--- /dev/null
+++ b/ja/man/man1/ktrace.1
@@ -0,0 +1,173 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ktrace.1 8.1 (Berkeley) 6/6/93
+.\" %Id: ktrace.1,v 1.4.2.3 1997/09/15 08:32:07 jkh Exp %
+.\" jpman %Id: ktrace.1,v 1.2 1997/05/16 00:27:14 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt KTRACE 1
+.Os BSD 4.4
+.Sh 名称
+.Nm ktrace
+.Nd カーネルプロセスのトレースを行う
+.Sh 書式
+.Nm ktrace
+.Op Fl aCcdi
+.Op Fl f Ar trfile
+.Op Fl g Ar pgrp
+.Op Fl p Ar pid
+.Op Fl t Ar trstr
+.Nm ktrace
+.Op Fl adi
+.Op Fl f Ar trfile
+.Op Fl t Ar trstr
+command
+.Sh 解説
+.Nm
+は、指定したプロセスのカーネルのトレースログを
+とります。カーネルトレース情報はファイル
+.Pa ktrace.out
+に記録されます。
+トレースされるカーネル動作には、
+システムコール、namei 変換、シグナル処理、
+.Tn I/O
+処理が含まれます。
+.Pp
+いったんプロセスのトレースを行うようにすると、トレースデータは
+プロセスが終了するか、トレースポイントがクリアされるまで記録され続けます。
+トレースしたプロセスは膨大な量のログを急速に作るため、ユーザはプロセスの
+トレースを行う前にトレースを取り消す方法を覚えておくことを強くお勧めします。
+ユーザが実行している全てのプロセスのトレース動作を取り消すには、
+以下のコマンドで十分です。このコマンドが root 権限で実行された場合には、
+全てのプロセスに対してトレースの取消しが行われます。
+.Pp
+.Dl \&$ ktrace -C
+.Pp
+トレースファイルはそのままでは読めませんので、
+.Xr kdump 1
+を使って解析してください。
+.Pp
+オプションとしては、以下のものがあります。
+.Bl -tag -width indent
+.It Fl a
+既存のトレースファイルを再構築しないで、後ろに追加していきます。
+.It Fl C
+ユーザが実行している全てのプロセスのトレース動作をオフにします。
+root が実行した場合はシステムのすべてのプロセスのトレースがオフになります。
+.It Fl c
+指定したファイルやプロセスに対するトレースポイントをクリアします。
+.It Fl d
+指定したプロセスの現在の子プロセスすべてに対してトレースを行います。
+.It Fl f Ar file
+トレース記録を
+.Pa ktrace.out
+のかわりに
+.Ar file
+に記録します。
+.It Fl g Ar pgid
+プロセスグループ内の全てのプロセスのトレースをオン (オフ) にします(
+.Fl g
+フラグは 1 つしか指定できません)。
+.It Fl i
+指定したプロセスが今後生成するすべての子プロセスに対し、トレースフラグを
+継承させます。
+.It Fl p Ar pid
+指定したプロセス ID のトレースを行います (または 取り消します) (
+.Fl p
+フラグは 1 つしか指定できません)。
+.It Fl t Ar trstr
+この文字列引数は、カーネルトレースポイントの 1 つを 1 文字で表現しています。
+以下の表は、文字とトレースポイントの対応関係を表しています。
+.Pp
+.Bl -tag -width flag -compact
+.It Cm c
+システムコールのトレース
+.It Cm n
+namei 変換のトレース
+.It Cm i
+.Tn I/O
+のトレース
+.It Cm s
+シグナル処理のトレース
+.It Cm u
+ユーザでのトレース
+.It Cm w
+コンテキストスイッチ
+.El
+.It Ar command
+指定したトレースフラグで
+.Ar command
+を実行します。
+.El
+.Pp
+.Fl p ,
+.Fl g ,
+.Ar command
+は相互に排他的です。同時に利用することはできません。
+.Sh 使用例
+# プロセス ID 34 のプロセスすべてのカーネル動作のトレースを行います。
+.Dl $ ktrace -p 34
+.Pp
+# プロセスグループ ID 15 のすべてのプロセスのカーネル動作のトレースを行い、
+現在および未来の子プロセスすべてにトレースフラグを渡します。
+.Dl $ ktrace -idg 15
+.Pp
+# プロセス ID 65 のプロセスのすべてのトレースを取り消します。
+.Dl $ ktrace -cp 65
+.Pp
+# プロセス ID 70 のプロセスとそのすべての子プロセスの、シグナルに関する
+トレースを取り消します。
+.Dl $ ktrace -t s -cdp 70
+.Pp
+# プロセス ID 67 のプロセスの
+.Tn I/O
+に関するトレースを有効にします。
+.Dl $ ktrace -ti -p 67
+.Pp
+# コマンド "w" を実行し、システムコールのみのトレースを行います。
+.Dl $ ktrace -tc w
+.Pp
+# "tracedata" ファイルに対するすべてのトレースを取り消します。
+.Dl $ ktrace -c -f tracedata
+.Pp
+# ユーザが所有しているすべてのプロセスのトレースを取り消します。
+.Dl $ ktrace -C
+.Sh 関連項目
+.Xr kdump 1
+.Sh バグ
+.Ar file
+が普通のファイルの場合だけ働きます。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から実装されました。
diff --git a/ja/man/man1/lam.1 b/ja/man/man1/lam.1
new file mode 100644
index 0000000000..f0816ca39f
--- /dev/null
+++ b/ja/man/man1/lam.1
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)lam.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: lam.1,v 1.3 1997/08/20 12:59:57 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt LAM 1
+.Os
+.Sh 名称
+.Nm lam
+.Nd ファイルを並べて結合する
+.Sh 書式
+.Nm
+.Op Fl f Ar min.max
+.Op Fl s Ar sepstring
+.Op Fl t Ar c
+.Ar file ...
+.Nm lam
+.Op Fl p Ar min.max
+.Op Fl s Ar sepstring
+.Op Fl t Ar c
+.Ar file ...
+.Sh 解説
+.Nm lam
+は指定されたファイルを並べてコピーし、標準出力に出力します。
+各入力ファイル
+.Ar file
+の
+.Em n
+行目は、出力の
+.Em n
+行目を構成する要素と見なされ、結合されます。
+`\fB\-\fP' というファイル名は標準入力と見なされ、
+繰り返し指定することもできます。
+.Pp
+通常、各オプションはその直後の
+.Ar file
+に対してのみ有効です。
+オプション文字が大文字で指定されれば、
+再び大文字になっていないオプションが現れるまで、
+後続する全てのファイルに対して適用されます。
+オプションは以下の通りです。
+.Bl -tag -width indent
+.It Fl f Ar min.max
+行の構成要素をフォーマット文字列
+.Ar min.max
+に従って出力します。ここで
+.Ar min
+は最小フィールド幅、
+.Ar max
+は最大フィールド幅です。
+もし
+.Ar min
+がゼロで始まっていれば、
+フィールド幅を満たすためにゼロが付加されます。
+もし
+.Ar min
+が `\-' で始まっていれば、その要素はフィールド内で左詰めされます。
+.It Fl p Ar min.max
+.Fl f
+と同様ですが、
+このファイルが EOF に達したにもかかわらず他のファイルがまだ残っていれば、
+このファイルのフィールドをパディングします。
+.It Fl s Ar sepstring
+次のファイルからの行要素を表示する前に
+.Ar sepstring
+を表示します。
+このオプションは最終ファイルの後に指定することもできます。
+.It Fl t Ar c
+入力ファイルの行の終端文字として、改行文字に代えて、
+.Ar c
+を用います。
+省略された各出力行には、通常、改行文字が追加されます。
+.El
+.Pp
+複数ファイルを並べて表示する簡便な方法については
+.Xr pr 1
+を参照して下さい。
+.Sh 使用例
+次のコマンド
+.Bd -literal
+lam file1 file2 file3 file4
+.Ed
+
+は4つのファイルを各々行毎に結合します。
+4つの異なるファイルの行をマージするには、以下のコマンドを用います。
+.Bd -literal
+lam file1 \-S "\\
+.br
+" file2 file3 file4
+.Ed
+
+1つのファイルの行を1行おきに結合するには、以下のコマンドを用います。
+.Bd -literal
+lam \- \- < file
+.Ed
+
+`@' で示された部分を置換して letter を作成するには、
+以下のコマンドを用います。
+.\" ↑この部分、やや意味不明。原文は以下の通り。
+.\" a form letter with substitutions keyed by `@' can be done with
+.Bd -literal
+lam \-t @ letter changes
+.Ed
+.Sh 関連項目
+.Xr join 1 ,
+.Xr pr 1 ,
+.Xr printf 3
diff --git a/ja/man/man1/last.1 b/ja/man/man1/last.1
new file mode 100644
index 0000000000..1c51e3e8ba
--- /dev/null
+++ b/ja/man/man1/last.1
@@ -0,0 +1,139 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)last.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: last.1,v 1.2 1997/05/12 06:02:31 yugawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt LAST 1
+.Os BSD 4
+.Sh 名称
+.Nm last
+.Nd 最近ログインしたユーザの記録を表示する
+.Sh 書式
+.Nm last
+.Op Fl Ns Ar n
+.Op Fl f Ar file
+.Op Fl h Ar host
+.Op Fl t Ar tty
+.Op user ...
+.Sh 解説
+.Nm last
+は指定された
+.Ar user ,
+.Ar tty ,
+や
+.Ar host
+でのログインしてからログアウトまでを
+最近の物から表示します。
+出力の各行には、ユーザ名、セッションを処理した tty、ホスト名、セッションの
+開始および終了時刻、セッションの期間の情報が含まれます。セッションがまだ
+継続中であるか、クラッシュないしシャットダウンにより中断された場合は
+そのように表示されます。
+.Bl -tag -width indent-two
+.Pp
+.It Fl f Ar file
+指定したファイルからログイン情報ファイルを読み込みます。デフォルト
+では、
+.Pa /var/log/wtmp
+を読み込みます。
+.It Fl Ar n
+表示するセッション情報を、
+.Ar n
+行
+以内に制限します。
+.It Fl t Ar tty
+.Ar tty
+を指定します。
+.Ar tty
+には、完全な
+端末名か、tty を省略した名前を使うことができます。たとえば、
+.Dq Li "last -t 03"
+は、
+.Dq Li "last -t tty03"
+と同じです。
+.It Fl h Ar host
+.Ar host
+は、ホスト名かインターネットアドレスを指定します。
+.El
+.Pp
+複数の引数が与えられると、
+.Nm last
+はそれらの引数のいずれかを満足するすべての
+セッション情報を表示しようとします。すなわち、
+.Dq Li "last root -t console"
+とすると、
+.Dq Li root
+の行ったセションのすべてと、端末 console 上での
+セッションのすべてを表示します。もし、
+.Ar user
+も
+.Ar host
+も
+.Ar tty
+も
+指定されなければ、
+.Nm last
+はすべてのログイン、ログアウト情報を表示
+します。
+.Pp
+システムをリブートすると、その情報は仮想ユーザである
+.Ar reboot
+のセッションとして記録されます。したがって、
+.Dq Li last reboot
+とすると、システムのリブート
+間隔を知ることができます。
+.Pp
+割り込みが起こると、
+.Pa wtmp
+の記録開始日時を表示します。QUIT シグ
+ナルによって割り込みが行われた場合、
+.Nm last
+は
+検索を開始してからシグナルを受けるまでに検索した日付を表示し、実行を続けます。
+.Sh 関連ファイル
+.Bl -tag -width /var/log/wtmp -compact
+.It Pa /var/log/wtmp
+ログイン情報データベース
+.El
+.Sh 関連項目
+.Xr lastcomm 1 ,
+.Xr utmp 5 ,
+.Xr ac 8
+.Sh バグ
+ログインシェルが何らかの理由で異常終了した場合、ログアウトの記録が
+wtmp ファイルに記録されない場合があります。この様な場合、last は、
+ログアウトの時刻を "shutdown" と表示します。
+.Sh 歴史
+.Nm last
+は
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/lastcomm.1 b/ja/man/man1/lastcomm.1
new file mode 100644
index 0000000000..c5b8fba3d6
--- /dev/null
+++ b/ja/man/man1/lastcomm.1
@@ -0,0 +1,172 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" From: @(#)lastcomm.1 8.1 (Berkeley) 6/6/93
+.\" %Id: lastcomm.1,v 1.3.2.1 1997/07/22 07:16:38 charnier Exp %
+.\" jpman %Id: lastcomm.1,v 1.2 1997/03/29 06:18:35 horikawa Stab %
+.\"
+.Dd September 18, 1996
+.Dt LASTCOMM 1
+.Os BSD 3
+.Sh 名称
+.Nm lastcomm
+.Nd 過去に実行されたコマンドの情報を逆順に表示する
+.Sh 書式
+.Nm
+.Op Fl EScesu
+.Op Fl f Ar file
+.Op Ar command ...
+.Op Ar user ...
+.Op Ar terminal ...
+.Sh 解説
+.Nm
+は、以前に実行されたコマンドの情報を表示します。引数が
+ないときは、現在のアカウント情報ファイルが存在している間に実行されたすべて
+のコマンドの記録を表示します。
+.Pp
+.\" この部分原文にはありませんが、正しいことを確認しています。
+.\" Kazuo HORIKAWA <horikawa@isrd.hitachi.co.jp>
+このコマンドを使用するには、あらかじめ
+.Xr accton 8
+で、アカウント
+情報ファイルを設定しておく必要があります。このファイルはデフォルトでは、
+.Pa /var/account/acct
+ですが、存在しない場合にはあらかじめrootで
+touch /var/account/acctとしておいてから、accton /var/account/acct
+を実行しなければなりません(通常 /etc/rc で起動されます)。
+.Pp
+以下のオプションを使用可能です:
+.Bl -tag -width XXfXfileX -compact
+.Pp
+.It Fl E
+プロセスが終了した時刻を表示します。
+.It Fl S
+プロセスが開始した時刻を表示します。
+.It Fl c
+プロセスが使用した CPU 時間を表示します。
+.It Fl e
+プロセスが経過した時間を表示します。
+.It Fl s
+プロセスが使用したシステム時間を表示します。
+.It Fl u
+プロセスが使用したユーザ時間を表示します。
+.It Fl f Ar file
+デフォルトの
+.Pa /var/account/acct
+のかわりに
+.Ar file
+を読み
+込みます。
+.El
+.Pp
+オプションが指定されない場合には
+.Fl cS
+が仮定されます。
+.Nm
+が引数付きで呼ばれたときは、引数で与えられた
+.Ar command ,
+.Ar user ,
+.Ar terminal
+にマッチする情報を表示します。
+たとえば:
+.Pp
+.Dl lastcomm a.out root ttyd0
+.Pp
+では、
+.Pa a.out
+というコマンド名か、
+.Ar root
+というユーザか、
+.Ar ttyd0
+というターミナルで実行されたコマンド全てのリストが出力されます。
+.Pp
+表示される情報は、次のようなものです。
+.Pp
+.Bl -bullet -offset indent -compact
+.It
+ユーザが実行したプロセスの名前
+.It
+システムのアカウント機能によってつけられるフラグ
+.It
+コマンドを実行したユーザ名
+.It
+コマンドを実行した端末名
+.It
+プロセスが使用した CPU
+.Pq Fl c
+または実
+.Pq Fl e
+またはシステム
+.Pq Fl s
+またはユーザ
+.Pq Fl u
+時間の合計(秒)
+.It
+プロセスが開始
+.Pq Fl S
+または終了
+.Pq Fl E
+した時刻
+.El
+.Pp
+フラグには次のようなものがあります:
+``S''
+コマンドはスーパーユーザーによって実行されました。
+``F''
+コマンドが
+.Xr fork 2
+を行いましたが、その後、
+.Xr exec 3
+を行っていません。
+.\" ``C''
+.\" コマンドがPDP-11互換モードで実行されました (これはVAXでのみ有効です)。
+``D''
+コマンドが
+.Pa core
+ファイルを生成して終了しました。
+``X''
+コマンドがシグナルで終了しました。
+.Pp
+.Sh 関連ファイル
+.Bl -tag -width /var/account/acct -compact
+.It Pa /var/account/acct
+デフォルトのアカウント情報ファイル
+.El
+.Sh 関連項目
+.Xr last 1 ,
+.Xr sigvec 2 ,
+.Xr acct 5 ,
+.Xr core 5
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/ld.1 b/ja/man/man1/ld.1
new file mode 100644
index 0000000000..54c53f2d62
--- /dev/null
+++ b/ja/man/man1/ld.1
@@ -0,0 +1,290 @@
+.\"
+.\" Copyright (c) 1993 Paul Kranenburg
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Paul Kranenburg.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: ld.1,v 1.12.2.2 1997/08/08 02:17:59 jdp Exp %
+.\" jpman %Id: ld.1,v 1.4 1997/11/12 13:02:08 horikawa Stab %
+.\"
+.Dd October 14, 1993
+.Dt LD 1
+.Os FreeBSD
+.Sh 名称
+.Nm ld
+.Nd リンクエディタ
+.Sh 書式
+.Nm ld
+.Op Fl fMNnrSstXxz
+.Bk -words
+.Op Fl A Ar symbol-file
+.Op Fl assert Ar keyword
+.Op Fl B Ns Ar linkmode
+.Op Fl D Ar datasize
+.Op Fl d Ar c
+.Op Fl d Ar p
+.Op Fl e Ar entry
+.Op Fl l Ns Ar library-specifier
+.Op Fl L Ns Ar library-search-path
+.Op Fl nostdlib
+.Op Fl O Ar filename
+.Op Fl o Ar filename
+.Op Fl R Ns Ar record-library-search-path
+.Op Fl T Ar address
+.Op Fl u Ar symbol
+.Op Fl V Ar shlib-version
+.Op Fl y Ar symbol
+.Ek
+.Sh 解説
+.Nm
+はコマンドラインで指定されたオブジェクトとアーカイブファイルを結合
+し、新しいオブジェクトファイルを生成します。生成されるオブジェクトファイルは
+実行可能プログラム、実行時ロードに対応した共有オブジェクト、もう一度
+.Nm
+により処理可能なオブジェクトのいずれかになります。オブジェクト
+ファイルとアーカイブはコマンドラインで指定された順に処理します。
+.Pp
+オプションは以下の通りです。
+.Pp
+.Bl -tag -width indent
+.It Fl A Ar symbol-file
+symbol-file を、コマンドラインで指定されたオブジェクトファイルをリンクする
+ためのベースとして用います。
+.It Fl assert Ar keyword
+本オプションは主に SunOS の
+.Nm ld
+との互換性のために存在します。
+Sun の assert が失敗する条件のほとんどは、本
+.Nm
+ではエラーになるか、警告メッセージが発せられます。
+.Nm ld
+が実装している唯一のキーワードは
+.Nm pure-text
+です。これを使用すると、位置独立オブジェクトが生成され、
+位置独立でないファイルとリンクされるときに警告が生成されます。
+.It Fl B Ns Ar dynamic
+ダイナミックライブラリとのリンクを指定します。
+ライブラリが -lx オプションによりコマンドラインから指定されると、libx.so.n.m
+.Po
+.Fl l
+オプションの項を参照
+.Pc
+を検索ルールに基づき有効な範囲で検索します。もしこの形式
+のライブラリが発見できなければ、検索ルールに基づき通常の libx.a を検索します。
+本オプションはコマンドラインのどこにでも置くことが可能であり、
+.Fl B Ns Ar static
+と相補的なものです。
+.It Fl B Ns Ar forcedynamic
+これは
+.Fl B Ns Ar dynamic
+と似ていますが、ダイナミックライブラリとリンクしようとしなくても、
+.Nm ld
+はダイナミックな実行可能ファイルを生成します。
+スタティックプログラムでありかつ、
+実行時にダイナミックオブジェクトをロードする
+プログラムに有用です。
+.It Fl B Ns Ar static
+.Fl B Ns Ar dynamic
+の逆の効果を持ちます。本オプション以降に指定されたライブラリに
+関しては、もう一度
+.Fl B Ns Ar dynamic
+が指定されるまで、ダイナミックリンクが行われなくなります。
+.Fl B Ns Ar static
+が有効な位置においてコマンドラインから明示的に共有オブジェクトが
+指定された場合は、エラーとなります。
+.It Fl B Ns Ar shareable
+通常の実行可能イメージではなく、共有オブジェクトを生成するよう指示します。
+.It Fl B Ns Ar symbolic
+リンク時に、すべてのシンボル参照が解決されるように指示します。
+実行時に必要なリロケーションは
+.Em ベース相対
+リロケート、すなわちロードアドレスに関する変換のみです。
+シンボル参照の解決に失敗した場合はエラーとなります。
+.It Fl B Ns Ar forcearchive
+アーカイブ中の全メンバをロードします。
+メンバが通常のオブジェクトファイルに対して定義を提供するか否かには無関係です。
+PIC オブジェクトのアーカイブを展開することなく、共有ライブラリを
+作成するのに便利です。
+.It Fl B Ns Ar silly
+共有オブジェクトのための愚かな
+.Em \.sa
+アーカイブを作成します。これは、version 3
+の共有オブジェクトとの互換性のために存在します。
+.It Fl D Ar data-size
+データセグメントのサイズを設定します。
+正気を保つためには、
+サイズを入力ファイルの全データサイズの合計より大きくすべきです。
+.It Fl d Ar c
+リロケータブルな出力を作成している時でも、
+コモンエリアのアロケートを強制します。
+.It Fl d Ar p
+非 PIC コード中の手続き呼び出しの別名定義を強制します。
+手続きリンク表 (Procedure Linkage Table) による呼び出しのリダイレクト
+のような、実行時リロケーションを含む共有コードを作成するのに便利です。
+.Po
+.Xr link 5
+を参照
+.Pc
+.It Fl e Ar entry-symbol
+実行可能ファイルのエントリのシンボルを指定します。
+.It Fl f
+全てのオブジェクトファイルとライブラリの解決されたパスを
+標準出力にリストし、終了します。
+.It Fl L Ns Ar path
+.Fl l
+オプションで指定したライブラリの検索パスに
+.Ar path
+を追加します。
+.It Fl l Ns Ar lib-spec
+出力に含めるとされるライブラリを指定します。もし、
+.Fl B Ns Ar dynamic
+オプションが有効ならば、まず lib<spec>.so.m.n
+.Po
+.Em m
+はメジャーバージョン番号、
+.Em n
+はマイナーバージョン番号
+.Pc
+形式の共有ライブラリを検索します。検索パス中に見つかった、
+最もバージョンが高いライブラリを選択します。共有ライブラリが見つからないか、
+.Fl B Ns Ar static
+オプションが有効なら、lib<spec>.a 形式のアーカイブを
+ライブラリ検索パスより探します。
+.It Fl M
+入力ファイルのセグメントマッピングと、
+出力ファイルの
+.Pq 大域
+シンボルに割り付けられた値
+に関する報告を出力します。
+.It Fl N
+OMAGIC 形式ファイル
+を生成します。
+.It Fl n
+NMAGIC 形式ファイル
+を生成します。
+.It Fl nostdlib
+.Fl l
+で指定されたライブラリの検索時に、組み込みのライブラリ検索パス
+.Po
+通常は
+.Dq /usr/lib
+.Pc
+を使用しません。
+.It Fl O Ar filename
+出力ファイル名を指定します。
+ファイルは
+.Ar filename .tmp
+として生成され、出力が完了すると、
+.Ar filename
+にリネームされます。
+.It Fl o Ar filename
+出力ファイル名を指定します。デフォルトは
+.Dq a.out
+です。
+.It Fl Q
+QMAGIC (FreeBSD/BSDi-i386)形式のファイルを生成します。これがデフォルトです。
+.It Fl r
+さらに、
+.Nm
+によって処理可能なリロケータブルオブジェクトを生成します。
+.It Fl R
+実行時のライブラリ検索のために、与えられたバスを実行可能ファイルに記録します。
+ダイナミックリンクされた実行可能ファイルにのみ適用されます。
+.It Fl S
+出力にデバッガシンボルを含めません。
+.It Fl s
+出力にすべてのシンボルを含めません。
+.It Fl T
+テキストセグメントの開始アドレスを指定します。このアドレスを基準に、すべ
+ての入力ファイルがリロケートされます。
+.It Fl t
+入力ファイルの処理状況を出力します。
+.It Fl u Ar symbol
+シンボル
+.Ar symbol
+を強制的に未定義とマークします。
+他からの参照がない状況で、あるアーカイブのメンバをロードするのに便利です。
+.It Fl V Ar version
+.Pq 共有ライブラリ生成時に
+共有ライブラリにバージョン番号を埋め込みます。SunOS 4.x 等の他
+のシステムと互換性のある共有ライブラリを作成するのに便利です。
+SunOS 4.x ではバージョン番号は 3、本 ld のデフォルトは 8 です。
+.It Fl X
+入力ファイル中の文字
+.Dq L
+から始まるローカルシンボルを削除します。
+.It Fl x
+入力ファイル中のすべてのローカルシンボルを削除します。
+.It Fl y Ar symbol
+シンボル
+.Ar symbol
+に関する処理状況を報告します。
+.It Fl Z
+386BSD ZMAGIC 形式ファイルを生成します。
+.It Fl z
+NetBSD ZMAGIC 形式ファイルを生成します。
+.Sh 環境変数
+.Nm
+は以下の環境変数を使用します:
+.Bl -tag -width "LD_LIBRARY_PATH"
+.It Ev LD_LIBRARY_PATH
+これはコロンで区切るディレクトリリストであり、ライブラリ検索パスとして、
+.Fl L
+オプションで指定されたディレクトリの後であり組み込みパスの前であるところに
+挿入されます。
+.\" .It Ev LD_NOSTD_PATH
+.\" When set, do not search the built-in path for libraries.
+.\" This is an alternative to the
+.\" .Fl nostdlib
+.\" command-line flag.
+.El
+.Sh 関連ファイル
+.Sh 関連項目
+.Xr rtld 1 ,
+.Xr link 5 ,
+.Xr ldconfig 8
+.Sh 警告
+通常の実行可能ファイルを生成するなら、エントリポイントを明示する必要が
+あります。以前のバージョンの
+.Nm ld
+では、このようなことは不要でした。
+.Sh バグ
+共有オブジェクトに対しては、正しく未定義シンボルの検査が行われません。
+.Pp
+共有オブジェクトをカスケードすると
+.Dq -Bstatic
+オプションは失敗します。
+.Pp
+実行時に必要なシンボルを必要とされなくとも、
+.Nm
+に指定された共有オブジェクトは実行時ロードのためのマークが含まれます。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
+.Nm
+による共有ライブラリモデルは SunOS 4.0 より登場しています。
diff --git a/ja/man/man1/ldd.1 b/ja/man/man1/ldd.1
new file mode 100644
index 0000000000..ee4651ef7d
--- /dev/null
+++ b/ja/man/man1/ldd.1
@@ -0,0 +1,54 @@
+.Dd October 22, 1993
+.\" jpman %Id: ldd.1,v 1.3 1997/07/15 14:15:08 konuma Stab %
+.Dt LDD 1
+.Os FreeBSD
+.Sh 名称
+.Nm ldd
+.Nd 依存する共有オブジェクトの一覧
+.Sh 書式
+.Nm ldd
+.Op Fl v
+.Op Fl f Ar フォーマット
+.Ar プログラム ...
+.Sh 解説
+.Nm ldd
+は、
+指定されたプログラムを実行するために必要な
+すべての共有オブジェクトを表示します。
+nm(1) とは異なり、
+共有オブジェクトが更に別の共有オブジェクトを必要としているような
+.Dq 間接
+依存にも対応しています。
+.Pp
+0 、
+1 、
+あるいは 2 つの
+.Fl f
+オプションが使用できます。
+その引数は、
+.Xr rtld 1
+に渡されるフォーマット文字列であり、
+.Nm ldd
+の出力をカスタマイズします。
+使用できる変換文字のリストは
+.Xr rtld 1
+を見てください。
+.Pp
+.Fl v
+オプションは、
+実行プログラム中の符号化されたダイナミックリンクヘッダの
+冗長なリストを表示します。
+各フィールドの意味については
+ソースコードとインクルードファイルを見てください。
+.Sh 関連項目
+.Xr ld 1 ,
+.Xr ld.so 1 ,
+.Xr nm 1
+.Sh 歴史
+.Nm ldd
+は SunOS 4.0 で最初に登場し、
+FreeBSD 1.1 で現在の形になりました。
+.Pp
+.Fl v
+のサポートは、
+John Polstra <jdp@polstra.com> によって書かれたコードに基づいています。
diff --git a/ja/man/man1/leave.1 b/ja/man/man1/leave.1
new file mode 100644
index 0000000000..b56b6006ba
--- /dev/null
+++ b/ja/man/man1/leave.1
@@ -0,0 +1,99 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)leave.1 8.3 (Berkeley) 4/28/95
+.\" jpman %Id: leave.1,v 1.4 1997/07/26 21:41:57 horikawa Stab %
+.\"
+.Dd April 28, 1995
+.Dt LEAVE 1
+.Os
+.Sh 名称
+.Nm leave
+.Nd 何時離席すべきかを知らせる
+.Sh 書式
+.Nm
+.Sm off
+.Oo
+.Op Cm \&+
+.Ns Ar hhmm
+.Oc
+.Sm on
+.Sh 解説
+.Nm leave
+は指定した時刻が来るまで待ち、出発すべきことを思い出させます。
+指定した時刻の 5 分前と 1 分前、その時間にお知らせが届き、
+その後は、 1 分毎にお知らせが届きます。
+あなたがログオフした場合には、
+.Nm
+は次のメッセージを出す前に終了します。
+.Pp
+オプション:
+.Pp
+.Bl -tag -width flag
+.It Ar hhmm
+.Ar hhmm
+形式での時刻の指定です。
+.Ar hh
+は (12 時間形式もしくは 24 時間形式での) 時間の指定で、
+.Ar mm
+は分の指定です。
+全ての時刻は 12 時間形式に変換され、次の 12 時間以内が仮定されます。
+.It Cm \&+
+もし、時刻が
+.Ql Cm \&+ ,
+の形式で指定された場合、現在から指定された時間と分が経過した時に
+お知らせが届きます。
+.El
+.Pp
+引数が与えられなかった時は、
+.Nm
+は "When do you have to leave?" と尋ねます。
+改行の入力は、
+.Nm
+を終了し、それ以外の場合は時刻が入力されたものと仮定します。
+この形式は、
+.Pa .login
+や
+.Pa .profile
+に記述しておくのに適しています。
+.Pp
+.Nm leave
+は、割り込み・終了・停止を無視します。
+終了したい場合は、ログオフするか、
+.Ql kill \-KILL
+をプロセスに送らねばなりません。
+.Sh 関連項目
+.Xr calendar 1
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から導入されました。
diff --git a/ja/man/man1/lex.1 b/ja/man/man1/lex.1
new file mode 100644
index 0000000000..e5e402fa79
--- /dev/null
+++ b/ja/man/man1/lex.1
@@ -0,0 +1,4071 @@
+.\" jpman %Id: lex.1,v 1.3 1997/05/19 16:38:22 horikawa Stab %
+.TH FLEX 1 "April 1995" "Version 2.5"
+.SH 名称
+flex \- 高速な字句解析処理系の生成ツール
+.SH 書式
+.B flex
+.B [\-bcdfhilnpstvwBFILTV78+? \-C[aefFmr] \-Pprefix \-Sskeleton]
+.I [filename ...]
+.SH 概説
+本マニュアルは、
+テキストのパターンマッチングを行うプログラムを生成するツール
+.I flex
+を扱います。
+本マニュアルはチュートリアルとリファレンス節とを含みます:
+.nf
+
+ 解説
+ ツールの短い概説
+
+ 簡単な例
+
+ 入力ファイルのフォーマット
+
+ パターン
+ flex が使用する拡張した正規表現
+
+ 入力のマッチ方法
+ 何がマッチするかを決定する規則
+
+ アクション
+ パターンがマッチした時に何を行うかを指定する方法
+
+ 生成されたスキャナ
+ flex が生成するスキャナに関する詳細;
+ 入力元の制御方法
+
+ 開始条件
+ スキャナへの文脈の導入と、
+ "ミニスキャナ" の制御方法
+
+ 複数の入力バッファ
+ 複数の入力元を扱う方法;
+ ファイルではなく文字列からスキャンする方法
+
+ ファイルの終りのルール
+ ファイルの終りにマッチする特別なルール
+
+ 雑多なマクロ
+ アクションで使用可能なマクロのまとめ
+
+ ユーザが使用可能な値
+ アクションで使用可能な値のまとめ
+
+ Yacc とのインタフェース
+ lex スキャナと yacc パーサとの結合
+
+ オプション
+ flex のコマンドラインオプションと、
+ "%option" ディレクティブ
+
+ 性能関連
+ スキャナを可能な限り高速にする方法
+
+ C++ スキャナの生成
+ C++ スキャナクラス生成のための
+ (実験的な) 機能
+
+ Lex および POSIX との非互換性
+ AT&T lex および POSIX lex 標準と
+ flex との違い
+
+ 診断
+ flex (もしくは生成したスキャナ) が出力する
+ エラーメッセージで意味が明確でないもの
+
+ 関連ファイル
+ flex が使用するファイル
+
+ 欠陥 / バグ
+ flex の既知の問題
+
+ 関連項目
+ ツールに関係する他のドキュメント
+
+ 作者
+ 連絡方法を含みます
+
+.fi
+.SH 解説
+.I flex
+は
+.I スキャナ
+を生成するためのツールです。
+ここで、スキャナとは、
+テキスト内の字句パターンを解析するプログラムです。
+.I flex
+は指定したファイル、もしくはファイル名が与えられなかった場合は
+標準入力から、生成するスキャナの記述を読み込みます。
+この記述は、
+正規表現と C コードのペアの形をとっています。
+これは
+.I ルール
+と呼ばれます。
+.I flex
+は、出力として C ソースファイルの
+.B lex.yy.c
+を生成しますが、その中に
+.B yylex()
+ルーチンが定義されます。
+このファイルはコンパイルされ、
+.B \-ll
+ライブラリとともにリンクされて、
+実行形式となります。
+実行形式が走り始めると、
+正規表現をマッチさせるために
+入力が解析されます。
+マッチするものを見つけると、対応する C コードが実行されます。
+.SH 簡単な例
+.PP
+まず簡単な例から、
+.I flex
+の使い方を見て行きましょう。
+次の
+.I flex
+の入力は、"username" という文字列に出会うとユーザのログイン名に置き換える
+スキャナを指定しています:
+.nf
+
+ %%
+ username printf( "%s", getlogin() );
+
+.fi
+デフォルトでは、
+.I flex
+スキャナにマッチしなかったテキストは出力にコピーされますので、
+"username" を展開しながら入力を出力にコピーすることが
+このスキャナの最終的な結果となります。
+この入力にはただ一つのルールだけがあります。
+"username" は
+.I パターン
+であり、"printf" は
+.I アクション
+です。
+"%%" はルールの始まりの印です。
+.PP
+別の例を見て見ましょう:
+.nf
+
+ %{
+ int num_lines = 0, num_chars = 0;
+ %}
+
+ %%
+ \\n ++num_lines; ++num_chars;
+ . ++num_chars;
+
+ %%
+ main()
+ {
+ yylex();
+ printf( "# of lines = %d, # of chars = %d\\n",
+ num_lines, num_chars );
+ }
+
+.fi
+このスキャナは入力の文字数および行数を数えます
+(数えた最終結果を報告するだけです)。
+最初の行は 2 つの大域変数 "num_lines" と "num_chars" を宣言します。
+これらの変数は、2 番目の "%%" の後に宣言されている
+.B yylex()
+と
+.B main()
+のルーチンからアクセス可能です。
+ここには 2 つのルールがあります。
+1 つ目は改行文字 ("\\n") にマッチし、行数と文字数のカウントを増加させます。
+もう 1 つは、改行文字以外の全ての文字
+("." という正規表現で表されています)にマッチします。
+.PP
+次はもうちょっと複雑な例です:
+.nf
+
+ /* scanner for a toy Pascal-like language */
+
+ %{
+ /* need this for the call to atof() below */
+ #include <math.h>
+ %}
+
+ DIGIT [0-9]
+ ID [a-z][a-z0-9]*
+
+ %%
+
+ {DIGIT}+ {
+ printf( "An integer: %s (%d)\\n", yytext,
+ atoi( yytext ) );
+ }
+
+ {DIGIT}+"."{DIGIT}* {
+ printf( "A float: %s (%g)\\n", yytext,
+ atof( yytext ) );
+ }
+
+ if|then|begin|end|procedure|function {
+ printf( "A keyword: %s\\n", yytext );
+ }
+
+ {ID} printf( "An identifier: %s\\n", yytext );
+
+ "+"|"-"|"*"|"/" printf( "An operator: %s\\n", yytext );
+
+ "{"[^}\\n]*"}" /* eat up one-line comments */
+
+ [ \\t\\n]+ /* eat up whitespace */
+
+ . printf( "Unrecognized character: %s\\n", yytext );
+
+ %%
+
+ main( argc, argv )
+ int argc;
+ char **argv;
+ {
+ ++argv, --argc; /* skip over program name */
+ if ( argc > 0 )
+ yyin = fopen( argv[0], "r" );
+ else
+ yyin = stdin;
+
+ yylex();
+ }
+
+.fi
+これは Pascal のような言語の単純なスキャナの原型です。
+異なったタイプの
+.I トークン
+を定義し、これを見付けると報告します。
+.PP
+この例の詳細は、以降の節で説明します。
+.SH 入力ファイルのフォーマット
+.I flex
+の入力ファイルは 3 つの部分からなり、
+.B %%
+だけからなる行により分けられます:
+.nf
+
+ 定義
+ %%
+ ルール
+ %%
+ ユーザコード
+
+.fi
+.I 定義
+部分は、スキャナの宣言を単純化する単純な
+.I 名前
+の定義の宣言と、後で説明する
+.I 開始条件
+の宣言とからなります。
+.PP
+名前の定義は次の形式です:
+.nf
+
+ 名前\ 定義
+
+.fi
+"名前" は語であり、
+レターかアンダースコア ('_') から始まって 0 個以上のレター・数字・'_'・'-'
+(ダッシュ)が続きます。
+定義は、名前に続く最初の非空白文字から始まり、行末まで続くものとされます。
+定義は後で "{名前}" で参照でき、"(定義)" を展開します。
+例えば、
+.nf
+
+ DIGIT [0-9]
+ ID [a-z][a-z0-9]*
+
+.fi
+は、
+"DIGIT" が単一の数字にマッチする正規表現であると定義し、
+"ID" がレターに 0 個以上のレターか数字が続く正規表現であると定義します。
+後で出て来る参照
+.nf
+
+ {DIGIT}+"."{DIGIT}*
+
+.fi
+は
+.nf
+
+ ([0-9])+"."([0-9])*
+
+.fi
+と同じであり、1 個以上の数字に '.' が続き、
+0 個以上の数字が続くものにマッチします。
+.PP
+.I flex
+の入力の
+.I ルール
+は次の形式の一連のルールからなります:
+.nf
+
+ パターン\ \ \ アクション
+
+.fi
+ここで、パターンはインデントされていてはならず、
+アクションは同じ行から始まる必要があります。
+.PP
+パターンとアクションの詳細は後の解説を見て下さい。
+.PP
+最後に、ユーザコードの部分は単純にそのままの形で
+.B lex.yy.c
+にコピーされます。
+スキャナを呼び出すまたは呼び出される付随ルーチンのために使用されます。
+この部分はあっても無くても構いません;
+無い場合には、入力ファイル中の 2 番目の
+.B %%
+も省略できます。
+.PP
+定義とルールの部分では、
+.I インデントされた
+テキストと
+.B %{
+と
+.B %}
+との間のテキストはそのままの形で出力にコピーされます
+(この際 %{} は削除されます)。
+%{} はインデントされていない行に現れる必要があります。
+.PP
+ルールの部分では、
+最初のルールの前に現れるインデントされたもしくは %{} 部分のテキストは、
+スキャンルーチンにローカルな変数と、
+(宣言の後では)スキャンルーチンに入るたびに実行されるコードとを宣言します。
+ルール部分の他のインデントされたもしくは %{} 部分のテキストは
+出力にコピーされますが、
+意味はちゃんと定義されておらずコンパイル時にエラーとなるかも知れません
+(この仕様は
+.I POSIX
+互換のためにあります; 他のこのような仕様は以降を見て下さい)。
+.PP
+定義の部分(ルールの部分ではないです)では、
+インデントされていないコメント("/*" から始まる行) は次の "*/" まで
+そのままの形でコピーされます。
+.SH パターン
+入力ファイルのパターンは拡張した正規表現を使って記述します。
+以下に示します:
+.nf
+
+ x 文字 'x' にマッチ。
+ . 改行を除く全ての文字(バイト)。
+ [xyz] "文字クラス"; この場合、'x', 'y', 'z' のいずれにも
+ マッチします。
+ [abj-oZ] 範囲指定を含む "文字クラス"; この場合、'a', 'b' と
+ 'j' から 'o' までの任意のレターと 'Z' にマッチします。
+ [^A-Z] "否定文字クラス"; クラスに含まれない任意の文字に
+ マッチします。 この場合、'A' から 'Z' までの大文字
+ 「以外の」文字にマッチします。
+ [^A-Z\\n] 大文字と改行を「除く」全ての文字。
+ r* 0 もしくはそれ以上の r。r は任意の正規表現。
+ r+ 1 もしくはそれ以上の r。
+ r? 0 もしくは 1つの r (「おまけ」の r)
+ r{2,5} 2 つから 5つまでの r。
+ r{2,} 2 つ以上の r。
+ r{4} ちょうど 4つ の r。
+ {名前} "名前" の定義の展開。
+ (上を参照)
+ "[xyz]\\"foo"
+ 文字列 [xyz]"foo
+ \\X X が 'a', 'b', 'f', 'n', 'r', 't', 'v' のいずれかの
+ とき、ANSI-C での \\X の解釈となります。
+ それ以外の場合、文字 'X' ('*' のようなオペレータの
+ 意味を打ち消し、その文字自体を指定する際に使います)。
+ \\123 8進数で 123 と表される文字。
+ \\x2a 16進数で 2a と表される文字。
+ (r) r にマッチ; ()は 優先順位を変えるために使用。
+ (以下を参照)
+
+
+ rs 正規表現 r に正規表現 s が続く; 「連結(concatenation)」
+ と呼びます。
+
+
+ r|s r もしくは s。
+
+
+ r/s 後ろに s が続く時の r。
+ s にマッチするテキストはこのルールの "最長適合" を判定する
+ 時には含まれますが、アクションが実行される前に
+ 入力に戻されます。
+ アクションは r にマッチするテキストだけを見ます。
+ このパターンは "右文脈(trailing context)" と呼ばれます。
+ (flex が正確にマッチ不能な r/s の組合せは複数あります;
+ "危険な右文脈" については、
+ 以降の、欠陥 / バグ の節の記述を見て下さい。)
+ ^r 行頭にある r。(スキャンの始まりもしくは
+ スキャンされた改行の右です)。
+ r$ 行末にある r。"r/\\n" と等価(改行の前です)。
+ "r/\\n" と同じです。
+
+ flex の "改行" の表現は flex をコンパイルした
+ C コンパイラが解釈する '\\n' と完全に一致することに
+ 注意して下さい;
+ 特定のシステム DOS では \\r を入力から取り除くか
+ "r$" を表すために明示的に r/\\r\\n を使用する必要があります。
+
+
+ <s>r 開始条件 s における r。(開始条件については以下を
+ 参照)。
+ <s1,s2,s3>r
+ 上に同じ。ただし開始条件は s1, s2, s3 のいずれでもよい。
+ <*>r 任意の開始条件の r。開始条件は排他的なものでもよい。
+
+
+ <<EOF>> ファイルの終了。
+ <s1,s2><<EOF>>
+ 開始条件が s1 もしくは s2 であるときのファイルの終了。
+
+.fi
+文字クラス中では、全ての正規表現のオペレータは、
+エスケープ ('\\') および
+文字クラスオペレータである '-' と ']' とクラスの先頭の '^' を除き
+特別な意味を失うことに注意して下さい。
+.PP
+上に挙げた正規表現は優先順位によってグループに分けられています。
+一番上のグループが最も高い優先度で、
+一番下のグループの優先順位が最も低くなっています。
+グループ内では同じ優先順位です。例えば、
+.nf
+
+ foo|bar*
+
+.fi
+は
+.nf
+
+ (foo)|(ba(r*))
+
+.fi
+と同じです。なぜなら '*' オペレータは連結より優先度が高く、
+連結は選言 ('|') より優先度が高いからです。このパターンは
+文字列 "foo"
+.I もしくは
+文字列 "ba" に 0 個以上の r がつづくものの
+.I どちらにも
+マッチします。
+"foo" もしくは 0 個以上の "bar" にマッチさせるためには次の表現を使用して下さい:
+.nf
+
+ foo|(bar)*
+
+.fi
+0 個以上の "foo" または "bar" にマッチするためには次の表現を使用して下さい:
+.nf
+
+ (foo|bar)*
+
+.fi
+.PP
+文字もしくは文字範囲に加え、文字クラスも文字クラスの
+.I 表現
+を含みます。
+これらの表現は
+.B [:
+および
+.B :]
+のデリミタに囲まれます (文字クラスの '[' と ']' との間に現れる必要があります;
+他の要素が文字クラス中に現れても構いません)。
+有効な表現は以下の通りです:
+.nf
+
+ [:alnum:] [:alpha:] [:blank:]
+ [:cntrl:] [:digit:] [:graph:]
+ [:lower:] [:print:] [:punct:]
+ [:space:] [:upper:] [:xdigit:]
+
+.fi
+これらの表現は対応する標準 C の
+.B isXXX
+関数に適合する全ての文字集合を指示します。例えば、
+.B [:alnum:]
+は
+.B isalnum()
+が真を返す文字を指示します - すなわちすべてのアルファベットと数字です。
+.B isblank(),
+が無いシステムでは、flex は
+.B [:blank:]
+を空白とタブと定義します。
+.PP
+例えば以下の表現は全て同じです:
+.nf
+
+ [[:alnum:]]
+ [[:alpha:][:digit:]]
+ [[:alpha:]0-9]
+ [a-zA-Z0-9]
+
+.fi
+スキャナが大文字小文字を意識しない場合(
+.B \-i
+フラグ指定時)
+.B [:upper:]
+と
+.B [:lower:]
+は
+.B [:alpha:]
+と同じです。
+.PP
+パターンに関する注意点です:
+.IP -
+否定文字クラス、例えば上の "[^A-Z]" は
+"\\n" (もしくはこれを表すエスケープシーケンス) が明示的に
+否定文字クラスに現れている場合 (例えば "[^A-Z\\n]") を除き
+.I 改行にマッチします。
+これは他の正規表現ツールが否定文字クラスを扱う方法とは異なりますが、
+不幸なことにこの矛盾は歴史的に確立しています。
+改行にマッチするとは、
+入力に別のクオートが存在しない場合に [^"]* のようなパターンが
+入力全体にマッチすることを意味します。
+.IP -
+ルールは右文脈('/' オペレータもしくは '$' オペレータ)
+を高々一つしか持てません。
+開始条件 '^' と "<<EOF>>" パターンは
+パターンの最初になければならず、 '/', '$'
+同様に () 内にいれることは出来ません。
+ルールの先頭ではない '^' もしくはルールの終りではない '$' は
+特別な意味を失い、通常の文字として扱われます。
+.IP
+以下は無効です:
+.nf
+
+ foo/bar$
+ <sc1>foo<sc2>bar
+
+.fi
+前者は "foo/bar\\n" と書けます。
+.IP
+以下では '$' と '^' とは通常の文字として扱われます:
+.nf
+
+ foo|(bar$)
+ foo|^bar
+
+.fi
+"foo" もしくは "改行が続く bar" を指定したい場合は、
+次の表現を使用して下さい (特別な '|' の動作は後で説明します):
+.nf
+
+ foo |
+ bar$ /* action goes here */
+
+.fi
+同じ方法で、foo もしくは 行頭の bar を指定可能です。
+.SH 入力のマッチ方法
+生成したスキャナを実行すると、
+スキャナは入力を見てパターンにマッチする文字列を探します。
+1 より多くのマッチを見付けると、最長テキストのマッチを採用します
+(右文脈(trailing context rule)の後ろの部分も長さに含みますが、
+後ろの部分は入力に戻されます)。
+同じ長さのマッチを 2 つ以上見付けた場合、
+.I flex
+入力ファイルで最初に記述されたルールを採用します。
+.PP
+マッチが決定すると、マッチに対応するテキスト(
+.I トークン
+と呼ばれます)がグローバル文字ポインタ
+.B yytext
+により使用可能となり、長さがグローバル整数
+.B yyleng
+により使用可能となります。
+その後、マッチしたパターンに対応する
+.I アクション
+が実行され(アクションの詳細な記述は後で行います)、
+残りの入力が残りのマッチのためにスキャンされます。
+.PP
+マッチが見付からないと、
+.I デフォルトルール
+が実行されます: 入力の次の文字がマッチしたと見倣され、
+標準出力にコピーされます。最も簡単で正当な
+.I flex
+の入力は以下の通りです:
+.nf
+
+ %%
+
+.fi
+これは、入力を単純に出力にコピー(1 度に 1 文字ずつ)するスキャナを生成します。
+.PP
+.B yytext
+は 2 つの異なった方法により定義されうることに注意して下さい: 文字
+.I ポインタ
+もしくは文字
+.I 配列
+です。
+.I flex
+がどちらの定義を使用するかは特別なディレクティブ
+.B %pointer
+もしくは
+.B %array
+を flex の入力の最初の(定義)部分に含めることにより制御できます。
+デフォルトは
+.B %pointer
+であり、
+.B -l
+lex 互換オプションを使用した場合には例外的に
+.B yytext
+は配列になります。
+.B %pointer
+を使用する利点はスキャンが高速であること、
+非常に大きなトークンにマッチする時にも
+(動的メモリを使用し尽くさない限り)バッファオーバフローとならないことです。
+欠点は、アクションが
+.B yytext
+を修正することが制限されること(次節参照)、
+.B unput()
+呼び出しが
+.B yytext
+の現在の内容を破壊することです。
+これは異なる
+.I lex
+バージョン間での移植性に関する頭痛の種です。
+.PP
+.B %array
+の利点は
+.B yytext
+の内容を思った通りに変更できること、
+.B unput()
+を呼び出しても
+.B yytext
+の内容が破壊されないことです(下記参照)。
+その上、既存の
+.I lex
+プログラムは
+.B yytext
+を外部から次の形式の宣言を使用してアクセスしていることがあります:
+.nf
+ extern char yytext[];
+.fi
+この定義は
+.B %pointer
+使用時には誤りですが、
+.B %array
+使用時には正しいです。
+.PP
+.B %array
+は
+.B yytext
+を文字数
+.B YYLMAX
+(デフォルトは十分大きな値)の配列であると定義します。
+この大きさは、
+.I flex
+の入力の最初の部分で単純に
+.B YYLMAX
+を異なった値に #define することにより変更できます。
+上記の通り、
+.B %pointer
+使用時には yytext は大きなトークンを格納するために動的に大きくなります。
+このことは
+.B %pointer
+を使用したスキャナは非常に大きなトークン
+(例えばコメントブロック全体)を格納可能であることを意味しますが、
+スキャナが
+.B yytext
+の大きさを変えるたびにトークン全体を先頭から再スキャンすることが必要となるため
+このようなトークンに対するマッチングは遅くなりうることを覚えておいて下さい。
+現在、
+.B yytext
+は
+.B unput()
+が結果として返すテキストが大きい時には動的には大きくなり
+.I ません;
+実行時エラーとなります。
+.PP
+また、
+.B %array
+は
+C++ スキャナクラスでは使用できないことに注意して下さい(
+.B c++
+オプションに関しては下記参照)。
+.SH アクション
+ルール中のパターンは対応するアクションを持ちます。
+アクションは任意の C の文です。
+パターンは最初のエスケープされていない空白文字で終ります;
+行の残りがアクションです。
+アクションが空である場合、
+パターンがマッチした時に入力トークンは単純に捨てられます。
+例えば入力から全ての "zap me" を削除するプログラムの仕様を示します:
+.nf
+
+ %%
+ "zap me"
+
+.fi
+(入力の他の全ての文字を出力にコピーします。
+なぜならデフォルトルールにマッチするからです。)
+.PP
+次は、複数の空白や文字を単一の空白に圧縮し行末の空白を捨てるプログラムです:
+.nf
+
+ %%
+ [ \\t]+ putchar( ' ' );
+ [ \\t]+$ /* ignore this token */
+
+.fi
+.PP
+アクションが '{' を含む場合、アクションは対応する '}' まで続き、
+複数行に渡る場合もあります。
+.I flex
+は C の文字列およびコメントに関して知っており、
+それらの中のブレースを誤解することはありませんが、
+アクションが
+.B %{
+で始まることを許し、次の
+.B %}
+までのテキストがアクションであるとします
+(アクション内部の任意個のブレースには関係ありません)。
+.PP
+垂直バー ('|') のみからなるアクションは
+"次のルールと同じ" を意味します。説明は以下を見て下さい。
+.PP
+アクションは任意の C コードを含むことが出来ます。
+これには、
+.B yylex()
+を呼び出したルーチンに対して値を返す
+.B return
+文も含まれます。
+.B yylex()
+が呼ばれるたび、最後に残ったトークンから処理を再開し、
+ファイルの終了もしくは return を実行するまで処理を行います。
+.PP
+アクションは自由に
+.B yytext
+を変更できますが、例外は長さを増やすことです
+(文字を末尾に加えることになり、
+これは入力ストリームの後続する文字を上書きします)。
+これは
+.B %array
+使用時には当てはまりません(上述); この場合
+.B yytext
+を自由に変更できます。
+.PP
+アクションは自由に
+.B yyleng
+を変更できますが、アクションが
+.B yymore()
+を使用する時には例外的に変更してはいけません(後述)。
+.PP
+多くの特別なディレクティブがあり、アクション中に含めることが出来ます:
+.IP -
+.B ECHO
+yytext をスキャナの出力にコピーします。
+.IP -
+.B BEGIN
+後ろに開始条件の名前を書くと、スキャナを対応する開始条件に設定します(後述)。
+.IP -
+.B REJECT
+入力(もしくは入力の頭)に "2 番目によく(second best)" マッチするルール
+に進むようにスキャナに指示します。
+"入力のマッチ方法" で示したようにルールは選択され、
+.B yytext
+と
+.B yyleng
+は適切に設定されます。
+選択されるルールは、最初に選択されたルールと同じ長さであるが
+.I flex
+の入力ファイルにて後で出て来るもの、もしくは少ない文字数にマッチするものです。
+例えば次の例では入力中の語を数え、
+"frob" が見付かるたびにルーチン special() を呼びます:
+.nf
+
+ int word_count = 0;
+ %%
+
+ frob special(); REJECT;
+ [^ \\t\\n]+ ++word_count;
+
+.fi
+.B REJECT
+が無い場合、
+入力中の "frob" は語として数えられず、
+スキャナは通常通りトークン毎に 1 つのアクションだけを行います。
+複数の
+.B REJECT
+を使用可能であり、それぞれ現在有効なルールの次に良い選択を見付けます。
+例えば次のスキャナは、"abcd" というトークンをスキャンし、
+出力に "abcdabcaba" を書きます:
+.nf
+
+ %%
+ a |
+ ab |
+ abc |
+ abcd ECHO; REJECT;
+ .|\\n /* eat up any unmatched character */
+
+.fi
+(前の 3 つのルールは 4 番目のルールのアクションを共有します。
+なぜなら特別な '|' アクションが使用されているからです。)
+.B REJECT
+はスキャナの性能という点で特にコストのかかる機能です;
+もしスキャナのアクションの
+.I いずれか
+にでも REJECT が使われたなら、スキャナの
+.I 全ての
+マッチング速度を低下させるということです。
+さらに
+.B REJECT
+をオプション
+.I -Cf
+や
+.I -CF
+と共に用いることは出来ません。
+.IP
+また、他の特別アクションと違い
+.B REJECT
+は
+.I 分岐(branch)
+であることに注意してください; すなわち REJECT 直後のアクションは
+実行
+.I されません。
+.IP -
+.B yymore()
+次にルールとマッチしたときには、対応するトークンは、
+現在の
+.B yytext
+の内容と入れ換えるのではなく
+.B yytext
+に
+.I 追加
+するようスキャナに指示します。
+例えば、入力 "mega-kludge" が与えられると、以下は
+"mega-mega-kludge" を出力に書きます:
+.nf
+
+ %%
+ mega- ECHO; yymore();
+ kludge ECHO;
+
+.fi
+最初の "mega-" はマッチし出力にエコーされます。
+次に "kludge" がマッチしますが、直前の "mega-" がまだ
+.B yytext
+の先頭に残っており、"kludge" の
+.ECHO
+ルールは実際には "mage-kludge" を書きます。
+.PP
+.B yymore()
+の使用に関し 2 つの注意点があります。
+まず、
+.B yymore()
+は現在のトークンの大きさを反映する
+.I yyleng
+の値の正確さに依存することであり、
+.B yymore()
+使用時には
+.I yyleng
+を変更してはなりません。
+次に、
+スキャナのアクションに
+.B yymore()
+があると、スキャナのマッチ速度に若干悪影響があります。
+.IP -
+.B yyless(n)
+現在のトークンから最初の
+.I n
+文字を除いたものを入力ストリームに戻します。
+戻した文字列はスキャナが次のマッチングをとるときに再度スキャンされます。
+.B yytext
+と
+.B yyleng
+は適切に調整されます(例えば
+.B yyleng
+は
+.I n
+となります)。
+例えば、入力 "foobar" が与えられると、以下は
+"foobarbar" を書きます:
+.nf
+
+ %%
+ foobar ECHO; yyless(3);
+ [a-z]+ ECHO;
+
+.fi
+引数 0 を
+.B yyless
+に与えると、現在の入力文字列全体が再度スキャンされます。
+(例えば
+.B BEGIN
+を使用して)次にスキャナが入力する方法を変更していないと、無限ループとなります。
+.PP
+.B yyless
+はマクロであり、flex 入力ファイルでのみ使用可能であり、
+別のソースファイルからは使用不能であることに注意して下さい。
+.IP -
+.B unput(c)
+文字
+.I c
+を入力ストリームへ戻します。戻した文字は次にスキャンされる文字になります。
+次のアクションは現在のトークンを取り上げ、
+括弧内に入れて再スキャンします。
+.nf
+
+ {
+ int i;
+ /* Copy yytext because unput() trashes yytext */
+ char *yycopy = strdup( yytext );
+ unput( ')' );
+ for ( i = yyleng - 1; i >= 0; --i )
+ unput( yycopy[i] );
+ unput( '(' );
+ free( yycopy );
+ }
+
+.fi
+.B unput()
+は文字を入力ストリームの
+.I 先頭
+に戻すので、文字列を戻す場合には後ろから前に向かって戻す必要があります。
+.PP
+.B unput()
+使用時の重要な潜在的な問題は、
+.B %pointer
+使用時(デフォルト)に
+.B unput()
+を呼び出すと、
+右端の文字から開始し 1 文字ずつ左に向かって消費され、
+.I yytext
+の内容が
+.I 破壊
+されることです。
+(上記例のように)
+.B unput()
+呼び出し後も
+.I yytext
+の内容を保存するためには、始めに別の場所にコピーするか、
+スキャナを
+.B %array
+を使うように構築することです(入力のマッチ方法参照)。
+.PP
+最後に、
+.B EOF
+を戻して入力ストリームにファイルの終りをマークするとは
+出来ないことに注意して下さい。
+.IP -
+.B input()
+次の文字を入力ストリームから読みます。
+次の例は C コメントを食べます:
+.nf
+
+ %%
+ "/*" {
+ register int c;
+
+ for ( ; ; )
+ {
+ while ( (c = input()) != '*' &&
+ c != EOF )
+ ; /* eat up text of comment */
+
+ if ( c == '*' )
+ {
+ while ( (c = input()) == '*' )
+ ;
+ if ( c == '/' )
+ break; /* found the end */
+ }
+
+ if ( c == EOF )
+ {
+ error( "EOF in comment" );
+ break;
+ }
+ }
+ }
+
+.fi
+(スキャナが
+.B C++
+でコンパイルされたときは、このルーチンは
+.B yyinput()
+という名称になり、
+.B C++
+ストリームの
+.I input
+と名前が衝突することを避けます。)
+.IP -
+.B YY_FLUSH_BUFFER
+スキャナの内部バッファをフラッシュし、
+次にスキャナがトークンをマッチしようとした時
+バッファを
+.B YY_INPUT
+にてリフィルします(生成されたスキャナで後述)。
+このアクションは、
+複数の入力バッファにおいて後述する
+より一般的な
+.B yy_flush_buffer()
+関数の特別なケースです。
+.IP -
+.B yyterminate()
+アクションの return 文の代わりに使うことが出来ます。
+.B yyterminate()
+はスキャナを終了し、"全て終了" を意味する 0 を呼び出し元関数に返します。
+デフォルトでは
+.B yyterminate()
+はファイルの終わりに達したときにも呼ばれます。
+.B yyterminate()
+はマクロであり、定義しなおすことができます。
+.SH 生成されたスキャナ
+.I flex
+の出力は
+.B lex.yy.c
+というファイルであり、スキャンルーチン
+.B yylex()
+と、トークンのマッチングに使用する複数のテーブルと、
+複数の付属ルーチンとマクロからなります。デフォルトでは、
+.B yylex()
+は次のように宣言されます:
+.nf
+
+ int yylex()
+ {
+ ... various definitions and the actions in here ...
+ }
+
+.fi
+(環境が関数プロトタイプをサポートしている場合、
+"int yylex( void )" となります。)
+この定義は "YY_DECL" マクロを定義することにより変更できます。
+例えば次のように使用することが出来ます:
+.nf
+
+ #define YY_DECL float lexscan( a, b ) float a, b;
+
+.fi
+これはスキャンルーチンの名前を
+.I lexscan
+とし、浮動小数点数を返すようにし、2 つの浮動小数点数を引数とします。
+K&R の非プロトタイプの関数宣言を使用してスキャンルーチンに対して引数を
+与える場合、定義をセミコロン(;)で終了する必要があります。
+.PP
+.B yylex()
+は呼ばれるたび、グローバル入力ファイル
+.I yyin
+(デフォルトでは標準入力)からトークンをスキャンします。
+ファイルの終りになる(この場合 0 を返します)か、
+アクションが
+.I return
+文を実行するまで、実行を続けます。
+.PP
+スキャナがファイルの終りに到達すると、
+.I yyin
+が新たなファイルを指さないか
+(新たなファイルを指す場合はこのファイルのスキャンを続けます)、
+.B yyrestart()
+が呼ばれない限り、
+後続する呼び出しは未定義です。
+.B yyrestart()
+は
+.B FILE *
+ポインタ(
+.B YY_INPUT
+を設定して
+.I yyin
+以外のソースをスキャンするようにした場合には nil も可です)
+である引数を 1 つとり、そのファイルからのスキャンのために
+.I yyin
+を初期化します。
+本質的に、
+.I yyin
+を新しい入力ファイルに割り当てることと
+.B yyrestar()
+を使用することとは同じです;
+後者は前のバージョンの
+.I flex
+との互換性のために使用可能であり、
+またスキャンの途中で入力ファイルを変えることが可能です。
+引数を
+.I yyin
+として呼び出すことにより、現在の入力バッファを捨てることも出来ます;
+ただし、
+.B YY_FLUSH_BUFFER
+(上述)を使用する方が良いです。
+.B yyrestart()
+は
+.B INITIAL
+の開始条件を変更し
+.I ない
+ことに注意して下さい
+(後述の開始条件参照)。
+.PP
+あるアクション中で
+.I return
+文を実行することにより
+.B yylex()
+がスキャンを止めた場合、スキャナは再度呼び出し可能であり、
+この場合スキャンの残りの部分から再開します。
+.PP
+デフォルトで(効率のため)、スキャナは単純な
+.I getc()
+コールではなくブロックリードを行い、
+.I yyin
+から文字を読みます。
+入力取得方法は
+.B YY_INPUT
+マクロを定義することにより制御できます。
+YY_INPUT 呼び出し手順は "YY_INPUT(buf,result,max_size)" です。
+このアクションは、
+.I buf
+文字配列中に最大
+.I max_size
+文字を用意し、整数変数
+.I result
+中に読めた文字数もしくは定数 YY_NULL (Unix システムでは 0)を入れて返します。
+デフォルトの YY_INPUT はグローバルファイルポインタ "yyin" から読みます。
+.PP
+YY_INPUT のサンプル定義です(入力ファイルの定義部に格納):
+.nf
+
+ %{
+ #define YY_INPUT(buf,result,max_size) \\
+ { \\
+ int c = getchar(); \\
+ result = (c == EOF) ? YY_NULL : (buf[0] = c, 1); \\
+ }
+ %}
+
+.fi
+この定義により、入力処理は 1 度に 1 文字ずつ行うように変更されます。
+.PP
+スキャナが YY_INPUT からファイルの終りを通知された場合、
+スキャナは
+.B yywrap()
+関数をチェックします。
+.B yywrap()
+関数が偽(ゼロ)を返す場合、関数は続行中であるとされ、
+.I yyin
+を別の入力ファイルを指すように設定し、スキャンを続行します。
+関数が真(非ゼロ)を返す場合、スキャナは終了し、呼び出し元に 0 を返します。
+どちらの場合も開始条件は変化しないことに注意して下さい;
+つまり
+.B INITIAL
+には戻り
+.I ません。
+.PP
+独自の
+.B yywrap()
+を設定しない場合、
+.B %option noyywrap
+(この場合スキャナは
+.B yywrap()
+が 1 を返したかのように動作します)を使用するか、フラグ
+.B \-ll
+を指定してデフォルトのルーチン(常に 1 を返します)を使用しなければなりません。
+.PP
+ファイルではなくメモリ中のバッファからスキャンするための 3 つのルーチンを
+使用可能です:
+.B yy_scan_string(), yy_scan_bytes(), yy_scan_buffer()
+。
+これらに関する議論は複数の入力バッファの節を参照して下さい。
+.PP
+スキャナは、自己の
+.B ECHO
+出力を
+.I yyout
+グローバル(デフォルトでは標準出力であり、
+別の
+.B FILE
+ポインタに割り当てることで再定義できます)に書きます。
+.SH 開始条件
+.I flex
+は、条件的に有効となるルールのための機構を提供します。
+パターンのプレフィックスが "<sc>" となっているルールは、
+スキャナが "sc" という名前の開始条件にいる場合のみ有効です。
+例えば、
+.nf
+
+ <STRING>[^"]* { /* eat up the string body ... */
+ ...
+ }
+
+.fi
+はスキャナが "STRING" 開始条件にいる時のみ有効であり、
+.nf
+
+ <INITIAL,STRING,QUOTE>\\. { /* handle an escape ... */
+ ...
+ }
+
+.fi
+は現在の開始条件が、
+"INITIAL", "STRING", "QUOTE" のいずれかの場合のみ有効です。
+.PP
+開始条件は、入力の定義(先頭)部において、インデントされない行で
+.B %s
+もしくは
+.B %x
+から始まり名前が続く行において宣言されます。
+前者は
+.I 内包的
+開始条件を、
+後者は
+.I 排他的
+開始条件を、それぞれ宣言します。
+開始条件を有効にするのは
+.B BEGIN
+アクションです。
+次の
+.B BEGIN
+アクションが実行されるまで、与えられた開始条件のルールは有効であり、
+他の開始条件のルールは無効です。
+開始条件が
+.I 内包的
+な場合、開始条件を持たないルールもまた有効です。
+開始条件が
+.I 排他的
+な場合、
+開始条件を満たすルール
+.I だけ
+が有効です。
+同じ排他開始条件に依存するルールの組は、
+.I flex
+入力中の別のルールとは独立なスキャナを記述します。
+そのため、排他開始条件を使用すれば、"ミニスキャナ"
+(別部分とは文法的に異なる部分(例えばコメント)に対するスキャナ)
+を簡単に指定できます。
+.PP
+内包的開始条件と排他的開始条件とがまだ少し曖昧であるなら、
+両者の関係を表す例を示して説明します。以下のルールの組:
+.nf
+
+ %s example
+ %%
+
+ <example>foo do_something();
+
+ bar something_else();
+
+.fi
+は
+.nf
+
+ %x example
+ %%
+
+ <example>foo do_something();
+
+ <INITIAL,example>bar something_else();
+
+.fi
+と等価です。
+.B <INITIAL,example>
+が無いと、2 番目の例における
+.I bar
+パターンは、開始条件が
+.B example
+の場合、有効となりません(すなわちマッチしません)。
+.B <example>
+だけを
+.I bar
+につけると、
+.B example
+だけにおいて有効となり、
+.B INITIAL
+では有効となりません。一方、最初の例ではどちらの場合でも有効です。
+なぜなら最初の例では
+.B example
+開始条件は
+.I 内包的
+.B (%s)
+開始条件だからです。
+.PP
+特殊な開始条件指定子
+.B <*>
+は全ての開始条件にマッチすることに注意して下さい。
+このため、上の例は次のようにも書けます;
+.nf
+
+ %x example
+ %%
+
+ <example>foo do_something();
+
+ <*>bar something_else();
+
+.fi
+.PP
+デフォルトルール(マッチしなかった文字に対しては
+.B ECHO
+です)は開始条件中でも有効です。
+これは次のものと等価です:
+.nf
+
+ <*>.|\\n ECHO;
+
+.fi
+.PP
+.B BEGIN(0)
+は、開始条件の無いルールだけが有効である、最初の状態に戻ります。
+この状態は開始条件 "INITIAL" として参照できるため、
+.B BEGIN(INITIAL)
+は
+.B BEGIN(0)
+と等価です。
+(開始条件名を括る括弧は不要ですが、良いスタイルであるとされています。)
+.PP
+.B BEGIN
+アクションは、ルール部の先頭のインデントされたコード中に現れても良いです。
+例えば以下の例では、
+.B yylex()
+が呼ばれグローバル変数
+.I enter_special
+が真の場合には、スキャナは "SPECIAL" 開始条件に入ります:
+.nf
+
+ int enter_special;
+
+ %x SPECIAL
+ %%
+ if ( enter_special )
+ BEGIN(SPECIAL);
+
+ <SPECIAL>blahblahblah
+ ...more rules follow...
+
+.fi
+.PP
+開始条件を説明するために、
+"123.456" のような文字列を 2 通りの異なった解釈をするスキャナを示します。
+デフォルトではこれは、
+整数 "123" とドット ('.') と整数 "456" の 3 トークンに数えられます。
+しかし、この文字列の前に "expect-floats" の文字列がある場合、
+これは単一のトークンであるとされ、浮動小数点数 123.456 とされます:
+.nf
+
+ %{
+ #include <math.h>
+ %}
+ %s expect
+
+ %%
+ expect-floats BEGIN(expect);
+
+ <expect>[0-9]+"."[0-9]+ {
+ printf( "found a float, = %f\\n",
+ atof( yytext ) );
+ }
+ <expect>\\n {
+ /* that's the end of the line, so
+ * we need another "expect-number"
+ * before we'll recognize any more
+ * numbers
+ */
+ BEGIN(INITIAL);
+ }
+
+ [0-9]+ {
+ printf( "found an integer, = %d\\n",
+ atoi( yytext ) );
+ }
+
+ "." printf( "found a dot\\n" );
+
+.fi
+次は、C のコメントを理解(して捨てる)一方で、
+現在の入力行を数えるスキャナです。
+.nf
+
+ %x comment
+ %%
+ int line_num = 1;
+
+ "/*" BEGIN(comment);
+
+ <comment>[^*\\n]* /* eat anything that's not a '*' */
+ <comment>"*"+[^*/\\n]* /* eat up '*'s not followed by '/'s */
+ <comment>\\n ++line_num;
+ <comment>"*"+"/" BEGIN(INITIAL);
+
+.fi
+このスキャナは各ルールで可能な最大のテキストにマッチしようとする場合、
+ちょっとした問題が起こります。
+一般的には、高速なスキャナを記述する場合、
+各ルールで最大のマッチを得ようとすることが最も成功します。
+.PP
+開始条件名は実際には整数値であり、格納することが出来ることに注意して下さい。
+そのため、上記例は以下のように拡張できます:
+.nf
+
+ %x comment foo
+ %%
+ int line_num = 1;
+ int comment_caller;
+
+ "/*" {
+ comment_caller = INITIAL;
+ BEGIN(comment);
+ }
+
+ ...
+
+ <foo>"/*" {
+ comment_caller = foo;
+ BEGIN(comment);
+ }
+
+ <comment>[^*\\n]* /* eat anything that's not a '*' */
+ <comment>"*"+[^*/\\n]* /* eat up '*'s not followed by '/'s */
+ <comment>\\n ++line_num;
+ <comment>"*"+"/" BEGIN(comment_caller);
+
+.fi
+さらに、現在の開始条件を整数値であるマクロ
+.B YY_START
+にてアクセスできます。
+例えば、上記の
+.I comment_caller
+への代入は次のように記述できます。
+.nf
+
+ comment_caller = YY_START;
+
+.fi
+flex は
+.B YYSTATE
+を
+.B YY_START
+のエイリアスとして提供します
+(AT&T の
+.I lex
+が使用しています)。
+.PP
+開始条件は独自の名前空間を持たないことに注意して下さい;
+%s や %x の宣言における名前宣言の扱いは #define と同じです。
+.PP
+最後に、排他的開始条件を使用する、
+展開されたエスケープシーケンスを含む(長すぎる文字列のチェックは含みません)
+C スタイルのクオート文字列へのマッチ方法を示します:
+.nf
+
+ %x str
+
+ %%
+ char string_buf[MAX_STR_CONST];
+ char *string_buf_ptr;
+
+
+ \\" string_buf_ptr = string_buf; BEGIN(str);
+
+ <str>\\" { /* saw closing quote - all done */
+ BEGIN(INITIAL);
+ *string_buf_ptr = '\\0';
+ /* return string constant token type and
+ * value to parser
+ */
+ }
+
+ <str>\\n {
+ /* error - unterminated string constant */
+ /* generate error message */
+ }
+
+ <str>\\\\[0-7]{1,3} {
+ /* octal escape sequence */
+ int result;
+
+ (void) sscanf( yytext + 1, "%o", &result );
+
+ if ( result > 0xff )
+ /* error, constant is out-of-bounds */
+
+ *string_buf_ptr++ = result;
+ }
+
+ <str>\\\\[0-9]+ {
+ /* generate error - bad escape sequence; something
+ * like '\\48' or '\\0777777'
+ */
+ }
+
+ <str>\\\\n *string_buf_ptr++ = '\\n';
+ <str>\\\\t *string_buf_ptr++ = '\\t';
+ <str>\\\\r *string_buf_ptr++ = '\\r';
+ <str>\\\\b *string_buf_ptr++ = '\\b';
+ <str>\\\\f *string_buf_ptr++ = '\\f';
+
+ <str>\\\\(.|\\n) *string_buf_ptr++ = yytext[1];
+
+ <str>[^\\\\\\n\\"]+ {
+ char *yptr = yytext;
+
+ while ( *yptr )
+ *string_buf_ptr++ = *yptr++;
+ }
+
+.fi
+.PP
+上記例のように同一の開始条件を持つ全てのルールの前に
+開始条件を書かねばならないことが多いです。
+flex はこれを簡単かつ綺麗にするため開始条件
+.I スコープ
+を導入しました。
+開始条件スコープは次のように始まります:
+.nf
+
+ <SCs>{
+
+.fi
+ここで
+.I SCs
+は 1 つ以上の開始条件のリストです。
+開始条件スコープ内では、
+最初の
+.I '{'
+にマッチするまでの
+.I '}'
+において、全てのルールは自動的に
+.I <SCs>
+のプレフィックスが付きます。
+そのため、例えば
+.nf
+
+ <ESC>{
+ "\\\\n" return '\\n';
+ "\\\\r" return '\\r';
+ "\\\\f" return '\\f';
+ "\\\\0" return '\\0';
+ }
+
+.fi
+は次のものと等価です:
+.nf
+
+ <ESC>"\\\\n" return '\\n';
+ <ESC>"\\\\r" return '\\r';
+ <ESC>"\\\\f" return '\\f';
+ <ESC>"\\\\0" return '\\0';
+
+.fi
+開始条件スコープはネストすることが出来ます。
+.PP
+開始条件のスタックを制御するために 3 つのルーチンを使用可能です:
+.TP
+.B void yy_push_state(int new_state)
+現在の開始条件を開始条件スタックの先頭にプッシュし、
+.B BEGIN new_state
+を使用したかのように
+.I new_state
+に切替えます
+(開始条件名は整数値でもあることを思い出して下さい)。
+.TP
+.B void yy_pop_state()
+スタックの先頭をポップし、
+.B BEGIN
+を使用してその開始条件に切替えます。
+.TP
+.B int yy_top_state()
+スタックの内容を変更せずに、スタックの先頭を返します。
+.PP
+開始条件スタックは動的に大きくなり、
+また組み込み時のサイズ制限はありません。
+メモリを使い切ると、プログラム実行は中止されます。
+.PP
+開始条件スタックを使用するためには、スキャナは
+.B %option stack
+ディレクティブをインクルードする必要があります
+(下記オプションを参照して下さい)。
+.SH 複数の入力バッファ
+スキャナによっては(ファイルの "include" をサポートする等)
+複数の入力ストリームを扱う必要があります。
+.I flex
+スキャナでは大きなバッファリングを行うため、
+スキャンコンテキストに影響される
+.B YY_INPUT
+を単純に書き換えるだけでは次の入力がどこから読まれるのかを制御できません。
+.B YY_INPUT
+が呼ばれるのはスキャナがバッファの終りに到達する時だけですので、
+例えば "include" のように入力元を切替える必要のある文をスキャンした後でも
+長時間を費す場合があります。
+.PP
+この様な問題を解決するため、
+.I flex
+は複数の入力バッファを生成して切替える機構を提供します。
+入力バッファは次のように生成されます:
+.nf
+
+ YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
+
+.fi
+これは
+.I FILE
+ポインタと size を取り、与えられる file に関連し
+.I size
+文字を保持するに十分なバッファを生成します
+(疑わしい場合には size には
+.B YY_BUF_SIZE
+を使用して下さい)。
+これは、別のルーチン(下記参照)に渡すための
+.B YY_BUFFER_STATE
+ハンドルを返します。
+.B YY_BUFFER_STATE
+のタイプは
+.B struct yy_buffer_state
+構造体へのポインタであるため、
+安全のため YY_BUFFER_STATE 変数を
+.B ((YY_BUFFER_STATE) 0)
+と初期化することが出来、
+スキャナではなくソースファイルにおいて
+入力バッファを正しく宣言するためにこの構造体を参照することが出来ます。
+.B yy_create_buffer
+呼び出しにおける
+.I FILE
+ポインタは
+.B YY_INPUT
+から見える
+.I yyin
+の値と同じようにだけ使用されることに注意して下さい;
+.B YY_INPUT
+を再定義して
+.I yyin
+を使わないようにすることにより、
+.B yy_create_buffer
+に対して安全にニル
+.I FILE
+ポインタを渡せます。
+スキャンするバッファを選択するためには次のようにします:
+.nf
+
+ void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
+
+.fi
+これはスキャナの入力バッファを切替え、
+トークンが
+.I new_buffer
+から来るようになります。
+新たなファイルをオープンして
+.I yyin
+を指すのではなく、スキャンを継続するために yywrap() から
+.B yy_switch_to_buffer()
+を使用することがあることに注意して下さい。
+また、
+.B yy_switch_to_buffer()
+または
+.B yywrap()
+による入力元の切替えは開始条件を変更し
+.I ない
+ことにも注意して下さい。
+.nf
+
+ void yy_delete_buffer( YY_BUFFER_STATE buffer )
+
+.fi
+はバッファに関連づけられたストレージの返還要求に使用します。(
+.B buffer
+はニルでも構いませんがこの場合このルーチンは何もしません。)
+現在のバッファの内容をクリアするには次のようにします:
+.nf
+
+ void yy_flush_buffer( YY_BUFFER_STATE buffer )
+
+.fi
+この関数はバッファの内容を捨てるため、
+次にスキャナがこのバッファとトークンのマッチを行う場合、
+スキャナはまず
+.B YY_INPUT
+を使用してこのバッファをフィルします。
+.PP
+.B yy_new_buffer()
+は
+.B yy_create_buffer()
+のエイリアスであり、動的オブジェクトの生成と破壊のために使用する C++ の
+.I new
+と
+.I delete
+との互換性のために提供しています。
+.PP
+最後に
+.B YY_CURRENT_BUFFER
+マクロは、現在のバッファに対する
+.B YY_BUFFER_STATE
+ハンドルを返します。
+.PP
+この機能を使用してインクルードファイルを展開するスキャナの記述例です(
+.B <<EOF>>
+機能は後述します):
+.nf
+
+ /* the "incl" state is used for picking up the name
+ * of an include file
+ */
+ %x incl
+
+ %{
+ #define MAX_INCLUDE_DEPTH 10
+ YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
+ int include_stack_ptr = 0;
+ %}
+
+ %%
+ include BEGIN(incl);
+
+ [a-z]+ ECHO;
+ [^a-z\\n]*\\n? ECHO;
+
+ <incl>[ \\t]* /* eat the whitespace */
+ <incl>[^ \\t\\n]+ { /* got the include file name */
+ if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
+ {
+ fprintf( stderr, "Includes nested too deeply" );
+ exit( 1 );
+ }
+
+ include_stack[include_stack_ptr++] =
+ YY_CURRENT_BUFFER;
+
+ yyin = fopen( yytext, "r" );
+
+ if ( ! yyin )
+ error( ... );
+
+ yy_switch_to_buffer(
+ yy_create_buffer( yyin, YY_BUF_SIZE ) );
+
+ BEGIN(INITIAL);
+ }
+
+ <<EOF>> {
+ if ( --include_stack_ptr < 0 )
+ {
+ yyterminate();
+ }
+
+ else
+ {
+ yy_delete_buffer( YY_CURRENT_BUFFER );
+ yy_switch_to_buffer(
+ include_stack[include_stack_ptr] );
+ }
+ }
+
+.fi
+ファイルではなくメモリ上の文字列をスキャンするための
+入力バッファを設定するための 3 つのルーチンを使用可能です。
+いずれも文字列をスキャンする新しい入力バッファを生成し、対応する
+.B YY_BUFFER_STATE
+ハンドル(終了時には
+.B yy_delete_buffer()
+にて消去します)を返します。新しいバッファに切替える時には
+.B yy_switch_to_buffer()
+を使用し、次の
+.B yylex()
+の呼び出し時にはこの文字列をスキャン開始します。
+.TP
+.B yy_scan_string(const char *str)
+NUL ターミネートされた文字列をスキャンします。
+.TP
+.B yy_scan_bytes(const char *bytes, int len)
+.I len
+バイト (NUL が含まれるかも知れません)を位置
+.I bytes
+からスキャンします。
+.PP
+どちらの関数も文字列もしくはバイト列の
+.I コピー
+を生成してからスキャンします。(
+.B yylex()
+はスキャンするバッファの内容を変更するため、これが望ましいのです。)
+コピーを避けるためには次のようにします:
+.TP
+.B yy_scan_buffer(char *base, yy_size_t size)
+バッファ内で
+.I base
+から
+.I size
+バイトの長さをスキャンします。最後の 2 バイトは
+.B YY_END_OF_BUFFER_CHAR
+(ASCII NUL)
+である
+.I 必要があります。
+これらの最後の 2 バイトはスキャンされません;
+そのためスキャンの内容は
+.B base[0]
+から
+.B base[size-2]
+までで両端を含みます。
+.IP
+この様になるように
+.I base
+を設定しなかった場合(つまり最後の 2 つの
+.B YY_END_OF_BUFFER_CHAR
+バイトを忘れた場合)、
+.B yy_scan_buffer()
+は新しいバッファを生成するのではなくニルポインタを返します。
+.IP
+型
+.B yy_size_t
+は整数型であり、
+バッファの大きさを反映する整数式をこの型にキャストすることが出来ます。
+.SH ファイルの終りのルール
+特別ルール "<<EOF>>" は、
+ファイルの終了時もしくは
+yywrap() が非ゼロ(すなわち処理するファイルが無いことを表す)の時に
+行われるべきアクションを表します。
+アクションは以下の 4 つのうちのいずれかで終る必要があります。
+.IP -
+.I yyin
+に新しいファイルを割り当てる(前のバージョンの flex では、
+割り当て後に特別なアクション
+.B YY_NEW_FILE
+を呼び出す必要がありました;
+今では不要です。);
+.IP -
+.I return
+文を実行する;
+.IP -
+特別な
+.B yyterminate()
+アクションを実行する;
+.IP -
+.B yy_switch_to_buffer()
+を使用して新たなバッファに切替える
+(上記例で示した通り)。
+.PP
+<<EOF>> ルールを他のパターンと共に使用してはなりません;
+他のパターンは開始条件のリストともにだけ満たされるからです。
+満たされない <<EOF>> ルールが与えられた場合、
+<<EOF>> アクションをまだ持っていない
+.I 全ての
+開始条件に適用されます。
+<<EOF>> ルールを最初の開始条件だけに指定するためには次のようにして下さい。
+.nf
+
+ <INITIAL><<EOF>>
+
+.fi
+.PP
+これらのルールは閉じていないコメントを捕まえる場合等に便利です。
+例えば:
+.nf
+
+ %x quote
+ %%
+
+ ...other rules for dealing with quotes...
+
+ <quote><<EOF>> {
+ error( "unterminated quote" );
+ yyterminate();
+ }
+ <<EOF>> {
+ if ( *++filelist )
+ yyin = fopen( *filelist, "r" );
+ else
+ yyterminate();
+ }
+
+.fi
+.SH 雑多なマクロ
+マクロ
+.B YY_USER_ACTION
+にはマッチルールアクションに先だって常に行うアクションを定義できます。
+例えば、yytext を小文字に変換するルーチンを呼ぶように #define 出来ます。
+.B YY_USER_ACTION
+起動時には、変数
+.I yy_act
+はマッチしたルールの番号を与えます(ルールは 1 番から数えます)。
+各ルールがマッチする頻度を知りたい場合を想像して下さい。
+以下に仕掛けを示します:
+.nf
+
+ #define YY_USER_ACTION ++ctr[yy_act]
+
+.fi
+ここで
+.I ctr
+は配列であり、それぞれのルールがマッチした回数を計数します。
+マクロ
+.B YY_NUM_RULES
+はルールの総数を表すため(
+.B \-s
+を使った時でさえデフォルトルールを含みます)、
+正しい
+.I ctr
+の宣言は次のようになります:
+.nf
+
+ int ctr[YY_NUM_RULES];
+
+.fi
+.PP
+マクロ
+.B YY_USER_INIT
+には最初のスキャンの前に常に行うアクションを再定義できます
+(スキャナの内部初期化の前に行われます)。
+例えばデータ表を読み込んだり、ログファイルをオープンするために使用できます。
+.PP
+マクロ
+.B yy_set_interactive(is_interactive)
+は現在のバッファが
+.I 対話的
+と見倣されているか否かを制御するために使用します。
+対話的なバッファの処理は遅くなりますが、
+スキャナの入力元が対話的でありバッファをフィルするのを待つことに起因する
+問題を避けるためには指定しなければなりません(以下の
+.B \-I
+フラグに関する議論を参照して下さい)。
+マクロ起動時に非ゼロを指定するとバッファは対話的になり、
+ゼロを指定すると非対話的になります。
+このマクロの使用は
+.B %option always-interactive
+と
+.B %option never-interactive
+に優先します(下記オプションを参照して下さい)。
+バッファをスキャンして対話的である(もしくはでない)と判断される前に、
+.B yy_set_interactive()
+を起動して下さい。
+.PP
+マクロ
+.B yy_set_bol(at_bol)
+は現在のバッファにおける次のトークンに対するマッチのためのスキャンが
+行頭から始まるか否かを制御します。
+非ゼロのマクロ引数は、'^' が付いたルールを有効にしますが、
+ゼロのマクロ引数は '^' が付いたルールを無効にします。
+.PP
+現在のバッファからスキャンされた次のトークンが有効な '^' ルールを持つ時、
+マクロ
+.B YY_AT_BOL()
+は真を返します。
+そうでない場合は偽を返します。
+.PP
+生成されたスキャナでは、全てのアクションは大きな一つの switch 文に
+集められ、
+.B YY_BREAK
+で分けられています。
+.B YY_BREAK
+は再定義可能です。デフォルトではそれぞれのルールのアクションを
+分けるための単なる "break" です。
+.B YY_BREAK
+を再定義することにより、例えば C++ ユーザが
+#define YY_BREAK を何もしないように定義し
+(ただし全てのルールが "break" か "return" で終るように
+注意しなければなりません!)、
+ルールのアクションが "return" で終ることにより
+.B YY_BREAK
+がアクセスできないことに起因する、
+到達できない文があるという警告を避けることが出来ます。
+.SH ユーザが使用可能な値
+この節ではユーザがルールのアクション部分で使用可能な値をまとめます。
+.IP -
+.B char *yytext
+現トークンのテキストを保持しています。内容を変更しても構いませんが、
+その長さを伸ばしてはいけません(終りに文字を追加してはいけない)。
+.IP
+スキャナの記述の最初の部分に特別な指示である
+.B %array
+が書かれているとき、
+.B yytext
+は
+.B char yytext[YYLMAX]
+と定義されます。
+.B YYLMAX
+はマクロで、デフォルトの値 (多くの場合8KB) を変更したい場合には
+最初の部分で再定義可能です。
+.B %array
+を使うといくらか遅いスキャナになりますが、
+.B yytext
+の値は
+.I input()
+と
+.I unput()
+の呼び出しでも破壊されなくなります。
+.B yytext
+が文字ポインタである場合、
+これらの関数呼び出しは
+.B yytext
+を破壊する可能性があります。
+.B %array
+と対称な指定
+.B %pointer
+がデフォルトです。
+.IP
+C++ のスキャナクラスを生成する (オプション
+.B \-+
+) ときには
+.B %array
+は使えません。
+.IP -
+.B int yyleng
+現トークンの長さを保持しています。
+.IP -
+.B FILE *yyin
+はデフォルトで
+.I flex
+が読むファイルです。再定義することは可能ですが、スキャンを
+始める前か EOF に到達した後でのみ再定義は意味を持ちます。
+スキャンの途中で変更すると予想外の結果をもたらします。
+というのも
+.I flex
+は入力をバッファリングしているからです;
+そのような場合には、直接再定義せず
+.B yyrestart()
+を使って下さい。
+ファイルの終わりでスキャンが終了した場合には
+.I yyin
+を新しい入力ファイルに割り当て、
+再びスキャナを呼び出してスキャンを続けることが出来ます。
+.IP -
+.B void yyrestart( FILE *new_file )
+を呼ぶことで
+.I yyin
+が新しい入力ファイルを指すように出来ます。新しいファイルへの変更は
+すぐに行われます (それまでにバッファに読み込まれていた入力は失われます)。
+.I yyin
+を引数として
+.B yyrestart()
+を呼ぶと、現在の入力バッファを捨てて同じ入力ファイルを
+スキャンし続けることに注意して下さい。
+.IP -
+.B FILE *yyout
+は
+.B ECHO
+アクションが行われる対象のファイルです。
+ユーザが再割当することが出来ます。
+.IP -
+.B YY_CURRENT_BUFFER
+カレントバッファの
+.B YY_BUFFER_STATE
+ハンドルを返します。
+.IP -
+.B YY_START
+現在の開始条件に対応する整数値を返します。
+続いてこの値を
+.B BEGIN
+と共に使うことで、スキャナをその開始条件へ戻すことが出来ます。
+.SH YACC とのインタフェース
+.I flex
+の主な使用方法の一つは、
+.I yacc
+パーサジェネレータと共に使用することです。
+.I yacc
+パーサは
+.B yylex()
+と言う名前のルーチンを呼び、次の入力トークンを見付けるものとしています。
+このルーチンは、次のトークンの型を返し、
+関連する値をグローバルの
+.B yylval
+に格納するものとされています。
+.I flex
+を
+.I yacc
+と共に使うには、
+.I yacc
+に
+.B \-d
+オプションを指定して、
+.I yacc
+の入力に現れる全ての
+.B %tokens
+の定義を含む
+.B y.tab.h
+ファイルを生成させます。
+このファイルは
+.I flex
+スキャナにインクルードされます。
+例えばトークンの一つが "TOK_NUMBER" である場合、
+スキャナの一部分は次のようになっています:
+.nf
+
+ %{
+ #include "y.tab.h"
+ %}
+
+ %%
+
+ [0-9]+ yylval = atoi( yytext ); return TOK_NUMBER;
+
+.fi
+.SH オプション
+.I flex
+には以下のようなオプションがあります:
+.TP
+.B \-b
+バックアップ情報を
+.I lex.backup
+に出力します。
+このファイルには、スキャナのバックアップ(backing-up)を必要とする状態と
+それに対応する入力文字の一覧がリストされます。
+ルールを追加することでバックアップ状態を取り除くこと
+ができます。バックアップ状態が
+.I 全て
+取り除かれ、
+.B \-Cf
+または
+.B \-CF
+を指定すると、生成されたスキャナの実行速度が向上します(
+.B \-p
+フラグを見て下さい)。
+スキャナをぎりぎりまで最適化しようとしてるユーザのみが
+このオプションに関係あります。
+(後述の性能関連の節を見て下さい。)
+.TP
+.B \-c
+何もしません。POSIX 互換のために用意されています。
+.TP
+.B \-d
+生成されたスキャナが
+.I デバッグ
+モードで実行されます。
+.B yy_flex_debug
+が非ゼロの場合(デフォルト)、
+パターンが認識されるたびに、スキャナは次のようなメッセージを
+.I 標準エラー出力
+へ出力します。
+.nf
+
+ --accepting rule at line 53 ("the matched text")
+
+.fi
+行番号はスキャナを定義しているファイル (flexに与えられたファイル)
+でのルールの位置です。
+スキャナがバックアップしたとき、デフォルトルールを受け入れたとき、
+入力バッファの最後に到達したとき (あるいは、NULに到達したとき;
+スキャナには、この二つの区別はつきません) 、ファイルの最後に到達した
+ときにもメッセージが出力されます。
+.TP
+.B \-f
+.I 高速なスキャナ
+を指定します。
+テーブル圧縮は行われず、標準入出力をバイパスします。
+その結果生成されるスキャナは大きくなりますが、高速なものになります。
+このオプションは
+.B \-Cfr
+と同等です (以下を参照)。
+.TP
+.B \-h
+.I flex
+のオプションの要約からなる "ヘルプ" を
+.I 標準出力
+に書き出し終了します。
+.B \-?
+と
+.B \-\-help
+とは
+.B \-h
+と同じです。
+.TP
+.B \-i
+.I 大文字小文字を区別しない
+スキャナを生成します。
+.I flex
+の入力パターンに与えられる文字が大文字であるか小文字であるかは区別されず、
+スキャナに入力される文字列は大文字小文字に関係なくマッチします。
+マッチしたテキスト
+.I yytext
+では入力時の大文字小文字が保存されます (大文字を小文字に変換したりしません)。
+.TP
+.B \-l
+AT&T の
+.I lex
+の実装に対して最大限の互換性を持たせます。これは
+.I 完全な
+互換性を意味しません。
+このオプションを使用すると性能に大きな影響があります。
+このオプションは、
+.B \-+, \-f, \-F, \-Cf, \-CF
+と同時に使用できません。詳しくは、
+後述の "Lex および POSIX との非互換性" の節を御覧下さい。
+またこのオプションを使用すると、
+.B YY_FLEX_LEX_COMPAT
+が生成されたスキャナの名前に #define されます。
+.TP
+.B \-n
+何もしません。POSIX 互換のためにだけ用意されたオプションです。
+.TP
+.B \-p
+性能情報を標準エラー出力に出力します。
+.I flex
+入力ファイルの記述のうち、
+生成されるスキャナの性能低下の深刻な原因となる部分について、
+コメントされます。
+オプションを2回指定すると、より細かな性能低下についても
+コメントが出力されます。
+.IP
+.B REJECT
+・
+.B %option yylineno
+・可変長右文脈(欠陥/バグの節で後述)は多大なる性能への悪影響があります;
+.I yymore()
+の使用・
+.B ^
+オペレータ・
+.B \-I
+フラグは小さな性能の悪影響があります。
+.TP
+.B \-s
+.I デフォルトルール
+(マッチしないスキャナの入力を
+.I 標準出力
+に出力する)
+が抑制されます。ルールにマッチしない入力が表れたとき、スキャナは
+エラーで異常終了します。
+スキャナのルールの組に抜けが無いかを確認する場合に有効です。
+.TP
+.B \-t
+.B lex.yy.c
+ではなく、標準出力にスキャナを書き出します。
+.TP
+.B \-v
+生成するスキャナの特徴の要約を
+.I 標準エラー出力
+に出力するように
+.I flex
+に指示します。
+ほとんどの特徴は通常の
+.I flex
+ユーザには意味がありませんが、最初の行は
+.I flex
+のバージョンを表示し(
+.B \-V
+で表示されるもと同じです)、次の行はデフォルトを含むスキャナ生成時のフラグです。
+.TP
+.B \-w
+警告メッセージを抑制します。
+.TP
+.B \-B
+.I 対話的
+なスキャナ (以下の
+.B \-I
+の項を参照) ではなく
+.I バッチ的
+なスキャナを生成するよう
+.I flex
+に指示します。
+通常
+.B \-B
+を使用するのは、スキャナを対話的に使用しないことが
+.I 分かっている
+時であり、
+.I 少しでも
+性能を追求したい時です。
+より大きい性能を追求する場合には、
+.B \-Cf
+もしくは
+.B \-CF
+オプションを使用すべきです(後述)。
+.B \-B
+を自動的に設定します。
+.TP
+.B \-F
+.ul
+高速な
+スキャナテーブルの表現を使う(標準入出力はバイパスする)ことを指定します。
+この表現は、完全テーブル表現
+.B (-f)
+とほぼ同じぐらい高速で、
+ある種のパターンに対してはかなり小さく (ある種に対しては大きく)
+なります。
+通常、次のように、パターンの組が "keywords" とその対応
+および "identifier" ルールからなる場合:
+.nf
+
+ "case" return TOK_CASE;
+ "switch" return TOK_SWITCH;
+ ...
+ "default" return TOK_DEFAULT;
+ [a-z]+ return TOK_ID;
+
+.fi
+この場合、完全テーブル表現を使用する方が良いです。
+もし "identifier" ルールからのみ表現され、
+キーワードを検知するためにハッシュ表等を使用する場合は、
+.B -F
+を使用する方が良いです。
+.IP
+このオプションは
+.B \-CFr
+と等価です (以下を参照)。
+これは
+.B \-+
+オプションとは同時に指定できません。
+.TP
+.B \-I
+.I flex
+に
+.I 対話的
+なスキャナを生成するように指示します。
+対話的なスキャナは、
+先読みすることによりマッチするトークンが完全に決まる場合のみ先読みします。
+現在のトークンが既に明らかな場合でも常に先読みする方法は、
+必要時のみ先読みする方法より少し速いです。
+しかし、常に先読みする方法では対話性能に著しく悪影響があります;
+例えばユーザが改行を入力した場合、
+.I 別の
+トークンを入力するまでそれは改行として認識されません。
+大概の場合、次の行全体を入力することになります。
+.IP
+.I flex
+のスキャナのデフォルトは
+.I 対話的
+であり、例外は
+.B \-Cf
+や
+.B \-CF
+といったテーブル圧縮オプション(後述)使用時です。
+高性能追求時にはこれらのオプションを使用しているべきですので、
+これらのオプションを使用していない場合には、
+.I flex
+は実行時性能を少し犠牲にして直観的な対話的な振舞いを取っているものとします。
+.B \-I
+オプションを
+.B \-Cf
+や
+.B \-CF
+と共に
+.I 使用できない
+ことにも注意して下さい。
+実際はこのオプションは不要です;
+許される場合、デフォルトで有効になっています。
+.IP
+スキャナを対話的で
+.I 無い
+ように強制するには
+.B \-B
+(先述)を使用します。
+.TP
+.B \-L
+.I flex
+に
+.B #line
+ディレクティブを
+.B lex.yy.c
+中に生成しないように指示します。
+デフォルトではこの #line ディレクティブを生成するので、
+アクションにおけるエラーメッセージは、オリジナルの
+.I flex
+入力ファイル(
+エラーが入力ファイルのコードに起因する場合)もしくは
+ファイル
+.B lex.yy.c
+(
+.I flex
+の誤り -- 以下の電子メールアドレスに報告して下さい)
+における正しい位置を与えます。
+.TP
+.B \-T
+.I flex
+を
+.I トレース
+モードで実行します。
+入力の形式とその結果として出力される非決定性/決定性有限
+オートマトンに関して
+.I 標準エラー出力
+に多量のメッセージを出力します。
+このオプションは主に
+.I flex
+をメンテナンスするために使われます。
+.TP
+.B \-V
+バージョン番号を
+.I 標準出力
+に出力して終了します。
+.B \-\-version
+は
+.B \-V
+と同じです。
+.TP
+.B \-7
+7 ビットのスキャナを生成します。
+すなわち、入力に 7 ビットの文字のみを使用することを意味します。
+.B \-7
+を指定する利点は、
+.B \-8
+オプション(後述)を指定して生成するテーブルの半分まで小さくなりうることです。
+欠点は、入力に 8 ビット文字が含まれている時に、
+スキャナがハングもしくはクラッシュすることです。
+.IP
+しかしながら、
+.B \-Cf
+や
+.B \-CF
+といったテーブル圧縮オプション使用時にはテーブル圧縮の効果は少なく、
+移植性が著しく低下することに注意して下さい。
+.I flex
+のデフォルトの動作では、
+.B \-Cf
+や
+.B \-CF,
+を指定しない限り 8 ビットスキャナを生成します。
+指定時には、
+あなたのサイトが常に 8 ビットスキャナを生成するように
+(USA 以外のサイトでは良くあります)していない場合には、
+7 ビットスキャナを生成します。
+flex が 7 ビットもしくは 8 ビットのいずれのスキャナを生成するのかを
+知りたい場合には、上述の
+.B \-v
+の出力のフラグの要約を調べて下さい。
+.IP
+.B \-Cfe
+もしくは
+.B \-CFe
+(これらのテーブル圧縮オプションおよび等価クラスは後述)
+を使用しても、flex はデフォルトで 8 ビットスキャナを生成することに
+注意して下さい。
+なぜなら、完全な 8 ビットテーブルは 7 ビットテーブルと比べても
+たいして高価にはならないからです。
+.TP
+.B \-8
+8 ビットのスキャナを生成するように
+.I flex
+に指示します。すなわち 8 ビット文字を解釈します。
+圧縮オプション
+.B \-Cf
+と
+.B \-CF
+使用時にのみ必要です。
+なぜなら flex はデフォルトでは 8 ビットスキャナを生成するからです。
+.IP
+flex のデフォルト動作と 7 ビットおよび 8 ビットスキャナの
+トレードオフに関しては、上記
+.B \-7
+の議論を見て下さい。
+.TP
+.B \-+
+C++ のスキャナクラスを生成します。
+詳しくは C++ スキャナの生成で後述します。
+.TP
+.B \-C[aefFmr]
+テーブル圧縮の程度と、
+より一般的には小さいスキャナと高速なスキャナとのトレードオフを指定します。
+.IP
+.B \-Ca
+("アライン")
+生成されるスキャナのテーブルは、
+メモリアクセスおよび計算のためにアラインされるため、より大きなものになります。
+RISC アーキテクチャではロングワードのフェッチおよび操作は
+ショートワードといったより小さな大きさのものに対するものより効率的です。
+場合によってはスキャナのテーブルサイズが通常の 2倍になることもあります。
+.IP
+.B \-Ce
+.I 等価クラス
+(同一の字句属性を持つ文字セット)を構築します
+(例えば、
+.I flex
+入力中に数字が現れるのが文字クラス "[0-9]" のみの場合、
+数字 '0', '1', ..., '9' は全て同じ等価クラスになります)。
+多くの場合、等価クラスを用いることで最終的なテーブル/
+オブジェクトファイルのサイズを劇的(平均して 1/2-1/5)に減らすことが出来ます。
+また、その際の性能コストは非常に低く抑えられます
+( 1文字スキャンするごとに 1回の配列検索を行うだけです)。
+.IP
+.B \-Cf
+.I 完全(full)
+スキャナテーブルを生成することを指示します -
+.I flex
+は、別の状態に関する類似した遷移関数をうまく利用するという、
+テーブル圧縮手法を用いません。
+.IP
+.B \-CF
+別の高速スキャナ表現(
+.B \-F
+フラグにて記述)を用いることを指定します。
+このオプションは
+.B \-+
+と同時に使用できません。
+.IP
+.B \-Cm
+.I flex
+に
+.I メタ等価クラス
+を構築するよう指示します。
+メタ等価クラスは一緒に使われることの多い等価クラス
+(等価クラスが使われていないときには文字群) の集合です。
+圧縮テーブルを使っているとき、
+メタ等価クラスは多くの場合にかなりの効果的をもたらしますが、
+やや性能に影響します
+(1-2 回の条件テストと 1 回の配列検索がスキャンした文字ごとに行われます)。
+.IP
+.B \-Cr
+生成されたスキャナは入力に対しては標準入出力ライブラリ(標準入出力)を
+.I バイパス
+します。
+スキャナは、
+.B fread()
+や
+.B getc()
+ではなく、
+.B read()
+システムコールを使用します。
+性能改善結果はシステムに依存します。
+オプション
+.B \-Cf
+もしくは
+.B \-CF
+を使用していない場合には、
+一般にこのオプションは性能をあまり改善しません。
+.B \-Cr
+を指定すると、例えばスキャナを設定する前に標準入出力を使用して
+.I yyin
+を読み取る等した場合奇妙な動作となり得ます
+(標準入出力の入力バッファに以前読み込んだものを、スキャナは読めません)。
+.IP
+.B \-Cr
+は
+.B YY_INPUT
+を定義した場合意味がありません
+(前述の生成されたスキャナを参照)。
+スキャナの呼出に先だって標準入力を使って
+.I yyin
+から読みだしているときには、予想外の振る舞いをすることがあります。
+.IP
+.B \-C
+のみを指定したときには、スキャナはテーブル圧縮は行いますが、
+等価クラスもメタ等価クラスも使いません。
+.IP
+オプション
+.B \-Cf
+と
+.B \-CF
+はオプション
+.B \-Cm
+を同時に指定しても意味をなしません -
+なぜなら、テーブル圧縮が行われないときメタ等価クラス
+は現れないからです。
+それ以外のオプションは自由に組み合わせることが出来ます。
+.IP
+デフォルトの設定は
+.B \-Cem
+です。このとき
+.I flex
+は等価クラスとメタ等価クラスを生成します。
+この設定は最も高いテーブル圧縮を行います。
+テーブルサイズの大きさと実行の高速性はトレードオフの関係にあり、
+一般に
+.nf
+
+ 遅いが 小さい
+ -Cem
+ -Cm
+ -Ce
+ -C
+ -C{f,F}e
+ -C{f,F}
+ -C{f,F}a
+ 速いが 大きい
+
+.fi
+となります。
+小さいテーブルのスキャナは通常生成もコンパイルも高速であるため、
+通常の開発時は最大の圧縮を行うでしょう。
+.IP
+製品のスキャナでは、
+.B \-Cfe
+が速度と大きさの良いバランスです。
+.TP
+.B \-ooutput
+.B lex.yy.c
+ではなくファイル
+.B output
+にスキャナを書くように flex に指示します。
+.B \-o
+と
+.B \-t
+オプションを組み合わせると、
+スキャナは
+.I 標準出力
+に書かれますが、
+.B #line
+ディレクティブ(
+.B \\-L
+にて上述)はファイル
+.B output
+を参照します。
+.TP
+.B \-Pprefix
+.I flex
+の使うデフォルトのプレフィックス
+.I "yy"
+の代わりに
+.I prefix
+を使います。これはグローバル変数とファイル名に影響します。
+例えば
+.B \-Pfoo
+とすると、
+.B yytext
+の名前は
+.B footext
+となります。
+またデフォルトの出力ファイル名を
+.B lex.yy.c
+から
+.B lex.foo.c
+に変えます。
+影響を受ける名前の一覧です:
+.nf
+
+ yy_create_buffer
+ yy_delete_buffer
+ yy_flex_debug
+ yy_init_buffer
+ yy_flush_buffer
+ yy_load_buffer_state
+ yy_switch_to_buffer
+ yyin
+ yyleng
+ yylex
+ yylineno
+ yyout
+ yyrestart
+ yytext
+ yywrap
+
+.fi
+(C++ スキャナ使用時には
+.B yywrap
+と
+.B yyFlexLexer
+だけが影響を受けます。)
+スキャナの中では、グローバル変数および関数を
+どちらの名前ででも参照できます;
+外部的には修正した名前のみ持ちます。
+.IP
+このオプションを使用することにより、複数の
+.I flex
+プログラムを同一の実行形式に容易にリンクすることが出来ます。
+しかし、このオプションは
+.B yywrap()
+の名前をも変えますので、
+独自の(適切に名前を付けた)ルーチンをスキャナのために用意するか、
+.B %option noyywrap
+を使用して
+.B \-ll
+とリンクする
+.I 必要があります。
+どれもデフォルトでは提供されません。
+.TP
+.B \-Sskeleton_file
+.I flex
+がスキャナを構築するのに使うデフォルトの
+スケルトンファイルに優先します。
+.I flex
+のメンテナンスや開発をする場合以外、このオプションは必要ありません。
+.PP
+.I flex
+は、flex のコマンドラインではなく、
+スキャナ仕様記述中からオプションを制御する機構を提供します。
+これはスキャナの最初の部分に
+.B %option
+ディレクティブを含めることで実現できます。
+単一の
+.B %option
+ディレクティブにおいて複数のオプションを指定でき、
+また複数のディレクティブを flex 入力ファイルの最初の部分に置くことが出来ます。
+.PP
+ほとんどのオプションが単純な名前であり、
+オプションとして前に "no" という語(空白をはさみません)を付けて
+意味を反転できます。
+数値は flex のフラグやその反転と等価です。
+.nf
+
+ 7bit -7 オプション
+ 8bit -8 オプション
+ align -Ca オプション
+ backup -b オプション
+ batch -B オプション
+ c++ -+ オプション
+
+ caseful または
+ case-sensitive -i オプションの逆(デフォルト)
+
+ case-insensitive または
+ caseless -i オプション
+
+ debug -d オプション
+ default -s オプションの逆
+ ecs -Ce オプション
+ fast -F オプション
+ full -f オプション
+ interactive -I オプション
+ lex-compat -l オプション
+ meta-ecs -Cm オプション
+ perf-report -p オプション
+ read -Cr オプション
+ stdout -t オプション
+ verbose -v オプション
+ warn -w オプションの逆
+ (-w オプションには "%option nowarn" を使用して下さい)
+
+ array "%array" と等価
+ pointer "%pointer" と等価(デフォルト)
+
+.fi
+.B %option
+には、他では利用できない機能を提供するものもあります:
+.TP
+.B always-interactive
+入力を常に "対話的" に扱うスキャナを生成するように flex に指示します。
+通常、新たな入力ファイル毎にスキャナは
+.B isatty()
+を呼び出し、スキャナの入力元が対話的であり 1 度に 1 文字ずつ読むべきか
+どうか判定しようとします。
+一方このオプションを使用するとこの様な呼び出しは行いません。
+.TP
+.B main
+スキャナに対し、
+.B yylex()
+を呼び出すだけのデフォルトの
+.B main()
+プログラムを提供するように指示します。
+このオプションは
+.B noyywrap
+(後述)も暗黙的に指示します。
+.TP
+.B never-interactive
+入力を "対話的" とはしないスキャナを生成するように flex に指示します
+(これもまた
+.B isatty()
+を呼び出しません)。
+これは
+.B always-interactive
+の逆です。
+.TP
+.B stack
+開始条件スタックの使用を有効にします(前述の開始条件を参照)。
+.TP
+.B stdinit
+設定されている場合 (すなわち
+.B %option stdinit)
+.I yyin
+および
+.I yyout
+を、
+デフォルトの
+.I nil
+ではなく、
+.I 標準入力
+と
+.I 標準出力
+に設定します。
+既存の
+.I lex
+プログラムには、
+ANSI C 互換ではないものの、この動作に依存しているものがあります。
+ANSI C では
+.I 標準入力
+と
+.I 標準出力
+がコンパイル時の定数である必要はありません。
+.TP
+.B yylineno
+入力から読み取った現在の行番号をグローバル変数
+.B yylineno
+に保持するスキャナを生成するように、
+.I flex
+に指示します。
+このオプションは
+.B %option lex-compat
+から暗黙的に指定されます。
+.TP
+.B yywrap
+セットされていない場合 (すなわち
+.B %option noyywrap)
+、スキャナはファイルの終りに際し
+.B yywrap()
+を呼ばず単にスキャンすべきファイルがもう無いものとするようになります(
+ユーザが
+.I yyin
+を新しいファイルを指すようにし、再度
+.B yylex()
+を呼び出すまでです)。
+.PP
+.I flex
+はルールアクションをスキャンし、
+.B REJECT
+と
+.B yymore()
+の機能が使われているかどうかを調べます。
+.B reject
+と
+.B yymore
+のオプションを使用すると、
+オプションで指定した通りにこの判定に優先します。
+オプションの指定は、セットして機能を使用していることを示す(例えば
+.B %option reject)
+、もしくはアンセットして機能を使用していないことを示す(例えば
+.B %option noyymore)
+ものとします。
+.PP
+次のオプションは文字列の値を取り、'=' で区切ります:
+.nf
+
+ %option outfile="ABC"
+
+.fi
+これは
+.B -oABC
+と同じであり、
+.nf
+
+ %option prefix="XYZ"
+
+.fi
+は
+.B -PXYZ
+と同じです。
+最後に、
+.nf
+
+ %option yyclass="foo"
+
+.fi
+は C++ スキャナ生成時のみ有効(
+.B \-+
+オプション)です。これは
+.I flex
+に対して、
+.B foo
+が
+.B yyFlexLexer
+のサブクラスであることを知らせますので、
+.I flex
+はアクションを
+.B yyFlexLexer::yylex()
+ではなく
+.B foo::yylex()
+のメンバ関数とします。
+また、(
+.B yyFlexLexer::LexerError()
+を起動することにより)呼び出すと実行時エラーを除去する
+.B yyFlexLexer::yylex()
+メンバ関数を生成します。
+詳細は後述の C++ スキャナの生成を見て下さい。
+.PP
+生成されたスキャナから不要なルーチンを除きたい lint 純正主義者のために
+多くのオプションが用意されています。
+以下をアンセットすると(例えば
+.B %option nounput
+)、対応するルーチンは生成されるスキャナから除かれます:
+.nf
+
+ input, unput
+ yy_push_state, yy_pop_state, yy_top_state
+ yy_scan_buffer, yy_scan_bytes, yy_scan_string
+
+.fi
+(
+.B yy_push_state()
+等は
+.B %option stack
+を使用しない場合には現れません)。
+.SH 性能関連
+.I flex
+の主なデザインゴールは高性能なスキャナを生成することです。
+多くのルールセットを良く扱うことで最適化されます。
+既に概説した
+.B \-C
+オプション使用によるテーブル圧縮に起因する速度への影響の他に、
+性能を悪化させる多くのオプション/アクションがあります。
+それらを高価なものから安価なものへと並べます:
+.nf
+
+ REJECT
+ %option yylineno
+ 自由長の右文脈(trailing context)
+
+ バックアップが必要なパターンの組
+ %array
+ %option interactive
+ %option always-interactive
+
+ '^' 行頭オペレータ
+ yymore()
+
+.fi
+最初の 3 つは非常に高価であり、最後の 2 つは非常に安価です。
+.B unput()
+は潜在的に非常に大きな仕事をするルーチン呼び出しとして実装されているのに対し、
+.B yyless()
+は非常に安価なマクロです;
+ですからスキャンした余分なテキストを戻すだけの場合には
+.B yyless()
+を使って下さい。
+.PP
+性能が重要な場合には、出来うる限りの努力でもって
+.B REJECT
+を避けて下さい。
+これは特に高価なオプションです。
+.PP
+バックアップを取り除くと、乱雑になり、
+ひどく苦労して複雑なスキャナを作ることになります。
+実際的には
+.B \-b
+フラグを指定して
+.I lex.backup
+ファイルを生成することから始めます。例えば、入力
+.nf
+
+ %%
+ foo return TOK_KEYWORD;
+ foobar return TOK_KEYWORD;
+
+.fi
+に対しては、ファイルは次のようになります:
+.nf
+
+ State #6 is non-accepting -
+ associated rule line numbers:
+ 2 3
+ out-transitions: [ o ]
+ jam-transitions: EOF [ \\001-n p-\\177 ]
+
+ State #8 is non-accepting -
+ associated rule line numbers:
+ 3
+ out-transitions: [ a ]
+ jam-transitions: EOF [ \\001-` b-\\177 ]
+
+ State #9 is non-accepting -
+ associated rule line numbers:
+ 3
+ out-transitions: [ r ]
+ jam-transitions: EOF [ \\001-q s-\\177 ]
+
+ Compressed tables always back up.
+
+.fi
+最初の数行は、
+'o' に遷移できるが他の文字には遷移できない状態があり、
+その状態では現在スキャンされたテキストは他のルールにはマッチしないことを
+表します。
+この状態が発生したのは、
+入力ファイルの行 2, 3 のルールにマッチしようとした時です。
+スキャナがこの様な状態にあり 'o' 以外の文字を読んだ場合には、
+マッチするルールを探すためのバックアップが必要となります。
+少し考えれば、これは "fo" を見た時にある状態に違いないことが分かるでしょう。
+この様な時、'o' 以外のものが現れると、
+スキャナは、単に 'f' にマッチする(デフォルトルール)ところまで
+戻り(バックアップし)ます。
+.PP
+状態 #8 に関係するコメントは、
+"foob" がスキャンされた時に問題があることを表しています。
+実際、'a' 以外の文字に出会うと、スキャナは "foo" を受理するところまで戻ります。
+同様に状態 #9 に関係するコメントは、
+"fooba" がスキャンされ 'r' が続かない場合に関係します。
+.PP
+最後のコメントが通知するのは、
+.B \-Cf
+や
+.B \-CF
+を使っているのでなければ
+バックアップを取り除こうと努力することは無意味であることです。
+なぜなら、圧縮されたスキャナに対してそのようなことをしても、
+性能上の利益は無いからです。
+.PP
+バックアップを取り除くためには "エラー" ルールを追加します:
+.nf
+
+ %%
+ foo return TOK_KEYWORD;
+ foobar return TOK_KEYWORD;
+
+ fooba |
+ foob |
+ fo {
+ /* false alarm, not really a keyword */
+ return TOK_ID;
+ }
+
+.fi
+.PP
+キーワードのリストからバックアップを取り除くには、"全てを捕まえる"
+ルールを使用することが出来ます:
+.nf
+
+ %%
+ foo return TOK_KEYWORD;
+ foobar return TOK_KEYWORD;
+
+ [a-z]+ return TOK_ID;
+
+.fi
+通常、適切な時にはこれは一番良い解決策です。
+.PP
+バックアップメッセージはカスケードすることが多いです。
+複雑なルールの組では、数百ものメッセージを得るのは普通のことです。
+しかし、これを解析すれば、バックアップを除去するためには
+大抵の場合数ダースのルールにだけ関係あることが分かるでしょう
+(しかし、間違えることが多く、誤ったルールが偶然有効なトークンにマッチし得ます。
+将来の
+.I flex
+の機能では、
+自動的にバックアップを除去するルールを追加するようになるかも知れません)。
+.PP
+バックアップを除去することにより利益があるのは、
+.I 全ての
+バックアップを除去した時だけということを覚えておくことは重要です。
+たった一つを残しても何も得ることが出来ません。
+.PP
+.I 可変長の
+右文脈 (左部分と右部分のいずれかもしくは両方が可変長)は
+.B REJECT
+とほぼ同じだけの(すなわち相当の)性能劣化となります。
+そのため次のようなルール:
+.nf
+
+ %%
+ mouse|rat/(cat|dog) run();
+
+.fi
+は次のように書くか:
+.nf
+
+ %%
+ mouse/cat|dog run();
+ rat/cat|dog run();
+
+.fi
+次のように書いた方が良いです:
+.nf
+
+ %%
+ mouse|rat/cat run();
+ mouse|rat/dog run();
+
+.fi
+特別な '|' アクションは助けにはなり
+.I ません
+し、かえって状況を悪くします
+(後述の欠陥/バグを参照)。
+.LP
+スキャナの性能を向上させるための余地(実現は最も容易)は、
+マッチするトークンが長ければスキャナが高速になることにあります。
+長いトークンではほとんどの入力処理は(短い)内部ループで処理され、
+アクションのためにスキャナ環境を設定する追加の仕事(例えば
+.B yytext)
+をほとんどしないからです。
+C コメントのスキャナを思い出しましょう:
+.nf
+
+ %x comment
+ %%
+ int line_num = 1;
+
+ "/*" BEGIN(comment);
+
+ <comment>[^*\\n]*
+ <comment>"*"+[^*/\\n]*
+ <comment>\\n ++line_num;
+ <comment>"*"+"/" BEGIN(INITIAL);
+
+.fi
+次のように書くと高速になります:
+.nf
+
+ %x comment
+ %%
+ int line_num = 1;
+
+ "/*" BEGIN(comment);
+
+ <comment>[^*\\n]*
+ <comment>[^*\\n]*\\n ++line_num;
+ <comment>"*"+[^*/\\n]*
+ <comment>"*"+[^*/\\n]*\\n ++line_num;
+ <comment>"*"+"/" BEGIN(INITIAL);
+
+.fi
+今度は、改行毎に別のアクションの処理を行うのではなく、
+改行認識はルール間で "分散" され、
+可能な限り長いテキストにマッチするようになっています。
+ルールの
+.I 追加
+はスキャナを遅く
+.I しません!
+スキャナの速度は、ルール数とも、
+オペレータ '*' や '|' といったものに基づくルールの複雑さ
+(この節の始めで扱いました)とも独立です。
+.\" 括弧内自信無しです
+.\" Apr 29 1997, horikawa@jp.freebsd.org
+.PP
+最後の高速化の例です:
+1 行に 1 つずつであり別の文字は付かないような、
+識別子とキーワードを全てファイルからスキャンすることを考えます。
+最初は次のようになるでしょう:
+.nf
+
+ %%
+ asm |
+ auto |
+ break |
+ ... etc ...
+ volatile |
+ while /* it's a keyword */
+
+ .|\\n /* it's not a keyword */
+
+.fi
+後戻りを避けるために全てを捕まえるルールを導入します:
+.nf
+
+ %%
+ asm |
+ auto |
+ break |
+ ... etc ...
+ volatile |
+ while /* it's a keyword */
+
+ [a-z]+ |
+ .|\\n /* it's not a keyword */
+
+.fi
+1 行に正確に 1 語だけあることが保証されている場合、
+改行の認識を別のトークンと併せることで、
+マッチの総数を半分に減らすことが出来ます:
+.nf
+
+ %%
+ asm\\n |
+ auto\\n |
+ break\\n |
+ ... etc ...
+ volatile\\n |
+ while\\n /* it's a keyword */
+
+ [a-z]+\\n |
+ .|\\n /* it's not a keyword */
+
+.fi
+ここで、再度バックアップをスキャナに組み込んだことに
+気を付けなければなりません。
+実際
+.I 我々は
+入力ストリームはレターと改行だけであることを知っていますが、
+.I flex
+はこれが分からないため、
+トークン "auto" などをスキャンした次の文字が改行でもレターでもない場合には
+バックアップが必要であると考えます。
+以前は "auto" ルールに適合しそれで終りでしたが、
+今は "auto" ルールは無く、"auto\\n" ルールだけがあります。
+バックアップの可能性を除去するためには、
+最後の改行以外のルールを二重化するか、
+そのような入力に出くわさないので分類は不要と分かっているため、
+改行を導入しないもう一つの全てを捕まえるルールを導入することが出来ます:
+.nf
+
+ %%
+ asm\\n |
+ auto\\n |
+ break\\n |
+ ... etc ...
+ volatile\\n |
+ while\\n /* it's a keyword */
+
+ [a-z]+\\n |
+ [a-z]+ |
+ .|\\n /* it's not a keyword */
+
+.fi
+.B \-Cf
+を付けてコンパイルすると、実際問題上
+.I flex
+で得られるほぼ最速になります。
+.PP
+最後の注意事項:
+.I flex
+は NUL にマッチする時には遅く、トークンが複数の NUL を含む時には特に遅いです。
+テキストがしばしば NUL を含むものと予想される場合には、テキストの
+.I 短い
+部分とマッチするようにルールを書くべきです。
+.PP
+もう一つの性能に関する最終注意事項:
+入力のマッチ方法の節で既に示したように、
+大きなトークンを納めるために
+.B yytext
+のサイズを動的に変更すると処理が遅くなります。
+なぜなら、(巨大な)トークンを再度先頭からスキャンしなおさねばならないからです。
+性能が重要な場合、
+テキストの "大きな" 部分にマッチさせるべきですが "巨大な" 部分にマッチさせる
+べきではありません。
+両者の堺目は 8K 文字/トークンです。
+.SH C++ スキャナの生成
+.I flex
+は 2 通りの C++ スキャナ生成方法を提供します。
+最初の方法は
+.I flex
+が生成したスキャナを単に C コンパイラではなく C++ コンパイラで
+コンパイルするというものです。
+この場合コンパイルエラーには出会わないはずです
+(見付けた場合には作者の節で後述する電子メールアドレスに報告して下さい)。
+この場合ルールにおいて C コードではなく C++ コードを書くことが出来ます。
+スキャナのデフォルトの入力元は
+.I yyin
+のままであり、
+デフォルトのエコー先は
+.I yyout
+のままであることに注意して下さい。
+どちらも
+.I FILE *
+変数のままであり、C++
+.I streams
+ではないです。
+.PP
+.I flex
+に C++ スキャナクラスを生成させることも出来ます。
+.B \-+
+オプションを指定する(もしくは等価的に
+.B %option c++
+を使う)とこのように実行され、
+flex の実行形式名が '+' で終っている場合には自動的に指定されます。
+このオプションを指定すると flex が生成するスキャナのデフォルトはファイル
+.B lex.yy.cc
+となり
+.B lex.yy.c
+ではありません。
+生成されたスキャナは
+2 つの C++ クラスとのインタフェースを定義するヘッダファイル
+.I FlexLexer.h
+をインクルードします。
+.PP
+最初のクラス
+.B FlexLexer
+は一般的なスキャナクラスを定義する抽象基盤クラスを提供します。
+以下のメンバ関数を提供します:
+.TP
+.B const char* YYText()
+最後にマッチしたテキストを返します。
+.B yytext
+と等価です。
+.TP
+.B int YYLeng()
+最後にマッチしたトークンの長さを返します。
+.B yyleng
+と等価です。
+.TP
+.B int lineno() const
+現在の入力の行番号(
+.B %option yylineno
+参照)もしくは
+.B %option yylineno
+を使用していない場合には
+.B 1
+を返します。
+.TP
+.B void set_debug( int flag )
+スキャナのデバッグフラグをセットします。
+.B yy_flex_debug
+に代入するのと同じです(オプションの節で前述)。
+スキャナ構築時に
+.B %option debug
+を使用してデバッグ情報を組み込む必要があることに注意して下さい。
+.TP
+.B int debug() const
+現在のデバッグフラグの設定を返します。
+.PP
+また次のものと等価なメンバ関数も提供されます
+.B yy_switch_to_buffer(),
+.B yy_create_buffer()
+(最初の引数は
+.B istream*
+オブジェクトポインタであり
+.B FILE*
+ではありません),
+.B yy_flush_buffer(),
+.B yy_delete_buffer(),
+.B yyrestart()
+(これもまた最初の引数は
+.B istream*
+オブジェクトポインタです)。
+.PP
+2 番目のクラスは
+.I FlexLexer.h
+で定義される
+.B yyFlexLexer
+であり、
+.B FlexLexer
+から導出したものです。
+以下の追加のメンバ関数を定義します:
+.TP
+.B
+yyFlexLexer( istream* arg_yyin = 0, ostream* arg_yyout = 0 )
+与えられた入出力ストリームを使う
+.B yyFlexLexer
+オブジェクトを構築します。
+指定しない場合にはそれぞれストリームのデフォルト
+.B cin
+と
+.B cout
+になります。
+.TP
+.B virtual int yylex()
+これは
+.B yylex()
+が通常の flex スキャナに対して行ったのと同様の役割を担います:
+ルールのアクションが値を返すまで、
+入力ストリームをスキャンし、トークンを消費します。
+.B yyFlexLexer
+からサブクラス
+.B S
+を導出し
+.B yylex()
+から
+.B S
+のメンバ関数および変数をアクセスしたい場合、
+.B %option yyclass="S"
+を指定して
+.B yyFlexLexer
+ではなくサブクラスを使用することを
+.I flex
+に知らせる必要があります。
+この場合
+.B yyFlexLexer::yylex()
+を生成するのではなく、
+.I flex
+は
+.B S::yylex()
+(および呼び出されたなら
+.B yyFlexLexer::LexerError()
+を呼び出すダミーの
+.B yyFlexLexer::yylex()
+も)を生成します。
+.TP
+.B
+virtual void switch_streams(istream* new_in = 0,
+.B
+ostream* new_out = 0)
+.B yyin
+を
+.B new_in
+(非ニルの場合)
+に再割当し、
+.B yyout
+を
+.B new_out
+(同様)に再割当します。
+.B yyin
+が再割当された場合には以前の入力バッファは消去されます。
+.TP
+.B
+int yylex( istream* new_in, ostream* new_out = 0 )
+まず入力ストリームを
+.B switch_streams( new_in, new_out )
+を使用して切替え、
+.B yylex()
+の値を返します。
+.PP
+さらに、
+.B yyFlexLexer
+は次のプロテクトされた仮想関数を定義します。
+スキャナにあわせてこれらを導出クラスにおいて再定義出来ます:
+.TP
+.B
+virtual int LexerInput( char* buf, int max_size )
+最大
+.B max_size
+文字を
+.B buf
+に読み込み、読めた文字数を返します。
+入力の終りを示すには 0 文字を返します。"対話的" スキャナ(
+.B \-B
+と
+.B \-I
+フラグを参照)はマクロ
+.B YY_INTERACTIVE
+を定義することに注意して下さい。
+.B LexerInput()
+を再定義し、
+対話的な入力元をスキャンする可能性があるかどうかに依存して
+異なるアクションが必要となる場合、
+この名前が存在するかどうかのテストは
+.B #ifdef
+にて可能です。
+.TP
+.B
+virtual void LexerOutput( const char* buf, int size )
+.B size
+文字をバッファ
+.B buf
+から書き出します。
+スキャナのルールが NUL を含むテキストにマッチ可能な場合、
+NUL 終端されているこのバッファは "内部に" NUL を含んでいても構いません。
+.TP
+.B
+virtual void LexerError( const char* msg )
+致命的なエラーメッセージを報告します。
+デフォルトのこの関数はメッセージをストリーム
+.B cerr
+に書き、終了します。
+.PP
+.B yyFlexLexer
+オブジェクトは
+.I 全ての
+スキャン時の状態を含むことに注意して下さい。
+それゆえこの様なオブジェクトをリエントラントなスキャナとして使用できます。
+同一の
+.B yyFlexLexer
+クラスの複数のインスタンスを具体化可能であり、
+複数の C++ スキャナクラスを組み合わせ上記
+.B \-P
+オプションを使用することで同一のプログラムで使用可能です。
+.PP
+最後に
+.B %array
+機能は C++ スキャナクラスでは使用できないことに注意して下さい;
+.B %pointer
+を使用しなければなりません(デフォルト)。
+.PP
+単純な C++ スキャナの例を以下に示します:
+.nf
+
+ // An example of using the flex C++ scanner class.
+
+ %{
+ int mylineno = 0;
+ %}
+
+ string \\"[^\\n"]+\\"
+
+ ws [ \\t]+
+
+ alpha [A-Za-z]
+ dig [0-9]
+ name ({alpha}|{dig}|\\$)({alpha}|{dig}|[_.\\-/$])*
+ num1 [-+]?{dig}+\\.?([eE][-+]?{dig}+)?
+ num2 [-+]?{dig}*\\.{dig}+([eE][-+]?{dig}+)?
+ number {num1}|{num2}
+
+ %%
+
+ {ws} /* skip blanks and tabs */
+
+ "/*" {
+ int c;
+
+ while((c = yyinput()) != 0)
+ {
+ if(c == '\\n')
+ ++mylineno;
+
+ else if(c == '*')
+ {
+ if((c = yyinput()) == '/')
+ break;
+ else
+ unput(c);
+ }
+ }
+ }
+
+ {number} cout << "number " << YYText() << '\\n';
+
+ \\n mylineno++;
+
+ {name} cout << "name " << YYText() << '\\n';
+
+ {string} cout << "string " << YYText() << '\\n';
+
+ %%
+
+ int main( int /* argc */, char** /* argv */ )
+ {
+ FlexLexer* lexer = new yyFlexLexer;
+ while(lexer->yylex() != 0)
+ ;
+ return 0;
+ }
+.fi
+複数の(異なった)字句解析クラスを生成したい場合、
+.B \-P
+フラグ (もしくは
+.B prefix=
+オプション) を使用して各
+.B yyFlexLexer
+を
+.B xxFlexLexer
+等の別の名前にします。
+次に字句解析クラスのソースごとに
+.B <FlexLexer.h>
+をインクルードします。
+以下のように
+.B yyFlexLexer
+をリネームします:
+.nf
+
+ #undef yyFlexLexer
+ #define yyFlexLexer xxFlexLexer
+ #include <FlexLexer.h>
+
+ #undef yyFlexLexer
+ #define yyFlexLexer zzFlexLexer
+ #include <FlexLexer.h>
+
+.fi
+これはあるスキャナに対し
+.B %option prefix="xx"
+を使用しもう一方に対し
+.B %option prefix="zz"
+を使用した場合です。
+.PP
+重要: 現在のスキャンクラスの形式は
+.I 実験的
+であり、メジャーリリースが変わると大きく変更される可能性があります。
+.SH LEX および POSIX との非互換性
+.I flex
+は AT&T Unix の
+.I lex
+ツールのリライトですが(2 つの実装はいかなるコードも共有しません)、
+いくばくかの拡張と非互換性を持っており、
+どちらの実装でも受理可能なスキャナを書きたい方は
+これを意識しなければなりません。
+flex は POSIX
+.I lex
+仕様に完全合致しますが、例外は
+.B %pointer
+(デフォルト)使用と
+.B unput()
+呼び出しにより
+.B yytext
+の内容を破壊することであり、これは POSIX 仕様に反します。
+.PP
+この節では、
+flex と AT&T lex と POSIX 仕様との間の全ての既知の非互換性を扱います。
+.PP
+.I flex
+の
+.B \-l
+オプションはオリジナルの AT&T
+.I lex
+実装との最大の互換性を有効にしますが、
+生成されたスキャナの性能は大きく低下します。
+.B \-l
+オプションを使用しても発生しうる非互換性は後で述べます。
+.PP
+.I flex
+は以下の例外を除き
+.I lex
+と完全互換です:
+.IP -
+ドキュメントに記載されていない
+.I lex
+スキャナ内部の変数
+.B yylineno
+は
+.B \-l
+もしくは
+.B %option yylineno
+を使用しないとサポートされません。
+.IP
+.B yylineno
+はスキャナ毎(単一のグローバル変数)ではなく、バッファ毎に管理されるべきです。
+.IP
+.B yylineno
+は POSIX 仕様ではありません。
+.IP -
+.B input()
+ルーチンは再定義できませんが、
+ルールにマッチしたものに後続する文字を読むために呼ばれえます。
+.B input()
+がファイルの終りに到達すると、通常の
+.B yywrap()
+処理は終了します。``実際の'' ファイルの終りは
+.I EOF
+として返されます。
+.IP
+実際には入力は
+.B YY_INPUT
+マクロを定義することにより制御されます。
+.IP
+.B input()
+を再定義できないという
+.I flex
+の制限は、最初に
+.I yyin
+を設定する以外のスキャナ入力制御方法を単に規定していないという、
+POSIX 仕様と合致します。
+.IP -
+.B unput()
+ルーチンは再定義できません。この制限は POSIX に合致しています。
+.IP -
+.I flex
+スキャナは
+.I lex
+スキャナとは異なりリエントラントではありません。
+実際、対話的なスキャナにおいて、
+割り込みハンドラにてロングジャンプを用いてスキャナから脱出し、
+その後スキャナを再度呼び出す場合、以下のメッセージを得るでしょう:
+.nf
+
+ fatal flex scanner internal error--end of buffer missed
+
+.fi
+スキャナに再度入るためには、まず以下のようにして下さい
+.nf
+
+ yyrestart( yyin );
+
+.fi
+この呼び出しにより入力バッファは捨てられることに注意して下さい;
+通常これは対話的スキャナでは問題ではありません。
+.IP
+また、C++ スキャナクラスはリエントラント
+.I です
+ので、C++ を使用できるのなら、C++ を使用すべきです。
+前述の "C++ スキャナの生成" を参照して下さい。
+.IP -
+.B output()
+はサポートされていません。
+.B ECHO
+マクロからの出力はファイルポインタ
+.I yyout
+(デフォルトでは
+.I 標準出力
+)に対して行われます。
+.IP
+.B output()
+は POSIX 仕様にはありません。
+.IP -
+.I lex
+は排他的開始条件 (%x) をサポートしませんが、これは POSIX 仕様にあります。
+.IP -
+定義を展開する時、
+.I flex
+では括弧で括ります。
+lex では以下は:
+.nf
+
+ NAME [A-Z][A-Z0-9]*
+ %%
+ foo{NAME}? printf( "Found it\\n" );
+ %%
+
+.fi
+文字列 "foo" にはマッチしません。
+なぜなら展開されたマクロはルール "foo[A-Z][A-Z0-9]*?" と等価になり、
+優先度にて `?' は "[A-Z0-9]*" と結び付きます。
+.I flex
+ではルールが展開されると "foo([A-Z][A-Z0-9]*)?" となり、
+文字列 "foo" がマッチします。
+.IP
+.B ^
+で始まるか
+.B $
+で終る定義は、展開時に括弧で括らず、
+これらのオペレータが定義において特別な意味を失わないようにすることに
+注意して下さい。
+しかし
+.B <s>, /,
+.B <<EOF>>
+オペレータは
+.I flex
+の定義では使用できません。
+.IP
+.B \-l
+を使用すると、
+.I lex
+の振舞いと同じく定義を括弧で括りません。
+.IP
+POSIX 仕様では、定義を括弧で括ります。
+.IP -
+.I lex
+の実装によっては、
+ルールのパターンの右側に空白がある場合、
+ルールのアクションを別の行から始めることを許します:
+.nf
+
+ %%
+ foo|bar<space here>
+ { foobar_action(); }
+
+.fi
+.I flex
+はこの機能をサポートしません。
+.IP -
+.I lex
+の
+.B %r
+(Ratfor スキャナの生成)オプションはサポートされていません。
+これは POSIX 仕様には含まれません。
+.IP -
+スキャナを
+.B %array
+を使用して構築したのではない限り、
+.B unput()
+呼び出し後には、次のトークンにマッチするまで
+.I yytext
+は未定義です。
+これは
+.I lex
+にも POSIX 仕様にも当てはまりません。
+.B \-l
+オプションを指定するとこの非互換性を取り除きます。
+.IP -
+.B {}
+(数値範囲)オペレータの優先度が異なります。
+.I lex
+は "abc{1,3}" を "1 度か 2 度か 3 度の 'abc' にマッチ" と解釈しますが、
+.I flex
+は "'ab' に 1 度か 2 度か 3 度の 'c' が続くものにマッチ" と解釈します。
+後者が POSIX 仕様に合致します。
+.IP -
+.B ^
+オペレータの優先度が異なります。
+.I lex
+は "^foo|bar" を "行頭の 'foo' か任意位置の 'bar' にマッチ" と解釈しますが、
+.I flex
+は "行頭の 'foo' か 'bar' にマッチ" と解釈します。
+後者が POSIX 仕様に合致します。
+.IP -
+.I lex
+でサポートされている
+.B %a
+等の特別なテーブルサイズの宣言は
+.I flex
+スキャナでは不要です;
+.I flex
+はこれらを無視します。
+.IP -
+.I flex
+と
+.I lex
+のどちらでもスキャナを使用可能に書けるように、
+.bd
+FLEX_SCANNER
+という名前を定義します。
+スキャナを生成した
+.I flex
+のバージョンを表す
+.B YY_FLEX_MAJOR_VERSION
+と
+.B YY_FLEX_MINOR_VERSION
+を、スキャナは含みます
+(例えば 2.5 リリースではこれらはそれぞれ 2 と 5 になります)。
+.PP
+以下の
+.I flex
+の機能は
+.I lex
+および POSIX 仕様には含まれません:
+.nf
+
+ C++ スキャナ
+ %option
+ 開始条件スコープ
+ 開始条件スタック
+ 対話的/非対話的スキャナ
+ yy_scan_string() 等
+ yyterminate()
+ yy_set_interactive()
+ yy_set_bol()
+ YY_AT_BOL()
+ <<EOF>>
+ <*>
+ YY_DECL
+ YY_START
+ YY_USER_ACTION
+ YY_USER_INIT
+ #line ディレクティブ
+ アクションの周りの %{}
+ 単一行における複数のアクション
+
+.fi
+さらにほぼ全ての flex フラグです。
+リストの最後の機能の意味は、
+.I flex
+では複数のアクションをセミコロンで区切って同一行に記述可能ですが、
+.I lex
+では次の
+.nf
+
+ foo handle_foo(); ++num_foos_seen;
+
+.fi
+は (驚くべきことに) 次のように切り詰められるということです。
+.nf
+
+ foo handle_foo();
+
+.fi
+.I flex
+はアクションを切り詰めません。
+ブレースで括られないアクションは単純に行末で終了します。
+.SH 診断
+.PP
+.I warning, rule cannot be matched
+常に同じテキストにマッチするルールが前にあるので、
+与えられたルールがマッチしません。
+例えば以下の "foo" は "全てを捕まえる" ルールの後ろにありますので
+決してマッチしません:
+.nf
+
+ [a-z]+ got_identifier();
+ foo got_foo();
+
+.fi
+スキャナ中で
+.B REJECT
+を使用するとこの警告を抑制します。
+.PP
+.I warning,
+.B \-s
+.I
+option given but default rule can be matched
+(おそらくある特定の開始条件のもとでは)
+デフォルトルール (任意の一文字にマッチする) しか特定の入力に
+対してはマッチしないことがあります。
+.B \-s
+を指定しているので、おそらくそうなりません。
+.PP
+.I reject_used_but_not_detected undefined
+あるいは
+.I yymore_used_but_not_detected undefined -
+これらのエラーは コンパイル時に起きます。スキャナが
+.B REJECT
+もしくは
+.B yymore()
+を使っていますが
+.I flex
+がそのことに気づかなかったということです。
+つまり、
+.I flex
+は最初の 2 つの部分を探しても
+これらのアクションの出現を見つけられなかったのですが、
+実際には何らかの方法
+(例えば #include ファイルを介して)でこれらが記述されていた、ということです。
+.B %option reject
+か
+.B %option yymore
+を使用して、flex にこれらの機能を実際に使用していることを教えて下さい。
+.PP
+.I flex scanner jammed -
+.B \-s
+でコンパイルされたスキャナが、どのルールにもマッチしない
+入力文字列に遭遇しました。
+内部的な問題に起因してこのエラーが起こることもあります。
+.PP
+.I token too large, exceeds YYLMAX -
+スキャナが
+.B %array
+を使っている場合に、あるルールが定数
+.B YYLMAX
+(デフォルトで 8K バイト) より大きな文字列とマッチしました。
+.I flex
+の入力ファイルの定義部で
+.B YYLMAX
+を #define することで値を大きくできます。
+.PP
+.I scanner requires \-8 flag to
+.I use the character 'x' -
+スキャナの記述に 8 ビットの文字
+.I 'x'
+を識別する部分があり、
+.B \-Cf
+もしくは
+.B \-CF
+のテーブル圧縮オプションのためにデフォルトの 7 ビットになっている
+にもかかわらず、
+\-8 オプションをつけていないということです。
+詳細は
+.B \-7
+フラグのオプションの議論を参照して下さい。
+.PP
+.I flex scanner push-back overflow -
+.B unput()
+でテキストを戻しすぎたため、スキャナのバッファは
+戻したテキストと現トークンを
+.B yytext
+に保てません。
+この場合、理想的にはスキャナが動的にバッファの大きさを変えるべきですが、
+現在のところそうなってはいません。
+.PP
+.I
+input buffer overflow, can't enlarge buffer because scanner uses REJECT -
+スキャナは非常に大きなトークンのマッチを調べていて、入力バッファを
+拡張する必要が起きました。しかしながら、バッファの拡張は
+.B
+REJECT
+を使うスキャナでは働きません。
+.PP
+.I
+fatal flex scanner internal error--end of buffer missed -
+スキャナが使用しているフレームから(を越えて)ロングジャンプした後、
+再度スキャナに入った場合に起こります。
+再度スキャナに入る前に:
+.nf
+
+ yyrestart( yyin );
+
+.fi
+を使うか、前述のように C++ スキャナクラスを使用するようにして下さい。
+.PP
+.I too many start conditions in <> construct! -
+存在するより多くの開始条件を <> 中に記載しました
+(少なくとも一つを二度記載しました)。
+.SH 関連ファイル
+.TP
+.B \-ll
+スキャナがリンクしなければならないライブラリ。
+.TP
+.I lex.yy.c
+生成されたスキャナ(システムによっては
+.I lexyy.c
+という名前になります)。
+.TP
+.I lex.yy.cc
+.B -+
+を使った時に作成された C++ スキャナクラス。
+.TP
+.I <FlexLexer.h>
+C++ スキャナベースクラス
+.B FlexLexer
+とその導出クラス
+.B yyFlexLexer
+を定義するヘッダファイル。
+.TP
+.I flex.skl
+スケルトンスキャナ。
+このファイルは flex の実行時ではなく、flex を構築する時のみ利用されます。
+.TP
+.I lex.backup
+.B \-b
+フラグ用のバックアップ情報(システムによっては
+.I lex.bck
+という名前になります)。
+.SH 欠陥 / バグ
+.PP
+右文脈(trailing context)パターンの中には、正しくマッチせず
+警告メッセージ ("dangerous trailing context") を出すものがあります。
+これらのパターンは、
+ルールの最初の部分が 2番目の頭の部分とマッチするようなものです。
+例えば "zx*/xy*" の場合、'x*' は右文脈の頭の 'x' とマッチします。
+(POSIX ドラフトではそのようなパターンにマッチするテキストは
+未定義であると述べていることに注意して下さい。)
+.PP
+右文脈の中には、実際には固定長であるのにそうとは解釈されないものがあり、
+上に述べた性能の低下が起こります。
+特に、 '|' や {n} (例えば "foo{3}") は常に可変長であると解釈されます。
+.PP
+右文脈と特別なアクション '|' を組み合わせると
+.I 固定の
+右文脈がよりコストのかかる
+.I 可変の
+右文脈となります。例えば、次のようなものです:
+.nf
+
+ %%
+ abc |
+ xyz/def
+
+.fi
+.PP
+.B %array
+もしくは
+.B \-l
+オプションを指定しない場合、
+.B unput()
+を使うと yytext と yyleng を破壊します。
+.PP
+NUL のパターンマッチングは他の文字の比較よりかなり遅くなっています。
+.PP
+入力バッファの動的な大きさの再調整は時間がかかります。これは現トークン
+(一般に巨大)までのマッチした全テキストの再スキャンを伴うためです。
+.PP
+入力のバッファリングと先読みのため、 <stdio.h> ルーチンと
+混合して使うことが出来ません。例えば、
+.B getchar()
+と
+.I flex
+のルールはうまく行きません。代わりに
+.B input()
+を使って下さい。
+.PP
+.B \-v
+オプションで表示される全テーブルエントリには、
+どのルールがマッチしたのかを決定するのに必要なテーブルエントリ数が
+含まれていません。エントリの数はスキャナが
+.B REJECT
+を使っていないときには DFA 状態数に等しく、
+使っているときには DFA 状態数よりいくらか大きくなります。
+.PP
+.B REJECT
+がオプション
+.B \-f
+もしくは
+.B \-F
+とともに使えません。
+.PP
+.I flex
+の内部アルゴリズムについてのドキュメントが必要です。
+.SH 関連項目
+.PP
+lex(1), yacc(1), sed(1), awk(1).
+.PP
+John Levine, Tony Mason, and Doug Brown,
+.I Lex & Yacc,
+O'Reilly and Associates.
+第 2 版を入手すること。
+.PP
+M. E. Lesk and E. Schmidt,
+.I LEX \- Lexical Analyzer Generator
+.PP
+Alfred Aho, Ravi Sethi and Jeffrey Ullman,
+.I Compilers: Principles, Techniques and Tools,
+Addison-Wesley (1986).
+.I flex
+で使用しているパターンマッチング技法を解説している(決定性オートマトン)。
+.SH 作者
+Vern Paxson が多くのアイディアとインスピレーションを得る助けを
+Van Jacobson から受けました。
+オリジナルバージョンは Jef Poskanzer が作成しました。
+高速テーブル表現は Van Jacobson のデザインの部分実装です。
+この実装は Kevin Gong と Vern Paxson が行いました。
+.PP
+多くの
+.I flex
+ベータテスタ、フィードバッカ、コントリビュータ、特に Francois Pinard,
+Casey Leedom,
+Robert Abramovitz,
+Stan Adermann, Terry Allen, David Barker-Plummer, John Basrai,
+Neal Becker, Nelson H.F. Beebe, benson@odi.com,
+Karl Berry, Peter A. Bigot, Simon Blanchard,
+Keith Bostic, Frederic Brehm, Ian Brockbank, Kin Cho, Nick Christopher,
+Brian Clapper, J.T. Conklin,
+Jason Coughlin, Bill Cox, Nick Cropper, Dave Curtis, Scott David
+Daniels, Chris G. Demetriou, Theo Deraadt,
+Mike Donahue, Chuck Doucette, Tom Epperly, Leo Eskin,
+Chris Faylor, Chris Flatters, Jon Forrest, Jeffrey Friedl,
+Joe Gayda, Kaveh R. Ghazi, Wolfgang Glunz,
+Eric Goldman, Christopher M. Gould, Ulrich Grepel, Peer Griebel,
+Jan Hajic, Charles Hemphill, NORO Hideo,
+Jarkko Hietaniemi, Scott Hofmann,
+Jeff Honig, Dana Hudes, Eric Hughes, John Interrante,
+Ceriel Jacobs, Michal Jaegermann, Sakari Jalovaara, Jeffrey R. Jones,
+Henry Juengst, Klaus Kaempf, Jonathan I. Kamens, Terrence O Kane,
+Amir Katz, ken@ken.hilco.com, Kevin B. Kenny,
+Steve Kirsch, Winfried Koenig, Marq Kole, Ronald Lamprecht,
+Greg Lee, Rohan Lenard, Craig Leres, John Levine, Steve Liddle,
+David Loffredo, Mike Long,
+Mohamed el Lozy, Brian Madsen, Malte, Joe Marshall,
+Bengt Martensson, Chris Metcalf,
+Luke Mewburn, Jim Meyering, R. Alexander Milowski, Erik Naggum,
+G.T. Nicol, Landon Noll, James Nordby, Marc Nozell,
+Richard Ohnemus, Karsten Pahnke,
+Sven Panne, Roland Pesch, Walter Pelissero, Gaumond
+Pierre, Esmond Pitt, Jef Poskanzer, Joe Rahmeh, Jarmo Raiha,
+Frederic Raimbault, Pat Rankin, Rick Richardson,
+Kevin Rodgers, Kai Uwe Rommel, Jim Roskind, Alberto Santini,
+Andreas Scherer, Darrell Schiebel, Raf Schietekat,
+Doug Schmidt, Philippe Schnoebelen, Andreas Schwab,
+Larry Schwimmer, Alex Siegel, Eckehard Stolz, Jan-Erik Strvmquist,
+Mike Stump, Paul Stuart, Dave Tallman, Ian Lance Taylor,
+Chris Thewalt, Richard M. Timoney, Jodi Tsai,
+Paul Tuinenga, Gary Weik, Frank Whaley, Gerhard Wilhelms, Kent Williams, Ken
+Yap, Ron Zellar, Nathan Zelle, David Zuhn,
+および私の最低のメールアーカイブ能力から滑り落ちた方々、
+それらの方々の協力にも同様に感謝します。
+.PP
+Keith Bostic, Jon Forrest, Noah Friedman,
+John Gilmore, Craig Leres, John Levine, Bob Mulcahy, G.T.
+Nicol, Francois Pinard, Rich Salz, Richard Stallman
+には多くの悩みの分散に関して感謝します。
+.PP
+Esmond Pitt と Earle Horton には 8 ビット文字サポートに関して;
+Benson Margulies と Fred Burke には C++ サポートに関して;
+Kent Williams と Tom Epperly には C++ クラスサポートに関して;
+Ove Ewerlid には NUL のサポートに関して;
+Eric Hughes には複数バッファのサポートに関して、それぞれ感謝します。
+.PP
+この作品は当初、私が CA Berkeley の Lawrence Berkeley Laboratory
+における Real Time Systems Group にいた時に作成されました。
+私に協力してくれた方々に感謝します。
+.PP
+コメントは vern@ee.lbl.gov に送って下さい。
diff --git a/ja/man/man1/limits.1 b/ja/man/man1/limits.1
new file mode 100644
index 0000000000..c2b15f0db9
--- /dev/null
+++ b/ja/man/man1/limits.1
@@ -0,0 +1,298 @@
+.\" Copyright (c) 1996 David Nugent <davidn@blaze.net.au>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, is permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice immediately at the beginning of the file, without modification,
+.\" this list of conditions, and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. This work was done expressly for inclusion into FreeBSD. Other use
+.\" is permitted provided this notation is included.
+.\" 4. Absolutely no warranty of function or purpose is made by the author
+.\" David Nugent.
+.\" 5. Modifications may be freely made to this file providing the above
+.\" conditions are met.
+.\"
+.\" %Id: limits.1,v 1.2.2.2 1997/07/22 07:22:48 charnier Exp %
+.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab %
+.\"
+.Dd January 15, 1996
+.Dt LIMITS 1
+.Os FreeBSD
+.Sh 名称
+.Nm limits
+.Nd リソースの制限値の設定および表示
+.Sh 書式
+.Nm limits
+.Op Fl C Ar class
+.Op Fl SHB
+.Op Fl ea
+.Op Fl cdflmnstu Op val
+.Nm limits
+.Op Fl C Ar class
+.Op Fl SHB
+.Op Fl cdflmnstu Op val
+.Op Fl E
+.Op Ar name=value ...
+.Op Ar command
+.Nm limits
+.Op Fl U Ar user
+.Op Fl SHB
+.Op Fl ea
+.Op Fl cdflmnstu Op val
+.Nm limits
+.Op Fl U Ar user
+.Op Fl SHB
+.Op Fl cdflmnstu Op val
+.Op Fl E
+.Op Ar name=value ...
+.Op Ar command
+.Sh 解説
+.Nm limits
+はカーネルのリソース制限の表示および設定を行ないます。また、
+.Xr env 1
+のように環境変数を設定して、プログラムを選択したリソースで動作させるこ
+ともできます。
+.Nm limits
+コマンドは以下の 3 通りの使い方ができます:
+.Pp
+.Bl -hang -width indent
+.It Nm limits Op Ar limitflags
+.Op Ar name=value
+.Ar command
+.Pp
+この使い方では
+.Ar limitflags
+にしたがって制限をセットし、オプションで
+.Ar name=value
+のペアで与えられた環境変数をセットし、指定されたコマンドを実行します。
+.It Nm limits Op Ar limitflags
+.Pp
+この使い方ではリソースの設定の値は実際には設定せずに、設定値を
+.Ar limitflags
+にしたがって決定し、標準出力に出力します。
+デフォルトでは、呼び出しプロセスにおいて有効な
+現在のカーネルのリソースの設定値を出力します。
+.Fl C Ar class
+や
+.Fl U Ar user
+フラグを使って、ログイン能力データベース
+.Xr login.conf 5
+で設定されている、ログインクラスのリソース制限エントリによって変更され
+る現在のリソース設定を表示することもできます。
+.It Nm limits Fl e Op Ar limitflags
+.Pp
+この使い方では
+.Ar limitflags
+にしたがってリソースの設定値を決定しますが、実際には設定は行ないません。
+前の使い方のように、これらの設定値を標準出力しますが、
+シェルをコールするのに都合の良いように
+.Em eval
+の形式で出力します。
+コールされるシェルは、親プロセスの
+.Pa /proc
+ファイルシステム中のエントリを調べて決定されます。
+もし、シェルが判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc
+のいずれか)、
+.Nm limits
+は 'limit' もしくは 'ulimit' コマンドをそのシェルが解釈できるフォーマットで
+出力します。シェル名が決定できなかった場合は、
+.Pa /bin/sh
+によって使われる 'ulimit' 形式で出力します。
+.Pp
+これはスクリプトで制限を設定したり、
+デーモンや他のバックグランドタスクを
+リソースを制限して起動したりする場合に非常に便利な機能です。
+また、ログインクラスデータベースを設定し中央データベースを保守することにより、
+最大使用リソースをグローバルに設定することができるという利点があります。
+.Pp
+.Nm limits
+は通常
+シェルスクリプト中では次のようにバッククォーテーションに囲み評価するよ
+うにして使われます。
+.Pp
+.Dl eval `limits -e -C daemon`
+.Pp
+これで
+.Nm limits
+の出力が評価され、現在のシェルで設定されます。
+.El
+.Pp
+上記の中で指定された limitflags の値には以下のオプションのうちの
+1 つ以上のものが含まれます:
+.Pp
+.Bl -tag -width "-d [limit]"
+.It Fl C Ar class
+現在のリソースの値をもとに、ログインクラス "class" で適用される
+リソースエントリによって変更したものを使います。
+.It Fl U Ar user
+現在のリソースの値をもとに、"user" が属するログインクラスに適用される
+リソースエントリによって変更したものを使います。
+user がどのクラスにも属していない場合、"default" クラスが存在すればそ
+のリソース能力が使用され、もしそのユーザがスーパユーザアカウントであれ
+ば、"root" クラスが使用されます。
+.It Fl S
+リソースの "soft" (もしくは現在の) 制限を表示もしくは設定します。
+このスイッチに続いて指定される制限の設定は、
+.Fl H
+や
+.Fl B
+フラグでオーバライドしない限り、soft リミットに対する設定となります。
+.It Fl H
+リソースの "hard" (もしくは最大の) 制限を表示もしくは設定します。
+このスイッチに続いて指定される制限の設定は、
+.Fl S
+や
+.Fl B
+フラグでオーバライドしない限り、hard リミットに対する設定となります。
+.It Fl B
+リソースの "soft" (現在の) および "hard" (最大の) 制限を表示もしくは設
+定します。
+このスイッチに続いて指定される制限の設定は、
+.Fl S
+や
+.Fl H
+フラグでオーバライドしない限り、soft リミットおよび hard リミットの
+両者に対する設定となります。
+.It Fl e
+出力を "eval mode" (評価モード) の書式にします。
+これは表示モードでのみ有効であり、コマンドを実行するときには使えません。
+出力に使用される正確なシンタックスは
+.Nm limits
+が起動されたシェルのタイプに依存します。
+.It Fl c Op Ar limit
+.Em coredumsize
+のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
+値に 0 を指定するとコアダンプしないようになります。
+.It Fl d Op Ar limit
+.Em datasize
+のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。
+.It Fl f Op Ar limit
+.Em filesize
+のリソースの制限を選択もしくは設定します。
+.It Fl l Op Ar limit
+.Em memorylocked
+のリソースの制限を選択もしくは設定します。
+.It Fl m Op Ar limit
+.Em memoryuse
+のサイズの制限を選択もしくは設定します。
+.It Fl n Op Ar limit
+.Em openfiles
+のリソースの制限を選択もしくは設定します。
+.It Fl s Op Ar limit
+.Em stacksize
+のリソースの制限を選択もしくは設定します。
+.It Fl t Op Ar limit
+.Em cputime
+のリソースの制限を選択もしくは設定します。
+.It Fl u Op Ar limit
+.Em maxproc
+のリソースの制限を選択もしくは設定します。
+.Pp
+上記のフラグのセットにおける有効な 'limit' の値は、無限値 (もしくは
+カーネルにおいて定義されている最大値) を設定する場合は文字列 'infinity'
+もしくは 'inf' を指定し、それ以外の場合は接尾子つきの数字を指定しま
+す。サイズに関する値はデフォルトではバイトでの値となります。また以下の
+接尾子の 1 つを付けることによってその単位となります。
+.Pp
+.Bl -tag -offset indent -width "xxxx" -compact
+.It b
+512 バイトブロック。
+.It k
+キロバイト (1024 バイト)。
+.It m
+メガバイト (1024*1024 バイト)。
+.It g
+ギガバイト。
+.It t
+テラバイト。
+.El
+.Pp
+.Em cputime
+リソースについてはデフォルトでは秒による値となります。
+また以下の接尾子を付加することにより、それぞれの単位で指定可能です。
+有効な複数の単位指定を並べると、その和を指定したことになります:
+.Bl -tag -offset indent -width "xxxx" -compact
+.It s
+秒。
+.It m
+分。
+.It h
+時間。
+.It d
+日。
+.It w
+週。
+.It y
+年 (365 日)。
+.El
+.Pp
+.It Fl E
+.Sq Fl E
+オプションを使用すると
+.Nm limits
+は継承している環境を完全に無視します。
+.It Fl a
+このオプションは特定のリソースの設定が指定されていても、
+全てのリソースの設定を表示させます。
+例えば、USENET ニュースシステムの立ち上げ時にコアダンプを無効にしたい
+が、'news' アカウントに適用されるその他の全てのリソースの設定を行ない
+たい場合は、次のように使います:
+.Pp
+.Dl eval `limits -U news -aBec 0`
+.Pp
+.Xr setrlimit 3
+コールのように、スーパユーザのみが "hard" リソース制限を引き上げるこ
+とができます。
+root 以外のユーザはそれを引き下げるか、リソースの "soft" リミットを
+hard リミットの範囲で変更することができます。
+プログラムを実行する場合、
+.Nm limits
+が hard リミットを引き上げようとすると、それは致命的エラーとして扱われ
+ます。
+.El
+.Sh 診断
+.Nm limits
+はユーザが何らかの方法で誤使用をすると EXIT_FAILURE で終了します。誤
+使用には不正なオプションを使用した場合や、同時に設定と表示のオプション
+を指定した場合、または
+.Fl e
+がプログラムを起動する時に使われた場合などが含まれます。
+表示モードもしくは評価モードにて実行されたとき、
+.Nm limits
+は EXIT_SUCCESS の終了ステータスで終了します。
+コマンドモードで実行されコマンドの実行が成功したときには、終了ステータスは
+実行されたプログラムが返すものになります。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr env 1 ,
+.Xr limit 1 ,
+.Xr sh 1 ,
+.Xr ulimit 1 ,
+.Xr getrlimit 3 ,
+.Xr setrlimit 3 ,
+.Xr login_cap 3 ,
+.Xr login.conf 5
+.Sh バグ
+明らかな理由により、
+.Nm limits
+は等号 (``='') がその名称に含まれるコマンドを扱うことができません。
+.Pp
+評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって
+出力が正しいシンタックスとなるためには、/proc ファイルシステムがインス
+トールされマウントされていなければなりません。
+デフォルトの出力は /bin/sh にとって有効なものとなります。そのため、
+/proc マウント前に
+.Nm limits
+を使用できるのは、標準の bourne シェルスクリプト中でのみとなります。
+.Pp
+.Nm limits
+は出力や表示するリソースの設定が現在のユーザで有効であるかや、設定可能
+であるかについては確認を行ないません。スーパユーザアカウントのみが
+hard リミットを引き上げることができます。与えられた値が大きすぎる場合は
+FreeBSD カーネルは何も出力せずにその制限値を指定された値より低く設定
+します。
diff --git a/ja/man/man1/lint.1 b/ja/man/man1/lint.1
new file mode 100644
index 0000000000..72a3392863
--- /dev/null
+++ b/ja/man/man1/lint.1
@@ -0,0 +1,530 @@
+.\" %NetBSD: lint.1,v 1.3 1995/10/23 13:45:31 jpo Exp %
+.\"
+.\" Copyright (c) 1994, 1995 Jochen Pohl
+.\" All Rights Reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Jochen Pohl for
+.\" The NetBSD Project.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd August 28, 1994
+.\" jpman %Id: lint.1,v 1.3 1997/08/19 00:42:59 h-nokubi Stab %
+.Dt LINT 1
+.Os FreeBSD
+.Sh 名称
+.Nm lint
+.Nd C プログラムの検証を行う
+.Sh 書式
+.Nm lint
+.Op Fl abceghprvxzHFV
+.Op Fl s Ns | Ns Fl t
+.Op Fl i Ns | Ns Fl nu
+.Op Fl D Ns Ar name Ns Op =def
+.Op Fl U Ns Ar name
+.Op Fl I Ns Ar directory
+.Op Fl L Ns Ar directory
+.Op Fl l Ns Ar library
+.Op Fl o Ns Ar outputfile
+.Ar
+.Nm lint
+.Op Fl abceghprvzHFV
+.Op Fl s Ns | Ns Fl t
+.Fl C Ns Ar library
+.Op Fl D Ns Ar name Ns Op =def
+.Op Fl I Ns Ar directory
+.Op Fl U Ns Ar name
+.Ar
+.Sh 解説
+.Nm
+は指定された C のプログラムファイルを解析し、
+バグの可能性がある部分、
+移植性がないと考えられる部分、
+あるいは無駄なコードと考えられる部分
+の検出を試みます。
+加えて、
+.Nm
+は C コンパイラより厳密な型チェックを行います。
+.Nm
+は最初のフェーズでシンボル
+.Sy lint
+を定義して C プリプロセッサを起動します。
+これにより、ある疑わしいコード部分を
+.Nm lint
+に変更あるいはスキップさせることができます。
+それゆえ、
+.Nm lint
+がチェックする全てのコードにおいては、シンボル
+.Sy lint
+は予約語とみなすべきです。
+.Pp
+現在
+.Nm lint
+が指摘する問題点は以下のものです。
+到達しない文、
+先頭から入らないループ、
+宣言したものの使用しない変数、
+定数値となる論理式。
+関数呼び出しに関しては以下のような矛盾点が指摘されます。
+あるところでは値を返すが別の場所では値を返さない関数の呼び出し、
+引数の個数が変化する関数の呼び出し、
+関数側で想定していない型の引数を渡す関数呼び出し、
+返値を使用しない関数呼び出し、
+返値のない関数の存在しない返値を使用している関数呼び出し。
+.Pp
+ファイル名引数のうち、末尾が
+.Pa \&.c
+で終わるものは C のソースファイルとみなされます。
+ファイル名が
+.Pa \&.ln
+で終わるものは、以前
+.Nm lint
+を
+.Fl i ,
+.Fl o
+あるいは
+.Fl C
+オプション付きで起動した際の結果を格納したファイルとみなされます。
+.Pa \&.ln
+ファイルは、
+.Xr cc 1
+が
+.Pa \&.c
+から生成するオブジェクトファイル
+.Pa \&.o
+に相当します。
+.Nm
+はまた、
+.Fl l
+オプションによって指定された特別なライブラリを受け付けます。
+これは、ライブラリ関数と変数の定義を含むものです。
+.Pp
+.Nm
+は全ての
+.Pa \&.c , \&.ln
+ファイルと
+.Pa llib-l Ns Ar library Ns Pa \&.ln
+(lint ライブラリ)ファイルを受け取り、
+それらをコマンドラインで指定した順に処理します。
+デフォルトでは、
+.Nm
+は標準 C lint ライブラリ
+.Pq Pa llib-lc.ln
+をファイルリストの最後に付け加えます。
+.Fl i
+オプションが指定されていれば、
+.Pa \&.ln
+ファイルは無視されます。
+また、
+.Fl o
+オプションあるいは
+.Fl i
+オプションが指定されていれば、
+.Pa llib-l Ns Ar library Ns Pa \&.ln
+ファイルは無視されます。
+.Fl i
+オプションが指定されて
+.Em いなければ、
+.Nm
+の 2番目の
+パスでこのファイルリストが相互一貫性チェックに用いられます。
+このとき、
+もし問題箇所が与えられたソースファイルからではなく
+インクルードファイルのひとつに端を発するものならば、
+表示されるソースファイル名の後ろに疑問符が付けられます。
+.Pp
+.Sy オプション
+.Bl -tag -width Fl
+.It Fl a
+.Sy long
+型以外の変数に対する
+.Sy long
+値の代入を報告します。
+.It Fl aa
+.Fl a
+に加え、
+小さい型への暗黙の型変換を引き起こす
+.Em あらゆる
+整数値代入を報告します。
+.It Fl b
+到達し得ない
+.Sy break
+文を報告します。
+このオプションはデフォルトでは有効ではありません。
+なぜなら、ほとんどの
+.Xr lex 1
+および多くの
+.Xr yacc 1
+出力はこのような break を数多く含むからです。
+.It Fl c
+移植性に問題のあるキャストについて報告します。
+.It Fl e
+.Sy enum Ns 型
+に対する不正操作や
+.Sy enum
+型と
+.Sy 整数
+型間の組み合わせについて報告します。
+.It Fl g
+.Xr gcc 1
+が C 言語に対して行っているいくつかの拡張機能についての警告を抑制します。
+現在のところ、これに該当するのは以下のものです。
+自動変数の集合型初期化式に現れる非定数式、
+void 型へのポインタに対する算術操作、
+サイズがゼロの構造体、
+左辺値でない配列の添字付け、
+旧形式の関数宣言を無効化するプロトタイプ宣言、
+long long 整数型。
+.Fl g
+オプションはまた、キーワード
+.Sy asm
+および
+.Sy inline
+を有効にします
+(
+.Sy asm
+および
+.Sy inline
+の先頭にアンダースコア(`_')を付けたキーワードは
+常に利用可能です)。
+.It Fl h
+いくつかの発見的テストを適用して
+バグを発見し、スタイルを洗練し、無駄を省くことを試みます。
+.It Fl i
+コマンドラインの各
+.Pa \&.c
+ファイルに対して
+.Pa \&.ln
+ファイルを生成します。
+これらの
+.Pa \&.ln
+ファイルは
+.Nm lint
+の最初のパスの結果に過ぎず、
+関数間の一貫性チェックは行われません。
+.It Fl n
+標準ライブラリに対する一貫性チェックを行いません。
+.It Fl p
+他の C 方言への移植性に関するチェックを試みます。
+.It Fl r
+重複した宣言が見つかった場合、前回の宣言の位置を報告します。
+.It Fl s
+厳密な ANSI C モードでチェックします。
+ANSI C で必要とされる警告およびエラーを出力します。
+従来の C と ANSI C とで異なる振る舞いをする構造に対しての警告は行いません。
+.Fl s
+オプション指定時は、
+プリプロセッサマクロとして
+.Li __STRICT_ANSI__
+が定義されます。
+.It Fl t
+従来の C モードでチェックします。
+このモードでは
+.Li __STDC__
+は定義されません。
+従来の C で許可されない構造に対して警告が出力されます。
+従来の C と ANSI C とで異なる振る舞いをする構造に対しての警告は抑制されます。
+マシンタイプ(例:
+.Li sun3 Ns )
+およびマシンアーキテクチャ(例:
+.Li m68k Ns )
+を記述したプリプロセッサマクロは、
+先頭および末尾のアンダースコア無しで定義されます。
+キーワード
+.Sy const Ns ,
+.Sy volatile
+および
+.Sy signed
+は従来の C モードでは利用できません(しかし、先頭にアンダースコアを
+付したもう一方のキーワードは依然利用可能です)。
+.It Fl u
+使用されているが定義されていない、あるいは定義されているが使用されていない
+関数および外部変数についての報告を行いません
+(この機能は、大規模プログラムを構成する一部のファイルに対して
+.Nm
+を走らせる場合に向いています)。
+.It Fl v
+関数中の未使用引数に関する報告を抑制します。
+.It Fl x
+.Sy extern
+宣言で参照されているが一度も使用されていない変数について報告します。
+.It Fl z
+定義されていない構造体に関する報告を抑制します
+(例えば、中身を関知せずに構造体へのポインタを用いる場合など)。
+.It Fl C Ns Ar library
+.Pa llib-l Ns Ar library Ns Pa .ln
+という名前の
+.Nm
+ライブラリを作成します。
+このライブラリは、全ての入力ファイル
+.Pa \&.c
+および
+.Pa \&.ln
+から作られます。
+これらのファイルに含まれる全ての大域関数および大域変数の宣言が
+新しく作られるライブラリに書き出された後、
+.Nm
+は
+.Fl l
+オプションで指定されたライブラリを含めた全ての入力ファイルに対して
+相互一貫性のチェックを行います。
+.It Fl D Ns Ar name Ns Op =def
+.Xr cpp 1
+のために
+.Li #define
+ディレクティブと同様にしてマクロ
+.Ar name
+を定義します。
+右辺値が指定されない場合、マクロ
+.Ar name
+は 1 と定義されます。
+.It Fl I Ns Ar directory
+インクルードファイルを検索するディレクトリリストに
+.Ar directory
+を追加します。
+.It Fl l Ns Ar library
+lint ライブラリ
+.Pa llib-l Ns Ar library Ns Pa \&.ln
+をインクルードします。
+.It Fl L Ns Ar directory
+lint ライブラリを標準の場所から探す前に、
+.Ar directory
+および
+.Ar directory Ns Pa /lint
+の中を探します。
+.It Fl F
+ファイルのパス名全体を表示します。
+.Nm
+は通常、パスを除いたファイル名だけを表示します。
+.It Fl H
+もし問題箇所がインクルードファイルに端を発するものならば、
+.Nm
+はソースファイル名と それに続く疑問符に代えて
+インクルードファイル名を表示します。
+.It Fl o Ns Ar outputfile
+出力ファイル名を
+.Ar outputfile
+とします。
+出力ファイルは
+.Nm lint
+の2番目のパスの入力ファイルとなるものです。
+.Fl o
+オプションは単に、このファイルを指定された名前でファイルに保存します。
+同時に
+.Fl i
+オプションも指定されていれば、これらのファイルは一貫性をチェックされません。
+.Pa llib-l Ns Ar library Ns Pa \&.ln
+ファイルを作成する際には、余分なメッセージを抑制するため、
+.Fl u
+オプションの使用を推奨します。
+lint ライブラリのソースファイルが単に外部インターフェースに過ぎない場合は、
+.Fl v
+オプションを用いると便利です。
+.It Fl U Ns Ar name
+プリプロセッサが定義する全てのマクロ
+.Ar name
+を取り除きます。
+.It Fl V
+制御プログラムが C プリプロセッサおよび
+.Nm lint
+の第1 および第2 パスを実行する際のコマンドラインを表示します。
+.El
+.Pp
+.Sy 入力文法
+.Pp
+.Nm lint
+の第1 パスは標準的な C ソースファイルを読み込みます。
+.Nm
+は以下のような C のコメントをコマンドとして認識します。
+.Bl -tag -width Fl
+.It Li /* ARGSUSED Ns Ar n Li */
+最初の
+.Ar n
+個の引数に対してのみ使用チェックを行います。
+.Ar n
+を省略すると 0 と解釈されます
+(このオプションは、次の関数に対して
+.Fl v
+オプションと同様の働きをします)。
+.It Li /* CONSTCOND */ No 又は Xo
+.Li /* CONSTANTCOND */ No 又は
+.Li /* CONSTANTCONDITION */
+.Xc
+次の式に対する定数オペランドに関する報告を抑制します。
+.It Li /*\ FALLTHRU\ */ No 又は Xo
+.Li /* FALLTHROUGH */
+.Xc
+.Sy case
+あるいは
+.Sy default
+ラベルのついた文への fall through に関する報告を抑制します。
+このディレクティブはそれらのラベルの直前に置く必要があります。
+.It Li /* LINTLIBRARY */
+ファイル先頭で、このファイル中で定義される全ての関数および変数が
+.Em 使用されている
+とマークします。
+また、未使用の関数引数に関する報告も行いません。
+.It Li /* LINTED Xo
+.Op Ar comment
+.Li */ No 又は
+.Li /* NOSTRICT
+.Op Ar comment
+.Li */
+.Xc
+未使用の変数あるいは関数に関するものを除き、
+ファイル内に閉じた問題点に関する警告を抑制します。
+このディレクティブは、lint 警告が発生する場所の直前の行に置く必要があります。
+.It Li /* LONGLONG */
+long long 整数型の使用に関する報告を抑制します。
+.It Li /* NOTREACHED */
+しかるべき場所において、未到達コードに関する報告を抑制します
+(このコメントは通常、
+.Xr exit 3
+のような関数の呼び出しの直後に置きます)。
+.It Li /* PRINTFLIKE Ns Ar n Li */
+.Nm
+は最初の
+.Pq Ar n Ns No -1
+個の引数を普通にチェックします。
+.Ar n
+番目の引数は
+.Sy printf
+のフォーマット文字列と同様に解釈され、
+残りの引数をチェックするために用いられます。
+.It Li /* PROTOLIB Ns Ar n Li */
+もし
+.Ar n
+がゼロでなければ、
+.Nm
+は関数宣言プロトタイプを関数宣言として取り扱います。
+このディレクティブは
+.Li /* LINTLIBRARY */
+と共にのみ用いることができます。
+.Ar n
+がゼロの場合は、関数プロトタイプは通常通り取り扱われます。
+.It Li /* SCANFLIKE Ns Ar n Li */
+.Nm
+は最初の
+.Pq Ar n Ns No -1
+個の引数を普通にチェックします。
+.Ar n
+番目の引数は
+.Sy scanf
+のフォーマット文字列と同様に解釈され、
+残りの引数をチェックするために用いられます。
+.It Li /* VARARGS Ns Ar n Li */
+後続する関数宣言において、引数個数に関する通常のチェックを抑制します。
+最初の
+.Ar n
+個の引数のデータ型がチェックされます。
+.Ar n
+が指定されない場合は 0 と解釈されます。
+.El
+.Pp
+.Fl i
+オプションおよび
+.Fl o
+オプションを用いると、ひと組の C ソースファイルに対して
+インクリメンタルに
+.Nm
+を適用することが可能です。
+一般に、各ソースファイルに対して
+.Fl i
+オプション付きで
+.Nm
+を一度起動します。
+このとき、
+.Pa \&.c
+に対応して
+.Pa \&.ln
+ファイルが作成され、
+それらのソースファイルに関する全てのメッセージが表示されます。
+全てのソースファイルに対して個別の
+.Nm lint
+処理が済んだ後、全ての
+.Pa \&.ln
+ファイルと必要な
+.Fl l Ns Ar library
+オプションを付け、(
+.Fl i
+オプション無しで)もう一度
+.Nm
+を起動します。
+ここでファイル間の一貫性に関する問題点が表示されます。
+この方式は
+.Xr make 1
+を用いるとうまくいきます。
+.Xr make 1
+を用いると、
+前回ソースファイルの組が
+.Nm
+された後、修正のあったファイルに対してのみ
+.Nm
+を起動することができます。
+.Sh 環境変数
+.Bl -tag -width Fl
+.It Ev LIBDIR
+.Fl l Ns Ar library
+オプションで指定されたライブラリが存在するディレクトリ。
+この環境変数が定義されていない場合は、ライブラリ検索のために
+デフォルトパスとして
+.Pa /usr/libdata/lint
+が用いられます。
+.It Ev TMPDIR
+一時ファイル用のパスは通常、この環境変数をセットすることで変更できます。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /usr/libdata/lint/llib-lc.ln -compact
+.It Pa /usr/libexec/lint Ns Bq 12
+プログラム
+.It Pa /usr/libdata/lint/llib-l*.ln
+前もって作成されている様々な lint ライブラリ
+.It Pa /tmp/lint*
+一時ファイル
+.Sh 関連項目
+.Xr cc 1 ,
+.Xr cpp 1 ,
+.Xr make 1
+.Sh 作者
+Jochen Pohl
+.Sh バグ
+.Xr exit 3
+や
+.Xr longjmp 3
+および戻って来ない他の関数は正しく理解されません。
+これらは様々な不正診断の原因となります。
+.Pp
+最初の extern 宣言の前でのみ用いられる static 関数は、
+未使用であると報告されます。
+.Pp
+.Fl o
+オプションによって作られたライブラリは、のちの
+.Nm
+実行で用いた場合、
+ライブラリ作成時に報告されたある種のエラーが再度報告され、
+ライブラリ作成時に用いたオリジナルのソースファイルの行番号およびファイル名が
+エラーメッセージ中に表示されることがあります。
+そのため、lint ライブラリ作成には
+.Fl C
+オプションを用いることを推奨します。
diff --git a/ja/man/man1/lkbib.1 b/ja/man/man1/lkbib.1
new file mode 100644
index 0000000000..f426f68d92
--- /dev/null
+++ b/ja/man/man1/lkbib.1
@@ -0,0 +1,105 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.ds g \" empty
+.ds G \" empty
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.\" jpman %Id: lkbib.1,v 1.2 1997/05/13 16:17:15 horikawa Stab %
+.TH LKBIB 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+lkbib \- 文献目録データベースを検索する
+.SH 書式
+.B lkbib
+[
+.B \-v
+]
+[
+.BI \-i fields
+]
+[
+.BI \-p filename
+]
+[
+.BI \-t n
+]
+.IR key \|.\|.\|.
+.SH 解説
+.B lkbib は、
+.IR key \|.\|.\|.
+で指定されたキーを用いて文献目録データベースを検索し、
+参考文献の形式で標準出力に出力します。
+.B lkbib
+はまず
+.B -p
+オプションで指定された
+すべてのデータベースを検索し、それからデフォルトのデータベースを検索します。
+デフォルトのデータベースには、環境変数
+.SB REFER
+が設定されていればそれが、設定されていなければ
+.B /usr/share/dict/papers/Ind
+が用いられます。指定したデータベースファイル名
+.I filename
+に対応したインデックスファイル
+.IB filename .i
+(
+.BR indxbib (1)
+により作成される ) が存在すれば、それが検索されます。インデックスは、
+複数のデータベースを網羅している可能性があります。
+.SH オプション
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.BI \-p filename
+.I filename
+を検索します。複数の
+.B \-p
+オプションの指定が可能です。
+.TP
+.BI \-i string
+インデックスを持たないファイルを検索する場合、
+.I string
+に含まれる名前のフィールドの内容を無視します。
+.TP
+.BI \-t n
+キーの先頭
+.I n
+文字が指定されればよいものとして扱います。
+.I n
+の初期値は 6 です。
+.SH 環境変数
+.TP \w'\fBREFER'u+2n
+.SB REFER
+デフォルトデータベース
+.SH 関連ファイル
+.Tp \w'\fB/usr/share/dict/papers/Ind'u+2n
+.B /usr/share/dict/papers/Ind
+環境変数
+.SB REFER
+が設定されていない場合のデフォルトのデータベース名。
+.IB filename .i
+インデックスファイル。
+.SH 関連項目
+.BR refer (1),
+.BR lookbib (1),
+.BR indxbib (1)
diff --git a/ja/man/man1/ln.1 b/ja/man/man1/ln.1
new file mode 100644
index 0000000000..c0a14d663e
--- /dev/null
+++ b/ja/man/man1/ln.1
@@ -0,0 +1,167 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ln.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: ln.1,v 1.2 1997/04/15 00:24:41 mutoh Stab %
+.\" %Id: ln.1,v 1.3 1996/08/29 18:05:55 wosch Exp %
+.\"
+.Dd December 30, 1993
+.Dt LN 1
+.Os BSD 4
+.Sh 名称
+.Nm ln
+.Nd リンクファイルの作成
+.Sh 書式
+.Nm ln
+.Op Fl fs
+.Ar source_file
+.Op target_file
+.Nm ln
+.Op Fl fs
+.Ar source_file ...
+.Op target_dir
+.Sh 解説
+.Nm ln
+は新しいディレクトリエントリ(リンクファイル)を作成するユーティリティです。
+リンクファイルのモードはオリジナルファイルと同じになります。
+リンクファイルは
+.Dq ファイルの内容のコピー
+ではなく、
+.Dq ファイルを指し示すポインタ
+であり、1 つのオリジナル
+ファイルを多くのディレクトリで取り扱えるようにするのに有効です。
+リンクファイルには、ハードリンクとシンボリックリンクの 2 つの形式があり
+ます。違いは、リンクの方法です。
+.Pp
+.\" 以下の部分は原文に対応する部分が無いのでコメントアウト -- jpman J.Sakai
+.\"
+.\" ハードリンクは、オリジナルファイルのiノード番号を使ってリンクします。
+.\" このため、ファイル名の変更とは無関係にリンクを保持します。しかし、通常は
+.\" ディレクトリをリンクすることはできません。また、別のファイルシステム
+.\" (デバイス) 上のファイルに対してリンクを張ることはできません。
+.\" .Pp
+.\" シンボリックリンクは、オリジナルファイルのパス名を使ってリンクします。
+.\" ディレクトリや別のファイルシステム上のファイルへもリンクを張ることも可能
+.\" です。
+.\" .Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width flag
+.It Fl f
+.\" 以下の部分、原文に対応無し。 -- jpman J.Sakai
+.\" target_file がすでに存在する場合はリンクが失敗してしまうため、
+リンクが成功するように、target_file を削除してから
+source_file を target_file にリンクします。
+.It Fl s
+シンボリックリンクを作成します。
+.El
+.Pp
+デフォルトでは、
+.Nm ln
+は
+.Em ハードリンク
+を作成します。
+ファイルへのハードリンクはオリジナルのディレクトリエントリと区別できません。
+ファイルの参照に使われる名前にかかわらず、
+そのファイルへのいかなる修正も同じように有効です。
+通常、ハードリンクはディレクトリを指すことはできませんし、
+ファイルシステムを拡張することもできません。
+.Pp
+シンボリックリンクはリンク先ファイルの名前を保持します。
+リンクに対して
+.Xr open 2
+操作を行うと、その参照先ファイルが用いられます。
+シンボリックリンクに対して
+.Xr stat 2
+操作を行うと、参照先ファイルの情報を返します。
+リンクそのものの情報を得るには
+.Xr lstat 2
+を用いなければなりません。
+.Xr readlink 2
+呼び出しによってシンボリックリンクの内容を読むこともできます。
+シンボリックリンクによってファイルシステムを拡張したり、
+ディレクトリを参照したりすることが可能です。
+.Pp
+1つあるいは 2つの引数が与えられた場合、
+.Nm ln
+は既存のファイル
+.Ar source_file
+に対するリンクを作成します。
+.Ar target_file
+が指定された場合、リンクの名前はそれと同一になります。
+.Ar target_file
+はリンクファイルを置くディレクトリであっても構いません。
+それ以外の場合はリンクはカレントディレクトリに置かれます。
+ディレクトリ名だけが指定された場合は、
+.Ar source_file
+のパス名の最後のファイル名が指定されたものとみなします。
+.Pp
+2つ以上の引数が与えられた場合、
+.Nm ln
+はディレクトリ
+.Ar target_file
+内に指定された全てのファイルのリンクを作成します。作られるリンクの
+名前は、リンクされるファイルの名前と同じになります。
+.Pp
+.\" 以下の部分も FreeBSD 英語版には対応がない -- jpman J.Sakai
+.\" .Sh 使用例
+.\" ディスク /dev/sd0a がルートディレクトリ(/)に、/dev/sd01sf がユーザーディ
+.\" レクトリ(/usr)に、マウントされている状態で、ルートディレクトリ上のファ
+.\" イル kernel にリンクを張ろうとしたものです。
+.\" .Bd -literal -offset indent
+.\" # ls -l /kernel*
+.\" -rwxr-xr-x 1 root wheel 1139171 Art 21 04:16 kernel
+.\" # ln /kernel /kernel-link
+.\" # ls -l /kernel*
+.\" -rwxr-xr-x 2 root wheel 1139171 Art 21 04:16 kernel
+.\" -rwxr-xr-x 2 root wheel 1139171 Art 21 04:16 kernel-link
+.\" # ln /kernel /usr/kernel-link
+.\" ln: /usr/kernel-link: Cross-device link
+.\" # ln -s /kernel /usr/kernel-link
+.\" # ls -l /kernel* /usr/kernel*
+.\" -rwxr-xr-x 2 root wheel 1139171 Art 21 04:16 kernel
+.\" -rwxr-xr-x 2 root wheel 1139171 Art 21 04:16 kernel-link
+.\" lrwxr-xr-x 1 root wheel 7 Art 24 11:39 /usr/kernel-link -> /kernel
+.\" .Ed
+.Sh 関連項目
+.Xr link 2 ,
+.Xr lstat 2 ,
+.Xr readlink 2 ,
+.Xr stat 2 ,
+.Xr symlink 2 ,
+.Xr symlink 7
+.Sh 歴史
+.Nm ln
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/loadfont.1 b/ja/man/man1/loadfont.1
new file mode 100644
index 0000000000..174955c71a
--- /dev/null
+++ b/ja/man/man1/loadfont.1
@@ -0,0 +1,97 @@
+.\" Copyright (c) 1992, 1995 Hellmuth Michaelis
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Hellmuth Michaelis
+.\" 4. The name authors may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" @(#)loadfont.1, 3.20, Last Edit-Date: [Tue Apr 4 13:06:00 1995]
+.\" jpman %Id: loadfont.1,v 1.2 1997/03/29 06:19:33 horikawa Stab %
+.\"
+.Dd April 4, 1995
+.Dt LOADFONT 1
+.Sh 名称
+.Nm loadfont
+.Nd
+EGA 又は VGA ボードにフォントをロードする('pcvt' ビデオドライバ用)
+.Sh 書式
+.Nm loadfont
+.Op Fl c Ar charsetno
+.Op Fl d Ar devicefile
+.Op Fl f Ar fontfilename
+.Op Fl i
+.Sh 解説
+.Nm loadfont
+ユーティリティは、
+EGA 及び VGA ボード上の pcvt VT220 ドライバが
+正しく動作するために必要なフォントを、
+これらのボード上にロードします。
+.Pp
+オプションは以下の通りです。
+.Bl -tag -width Ds
+.It Fl c
+フォントのロード先スロットを指定します。
+フォントのダウンロード用に、EGA ボードは 4つ、VGA ボードは 8つのスロットを
+持っています。
+.It Fl d
+用いるデバイスファイルを指定します。
+.It Fl f
+ダウンロードするフォントを格納しているファイルを指定します。
+.It Fl i
+現在、どのスロットにどういうタイプのフォントがロードされているかを
+表示します。
+これはコマンドラインオプションが全く指定されていない場合の
+デフォルト動作でもあります。
+.El
+.Pp
+このユーティリティは EGA 及び VGA ボードに対してのみ利用可能です。
+MDA, HCG 及び CGA ボードは文字セットをダウンロードする機能を持っていません。
+.Sh 関連ファイル
+配布される pcvt パッケージには以下のフォントファイルが付属しています。
+
+.nf
+/usr/share/misc/pcvtfonts/vt220l.808: 8x8 IBM II フォント
+/usr/share/misc/pcvtfonts/vt220h.808: 8x8 拡張フォント
+/usr/share/misc/pcvtfonts/vt220l.810: 8x10 IBM II フォント
+/usr/share/misc/pcvtfonts/vt220h.810: 8x10 拡張フォント
+/usr/share/misc/pcvtfonts/vt220l.814: 8x14 IBM II フォント
+/usr/share/misc/pcvtfonts/vt220h.814: 8x14 拡張フォント
+/usr/share/misc/pcvtfonts/vt220l.816: 8x16 IBM II フォント
+/usr/share/misc/pcvtfonts/vt220h.816: 8x16 拡張フォント
+.fi
+.Sh 使用例
+次のコマンドライン
+.Dq Li loadfont -c0 -f/usr/share/misc/pcvtfonts/vt220l.816
+は標準 IBM 文字セット II を含む 8x16 フォントを VGA あるいは EGA ボードの
+スロット 0 にロードします。
+.Sh バグ
+既知のバグはありません。
+.Sh 関連項目
+.Xr cursor 1 ,
+.Xr scon 1 ,
+.Xr pcvt 4 ,
+.Xr ispcvt 8
+.Sh 日本語訳
+酒井 淳嗣(sakai@csl.cl.nec.co.jp): FreeBSD 向けに翻訳
diff --git a/ja/man/man1/locate.1 b/ja/man/man1/locate.1
new file mode 100644
index 0000000000..e06270cf47
--- /dev/null
+++ b/ja/man/man1/locate.1
@@ -0,0 +1,262 @@
+.\" Copyright (c) 1995 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)locate.1 8.1 (Berkeley) 6/6/93
+.\" %Id: locate.1,v 1.5.2.2 1997/04/18 11:14:30 jmg Exp %
+.\" jpman %Id: locate.1,v 1.3 1997/05/19 16:39:18 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt LOCATE 1
+.Os BSD 4.4
+.Sh 名称
+.Nm locate
+.Nd ファイル名を高速に検索する
+.Sh 書式
+.Nm
+.Op Fl Scims
+.Op Fl l Ar limit
+.Op Fl d Ar database
+pattern ...
+.Sh 解説
+.Nm locate
+はデータベースを使って全てのパスを検索し、
+.Ar pattern
+にマッチしたファイル名を表示します。
+データベースは定期的に(普通は週1回か毎日)再構築されます。
+データベースの内容は、全ユーザがアクセスすることのできる
+全てのファイル名です。
+.Pp
+.Ar pattern
+にはシェルで使われるワイルドカード
+.Po
+.Dq *
+.Dq ?
+.Dq \e
+.Dq [
+.Dq \]
+.Pc
+を使用することができます。
+その場合、ワイルドカードをシェルに解釈されないように
+エスケープしなくてはいけません。
+直前にバックスラッシュ
+.Pq Dq \e
+をつけると、いかなる文字も、
+その文字が持つ特殊な意味が打ち消されます。
+スラッシュ
+.Pq Dq /
+も含め、いかなる文字も特殊な意味を
+持ちません。
+.Pp
+また、ワイルドカードを含まないパターン
+.Pq Dq foo
+を
+指定した場合、
+.Nm
+は
+.Dq *foo*
+が指定されたものと解釈します。
+
+歴史的な事情で、以前の
+.Nm
+は 32 から 127 までのキャラクタコード
+しか扱うことができませんでした。
+現在の処理方法では改行
+.Pq Sq \en
+とヌル
+.Pq Sq \e0
+以外のキャラクタ
+コードを処理できます。
+これまでサポートされていたプレインASCIIのみで構成された
+ファイル名については、使用するメモリの量は増えていません。
+32 未満、あるいは 127 をこえるキャラクタコードを含むファイル名
+については、2 バイトを使って格納されます。
+
+使用可能なオプションは以下のとおりです。
+.Bl -tag -width 10n indent
+.It Fl S
+データベースの統計を表示して終了します。
+.It Fl c
+通常の出力を行わず、マッチしたファイル名の数を表示します。
+.It Fl d Ar database
+デフォルトのデータベースを使わず、
+.Ar database
+を使って検索します。
+複数回
+.Fl d
+を指定することで、複数のデータベースを
+使うことができます。
+
+オプションの
+.Ar database
+はコロンで区切ることで複数のデータベースを使うことができます。
+また、1つのコロンはデフォルトのデータベースを表します。
+
+$ locate -d $HOME/lib/mydb: foo
+
+は
+.Dq foo
+をパターンとして、
+最初に
+.Pa $HOME/lib/mydb
+を、次に
+.Pa /var/db/locate.database
+を検索します。
+
+$ locate -d $HOME/lib/mydb::/cdrom/locate.database foo
+
+は、
+.Dq foo
+をパターンとして
+.Pa $HOME/lib/mydb
+、
+.Pa /var/db/locate.database
+、
+.Pa /cdrom/locate.database
+の順番で検索します。
+
+.Do
+$ locate -d db1 -d db2 -d db3 pattern
+.Dc
+は
+
+.Dq $ locate -d db1:db2:db3 pattern
+や
+
+.Dq $ locate -d db1:db2 -d db3 pattern
+と同じです。
+
+データベースの名前として
+.Ar -
+を指定した場合、標準入力から読み込みます。
+例えば、次のようにデータベースを圧縮して使うことができます。
+
+$ zcat database.gz | locate -d - pattern
+
+これは、高速な CPU 、少ない RAM 、遅い I/O を持つコンピュータを
+使っている場合に便利です。
+この場合、1つのパターンしか指定することができません。
+.It Fl i
+パターンとデータベースの違いを無視します。
+.It Fl l Ar number
+マッチしたファイル名の表示を、最大
+.Ar number
+個に制限します。
+.It Fl m
+.Xr stdio 3
+ライブラリのかわりに
+.Xr mmap 2
+ライブラリを使います。
+これはデフォルトの動作です。ほとんどの場合で、高速に動作します。
+.It Fl s
+.Xr mmap 2
+ライブラリのかわりに
+.Xr stdio 3
+ライブラリを使います。
+.Sh 関連ファイル
+.Bl -tag -width /usr/libexec/locate.updatedb -compact
+.It Pa /var/db/locate.database
+locate データベース
+.It Pa /usr/libexec/locate.updatedb
+locate データベースを更新するためのスクリプト
+.It Pa /etc/weekly
+通常、locate.updatedb が起動されるスクリプト
+.El
+.Sh 環境変数
+.Bl -tag -width LOCATE_PATH -compact
+.It Pa LOCATE_PATH
+データベースのパスを指定します。空文字の場合は無効です。
+.Fl d
+オプションが指定された場合も無効になります。
+.El
+.Sh 関連項目
+.Xr find 1 ,
+.Xr fnmatch 3 ,
+.Xr locate.updatedb 8
+.Rs
+.%A Woods, James A.
+.%D 1983
+.%T "Finding Files Fast"
+.%J ";login"
+.%V 8:1
+.%P pp. 8-10
+.Re
+.Sh バグ
+.Nm
+が実際には存在するファイルをリストアップできない場合や、
+逆に、すでに削除されたはずのファイルをリストアップ
+してしまう場合があります。
+これは
+.Nm
+が
+.Pa /etc/weekly
+スクリプトで週に一度更新されるデータベースから
+情報を得ているためです。
+データベースの構築に
+.Xr find 1
+を使うのは一時的な処置です。
+
+.Nm
+データベースファイルの所有者は
+.Dq nobody
+となっています。
+.Xr find 1
+はユーザ名
+.Dq nobody
+、グループ名
+.Dq nobody
+、あるいはその他のユーザに対してリード属性がない
+ディレクトリを見付けた場合、
+そのディレクトリの検索をスキップします。
+例えば、ユーザのホームディレクトリに読み込み属性が
+なかったときは、そのユーザの全てのファイルはデータベースに
+登録されません。
+
+.Nm
+データベースの内容について、バイト順序の問題が解決されていません。
+バイト順序が違うコンピュータ同士では、
+データベースの共有ができません。
+両方のアーキテクチャで int のサイズが同じ場合、
+.Nm
+はホストのバイト順序、ネットワークのバイト順序の
+違いに対応します。
+そのため、FreeBSD/i386 (リトルエンディアン) 上で
+.Nm
+SunOS/sparc (ビッグエンディアン) 上で構築された
+データベースを使うことができます。
+
+.Sh 歴史
+.Nm locate
+は
+.Bx 4.4
+から登場しました。
+.Fx 2.2
+で、新たに多くの機能が付け加えられました。
diff --git a/ja/man/man1/lock.1 b/ja/man/man1/lock.1
new file mode 100644
index 0000000000..b4f7af47f4
--- /dev/null
+++ b/ja/man/man1/lock.1
@@ -0,0 +1,70 @@
+.\" Copyright (c) 1987, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)lock.1 6.9 (Berkeley) 7/27/91
+.\" jpman %Id: lock.1,v 1.2 1997/05/04 08:00:12 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt LOCK 1
+.Os
+.Sh 名称
+.Nm lock
+.Nd 端末を予約する
+.Sh 書式
+.Nm lock
+.Op Fl n
+.Op Fl p
+.Op Fl t Ar timeout
+.Sh 解説
+.Nm lock
+はユーザにパスワードを要求し、確認のためにもう一度パスワードを
+聞きます。以降そのパスワードがもう一度入力されるまで、
+このプログラムはその端末を占有して利用できない状態にします。
+このプログラムを終了するには、その他に二つの方法があります:
+ひとつは決められた時間まで待ってタイムアウトさせる方法、
+もうひとつは権限を持つユーザがそのプロセスを kill するという方法です。
+.Pp
+オプションは以下のものがあります:
+.Bl -tag -width Fl
+.It Fl n
+タイムアウト値を使用しません。端末を永遠にロックします。
+.It Fl p
+設定時にパスワードが要求されず、代りにユーザの現行のパスワードが使われます。
+.It Fl t Ar timeout
+タイムリミットを
+.Ar timeout
+分に変更します (デフォルトは 15 分)。
+.El
+.Sh 歴史
+.Nm lock
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/lockf.1 b/ja/man/man1/lockf.1
new file mode 100644
index 0000000000..54469f4837
--- /dev/null
+++ b/ja/man/man1/lockf.1
@@ -0,0 +1,119 @@
+.\"
+.\" Copyright (C) 1997 John D. Polstra. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY JOHN D. POLSTRA AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL JOHN D. POLSTRA OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: lockf.1,v 1.1.1.1.2.1 1997/01/09 20:01:46 jdp Exp %
+.\" jpman %Id: lockf.1,v 1.3 1997/08/20 12:32:03 horikawa Stab %
+.\"
+.Dd January 8, 1997
+.Os FreeBSD
+.Dt LOCKF 1
+.Sh 名称
+.Nm lockf
+.Nd ファイルをロックしてコマンドを実行する
+.Sh 書式
+.Nm
+.Op Fl s
+.Op Fl t Ar seconds
+.Ar file
+.Ar command
+.Op Ar arguments
+.Sh 解説
+.Nm
+はファイル
+.Ar file
+に対して排他的ロックを獲得します。
+この際、必要ならこのファイルを生成します。
+そしてそのロックを保持したまま、
+引数
+.Ar arguments
+をつけてコマンド
+.Ar command
+を実行します。
+.Ar command
+の実行が完了すると、
+.Nm
+はロックを開放し、ファイル
+.Ar file
+を削除します。
+.Xr flock 2
+に述べられている BSD スタイルのロック方式が用いられます。
+すなわち、
+.Ar file
+が存在するだけではロックされているとは見なされません。
+.Pp
+以下のオプションが利用可能です。
+.Bl -tag -width Fl
+.It Fl s
+メッセージ出力を行いません。
+ロック獲得の失敗は、終了ステータスにのみ反映されます。
+.It Fl t Ar seconds
+ロック待ちのタイムアウト値を指定します。
+デフォルトでは、
+.Nm
+はロック獲得を永遠に待ち続けます。
+このオプションによりタイムアウト値が指定されていれば、
+.Nm
+はロック獲得をあきらめるまでに最大
+.Ar seconds
+秒待ちます。
+タイムアウトとしては 0 を指定することもでき、
+その場合
+.Nm
+はロック獲得に失敗すると即座に終了します。
+.El
+.Pp
+いかなる場合でも、
+他のプロセスが保持しているロックを
+.Nm
+が破棄することはありません。
+.Sh 診断
+ロック獲得に成功すると、
+.Nm
+は
+.Ar command
+の終了ステータスを返します。
+それ以外の場合、
+.Nm
+は
+.Xr sysexits 3
+にて定義されている以下のいずれかの終了コードを返します。
+.Bl -tag -width F_CANTCREATX
+.It Dv EX_TEMPFAIL
+指定されたロックファイルは他のプロセスによって既にロックされています。
+.It Dv EX_CANTCREAT
+.Nm
+はロックファイルを生成できませんでした。
+原因としては、例えば、適切なアクセス権がないことが考えられます。
+.It Dv EX_USAGE
+.Nm
+のコマンドラインにエラーがあります。
+.It Dv EX_OSERR
+システムコール(例えば fork)が予期せず失敗しました。
+.El
+.Sh 関連項目
+.Xr flock 2 ,
+.Xr sysexits 3 .
+.Sh 作者
+John Polstra,
+.Aq jdp@polstra.com .
diff --git a/ja/man/man1/logger.1 b/ja/man/man1/logger.1
new file mode 100644
index 0000000000..90749bfb35
--- /dev/null
+++ b/ja/man/man1/logger.1
@@ -0,0 +1,97 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)logger.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: logger.1,v 1.3 1997/09/05 09:02:40 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt LOGGER 1
+.Os BSD 4.3
+.Sh 名称
+.Nm logger
+.Nd システムのログに記録を残す
+.Sh 書式
+.Nm
+.Op Fl is
+.Op Fl f Ar file
+.Op Fl p Ar pri
+.Op Fl t Ar tag
+.Op Ar message ...
+.Sh 解説
+.Nm logger
+は、
+.Xr syslog 3
+システムログ記録モジュールとのシェルコマンドインタフェースを提供します。
+.Pp
+オプション:
+.Bl -tag -width "message"
+.It Fl i
+logger プロセスのプロセス ID を各行に記録します。
+.It Fl s
+システムのログと同様に、標準エラー出力にログを出力します。
+.It Fl f Ar file
+指定したファイルの内容をログとして記録します。
+.It Fl p Ar pri
+指定した優先順位でメッセージを入力します。優先順位は、
+数字で指定するか、``ファシリティ.レベル'' の組で指定されます。
+たとえば、``\-p local3.info'' は
+.Ar local3
+ファシリティに、情報(
+.Ar info
+)レベルでメッセージを記録します。デフォルトは、``user.notice'' です。
+.It Fl t Ar tag
+各行に指定した
+.Ar tag
+を埋め込みます。
+.It Ar message
+この
+.Ar message
+をログとして記録します。これが指定されておらず、
+.Fl f
+も指定されていなければ、標準入力をログとして記録します。
+.El
+.Pp
+.Nm
+は成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
+.Sh 使用例
+.Bd -literal -offset indent -compact
+logger System rebooted
+
+logger \-p local0.notice \-t HOSTIDM \-f /dev/idmc
+.Ed
+.Sh 関連項目
+.Xr syslog 3 ,
+.Xr syslogd 8
+.Sh 規格
+.Nm
+は
+.St -p1003.2
+準拠です。
diff --git a/ja/man/man1/login.1 b/ja/man/man1/login.1
new file mode 100644
index 0000000000..673efa45e4
--- /dev/null
+++ b/ja/man/man1/login.1
@@ -0,0 +1,175 @@
+.\" %NetBSD: login.1,v 1.5 1994/12/23 06:53:00 jtc Exp %
+.\"
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)login.1 8.2 (Berkeley) 5/5/94
+.\" %Id: login.1,v 1.4.2.3 1997/07/23 06:43:51 charnier Exp %
+.\" jpman %Id: login.1,v 1.3 1997/05/19 16:39:53 horikawa Stab %
+.\"
+.Dd May 5, 1994
+.Dt LOGIN 1
+.Os BSD 4
+.Sh 名称
+.Nm login
+.Nd 指定したユーザでログインする
+.Sh 書式
+.Nm
+.Op Fl fp
+.Op Fl h Ar hostname
+.Op Ar user
+.Sh 解説
+.Nm
+は、指定したユーザでログインするものです。
+.Pp
+user を指定しなかった場合、もしくは指定した user でのログインに失敗した
+ときには、
+.Nm
+は、再度ユーザ名の入力を求めるプロンプトを表示します。
+ユーザの確認は入力されたパスワードにより行われます。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl f
+パスワードによるユーザの確認を省略します。このオプションは、スーパーユーザ
+か、すでにログインしているユーザが同じユーザ名で login を実行す
+るときのみ指定可能です。
+.It Fl h
+コネクションを受信可能なホスト名を指定します。この機能は
+.Xr telnetd 8
+などのデーモンによって使われています。このオプションはスーパーユーザ
+しか指定することができません。
+.It Fl p
+.Nm
+は、デフォルトでは実行時の環境 (環境変数など) を引き継ぎ
+ませんが、このオプションを指定すると、実行時の環境を引き継ぎます。
+.El
+.Pp
+もし
+.Pa /etc/nologin
+ファイルが存在した場合、
+.Nm
+はそのファイル内容
+を表示してログイン処理をせずに終了します。この機能は
+.Xr shutdown 8
+で使用されており、システムの終了処理実行中にユーザがログインしないよう
+にしています。
+.Pp
+もし
+.Pa /etc/login.access
+ファイルが存在した場合、
+.Nm
+はそのファイルから、ユーザとホストの組が特別に許可されている、もしくは
+拒否されているかどうかをチェックします。
+.Pp
+もし
+.Pa /etc/fbtab
+ファイルが存在した場合、
+.Nm
+はそのファイルに記述された幾つかのデバイスのプロテクトとオーナを変え
+ます。
+.Pp
+通常、ユーザがログインすると、
+.Nm
+はシステムのコピーライト表示、
+ユーザが最後にログインした日付と時間、その日のメッセージなどの
+情報を表示します。ただし、ユーザのホームディレクトリに
+.Dq Pa .hushlogin
+というファイルが存在した場合は、これらのメッセージを表示
+しないようにします (これは
+.Xr uucp 1
+のようなプログラムがユーザとしてログインするためにあります)。
+このあと、
+.Nm
+は
+.Xr wtmp 5
+と
+.Xr utmp 5
+ファイルに記録し、ユーザのコマンドインタプリタ (シェル) を起動します。
+.Pp
+なお、環境変数 (
+.Xr environ 7 )
+HOME, SHELL, PATH, TERM, LOGNAME, USER は
+.Nm
+によりセットされます。
+他の環境変数はログインクラスケーパビリティデータベースの
+エントリにより設定されるかも知れません。
+ログインクラスはユーザのシステムパスワードレコードに割り当てられています。
+ログインクラスは、当該ログインに許された最大および現在の資源制約、
+プロセス優先度や他の多くのユーザログイン環境を制御します。
+.Pp
+標準シェルである
+.Xr csh 1
+と
+.Xr sh 1
+は、
+.Nm
+が実行されてから起動します。
+.Sh 関連ファイル
+.Bl -tag -width /var/mail/userXXX -compact
+.It Pa /etc/fbtab
+デバイスのプロテクトの変更
+.It Pa /etc/login.conf
+ログインクラスケーパビリティデータベース
+.It Pa /etc/motd
+ログイン時に最初に表示するメッセージ
+.It Pa /etc/nologin
+ログインを拒否する時に表示するメッセージ
+.It Pa /etc/login.access
+ログインの許可・拒否の設定
+.It Pa /var/run/utmp
+現在のログイン状況
+.It Pa /var/log/lastlog
+最後にログインした記録
+last login account records
+.It Pa /var/log/wtmp
+ログイン・ログアウト状況
+.It Pa /var/mail/user
+ユーザーごとのメイルボックス
+.It Pa \&.hushlogin
+ログインメッセージを抑止するファイル
+.El
+.Sh 関連項目
+.Xr chpass 1 ,
+.Xr passwd 1 ,
+.Xr rlogin 1 ,
+.Xr getpass 3 ,
+.Xr fbtab 5 ,
+.Xr login.access 5 ,
+.Xr login.conf 5 ,
+.Xr utmp 5 ,
+.Xr environ 7 ,
+.Xr nologin 8
+.Sh 歴史
+.Nm login
+ユーティリティは
+.At v6
+から登場しました。
diff --git a/ja/man/man1/logname.1 b/ja/man/man1/logname.1
new file mode 100644
index 0000000000..61d6f646fa
--- /dev/null
+++ b/ja/man/man1/logname.1
@@ -0,0 +1,73 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)logname.1 8.1 (Berkeley) 6/9/93
+.\" %Id: logname.1,v 1.2.2.2 1997/09/15 08:32:19 jkh Exp %
+.\" jpman %Id: logname.1,v 1.2 1997/04/24 00:27:29 mutoh Stab %
+.\"
+.Dd June 9, 1993
+.Dt LOGNAME 1
+.Os BSD 4.4
+.Sh 名称
+.Nm logname
+.Nd ログイン名を表示する
+.Sh 書式
+.Nm
+.Sh 解説
+.Nm
+は、ユーザのログイン名とその後に改行文字を付けたものを標準出力に出力します。
+.Pp
+.Nm
+は、環境変数
+.Ev LOGNAME
+や
+.Ev USER
+が信頼できないため、これらの環境変数を無視します。
+.Pp
+.Nm
+は成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 関連項目
+.Xr who 1 ,
+.Xr whoami 1 ,
+.Xr getlogin 3
+.Sh 規格
+.Nm
+は
+.St -p1003.2
+に準拠しています。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/look.1 b/ja/man/man1/look.1
new file mode 100644
index 0000000000..f3e2ca5784
--- /dev/null
+++ b/ja/man/man1/look.1
@@ -0,0 +1,105 @@
+.\" %NetBSD: look.1,v 1.3 1994/12/23 01:10:59 jtc Exp %
+.\"
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)look.1 8.1 (Berkeley) 6/14/93
+.\" jpman %Id: look.1,v 1.2 1997/04/24 00:30:21 mutoh Stab %
+.\"
+.Dd June 14, 1993
+.Dt LOOK 1
+.Os
+.Sh 名称
+.Nm look
+.Nd 指定した文字列で始まる行を表示する
+.Sh 書式
+.Nm
+.Op Fl df
+.Op Fl t Ar termchar
+.Ar string
+.Op Ar file
+.Sh 解説
+.Nm
+は、
+.Ar file
+の中の各行のうち、
+.Ar string
+で指定された文字列で始まっている行を表示します。
+.Nm
+はバイナリサーチを使っているため、
+.Ar file
+で指定するファイルはソートされていなければいけません。
+.Pp
+.Ar file
+が指定されなかった場合は
+.Pa /usr/share/dict/words
+が使用され、
+.Fl d
+と
+.Fl f
+オプションが暗黙に指定されます。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl d
+辞書で使用されているアルファベットと数字だけを比較対象とします。
+.It Fl f
+アルファベットの大文字、小文字を区別しません。
+.It Fl t
+文字列の最後の文字を指定する。すなわち、
+.Ar string
+の先頭から
+.Ar termchar
+までの文字だけで比較をします。
+.El
+.Sh 戻り値
+指定の文字列で始まる行が見つかった場合は 0 を、見つか
+らなかった場合は 1 を、エラーが起きた場合は 2 以上の値を返します。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/dict/words -compact
+.It Pa /usr/share/dict/words
+デフォルトで使用される辞書ファイル
+.El
+.Sh 関連項目
+.Xr grep 1 ,
+.Xr sort 1
+.Sh 互換性
+もともとのマニュアルでは,
+.Fl d
+オプションが指定されている時には、タブと空白は比較対象であると
+述べられていました。
+これは間違っていますし、現在のマニュアルでは歴史的な実装と
+一致しています。
+.Sh 歴史
+.Nm
+は
+.At v7
+から登場しました。
diff --git a/ja/man/man1/lookbib.1 b/ja/man/man1/lookbib.1
new file mode 100644
index 0000000000..55b3776987
--- /dev/null
+++ b/ja/man/man1/lookbib.1
@@ -0,0 +1,76 @@
+.\" -*- nroff -*-
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.TH LOOKBIB 1 "7 September 1996" "Groff Version 1.10"
+.\" jpman %Id: lookbib.1,v 1.2 1997/04/24 00:31:25 mutoh Stab %
+.SH 名称
+lookbib \- 文献目録データベースを検索する
+.SH 書式
+.B lookbib
+[
+.B \-v
+]
+[
+.BI \-i string
+]
+[
+.BI \-t n
+]
+.IR filename \|.\|.\|.
+.SH 解説
+.B lookbib
+は、(標準入力が端末であれば)標準エラー出力にプロンプトを表示して
+キーワードの集合を標準入力から読み込み、
+.IR filename \|.\|.\|.
+で指定されたデータベースからそれらのキーワードを含む参照文を検索して、
+発見した結果を標準出力に出力するという一連の動作を、
+入力がなくなるまで繰り返します。検索するそれぞれの
+.I filename
+に対して、もし
+.IB filename .i
+という名前で
+.BR indxbib (1)
+が作成したインデックスがあれば、
+.I filename
+のかわりにそのインデックスを検索します。インデックスは、
+複数のデータベースを網羅している可能性があります。
+.SH オプション
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.BI \-i string
+インデックスを持たないファイルを検索する場合、
+.I string
+に含まれる名前のフィールドの内容を無視します。
+.TP
+.BI \-t n
+キーの先頭
+.I n
+文字が指定されればよいものとして扱います。
+.I n
+の初期値は 6 です。
+.SH 関連ファイル
+.TP \w'\fIfilename\fB.i'u+2n
+.IB filename .i
+インデックスファイル
+.SH 関連項目
+.BR refer (1),
+.BR lkbib (1),
+.BR indxbib (1)
diff --git a/ja/man/man1/lorder.1 b/ja/man/man1/lorder.1
new file mode 100644
index 0000000000..97da3b2f29
--- /dev/null
+++ b/ja/man/man1/lorder.1
@@ -0,0 +1,78 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)lorder.1 8.2 (Berkeley) 4/28/95
+.\" jpman %Id: lorder.1,v 1.3 1997/06/03 11:43:37 bobson Stab %
+.\"
+.Dd April 28, 1995
+.Dt LORDER 1
+.Os
+.Sh 名称
+.Nm lorder
+.Nd オブジェクトファイルの依存関係を出力する
+.Sh 書式
+.Nm
+.Ar
+.Sh 解説
+.Nm
+は、
+.Xr nm 1
+を用いて、コマンドラインに指定されたオブジェクトファイルの依存関係を
+決定します。
+.Nm
+は 1 行が 2 つのファイル名から構成されるリストを生成し、
+前のファイルが後ろのファイルで定義されているシンボルを参照している
+ことを示します。
+.Pp
+.Nm
+の出力を
+.Xr tsort 1
+で処理することで、ライブラリ・アーカイブ作成時に一回のパスで参照が解決
+できるような最適なオブジェクトの順序を決定することができます
+.Po
+使用例の項参照
+.Pc
+。
+.Sh 使用例
+.Bd -literal -offset indent
+ar cr library.a `lorder ${OBJS} | tsort`
+.Ed
+.Sh 関連項目
+.Xr ar 1 ,
+.Xr ld 1 ,
+.Xr nm 1 ,
+.Xr ranlib 1 ,
+.Xr tsort 1
+.Sh 歴史
+.Nm
+は
+.At v7
+で追加されました。
diff --git a/ja/man/man1/lp.1 b/ja/man/man1/lp.1
new file mode 100644
index 0000000000..f84da6dc95
--- /dev/null
+++ b/ja/man/man1/lp.1
@@ -0,0 +1,113 @@
+.\"
+.\" Copyright (c) 1995 Joerg Wunsch
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Joerg Wunsch
+.\" 4. The name of the developer may not be used to endorse or promote
+.\" products derived from this software without specific prior written
+.\" permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: lp.1,v 1.2.2.2 1997/09/25 06:32:28 charnier Exp %
+.\" jpman %Id: lp.1,v 1.3 1997/07/01 19:59:08 ken Stab %
+.\"
+.Dd January 22, 1995
+.Dt LP 1
+.Os
+.Sh 名称
+.Nm lp
+.Nd プリントスプーラのフロントエンド
+.Sh 書式
+.Nm lp
+.Op Fl c
+.Op Fl d Ar printer
+.Op Fl n Ar num
+.Op Ar name ...
+.Sh 解説
+.Nm lp
+は
+.St -p1003.2
+規格で必要とされるプリントスプーラのフロントエンドです。実際には
+.Nm
+は、適切な引数をつけて
+.Xr lpr 1
+を起動します。
+
+通常、
+.Nm
+は指定されたファイルをターゲットとするプリンタでプリントします。
+.Pp
+以下のオプションを使用可能です:
+.Bl -tag -width indent
+.It Fl c
+入力ファイルにそれ以上アクセスする必要がなくなるまで
+.Nm
+は終了しません。
+.Nm
+が終了すると、アプリケーションはプリント出力処理に影響を与えることなく、
+ファイルを安全に削除あるいは修正できます。
+.It Fl d Ar dst
+特定のプリンタを指定します。
+コマンドラインに
+.Fl d
+オプションが指定されない場合、環境変数
+.Ev LPDEST
+あるいは
+.Ev PRINTER
+の値が
+.Pq この順で
+用いられます。
+.It Fl n Ar num
+指定された各ファイルを
+.Ar num
+部ずつプリント出力します。
+.El
+.Sh 環境変数
+上で述べたように、環境変数
+.Ev LPDEST
+および
+.Ev PRINTER
+がターゲットとするプリンタを選択するのに用いられます。
+
+.Sh 関連項目
+.Xr lpr 1
+.Sh 規格
+.Nm lp
+コマンドは
+.St -p1003.2
+規格を満たすと考えられます。
+.Sh 作者
+この
+.Nm
+コマンドの実装は
+.if t J\(:org Wunsch
+.if n Joerg Wunsch
+によって作成されました。
+.Sh バグ
+.St -p1003.2
+規格ではテキスト以外のファイルのプリント手段が提供されていません。
+プリントするファイルは、行の長さが妥当で文字も印字可能文字に限定されている
+テキストファイルであることが求められています。
diff --git a/ja/man/man1/lpq.1 b/ja/man/man1/lpq.1
new file mode 100644
index 0000000000..464a56d950
--- /dev/null
+++ b/ja/man/man1/lpq.1
@@ -0,0 +1,135 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)lpq.1 8.2 (Berkeley) 4/28/95
+.\" jpman %Id: lpq.1,v 1.2 1997/04/23 00:26:21 mutoh Stab %
+.\"
+.Dd April 28, 1995
+.Dt LPQ 1
+.Os BSD 4.2
+.Sh 名称
+.Nm lpq
+.Nd キューに登録されている印刷ジョブの確認を行う
+.Sh 書式
+.Nm lpq
+.Op Fl a
+.Op Fl l
+.Op Fl P Ns Ar printer
+.Op job # ...
+.Op user ...
+.Sh 解説
+.Nm
+は、ラインプリンタにファイルをプリントアウトするために
+.Xr lpd 8
+が利用するスプールエリアを調べ、
+指定したジョブもしくはユーザに関連するすべてのジョブの状態を報告します。
+.Nm
+を引数を指定せずに実行したときは、現在、キュー内にあるすべての
+ジョブの状態を報告します。
+.Pp
+オプションとしては、以下のものがあります:
+.Pp
+.Bl -tag -width indent
+.It Fl P
+特定のプリンタを指定します。
+指定しない場合は、デフォルトのラインプリンタ
+(もしくは環境変数
+.Ev PRINTER
+の値)が用いられます。
+この他に指定された引数はすべてユーザ名ないしジョブ番号とみなされ、
+操作対象のジョブを選別するのに用いられます。
+.It Fl l
+ジョブエントリを構成するファイルのそれぞれについての情報を
+表示します。たいていは 1 行に収まる程度の情報が表示されます。
+.It Fl a
+特定のプリンタに対しての情報だけでなく、全てのプリンタに対する情報を
+報告します。
+.El
+.Pp
+委託された(つまり
+.Xr lpr 1
+の実行)各ジョブに対して、
+.Nm
+はユーザ名、
+キュー内でのランク、ジョブが持っているファイルの名前、ジョブ識別子
+(特定のジョブを削除するために
+.Xr lprm 1
+に引数として与えられる番号)、
+そして合計のサイズを報告します。ジョブの順番はスプールディレクトリを
+スキャンするアルゴリズムに依存し、
+.Tn FIFO
+(First In First Out) であると仮定しています。
+ジョブのファイル名がわからない場合 (
+.Xr lpr 1
+がパイプラインで接続された場合など) は、ファイル名は``(standard input)'' と
+表示されます。
+.Pp
+もし
+.Nm
+がデーモンがないと警告した場合 (何かの不調が原因である)、
+.Xr lpc 8
+コマンドを用いてプリンタデーモンをリスタートさせてください。
+.Sh 環境変数
+.Bl -tag -width PRINTER
+.It Ev PRINTER
+かわりのデフォルトプリンタを指定する
+.El
+.Sh 関連ファイル
+.Bl -tag -width "/var/spool/*/lock" -compact
+.It Pa /etc/printcap
+プリンタの特性を記述する。
+.It Pa /var/spool/*
+スプールディレクトリ。printcap での設定により決まる。
+.It Pa /var/spool/*/cf*
+ジョブを明記した制御ファイル。
+.It Pa /var/spool/*/lock
+現在アクティブなジョブを得るためのロックファイル。
+.El
+.Sh 関連項目
+.Xr lpr 1 ,
+.Xr lprm 1 ,
+.Xr lpc 8 ,
+.Xr lpd 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3
+から登場しました。
+.Sh バグ
+スプールディレクトリに格納される情報は動的に変化するため、
+.Nm
+の報告内容は信頼性の低い場合があります。
+画面出力形式は端末の行の長さの影響を受けやすく、
+行方向に余分な空白が入ることがあります。
+.Sh 診断
+種々のファイルがオープンできません。
+ロックファイルが壊れています。
+デーモンが動作していなくても、スプールディレクトリにゴミが残ることがあります。
diff --git a/ja/man/man1/lpr.1 b/ja/man/man1/lpr.1
new file mode 100644
index 0000000000..71707752fc
--- /dev/null
+++ b/ja/man/man1/lpr.1
@@ -0,0 +1,242 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)lpr.1 8.1 (Berkeley) 6/6/93
+.\" %Id: lpr.1,v 1.5.2.1 1997/09/25 06:33:03 charnier Exp %
+.\" jpman %Id: lpr.1,v 1.3 1997/08/11 14:28:54 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt LPR 1
+.Os BSD 4
+.Sh 名称
+.Nm lpr
+.Nd 印刷ジョブを生成し、キューに登録する
+.Sh 書式
+.Nm lpr
+.Op Fl P Ns Ar printer
+.Op Fl \&# Ns Ar num
+.Op Fl C Ar class
+.Op Fl J Ar job
+.Op Fl T Ar title
+.Op Fl U Ar user
+.Op Fl i Ar numcols
+.Op Fl 1234 Ar font
+.Op Fl w Ns Ar num
+.Op Fl cdfghlnmprstv
+.Op Ar name ...
+.Sh 解説
+.Nm lpr
+は、プリンタが利用可能になったときにファイルをプリント
+アウトするためにスプーリングデーモンを利用します。
+もしファイル名が指定されないようなら、標準入力から読みます。
+.Pp
+以下の単一文字のオプションは、ファイルが通常のテキストファイルでないこ
+とをラインプリンタのスプールデーモンに教えるためのものです。スプールデー
+モンはそのデータを適切に出力するために、データにふさわしいフィルタを使
+うようになります。
+.Bl -tag -width indent
+.It Fl c
+ファイルが
+.Xr cifplot 1
+で作成されたデータを含んでいるものとみなします。
+.It Fl d
+ファイルが
+.Tn TeX
+の
+.Tn DVI
+フォーマットであるとみなします。
+.It Fl f
+各行の最初の文字を、標準的な FORTRAN のキャリッジコントロール
+キャラクタとして処理するフィルタを使うようになります。
+.It Fl g
+ファイルが
+.Xr plot
+ルーチンで作成された 標準的な plot データであるとみなします。
+.It Fl l
+コントロールキャラクタを通し、ページの区切りを抑制するフィルタを利用します。
+.It Fl n
+ファイルが
+.Em ditroff
+(デバイスに依存しないtroff) からのデータであるとみなします。
+.It Fl p
+ファイルの整形に
+.Xr pr 1
+を利用します。
+.It Fl t
+ファイルが(写植印字コマンドである)
+.Xr troff 1
+からのデータであるとみなします。
+.It Fl v
+ファイルが Benson Varian のようなデバイスのためのラスターイメージを
+含むものとみなします。
+.El
+.Pp
+以下のオプションは、プリントジョブを操作するときに適用します:
+.Bl -tag -width indent
+.It Fl P
+指定したプリンタに出力します。これを指定しない通常の場合は、
+デフォルトプリンタが使われる (これはサイトごとに依存します)か、
+環境変数
+.Ev PRINTER
+の値が使われます。
+.It Fl h
+バーストページを出力しないようにします。
+.It Fl m
+終了時にメールを送ってきます。
+.It Fl r
+スプーリングの終了時、もしくは、出力の終了時にファイルを削除します (
+.Fl s
+オプション使用時)。
+.It Fl s
+シンボリックリンクを利用します。通常、ファイルはスプールディ
+レクトリにコピーされますが、大きなファイルをコピーするよりは
+.Fl s
+オプションで
+.Xr symlink 2
+を使ってデータファイルにリンクを張ったほうがよ
+いでしょう。つまり、これはファイルのプリントアウトが完了するまではファ
+イルに変更を加えたり、削除したりするべきではないということを意味します。
+.El
+.Pp
+残りのオプションはコピーを行ったり、ページの表示やヘッダの表示を行います:
+.Bl -tag -width indent
+.It Fl \&# Ns Ar num
+.Ar num
+は、各ファイルのコピーの枚数です。例えば、
+.Bd -literal -offset indent
+lpr \-#3 foo.c bar.c more.c
+.Ed
+は、foo.cのコピーを3回行った後、bar.cのコピーを3回行います。一方、
+.Bd -literal -offset indent
+cat foo.c bar.c more.c \&| lpr \-#3
+.Ed
+.Pp
+は、連結されたファイルのコピーを3回行います。
+をこの機能を禁止してコピー機の使用を推奨しているサイトがあるかもしれません。
+.It Xo
+.Fl Ns Oo Cm 1234 Oc Ar font
+.Xc
+フォントポジション
+.Ar i
+のフォントを指定します。デーモンはフォントのパス名を参照する
+.Li .railmag
+ファイルを作成します。
+.It Fl C Ar class
+バーストページで使うジョブ見出しです。例えば、
+.Bd -literal -offset indent
+lpr \-C EECS foo.c
+.Ed
+.Pp
+は、バーストページのシステム名(
+.Xr hostname 1
+で返される)を EECS に置き換えて、foo.c をプリントします。
+.It Fl J Ar job
+バーストページに書くジョブ名です。通常は、
+一番最初のファイルの名前が使われます。
+.It Fl T Ar title
+.Xr pr 1
+のタイトル名に、ファイル名のかわりにこのタイトルを使います。
+.It Fl U Ar user
+バーストページで使うユーザー名であり、課金目的でも利用されます。
+このオプションは実ユーザidがデーモン(あるいはデーモンの代わりに
+printcap中で指定されているユーザ)のみ使用できます。
+.It Fl i numcols
+出力が
+.Pq Ar numcols
+でインデントされます。
+.It Fl w Ns Ar num
+.Xr pr 1
+のページ幅を
+.Ar num
+にします。
+.El
+.Sh 環境変数
+以下の環境変数が存在すると、
+.Nm lpr
+が使用します:
+.Bl -tag -width PRINTER
+.It Ev PRINTER
+かわりのデフォルトプリンタを指定する
+.El
+.Sh 関連ファイル
+.Bl -tag -width /var/spool/output/*/tf* -compact
+.It Pa /etc/passwd
+個人の識別を行うためのファイル
+.It Pa /etc/printcap
+プリンタの特徴を記述したデータベース
+.It Pa /usr/sbin/lpd
+ラインプリンタデーモン
+.It Pa /var/spool/output/*
+スプーリングのために利用するディレクトリ
+.It Pa /var/spool/output/*/cf*
+デーモンの制御のためのファイル
+.It Pa /var/spool/output/*/df*
+``cf'' ファイルが指定するデータファイル
+.It Pa /var/spool/output/*/tf*
+``cf'' ファイルの一時的なコピー
+.El
+.Sh 関連項目
+.Xr lpq 1 ,
+.Xr lprm 1 ,
+.Xr pr 1 ,
+.Xr symlink 2 ,
+.Xr printcap 5 ,
+.Xr lpc 8 ,
+.Xr lpd 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3
+から登場しました。
+.Sh 診断
+もしとても大きいファイルをスプールしようとするなら、途中で切れてしまう
+でしょう。
+.Nm
+はバイナリファイルを印刷することを目的としています.
+もしルート以外のあるユーザーがファイルを印刷しようとしてスプールに
+失敗したら、
+.Nm
+はその旨のメッセージを印刷してそのファイルは印刷されません。
+もしローカルマシンの
+.Xr lpd 8
+との接続ができなければ、
+.Nm
+はデーモンを起動できなかったと言うでしょう。その結果は
+.Xr lpd 8
+によってファイルのスプールに失敗したとデーモンのログファイルに
+残されるでしょう。
+.Sh バグ
+.Xr troff 1
+と
+.Xr tex
+のフォントは,プリンタがつながっているホストにないといけません。
+これは,現在はローカルのフォントライブラリを使うことができないことを
+意味します。
diff --git a/ja/man/man1/lprm.1 b/ja/man/man1/lprm.1
new file mode 100644
index 0000000000..d6b38ed217
--- /dev/null
+++ b/ja/man/man1/lprm.1
@@ -0,0 +1,142 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)lprm.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: lprm.1,v 1.3 1997/08/15 06:33:28 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt LPRM 1
+.Os BSD 4.2
+.Sh 名称
+.Nm lprm
+.Nd 印刷ジョブをキューから削除する
+.Sh 書式
+.Nm lprm
+.Op Fl P Ns Ar printer
+.Op Fl
+.Op job # ...
+.Op Ar user ...
+.Sh 解説
+.Nm
+は 1 つのジョブ、もしくは複数のジョブをプリンタの
+スプールキューから削除します。スプールディレクトリはユーザから保護され
+ているので、ジョブの削除は
+.Nm
+を利用するのが唯一の手段です。
+ジョブのオーナは、ユーザのログイン名と
+.Xr lpr 1
+を実行した計算機のホスト名で決定されます。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width indent
+.It Fl P Ns Ar printer
+.Ar printer
+を扱うキューを指定します (指定しない場合はデフォルトのプリンタを使います)。
+.It Fl
+もし単一の `-' が与えられた場合、
+.Nm
+はユーザのすべてのジョブを削除します。
+もしスーパユーザがこのオプションを使った場合、スプール
+キューは完全に空になります。
+.It Ar user
+.Nm
+は、
+.Ar user
+の所有するすべてのジョブを削除しようと
+試みます。この
+.Nm
+の呼び出し方は、スーパユーザだけに有用です。
+.It Ar job\ \&#
+ユーザは、ジョブ番号を指定することで個々のジョブをキューから
+削除することができます。この番号は
+.Xr lpq 1
+プログラムから得ることができます。たとえば、以下のようになります。
+.Pp
+.Bd -literal -offset indent
+\&% lpq \-l
+
+1st:ken [job #013ucbarpa]
+ (standard input) 100 bytes
+% lprm 13
+.Ed
+.El
+.Pp
+もし、どのオプションも与えられなかったときは、
+.Nm
+を実行したユーザが持つアクティブなジョブを削除します。
+.Pp
+.Nm
+は削除するファイルの名前をアナウンスしますが、もしキュー内
+に削除するジョブがないときには何もアナウンスしません。
+.Pp
+.Nm
+は、スプールのファイルを削除する前に、もし必要であればアクティブな
+デーモンを殺します。デーモンを殺した場合、ファイルを削除したあとで
+新しいデーモンを自動的に再スタートさせます。
+.Sh 環境変数
+もし、以下の環境変数が存在したならば、
+.Nm
+は利用します。
+.Bl -tag -width PRINTER
+.It Ev PRINTER
+もし環境変数
+.Ev PRINTER
+が存在し、プリンタを
+.Fl P
+オプションで指定しなかった場合、デフォルトプリンタは
+.Ev PRINTER
+の値となります。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /var/spool/*/lock/ -compact
+.It Pa /etc/printcap
+プリンタの特徴を記述するファイル
+.It Pa /var/spool/*
+スプールディレクトリ
+.It Pa /var/spool/*/lock
+現在のデーモンのプロセス ID と、現在アクティブなジョブのジョブ番号を
+得るためのロックファイル
+.El
+.Sh 関連項目
+.Xr lpq 1 ,
+.Xr lpr 1 ,
+.Xr lpd 8
+.Sh 診断
+もし、自分が所有者でないファイルを削除しようとした時は、
+``Permission denied'' になります。
+.Sh バグ
+ロックファイルの更新時に、競争になる場合があるので、現在のアクティブ
+なジョブを正しく認識しないかもしれません。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/lptest.1 b/ja/man/man1/lptest.1
new file mode 100644
index 0000000000..b380789fcd
--- /dev/null
+++ b/ja/man/man1/lptest.1
@@ -0,0 +1,70 @@
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)lptest.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: lptest.1,v 1.2 1997/05/04 08:00:51 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt LPTEST 1
+.Os BSD 4.3
+.Sh 名称
+.Nm lptest
+.Nd ラインプリンタのテスト用のパターンを出力する
+.Sh 書式
+.Nm lptest
+.Op Ar length
+.Op Ar count
+.Sh 解説
+.Nm lptest
+は、伝統的な ``リプルテスト'' (ripple test)
+パターンを標準出力に書きます。
+このパターンは 96 行におよび、表示可能な
+.Tn ASCII
+96 文字すべてを各位置に出力することになります。
+もともとはプリンタのテストのために作られたものですが、
+端末や端末ポートのデバッグ、ランダムなデータがすぐに必要な
+場合などにも大変有効です。
+.Pp
+.Ar length
+引数は、出力の 1 行の長さがデフォルトの 79 ではふさわしくない場合に
+指定します。
+.Pp
+.Ar count
+引数は、行数がデフォルトの 200 ではふさわしくない場合に指定します。
+.Ar count
+を指定したい場合は
+.Ar length
+も指定しなければならない点に注意してください。
+.Sh 歴史
+.Nm lptest
+コマンドは
+.Bx 4.3
+から登場しました。
diff --git a/ja/man/man1/ls.1 b/ja/man/man1/ls.1
new file mode 100644
index 0000000000..c8205ca922
--- /dev/null
+++ b/ja/man/man1/ls.1
@@ -0,0 +1,324 @@
+.\" Copyright (c) 1980, 1990, 1991, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ls.1 8.6 (Berkeley) 4/18/94
+.\" %Id: ls.1,v 1.5.2.4 1997/09/19 06:18:11 charnier Exp %
+.\" jpman %Id: ls.1,v 1.3 1997/05/19 17:21:06 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt LS 1
+.Os
+.Sh 名称
+.Nm ls
+.Nd ディレクトリの内容のリストを表示する
+.Sh 書式
+.Nm ls
+.Op Fl ACFLRTacdfgikloqrstu1
+.Op Ar file ...
+.Sh 解説
+.Nm ls
+は
+.Ar file
+で指定されたファイル名およびオプションの指定にしたがって、
+ファイルに関する各種の情報を表示します。なお、
+.Ar file
+としてディレクトリが指定された場合は、そのディレクトリ配下のファイル
+に関する情報を表示します。
+.Pp
+.Ar file
+が指定されなかった場合は、カレントディレクトリのファイルを表示します。
+表示はファイル名のアルファベット順にソートされます。ただし、
+.Ar file
+としてディレクトリファイルとそれ以外のファイルを混在して指定した
+場合は、ディレクトリ以外のファイルが先に表示され、その後
+ディレクトリ配下のファイルが表示されます。
+.Pp
+オプションとしては、以下のものがあります。
+.Bl -tag -width indent
+.It Fl A
+.Ql \&.
+と
+.Ql \&..
+を除く全てのエントリを表示します。スーパーユーザの場合は、通常
+このオプションがセットされています。
+.It Fl C
+マルチカラム形式で出力します。端末への出力の場合は、
+これがデフォルトになります。
+.It Fl F
+それぞれのパス名の最後に、ディレクトリならばスラッシュ (/)、
+実行可能ファイルならばアスタリスク (*)、
+シンボリックリンクならばアットマーク (@)、ソケットファイルならば等号 (=)、
+.Tn FIFO
+ならば縦棒 (|) をつけて表示します。
+.It Fl L
+引数がシンボリックリンクファイルの場合、リンクファイル自体ではなく、
+リンク先のファイルやディレクトリを表示します。
+.It Fl R
+サブディレクトリを再帰的に表示します。
+.It Fl T
+ファイルの日付と時間に関する詳細情報(月・日・時・分・秒・年)を表示します。
+.It Fl a
+ドット (.) で始まるファイルも含めて表示します。
+.It Fl c
+ファイルソートや時刻出力の際、ファイルステータスの最終変更日付を使用します。
+.It Fl d
+引数がディレクトリの場合、再帰的に表示せず、ディレクトリそのものの
+情報について表示します。また引数がシンボリックリンクファイルの場合、
+リンク先ではなく、リンクファイル自体についての情報を表示します。
+.It Fl f
+ソートせずに表示します
+.It Fl g
+このオプションは、
+.Bx 4.3
+との互換性のためにだけ利用すべきです。
+これは、
+ロングフォーマットオプション
+.Pq Fl l
+を使ってグループの名前を表示したい時に使います。
+.It Fl i
+各ファイルについて、iノード番号を表示します。
+.It Fl k
+.Fl s
+オプションとともに使用し、ファイルサイズを
+ブロック単位ではなく Kバイト単位で表示します。
+.It Fl l
+(``エル(L)''の小文字)。ファイルの詳細情報をロングフォーマットで
+表示します(下記参照)。
+端末に出力している場合、ロングフォーマットの前の行に、全ファイル
+のサイズの合計値を表示します。
+.It Fl o
+.Pq Fl l
+オプションによる詳細情報に、ファイルフラグも含めて表示します。
+.It Fl q
+ファイル名に表示できない文字が使われていたとき、`?' として表示します。
+端末に表示するときは、デフォルトでこの指定になります。
+.It Fl r
+辞書式順序で逆順または時刻の古い順にソートします。
+.It Fl s
+各ファイルがファイルシステム上で実際に占有している
+ブロック数(512バイト単位)を表示します。
+ブロックの一部だけ占有しているものも整数値に切り上げられます。
+端末に表示するときは、表示の先頭行に、全ファイルのサイズの合計値
+を表示します。
+.It Fl t
+ファイルをアルファベット順に表示する前に、ファイルの最終修正日時の順
+(新しいものほど先にくる)にソートします。
+.It Fl u
+.Pq Fl t
+オプションや
+.Pq Fl l
+オプションで、ファイルの最終修正日時の代わりに、ファイルの最終アクセ
+ス日時を使用します。
+.It Fl \&1
+(数字の ``1'')。 1行につき 1エントリの形式で表示します。
+端末への出力でない場合には、これがデフォルトです。
+.El
+.Pp
+.Fl 1 ,
+.Fl C ,
+.Fl l
+オプションは、互いに他を上書きします。最後に指定されたオプションが有
+効となります。
+.Pp
+.Fl c
+と
+.Fl u
+オプションは、互いに他を上書きします。最後に指定されたオプションが有
+効となります。
+.Pp
+デフォルトでは
+.Nm ls
+は標準出力に1行1エントリずつ表示します。
+ただし、出力先が端末である場合および
+.Fl C
+オプションが指定された場合は別です。
+.Pp
+.Fl i ,
+.Fl s ,
+.Fl l
+オプションが指定された場合、関連するファイルの情報は 1個以上の空白
+をあけて表示されます。
+.Ss ロングフォーマット
+.Fl l
+オプションがつけられた場合、それぞれのファイルに対して以下に示す情
+報が表示されます:
+ファイルモード・
+リンク数・所有者名・所有グループ名・
+ファイルのバイト数・月の短縮形・最終更新が行なわれた際の日付・時・分・
+パス名。
+さらに、各ディレクトリに対して、
+ディレクトリ内のファイル情報が表示される直前に、
+ファイルサイズの合計値が 512 バイトブロック単位で表示されます。
+.Pp
+所有者または所有グループ名が不明の場合、
+ID 番号で表示されます。
+.Pp
+ファイルがキャラクタ型もしくはブロック型スペシャルファイルである場合、
+ファイルサイズフィールドには
+ファイルのメジャー番号とマイナー番号が表示されます。
+ファイルがシンボリックリンクファイルである場合、
+リンク先ファイルのパス名が
+.Dq \->
+によって表示されます。
+.Pp
+.Fl l
+オプションのもとで表示されるファイルモードは、エントリタイプ、
+所有者アクセス許可、所有グループアクセス許可などで成り立っています。
+エントリタイプの文字はファイルのタイプを表しており、
+各文字の意味は次のとおりです:
+.Pp
+.Bl -tag -width 4n -offset indent -compact
+.It Sy b
+ブロック型スペシャルファイル
+.It Sy c
+キャラクタ型スペシャルファイル
+.It Sy d
+ディレクトリ
+.It Sy l
+シンボリックリンクファイル
+.It Sy s
+ソケットファイル
+.It Sy p
+.Tn FIFO
+.It Sy \-
+通常ファイル
+.El
+.Pp
+次の 3つのフィールドは、それぞれ 3つの文字からなっています:
+所有者に対するアクセス許可・
+グループに属するユーザに対するアクセス許可・
+他のユーザに対するアクセス許可。
+これらのフィールドはそれぞれ 3つの文字からなっています:
+.Bl -enum -offset indent
+.It
+もし
+.Sy r
+ならば読みだし可能。もし
+.Sy \-
+ならば読みだし不能。
+.It
+もし
+.Sy w
+ならば書き込み可能。もし
+.Sy \-
+ならば書き込み不能。
+.It
+その他の場合: 以下のうち最初に該当するものが用いられる。
+.Bl -tag -width 4n -offset indent
+.It Sy S
+所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、
+実効ユーザ ID (set-user-ID) モードがセットされている場合。
+所有グループに対するアクセス許可において、ファイルが実行可能ではなく、
+かつ、実効グループ ID (set-group-ID) モードがセットされている場合。
+.It Sy s
+所有者に対するアクセス許可において、ファイルが実行可能で、かつ、
+実効ユーザ ID モードがセットされている場合。
+所有グループに対するアクセス許可の中で、ファイルが実行可能で、
+かつ、実効グループ ID モードがセットされている場合。
+.It Sy x
+ファイルが実効可能またはディレクトリが検索可能である場合。
+.It Sy \-
+ファイルは、読み出し、書き込み、実行のいずれも許可されておらず、
+実効ユーザ ID も実効グループ ID もスティッキービットも設定されていない場合
+(以下参照)。
+.El
+.Pp
+次の2つは他のユーザに対するアクセス許可の三番目の文字に使用されます。
+.Bl -tag -width 4n -offset indent
+.It Sy T
+スティッキービットがセットされている(モード
+.Li 1000 ) が、
+実行不能あるいは検索不能である場合(
+.Xr chmod 1
+または
+.Xr sticky 8
+参照)。
+.It Sy t
+スティッキービットがセットされており(モード
+.Li 1000 ) 、
+かつ、検索可能または実行可能である場合
+(
+.Xr chmod 1
+または
+.Xr sticky 8
+参照)。
+.El
+.El
+.Pp
+.Nm ls
+ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きい値を
+返します。
+.Sh 環境変数
+以下の環境変数は
+.Nm ls
+の動作に影響を与えます:
+.Bl -tag -width BLOCKSIZE
+.It Ev BLOCKSIZE
+ブロック数の表示を行う際、1ブロックのサイズとして環境変数
+.Ev BLOCKSIZE
+で指定された値が使用されます
+(
+.Fl s
+オプション参照)。
+.It COLUMNS
+ターミナルのカラム幅を指定します。マルチカラム表示の際、
+1 行あたりいくつのファイル名を表示できるかを算出するために参照されます
+(
+.Fl C
+参照)。
+.It Ev TZ
+日時を表示するときに使われるタイムゾーンを指定します。
+詳細は
+.Xr environ 7
+を参照してください。
+.El
+.Sh 互換性
+.St -p1003.2
+互換とするため、
+ロングフォーマット形式の出力には所有グループ名フィールドが自動的に
+含められます。
+.Sh 関連項目
+.Xr chmod 1 ,
+.Xr symlink 7 ,
+.Xr sticky 8
+.Sh 歴史
+.Nm ls
+コマンドは
+.At v1
+から登場しました。
+.Sh 規格
+.Nm ls
+コマンドの機能は
+.St -p1003.2
+のスーパーセットであると想定しています。
diff --git a/ja/man/man1/lsvfs.1 b/ja/man/man1/lsvfs.1
new file mode 100644
index 0000000000..4b2fb91283
--- /dev/null
+++ b/ja/man/man1/lsvfs.1
@@ -0,0 +1,57 @@
+.\" %Id: lsvfs.1,v 1.3 1996/01/30 13:49:39 mpp Exp %
+.\" jpman %Id: lsvfs.1,v 1.4 1997/08/28 12:09:24 horikawa Stab %
+.\" Garrett A. Wollman, September 1994
+.\" This file is in the public domain.
+.\"
+.Dd March 16, 1995
+.Dt LSVFS 1
+.Os
+.Sh 名称
+.Nm lsvfs
+.Nd インストール済の仮想ファイルシステム一覧を表示する
+.Sh 書式
+.Nm lsvfs
+.Op Ar vfsname Ar ...
+.Sh 解説
+.Nm lsvfs
+コマンドは現在ロードされている仮想ファイルシステムモジュールに
+関する情報を表示します。
+引数
+.Ar vfsname
+が与えられると、
+.Nm lsvfs
+は指定された VFS モジュールに関する情報を表示します。
+それ以外の場合、
+.Nm lsvfs
+は現在ロードされている全てのモジュールを表示します。
+表示される情報は以下の通り:
+.Pp
+.Bl -tag -compact -width Filesystem
+.It Filesystem
+ファイルシステム名。
+.Xr mount 8
+の
+.Fl t
+オプションで指定されるもの。
+.It Index
+このファイルシステムに対するカーネルのファイルシステムスイッチスロット番号。
+.Xr mount 2
+の
+.Ar type
+パラメータに用いられるもの。
+.It Refs
+この VFS への参照数。
+つまり、このタイプのファイルシステムのうち現在マウントされているものの数。
+.It Flags
+フラグビット(現在のところ
+.Dq static
+のみ定義されています)。
+.El
+.Sh 関連項目
+.Xr mount 2 ,
+.Xr mount 8
+.Sh 歴史
+.Nm
+コマンドは
+.Tn FreeBSD
+2.0 で登場しました。
diff --git a/ja/man/man1/m4.1 b/ja/man/man1/m4.1
new file mode 100644
index 0000000000..85f6c7dbe4
--- /dev/null
+++ b/ja/man/man1/m4.1
@@ -0,0 +1,194 @@
+.\"
+.\" @(#) %Id: m4.1,v 1.1.8.2 1997/03/15 21:22:16 bde Exp %
+.\" jpman %Id: m4.1,v 1.3 1997/10/05 12:55:54 horikawa Stab %
+.\"
+.Dd January 26, 1993
+.Dt m4 1
+.Os
+.Sh 名称
+.Nm m4
+.Nd マクロ言語プロセッサ
+.Sh 書式
+.Nm m4
+.Oo
+.Fl D Ns Ar name Ns Op Ar =value
+.Oc
+.Op Fl U Ns Ar name
+.Op Ar filename
+\|.\|.\|.
+.Sh 解説
+.Nm m4
+ユーティリティは、さまざまな言語
+(たとえば C, ratfor, fortran, lex, yacc など) のフロントエンドとして
+利用できるマクロプロセッサです。
+引数で指定されたファイルが指定された順に処理されます。
+ファイルが指定されていないか、ファイル名が \`-\' なら
+標準入力が読まれます。処理されたテキストは標準出力へ送られます。
+.Pp
+マクロの呼出しは name(argument1[, argument2, ...,] argumentN) の
+形式を取っています。
+.Pp
+マクロ名とそれに続く開き括弧 `(' との間にはスペースがあってはいけません。
+もしマクロ名の直後に開き括弧が続いていなければ引数なしのマクロ呼出しとして
+処理されます。
+.Pp
+マクロ名として先頭はアルファベットまたはアンダースコアが、2 文字目以降は
+英数字またはアンダースコアが使えます。
+よって正しいマクロ名にマッチする正規表現は [a-zA-Z_][a-zA-Z0-9_]*
+となります。
+.Pp
+マクロの引数のうちで、先頭のクォートされていない空白、タブ、
+改行文字は無視されます。
+文字列をクォートするためには、左、および右シングルクォートを使用して
+ください (例: ` this is a string with a leading space')。
+組み込みマクロ changequote を使ってクォート文字を変更することができます。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width "-Dname[=value]xxx"
+.It Fl D Ns Ar name Ns Oo
+.Ar =value
+.Oc
+シンボル
+.Ar name
+の値を value (無指定時は NULL) と定義します。
+.It Fl "U" Ns Ar "name"
+シンボル
+.Ar name
+を未定義にします。
+.El
+.Sh 文法
+.Nm m4
+には以下に示す組み込みマクロが実装されています。
+これらのマクロは再定義可能であり、その場合には元の定義は失われます。
+特に記述のない限り戻り値は NULL です。
+.Bl -tag -width changequotexxx
+.It changecom
+コメントの開始文字列と終了文字列を変更します。
+デフォルトでは、ポンド記号 `#' と改行文字です。
+引数を指定しなかった場合はコメント機能がオフになります。
+設定できる文字列の長さは最大で 5 文字です。
+.It changequote
+第 1、第 2 引数をクォートシンボルとして定義します。
+シンボルの長さは 5 文字までです。
+引数が与えられなかった場合にはデフォルトの左右シングルクォートに
+設定されます。
+.It decr
+引数の値を 1 だけ減少させます。
+引数は正しく数値を表現する文字列でなければなりません。
+.It define
+第 1 引数で指定した名前の新しいマクロを定義します。
+定義内容は第 2 引数で与えます。
+定義中での $n (n は 0 から 9 まで) は それぞれそのマクロに与えられる
+第 n 引数に置換されます。$0 はマクロ名そのものです。
+指定されなかった引数は NULL 文字列に置換されます。
+また $# は引数の数を表し、$* はコンマで区切られた全引数になります。
+$@ は $* と同様ですが、更なる置換が行われないように全部の引数が
+クォートされます。
+.It defn
+各引数で指定されたマクロの定義内容をクォートして返します。
+これはマクロ定義の名称変更 (組み込みマクロであっても) に利用できます。
+.It divert
+.Nm m4
+には 10 本の出力キューが用意されています
+(0 から 9 までの番号がついています)。
+処理の最後に、全てのキューは番号順に連結されて最終的な出力を
+生成するようになっています。
+初期状態では出力キューは 0 番に設定されています。
+divert マクロを使って新しい出力キューを選ぶことが出来ます
+(divert に不正な引数を与えると出力が破棄されてしまいます)。
+.It divnum
+現在の出力キューの番号を返します。
+.It dnl
+改行文字を含めた行末までの入力文字を破棄します。
+.It dumpdef
+引数で指定した項目に関して、その名前と定義を出力します。
+引数が与えられなかった場合は全てのマクロについて出力します。
+.It errprint
+第 1 引数を標準エラー出力ストリームへ出力します。
+.It eval
+第 1 引数を計算式とみなして 32-bit 幅の算術演算を用いて計算します。
+演算子としては標準の C で用いられるもの、すなわち 3 項、
+算術、論理、シフト、関係、ビットの各演算子、および括弧が
+利用可能です。
+また数値も C と同様に 8 進、10 進、16 進で記述できます。
+第 2 引数で (もしあれば) 演算結果の基数を指定でき、
+第 3 引数で (もしあれば) 演算結果の最小桁数を指定できます。
+.It expr
+eval の別名です。
+.It ifdef
+第 1 引数で指定した名前のマクロが定義されていれば第 2 引数を返し、
+定義されていなければ第 3 引数を返します。
+第 3 引数が省略されていた場合は、その値は NULL になります。
+ちなみに `unix' という単語があらかじめ定義されています。
+.It ifelse
+第 1 引数が第 2 引数とマッチしたら第 3 引数を返します。
+マッチしなかった場合、その 3 個の引数は捨てられて次の 3 引数を
+用いて同様の検査を繰り返します。
+この処理は引数がなくなるか あるいは 1 つだけ残るまで繰り返され、
+どれにもマッチしなかった場合には その最後に残った引数または NULL
+(引数がなくなった場合) が返されます。
+.It include
+第 1 引数で指定されたファイルの内容を返します。
+ファイルが読み込めなかった場合にはエラーメッセージを出力して処理を
+中断します。
+.It incr
+引数を 1 だけ増加させます。
+引数は正しく数値を表現する文字列でなければいけません。
+.It index
+第 2 引数が、第 1 引数の中で、何文字目に出現するかを返します
+(たとえば index(the quick brown fox jumped, fox) では 16 が返ります)。
+第 2 引数が第 1 引数の中に含まれていなかった場合には -1 を返します。
+.It len
+第 1 引数の文字数を返します。余分な引数は無視されます。
+.It m4exit
+第 1 引数 (指定されなかった場合は 0) を終了コードとして即座に終了します。
+.It m4wrap
+入力が最後の EOF に達したときに、どのような動作を行うかを設定します。
+一般には種々の後始末を行うマクロを設定します
+(たとえば、m4wrap("cleanup(tempfile)") とすると他の全ての処理が終了した
+後に cleanup マクロが呼び出されます)。
+.It maketemp
+第 1 引数の中の文字列 XXXXX を現在のプロセス ID に置換します。
+その他の部分はそのままです。
+これはユニークなテンポラリファイル名の生成に利用できます。
+.It paste
+第 1 引数で指定されたファイルの内容をマクロ処理を一切行わずに include
+します。
+もしファイルが読み込めない場合にはエラーメッセージを出力して処理を
+中断します。
+.It popdef
+各引数へ pushdef されている定義を戻します。
+.It pushdef
+define と同様の引数をとってマクロを定義しますが元の定義をスタックへ
+保存しておきます。
+保存された定義は後で popdef で戻すことができます。
+.It shift
+第 1 引数を除いた全ての引数を返します。
+残りの引数はクォートされてコンマで区切られます。
+クォートすることによって以降の処理で置換が行われないようにしています。
+.It sinclude
+エラーが起きても無視される点を除いて include と同じです。
+.It spaste
+エラーが起きても無視される点を除いて paste と同じです。
+.It substr
+第 1 引数の文字列のうちの、第 2 引数で指定されるオフセットから始まり
+第 3 引数で指定される文字数の範囲の部分文字列を返します。
+第 3 引数が省略された場合は残りの文字列全てを返します。
+.It syscmd
+第 1 引数をシェルに渡します。戻り値はありません。
+.It sysval
+最後に実行した syscmd の戻り値を返します。
+.It translit
+第 1 引数の中の文字を、第 2 引数で指定された文字集合から第 3 引数で
+指定された文字集合へ書き直します。ただし
+.Xr tr 1
+式の省略指定を用いることはできません。
+.It undefine
+第 1 引数で指定されたマクロを未定義にします。
+.It undivert
+指定された出力キュー (引数がない場合は全てのキュー) の内容を掃き出します。
+.It unix
+OS プラットフォームを調べるために予め定義されているマクロです。
+.El
+.Sh 作者
+Ozan Yigit <oz@sis.yorku.ca> and Richard A. O'Keefe (ok@goanna.cs.rmit.OZ.AU)
diff --git a/ja/man/man1/mail.1 b/ja/man/man1/mail.1
new file mode 100644
index 0000000000..e8fc8a7d23
--- /dev/null
+++ b/ja/man/man1/mail.1
@@ -0,0 +1,996 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mail.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: mail.1,v 1.3 1997/10/30 01:42:49 h-nokubi Stab %
+.\" %Id: mail.1,v 1.8.2.2 1997/09/15 08:41:46 jkh Exp %
+.\"
+.Dd December 30, 1993
+.Dt MAIL 1
+.Os BSD 4
+.Sh 名称
+.Nm mail
+.Nd メールの送信と受信
+.Sh 書式
+.Nm mail
+.Op Fl iInv
+.Op Fl s Ar subject
+.Op Fl c Ar cc-addr
+.Op Fl b Ar bcc-addr
+.Ar to-addr...
+.Nm mail
+.Op Fl iInNv
+.Fl f
+.Op Ar name
+.Nm mail
+.Op Fl iInNv
+.Op Fl u Ar user
+.Sh イントロダクション
+.Nm mail
+はインテリジェントなメール処理システムです。
+コマンドシンタックスは
+.Xr \&ed 1
+に似ており、
+.Xr \&ed 1
+での行の代わりにメッセージを扱う形になっています。
+.Pp
+.Bl -tag -width flag
+.It Fl v
+冗長 (verbose) モードです。
+メールの配送の詳細がユーザのターミナルに表示されます。
+.It Fl i
+tty の割り込みシグナルを無視します。
+これは特に雑音の多い電話回線を通して
+.Nm mail
+を使う場合に役に立ちます。
+.It Fl I
+入力がターミナルでない場合にでも強制的に mail を対話モードで実行します。
+特にメールを送る時の特殊文字
+.Sq Ic \&~
+は対話モードでのみ有効となります。
+.It Fl n
+起動時にシステム全体の
+.Pa mail.rc
+ファイルを読み込みません。
+.It Fl N
+メールを読んだりメールフォルダを編集する時に、最初のメッセージヘッダの
+表示を行いません。
+.It Fl s
+コマンドラインからサブジェクトを指定します。
+(
+.Fl s
+フラグの後の最初の引数だけがサブジェクトとして使われます。空白を含む
+サブジェクトは引用符で囲むように注意して下さい。)
+.It Fl c
+カーボンコピーをユーザの
+.Ar list
+へ送ります。
+.It Fl b
+ブラインドカーボンコピーを
+.Ar list
+へ送ります。
+.Ar list
+はカンマで区切られた名前のリストとなります。
+.It Fl f
+あなたの
+.Ar mbox
+(もしくは指定されたファイル) の内容を処理対象として読み込みます。
+.Ar quit
+した時には
+.Nm mail
+は削除されなかったメッセージをこのファイルに書き戻します。
+.It Fl u
+これは以下と等価です。
+.Pp
+.Dl mail -f /var/mail/user
+.El
+.Ss メールを送る
+メッセージを 1 人かそれ以上の人に送るために
+.Nm mail
+をメールが送られる相手の名前を引数として起動することができます。
+メッセージをタイプした後、行の先頭で
+.Sq Li control\-D
+を入力します。
+下記の
+.Ar 「メールにリプライしたり、メールを始める」
+のセクションでは手紙を編集する際に役に立つ
+.Nm mail
+の機能について説明しています。
+.Pp
+.Ss メールを読む
+通常の使い方では
+.Nm mail
+は引数を指定しないで起動すると、ポストオフィスのメールをチェックし、見
+つかった各メッセージにつき 1 行ずつヘッダを表示します。
+現在のメッセージは初期状態では最初のメッセージ ( 1 番に番号が振られて
+います) となっており、
+.Ic print
+コマンド (省略形
+.Ic p
+を使うことができます) によって表示することができます。
+メッセージの位置を
+.Xr \&ed 1
+と同様に
+.Ql Ic \&+
+と
+.Ql Ic \&\-
+のコマンドを使って後や前に移動したり、単に数字を指定して移動したりする
+ことができます。
+.Pp
+.Ss メールを廃棄する
+メッセージをチェックした後、メッセージを
+.Ic delete
+コマンド
+.Pq Ic d
+で削除したり、それに
+.Ic reply
+コマンド
+.Pq Ic r
+でリプライ (返事を出す) したりすることができます。
+メッセージを削除すると
+.Nm mail
+プログラムはそのメッセージのことを忘れますが、
+この操作は取り消すことができます。
+メッセージは
+.Ic undeleted
+コマンド
+.Pq Ic u
+を使ってメッセージの番号を指定するか、
+.Nm mail
+のセッションを
+.Ic exit
+コマンド
+.Pq Ic x
+で中途終了することによって削除をとりやめることができます。
+しかし、削除されたメッセージは通常はなくなり二度と見ることはできませ
+ん。
+.Pp
+.Ss メッセージを指定する
+.Ic print
+や
+.Ic delete
+のようなコマンドは、引数に複数のメッセージの番号を指定することによって
+複数のメッセージに対して一度に適用することができます。
+たとえば
+.Dq Li delete 1 2
+はメッセージ 1 と 2 を削除し、
+.Dq Li delete 1\-5
+は 1 から 5 のメッセージを削除します。
+特別な名前
+.Ql Li \&*
+は全てのメッセージを意味し、
+.Ql Li \&$
+は最後のメッセージを意味します。
+メッセージの最初の数行を表示するコマンド
+.Ic top
+を使って
+.Dq Li top \&*
+で全てのメッセージの最初の数行を表示することができます。
+.Pp
+.Ss メールにリプライしたり、メールを始める
+.Ic reply
+コマンドを使ってメッセージに対する返事を用意して、それをメッセージの差
+出人に送り返すことができます。
+タイプインしたメッセージは end-of-file までがメッセージの内容として定
+義されます。
+メッセージを編集している時に
+.Nm mail
+は
+文字
+.Ql Ic \&~
+で始まる行を特別に扱います。
+例えば、
+.Ql Ic \&~m
+とタイプする(行にこれだけタイプします)と現在のメッセージを
+タブの分 (下記の変数
+.Em indentprefix
+を参照) だけ右にシフトして返事のメッセージにコピーします。
+他のエスケープはサブジェクトの設定や、メッセージの受取人の追加や削除を
+行なったり、またメッセージを修正するためにエディタを起動したり、コマン
+ドを実行するためにシェルを起動したりします。
+(下にこれらのオプションの要約があります。)
+.Pp
+.Ss メールの処理セッションを終了する
+.Nm mail
+セッションは
+.Ic quit
+コマンド
+.Pq Ic q
+で終了することができます。
+チェックされたメッセージは削除されていなければ
+.Ar mbox
+ファイルにセーブされます。削除されている場合は本当に廃棄されます。
+チェックされていないメッセージはポストオフィスに書き戻されます
+(上記の
+.Fl f
+オプション参照)。
+.Pp
+.Ss 個人の配布リストとシステム全体の配布リスト
+たとえば
+.Dq Li cohorts
+へメールを送ると複数の人に配布されるように、個人の配布リストを作成する
+こともできます。
+このようなリストは
+.Pp
+.Dl alias cohorts bill ozalp jkf mark kridle@ucbcory
+.Pp
+というような行をホームディレクトリの
+.Pa \&.mailrc
+ファイルに書いておくことによって定義できます。
+このようなエイリアス (別名) の現在のリストは
+.Nm mail
+内で
+.Ic alias
+コマンドを使って表示することができます。
+システム全体にわたる配布リストは
+.Pa /etc/aliases
+を編集することによって作成することができます。
+これについては
+.Xr aliases 5
+と
+.Xr sendmail 8
+を参照してください。これらでは違った形式で記述されます。
+あなたが送ったメールの中では個人のエイリアスが展開され、そのメールの受取
+人が他の受取人に
+.Ic reply
+できるようになります。
+システム全体の
+.Ic aliases
+はメールが送られた時には展開されませんが、
+そのマシンに返信されたメールは
+.Xr sendmail
+によって処理される際にシステム全体のエイリアスで展開されます。
+.Pp
+.Ss ネットワークメール (ARPA, UUCP, Berknet)
+ネットワークアドレスの説明については
+.Xr mailaddr 7
+を参照してください。
+.Pp
+.Nm mail
+には
+.Pa .mailrc
+ファイルの中でセットして動作方法を変更するためのオプションがたくさんあ
+ります。
+たとえば
+.Dq Li set askcc
+は
+.Ar askcc
+機能を有効にします。
+(これらのオプションについては下にまとめてあります。)
+.Sh 要約
+(`Mail Reference Manual' より抜粋)
+.Pp
+各コマンドは行中に単独入力されるか、またコマンドの後に引数をとることも
+あります。
+コマンドは全て入力する必要はありません。途中まで入力されたも
+のに最初にマッチしたコマンドが使われます。
+メッセージリストを引数として取るコマンドについては、メッセージリストが
+与えられなければコマンドに要求されるものを満たす次のメッセージが使われ
+ます。
+次のメッセージがない場合にはサーチは逆順に行なわれ、もし適用されるメッ
+セージが発見できない場合には
+.Nm mail
+は
+.Dq Li No applicable messages
+と表示しコマンドを中断します。
+.Bl -tag -width delete
+.It Ic \&\-
+前のメッセージを表示します。
+数字の引数
+.Ar n
+が指定されると、
+.Ar n
+個前に移動してメッセージを表示します。
+.It Ic \&#
+行中のこれ以降をコメントとして無視します。
+.It Ic \&?
+コマンドの短い要約を表示します。
+.It Ic \&!
+これに引き続くシェルコマンドを実行します
+(
+.Xr sh 1
+と
+.Xr csh 1
+を参照) 。
+.It Ic Print
+.Pq Ic P
+.Ic print
+と同様ですが、無視されるヘッダフィールドも表示されます。
+.Ic print ,
+.Ic ignore ,
+.Ic retain
+を参照してください。
+.It Ic Reply
+.Pq Ic R
+発信者に返信します。
+元のメッセージの他の受取人には返信されません。
+.It Ic Type
+.Pq Ic T
+.Ic Print
+と同じです。
+.It Ic alias
+.Pq Ic a
+引数がない場合は、現在定義されている全てのエイリアスを表示します。
+引数がひとつ伴うと、そのエイリアスを表示します。
+複数の引数が指定されると、新しいエイリアスを作成するか、古いものを変更
+します。
+.It Ic alternates
+.Pq Ic alt
+.Ic alternates
+コマンドはいくつかのマシンにアカウントがある場合に便利な機能です。
+.Nm mail
+に対してリストされたアドレスがあなたのアドレスであることを指示するため
+に使われます。
+.Ic reply
+コマンドによってメッセージに返信するときに
+.Nm mail
+は
+.Ic alternates
+リストにリストされているアドレスにはメッセージのコピーを送付しません。
+.Ic alternates
+コマンドが引数なしで指定された場合、現在の alternate の内容が表示され
+ます。
+.It Ic chdir
+.Pq Ic c
+ユーザの作業ディレクトリを指定されたものに変更します。
+ディレクトリが指定されていなければ、ユーザのログインディレクトリに変更
+します。
+.It Ic copy
+.Pq Ic co
+.Ic copy
+コマンドは
+.Ic save
+と同様のことを行ないますが、終了時に削除を行なうためのマークをメッセー
+ジにつけません。
+.It Ic delete
+.Pq Ic d
+メッセージのリストを引数として取り、それら全てを削除されたものとしてマー
+クします。
+削除されるメッセージは
+.Ar mbox
+にはセーブされず、また他のほとんどのコマンドの対象となりません。
+.It Ic dp
+(もしくは
+.Ic dt )
+現在のメッセージを削除し、次のメッセージを表示します。
+次のメッセージがなければ、
+.Nm mail
+は
+.Dq Li "at EOF"
+と表示します。
+.It Ic edit
+.Pq Ic e
+メッセージのリストを引数として取り、各々を順にテキストエディタで開きま
+す。
+メッセージはテキストエディタから戻ってきた時に再度読み込まれます。
+.It Ic exit
+.Pf ( Ic ex
+もしくは
+.Ic x )
+ユーザのシステムメールボックス、
+.Ar mbox
+ファイル、
+.Fl f
+での編集ファイルを変更せずにシェルへ直ちに戻ります。
+.It Ic file
+.Pq Ic fi
+.Ic folder
+と同様です。
+.It Ic folders
+フォルダディレクトリ内のフォルダ名をリストします。
+.It Ic folder
+.Pq Ic fo
+.Ic folder
+コマンドは新しいメールファイルかフォルダに切替えます。
+引数がないと、現在どのファイルを読んでいるかを表示します。
+引数を指定すると、現在のファイルに対して行なった変更 (削除など) を書き
+出し、新しいファイルを読み込みます。
+引数の名前にはいくつかの特別な記法を使うことができます。
+# は前のファイルを意味します。
+% はあなたのシステムメールボックスを意味します。
+%user は user のシステムメールボックスを意味します。
+& はあなたの
+.Ar mbox
+ファイルを意味します。
+\&+\&folder はあなたのフォルダディレクトリ中のファイルを意味します。
+.It Ic from
+.Pq Ic f
+メッセージのリストを引数として取り、それらのメッセージのヘッダを表示し
+ます。
+.It Ic headers
+.Pq Ic h
+現在の範囲のヘッダをリストします。現在の範囲は 18 個のメッセージのグルー
+プです。
+引数として
+.Ql \&+
+が指定されると次の 18 個のメッセージのグループが表示され、
+.Ql \&\-
+が指定されると前の 18 個のメッセージのグループが表示されます。
+.It Ic help
+.Ic \&?
+と同じです。
+.It Ic hold
+.Pf ( Ic ho ,
+もしくは
+.Ic preserve )
+メッセージのリストを引数として取り、各メッセージを
+.Ar mbox
+ではなくユーザのシステムメールボックスにセーブするためのマークをつけ
+ます。
+.Ic delete
+によってマークが付けられているメッセージにはマークはつけません。
+.It Ic ignore
+.Ar ignored list
+にヘッダフィールドのリストを追加します。
+ignore list (無視リスト) に登録されているヘッダフィールドは
+メッセージを表示する際にターミナルに表示されません。
+このコマンドはマシンが生成するヘッダフィールドの表示を省略するのに非常
+に便利です。
+.Ic Type
+と
+.Ic Print
+コマンドを使うと表示の際に無視するフィールドも含めメッセージの全てを表
+示することができます。
+.Ic ignore
+が引数なしで実行されると現在の無視するフィールドのリストが表示されます。
+.It Ic mail
+.Pq Ic m
+ログイン名と配布グループ名を引数として取り、メールをそれらの人々に送付
+します。
+.It Ic more
+.Pq Ic \mo
+メッセージのリストを引数として取り、そのリストに対してページャを起動し
+ます。
+.It Ic mbox
+終了時にあなたのホームディレクトリの
+.Ic mbox
+へ書き込むメッセージのリストを指定します。
+.Ic hold
+オプションをセットして
+.Em いなければ
+、これはメッセージに対するデフォルトの動作となります。
+.It Ic next
+.Pq Ic n
+(
+.Ic \&+
+や
+.Tn CR
+と同様)
+次のメッセージへ進み、それを表示します。
+引数リストを指定すると、次にマッチするメッセージを表示します。
+.It Ic preserve
+.Pq Ic pre
+.Ic hold
+と同様です。
+.It Ic print
+.Pq Ic p
+メッセージリストを引数として取り、各メッセージをユーザのターミナルに表
+示します。
+.It Ic quit
+.Pq Ic q
+セッションを終了し、全ての未削除のまだセーブしていないメッセージをユー
+ザのホームディレクトリの
+.Ar mbox
+ファイルへセーブし、
+.Ic hold
+か
+.Ic preserve
+でマークされたメッセージか参照されなかったメッセージはシステムメールボッ
+クスに残し、その他の全てのメッセージをシステムメールボックスから削除し
+ます。
+もし新しいメールがセッション中に届いていたら、メッセージ
+.Dq Li "You have new mail"
+を表示します。
+もしメールボックスのファイルを
+.Fl f
+フラグ付きで編集している途中であれば、編集中のファイルは再度書き込まれ
+ます。
+編集中のファイルの再書き込みが失敗しなければシェルに戻ります。
+編集中のファイルの再書き込みが失敗した場合、ユーザは
+.Ic exit
+コマンドによって抜け出すことができます。
+.It Ic reply
+.Pq Ic r
+メッセージリストを引数として取り、メールを指定されたメッセージの差出人
+と全ての受取人に送ります。
+デフォルトのメッセージは削除されていてはいけません。
+.It Ic respond
+.Ic reply
+と同様です。
+.It Ic retain
+.Ar retained list
+(保持リスト) にヘッダフィールドのリストを追加します。
+メッセージを表示する時には、retain list に登録されているヘッダーフィー
+ルドのみがターミナルに表示されます。
+他の全てのフィールドは省略されます。
+.Ic Type
+と
+.Ic Print
+コマンドを使うとメッセージの全てを表示することができます。
+.Ic retain
+が引数を指定されずに実行されると、現在 retain list に登録されているフィー
+ルドのリストを表示します。
+.It Ic save
+.Pq Ic s
+メッセージのリストとファイル名を引数として取り、各メッセージを順にファ
+イルの末尾に追加します。
+ファイル名が引用符で囲まれて表示され、それに続いて行数と文字数がユーザ
+のターミナルにエコーされます。
+.It Ic set
+.Pq Ic se
+引数がない場合には全ての変数の値を表示します。
+引数が指定された場合はオプションをセットします。
+引数は
+.Ar option=value
+( = の前後にはスペースは入りません) か
+.Ar option
+の形式を取ります。
+空白やタブを代入式に含めるために引用符を代入文の どの部分にでも
+置いてかまいません。例えば次のようになります。
+.Dq Li "set indentprefix=\*q->\*q"
+.It Ic saveignore
+.Ic saveignore
+は
+.Ic ignore
+コマンドが
+.Ic print
+や
+.Ic type
+の際に行なうことを
+.Ic save
+の際に行なうものです。
+これでマークされたヘッダフィールドは
+.Ic save
+コマンドによって保存される時や自動的に
+.Ar mbox
+へ保存される時にフィルタリングされて取り除かれます。
+.It Ic saveretain
+.Ic saveretain
+は
+.Ic retain
+が
+.Ic print
+や
+.Ic type
+の際に行なうことを
+.Ic save
+の際におこなうものです。
+.Ic save
+コマンドによって保存される時や自動的に
+.Ar mbox
+へ保存される時には、これでマークされたヘッダフィールドのみが保存されます。
+.Ic saveretain
+は
+.Ic saveignore
+に優先します。
+.It Ic shell
+.Pq Ic sh
+シェルを対話モード起動します。
+.It Ic size
+メッセージのリストを引数として取り、各メッセージのサイズを文字数で表示
+します。
+.It Ic source
+.Ic source
+コマンドはファイルからコマンドを読み込みます。
+.It Ic top
+メッセージのリストを引数として取り、各メッセージの先頭の数行を表示しま
+す。
+表示する行数は変数
+.Ic toplines
+によって制御でき、デフォルトでは 5 行となっています。
+.It Ic type
+.Pq Ic t
+.Ic print
+と同様です。
+.It Ic unalias
+.Ic alias
+コマンドによって定義された名前のリストを引数として取り、記憶されている
+ユーザのグループを無効にします。
+グループの名前は以後意味を持たなくなります。
+.It Ic undelete
+.Pq Ic u
+メッセージのリストを引数として取り、各メッセージを削除されて
+.Ic いない
+ものとしてマークします。
+.It Ic unread
+.Pq Ic U
+メッセージのリストを引数として取り、各メッセージを
+.Ic 未読
+としてマークします。
+.It Ic unset
+オプションの名前のリストを引数として取り、それらの記憶されている値を無
+効とします。
+.Ic set
+の逆です。
+.It Ic visual
+.Pq Ic v
+メッセージのリストを引数として取り、各メッセージについてスクリーンエディ
+タを起動します。
+.It Ic write
+.Pq Ic w
+.Ic save
+と同様ですが、
+.Pq Ar ヘッダを除いて
+メッセージの本文
+.Ic のみ
+が保存されます。
+メッセージシステムを使ってソースプログラムテキストを送受信するような作
+業で非常に便利です。
+.It Ic xit
+.Pq Ic x
+.Ic exit
+と同様です。
+.It Ic z
+.Nm mail
+は
+.Ic headers
+コマンドにて説明されているようにウィンドウいっぱいにメッセージヘッダを
+表示します。
+.Nm mail
+が指し示しているメッセージの位置は
+.Ic \&z
+コマンドによって次のウィンドウに進めることができます。
+また、
+.Ic \&z\&\-
+コマンドを使って前のウィンドウに戻ることもできます。
+.El
+.Ss チルダ/エスケープ
+.Pp
+ここではチルダエスケープを要約します。
+チルダエスケープはメッセージを編集している時に特別の機能を実行するため
+に使われます。
+チルダエスケープは行の先頭でのみ認識されます。
+実際のエスケープ文字は
+.Ic escape
+オプションによってセットできるので、
+.Dq Em チルダエスケープ
+という呼び方は多少間違ったものです。
+.Bl -tag -width Ds
+.It Ic \&~! Ns Ar command
+指定されたシェルコマンドを実行し、メッセージに戻ります。
+.It Ic \&~b Ns Ar name ...
+カーボンコピーの受取人のリストへ指定された name を追加します。
+ただし name は Cc: 行へは表示されません ("ブラインド" カーボ
+ンコピー)。
+.It Ic \&~c Ns Ar name ...
+指定された name をカーボンコピーの受取人のリストに追加します。
+.It Ic \&~d
+ホームディレクトリの
+.Dq Pa dead.letter
+ファイルをメッセージ中に読み込みます。
+.It Ic \&~e
+今までに編集したメッセージをテキストエディタで開きます。
+編集セッションの終了後、メッセージに続けてテキストを追加することができ
+ます。
+.It Ic \&~f Ns Ar messages
+指定されたメッセージを送ろうとしているメッセージ中に読み込みます。
+メッセージが指定されない場合は、現在のメッセージを読み込みます。
+現在無視されているメッセージヘッダ (
+.Ic ignore
+か
+.Ic retain
+コマンドによる) は読み込まれません。
+.It Ic \&~F Ns Ar messages
+.Ic \&~f
+と同様ですが、全てのメッセージヘッダが含まれます。
+.It Ic \&~h
+メッセージヘッダを順に各々を入力して編集し、テキストを末尾に追加したり、
+現在のターミナルの erase 文字や kill 文字を使ってフィールドを変更した
+りします。
+.It Ic \&~m Ns Ar messages
+指定されたメッセージを現在送ろうとしているメッセージの中に読み込み、タ
+ブか
+.Ar indentprefix
+に設定されている値でインデントします。
+メッセージが指定されていない場合は現在のメッセージが読み込まれます。
+現在無視されているメッセージヘッダ (
+.Ic ignore
+か
+.Ic retain
+コマンドによる) は読み込まれません。
+.It Ic \&~M Ns Ar messages
+.Ic \&~m
+と同様ですが、全てのメッセージヘッダが読み込まれます。
+.It Ic \&~p
+今までに修正したメッセージをメッセージヘッダフィールドと共に表示します。
+.It Ic \&~q
+送ろうとしているメッセージを中断し、
+.Ic save
+がセットされている場合はホームディレクトリの
+.Dq Pa dead.letter
+にメッセージをセーブします。
+.It Ic \&~r Ns Ar filename
+指定されたファイルをメッセージに読み込みます。
+.It Ic \&~s Ns Ar string
+指定された文字列を現在のサブジェクトフィールドに設定します。
+.It Ic \&~\&t Ns Ar name ...
+指定された名前を受取人のリストに追加します。
+.It Ic \&~\&v
+別のエディタ (
+.Ev VISUAL
+オプションによって定義されているもの) で現在までに修正したメッセージを
+開きます。
+通常は別のエディタはスクリーンエディタとなります。
+エディタを終了した後、メッセージの末尾にテキストを追加できるようになり
+ます。
+.It Ic \&~w Ns Ar filename
+指定されたファイルにメッセージを書き込みます。
+.It Ic \&~\&| Ns Ar command
+指定されたコマンドをフィルタとし、パイプを通してメッセージに適用します。
+コマンドから何の出力もないか、コマンドが異常終了した場合は、メッセージ
+のテキストは元のままとなります。
+メッセージを整形するためによく
+.Xr fmt 1
+コマンドが
+.Ic command
+として使われます。
+.It Ic \&~: Ns Ar mail-command
+指定されたメールコマンドを実行します。
+しかし全てのコマンドが使えるわけではありません。
+.It Ic \&~~ Ns Ar string
+メッセージに単独の ~ で始まるテキスト文字列を挿入します。
+エスケープ文字が変更されている場合は、それを送るためにはエスケープ文字
+を 2 つ指定しなければなりません。
+.El
+.Ss メールオプション
+オプションは
+.Ic set
+と
+.Ic unset
+コマンドで制御します。
+オプションは 2 値か文字列となります。
+2 値の場合はセットされているか、されていないかだけが意味を持ちます。
+文字列の場合は実際にセットしている値が意味を持ちます。
+2 値のオプションには次のものがあります。
+.Bl -tag -width append
+.It Ar append
+メッセージを
+.Ar mbox
+にセーブする場合、先頭に書くのではなく、末尾に追加します。
+これは常にセットされていなければなりません (システムの
+.Pa mail.rc
+ファイルにおいて設定することが望ましいです)。
+.It Ar ask
+.Nm mail
+は送ろうとしている各メッセージのサブジェクトの入力を促します。
+改行のみを入力するとサブジェクトフィールドは送られません。
+.It Ar askcc
+各メッセージの編集後に追加のカーボンコピーの受取人の入力を促します。
+現在のリストで十分な場合は改行のみを入力してください。
+.It Ar autoprint
+.Ic delete
+コマンドを
+.Ic dp
+のように動作させます。
+すなわちメッセージの削除後、次のものが自動的に表示されます。
+.It Ar debug
+2 値のオプション
+.Ar debug
+をセットするとコマンド行で
+.Fl d
+を指定した時と同じ動作になり、
+.Nm mail
+はデバッグに有用な全ての種類の情報を出力します。
+.It Ar dot
+2 値のオプション
+.Ar dot
+をセットすることによって、
+.Nm mail
+は行中にピリオドが単独で入力されると、送ろうとしているメッセージが終了した
+ものとみなします。
+.It Ar hold
+このオプションはデフォルトでメッセージをシステムメールボックス中に保持
+するために使われます。
+.It Ar ignore
+ターミナルからの割り込み信号を無視し、@ としてエコーします。
+.It Ar ignoreeof
+.Ar ignoreeof
+は
+.Ar dot
+に関連するオプションであり、
+.Nm mail
+にメッセージの最後での control-d を無視させます。
+.Ar Ignoreeof
+は
+.Nm mail
+のコマンドモード中でも有効となります。
+.It Ar metoo
+通常、差出人を含むグループの展開時には差出人は取り除かれます。
+このオプションをセットすることによって差出人も展開されたグループに含ま
+れるようになります。
+.It Ar noheader
+.Ar noheader
+オプションをセットすると、コマンド行で
+.Fl N
+フラグを指定するのと同様の動作となります。
+.It Ar nosave
+普通は
+.Tn RUBOUT
+(erase もしくは delete) を 2 回入力してメッセージの編集を中断する時、
+.Nm mail
+はホームディレクトリのファイル
+.Dq Pa dead.letter
+に中断した手紙をコピーします。
+この 2 値のオプション
+.Ar nosave
+をセットすると、ファイルへのコピーは行なわれません。
+.It Ar Replyall
+.Ic reply
+コマンドと
+.Ic Reply
+コマンドの意味を逆転させます。
+.It Ar quiet
+最初に起動された時にバージョンの表示を省略します。
+.It Ar searchheaders
+このオプションがセットされていると、``/x:y'' の形式でのメッセージリス
+トの指定はヘッダフィールド ``x'' 中にサブストリング ``y'' を含む全ての
+メッセージに展開されます。ストリングのサーチは大文字と小文字を区別しま
+せん。
+.It Ar verbose
+.Ar verbose
+オプションをセットするとコマンド行で
+.Fl v
+フラグをセットした時と同様の動作となります。
+.Nm mail
+が verbose (饒舌) モードで実行されている時、実際のメッセージの配送の様
+子がターミナルに表示されます。
+.El
+.Ss オプションストリング値
+.Bl -tag -width Va
+.It Ev EDITOR
+.Ic edit
+コマンドと
+.Ic \&~e
+エスケープで使われるテキストエディタのパス名です。
+定義されていない場合はデフォルトのエディタが使われます。
+.It Ev LISTER
+.Ic folders
+コマンドで使われるディレクトリをリストするコマンドのパス名です。
+デフォルトは
+.Pa /bin/ls
+です。
+.It Ev PAGER
+.Ic more
+コマンドや変数
+.Ic crt
+がセットされている時に使われるプログラムのパス名です。
+このオプションが定義されていないとデフォルトのページャ
+.Xr more 1
+が使われます。
+.It Ev SHELL
+.Ic \&!
+コマンドや
+.Ic \&~!
+エスケープで使われるシェルのパス名です。
+このオプションが定義されていないとデフォルトのシェルが使われます。
+.It Ev VISUAL
+.Ic visual
+コマンドや
+.Ic \&~v
+エスケープで使われるテキストエディタのパス名です。
+.It Va crt
+値をとるオプション
+.Va crt
+は、メッセージを読むために
+.Ev PAGER
+が使われるメッセージの長さの閾値として使われます。
+.Va crt
+が値なしでセットされていると、システムに保存されているターミナルの画面
+の高さが閾値の計算に使われます (
+.Xr stty 1
+を参照して下さい)。
+.It Ar escape
+これが定義されていると、このオプションの最初のキャラクタがエスケープを
+示すための ~ の代わりに使われます。
+.It Ar folder
+メッセージのフォルダを置くためのディレクトリ名です。
+これが `/' で始まっていると
+.Nm mail
+は絶対パスとして解釈します。それ以外の場合はフォルダのディレクトリはホー
+ムディレクトリからの相対パスとして扱われます。
+.It Ev MBOX
+.Ar mbox
+の名前です。
+これはフォルダの名前とすることもできます。
+デフォルトはホームディレクトリの
+.Dq Li mbox
+となります。
+.It Ar record
+これが定義されていると、全ての発信されるメールを記録するために使われる
+ファイルのパス名となります。
+定義されていない場合は、発信メールはセーブされません。
+.It Ar indentprefix
+チルダエスケープ ``~m'' で、通常のタブ文字 (^I) の代わりにメッセージを
+インデントするために使われる文字列となります。
+これにスペースやタブが含まれている場合は引用符で囲んで下さい。
+.It Ar toplines
+これが定義されていると、
+.Ic top
+コマンドで表示するメッセージの行数となります。通常は先頭の 5 行が表示
+されます。
+.El
+.Sh 環境変数
+.Nm mail
+は環境変数
+.Ev HOME
+と
+.Ev USER
+を使用します。また、環境変数
+.Ev MAIL
+がセットされていると、デフォルトの /var/mail の代わりにユーザのメール
+ボックスの位置として使われます。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/misc/mail.*help -compact
+.It Pa /var/mail/*
+ポストオフィスです。
+.It ~/mbox
+ユーザの古いメールです。
+.It ~/.mailrc
+起動時に実行されるメールコマンドを指定するファイルです。
+.It Pa /tmp/R*
+一時ファイルです。
+.It Pa /usr/share/misc/mail.*help
+ヘルプファイルです。
+.sp
+.It Pa /usr/share/misc/mail.rc
+.It Pa /usr/local/etc/mail.rc
+.It Pa /etc/mail.rc
+システムの初期化ファイルです。
+各ファイルが存在すればこの順に読み込まれます。
+.El
+.Sh 関連項目
+.Xr fmt 1 ,
+.Xr newaliases 1 ,
+.Xr vacation 1 ,
+.Xr aliases 5 ,
+.Xr mailaddr 7 ,
+.Xr sendmail 8 ,
+.Rs
+.%T "The Mail Reference Manual" .
+.Re
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+で登場しました。
+本マニュアルページは
+元々 Kurt Shoens によって書かれた
+.%T "The Mail Reference Manual"
+をベースにしています。
+.Sh バグ
+ここに文書化されていないフラグがいくつか存在します。
+ほとんどは一般のユーザには役に立たないものです。
+.Pp
+混乱しやすいのですが、通常
+.Nm mail
+は
+.Nm Mail
+への単なるリンクとなっています。
diff --git a/ja/man/man1/mailq.1 b/ja/man/man1/mailq.1
new file mode 100644
index 0000000000..bb91e6cfb8
--- /dev/null
+++ b/ja/man/man1/mailq.1
@@ -0,0 +1,83 @@
+.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mailq.1 8.5 (Berkeley) 2/1/97
+.\" jpman %Id: mailq.1,v 1.2 1997/03/29 06:21:16 horikawa Stab %
+.\"
+.Dd February 1, 1997
+.Dt MAILQ 1
+.Os BSD 4
+.Sh 名称
+.Nm mailq
+.Nd メールのキューを表示する
+.Sh 書式
+.Nm mailq
+.Op Fl v
+.Sh 解説
+.Nm mailq
+は、後で配送するためにキューに蓄えたメールを一覧表示します。
+.Pp
+各メッセージの 1 行目は、ホストがメッセージにつける内部の識別子、
+メッセージのバイト数、キューに入れられた日付と時間、
+メッセージの送り手を表示します。
+2 行目は、このメールがキューに入れられる原因となったエラーを表示します。
+このメッセージは、
+キューのなかでメールが最初に処理されているときには表示されません。
+そのあとの行には、メールの受け手が 1 行に 1 人ずつ表示されます。
+.Pp
+.Nm mailq
+は、``sendmail -bp'' とまったく同じです。
+.Pp
+オプション:
+.Bl -tag -width flag
+.It Fl v
+詳細な情報を表示します。
+通常の表示に加え、メッセージの優先度と、
+警告メッセージを送ったか否かを示す 1 文字の記号 (``+'' か空白)
+を最初の行に追加します。
+さらに、メールの受け手の ``制御ユーザ (controlling user)'' 情報を表示します;
+これは、このメールによって実行されるプログラムの所有者および、
+存在するのであれば、このコマンドが展開される元のエイリアス名です。
+.El
+.Pp
+.Nm mailq
+は成功した場合は0を、エラーが起きた場合は0より大きな
+値を返します。
+.Pp
+.Sh 関連項目
+.Xr sendmail 8
+.Pp
+.Sh 歴史
+.Nm mailq
+は
+.Bx 4.0
+から登場しました。
diff --git a/ja/man/man1/make.1 b/ja/man/man1/make.1
new file mode 100644
index 0000000000..c44f6086a5
--- /dev/null
+++ b/ja/man/man1/make.1
@@ -0,0 +1,963 @@
+.\" this file based on that translated to japanese on NetBSD Japanese Reference
+.\" Manual Project, and modefied to fit FreeBSD Reference Manual
+.\" by Mochida Shuji 1996/04/26
+.\"
+.\" Copyright (c) 1990, 1993
+.\" jpman %Id: make.1,v 1.2 1997/05/27 00:42:17 mutoh Stab %
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
+.\" %Id: make.1,v 1.6.2.3 1997/09/15 09:20:40 jkh Exp %
+.\"
+.Dd March 19, 1994
+.Dt MAKE 1
+.Os
+.Sh 名称
+.Nm make
+.Nd プログラムの依存関係をメンテナンスする
+.Sh 書式
+.Nm make
+.Op Fl Beiknqrst
+.Op Fl D Ar variable
+.Op Fl d Ar flags
+.Op Fl f Ar makefile
+.Op Fl I Ar directory
+.Bk -words
+.Op Fl j Ar max_jobs
+.Op Fl m Ar directory
+.Ek
+.Op Fl V Ar variable
+.Op Ar variable=value
+.Op Ar target ...
+.Sh 解説
+.Nm make
+は、プログラムのメンテナンスを単純化するためのツールです。その入力は
+ファイル毎の依存関係指定のリストで、それぞれのファイルがどのプログラム、
+どのファイルに依存するか記述されています。
+その指定リストとして、ファイル
+.Ql Pa makefile
+が存在すればそれを、無ければ
+.Ql Pa Makefile
+を読み込みます。
+.Ql Pa .depend
+というファイルがあれば、それも読み込みます
+.Pq Xr mkdep 1 を参照
+。
+.Pp
+本マニュアルはリファレンスのためのみのドキュメントです。
+.Nm make
+と makefile に関する詳しい記述は
+.%T "Make \- A Tutorial"
+を参照してください
+.\" (
+.\" .Dq /usr/src/usr.bin/make/PSD.doc
+.\" に、本
+.\" .Nm make
+.\" の元になった pmake に関する
+.\" .Xr nroff 1
+.\" でフォーマットできるドキュメントがあります)
+。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width Ds
+.It Fl B
+シーケンス中の依存行のソースを作成するために、各コマンドに対して
+一つのシェルを実行する、バックワード互換モードで実行しようとします。
+.It Fl D Ar variable
+大域変数
+.Ar variable
+を 1 と定義します。
+.It Fl d Ar flags
+デバッグモードを有効にし、
+.\" .Ar flags
+.\" で指定されたデバッグ情報を出力します。
+.Nm
+が表示するデバッグ情報の種類を指定します。
+.Ar flags
+には、以下のうち 1 つ以上を指定できます。
+.Bl -tag -width Ds
+.It Ar A
+すべてのデバッグ情報を出力します。他のフラグをすべて指定したことと
+等価です。
+.It Ar a
+アーカイブ検索とキャッシュに関する情報を表示します。
+.It Ar c
+条件評価に関する情報を表示します。
+.It Ar d
+ディレクトリ検索とキャッシュに関する情報を表示します。
+.It Ar "g1"
+処理を行う前に、入力のグラフを表示します。
+.It Ar "g2"
+すべての処理を行ったあと、あるいはエラーにより終了する前に入力のグラフを
+表示します。
+.It Ar j
+複数のシェルを起動する場合の情報を表示します。
+.It Ar m
+ターゲットの作成と変更日付に関する情報を表示します。
+.It Ar s
+拡張子解釈に関する情報を表示します。
+.It Ar t
+ターゲットリストのメンテナンスに関する情報を表示します。
+.It Ar v
+変数の値に関する情報を表示します。
+.El
+.It Fl e
+環境変数で makefile 中の変数の値を上書きするように指示します。
+.It Fl f Ar makefile
+デフォルトの
+.Ql Pa makefile
+と
+.Ql Pa Makefile
+のかわりに、読み込むファイルを指定します。もし
+.Ar makefile
+が
+.Ql Fl
+なら標準入力から読み込みます。複数のファイルが指定可能で、
+指定した順に読み込まれます。
+.It Fl I Ar directory
+makefile と、インクルードされる makefile を検索するためのディレクトリを
+指定します。システムで定義してある makefile のあるディレクトリ (または、
+複数のディレクトリ;
+.Fl m
+オプションを参照) は自動的にリストに含まれ、検索されます。
+.It Fl i
+makefile から実行されたシェルコマンドが 0 でない終了ステータスを返し
+ても無視します。makefile 中でコマンドの先頭に
+.Ql Fl
+を指定するのと同じです。
+.It Fl j Ar max_jobs
+.Nm make
+が同時に起動できるジョブの数を指定します。互換性モードをオフにするには、
+.Ar B
+フラグも指定してください。
+.It Fl k
+エラーが発生しても処理を続行します。ただし、発生したエラーによって作成
+が不能になったターゲットに依存したターゲットに関しては処理が中断されます。
+.It Fl m Ar directory
+<...> 形式で読み込まれる sys.mk や makefile を検索するための
+ディレクトリを指定します。複数のディレクトリを検索パスに加えることが
+できます。このパスは、デフォルトのシステムインクルードパス
+/usr/share/mk を上書きします。
+さらに、システムインクルードパスを "..."形式のインクルードによって
+追加することができます(
+.Fl I
+オプションを参照)。
+.It Fl n
+make が実行するであろうコマンド内容の表示のみを行い、実行はしません。
+.It Fl q
+いっさいのコマンドを実行せず、指定されたターゲットが最新のものであれば 0
+を、そうでなければ 1 を終了ステータスとして返します。
+.It Fl r
+システムの makefile で定義された組み込みのルールを使用しません。
+.It Fl s
+実行するコマンドを表示しません。makefile のなかで、コマンドの先頭に
+.Ql Ic @
+を指定するのと同じです。
+.It Fl t
+makefile で指定されたターゲットを作り直すのではなく、ターゲットを作成
+するか、あるいは最終更新日付を現在の時刻に設定することにより、
+ターゲットが最新であるかのようにします。
+.It Fl V Ar variable
+グローバルな文脈での
+.Nm make
+の
+.Ar variable
+の値を表示します。如何なるターゲットも生成しません。
+このオプションで複数のインスタンスを指定することができます。
+変数は、各行毎に表示されます。未定義もしくは空の変数は、空行で
+表現されます。
+.It Ar variable=value
+変数
+.Ar variable
+の値を
+.Ar value
+に設定します。
+.El
+.Pp
+makefile には 7 種類の行があります: 依存関係記述、シェルコマンド、変数
+代入、インクルード文、条件命令、for ループ、コメントです。
+.Pp
+一般に、行は行末にバックスラッシュ
+.Pq Ql \e
+を置くことにより次行へ継続させることがで
+きます。この場合、バックスラッシュ直後の改行と、次の行の先頭の
+空白部分は 1 つの空白に置き換えられます。
+.Sh ファイル依存関係記述
+入力ファイルにおける依存関係記述行は、1 つ以上のターゲット、オペレータ、
+0個 以上のソースからなります。
+これは、ターゲットがソースに「依存」しているという関係を
+定義しており、通常は、ソースからターゲットが作成されます。ターゲットと
+ソースとの厳密な関係はオペレータによって、両者間に指定します。
+オペレータには以下の種類があります。
+.Bl -tag -width flag
+.It Ic \&:
+ターゲットの最終更新日付が、いずれかのソースの最終更新日付よりも
+古いものであれば、ターゲットは古いものであり、作り直されるべきものと
+判断されます。
+別の行でこのオペレータによる同じターゲットに関するソースの記述があれば、
+それらはすべて 1 つにまとめられます。ターゲットの作成中に
+.Nm make
+が中断されると、ターゲットは削除されます。
+.It Ic \&!
+ターゲットはつねに作り直されます。ただし、作り直されるのは、
+すべてのソースが検査され、必要と判断されたソースが作り直されたあとです。
+このオペレータによる同じターゲットに関するソースの記述が別の行にもあれば、
+それらはすべて 1 つにまとめられます。ターゲットの作成中に
+.Nm make
+が中断されると、ターゲットは削除されます。
+.It Ic \&::
+ソースが指定されていなかった場合、つねにターゲットは作り直されます。
+指定されていた場合にはソースのいずれかがターゲットよりも新しい時だけ
+ターゲットは作り直されます。本オペレータでは、別の行において同じ
+ターゲットに関するソースの記述があっても 1 つにまとめません。
+ターゲットの作成中に
+.Nm make
+が中断されるても、ターゲットは削除されません。
+.El
+.Pp
+ターゲットとソースは、シェルのワイルドカードとして
+.Ql ? ,
+.Ql * ,
+.Ql [] ,
+.Ql {}
+を含むこ
+とができます。
+.Ql ? ,
+.Ql * ,
+.Ql []
+は、ターゲットまたはソースの最後の要素として記述でき、
+存在するファイルを指定するものでなければなりません。
+.Ql {}
+はファイルが存在しなくてもかまいません。シェルのように辞書順に並べられて
+展開されることはなく、ファイルシステム上に並んでいる順番のまま行われます。
+.Sh シェルコマンド
+ターゲットは、シェルコマンドの列と関連付けることができ、通常はそれによって
+ターゲットを作成します。
+これに含まれる各コマンドは、
+.Em 必ず
+行頭のタブに続けて記述します。同一のターゲットに
+対して複数の依存記述行がある場合、
+.Ql Ic ::
+オペレータを使用したのでなければ、それらのうちの 1 つにのみコマンド行を
+続けることができます。
+.Pp
+もし最初の文字が
+.Ql Ic @
+または
+.Ql Ic \-
+ならば
+.Pq 2\ 文字とも指定することも可能
+、コマンドは特別な扱いを受けます。
+.Ql Ic @
+は、コマンドが実行される前にコマンド内容が表示されることを抑制します。
+.Ql Ic \-
+は、コマンドの 0 ではない終了ステータスを無視するように指示します。
+.Sh 変数代入
+.Nm make
+で使われる変数はシェルでの変数に類似しています。そして、歴史的な経緯から、
+すべて大文字からなる名前が用いられます。変数代入には以下の 5 通りの
+オペレータを使用できます。
+.Bl -tag -width Ds
+.It Ic \&=
+変数に値を代入します。その時点までの値は失われます。
+.It Ic \&+=
+現在の変数の値に、右辺の値を追加します。
+.It Ic \&?=
+変数が未定義の場合のみ、値を代入します
+.It Ic \&:=
+右辺を展開した値を代入します。つまり、変数に代入する前に値の展開を行います。
+通常、値の展開は代入時には行われず、変数が参照されるときに行われます。
+.It Ic \&!=
+右辺を展開した値をシェルに実行させ、実行結果を左辺の変数に代入します。
+結果のなかに含まれる改行は空白に置き換えられます。
+.El
+.Pp
+いずれの場合も、値の前にある空白は無視されます。値が追加される場合、
+変数の直前の値と追加する値との間に空白が挿入されます。
+.Pp
+変数は、ドル記号
+.Pq Ql $
+に続いて中括弧
+.Pq Ql {}
+または小括弧
+.Pq Ql ()
+で囲まれた変数名を置くことにより展開されます
+.\" .Pq 例: ${LIBS}
+。もし変数名が 1 文字な
+ら、変数名を囲む括弧は省略できますが、このような省略形は推奨できません。
+.Pp
+変数置換は、変数が用いられている場所により、 2 つの別々のタイミングで
+行われます。依存関係記述行で用いられた変数は、その行が読み込まれたときに
+展開されます。シェルコマンド内で用いられた変数は、シェルコマンド実行時に
+展開されます。
+.Pp
+変数には、優先度に従って、4 つの異なるクラスがあります:
+.Bl -tag -width Ds
+.It 環境変数
+.Nm make
+の環境中で有効な変数
+.It グローバル変数
+makefile とインクルードされた makefile 内で有効な変数。
+.It コマンドライン変数
+コマンドラインで指定された変数。
+.It ローカル変数
+あるターゲットのみに対して定義される変数。ローカル変数には、
+以下の 7 種類があります:
+.Bl -tag -width ".ARCHIVE"
+.It Va .ALLSRC
+このターゲットに対するすべてのソースのリスト。
+.Ql Va \&> .
+も同じです。
+.It Va .ARCHIVE
+アーカイブファイル名
+.It Va .IMPSRC
+ターゲット名に変換するのに使用するソースのファイル名またはパス名
+.Pq 「暗黙の」ソース
+.\" .Pq ターゲットが foo.o なら foo.c 等
+。
+.Ql Va \&< .
+も同じです。
+.It Va .MEMBER
+アーカイブのメンバー
+.It Va .OODATE
+ターゲットよりも新しいソースのリスト。
+.Ql Va \&? .
+も同じ。
+.It Va .PREFIX
+ターゲットのディレクトリ名と拡張子を取り除いた名前。
+.Ql Va * .
+も同じ。
+.It Va .TARGET
+ターゲットの名前。
+.Ql Va @ .
+も同じ。
+.El
+.Pp
+短い形式
+.Ql Va @ ,
+.Ql Va ? ,
+.Ql Va \&> ,
+.Ql Va *
+は古い makefile での互換性のためのものですが、利用することは推奨できません。
+また、
+.Ql Va "@F" ,
+.Ql Va "@D" ,
+.Ql Va "<F" ,
+.Ql Va "<D" ,
+.Ql Va "*F" ,
+.Ql Va "*D"
+は
+.At V
+の makefile との互換性のために存在していますが、利用することは
+推奨できません。
+.Pp
+次の 4 つのローカル変数は依存関係記述行のソースに使うことができます。
+これらは、その行のターゲット毎の値に展開されます。
+これらのローカル変数は
+.Ql Va .TARGET ,
+.Ql Va .PREFIX ,
+.Ql Va .ARCHIVE ,
+.Ql Va .MEMBER
+です。
+.Pp
+さらに、
+.Nm make
+では以下の変数を利用することができます。
+.Bl -tag -width MAKEFLAGS
+.It Va \&$
+単一のドル記号
+.Ql \&$
+。すなわち、
+.Ql \&$$
+は単一のドル記号に置換されます。
+.It Va .MAKE
+.Nm make
+の起動に使用された名前
+.Pq Va argv Op 0
+。
+.It Va .CURDIR
+.Nm make
+が実行されたディレクトリ。
+.It Ev PWD
+現在のディレクトリへの異なったパス。
+.Nm make
+は普通、
+.Ql Va .CURDIR
+を
+.Xr getcwd 2
+で得られたパスに設定します。しかしながら、環境変数
+.Ql Ev PWD
+が設定されており、与えられたパスがカレントディレクトリの時、
+.Nm make
+は、
+.Ql Va .CURDIR
+を
+.Ql Ev PWD
+の値に設定します。
+.Ql Ev PWD
+は、
+.Nm make
+が実行している全てのプログラムに対して、
+.Ql Va .OBJDIR
+の値を設定します。
+.El
+.Pp
+変数展開において、その変数内の単語を選択したり、変更したりすることが
+できます
+.Pq 単語とは空白で区切られた文字列です
+。変数展開の一般形は、次のとおりです。
+.Pp
+.Dl {variable[:modifier[:...]]}
+.Pp
+各修飾子は、コロンと以下に示すいずれかの文字のうち 1 文字からなります。
+リテラルなコロン
+.Pq Ql \&:
+を指定するにはコロンの前にバックスラッシュ
+.Pq Ql \e
+を置きます。
+.Bl -tag -width Cm E\&
+.It Cm E
+変数中の各単語を拡張子で置換します。
+.It Cm H
+変数中の各単語を、パスの最後の要素
+.\" (最後のスラッシュ
+.\" .Pq Ql /
+.\" より後の部分)
+を除いた部分で置換します。
+.It Cm M Ns Ar pattern
+pattern にマッチする単語を選択します。標準的なワイルドカード
+.Pf ( Ql * ,
+.Ql ? ,
+.Ql Op )
+が使用できます。ワイルドカード文字はバックスラッシュ
+.Pq Ql \e
+によりエスケープできます。
+.It Cm N Ns Ar pattern
+pattern にマッチしない単語を選択します。それ以外は
+.Ql Cm M
+と同様です。
+.It Cm R
+変数中の各単語から拡張子を取り除きます。
+.Sm off
+.It Cm S No \&/ Ar old_pattern Xo
+.No \&/ Ar new_pattern
+.No \&/ Op Cm g
+.Xc
+.Sm on
+各単語中の最初の
+.Ar old_pattern
+を
+.Ar new_pattern
+に置換します。もし、最後のスラッシュのあとに
+.Ql g
+が指定されていれば、各単語中に出現したすべての
+.Ar old_pattern
+が
+.Ar new_pattern
+に置換されます。
+.Ar old_pattern
+が
+.Ql ^
+で始まっているなら、そのパタンを各単語の先頭からマッチさせることを
+意味します。
+.Ar old_pattern
+がドル記号
+.Pq Ql $
+で終わっているなら、そのパタンを各単語の終端にマッチさせることを
+意味します。
+.Ar new_string
+中のアンド記号
+.Pq Ql &
+は
+.Ar old_pattern
+に置換されます。修飾文字列の区切りにはどんな文字を使ってもかまいません。
+.Ql ^
+,
+.Ql $
+,
+.Ql &
+と区切り文字はバックスラッシュ
+.Pq Ql \e
+によりエスケープできます。
+.Pp
+.Ar old_string
+と
+.Ar new_string
+中では通常の変数置換が行われます。ただし、ドル記号
+.Pq Ql \&$
+の展開を抑制するためには、通常のドル記号の前置ではなく、
+バックスラッシュでエスケープします。
+.It Cm T
+変数中の各単語をパスの最後の要素
+.\" (最後のスラッシュ
+.\" .Pq Ql /
+.\" より後の部分)
+で置換します。
+.It Ar old_string=new_string
+これは
+.At V
+での変数置換の形式です。これは最後の修飾子として指定する必要があります。
+もし、パタンマッチ文字
+.Ar %
+が
+.Ar new_string
+にも
+.Ar old_string
+にも含まれないなら、
+.Ar new_string
+と
+.Ar old_string
+はどちらも単語の最後にマッチするものとみなされます。すなわち、
+拡張子のみか、または単語全部が置換されることになります。そうでなければ、
+.Ar %
+が
+.Ar old_string
+に含まれており、それは
+.Ar new_string
+に置換されます。
+.\" .Pp
+.\" たとえば、以下の例において、
+.\" .Bd -literal -offset indent
+.\" OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g}
+.\" .Ed
+.\" OBJS は、 SRCS の各単語のうち、
+.\" .Ql *.h
+.\" 、
+.\" .Ql *.sh
+.\" にマッチするものを除き、さらに拡
+.\" 張子のかわりに
+.\" .Ql .o
+.\" を付加した単語のリストになります。
+.\" .Pp
+.\" もし、
+.\" .Bd -literal -offset indent
+.\" SRCS = foo.c bar.c foo.h
+.\" .Ed
+.\" ならば、
+.\" .Bd -literal -offset indent
+.\" OBJS = foo.o bar.o
+.\" .Ed
+.\" となります。
+.El
+.Sh インクルード文、条件式、FOR ループ
+.Nm make
+では、C 言語を彷彿させるインクルード、条件文、for ループを使用することが
+できます。これらの制御構造は、行頭に単一のドット
+.Pq Ql \&.
+がくることで識別されます。ファイルのインクルードは
+.Ql .include <file>
+または、
+.Ql .include \*qfile\*q
+により行います。ブラケット
+.Pq Ql <>
+と ダブルクォート
+.Pq Ql \*q\*q
+中の変数はファイル名に展開されます。もし、ブラケットが使用されたなら、
+makefile はシステムの makefile ディレクトリにあるものを用います。
+ダブルクォートなら、makefile が存在するディレクトリ、
+.Fl I
+オプションで指定されたディレクトリ、システムの makefile ディレクトリの
+順に検索します。
+.Pp
+条件式も、行頭のドットから開始します。条件式には以下のものがあります:
+.Bl -tag -width Ds
+.It Ic .undef Ar variable
+グローバル変数を未定義とします。グローバル変数以外は未定義とすることが
+できません。
+.It Xo
+.Ic \&.if
+.Oo \&! Oc Ns Ar expression
+.Op Ar operator expression ...
+.Xc
+式の値をテストします。
+.It Xo
+.Ic .ifdef
+.Oo \&! Oc Ns Ar variable
+.Op Ar operator variable ...
+.Xc
+変数の値をテストします。
+.It Xo
+.Ic .ifndef
+.Oo \&! Oc Ns Ar variable
+.Op Ar operator variable ...
+.Xc
+変数の値をテストします。
+.It Xo
+.Ic .ifmake
+.Oo \&! Oc Ns Ar target
+.Op Ar operator target ...
+.Xc
+ターゲット
+.Ar target
+が作成中かどうかをテストします。
+.It Xo
+.Ic .ifnmake
+.Oo \&! Oc Ar target
+.Op Ar operator target ...
+.Xc
+ターゲット
+.Ar target
+が作成中かどうかをテストします。
+.It Ic .else
+最後に行った条件文の意味を逆にします。
+.It Xo
+.Ic .elif
+.Oo \&! Oc Ar expression
+.Op Ar operator expression ...
+.Xc
+.Ql Ic .else
+と直後の
+.Ql Ic .if
+を対にしたものです。
+.It Xo
+.Ic .elifdef
+.Oo \&! Oc Ns Ar variable
+.Op Ar operator variable ...
+.Xc
+.Ql Ic .else
+と直後の
+.Ql Ic .ifdef
+を対にしたものです。
+.It Xo
+.Ic .elifndef
+.Oo \&! Oc Ns Ar variable
+.Op Ar operator variable ...
+.Xc
+.Ql Ic .else
+と直後の
+.Ql Ic .ifndef
+を対にしたものです。
+.It Xo
+.Ic .elifmake
+.Oo \&! Oc Ns Ar target
+.Op Ar operator target ...
+.Xc
+.Ql Ic .else
+と直後の
+.Ql Ic .ifmake
+を対にしたものです。
+.It Xo
+.Ic .elifnmake
+.Oo \&! Oc Ns Ar target
+.Op Ar operator target ...
+.Xc
+.Ql Ic .else
+と直後の
+.Ql Ic .ifnmake
+を対にしたものです。
+.It Ic .endif
+条件文の本体を終了させます。
+.El
+.Pp
+オペレータ
+.Ar operator
+は、以下のうちのいずれかです。
+.Bl -tag -width "Cm XX"
+.It Cm \&|\&|
+論理 OR。
+.It Cm \&&&
+論理 AND。
+.Ic ||
+より優先順位が上です。
+.El
+.Pp
+C 言語と同様、
+.Nm make
+は条件式を、式の値を決定するのに必要なところまでしか評価しません。
+評価順序を変更するには括弧を使います。論理オペレータ
+.Ql Ic \&!
+は条件式全体の値を反転するのに使用します。
+.Ql Ic \&!
+は
+.Ql Ic \&&&
+より優先順位が上です。
+.Pp
+式
+.Ar expression
+は、以下のいずれかの形式です:
+.Bl -tag -width Ic defined
+.It Ic defined
+引数として変数名をとり、変数が定義されていれば true となる。
+.It Ic make
+引数としてターゲット名をとり、そのターゲットが
+.Nm make
+のコマンドライン引数に指定されているか、デフォルトのターゲット
+.Pq 明示的なものも暗黙的なものも含む。 Va .MAIN の項を参照
+として宣言されている場合に true となる。
+.It Ic empty
+引数として変数名
+.Pq と修飾子
+をとり、展開した結果が空文字列ならば true となる。
+.It Ic exists
+引数としてファイル名をとり、ファイルが存在すれば true となる。
+ファイルはシステム検索パス
+.Pq Va .PATH の項を参照
+にそって検索される。
+.It Ic target
+引数としてターゲット名をとり、ターゲットが定義されているなら true となる。
+.El
+.Pp
+条件式
+.Ar expression
+としては、数値あるいは文字列の比較を用いることもできます。比較オペレータの
+両辺は、変数展開が適用されたあとに比較されます。値が 0x で始まるなら 16 進数
+であると解釈し、さもなければ 10 進数と解釈します。8 進数はサポートして
+いません。標準的な C 言語の関係オペレータは全て利用可能です。
+変数展開後、
+.Ql Ic ==
+または
+.Ql Ic "!="
+の左辺値または右辺値のいずれかが数値とは認められない場合、文字列として
+比較を行います。関係オペレータが指定されなかった場合、展開された変数と 0 とを
+比較します。
+.Pp
+条件式を評価中に、評価できない単語が出現した場合は、条件式の形式によって、
+.Dq make
+または
+.Dq defined
+オペレータを適用します。条件式が
+.Ql Ic .ifdef
+または
+.Ql Ic .ifndef
+ならば
+.Dq defined
+を、条件式が
+.Ql Ic .ifmake
+または
+.Ql Ic .ifnmake
+ならば
+.Dq make
+を、それぞれ適用します。
+.Pp
+条件式が true と評価されたなら、makefile の解析はそのまま続行されます。
+false と評価されたなら、
+.Ql Ic .else
+または
+.Ql Ic .endif
+が見つかるまで
+makefile の解析をスキップします。
+.Pp
+for ループは、いくつかのルールを一連のファイルに適用するのによく
+用いられます。以下がループの形式です:
+.Bl -tag -width Ds
+.It Xo
+.Ic \&.for
+.Ar variable
+.Ic in
+.Ar expression
+.Xc
+.It Xo
+<make-rules>
+.Xc
+.It Xo
+.Ic \&.endfor
+.Xc
+.El
+.Ic expression
+は評価されたあとに単語に分解され、それぞれを
+.Ic variable
+に代入
+しながら、
+.Ic make-rules
+部分を繰り返し展開します。
+.Sh コメント
+コメントはハッシュ記号
+.Pq Ql \&#
+から始まり、シェルコマンド行以外のどこにでも置くことができます。
+コメントは改行で終わります。
+.Sh 特殊ソース
+.Bl -tag -width Ic .IGNORE
+.It Ic .IGNORE
+本ターゲットに関連したコマンドでのエラーを無視します。シェルコマンドの
+先頭にダッシュ
+.Ql \-
+を指定したのと等価です。
+.It Ic .MAKE
+たとえ、
+.Fl n や
+.Fl t
+オプションが指定されていても、このターゲットに関連したシェルコマンドを
+実行します。通常、再帰的な
+.Nm make
+のために用いられます。
+.It Ic .NOTMAIN
+通常
+.Nm make
+は、最初に発見したターゲットをデフォルトのターゲットとみなします。
+.Ic .NOTMAIN
+が指定されたターゲットはデフォルトのターゲットとはみなされなくなります。
+.It Ic .OPTIONAL
+もし
+.Ic .OPTIONAL
+が指定されたターゲットの作り方がわからなくても、エラーとはせず、
+そのターゲットは必要ないか、すでに存在しているものとみなします。
+.It Ic .PRECIOUS
+通常
+.Nm make
+が中断されたときは、作成途中のターゲットは削除されます。本ソースを
+指定することで、そのターゲットを削除しなくなります。
+.It Ic .SILENT
+指定されたターゲットに関連づけられたシェルコマンドを実行するときに
+エコーを行いません。シェルコマンドの先頭に
+.Ql @
+を指定したのと等価です。
+.It Ic .USE
+指定されたターゲットをマクロ的に扱います。
+.Ic .USE
+をソースに持つターゲット
+.Pq 以下ではマクロと呼びます
+が別のターゲットのソースとなった場合、その
+ターゲットはコマンド、ソース、属性(
+.Ic .USE
+は除く)
+をマクロから受け取ります。もし、すでにターゲットにコマンドが指定されていた
+場合は、マクロのコマンドが追加されます。
+.It Ic .WAIT
+特別な
+.Ic .WAIT
+ソースが依存関係行に現れた時には、ソースはその行中でソースが
+作成されるまで待ちます。ループは検出されず、ループ形式のターゲットは
+単に無視されます。
+.El
+.Sh 特殊ターゲット
+特殊ターゲットは、他のターゲットとともに使用してはいけません。すなわち、
+依存関係記述行の唯一のターゲットとして指定する必要があります。
+.Bl -tag -width Ic .BEGIN
+.It Ic .BEGIN
+本ターゲットに指定されたシェルコマンドは他の処理に先立って実行されます。
+.It Ic .DEFAULT
+これは、作成方法がわからないどんなターゲットにも適用される
+.Ic .USE
+ルールのようなものです。シェルスクリプトのみを使用します。
+.Ic .DEFAULT
+に指定されたコマンド中の
+.Ic .IMPSRC
+変数はターゲット自身の名前に置換されます。
+.It Ic .END
+本ターゲットに指定されたシェルコマンドは、他のすべての処理の終了後に
+実行されます。
+.It Ic .IGNORE
+指定されたソースに
+.Ic .IGNORE
+属性を付与します。もしソースが指定されていなければ、
+.Fl i
+オプションを指定したのと同じ意味になります。
+.It Ic .INTERRUPT
+.Nm make
+が中断されたとき、本ターゲットに指定されたコマンドを実行します。
+.It Ic .MAIN
+ターゲットを指定せずに
+.Nm make
+が起動された場合、本ターゲットを処理します。
+.It Ic .MAKEFLAGS
+ソースにおいて、
+.Nm make
+に指定するフラグを指定します。フラグはシェルでタイプしたのと同様に
+渡されますが、
+.Fl f
+オプションは無効になります。
+.\" XXX: NOT YET!!!!
+.\" .It Ic .NOTPARALLEL
+.\" この名前のターゲットは、並列モードを使わすに実行されます。
+.\" ターゲットが指定されていない時には、全てのターゲットが非並列モード
+ \" で実行されます。
+.It Ic .NOTPARALLEL
+並列モードを使いません。
+.It Ic .NO_PARALLEL
+上と同じですが、 pmake の変種のための互換性のためにあります。
+.It Ic .ORDER
+シーケンス中の名前付きターゲットが作成されます。
+.\" XXX: NOT YET!!!!
+.\" .It Ic .PARALLEL
+.\" 名前付きターゲットが並列モードで実行されます。
+.\" ターゲットが指定されない時には、全てのターゲットが並列モードで実行
+.\" されます。
+.It Ic .PATH
+カレントディレクトリに発見できなかったときのファイルの検索パスを、
+本ターゲットのソースとして指定します。ソースが指定されなかった場合、
+以前に設定されていたディレクトリが無効になります。
+.It Ic .PHONY
+.Ic .PHONY
+属性を指定したソースに適用します。この属性を持ったターゲットは
+いつでも更新されていると考えられます。
+.It Ic .PRECIOUS
+指定されたソースに
+.Ic .PRECIOUS
+属性を付与します。もし、ソースが指定されなかった場合、
+すべてのターゲットに
+.Ic .PRECIOUS
+属性を与えます。
+.It Ic .SILENT
+指定されたソースに
+.Ic .SILENT
+属性を付与します。もし、ソースが指定されなかった場合、
+ファイル中のすべてのコマンドに
+.Ic .SILENT
+属性を与えます。
+.It Ic .SUFFIXES
+ソースにおいて、
+.Nm make
+で用いる拡張子を指定します。ソースが指定されなかった場合は、
+以前の指定が無効になります。
+.Sh 環境変数
+.Nm make
+は以下の環境変数の値を用います:
+.Ev MACHINE ,
+.Ev MAKE ,
+.Ev MAKEFLAGS ,
+.Ev MAKEOBJDIR ,
+.Ev MAKEOBJDIRPREFIX ,
+.Ev PWD
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/doc/psd/12.make -compact
+.It .depend
+依存関係リスト
+.It Makefile
+依存関係リスト
+.It makefile
+依存関係リスト
+.It sys.mk
+システム定義の makefile
+.It /usr/share/mk
+システム定義の makefile が置かれるディレクトリ
+.It /usr/share/doc/psd/12.make
+PMake のチュートリアル
+.El
+.Sh 関連項目
+.Xr mkdep 1
+.Rs
+.%T "PMake - A Tutorial"
+.Re
+.Sh 歴史
+.Nm make
+は
+.At v7
+において追加されました。
diff --git a/ja/man/man1/makewhatis.1 b/ja/man/man1/makewhatis.1
new file mode 100644
index 0000000000..9ff87e1ae7
--- /dev/null
+++ b/ja/man/man1/makewhatis.1
@@ -0,0 +1,150 @@
+.\" Copyright (c) 1994-1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: makewhatis.1,v 1.6.2.2 1996/12/22 23:05:27 mpp Exp %
+.\" jpman %Id: makewhatis.1,v 1.2 1997/04/01 14:15:46 horikawa Stab %
+.Dd Jan, 12, 1995
+.Dt MAKEWHATIS 1
+.Os FreeBSD 2.1
+.Sh 名称
+.Nm makewhatis
+.Nd whatis databaseを作る
+.Sh 書式
+.Nm makewhatis
+.Op Fl a | Fl append
+.Op Fl h | Fl help
+.Op Fl i | Fl indent Ar column
+.Op Fl n | Fl name Ar name
+.Op Fl o | Fl outfile Ar file
+.Op Fl v | Fl verbose
+.Op Ar directories ...
+.Sh 解説
+.Nm
+コマンドはフォーマットされていないマニュアルページから名称と短い記述を抽出し、
+.Xr whatis 1
+データベースを作成します。
+.Nm
+コマンドは gzip されたマニュアルページを読むことができます。
+.Ar directory
+は
+.Pq Pa man.+ という名の
+マニュアルページサブディレクトリを持つディレクトリの名前です。
+コロンは空白として扱われますので、
+.Ic makewhatis $MANPATH
+や
+.Ic makewhatis `manpath`
+も許されます。
+.Sh オプション
+.Bl -tag -width Ds
+.It Fl a , Fl append
+追加モード。
+whatis データベースに既にあるエントリは削除しません。
+注: 新しくできるデータベースはソートされ、同じ項目の行は削除されますが、
+.Nm
+は古いエントリが有効かどうかは判定しません。
+.It Fl h , Fl help
+使用可能なオプションを表示し、終了します。
+.It Fl i , Fl indent Ar column
+解説の文字列の長さを
+.Ar column にします Pq デフォルトは 24 です
+。
+.It Fl n , Fl name Ar name
+.Pa whatis
+の代わりに
+.Ar name
+を使用します。
+.It Fl o , Fl outfile Ar file
+.Pa dirname/whatis
+の代わりに全ての出力を
+.Ar file
+に書き込みます。
+.It Fl v, Fl verbose
+多くの警告を
+.Pq 標準エラー出力に対して
+出力します。
+パースした全てのマニュアルに対して次の 1 文字を表示します:
+.Ql \&.
+は圧縮されていないページ、
+.Ql *
+は圧縮されているページ、
+.Ql +
+はリンクをそれぞれ表します。
+.Sh 使用例
+.Pp
+.Ic makewhatis $MANPATH
+.Pp
+ユーザの
+.Pa $MANPATH
+にある全てのディレクトリに対して whatis データベースを作成します。
+.Pp
+.Ic makewhatis -outfile /tmp/mywhatis /usr/local/man $HOME/man
+.Pp
+whatis データベース
+.Pa /tmp/mywhatis
+を作成します。
+ディレクトリは
+.Pa /usr/local/man
+と
+.Pa $HOME/man
+を見ます。
+.Pa /usr/local/man/whatis
+および
+.Pa $HOME/man/whatis
+は作成しません。
+.Pp
+.Ic makewhatis -name windex $HOME/man
+.Pp
+.Pa whatis
+の代わりに
+whatis データベース
+.Pa windex
+を作成します。
+おそらく Solaris で有効です。
+.Sh 関連ファイル
+.Bl -tag -width /etc/master.passwdxx -compact
+.It Pa */man/whatis
+whatis データベース。
+.It Pa /etc/weekly
+毎週
+.Nm makewhatis.local
+を実行します。
+.El
+.Sh 関連項目
+.Xr apropos 1 ,
+.Xr catman 1 ,
+.Xr getNAME 1 ,
+.Xr man 1 ,
+.Xr manpath 1 ,
+.Xr sort 1 ,
+.Xr uniq 1 ,
+.Xr whatis 1 ,
+.Xr makewhatis.local 8 .
+.Sh 歴史
+この
+.Nm
+コマンドは
+.Fx 2.1
+から登場しました。
+.Sh 作者
+Wolfram Schneider, Berlin.
diff --git a/ja/man/man1/man.1 b/ja/man/man1/man.1
new file mode 100644
index 0000000000..bcd60ae04e
--- /dev/null
+++ b/ja/man/man1/man.1
@@ -0,0 +1,133 @@
+.\" Man page for man
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" jpman %Id: man.1,v 1.2 1997/04/01 14:17:54 horikawa Stab %
+.Dd Jan 5, 1991
+.Dt MAN 1
+.Sh 名称
+.Nm man
+.Nd オンラインマニュアルのフォーマット、表示を行なう
+.Sh 書式
+.Nm man
+.Op Fl adfhktw
+.Op Fl m Ar system
+.Op Fl p Ar string
+.Op Fl M Ar path
+.Op Fl P Ar pager
+.Op Fl S Ar list
+.Op Ar section
+.Ar name ...
+.Sh 解説
+.Nm man
+はオンラインマニュアルをフォーマットし、表示します。
+このバージョンでは、環境変数
+.Ev MANPATH
+と
+.Ev PAGER
+を参照するので、
+各ユーザが固有のオンラインマニュアルを持つ事や、画面で見る際のページャを
+選ぶ事が可能です。
+セクションを指定した場合、man はそのセクションのみを探します。
+また、コマンドラインオプションや環境変数によって、
+検索するセクションの順序や、ソースファイルを処理するプリプロセッサを
+指定することもできます。
+システム管理者の設定によっては、
+ディスクスペースを節約するために、フォーマット済みのオンライン
+マニュアルを `/usr/bin/gzip -c' コマンドにより
+圧縮し格納するようにすることも出来ます。
+.Pp
+オプションを以下に示します:
+.Bl -tag -width Fl
+.It Fl M Ar path
+別の manpath を指定します。通常、man は
+.Nm manpath
+を使い、検索するパスを決めます。このオプションは環境変数
+.Ev MANPATH
+よりも優先されます。
+.It Fl P Ar pager
+使用するページャを指定します。通常、man は、
+.Nm more -s
+を使用します。
+このオプションは環境変数
+.Ev PAGER
+よりも優先されます。
+.It Fl S Ar list
+list はコロンで区切られた検索するマニュアルのセクションのリストです。
+このオプションは環境変数
+.Ev MANSECT
+よりも優先されます。
+.It Fl a
+通常、man は最初にみつかったマニュアルページを表示した後終了しますが、
+このオプションを使用すると、最初にみつかったマニュアルページだけでなく、
+.Ar name
+にマッチしたマニュアルページを全て表示します。
+.It Fl d
+マニュアルページは表示せず、デバッグ用の情報を表示します。
+.It Fl f
+.Nm whatis
+と同じです。
+.It Fl h
+一行のヘルプメッセージを表示して終了します。
+.It Fl k
+.Nm apropos
+と同じです。
+.It Fl m Ar system
+与えられたシステム名をもとに検索する別のマニュアルセットを指定します。
+.It Fl p Ar string
+nroff や troff を行う前に実行するプリプロセッサの順序を指定します。
+全てのプリプロセッサがインストールされているとはかぎりません。
+プリプロセッサとそれを指定するのに使われる文字は以下の通りです。
+eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r).
+このオプションは環境変数
+.Ev MANROFFSEQ
+よりも優先されます。
+.It Fl t
+マニュアルページをフォーマットするのに
+.Nm /usr/bin/groff -man
+を使い、標準出力に出力します。
+.Nm /usr/bin/groff -man
+の出力は表示する前に何らかのフィルターを通す必要があるでしょう。
+.It Fl w
+マニュアルページの表示は行わず、フォーマットや表示を行なうべきファイルの
+場所を表示します。
+.Sh 環境変数
+.Bl -tag -width MANROFFSEQ -compact
+.It Ev MANPATH
+.Ev MANPATH
+がセットされていれば、その値はマニュアルページを検索するパスとして使われます。
+.It Ev MANROFFSEQ
+.Ev MANROFFSEQ
+がセットされていれば、その値は nroff や troff を行う前に実行される
+プリプロセッサの順序を示すのに使われます。
+デフォルトでは、nroff の前に tbl プリプロセッサが実行されます。
+.It Ev MANSEC
+.Ev MANSEC
+がセットされていれば、その値はどのマニュアルセクションを検索するのかを
+決定するのに使われます。
+.It Ev PAGER
+.Ev PAGER
+がセットされていれば、その値はマニュアルページを表示するのに使われる
+プログラムの名前を指定するのに使われます。セットされていなければ、
+.Nm more -s
+が使われます。
+.El
+.Sh 関連項目
+.Xr apropos 1 ,
+.Xr whatis 1 ,
+.Xr manpath 1 ,
+.Xr more 1 ,
+.Xr groff 1
+.Sh バグ
+.Fl t
+オプションは troff ライクなプログラムがインストールされている場合のみ有効です。
diff --git a/ja/man/man1/manpath.1 b/ja/man/man1/manpath.1
new file mode 100644
index 0000000000..27cc12132d
--- /dev/null
+++ b/ja/man/man1/manpath.1
@@ -0,0 +1,67 @@
+.\" Man page for manpath
+.\"
+.\" Copyright (c) 1990, 1991, John W. Eaton.
+.\"
+.\" You may distribute under the terms of the GNU General Public
+.\" License as specified in the README file that comes with the man 1.0
+.\" distribution.
+.\"
+.\" John W. Eaton
+.\" jwe@che.utexas.edu
+.\" Department of Chemical Engineering
+.\" The University of Texas at Austin
+.\" Austin, Texas 78712
+.\"
+.\" jpman %Id: manpath.1,v 1.4 1997/08/20 20:58:18 horikawa Stab %
+.Dd Jan 5, 1991
+.Dt MANPATH 1
+.Os
+.Sh 名称
+.Nm manpath
+.Nd マニュアルページのユーザのサーチパスを決める
+.Sh 書式
+.Nm
+.Op Fl q
+.Sh 解説
+.Nm manpath
+はシステム標準およびユーザの
+.Ev PATH
+からユーザのマニュアルページのサーチパスを決め、結果を標準出力へ表示
+します。また警告およびエラーは標準エラー出力へ出力します。ユーザの
+.Ev PATH
+中のディレクトリが manpath.config ファイルに無いときには、manpath は
+そのディレクトリで man または MAN という名前のサブディレクトリを探し、
+見付かればそれをサーチパスに追加します。
+.Pp
+.Nm
+は
+.Nm man
+がサーチパスを決めるのにも使用します。したがって、普通はユーザが環境
+変数
+.Ev MANPATH
+を直接設定する必要はありません。
+.Pp
+オプションを以下に示します:
+.Bl -tag -width Ds
+.It Fl q
+「静かに」実行します。最終的なマニュアルページのサーチパスだけを表示します。
+.El
+.Sh 環境変数
+.Bl -tag -width MANPATH -compact
+.It Ev MANPATH
+.Ev MANPATH
+を設定すると
+.Nm manpath
+はその設定を標準出力に表示し、標準エラー出力に警告を出力します。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /etc/manpath.config -compact
+.It Pa /etc/manpath.config
+システムコンフィギュレーションファイル
+.El
+.Sh 関連項目
+.Xr apropos 1 ,
+.Xr whatis 1 ,
+.Xr man 1
+.Sh バグ
+既知のバグはありません。
diff --git a/ja/man/man1/mcon.1 b/ja/man/man1/mcon.1
new file mode 100644
index 0000000000..ccf05d91a8
--- /dev/null
+++ b/ja/man/man1/mcon.1
@@ -0,0 +1,172 @@
+.\" Copyright (c) 1994 Joerg Wunsch
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Joerg Wunsch
+.\" 4. The name authors may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" @(#)mcon.1, 3.00, Last Edit-Date: [Mon Jan 10 21:28:22 1994]
+.\" jpman %Id: mcon.1,v 1.3 1997/08/20 12:33:46 horikawa Stab %
+.\"
+.Dd January 3, 1994
+.Dt MCON 1
+.Sh 名称
+.Nm mcon
+.Nd pcvt マウスエミュレータの制御
+.Sh 書式
+.Nm mcon
+.Op Fl l Ar left-button-key
+.Op Fl m Ar mid-button-key
+.Op Fl r Ar right-button-key
+.Op Fl a Ar accel-time
+.Op Fl s Ar 0 | false | \&no
+.Op Fl s Ar 1 | true | yes
+.Ar device
+.Sh 解説
+.Nm mcon
+は、
+.Xr pcvt 4
+マウスエミュレータの調整可能なパラメータを制御するユーティリティです。
+.br
+.Em NB :
+マウスエミュレータはデフォルトでは組み込まれていません。
+この機能を有効にするには、システムのコンフィグファイルに
+以下のオプション指定行
+
+.Em options Dq PCVT_EMU_MOUSE
+
+を記述する必要があります。
+.Pp
+いずれの場合も、マウスエミュレーションに用いるデバイスノードを指定する
+.Ar device
+を引数に指定して
+.Nm
+を呼び出さなければなりません。
+これは普通、
+.Xr pcvt 4
+ドライバのうち、仮想端末デバイスとして使われていない最初のデバイスノードです。
+例えば、8 つの仮想端末、つまり
+.Pa /dev/ttyv0
+から
+.Pa /dev/ttyv7
+が使えるように設定されている (これがデフォルト) 場合、
+マウスエミュレータは
+.Pa /dev/ttyv8
+に割り当てられます。
+
+もしオプションなしで
+.Nm
+を起動すると、調整可能パラメータの現在の設定値を表示します。
+
+オプション 1 つを付けて起動すると、
+.Nm
+は新しい値の設定を試みます。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl l Ar left-button-key
+.It Fl m Ar mid-button-key
+.It Fl r Ar right-button-key
+指定された
+.Ar button key
+がマウスの左, 中央, 右ボタンをエミュレートするようにマッピングします。
+.Ar button key
+はそのキーの通常の名称です。
+普通の ASCII 文字はその文字自体で指定し、
+ファンクションキーは
+.Em f1
+から
+.Em f10
+で指定します。
+注意: AT ファンクションキー
+.Em f11
+から
+.Em f12
+は
+.Em 拡張された
+キーであり、マウスエミュレータで使うようにマッピングできません。
+基本的な PC スキャンコードキーを使うことしか許されないからです。
+
+.It Fl a Ar accel-time
+内部アクセラレータのタイムリミットを
+.Ar accel-time
+ミリ秒に設定します。
+このタイムリミット以上経過した後キーイベントが発生すると、
+単一のステップでマウスカーソルが動きます。
+これより短い間隔でキーイベントが到着すると、
+マウスカーソルは 6 倍の速さで動きます。
+注意:
+.Em milliseconds
+は上に示した単位で指定できますが、
+時刻の分解能は OS のタイマ分解能の制約を受け、
+通常は 10 ミリ秒単位となります。
+
+.It Fl s Ar 0 | false | \&no
+.It Fl s Ar 1 | true | yes
+マウスボタンの
+.Em sticky
+動作を無効化あるいは有効化します。
+マウスボタンを sticky にすると、ちょうどトグルボタンのようになります。
+つまり、はじめて押すとアクティブになり、もう一度押すと非アクティブになります。
+他のボタンどれかを押すと、それ以外の sticky なボタンは
+全て非アクティブになります。
+
+sticky ボタンを使うと指が 20 本も要らなくなるので便利かも知れません。
+他方、マウスのダブルクリックやトリプルクリックは事実上不可能になります。
+.El
+.Sh 実行例
+以下の例はマウスエミュレータのデフォルト動作を設定するものです。
+
+.Nm mcon
+.Fl l Ar f1
+.Fl m Ar f2
+.Fl r Ar f3
+.Fl a Ar 250
+.Fl s Ar \&no
+.Pa /dev/ttyv8
+.Sh バグ
+ボタンをエミュレートするキーをスキャンコードに (あるいはその逆に)
+マッピングする際のキーの名前は、米国のキーボードレイアウトに基づいています。
+しかし、
+.Dq 選んだ button
+は各国のキーボードレイアウトのファンクションキーのどれかに相当する
+でしょうから、通常、これは問題とならないでしょう。
+.Pp
+マウスエミュレータは結構乱暴なことをやっています。
+その唯一の目的は、X ウィンドウ環境の中でポインタを動かすデバイスを
+提供することです。
+.Sh 関連項目
+.Xr X 1 ,
+.Xr pcvt 4
+.Sh 歴史
+.Nm
+ユーティリティは
+.Xr pcvt 4 ,
+release 3.00 で登場しました。
+.Sh 作者
+マウスエミュレータは
+.if n Joerg Wunsch
+.if t J\(:org Wunsch
+によって寄贈されました。
diff --git a/ja/man/man1/md5.1 b/ja/man/man1/md5.1
new file mode 100644
index 0000000000..22f3b9a286
--- /dev/null
+++ b/ja/man/man1/md5.1
@@ -0,0 +1,60 @@
+.Dd February 14, 1994
+.Dt MD5 1
+.Os
+.Sh 名称
+.Nm md5
+.Nd ファイルに対するフィンガプリント(チェックサム)を計算する
+.Sh 書式
+.Nm
+.Op Fl p
+.Op Fl t
+.Op Fl x
+.Op Fl s Ns Ar string
+.Op Ar filename Ns Pq s
+.Sh 解説
+.Nm
+は、任意の長さのメッセージを入力にとり、 128 ビットの
+.Dq フィンガプリント
+もしくは
+.Dq メッセージの要約
+と呼ばれるものを出力として生成します。
+同じ要約を持つようなメッセージを二つ造る事も、
+これと決めた要約を持つように狙ってメッセージを造り出す事も、
+計算量的に不可能であると推論されています。
+電子署名アプリケーションにおいて、大きなファイルは
+.Em RSA
+の様な公開鍵暗号システムで非公開
+.Pq 秘密
+鍵によって符号化される前に、
+安全に
+.Dq 圧縮
+されなければなりません。
+MD5 アルゴリズムは、そのような電子署名アプリケーション向けに開発されています。
+.Pp
+以下の 4 つのオプションを組み合わせて使うことができますが、
+.Ar filename Ns Pq s
+はコマンド行の最後になければなりません。
+.Bl -tag -width Fl
+.It Fl s Ns Ar string
+与えられた
+.Dq string
+のチェックサムを表示します。
+.It Fl p
+標準入力を標準出力に送り、 MD5 の合計を標準出力に付け加えます。
+.It Fl t
+組み込みの時間試行を実行します。
+.It Fl x
+組み込みのテストスクリプトを実行します。
+.It Ar filename Ns Pq s
+個々のファイルに対するチェックサムを出力します。
+.El
+.Sh 関連項目
+.Xr cksum 1
+.Rs
+.%A R. Rivest
+.%T The MD5 Message-Digest Algorithm
+.%O RFC1321
+.Re
+.Sh 謝辞
+このプログラムは、 RSA Data Security 社により、
+一般的な利用に対してパブリックドメインとされています。
diff --git a/ja/man/man1/merge.1 b/ja/man/man1/merge.1
new file mode 100644
index 0000000000..185e9a777a
--- /dev/null
+++ b/ja/man/man1/merge.1
@@ -0,0 +1,151 @@
+.de Id
+.\" jpman %Id: merge.1,v 1.4 1997/07/26 21:43:56 horikawa Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: merge.1,v 1.2 1995/10/28 21:50:04 peter Exp %
+.ds r \&\s-1RCS\s0
+.\"(訳注)これを定義しないと -V が正しく表示されない
+.\" 2.2.2R 対象(1997/07/21) Kazuo Horikawa <horikawa@jp.freebsd.org>
+.TH MERGE 1 \*(Dt GNU
+.SH 名称
+merge \- 3 つのファイル併合
+.SH 書式
+.B merge
+[
+.I "options"
+]
+.I "file1 file2 file3"
+.SH 解説
+.B merge
+は、
+.I file2
+から
+.I file3
+への全ての変更を
+.IR file1
+に併合します。
+結果は普通
+.IR file1
+に入ります。
+.B merge
+は、原盤に対して別々に施した変更を併合するのに便利です。
+.I file2
+を原盤だとし、
+.I file1
+と
+.I file3
+が
+.IR file2
+を変更したファイルとします。
+この場合
+.B merge
+は、両方の変更を併合します。
+.PP
+.I file1
+と
+.I file3
+の両方に共通の行集合の内容が異なっている時、衝突が起こります。
+衝突が見付かった場合、通常
+.B merge
+は、警告および
+.B <<<<<<<
+と
+.B >>>>>>>
+とで括った衝突を表す行を出力します。
+典型的な衝突は以下のようなものです。
+.LP
+.RS
+.nf
+.BI <<<<<<< " file A"
+.I "lines in file A"
+.B "======="
+.I "lines in file B"
+.BI >>>>>>> " file B"
+.RE
+.fi
+.LP
+衝突がある場合、ユーザは結果を編集して必要無い方を消去しなければ
+なりません。
+.SH オプション
+.TP
+.B \-A
+.BR diff3
+によって提供されていれば、
+.BR diff3 (1)
+の
+.B \-A
+形式をつかって衝突を出力します。
+これは、
+.I file2
+から
+.I file3
+への全ての変更を
+.IR file1
+に併合し、もっとも冗長な出力をします。
+.TP
+\f3\-E\fP, \f3\-e\fP
+これらのオプションは、
+.BR \-A
+オプションに比べて少ない情報を生成するような衝突形式を指定します。
+詳細は、
+.BR diff3 (1)
+を見てください。
+デフォルトは、
+.BR \-E
+です。
+.BR \-e
+を指定すると、
+.B merge
+は衝突を警告しません。
+.TP
+.BI \-L " label"
+このオプションは、 3 回まで指定可能であり、
+衝突報告中のファイル名の場所のラベルを指定します。
+すなわち、
+.B "merge\ \-L\ x\ \-L\ y\ \-L\ z\ a\ b\ c"
+とすると、実際はファイル
+.B a ,
+.B b ,
+.B c
+からの出力ですが、
+ファイル
+.B x ,
+.B y ,
+.B z
+からできたような出力が作られます。
+.TP
+.BI \-p
+結果を
+.IR file1
+に上書きするのではなく、
+標準出力に出力します。
+.TP
+.BI \-q
+沈黙モード。衝突に対して警告を出しません。
+.TP
+.\"(訳注)この.TPは原文にありませんが、追加しました。
+.\" 2.2.1R 対象(1997/05/13) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.BI \-V
+\*r のバージョン番号を出力します。
+.SH 診断
+衝突が無い場合には、 0 で終了します。
+1 で終了した場合はいくつかの衝突があり、 2 は何か問題がおこったことを
+あらわします。
+.SH 記名
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
+.SH 関連項目
+diff3(1), diff(1), rcsmerge(1), co(1).
+.SH バグ
+テキストファイルの様に、バイナリファイルを併合することは、
+普通できません。
+しかし、
+.B merge
+は何がなんでも行おうとします。
+.br
diff --git a/ja/man/man1/mesg.1 b/ja/man/man1/mesg.1
new file mode 100644
index 0000000000..d8cf0bb439
--- /dev/null
+++ b/ja/man/man1/mesg.1
@@ -0,0 +1,94 @@
+.\" Copyright (c) 1987, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mesg.1 8.1 (Berkeley) 6/6/93
+.\" %Id: mesg.1,v 1.2.2.2 1997/07/28 06:50:32 charnier Exp %
+.\" jpman %Id: mesg.1,v 1.3 1997/05/19 16:43:45 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt MESG 1
+.Os
+.Sh 名称
+.Nm mesg
+.Nd 他ユーザからのメッセージを表示する (表示しない)
+.Sh 書式
+.Nm
+.Op Cm n | Cm y
+.Sh 解説
+.Nm
+ユーティリティは他ユーザからのメッセージの書き込み権限を制御します。
+このメッセージはターミナルデバイスから標準エラー出力に
+出力されるものです。
+デフォルトでは、他ユーザからの書き込みは許可されています。
+例えば
+.Xr talk 1
+、
+.Xr write 1
+などのプログラムを使って他ユーザの端末に
+メッセージを表示できます。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width flag
+.It Cm n
+メッセージを表示しません。
+.It Cm y
+メッセージを表示します。
+.El
+.Pp
+引数なしで起動された場合、
+.Nm
+は現在のメッセージ表示の許可・不許可についての設定を、
+標準エラー出力に出力します。
+.Pp
+.Nm
+は以下のうちのいずれかを戻り値として返します。
+.Bl -tag -width flag -compact -offset indent
+.Pp
+.It Li "\ 0"
+メッセージを表示します。
+.It Li "\ 1"
+メッセージを表示しません。
+.It Li "\>1"
+エラーが発生しました。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /dev/[pt]ty[pq]? -compact
+.It Pa /dev/[pt]ty[pq]?
+.El
+.Sh 関連項目
+.Xr biff 1 ,
+.Xr talk 1 ,
+.Xr write 1
+.Sh 歴史
+.Nm
+は
+.At v1
+から登場しました。
diff --git a/ja/man/man1/mkdep.1 b/ja/man/man1/mkdep.1
new file mode 100644
index 0000000000..b7fa9467dc
--- /dev/null
+++ b/ja/man/man1/mkdep.1
@@ -0,0 +1,101 @@
+.\" Copyright (c) 1987, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mkdep.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: mkdep.1,v 1.3 1997/08/20 12:35:25 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt MKDEP 1
+.Os BSD 4.2
+.Sh 名称
+.Nm mkdep
+.Nd Makefile の依存関係リストを構築する
+.Sh 書式
+.Nm
+.Op Fl ap
+.Op Fl f Ar file
+.Op Ar flags
+.Ar file ...
+.Sh 解説
+.Nm
+は C コンパイラへのフラグと C のソースファイルリストを引数にとり、
+インクルードファイルの依存関係リストを構築し、
+ファイル ``.depend'' に書き出します。
+例えば Makefile においては以下のように用いられます:
+.Bd -literal -offset indent
+CFLAGS= -O -I../include
+SRCS= file1.c file2.c
+
+depend:
+ mkdep ${CFLAGS} ${SRCS}
+.Ed
+.Pp
+ここでマクロ SRCS は C のソースファイルのリストであり、
+CFLAGS は C コンパイラへ与えるフラグのリストです。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl a
+結果を出力ファイルに追加します。
+これにより同一の Makefile から
+.Nm
+を複数回実行することができます。
+.It Fl f
+インクルードファイル依存関係を、デフォルトの ``.depend'' ではなく、ファイル
+.Ar file
+に書き出します。
+.It Fl p
+依存関係を以下の形式で出力します:
+.Bd -literal -offset indent
+program: program.c
+.Ed
+.Pp
+これにより、後続の make は中間ファイル
+.Pa \&.o
+を経ることなく、直接 C のソースモジュールから
+.Ar program
+を生成することができるようになります。
+この機能は、ソースが単一のモジュールから構成されているプログラムに便利です。
+.El
+.Sh 関連項目
+.Xr cc 1 ,
+.Xr cpp 1 ,
+.Xr make 1
+.Sh 関連ファイル
+.Bl -tag -width .depend -compact
+.It Pa .depend
+依存関係リストを含むファイル
+.El
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3 Tahoe
+から登場しました。
diff --git a/ja/man/man1/mkdir.1 b/ja/man/man1/mkdir.1
new file mode 100644
index 0000000000..aeb636d706
--- /dev/null
+++ b/ja/man/man1/mkdir.1
@@ -0,0 +1,103 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94
+.\" %Id: mkdir.1,v 1.3.2.1 1997/02/28 07:54:38 mpp Exp %
+.\" jpman %Id: mkdir.1,v 1.2 1997/03/29 06:22:04 horikawa Stab %
+.\"
+.Dd January 25, 1994
+.Dt MKDIR 1
+.Os
+.Sh 名称
+.Nm mkdir
+.Nd ディレクトリの作成
+.Sh 書式
+.Nm mkdir
+.Op Fl p
+.Op Fl m Ar mode
+.Ar directory_name ...
+.Sh 解説
+.Nm
+は、
+オペランドで指定されたディレクトリを作成します。
+作成する順番は指定された順番です。
+作成されるディレクトリのパーミッションは、
+.Li rwxrwxrwx (\&0777)
+に
+.Xr umask 2
+の修正を加えたものです。
+.Pp
+オプションとしては以下のものがあります:
+.Pp
+.Bl -tag -width indent
+.It Fl m Ar mode
+作成されるディレクトリのパーミッションを指定します。
+.Ar mode
+の書式は
+.Xr chmod 1
+コマンドと同じです。シンボリック形式で指定する場合、
+.Dq +
+および
+.Dq -
+は、最初のパーミッションが
+.Dq a=rwx
+であるものとして解釈されます。
+.It Fl p
+必要に応じて途中のディレクトリを作成します。
+このオプションが指定されていない場合には、
+.Ar directory_name
+で指定するパスの途中のディレクトリは既に存在している必要があります。
+途中に作成されるディレクトリのパーミッションは、
+.Li rwxrwxrwx (\&0777)
+に現在の umask の修正を加えたものに、
+オーナに対する書き込みと検索パーミッションが加わった値となります。
+.El
+.Pp
+ユーザは親ディレクトリに対する
+書き込みパーミッションを持っている必要があります。
+.Pp
+.Nm
+は成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 関連項目
+.Xr rmdir 1
+.Sh 規格
+.Nm mkdir
+ユーティリティは
+.St -p1003.2
+互換です。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/mkdosfs.1 b/ja/man/man1/mkdosfs.1
new file mode 100644
index 0000000000..ea89995f02
--- /dev/null
+++ b/ja/man/man1/mkdosfs.1
@@ -0,0 +1,145 @@
+.\"
+.\" Copyright (c) 1995, 1996 Joerg Wunsch
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: mkdosfs.1,v 1.3 1996/08/23 00:56:16 mpp Exp %
+.\" jpman %Id: mkdosfs.1,v 1.3 1997/08/20 12:37:06 horikawa Stab %
+.\"
+.Dd November 5, 1995
+.Os
+.Dt MKDOSFS 1
+.Sh 名称
+.Nm mkdosfs
+.Nd MS-DOS (FAT) ファイルシステムを構築する
+.Sh 書式
+.Nm mkdosfs
+.Bq Fl f Ar capacity
+.Bq Fl L Ar vollabel
+.Ar device
+.Sh 解説
+.Nm mkdosfs
+は
+.Ar device
+上に、
+.Xr mount_msdos
+や古いプログラムローダが理解するファイルシステムを構築します。
+.Ar device
+としては、既存の書き込み可能なファイルやデバイスなら何でも指定できますが、
+通常はフロッピディスクドライブに対するキャラクタデバイス
+.Pq 例 Pa /dev/rfd0
+を指定します。
+通常のファイルを指定した場合、それは MS-DOS ファイルシステムの
+ダンプイメージとして扱われます。
+ファイルシステムの構造のみそこに書き込まれ、
+ファイルサイズが切り詰められることはありません。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width 10n -offset indent
+.It Fl f Ar capacity
+容量
+.Ar capacity
+キロバイトの標準的なファイルシステムのデフォルト値を用います。
+現在のところ
+.Ar capacity
+としては 360, 720, 1200 および 1440 が指定できます。
+.Pp
+このオプションを指定しない場合、
+.Nm
+は
+.Ar device
+のサイズを決定しようとします。
+これは必ずしも全ての場合にうまくいくとは限りませんが、
+普通の状況では正しく動作すると考えられます。
+.It Fl L Ar vollabel
+ファイルシステムを記述するラベルとして、デフォルトの
+.Ql 4.4BSD
+ではなく
+.Ar vollabel
+を用います。
+.El
+.Pp
+ファイルシステムの構造は大きく分けて 3 つの領域から構成されます:
+.Bl -tag -width 10n -offset indent
+.It Em ブートセクタ
+これが一番最初の(512 バイトの)セクタです。
+このセクタには、通常はオペレーティングシステムをブートストラップする
+実行コードが書き込まれています。
+媒体上にオペレーティングシステムをインストールするのは
+.Nm
+の範疇を越えるので、このブートコードは単に
+「このディスクにはブート可能なシステムは含まれません」
+というメッセージを表示するだけです。
+.Em ブートセクタ
+の中には
+.Em BIOS パラメタブロック (BPB)
+があり、
+ファイルシステムに関するいくつかの統計的なパラメタが保持されています。
+.It Em ファイルアロケーションテーブル (FAT)
+.Em ブートセクタ
+に続くセクタは FAT を保持しています。
+FAT はファイルを構成するブロック群のポインタ鎖を保持すると共に、
+ファイルシステムのアロケーション情報の登録にも用いられます。
+通常 FAT の全く同一のコピーが 2 組存在します。
+.It Em ルートディレクトリ
+最後の構造は、この媒体に対するルートディレクトリです。
+これは 0 で埋められた予約空間に過ぎず、
+残念なことにサイズは固定されています。
+.Nm mkdosfs
+はルートディレクトリを空で初期化し、
+その一番最初のディレクトリスロットにボリュームラベルを書き込みます。
+.Sh 診断
+処理が成功すると終了ステータス 0 が返されます。
+ファイルシステム構築時に何らかのエラーが発生した場合は 1 が返され、
+プログラムに対して無効な引数が与えられた場合は
+(適切な情報を診断出力に書き出すと共に)終了ステータス 2 が返されます。
+.Sh 関連項目
+.Xr fdformat 1 ,
+.Xr mount_msdos 8 ,
+.Xr newfs 8 .
+.Sh バグ
+現在のところ、曖昧なファイルシステムパラメタを指定する方法は
+用意されていません。
+従って、サポートされている容量の媒体以外はフォーマットできません。
+同じ理由から、ハードディスクのパーティションを処理することもできません。
+これを可能にするには更に多くのオプションを追加する必要があり、
+また、更に多くのエントリを既知フォーマット表に登録する必要もあります。
+.Pp
+媒体の欠陥には対処しようとしていませんが、
+これは
+.Nm mkdosfs
+の範疇を越えることであり、(まだ存在しませんが)
+.Xr dosfsck 1
+のほうで対処すべきことでしょう。
+.Sh 歴史
+.Nm mkdosfs
+は
+.Fx 2.2
+から登場しました。
+.Sh 作者
+このプログラムは Dresden の
+.if n Joerg Wunsch
+.if t J\(:org Wunsch
+から寄贈されました。
diff --git a/ja/man/man1/mkfifo.1 b/ja/man/man1/mkfifo.1
new file mode 100644
index 0000000000..2976ac5900
--- /dev/null
+++ b/ja/man/man1/mkfifo.1
@@ -0,0 +1,74 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mkfifo.1 8.2 (Berkeley) 1/5/94
+.\" %Id: mkfifo.1,v 1.2.2.3 1997/09/15 09:20:46 jkh Exp %
+.\" jpman %Id: mkfifo.1,v 1.3 1997/09/04 16:41:11 horikawa Stab %
+.\"
+.Dd January 5, 1994
+.Dt MKFIFO 1
+.Os BSD 4.4
+.Sh 名称
+.Nm mkfifo
+.Nd FIFO パイプをつくる
+.Sh 書式
+.Nm
+.Ar fifo_name ...
+.Sh 解説
+.Nm
+コマンドは、指定された名前で、指定された順にモード
+.Li \&0777
+の FIFO パイプをつくります。
+.Pp
+.Nm
+コマンドには、親ディレクトリに書き込みパーミッションが必要です。
+.Pp
+.Nm
+コマンドは、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 標準
+.Nm
+コマンドは、
+.St -p1003.2
+準拠であると考えられています。
+.Sh 関連項目
+.Xr mkdir 1 ,
+.Xr rm 1 ,
+.Xr mkfifo 2 ,
+.Xr mknod 2 ,
+.Xr mknod 8
+.Sh 歴史
+.Nm
+は
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/mklocale.1 b/ja/man/man1/mklocale.1
new file mode 100644
index 0000000000..f921f25d56
--- /dev/null
+++ b/ja/man/man1/mklocale.1
@@ -0,0 +1,257 @@
+.\" Copyright (c) 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Paul Borman at Krystal Technologies.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mklocale.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: mklocale.1,v 1.3 1997/05/20 08:56:54 mihara Stab %
+.\"
+.Dd April 18, 1994
+.Dt MKLOCALE 1
+.Os
+.Sh 名称
+.Nm mklocale
+.Nd LC_CTYPE locale ファイルの作成
+.Sh 書式
+.Nm mklocale
+.Ar "< src-file"
+.Ar "> language/LC_CTYPE"
+.Sh 解説
+.Nm mklocale
+ユーティリティは標準入力から
+.Dv LC_CTYPE
+のソースファイルを読み込み、
+.Dv /usr/share/locale/\fIlanguage\fP/LC_CTYPE
+に置くのに適した
+.Dv LC_CTYPE
+のバイナリファイルを標準出力へ書き出します。
+.Pp
+.Ar src-file
+のフォーマットは非常に単純です。
+キーワードから始まり、それに付随するデータが続く複数の行から構成されます。
+ファイル中にコメントを書く場合は、
+Cのスタイルのコメントを使用することができます。
+.Pp
+後述するキーワードの他に、
+.Ar src-file
+の中で有効なトークンとして以下のものがあります。
+.Bl -tag -width literal
+.It Dv RUNE
+.Dv RUNE
+は以下のいずれかです。
+.Bl -tag -width 0x[0-9a-z]*
+.It Ar 'x'
+ASCII文字の
+.Ar x 。
+.It Ar '\ex'
+ANSI文字の
+.Ar \ex 。
+ここで、
+.Ar \ex
+は
+.Dv \ea ,
+.Dv \eb ,
+.Dv \ef ,
+.Dv \en ,
+.Dv \er ,
+.Dv \et ,
+.Dv \ev
+のいずれかになります。
+.It Ar 0x[0-9a-z]*
+rune コードを表す16進数です。
+.It Ar 0[0-7]*
+rune コードを表す8進数です。
+.It Ar [1-9][0-9]*
+rune コードを表す10進数です。
+.El
+.It Dv STRING
+ダブルクォーテーション (") で囲まれた文字列です。
+.It Dv THRU
+.Dv ...
+か
+.Dv -
+のいずれかで、範囲を示すために使われます。
+.It Ar literal
+以下の文字は文字通りに解釈されます。
+.Bl -tag -width "<\|\|(\|\|["
+.It Dv "<\|(\|["
+マッピングを開始します。これらは全て同じ意味を持ちます。
+.It Dv ">\|\^)\|]"
+マッピングを終了します。これらは全て同じ意味を持ちます。
+.It Dv :
+マッピング中の区切り文字として使用されます。
+.El
+.El
+.sp
+ソースファイル中に一度のみ現れるキーワードには以下のものがあります。
+.Bl -tag -width PHONOGRAM
+.It Dv ENCODING
+これに続く
+.Dv STRING
+トークンによって、
+作成中の locale にて使われるエンコーディング機構を指定します。
+現在指定できるエンコーディングとして以下のものがあります。
+.Bl -tag -width NONE
+.It Dv NONE
+変換を行ないません。デフォルトのエンコーディングです。
+.It Dv UTF2
+.Nm "ベル研で開発された Plan 9"
+から移植された
+.Dv "Universal character set Transformation Format"
+です。これは好ましいエンコーディングです。
+.It Dv EUC
+いくつかの
+.Ux
+のベンダーで使われている
+.Dv EUC
+エンコーディングです。
+.El
+.It Dv VARIABLE
+1 つのタブ文字もしくはスペース文字がこのキーワードに続き、
+その後にエンコーディングに特有のデータが置かれます。
+現在は
+.Dv "EUC"
+エンコーディングのみで、この可変データが必要となります。
+詳しくは
+.Xr euc 4
+を参照してください。
+.It Dv INVALID
+1 つの
+.Dv RUNE
+を続いて指定し、作成中の locale における不正な rune を指定します。
+.El
+.sp
+以下のキーワードは複数回指定でき、次の形式を取ります。
+.in +.5i
+.Bl -tag -width "<RUNE1 THRU RUNEn : RUNE2>"
+.It Dv <RUNE1 RUNE2>
+.Dv RUNE1
+が
+.Dv RUNE2
+にマップされます。
+.It Dv <RUNE1 THRU RUNEn : RUNE2>
+.Dv RUNE1
+から
+.Dv RUNEn
+の rune が
+.Dv RUNE2
+から
+.Dv RUNE2
++ n-1
+にマップされます。
+.El
+.in -.5i
+.Bl -tag -width PHONOGRAM
+.It Dv MAPLOWER
+小文字への変換マッピングを定義します。
+.Dv RUNE2
+は
+.Dv RUNE1
+の小文字表現となります。
+.It Dv MAPUPPER
+大文字への変換マッピングを定義します。
+.Dv RUNE2
+は
+.Dv RUNE1
+の大文字表現となります。
+.It Dv TODIGIT
+rune からその数値へのマッピングを定義します。
+.Dv RUNE2
+は
+.Dv RUNE1
+の整数値表現となります。
+例えば、ASCII文字の
+.Nm '0'
+は 10進数の
+.Nm 0
+にマップされます。
+.Nm 255
+以下の値のみが指定可能です。
+.El
+.sp
+以下のキーワードは複数回指定でき、次の形式を取ります。
+.in +.5i
+.Bl -tag -width "RUNE1 THRU RUNEn"
+.It Dv RUNE
+この rune はキーワードによって定義された属性を持ちます。
+.It Dv "RUNE1 THRU RUNEn"
+.Dv RUNE1
+と
+.Dv RUNEn
+を含む、この間に指定された全ての rune はキーワードによって定義された属性を持ちます。
+.El
+.in -.5i
+.Bl -tag -width PHONOGRAM
+.It Dv ALPHA
+アルファベットで表示可能な文字である rune を定義します。
+.It Dv CONTROL
+制御文字である rune を定義します。
+.It Dv DIGIT
+10進数字で表示可能な文字である rune を定義します。
+.It Dv GRAPH
+表示可能な文字である rune を定義します。
+.It Dv LOWER
+小文字で表示可能な文字である rune を定義します。
+.It Dv PUNCT
+句読点で表示可能文字な rune を定義します。
+.It Dv SPACE
+スペース文字である rune を定義します。
+.It Dv UPPER
+大文字で表示可能な文字である rune を定義します。
+.It Dv XDIGIT
+16進数字で表示可能な文字である rune を定義します。
+.It Dv BLANK
+空白文字である rune 定義します。
+.It Dv PRINT
+表示可能な rune を定義します。
+.It Dv IDEOGRAM
+表意記号 (訳註:7, = & などの記号) で表示可能な文字である rune を定義します。
+.It Dv SPECIAL
+特殊文字で印刷可能な文字である rune を定義します。
+.It Dv PHONOGRAM
+表音文字で表示可能な文字である rune を定義します。
+.El
+.Sh 関連項目
+.Xr mklocale 1 ,
+.Xr mbrune 3 ,
+.Xr rune 3 ,
+.Xr setlocale 3 ,
+.Xr euc 4 ,
+.Xr utf2 4
+.Sh バグ
+.Nm mklocale
+ユーティリティはあまりに割り切り過ぎです。
+.Sh 歴史
+.Nm mklocale
+ユーティリティは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/mkstr.1 b/ja/man/man1/mkstr.1
new file mode 100644
index 0000000000..d6ebd1ab76
--- /dev/null
+++ b/ja/man/man1/mkstr.1
@@ -0,0 +1,142 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mkstr.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: mkstr.1,v 1.2 1997/03/29 06:22:47 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt MKSTR 1
+.Os
+.Sh 名称
+.Nm mkstr
+.Nd C 言語ソースファイルからエラーメッセージファイルを作成する
+.Sh 書式
+.Nm
+.Op Fl
+.Ar messagefile
+.Ar prefix file ...
+.Sh 解説
+.Nm
+は C 言語ソースファイルからエラーメッセージを抽出し、
+これを格納するファイルを作成します。また作成され
+たエラーメッセージファイルを使用するように、そのソースファイルを修正し
+ます。mkstr は巨大なプログラムのサイズを減少させ、スワップを減らすこと
+を目的としています
+(
+.Sx バグ
+の項を参照)
+。
+.Pp
+.Nm
+はコマンドラインで指定されたファイルを処理し、修正した入力ファイ
+ルを、指定されたファイル名に、指定されたプレフィクスをつけた名前のファイル
+で出力します。以下の使用例は典型的なものです。
+.Bd -literal -offset indent
+mkstr pistrings xx *.c
+.Ed
+.Pp
+.Nm
+は、カレントディレクトリにあるすべての C 言語ソースから集めた
+エラーメッセージを、ファイル
+.Ar pistrings
+に出力し、修正されたソースファイルを、ファイル名の先頭に
+.Ar \&xx
+をつけたファイルに出力します。
+.Pp
+オプション
+.Bl -tag -width indent
+.It Fl
+指定されたエラーメッセージファイルの最後に、エラーメッセージが置かれます。
+これは、
+.Nm
+で処理された巨大なプログラムの一部を再コンパイルするために使用します。
+.El
+.Pp
+.Nm
+は、ソースファイル中の
+.Li \&`error("'
+という文字列をもとにエラーメッセージを検索します。この文字列が出現すると、
+.Sq \&"\&
+から開始される文字列および
+その後にヌル文字と改行文字をメッセージファイルに出力します;
+変更前のソースにおいて文字列であった部分は、
+メッセージファイルのオフセットに置き換えられ
+.Xr lseek 2
+によって対応するメッセージを取り出すことができます。
+実際にメッセージを取り出す場合には、以下のようなコードを使用します。
+.Bd -literal -offset indent
+char efilname = "/usr/lib/pi_strings";
+int efil = -1;
+
+error(a1, a2, a3, a4)
+\&{
+ char buf[256];
+
+ if (efil < 0) {
+ efil = open(efilname, 0);
+ if (efil < 0) {
+oops:
+ perror(efilname);
+ exit 1 ;
+ }
+ }
+ if (lseek(efil, (long) a1, 0) \ read(efil, buf, 256) <= 0)
+ goto oops;
+ printf(buf, a2, a3, a4);
+}
+.Ed
+.Sh 関連項目
+.Xr xstr 1 ,
+.Xr lseek 2
+.Sh 歴史
+.Nm
+は
+.Bx 3.0
+で追加されました。
+.Sh バグ
+.Nm
+は、PDP 11 ファミリーの制限されたアーキテクチャのために開発されました。
+ごく一部のプログラムしか mkstr を使用していません。
+Pascal インタプリタ
+.Xr \&pi 1
+とエディタ
+.Xr \&ex 1
+が
+.Nm
+により作成されています。
+.Nm
+の方法は効率的なものとはいえないので、
+エラーメッセージはプログラムテキストのなかに埋め込まれているべきです
+.Pq (訳注) 最近はメッセージの国際化等のために、プログラム中にメッセージを埋め込まない方法もよく用いられます
+。
+.\" 上記(訳注)は翻訳時からあったが、現状確かにそうなので残しました。
+.\" 2.1.5-2.2-RELEASE 対象
+.\" By horikawa@jp.freebsd.org (Mar 29 1997)
diff --git a/ja/man/man1/more.1 b/ja/man/man1/more.1
new file mode 100644
index 0000000000..2724ce7f97
--- /dev/null
+++ b/ja/man/man1/more.1
@@ -0,0 +1,307 @@
+.\" Copyright (c) 1988, 1990 The Regents of the University of California.
+.\" Copyright (c) 1988 Mark Nudleman
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)more.1 5.15 (Berkeley) 7/29/91
+.\" jpman %Id: more.1,v 1.4 1997/08/11 14:30:57 horikawa Stab %
+.\" %Id: more.1,v 1.5 1994/01/11 18:22:48 jtc Exp %
+.\"
+.Dd April 18, 1994
+.Dt MORE 1
+.Os
+.Sh 名称
+.Nm more
+.Nd CRT 上でファイルをページ単位に閲覧する
+.Sh 書式
+.Nm
+.Op Fl ceinus
+.Op Fl t Ar tag
+.Op Fl x Ar tabs
+.Op Fl / Ar pattern
+.Op Fl #
+.Op Ar
+.Sh 解説
+.Nm
+は、画面上に一度に表示できる量の行数を 1 ページの行数とみなし、
+.Ar file
+が指定されていれば
+そのファイルを、指定されていないか ``-'' の場合は、標準入力 (標準入力が
+端末の場合は、何もせずに終了します) を読み込んで、1 ページ分表示する毎に
+キー入力を待つようにします。
+.Pp
+さまざまな端末に対応するため、
+.Xr termcap 3
+を使用します。また、制限はありますが、ハードコピー形式の端末も
+サポートしています。ハードコピー端末では、画面の上端に対応する位置に
+``^'' が印刷されます。
+.Sh オプション
+オプションとしては以下のものがあります。なお、これらのオプションは、
+あらかじめ環境変数
+.Ev MORE
+で指定しておくことができます(``-'' をつけること)。
+コマンドラインオプションでオーバーライドします。
+.Bl -tag -width flag
+.It Fl c
+通常、
+.Nm
+は次のページを表示する時、現在表示されている画面を 1 行づつ
+スクロールしていって新しいページを表示していきますが、
+このオプションを指定した場合、画面の上端から書き替えます。
+.It Fl e
+通常
+.Nm
+は、ファイルの最後に達し次に表示すべきファイルがない
+場合には終了しますが、このオプションを指定した場合にはファイルの最後に
+達した時点でキー入力待ちになります。このオプションは、最後まで見た後、
+前のページに遡って見たい場合に便利です。
+.\"ただし、元々ファイルが小さく、最初の 1 ページに納まっている場合は、
+.\"すぐ終了します。
+.\"(訳中)原文で内容が削られていますが、とりあえずコメントで残します。
+.\" 2.2.1R 対象(1997/05/06) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.It Fl i
+サーチするとき、大文字と小文字を区別しないようにします。
+.It Fl n
+行番号の処理をしないようにします。デフォルトで、
+.Xr more
+は、
+.Cm =
+コマンドを使用した行情報の表示や、
+.Cm v
+コマンドでエディタを起動して現在見ている行にジャンプさせるために、
+行番号を内部で管理しています。しかし、この処理のために動作が
+遅くなっており、これは、大きなファイルを扱う場合、特に顕著です。
+このオプションを指定して行番号を使用しないことを
+明示すれば、速度の低下を回避することができます。
+.It Fl s
+複数の空行が連続している場合、空行を 1 行にします。
+.It Fl t Ar tag
+タグ情報を含むファイル ``tags'' から、tag で指定されたエントリを検索し、
+対応するファイルの指定位置から表示を開始します。
+タグファイル ``tags'' については、
+.Xr ctags 1
+を参照してください。
+.It Fl u
+デフォルトでは、
+.Nm
+は
+.Dv BS
+や
+.Dv CR-LF
+などのシーケンスを特別に処理します。
+.Dv BS
+とアンダースコア文字があった場合は、文字にアンダーラインをつけて
+表示しますし、2 つの同じ文字の間にBSがあったら、強調表示にします。
+.Dv CR-LF
+は、1 つの改行にします。
+このオプションは、これらの処理をやめ、
+.Dv BS
+は ``^H'' に、
+.Dv CR-LF
+は ``^M'' と改行にします。
+.It Fl x
+タブ幅を
+.Ar N
+文字にします。デフォルトでは 8 です。
+.It Fl /
+.Ar pattern
+で指定した検索を実行し、見つかった位置から表示します。
+.El
+.Pp
+.Sh コマンド
+.Nm
+は、1 ページ表示する毎に、キーボードから各種のコマンドを受け付けます。
+コマンドは、
+.Xr vi 1
+のコマンド体系をベースにしたものです。
+以下の説明で、``^''は``Control''キーを押しながら入力するキーの意味です。
+また、コマンドのキーを押す前に数字を入力することで、そのコマンドに
+対する引数を与えることができます。これは、説明のなかで``N''として
+記述しています。
+.Bl -tag -width Ic
+.It Ic h
+コマンドのヘルプを表示します。もし他の全てのコマンドを忘れても、
+このコマンドは覚えておいてください。
+.It Xo
+.Ic q
+.No or
+.Ic \&:q
+.No or
+.Ic ZZ
+.Xc
+.Nm
+を終了します。
+.It Xo
+.Ic SPACE
+.No or
+.Ic f
+.No or
+.Ic \&^F
+.Xc
+引数を指定しなかった場合は、1 ページ分スクロールします。
+引数を指定した場合は、N 行分スクロールします。
+.It Ic b No or Ic \&^B
+テキストを 1 ページ分前にスクロールします(-zオプション参照)。
+引数を指定した場合は、N 行分前にスクロールします。
+.It Ic j No or Ic RETURN
+1 行だけスクロールします。引数を指定した場合は、
+N 行分スクロールします。
+.It Ic k
+1 行だけ前に戻るようにスクロールします。引数を指定
+した場合は、N行分戻ります。
+.It Ic d No or Ic \&^D
+画面の半分の行数を単位としてスクロールします。引数を
+指定した場合は N 行分スクロールします。指定後は、この ``d'' コマンド
+および次の ``u'' コマンドでは、引数を指定しないでも半画面ではなく、
+ここで指定した N 行単位でスクロールするようになります。
+.It Ic u No or Ic \&^U
+画面の半分の行数を単位として前の画面にスクロールします。
+引数を指定した場合は、N 行分スクロールし、以後、N 行単位で
+スクロールするようになります。
+.It Ic g
+ファイルの N 行目から表示します。引数を指定しなかった場合は、
+ファイル先頭から表示します。
+.It Ic G
+ファイルの N 行目から表示します。引数を指定しなかった場合は、
+ファイルの最後から表示します。
+.It Ic p No or Ic \&%
+ファイルの N パーセント目から表示します。 N は 0 から 100 までです。
+file で指定したファイルの場合では、標準入力を読み込んで
+表示するようにしている場合は、ファイルエンドに達してからでないと、
+このコマンドは使用できません。
+これは速いのですが、いつも有効とは限りません。
+.It Ic r No or Ic \&^L
+画面を表示し直します。
+.It Ic R
+バッファに入っている入力を捨て、再読み込みして同じ行番号に当たる所から
+画面を表示し直します。これは、表示を見ている間にファイルが
+変更されたような場合に有効です。
+.It Ic m
+行マークをするコマンドです。``m'' を押すと、画
+面下に ``mark: '' と表示されるので、a から z までの英小文字を使ってマークの
+指定をすることができます。これで、現在の表示行がその文字にマーク
+されます。次の `` ' '' コマンドによって、ここでマークした行に
+ジャンプさせることができます。
+.It Ic \&'
+m コマンドでマークした行にジャンプするコマンドで
+す。画面下に ``goto mark: '' と表示されますので、m コマンドで
+マークした a から z までの英小文字を入力すれば、
+その行にジャンプできます。
+なお、a から z のかわりに再度 `` ' '' を
+入力すると、その前に大きく移動した位置に戻ります。この場合の大きな移動とは、
+`` ' ''コマンドによる移動や、``g'' コマンドでのファイル先頭に移動することを
+指します。
+このあと、`` '' ''と入力すると、移動前の位置に戻ることができます。
+全てのマークは、新しいファイルを読み込んだ時に失われます。
+.It Ic \&/ Ns Ar pattern
+現在行 (画面の一番上に表示されている行) の次の
+行からファイルの末端に向かって、pattern で指定した検索を実行し、
+一致した行から表示します。引数が指定された場合は、検索を繰り返し
+実行し、N回目に一致した行からの表示になります。pattern には、
+.Xr re_format 7
+で解説されているPOSIX.2
+.Dq extended format
+正規表現が使用できます。
+.It Ic \&? Ns Ar pattern
+現在行 (画面の一番上に表示されている行) の直前から
+ファイルの先頭に向かって、
+.Ar pattern
+で指定した検索を実行します。
+.It Ic \&/\&! Ns Ar pattern
+.Ar pattern
+に一致しない行を検索する以外は ``/'' と同じです。
+.It Ic \&?\&! Ns Ar pattern
+.Ar pattern
+に一致しない行を検索する以外は ``?'' と同じです。
+.It Ic n
+直前に実行した検索コマンドを再実行します。
+.It Ic E Ns Op Ar filename
+コマンドラインのファイルリストの中から現在表示しているファイル
+(N,Pコマンド参照)にかわって、
+filename で指定したファイルを表示対象にします。
+ファイルが見つからない場合は、現在のファイルを再度表示します。
+ファイル名が"#"なら、一つ前に読み込んだファイルを再度表示します。
+.It Ic N No or Ic \&:n
+コマンドラインから file として複数のファイルを指
+定して起動した場合に、現在表示しているファイルの次のファイルに表示を
+切り替えます。引数を指定した場合は、N 個先のファイルになります。
+.It Ic P No or Ic \&:p
+コマンドラインから file として複数のファイルを指
+定して起動した場合に、現在表示しているファイルの 1 つ前のファイルに
+表示を切り替えます。引数を指定した場合は、N 個前のファイルになります。
+.It Ic \&:t
+タグエントリの入力をします。
+``:t'' を押すと、画面下に ``Tag: '' と表示されるので、新しいタグエントリの
+入力をします。
+対応するタグエントリが見つからなかった場合は、その旨を表示して、
+前のファイルを表示します。
+.It Ic v
+現在表示しているファイルを編集対象にして、エディタを起動します。
+エディタはデフォルトでは
+.Xr vi 1
+が起動されるようになっていますが、
+環境変数
+.Ev EDITOR
+が指定されていた場合には、そこで指定したエディタが起動されます。
+.It Ic \&= No or Ic \&^G
+現在表示しているファイルについて、画面の最下行がファイル全体の
+何行目にあたるか、また、ファイルの総バイト数に対する現在行の
+バイト数とそのパーセンテージを表示します。
+.Nm
+が標準入力から読み込んでいるか、ファイルが一画面より短い場合は、
+いくつかの情報は有効ではありません。これらの情報は、画面の最下行の最初の
+1 バイトによって得られる事を覚えておいてください。
+.El
+.Sh 環境変数
+.Bl -tag -width Fl
+.It Ev MORE
+コマンドラインで指定するかわりに、あらかじめよく使うオプションを
+設定しておくことができます。
+.It Ev EDITOR
+起動するエディタを指定します。
+.It Ev SHELL
+起動するシェルを指定します。通常、この変数はログイン時
+にシェルが自分でセットします。
+.It Ev TERM
+端末のタイプを指定します。
+.El
+.Sh 関連項目
+.Xr ctags 1 ,
+.Xr vi 1
+.Sh バグ
+CRLF が改行符号である普通のファイルをアクセスする時、
+ -u フラグ無しでは正しくない出力が結果として得られます。
+.Sh 作者
+このソフトウェアは Mark Nudleman によって Berkeley に寄贈されました。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/mset.1 b/ja/man/man1/mset.1
new file mode 100644
index 0000000000..67f7ce6a46
--- /dev/null
+++ b/ja/man/man1/mset.1
@@ -0,0 +1,173 @@
+.\" Copyright (c) 1986, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mset.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: mset.1,v 1.3 1997/07/21 16:27:24 horikawa Stab %
+.\" %Id: mset.1,v 1.2 1993/08/01 07:27:43 mycroft Exp %
+.\"
+.Dd June 6, 1993
+.Dt MSET 1
+.Os BSD 4.3
+.Sh 名称
+.Nm mset
+.Nd ASCII キーボードにおいて IBM 3270 のキー配置情報を得る
+.Sh 書式
+.Nm
+.Op Fl picky
+.Op Fl shell
+.Op Ar keyboardname
+.Sh 解説
+.Nm
+は
+.Tn ASCII キーボードに
+.Tn IBM
+3270 端末の特殊機能をマッピングするための情報を得ます。
+通常、このマッピング情報は
+.Pa /user/share/misc/map3270
+に存在しています(参照
+.Xr map3270 5
+) 。
+このコマンドが捜し出す情報は
+.Xr tn3270
+コマンドで使用されます(参照
+.Xr tn3270 1
+) 。
+.Pp
+.Xr tn3270
+を起動する度に毎回
+.Pa map3270
+を探索する事を避けるため、
+デフォルトの
+.Nm
+コマンドの出力を使って、
+プロセス環境中にマッピング情報を格納することができます。
+この様にするためには、あなたの
+.Pa .login
+ファイル中に以下のコマンドを記述して下さい。
+.Bd -literal -offset indent
+set noglob; setenv MAP3270 "\(gamset\(ga"; unset noglob
+.Ed
+.Pp
+もし
+.Ar keyboardname
+引数が指定されなければ、
+.Nm
+コマンドは、
+環境変数
+.Ev KEYBD
+を調べ、ユーザの使っているキーボードの名前を決定しようとします。
+もし環境変数
+.Ev KEYBD
+が設定されていない場合は、
+.Nm
+コマンドは、キーボードの名前として、環境変数
+.Ev TERM
+で定義されるユーザの端末タイプを使用します。
+通常、
+.Nm
+コマンドは、
+該当する端末タイプのキーボードマッピング情報を見つけようと
+マップファイル
+.Xr map3270 5
+を使用します。しかし、環境変数
+.Ev MAP3270
+が定義されており、指定されたキーボード用のエントリが含まれていれば、そ
+の定義を使用します。
+環境変数
+.Ev MAP3270
+の値がスラッシュ(`/')で始まっていれば、その値を代わりのマッピングファ
+イルのフルパス名として仮定し、そのマッピングファイルを最初に検索します。
+環境変数中か、代わりのマップファイルの中か、標準のマップファイルの中か、
+いずれの中にも、キーボード用のマッピング情報が見つからない場合には、
+.Ar unknown
+という名前を使ってキーボード用のエントリを検索します。もし検索出来ない
+場合には、デフォルトのマッピング情報を使用します。
+.Pp
+.Nm
+コマンドの引数は以下のとおりです。
+.Pp
+.Bl -tag -width Fl
+.It Fl picky
+色々な
+.Pa map3270
+ファイルのエントリ (ユーザが使用するキーボードエントリや、そのエントリ
+の前にあるすべてのエントリ) を処理する際、
+.Nm
+コマンドは、通常、エントリ中に未知の機能があっても文句を言いません。(例えば、
+.Dq PFX1
+)。
+.Fl picky
+引数を指定すると、未知のエントリについて警告を発します。
+.It Fl shell
+.Nm
+を起動する度に毎回
+.Pa map3270
+を探索しなくても良いようにプロセス環境中にマッピング情報を格納しようとした時、
+.Pa map3270
+ファイルのエントリが、シェルの環境変数の長さ制限 1024 バイトを越
+える場合には格納できません。
+.Fl shell
+引数を指定すると、
+.Ev MAP3270 ,
+.Ev MAP3270A ,
+等の環境変数を設定するためのシェルコマンドを生成し、シェルの環境
+変数の長さ制限内に収まるようエントリを分割します。これらの環境変数を設
+定するために、あなたの
+.Pa .login
+ファイル中に以下のコマンドを記述して下さい。
+.Bd -literal -offset indent
+mset -shell > tmp ; source tmp ; /bin/rm tmp
+.Ed
+.It Ar keyboardname
+ユーザのキーボードに合う
+.Pa map3270
+ファイルのエントリを検索する際、
+.Nm
+コマンドは、環境変数
+.Ev KEYBD
+や
+.Ev TERM
+から得られるキーボード名を決定する代わりに
+.Ar keyboardname
+を使用します。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/misc/map3270 -compact
+.It Pa /usr/share/misc/map3270
+既知のキーボード用のマッピングデータ
+.El
+.Sh 関連項目
+.Xr tn3270 1 ,
+.Xr map3270 5
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3
+で登場しました。
diff --git a/ja/man/man1/msgs.1 b/ja/man/man1/msgs.1
new file mode 100644
index 0000000000..411a177ee9
--- /dev/null
+++ b/ja/man/man1/msgs.1
@@ -0,0 +1,205 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)msgs.1 8.2 (Berkeley) 4/28/95
+.\" jpman %Id: msgs.1,v 1.2 1997/03/29 06:23:20 horikawa Stab %
+.\"
+.Dd April 28, 1995
+.Dt MSGS 1
+.Os BSD 4
+.Sh 名称
+.Nm msgs
+.Nd システムからのメッセージを読むための簡単なメールプログラム
+.Sh 書式
+.Nm
+.Op Fl fhlpq
+.Op Ar number
+.Op Ar \-number
+.Nm msgs
+.Op Fl s
+.Nm msgs
+.Op Fl c
+.Op \-days
+.Sh 解説
+.Nm
+は、システムからのメッセージを読むためのプログラムです。
+これらのメッセージはユーザ `msgs' あてにメールを送ることで送信されます。
+これらのメッセージは、ユーザがシステムにログインした時に、
+システムからの簡単なメッセージを一度だけ表示するのに便利です。
+.Pp
+.Nm
+を
+.Pa .login
+ファイル
+(
+.Xr sh 1
+を使っているならば、
+.Pa .profile
+) に書いておくことによって、
+ログインするたびに
+.Nm
+が実行されます。
+もし、新しいメッセージがあれば、誰からのメッセージかという情報と、
+Subject とを表示します。
+もし Subject 行が無ければ、先頭の空行でない数行を表示します。
+もし、より多くのメッセージがあれば、残りのメッセージ量を示し、
+残りのメッセージを見るかどうかを尋ねます。
+返事としては、以下のものを使うことができます:
+.Bl -tag -width Fl
+.It Ic y
+メッセージを表示します。
+.It Ic RETURN
+y と同じです。
+.It Ic n
+このメッセージをスキップして、次のメッセージに行きます。
+.It Fl
+最後に表示したメッセージを再表示します。
+.It Ic q
+.Nm
+を終了します。次回には読まなかったメッセージを読むことができます。
+.It Ic s
+メッセージをセーブします。現在のメッセージをカレントディレクトリの
+``Messages'' というファイルに追加します。
+`s\-' は表示する前にセーブします。
+`s' や `s\-' はその後ろに空白をはさんでセーブするファイル名を指定できます。
+.It Ic m
+指定されたメッセージを、一時的な mailbox としてファイルに記録し、
+.Xr mail 1
+を起動して、記録したファイルをメールとして扱うことができるようにします。
+`m' , `s' コマンドは、`-' の代わりに数字の引数を受け付けます。
+.El
+.Pp
+.Nm
+は、各ユーザのホームディレクトリの
+.Pa \&.msgsrc
+に記録されている番号を読み込んで、新たに読むべきメッセージを決定します。
+.Pa /var/msgs
+というディレクトリには、(シーケンシャルな)メッセージ番号を
+ファイル名として格納しています。
+.Pa /var/msgs/bounds
+というファイルには、
+このディレクトリにあるメッセージの一番小さな番号と大きな番号を記録しています。
+これにより、
+.Nm
+はメッセージがあるかどうか、ただちに判定できます。
+.Pa bounds
+の内容が壊れている場合は、このファイルを削除することで、次回
+.Nm
+の起動時に、新しく
+.Pa bounds
+を作成します。
+.Pp
+.Fl s
+オプションは、メッセージの配送を設定する時に使います。
+.Pp
+.Dl msgs: \&"\&| /usr/bin/msgs \-s\&"
+.Pp
+という行を
+.Pa /etc/aliases
+に挿入して (
+.Xr newaliases 1
+参照)、メッセージを投函できるようにします。
+.Pp
+.Fl c
+オプションは
+.Pa /var/msgs
+をクリアするために使います。
+.Fl c
+つきのエントリを、
+.Pa /etc/crontab
+に記述して、毎晩実行するようにするといいでしょう。
+これで、21 日より古いメッセージを消すことができます。
+デフォルトの日付を変更するにはコマンドラインで設定する必要があります。
+.Pp
+メッセージを読む時のオプションとしては以下のものがあります:
+.Bl -tag -width Fl
+.It Fl f
+``No new messages.'' を表示しません。これは、
+.Pa .login
+ファイルなどに
+.Nm
+を書いておく場合に便利です。
+.It Fl q
+メッセージがある場合に、``There are new messages.'' と表示するようにし
+ます。
+.Pa .login
+ファイルなどに ``msgs \-q'' と書いておくと便利です。
+.It Fl h
+メッセージの最初の部分だけを表示します。
+.It Fl l
+ローカルに作られたメッセージだけを報告します。
+.It Ar num
+コマンドラインから番号を与えると、
+.Pa \&.msgsrc
+に記録されている番号を使わずに、指定した番号以降のメッセージを表示します。
+つまり、
+.Pp
+.Dl msgs \-h 1
+.Pp
+は、すべてのメッセージのはじめの部分を表示します。
+.It Ar \-number
+.Pa \&.msgsrc
+に記録されている番号より
+.Ar number
+分だけ戻ったメッセージから表示します。最近のメッセージを見るのに便利です。
+.It Fl p
+長いメッセージは、
+.Xr more 1
+を使います。
+.El
+.Pp
+.Nm
+のコマンド対話モードの時に、コマンドの代わりに番号を入力することで、
+指定した番号のメッセージに移動することができます。
+.Sh 環境変数
+.Nm
+は、デフォルトのホームディレクトリと端末タイプを知るために、
+.Ev HOME
+と
+.Ev TERM
+を参照します。
+.Sh 関連ファイル
+.Bl -tag -width /var/msgs/* -compact
+.It Pa /var/msgs/*
+メッセージデータベース
+.It ~/.msgsrc
+次のメッセージ番号を記録しているファイル
+.El
+.Sh 関連項目
+.Xr mail 1 ,
+.Xr more 1 ,
+.Xr aliases 5 ,
+.\".Xr crontab 5 ,
+.Sh 歴史
+.Nm
+コマンドは、
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/mt.1 b/ja/man/man1/mt.1
new file mode 100644
index 0000000000..8774ee1162
--- /dev/null
+++ b/ja/man/man1/mt.1
@@ -0,0 +1,255 @@
+.\" Copyright (c) 1981, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mt.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: mt.1,v 1.3 1997/06/16 09:29:17 taku Stab %
+.\"
+.Dd June 6, 1993
+.Dt MT 1
+.Os BSD 4
+.Sh 名称
+.Nm mt
+.Nd 磁気テープ操作プログラム
+.Sh 書式
+.Nm
+.Op Fl f Ar tapename
+.Ar command
+.Op Ar count
+.Sh 解説
+.Nm
+は、
+磁気テープドライブへコマンドを与えるのに使われます。
+通常、
+.Nm
+は要求された操作を一度だけ行います。
+操作によっては
+.Ar count
+で指定した回数だけ繰り返し実行できます。
+なお、
+.Ar tapename
+は生の( ブロック型でない )テープデバイスを指していなければなりません。
+.Pp
+使用可能なコマンドは下記のようになっています。
+コマンドの指定にあたって、
+一意に特定するのに必要なだけの文字数は与える必要があります。
+.Bl -tag -width "eof, weof"
+.It Cm weof
+テープの現在位置に
+.Ar count
+個のファイル終端マークを書き込みます。
+.It Cm fsf
+ファイル
+.Ar count
+個分早送りします。
+.It Cm fsr
+レコード
+.Ar count
+個分早送りします。
+.It Cm bsf
+ファイル
+.Ar count
+個分巻き戻します。
+.It Cm bsr
+レコード
+.Ar count
+個分巻き戻します。
+.It Cm rewind
+テープを巻き戻します( カウントは無視 )。
+.It Cm offline , rewoffl
+テープを巻き戻して、
+テープユニットをオフライン状態にします( カウントは無視 )。
+.It Cm erase
+テープを消去します( カウントは無視 )。
+.It Cm retension
+テープのたるみを取ります( 一度最後まで早送りして、
+また巻き戻します。カウントは無視 )。
+.It Cm status
+テープユニットの状態情報を出力します。
+.It Cm blocksize
+テープユニットに対してブロックサイズを指定します。
+零は可変長ブロックを意味します。
+.It Cm density
+テープユニットに対して密度を指定します。
+密度の符号化方式については、
+下記を参照して下さい。
+密度の値は、
+.Dq リファレンス
+欄に応じた数字と文字列のどちらでも与えることができます。
+もし文字列が略記されていたら、
+表に書かれてある順番で調べていき、
+最初に合致した項目が使われます。
+与えられた文字列と正しい密度名称を調べた結果が正確に合致しないのであれば、
+与えられた文字列がどう解釈されたかについて、
+通知メッセージが出力されます。
+.It Cm eom
+記録されたメディアの終端まで早送りします( カウントは無視 )。
+.It Cm eod
+データの終端まで早送りします。
+.Cm eom
+と同じです。
+.It Cm comp
+圧縮モードを指定します。
+(カーネル内の関連部分がまだ正しく動作するとの報告を受けていません。)
+.El
+.Pp
+テープ名が与えられていないくて、かつ環境変数
+.Ev TAPE
+が存在しない場合、
+.Nm
+はデバイス
+.Pa /dev/nrst0
+を使用します。
+.Pp
+.Nm
+は、操作が成功したならば 0 の終了値を、
+コマンドが認識不能の場合には 1 を、
+また操作が失敗したならば 2 を返します。
+.Pp
+それぞれ密度の符号化方式は次の通りです。
+.Pp
+.Dl 0x0 デバイスの既定値
+.Dl 0xE ECMA 用予約値
+.Bd -literal -offset indent
+値 トラック 密度(bpi) 略称 タイプ リファレンス 注釈
+0x1 9 800 NRZI R X3.22-1983 2
+0x2 9 1600 PE R X3.39-1986 2
+0x3 9 6250 GCR R X3.54-1986 2
+0x5 4/9 8000 GCR C X3.136-1986 1
+0x6 9 3200 PE R X3.157-1987 2
+0x7 4 6400 IMFM C X3.116-1986 1
+0x8 4 8000 GCR CS X3.158-1986 1
+0x9 18 37871 GCR C X3B5/87-099 2
+0xA 22 6667 MFM C X3B5/86-199 1
+0xB 4 1600 PE C X3.56-1986 1
+0xC 24 12690 GCR C HI-TC1 1,5
+0xD 24 25380 GCR C HI-TC2 1,5
+0xF 15 10000 GCR C QIC-120 1,5
+0x10 18 10000 GCR C QIC-150 1,5
+0x11 26 16000 GCR C QIC-320(525?) 1,5
+0x12 30 51667 RLL C QIC-1350 1,5
+0x13 1 61000 DDS CS X3B5/88-185A 4
+0x14 1 43245 RLL CS X3.202-1991 4
+0x15 1 45434 RLL CS ECMA TC17 4
+0x16 48 10000 MFM C X3.193-1990 1
+0x17 48 42500 MFM C X3B5/91-174 1
+.Ed
+
+符号化の意味:
+.Bd -literal -offset indent
+NRZI 非ゼロ復帰 IBM 記録方式
+ (Non Return to Zero, change on ones)
+GCR グループ符号記録
+ (Group Code Recording)
+PE 位相符号化
+ (Phase Encoded)
+IMFM 反転修正周波数変調
+ (Inverted Modified Frequency Modulation)
+MFM 修正周波数変調
+ (Modified Frequency Modulation)
+DDS DAT データ記憶装置
+ (Dat Data Storage)
+RLL ランレングス符号化
+ (Run Length Encoding)
+.Ed
+
+.\" 上記(訳注)は、略号の解説には訳文とその原文とを併記しておくことが
+.\" 理解の助けになるものと判断し、追加しました。
+.\" 2.2.2-RELEASE 対象
+.\" By taku@tail.net (June 16, 1997)
+
+タイプの意味:
+.Bd -literal -offset indent
+R リールトゥリール
+C カートリッジ
+CS カセット
+.Ed
+
+注釈の意味:
+.Bd -literal -offset indent
+1 シリアル記録
+2 パラレル記録
+3 QIC-11 として知られる古い形式
+4 ヘリカルスキャン
+5 ANSI 標準ではなく工業標準
+.Ed
+
+.Sh 環境変数
+次の環境変数が存在すれば、
+.Nm
+に利用されます。
+.Bl -tag -width Fl
+.It Ev TAPE
+引数
+.Ar tapename
+が与えられていない時、
+.Nm
+は
+.Ev TAPE
+環境変数を調べます。
+.Sh ファイル
+.Bl -tag -width /dev/*rst[0-9]*xx -compact
+.It Pa /dev/*rwt*
+QIC-02/QIC-36 磁気テープインタフェース
+.It Pa /dev/*rst[0-9]*
+SCSI 磁気テープインタフェース
+.El
+.Sh 関連項目
+.Xr mtio 4 ,
+.Xr st 4 ,
+.Xr wt 4 ,
+.Xr dd 1 ,
+.Xr ioctl 2 ,
+.Xr environ 7
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3
+で登場しました。
+.Pp
+.Xr st 4
+ドライバに関する拡張部分は
+.Xr st 1
+コマンドとは別のものとして 386BSD 0.1 で登場し、
+.Nm
+コマンドに
+.Fx 2.1
+で含められました。
+.Pp
+.Cm weof
+と同義のコマンドであった
+.Cm eof
+コマンドは
+.Fx 2.1
+で破棄されました。
+なぜなら、非常に危険なコマンド
+.Cm eom
+との混乱があったためです。
diff --git a/ja/man/man1/mv.1 b/ja/man/man1/mv.1
new file mode 100644
index 0000000000..53c266c29d
--- /dev/null
+++ b/ja/man/man1/mv.1
@@ -0,0 +1,150 @@
+.\" %NetBSD: mv.1,v 1.8 1995/03/21 09:06:51 cgd Exp %
+.\"
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mv.1 8.1 (Berkeley) 5/31/93
+.\" %Id: mv.1,v 1.7 1996/08/29 18:06:04 wosch Exp %
+.\" jpman %Id: mv.1,v 1.2 1997/03/29 06:23:50 horikawa Stab %
+.\"
+.Dd May 31, 1993
+.Dt MV 1
+.Os
+.Sh 名称
+.Nm mv
+.Nd ファイルの移動
+.Sh 書式
+.Nm mv
+.Op Fl fi
+.Ar source target
+.Nm mv
+.Op Fl fi
+.Ar source ... directory
+.Sh 解説
+1 番目の書式の場合、
+.Nm mv
+ユーティリティは
+.Ar source
+オペランドで指定される名前のファイルの名前を、
+.Ar target
+オペランドで指定される名前のデスティネーションパスに変更します。
+最後に指定されるオペランドが既に存在するディレクトリの名前ではない場合に
+この書式であるとされます。
+.Pp
+2 番目の書式の場合、各々の
+.Ar source
+オペランドで指定される名前のファイルを、
+.Ar directory
+オペランドで指定される名前で既に存在するディレクトリの中の
+デスティネーションファイルに移動します。
+各々のオペランドに対応するデスティネーションパスは、
+``最後のオペランド''と``スラッシュ''と``ファイルのパス名の最後の部分''
+の結合によって生成されるパス名です。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width flag
+.It Fl f
+デスティネーションパスを上書きする前に、
+書き込みパーミッションがあるなしにかかわらず、確認せず実行します。
+(
+.Fl f
+オプションが指定されると、それ以前の
+.Fl i
+オプションは無視されます。)
+.It Fl i
+すでに移動先に同名のファイルが存在する場合、実行してよいかどうか確認を
+標準エラー出力を使用して
+求めます。標準入力から
+.Sq Li y
+または
+.Sq Li Y
+で始まる文字列が入力されると、実行されます。
+(
+.Fl i
+オプションが指定されると、それ以前の
+.Fl f
+オプションは無視されます。)
+.El
+.Pp
+.Ar source
+オペランドとデスティネーションパスがともにディレクトリである場合を除き、
+オペランドもしくはデスティネーションパスに
+ディレクトリを指定することは誤りです。
+.Pp
+デスティネーションパスが書き込み許可をしていない場合、
+.Nm mv
+は、
+.Fl i
+オプションと同じように、
+ユーザの確認を求めます。
+.Pp
+.Nm mv
+は、通常、システムコール
+.Xr rename 2
+を使ってファイルの移動をします。しかし、
+.Xr rename 2
+は、ファイルシステムを越えてファイルを移動することがで
+きません。このため、
+.Ar source
+と
+.Ar target
+が違うファイルシステム上の場合、
+.Nm mv
+は、
+.Xr cp 1
+と
+.Xr rm 1
+を使って移動を行います。これは、次の結果と等価です。
+.Bd -literal -offset indent
+rm -f destination_path && \e
+\tcp -pRP source_file destination && \e
+\trm -rf source_file
+.Ed
+.Pp
+.mv
+ユーティリティは成功時には 0 を、エラー時には >0 を返し、終了します。
+.Sh 関連項目
+.Xr cp 1 ,
+.Xr rm 1 ,
+.Xr symlink 7
+.Sh 規格
+.Nm mv
+ユーティリティは
+.St -p1003.2
+互換です。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/netstat.1 b/ja/man/man1/netstat.1
new file mode 100644
index 0000000000..468ffe9074
--- /dev/null
+++ b/ja/man/man1/netstat.1
@@ -0,0 +1,308 @@
+.\" Copyright (c) 1983, 1990, 1992, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)netstat.1 8.8 (Berkeley) 4/18/94
+.\" jpman %Id: netstat.1,v 1.4 1997/10/11 07:45:56 horikawa Stab %
+.\" %Id: netstat.1,v 1.6.2.1 1994/08/06 06:32:37 mycroft Exp %
+.\"
+.Dd April 18, 1994
+.Dt NETSTAT 1
+.Os BSD 4.2
+.Sh 名称
+.Nm netstat
+.Nd ネットワークの状態を表示する
+.Sh 書式
+.Nm netstat
+.Op Fl Aan
+.Op Fl f Ar address_family
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Nm netstat
+.Op Fl bdghimnrs
+.Op Fl f Ar address_family
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Nm netstat
+.Op Fl bdn
+.Op Fl I Ar interface
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Op Fl w Ar wait
+.Nm netstat
+.Op Fl p Ar protocol
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Sh 解説
+.Nm netstat
+コマンドは、ネットワークに関連したさまざまな情報を、シンボル表示を
+交えてわかりやすく表示します。
+出力の形式は指定オプションによって何種類かにわかれます。
+第1の形式は、プロトコルごとのアクティブソケットの一覧です。
+第2の形式は、選択したオプションによる、他のネットワークのデータ構造です。
+第3の形式は、コンフィギュレーションされているネットワークインタフェースの
+パケットトラフィックを
+.Ar wait
+で指定したインターバル毎に継続して表示します。
+第4の形式は、指定したプロトコルに関する統計情報を表示します。
+.Pp
+本コマンドでは、以下のオプションを指定可能です。
+.Bl -tag -width flag
+.It Fl A
+デフォルトの表示では、ソケットと関係したすべてのプロトコル制御ブロックの
+アドレスが表示されます。通常これらはデバッグに用いられます。
+.It Fl a
+デフォルトの表示では、すべてのソケットの状態が表示されます。通常
+は、サーバプロセスで利用されているソケットは表示されません。
+.It Fl b
+本オプションをネットワークインタフェース表示
+(後述の
+.Fl i
+オプション)と併用した場合には、入力、出力したバイト数を表示します。
+.It Fl d
+本オプションをネットワークインタフェース表示(
+.Fl i
+オプション、もしくは後述のインターバルオプション)
+と併用した場合には、欠落したパケット数を併せて表示します。
+.It Fl f Ar address_family
+表示する統計情報あるいはアドレス制御ブロック情報を
+.Ar address family
+の指定に合致するアドレスファミリのものに限定します。
+アドレスファミリについては、
+.Ar inet
+が
+.Dv AF_INET
+(インターネットプロトコルファミリ)として、
+.Ar ipx
+が
+.Dv AF_IPX
+として、
+.Ar atalk
+が
+.Dv AF_APPLETALK (ddp)
+(アップルトークプロトコル)として、
+.\".Ar ns
+.\"が
+.\".Dv AF_NS
+.\"(XEROX NSプロトコルファミリ)として、
+.\".Ar iso
+.\"が
+.\".Dv AF_ISO
+.\"(ISOプロトコルファミリ)として、そして
+.\"(訳中)原文でコメントアウトされているのに従いました。
+.\" 2.2.1R 対象(1997/05/06) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.Ar unix
+が
+.Dv AF_UNIX
+(UNIXドメインプロトコルファミリ)として解釈されます。
+.It Fl g
+マルチキャスト(グループアドレス)ルーティングに関連した情報を表示します。
+デフォルトでは、IPマルチキャスト仮想インタフェースおよびルーティング
+テーブルについて表示します。
+.Fl s
+オプションが同時に指定された場合、マルチキャストルーティングについての
+統計情報も表示します。
+.It Fl h
+.Tn IMP
+ホストテーブルの状態を表示します(時代遅れ)。
+.It Fl I Ar interface
+指定したインタフェースについての情報を表示します。本オプションは、
+インターバルオプション
+.Ar wait
+と同時に指定し
+て使われます。このインターバルオプションについての詳細は後述します。
+.It Fl i
+自動コンフィギュレーションされているネットワークインタフェースの状態
+を表示します(静的にシステムにコンフィギュレーションされているインタ
+フェースについて表示しますが、ブート時にコンフィギュレーションされて
+いないものについては表示しません)。
+.Fl a
+オプションが同時に指定されている場合には、各イーサネットインタフェース
+および各IPインタフェースアドレス
+について、現在使用されているマルチキャストアドレスが表示
+されます。マルチキャストアドレスは、
+各々対応するインタフェースアドレスに続いて表示
+されます。
+.It Fl M
+デフォルトで使用される
+.Pa /dev/kmem
+の代わりに指定した core から、ネームリストに関連する各値を
+取り出します。
+.It Fl m
+メモリ管理ルーチンによって記録されているメモリ使用の統計情報を表
+示します。
+(ネットワーク管理システムは、独自にメモリバッファを確保しています)。
+.It Fl N
+.Pa /kernel
+のかわりに、指定したカーネルモジュールからネームリストを取り出します。
+.It Fl n
+ネットワークアドレスを数字で表示します(通常、
+.Nm netstat
+コマンドは、IPアドレスを可能な限りホスト名などのシンボリックなものに置
+き換えようとします)。
+本オプションは、どのような表示形式の場合にも使用できます。
+.It Fl p Ar protocol
+.Ar protocol
+で指定したプロトコルについての統計情報を表示します。
+プロトコルとしては、よく知られている名称、もしくは別名定義されている名称
+を指定します。プロトコルのいくつかは
+.Pa /etc/protocols
+の中で定義されています。
+プロトコルについて情報が表示されない場合は、通常、
+報告すべき有意な数値がないことを意味します。
+.Ar protocol
+で指定したプロトコルが未知のものである場合、もしくはそのプロトコルの統
+計情報記録ルーチンがない場合には、プログラムはその旨メッセージを出しま
+す。
+.It Fl s
+プロトコルごとの統計情報を表示します。
+このオプションが複数指定された場合、カウンタの値がゼロのものは
+表示が抑制されます。
+.It Fl r
+ルーティングテーブルを表示します。
+.Fl s
+オプションが同時に指定された場合には、ルーティングの統計情報について
+表示します。
+.It Fl w Ar wait
+ネットワークインタフェースの統計情報について、
+.Ar wait
+で指定した秒ごとに定期的に表示します。
+.El
+.Pp
+デフォルトのアクティブソケット表示では、ローカルおよびリモートアドレス、送
+受信キューのサイズ(バイト単位)、プロトコル、そしてプロトコルの内部状態が
+それぞれ表示されます。
+アドレス形式については、``host.port''もしくは、ソケットのアドレスが
+ネットワーク単位でしか特定できない場合には``network.port''という形式が採用
+されます。
+ホストもしくはネットワークアドレスがデータベース
+.Pa /etc/hosts
+や
+.Pa /etc/networks
+の内容にしたがって変換可能である場合、各アドレスは名前で
+表示されます。このような変換が不可能な場合、もしくは
+.Fl n
+オプションが指定された場合には、アドレスはアドレスファミリに従って
+数値で表示されます。
+インターネットアドレスの形式についてさらに知りたい場合には、
+.Xr inet 3
+を参照して下さい。
+特にアドレスが指定されてない場合や、アドレスがワイルドカード
+指定されている場合には、その部分のアドレスやポート番号のところには
+``*'' が表示されます。
+.Pp
+インタフェース表示では、パケット転送、エラー、コリジョンに関する
+累積情報を見ることができます。また、インタフェースの
+ネットワークアドレスおよび最大転送可能ユニットサイズ(``mtu'')も
+見ることができます。
+.Pp
+ルーティングテーブル表示では、利用可能な経路とその状態が表示
+されます。各経路は、到達先ホストもしくはネットワークと、
+パケットの転送(forward)に使用されるゲートウェイから成ります。
+フラグフィールドは、
+ルーティングに関する状態の集合が表示されます。フラグフィールドの
+各フラグについては、
+.Xr route 8
+および
+.Xr route 4
+を参照して下さい。
+表示される文字とフラグの間の対応は以下の通りです。
+.Bl -column XXXX RTF_BLACKHOLE
+1 RTF_PROTO2 ルーティングフラグ#1にて特定されるプロトコル
+2 RTF_PROTO1 ルーティングフラグ#2にて特定されるプロトコル
+3 RTF_PROTO3 ルーティングフラグ#3にて特定されるプロトコル
+B RTF_BLACKHOLE 破棄されるパケット
+b RTF_BROADCAST ブロードキャストアドレスを表現する経路
+C RTF_CLONING 新しい経路を生成する
+c RTF_PRCLONING 使用時に、プロトコル専用の新しい経路を生成する
+D RTF_DYNAMIC (リダイレクトによって)動的に生成される
+G RTF_GATEWAY ゲートウェイ等による中継を必要としている到達先
+H RTF_HOST ホストエントリ(これ以外はネットワーク)
+L RTF_LLINFO アドレス変換を連動させられる正当なアドレス
+M RTF_MODIFIED (リダイレクトによって)動的に変更される
+R RTF_REJECT 到達不可能なホストもしくはネットワーク
+S RTF_STATIC 手動で追加された
+U RTF_UP 使用可能経路
+W RTF_WASCLONED クローンした結果として作成された経路
+X RTF_XRESOLVE 外部のdaemonがプロトコルからリンクアドレス変換を行なう
+.El
+.Pp
+直接到達可能な経路は、ローカルホストにアタッチされた各インタフェースごとに
+生成されます。このようなエントリのゲートウェイフィールドは、
+対外インタフェースのアドレスを表します。
+refcntフィールドは、使用されている経路の現在数を示します。
+コネクション指向のプロトコルは、通常、コネクションの間じゅう
+単一の経路を保持します。
+他方で、コネクションレス型のプロトコルは、同じ到達先に対して
+パケットを送る場合にも、新たに経路を確保します。
+useフィールドは、その経路を通って送られたパケット数を表示します。
+インタフェースエントリは、その経路用に用いられる
+ネットワークインタフェースを表示します。
+.Pp
+.Nm netstat
+が
+.Fl w
+オプションと
+.Ar wait
+インターバル引数を与えられて起動された場合、ネットワークインタフェースに
+関連した統計情報を定期的に表示します。
+ほとんど使われませんが、オプション指定なしで数字だけをnetstatの引数と
+して指定することもでき、本オプションと同様の動作をさせることができます。
+しかし、この使い方は過去との互換性のためにのみ存在します。
+デフォルトでは、本表示は
+すべてのインタフェースについてのサマリ情報からなります。
+.Fl I
+オプションを用いることで、特定の
+インタフェースの情報を表示させることが可能です。
+.Sh 関連項目
+.Xr nfsstat 1 ,
+.Xr ps 1 ,
+.Xr hosts 5 ,
+.Xr networks 5 ,
+.Xr protocols 5 ,
+.Xr services 5 ,
+.Xr iostat 8 ,
+.Xr trpt 8 ,
+.Xr trsp 8 ,
+.Xr vmstat 8
+.Sh 歴史
+.Nm netstat
+コマンドは、
+.Bx 4.2
+にはじめて登場しました。
+.\" .Sh 関連ファイル
+.\" .Bl -tag -width /dev/kmem -compact
+.\" .It Pa /netbsd
+.\" default kernel namelist
+.\" .It Pa /dev/kmem
+.\" default memory file
+.\" .El
+.Sh バグ
+エラーの概念については、定義が間違っています。
diff --git a/ja/man/man1/newaliases.1 b/ja/man/man1/newaliases.1
new file mode 100644
index 0000000000..9710e662b4
--- /dev/null
+++ b/ja/man/man1/newaliases.1
@@ -0,0 +1,75 @@
+.\" Copyright (c) 1983, 1997 Eric P. Allman
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)newaliases.1 8.5 (Berkeley) 2/1/97
+.\" jpman %Id: newaliases.1,v 1.2 1997/05/07 02:31:13 mutoh Stab %
+.\"
+.Dd February 1, 1997
+.Dt NEWALIASES 1
+.Os BSD 4
+.Sh 名称
+.Nm newaliases
+.Nd メールエイリアスのデータベースを再構築する
+.Pp
+.Sh 書式
+.Nm newaliases
+.Sh 解説
+.Nm newaliases
+は、
+.Pa /etc/aliases
+ファイルに記述されているメール
+エイリアスのデータベースを再構築します。
+.Pa /etc/aliases
+の内容を変更したときには、その内容を反映させるために、
+このコマンドを実行しなければなりません。
+.Pp
+.Nm newaliases
+は、
+.Dq Li sendmail \-bi
+とまったく同じです。
+.Sh 戻り値
+.Nm newaliases
+は、成功すると 0 を、エラーが起きた場合は 0 より大きな値を
+返します。
+.Sh 関連ファイル
+.Bl -tag -width /etc/aliases -compact
+.It Pa /etc/aliases
+メールエイリアスファイル
+.El
+.Sh 関連項目
+.Xr aliases 5 ,
+.Xr sendmail 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.0
+から登場しました。
diff --git a/ja/man/man1/nfsstat.1 b/ja/man/man1/nfsstat.1
new file mode 100644
index 0000000000..839d4261ef
--- /dev/null
+++ b/ja/man/man1/nfsstat.1
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" From: @(#)nfsstat.1 8.1 (Berkeley) 6/6/93
+.\" %Id: nfsstat.1,v 1.4.2.2 1997/09/15 09:20:54 jkh Exp %
+.\" jpman %Id: nfsstat.1,v 1.3 1997/05/19 16:46:42 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt NFSSTAT 1
+.Os BSD 4.4
+.Sh 名称
+.Nm nfsstat
+.Tn NFS
+に関する統計を
+.Nd 表示する
+.Pp
+.Sh 書式
+.Nm
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Op Fl w Ar wait
+.Pp
+.Sh 解説
+.Nm
+コマンドは、
+.Tn NFS
+クライアントと
+.Tn NFS
+サーバの実行状況に関して、持っている
+統計を表示します。
+.Pp
+オプション:
+.Bl -tag -width Ds
+.It Fl M Ar core
+名前のリストから値を取り出す際に、デフォルトの
+.Pa /dev/kmem
+のかわりに
+.Ar core
+を使います。
+.It Fl N Ar system
+名前のリストを取り出す際に、デフォルトの
+.Pa /kernel
+のかわりに
+.Ar system
+を使います。
+.It Fl w Ar wait
+.Tn NFS
+のクライアントとサーバに関する実行状況の簡単なサマリを、
+.Ar wait
+秒ごとに表示します。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /dev/kmem -compact
+.It Pa /kernel
+デフォルトのカーネルの名前リスト
+.It Pa /dev/kmem
+デフォルトのメモリファイル
+.El
+.Sh 関連項目
+.Xr fstat 1 ,
+.Xr netstat 1 ,
+.Xr ps 1 ,
+.Xr systat 1 ,
+.Xr sysctl 3 ,
+.Xr iostat 8 ,
+.Xr pstat 8 ,
+.Xr vmstat 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/nice.1 b/ja/man/man1/nice.1
new file mode 100644
index 0000000000..b3cc28012c
--- /dev/null
+++ b/ja/man/man1/nice.1
@@ -0,0 +1,117 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)nice.1 8.1 (Berkeley) 6/6/93
+.\" %Id: nice.1,v 1.1.1.1.8.3 1997/09/15 09:20:56 jkh Exp %
+.\" jpman %Id: nice.1,v 1.2 1997/05/04 08:01:38 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt NICE 1
+.Os BSD 4
+.Sh 名称
+.Nm nice
+.Nd スケジュールの優先度を下げてコマンドを実行する
+.Sh 書式
+.Nm nice
+.Op Fl Ns Ar number
+.Ar command
+.Op Ar arguments
+.Sh 解説
+.Nm nice
+はスケジュールの優先度を低くして
+.Ar command
+を実行します (優先度を低くすると実行速度が遅くなると考えてください)。
+もし
+.Fl Ns Ar number
+が指定されない場合、
+.Nm
+は値を 10 であるとします。
+優先度は -20 から 20 までの値です。
+デフォルトの優先度は 0 であり、優先度 20 がもっとも低いです。
+.Nm nice
+は、
+.Ar command
+の実行優先度として、
+.Ar number
+が
+.Nm nice
+の優先度に対して相対的に指定されたものとします。
+現在のプロセスの優先度よりも高い優先度はスーパユーザのみ要求可能です。
+負の数を指定する場合には
+.Fl - Ns Ar number
+とします。
+.Pp
+終了ステータスは
+.Nm nice
+が実行したコマンドの終了ステータスです。
+.Sh 使用例
+.Pp
+$ nice -5 date
+.Pp
+シェルの優先度が 0 の時、コマンド
+.Sq date
+を、優先度 5 にて実行します。
+.Pp
+# nice -16 nice --35 date
+.Pp
+シェルの優先度が 0 であり、スーパユーザの場合、コマンド
+.Sq date
+を優先度 -10 にて実行します。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr idprio 1 ,
+.Xr getpriority 2 ,
+.Xr setpriority 2 ,
+.Xr renice 8
+.Sh 歴史
+.Nm nice
+は
+.At v6
+で追加されました。
+.Sh バグ
+.Nm nice
+は
+.Xr sh 1
+向けのコマンドです。
+もし
+.Xr csh 1
+を使っているのなら、``&'' をつけて実行されたコマンドは、
+バックグラウンドで実行されている間は
+自動的に hangup を無視します。
+.Pp
+.Xr csh 1
+では、
+.Nm nice
+は組み込みコマンドであり、ここで説明したものとは少し異なる書式になります。
+.Ql nice +10
+は優先度を低くし、
+.Ql nice \-10
+はスーパユーザが用いた時に優先度を高くします。
diff --git a/ja/man/man1/nm.1 b/ja/man/man1/nm.1
new file mode 100644
index 0000000000..038d314e17
--- /dev/null
+++ b/ja/man/man1/nm.1
@@ -0,0 +1,128 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)nm.1 8.1 (Berkeley) 6/6/93
+.\" %Id: nm.1,v 1.4.2.2 1997/08/01 06:33:52 charnier Exp %
+.\" jpman %Id: nm.1,v 1.2 1997/05/17 16:01:54 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt NM 1
+.Os BSD 4
+.Sh 名称
+.Nm nm
+.Nd 名前リスト (シンボルテーブル) を表示する
+.Sh 書式
+.Nm
+.Op Fl agnoprtuwW
+.Op Ar
+.Sh 解説
+.Nm
+は、指定された各
+.Ar file
+内のオブジェクトのシンボルテーブル (名前リスト) を
+表示します。ライブラリ (アーカイブ) が指定されると、
+.Nm
+はアーカイブされた各オブジェクトメンバのリストを表示します。
+.Ar file
+が指定されなければ、
+.Nm
+は
+.Pa a.out
+ファイルを探索し、存在すれば
+.Pa a.out
+ファイルのシンボルテーブルを表示します。
+.Bl -tag -width flag
+.It Fl a
+デバッガ用に挿入されているシンボルテーブルを表示します。
+.It Fl g
+外部参照 (グローバル) シンボルのみを表示します。
+.It Fl n
+数値順に表示します。
+.It Fl o
+オブジェクトのフルパス名またはライブラリ名を各行に表示します。
+.It Fl p
+ソートを行いません。
+.It Fl r
+逆順にソートします。
+.It Fl t
+要約プログラムにとってより適した表形式で出力します。
+.It Fl u
+未定義シンボルのみを表示します。
+.It Fl w
+アーカイブ中のオブジェクトではないメンバーについての警告を表示します。
+通常
+.Nm
+は、オブジェクトファイルではないアーカイブのメンバーを無視し
+警告を出しません。
+.It Fl W
+弱いシンボルを表す ``W'' のためのカラムを含めて出力します。
+.El
+.Pp
+各シンボル名にはその値 (未定義シンボルの場合は空欄)
+と、以下のうちの一文字が続きます。
+.Pp
+.Bl -tag -width Ds -compact -offset indent
+.It Fl
+デバッガのためのシンボルテーブル (
+.Fl a
+オプション参照)
+.It Li A
+絶対値シンボル
+.It Li B
+bss セグメントシンボル
+.It Li C
+コモンシンボル
+.It Li D
+データセグメントシンボル
+.It Li f
+ファイル名
+.It Li I
+間接参照シンボル
+.It Li T
+テキストセグメントシンボル
+.It Li U
+未定義シンボル
+.It Li W
+次のシンボルが参照されると警告
+.El
+.Pp
+シンボルがローカル (外部定義ではない) ならば、上記の文字は小文字で表示
+されます。出力はアルファベット順にソートされます。
+.Sh 関連項目
+.Xr ar 1 ,
+.Xr a.out 5 ,
+.Xr ar 5 ,
+.Xr stab 5
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+に登場しました。
diff --git a/ja/man/man1/nohup.1 b/ja/man/man1/nohup.1
new file mode 100644
index 0000000000..888d1094bb
--- /dev/null
+++ b/ja/man/man1/nohup.1
@@ -0,0 +1,82 @@
+.\" Copyright (c) 1989, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)nohup.1 6.8 (Berkeley) 7/27/91
+.\" jpman %Id: nohup.1,v 1.2 1997/05/04 13:33:09 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt NOHUP 1
+.Os
+.Sh 名称
+.Nm nohup
+.Nd ハングアップしないようにしてコマンドを実行する
+.Sh 書式
+.Nm
+.Ar command
+.Op Ar arg ...
+.Sh 解説
+.Nm
+は
+.Dv SIGHUP
+シグナルを無視するように設定し、指定されたコマンドを指定された引数付で
+実行します。
+.Dv SIGQUIT
+も無視するように設定します。
+標準出力が端末の時、コマンドの出力はカレントディレクトリのファイル
+.Pa nohup.out
+に追加書き込みされます。標準エラー出力が端末の時も、
+標準出力と同様に処理されます。
+.Pp
+.Nm
+はエラーがあれば 1 を返します。その他の場合は
+.Ar command
+の終了ステータスを返します。
+.Sh 環境変数
+.Nm
+は以下の環境変数を参照します。
+.Bl -tag -width flag
+.It Ev HOME
+カレントディレクトリにファイル
+.Pa nohup.out
+が作成できなかった場合、環境変数
+.Ev HOME
+で示されたディレクトリに作成します。
+.El
+.Sh 関連項目
+.Xr signal 3
+.Sh 標準
+.Nm
+は
+.St -p1003.2
+互換であるはずです。
diff --git a/ja/man/man1/nroff.1 b/ja/man/man1/nroff.1
new file mode 100644
index 0000000000..f943eaa870
--- /dev/null
+++ b/ja/man/man1/nroff.1
@@ -0,0 +1,84 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: nroff.1,v 1.2 1997/05/13 16:18:02 horikawa Stab %
+.TH NROFF 1 "8 September 1996" "Groff Version 1.10"
+.SH 名称
+nroff \- groff による nroff コマンドのエミュレート
+.SH 書式
+.B nroff
+[
+.B \-h
+]
+[
+.B \-i
+]
+[
+.BI \-m name
+]
+[
+.BI \-n num
+]
+[
+.BI \-o list
+]
+[
+.BI \-r cn
+]
+[
+.BI \-T name
+]
+[
+.I file\|.\|.\|.
+]
+.SH 解説
+.B nroff
+は、groff を用いて
+.B nroff
+をエミュレートするスクリプトです。
+.B \-T
+オプションに
+.B ascii
+と
+.B latin1
+と
+.B koi8-r
+以外を指定しても無視されます。
+.B \-h
+オプション
+は
+.B grotty
+への
+.B \-h
+オプションと等価です。
+.BR \-i ,
+.BR \-n ,
+.BR \-m ,
+.BR \-o ,
+.B \-r
+オプションは
+.BR troff (1)
+に説明されている効果を持ちます。
+.BR \-e ,
+.BR \-q ,
+.B \-s
+オプションは無視され、エラーメッセージも表示されません。
+.SH 関連項目
+.BR groff (1),
+.BR troff (1),
+.BR grotty (1)
diff --git a/ja/man/man1/od.1 b/ja/man/man1/od.1
new file mode 100644
index 0000000000..7f78e81c02
--- /dev/null
+++ b/ja/man/man1/od.1
@@ -0,0 +1,84 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)od.1 8.1 (Berkeley) 6/6/93
+.\" %Id: od.1,v 1.3.2.1 1997/09/15 08:17:22 jkh Exp %
+.\" jpman %Id: od.1,v 1.4 1997/06/04 03:47:49 jsakai Stab %
+.\"
+.Dd May 27, 1994
+.Os
+.Dt OD 1
+.Sh 名称
+.Nm od
+.Nd 8進, 10進, 16進, ASCIIでのダンプ
+.Sh 書式
+.Nm od
+.Op Fl aBbcDdeFfHhIiLlOovXx
+.Sm off
+.Oo
+.Op Cm \&+
+.Li offset
+.Op Cm \&.
+.Op Cm Bb
+.Oc
+.Ar file
+.Sh 解説
+.Nm od
+は
+.Xr hexdump 1
+が登場してからは価値がありません。
+.Pp
+.Xr hexdump
+が
+.Nm od
+という名前で起動された場合、上記の
+.Nm od
+のオプションと互換の動作をします。
+.Pp
+.Fl s
+オプション (
+.Xr strings 1
+を参照) および
+.Fl P ,
+.Fl p ,
+.Fl w
+オプションに対応する互換性は提供されていません。
+また offset 使用時の ``label'' に対応する互換性も提供されていません。
+.Sh 関連項目
+.Xr hexdump 1 ,
+.Xr strings 1
+.Sh バグ
+ほとんどありません。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/pagesize.1 b/ja/man/man1/pagesize.1
new file mode 100644
index 0000000000..29e2fcc6ee
--- /dev/null
+++ b/ja/man/man1/pagesize.1
@@ -0,0 +1,55 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)pagesize.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: pagesize.1,v 1.3 1997/08/20 12:38:46 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt PAGESIZE 1
+.Os BSD 4.2
+.Sh 名称
+.Nm pagesize
+.Nd システムのページサイズを表示する
+.Sh 書式
+.Nm pagesize
+.Sh 解説
+.Nm pagesize
+は
+.Xr getpagesize 3
+で得られるメモリのページサイズをバイト単位で表示します。
+このプログラムは移植性のあるシェルスクリプトを作成する際に有用です。
+.Sh 関連項目
+.Xr getpagesize 3
+.Sh 歴史
+.Nm pagesize
+コマンドは
+.Bx 4.2
+から登場しました。
diff --git a/ja/man/man1/passwd.1 b/ja/man/man1/passwd.1
new file mode 100644
index 0000000000..554ac50609
--- /dev/null
+++ b/ja/man/man1/passwd.1
@@ -0,0 +1,205 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)passwd.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: passwd.1,v 1.4 1997/07/21 09:41:51 konuma Stab %
+.\"
+.Dd June 6, 1993
+.Dt PASSWD 1
+.Os BSD 4
+.Sh 名称
+.Nm passwd, yppasswd
+.Nd ユーザのパスワードを変更する
+.Sh 書式
+.Nm passwd
+.Op Fl l
+.Op Ar user
+.Nm yppasswd
+.Op Fl l
+.Op Fl y
+.Op Fl d Ar domain
+.Op Fl s Ar host
+.Op Fl o
+.Sh 解説
+.Nm passwd
+は、ユーザの local, Kerberos, NIS パスワードを変更します。
+パスワードの変更にあたっては、最初に、現在のパスワードの入力を求
+められます。現在のパスワードが正しく入力されたら、新しいパスワードの入
+力を求められます。新しいパスワードは、タイプミスを避けるため、2 回入力しな
+ければなりません。
+.Pp
+新しいパスワードは、少なくとも 6 文字以上 (ユーザのログインクラスに対する
+.Xr login.cap 5
+の "minpasswordlen" 設定が優先します) で、アルファベットだけにならな
+いようにすべきです。パスワードの最大文字数は、
+.Dv _PASSWORD_LEN
+(現在は128文字) より短くなければなりません。
+数字、アルファベットの大文字、メタキャラクタの使用を推奨します。
+.Pp
+新しいパスワードが確認されたら
+.Nm passwd
+は新しいパスワードを Kerberos 認証ホストに伝えます。
+.Bl -tag -width flag
+.It Fl l
+Kerberosデータベースではなく、
+ローカルマシンのパスワードだけを変更します。
+ローカルマシンのパスワードだけを変更する場合は、
+.Xr pwd_mkdb 8
+がパスワードデータベースの更新に使われます。
+.El
+.Pp
+ローカルまたは NIS パスワードを変更する場合、
+ユーザのログインクラスの "passwordperiod" ケーパビリティに基づき、
+次にパスワードを変更すべき日付が設定されます。
+.Pp
+別のユーザの Kerberos パスワードを変更するには、
+.Xr kinit 1
+を実行してから、
+.Xr passwd 1
+を実行する必要があります。
+スーパユーザがローカルマシンのパスワードを修正するときにかぎり、現在の
+パスワードの入力は不要です。
+.Sh NIS との相互作用
+.Nm passwd
+は NIS のサポートが組み込まれています。
+もしユーザ名が NIS のパスワードデータベースの中にあり、
+ローカルにはない場合、
+.Nm passwd
+は自動的に ``yppasswd'' に切り替わります。
+指定されたユーザ名がローカルのパスワードデータベースにも、
+NIS のパスワードマップにも存在しない場合、
+.Nm passwd
+はエラーを返します。
+.Pp
+NIS のパスワードを変更するとき、非特権ユーザーは
+確認のために現在のパスワードの入力を求められます (
+.Xr rpc.yppasswdd 8
+デーモンはいかなる変更でも NIS パスワードマップに加える前に
+現在のパスワードの入力を求めます)。
+この制限はスーパユーザにも適用されますが、大きな例外があります。
+NIS マスタサーバのスーパユーザはパスワードの確認が省略されるの
+です。
+したがって、NIS マスタサーバのスーパユーザは、すべてのユーザの
+NIS パスワードを無制限に変更できます。
+しかし、NIS クライアントや NIS スレーブサーバのスーパユーザは
+変更にパスワードが必要です。
+.Pp
+以下のオプションは NIS のためのものです:
+.Bl -tag -width flag
+.It Fl y
+.Nm passwd
+は強制的に NIS 用になります。
+.It Fl l
+NIS が有効な場合に
+.Nm passwd
+を強制的にローカル用にします。
+このフラグは同じログイン名で NIS のユーザと
+ローカルなユーザが存在するときに、ローカルユーザの
+パスワードエントリを変更するために使われます。
+例えば、システム用の
+.Pa bin
+や
+.Pa daemon
+といったエントリは NIS パスワードマップとローカルユーザデータベース
+の両方に存在することが、よくあります。
+この場合デフォルトでは
+.Nm passwd
+は NIS のパスワードを変更しようとします。 NIS ではなくローカルの
+パスワードを変更するとき
+.Fl l
+を使います。
+.It Fl d Ar domain
+NIS パスワードを変更するとき、ドメイン名を指定します。デフォルトで
+.Nm passwd
+は、システムのデフォルトドメイン名を使います。このフラグは主に
+NIS マスタサーバのスーパユーザが使用するものです。一つの NIS
+マスタサーバが複数のドメインを扱っている場合や、NIS マスタサーバでは
+ドメイン名が設定されていない (NIS サーバーは必ずしもクライアントになる
+必要はありません) 場合に、
+.Nm passwd
+コマンドがどのドメインを扱うのかを指定する必要があります。
+.It Fl s Ar host
+NIS サーバの名前を指定します。このオプションを
+.Fl d
+オプションと共に用いることで、非ローカルな NIS サーバ上の NIS
+パスワードを変えることが出来ます。
+.Fl d
+オプションでドメイン名を指定し、 NIS マスタサーバの名前が決定できな
+い (おそらく、ローカルのドメイン名が設定されていないため) ときには、
+NIS マスタサーバは、 ``localhost'' であると仮定されます。
+このサーバ名を
+.Fl s
+で指定することが出来ます。指定するホスト名は NIS マスタサーバ
+でなくても構いません。 NIS マスターサーバー名はドメイン内の
+NIS (マスタもしくはスレーブ) サーバに問い合わせることで決定される
+ので、スレーブサーバを指定しても構いません。
+.Pp
+.It Fl o
+NIS マスタサーバにおいて、スーパユーザの確認を省略しません。
+\'old' モードにします。このフラグはあまり実用的ではありませんが、
+パスワードのテストに使うことが出来ます。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /etc/master.passwd -compact
+.It Pa /etc/master.passwd
+パスワードのマスタファイル
+.It Pa /etc/passwd
+Version 7 形式のパスワードファイル
+.It Pa /etc/passwd.XXXXXX
+パスワード変更時に作られるテンポラリファイル
+.It Pa /etc/login.conf
+ログインクラスケーパビリティデータベース
+.El
+.Sh 関連項目
+.Xr chpass 1 ,
+.Xr kerberos 1 ,
+.Xr kinit 1 ,
+.Xr login 1 ,
+.Xr login.conf 5 ,
+.Xr passwd 5 ,
+.Xr kpasswdd 8 ,
+.Xr pwd_mkdb 8 ,
+.Xr vipw 8
+.Rs
+.%A Robert Morris
+.%A Ken Thompson
+.%T "UNIX password security"
+.Re
+.Sh 注釈
+.Xr yppasswd 1
+は実際には
+.Nm passwd
+へのリンクです。
+.Sh 歴史
+.Nm passwd
+コマンドは
+.At v6
+から登場しました。
diff --git a/ja/man/man1/paste.1 b/ja/man/man1/paste.1
new file mode 100644
index 0000000000..8041cc7977
--- /dev/null
+++ b/ja/man/man1/paste.1
@@ -0,0 +1,108 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Adam S. Moskowitz and the Institute of Electrical and Electronics
+.\" Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)paste.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: paste.1,v 1.3 1997/07/22 17:53:46 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt PASTE 1
+.Os
+.Sh 名称
+.Nm paste
+.Nd ファイルの対応する行または引き続く行を併合する
+.Sh 書式
+.Nm
+.Op Fl s
+.Op Fl d Ar list
+.Ar file ...
+.Sh 解説
+.Nm
+ユーティリティは、与えられた入力ファイルの対応する行の結合を、
+最後のファイル以外の改行文字を一つのタブ文字に置き換えながら行い、
+その結果の行を標準出力に書き出します。
+入力ファイルの一つが EOF (ファイルの終り) に達した場合、
+他のファイルの終了までそのファイルは空行が有るかのように
+扱われます。
+.Pp
+以下のようなオプションがあります。
+.Bl -tag -width Fl
+.It Fl d Ar list
+デフォルトのタブの代わりに改行文字を置換するための文字として使います。
+.Ar list
+中の文字は巡回するように使われます。つまり、
+.Ar list
+の文字が終った時には最初の文字が再び使われます。
+これは、(デフォルトの操作では) 最後の入力ファイルからの行まで、もしくは
+(-s オプション使用時には) 各ファイルの最後の行が表示されるまで続きます。
+最後の行を表示したところで、
+.Nm
+は、選択された文字の最初から操作を行います。
+.Pp
+以下の特殊文字を記述可能です。
+.Pp
+.Bl -tag -width flag -compact
+.It Li \en
+改行文字
+.It Li \et
+タブ文字
+.It Li \e\e
+バックスラッシュ文字
+.It Li \e0
+空文字列 (ヌル文字ではありません)
+.El
+.Pp
+上記以外の文字は、バックスラッシュ付きの場合その文字自身を表現します。
+.It Fl s
+別個の入力ファイルの全行の結合を、コマンドラインに並んだ順に行います。
+入力ファイル中の、最後の行以外の全ての行の改行文字は、 -d オプションが
+指定されていない場合は、タブ文字で置き換えられます。
+.El
+.Pp
+.Ql Fl
+が、1 つ以上の入力ファイルに指定された場合、標準入力が使われます。
+標準入力は、一度に一行読み込まれ、巡回的に
+.Ql Fl
+の各実体として使われます。
+.Pp
+.Nm
+は、成功した場合 0 で終了します。また、エラーが起こった場合は 1 以上で
+終了します。
+.Sh 関連項目
+.Xr cut 1
+.Sh 規格
+.Nm
+ユーティリティは、
+.St -p1003.2
+互換であることが期待されています。
diff --git a/ja/man/man1/patch.1 b/ja/man/man1/patch.1
new file mode 100644
index 0000000000..2cce0586ce
--- /dev/null
+++ b/ja/man/man1/patch.1
@@ -0,0 +1,589 @@
+.\" -*- nroff -*-
+.rn '' }`
+.\" jpman %Id: patch.1,v 1.3 1997/09/10 04:34:14 yugawa Stab %
+'\" %Header: /home/ncvs/src/gnu/usr.bin/patch/patch.1,v 1.5 1996/02/07 23:47:55 jdp Exp %
+'\"
+'\" %Log: patch.1,v %
+'\" Revision 1.5 1996/02/07 23:47:55 jdp
+'\" Update the manual page to reflect the fact that an "Index" line
+'\" now takes precedence over a context diff header for determining
+'\" the name of the file to patch.
+'\"
+'\" Revision 1.4 1994/02/25 21:45:59 phk
+'\" added the -C/-check again.
+'\"
+.\" Revision 1.3 1994/02/17 22:20:33 jkh
+.\" Put this back - I was somehow under the erroneous impression that patch was in
+.\" ports, until I saw the the commit messages, that is! :-) All changed backed out.
+.\"
+.\" Revision 1.2 1994/02/17 22:16:02 jkh
+.\" From Poul-Henning Kamp - Implement a -C option to verify the integrity of
+.\" a patch before actually applying it.
+.\"
+.\" Revision 1.1.1.1 1993/06/19 14:21:51 paul
+.\" b-maked patch-2.10
+.\"
+'\" Revision 2.0.1.2 88/06/22 20:47:18 lwall
+'\" patch12: now avoids Bell System Logo
+'\"
+'\" Revision 2.0.1.1 88/06/03 15:12:51 lwall
+'\" patch10: -B switch was contributed.
+'\"
+'\" Revision 2.0 86/09/17 15:39:09 lwall
+'\" Baseline for netwide release.
+'\"
+'\" Revision 1.4 86/08/01 19:23:22 lwall
+'\" Documented -v, -p, -F.
+'\" Added notes to patch senders.
+'\"
+'\" Revision 1.3 85/03/26 15:11:06 lwall
+'\" Frozen.
+'\"
+'\" Revision 1.2.1.4 85/03/12 16:14:27 lwall
+'\" Documented -p.
+'\"
+'\" Revision 1.2.1.3 85/03/12 16:09:41 lwall
+'\" Documented -D.
+'\"
+'\" Revision 1.2.1.2 84/12/05 11:06:55 lwall
+'\" Added -l switch, and noted bistability bug.
+'\"
+'\" Revision 1.2.1.1 84/12/04 17:23:39 lwall
+'\" Branch for sdcrdcf changes.
+'\"
+'\" Revision 1.2 84/12/04 17:22:02 lwall
+'\" Baseline version.
+'\"
+.de Sh
+.br
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+'\"
+'\" Set up \*(-- to give an unbreakable dash;
+'\" string Tr holds user defined translation string.
+'\" Bell System Logo is used as a dummy character.
+'\"
+.ie n \{\
+.tr \(*W-\*(Tr
+.ds -- \(*W-
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+.ds L' '
+.ds R' '
+'br \}
+.el \{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds L' `
+.ds R' '
+'br\}
+.TH PATCH 1 LOCAL
+.SH 名称
+patch - diff ファイルをオリジナルのファイルに適用する
+.SH 書式
+.B patch
+[options] [origfile [patchfile]] [+ [options] [origfile]]...
+.sp
+ですが、たいていは以下のようにします。
+.sp
+.B patch
+<patchfile
+.SH 解説
+.I patch
+は、
+.I diff
+プログラムによって生成された 4 つの形式の差分情報を含むパッチファイル
+を受け付け、オリジナルファイルにその差分を当てて、パッチ済みのバージョ
+ンを生成します。
+
+デフォルト動作では、オリジナルは \*(L".orig\*(R" の拡張子
+(長いファイル名を扱えないシステムでは \*(L"~\*(R")
+を付けてバックアップとして残した上で、
+オリジナルファイルはパッチ済みのバージョンに置き換えられます。
+オリジナルをバックアップする拡張子はオプション
+\fB\-b\fP (\fB\-\-suffix\fP),
+\fB\-B\fP (\fB\-\-prefix\fP)
+あるいは
+\fB\-V\fP (\fB\-\-version\-control\fP)
+によって、あるいは環境変数
+.B SIMPLE_BACKUP_SUFFIX
+によっても変更できます。
+環境変数による指定はオプション指定によって上書きされます。
+.PP
+バックアップファイルが既に存在していた場合、
+.B patch
+は新しいバックアップファイル名として、
+ファイル名本体の中で最初に出てくる英小文字の部分を大文字に替えたもの
+を使います。
+英小文字の部分がなかった場合は、ファイル名の最初の 1 文字削除したものとし、
+既存のバックアップファイル名と合致しなくなるまでこれを繰り返します。
+.PP
+ファイルの出力先は
+\fB\-o\fP (\fB\-\-output\fP)
+で指定することができますが、
+もしそこに既に同じファイル名のファイルが存在していたら、
+まずバックアップが作られます。
+.PP
+.I patchfile
+が指定されない場合やハイフンである場合、
+パッチは標準入力から読み込まれます。
+.PP
+.I patch
+が最初に行う作業は、差分情報がどんな形式か判別することです。
+これは、オプション
+\fB\-c\fP (\fB\-\-context\fP),
+\fB\-e\fP (\fB\-\-ed\fP),
+\fB\-n\fP (\fB\-\-normal\fP),
+\fB\-u\fP (\fB\-\-unified\fP)
+によって形式を指定することもできます。
+context diff (old-style, new-style, unified) および normal diff は
+.I patch
+自身によりパッチが当てられます。
+ed diff
+だった場合は、パイプを通して単にパッチファイルをエディタ
+.I ed
+に入力するだけです。
+.PP
+.I patch
+は、差分情報の前に含まれるゴミをスキップし、差分を適用し、
+そして後に含まれるゴミをスキップしようとします。
+ですから差分情報が入った記事やメッセージなどをそのまま
+.I patch
+に与えても、うまく動作するはずです。
+差分全体が一定量だけインデントされていても、
+そのことを考慮のうえ処理されます。
+.PP
+context diff の場合、そして normal diff の場合もいくらかあてはまりますが、
+.I patch
+はパッチに書かれた行番号が正しくない場合にそれを検知し、
+各 hunk (パッチの各々の単位)を適用する正しい場所を見つけようと試みます。
+まず hunk に書かれた行番号に対し、
+前回 hunk を適用した際に用いたオフセットを加算あるいは減算します。
+それが正しい場所でなければ、
+.I patch
+は一定の行数だけその前後を走査し、hunk のコンテキスト(context)にマッチする行を
+探します。
+一番最初は、
+.I patch
+はコンテキスト中の全ての行が一致する場所を探します。
+一致する場所が見つからない場合、
+パッチが context diff 形式であり、
+しかも最大曖昧度(maximum fuzz factor)が 1 以上に設定されていれば、
+コンテキストの最初と最後の行を無視して再度走査を行います。
+それでも見つからない場合、
+最大曖昧度が 2 以上なら、コンテキストの最初と最後の 2 行を無視して
+再度走査します。
+(デフォルトの最大曖昧度は 2 です)
+もし
+.I patch
+がパッチを当てる場所を見つけられなかった場合、その部分の差分情報を
+リジェクトファイルに出力します。リジェクトファイルは、通常、
+出力ファイルに \*(L".rej\*(R" の拡張子
+(長いファイル名を扱えないシステムでは \*(L"#\*(R")
+を付けたものになります。
+(注意: 入力パッチが context diff であっても normal diff であっても、
+リジェクト部分は context diff 形式で出力されます。
+入力が normal diff の場合、コンテキストの多くは単なる null になります。)
+このリジェクトファイルに出力される時の差分情報に付けられている行番号は、
+元のパッチファイルにあるものと違ったものになっている可能性もありますが、
+元のものよりは場所的により近い位置になっていると思われる行番号になります。
+.PP
+パッチの各 hunk が処理される毎に、そのパッチ処理が
+成功した(succeeded)のか失敗した(failed)のかの別と、
+.I patch
+が推定したパッチ適用行位置(新しいファイルにおける行番号)
+が報告されます。
+この位置が差分中に示された行番号と異なる場合、
+そのズレ(オフセット)も報告されます。
+hunk のひとつだけが大きなオフセットで適用された場合、
+それは誤った位置に適用されたことを意味する「かも」しれません。
+またパッチ適用に際して曖昧度(fuzz factor)が用いられた場合も
+その旨報告されます。この場合は少し疑ってみるべきでしょう。
+.PP
+もし、オリジナルファイルがコマンドラインで指定されなかった場合、
+.I patch
+は、エディットすべきファイル名を、差分情報の前に付加されているゴミの中
+から見つけようとします。
+context diff のヘッダの場合、ファイル名は
+\*(L"***\*(R" もしくは \*(L"---\*(R" で始まる行から探し、
+既存ファイルに一致する最も短い名前が用いられます。
+context diffには上のような行が含まれますが、
+もしヘッダに \*(L"Index:\*(R" いう行があったら
+.I patch
+はここから得たファイル名を使うことを試みます。
+Index 行は、もしあれば、context diff ヘッダに優先して用いられます。
+もしファイル名を見つけることができなかった場合、
+パッチすべきファイル名を入力するよう求めます。
+.PP
+もしオリジナルファイルが見つからないかリードオンリーであるけれども、
+SCCS か RCS ファイルが存在する場合、
+.I patch
+はそのファイルのゲットもしくはチェックアウトを試みます。
+.PP
+加えて、もし差分の前のゴミの中に \*(L"Prereq: \*(R" という行が含まれていれば、
+.I patch
+はその行に必要条件 (通常はバージョン番号) が書いてあるものとみなして
+最初の word を取りだし、オリジナルファイルの中に同じ word があるかどうかを
+調べます。もしその word が発見できなければ、
+.I patch
+は処理を実行してよいか、確認を求めるようになります。
+.PP
+結局のところ、ニュースリーダを使っているときに、
+パッチを含んだ記事に対して
+.Sp
+ | patch -d /usr/src/local/blurfl
+.Sp
+のように指示してやれば、blurfl ディレクトリにあるファイルに
+記事から直接パッチをあてることができる、
+ということです。
+.PP
+パッチファイルに、1 つ以上のパッチが含まれていた場合、
+.I patch
+は、各々が別々のパッチファイルであるものと思って処理を実行します。
+この場合、パッチを当てるべきオリジナルファイルは、今まで説明したように、
+各々の差分情報の中から抽出でき、
+また、各差分記述の前にあるゴミの部分を調べることで
+ファイル名やリビジョンレベル等の重要事項が得られる、
+と仮定しています。
+この他に、\*(L'+\*(R' で繋げてファイル名を並べることで、
+2 番目以降のファイル名を指定することもできます
+(ただし、この場合でも、パッチ当てた後の新しいファイル名を
+指定することはできません)。
+.PP
+.I patch
+には次のようなオプションがあります:
+.TP 5
+.B "\-b suff, \-\-suffix=suff"
+\*(L".orig\*(R" や \*(L"~\*(R" の代わりに
+.B suff
+がバックアップファイルの拡張子として解釈されるようにします。
+.TP 5
+.B "\-B pref, \-\-prefix=pref"
+.B pref
+が、バックアップファイル名の前に付けるプレフィクスとして
+解釈されるようにします。
+この指定を行うと
+.B \-b
+の指定は無視されます。
+.TP 5
+.B "\-c, \-\-context"
+パッチファイルを context diff 形式として解釈します。
+.TP 5
+.B "\-C, \-\-check"
+どういう処理が行われるか確認します。しかし実行はしません。
+.TP 5
+.B "\-d dir, \-\-directory=dir"
+.B dir
+をディレクトリとみなし、処理の前にそのディレクトリに移動します。
+.TP 5
+.B "\-D sym, \-\-ifdef=sym"
+"#ifdef...#endif" 構造を用いて差分を示します。
+差分情報を切り替えるシンボルとして
+.B sym
+が用いられます。
+.TP 5
+.B "\-e, \-\-ed"
+パッチファイルを
+.I ed
+スクリプト形式として解釈します。
+.TP 5
+.B "\-E, \-\-remove\-empty\-files"
+パッチ適用後、空のファイルは削除するようにします。
+.TP 5
+.B "\-f, \-\-force"
+ユーザは処理内容を正確に把握しているものとみなし、
+.I patch
+は何も尋ねず、次のように仮定して処理を進めます。すなわち、
+パッチすべきオリジナルファイル見つけることができなかった場合は
+スキップします。
+``Prereq:'' のバージョンが正しくなくても、パッチを実行します。
+パッチ済みと思われても、リバースパッチではないと仮定します。
+なお、このオプションは、
+.I patch
+が表示するメッセージを抑制しません。メッセージを止めるには
+.B \-s
+を使います。
+.TP 5
+.B "\-t, \-\-batch"
+.BR \-f
+と同様ですが、次のように仮定します。
+パッチすべきオリジナルファイルを見つけることができなかった場合は
+スキップします(
+.BR \-f
+と同じ)。
+``Prereq:'' のバージョンが正しくない場合は、スキップします。
+パッチ済みと思われる場合は、リバースパッチと仮定します。
+.TP 5
+.B "\-F number, \-\-fuzz=number"
+最大曖昧度を設定します。
+このオプションは context diff 形式にのみ適用され、
+hunk の適用位置を探す際に最大 number 行だけ無視します。
+この値を大きくするとパッチが間違ってあたる可能性も増えることに
+注意して下さい。
+デフォルト値は 2 であり、
+context の行数(通常は 3)より大きい値にはしません。
+.TP 5
+.B "\-l, \-\-ignore\-whitespace"
+パターンマッチの条件を緩くし、タブおよび空白に関する違いは無視します。
+パターン中の連続する任意個の空白は、入力ファイル中の連続する任意個の
+空白にマッチします。
+.\" ↑ 原文は以下のようになっているが、
+.\" Any sequence of whitespace in the pattern line will match any sequence
+.\" in the input file. ^^^^^^^^^^^^
+.\" 下線部分は "any sequence of whitespace" という意味だと解釈した。
+しかし普通の文字は正確に合致しなければなりません。
+context の各行に対して入力ファイル中にマッチする行がなければなりません。
+.TP 5
+.B "\-n, \-\-normal"
+パッチファイルを normal diff 形式として解釈します。
+.TP 5
+.B "\-N, \-\-forward"
+リバースパッチ、もしくはすでにパッチ済みであると思われるパッチを
+スキップします。
+.B \-R
+も参照して下さい。
+.TP 5
+.B "\-o file, \-\-output=file"
+.B file
+を出力ファイル名と解釈します。
+.TP 5
+.B "\-p[number], \-\-strip[=number]"
+パス名の除去カウント(strip count)を設定します。
+パッチ作成者と異なるディレクトリにファイルを置いている場合、
+パッチファイル中のパス名をどのように解釈するか、を指示します。
+除去カウントは、パス名の先頭から何個のスラッシュを除去するか、
+を指定するものです(その間にあるディレクトリ名も取り除かれます)。
+例えば、パッチファイル中のファイル名が
+.sp
+ /u/howard/src/blurfl/blurfl.c
+.sp
+であった場合、
+.B \-p
+あるいは
+.B \-p0
+オプションを指定すると、パス名は全く修正されません。
+.B \-p1
+を指定すると、最初のスラッシュがない
+.sp
+ u/howard/src/blurfl/blurfl.c
+.sp
+となり、
+.B \-p4
+を指定すると
+.sp
+ blurfl/blurfl.c
+.sp
+、そして
+.B \-p
+を全く指定しないと
+"blurfl.c"
+となります。
+ただし、その前のパス(u/howard/src/blurfl)が相対パスとして存在する場合は別で、
+その場合、パス名全体は無修正のままです。
+最後に、こうして得られたファイルを、カレントディレクトリあるいは
+.B \-d
+オプションで指定したディレクトリ内で探します。
+.TP 5
+.B "\-r file, \-\-reject\-file=file"
+.B file
+をリジェクトファイル名として解釈します。
+.TP 5
+.B "\-R, \-\-reverse"
+このパッチが新旧 2 つのファイルを入れ換えて作成したものであることを
+.I patch
+に知らせます。
+(ええ、たまにはそういうことも起きると思っています。
+人間ってそういうものです。)
+.I patch
+は各 hunk を適用する前に新旧を入れ換えます。
+リジェクトファイルは入れ換え後の形式で出力されます。
+.B \-R
+オプションは
+.I ed
+スクリプト形式の差分には使えません。
+逆操作の手順をつくり出すには情報が不足しているからです。
+.Sp
+もしパッチ中の最初の hunk が失敗すれば、
+.I patch
+はそれをリバースパッチにしてうまく適用できるかどうか試します。
+もしうまくいけば、
+.B \-R
+オプションをセットしてパッチを当てますか、と尋ねられます。
+そうしないと答えれば、パッチは通常通り適用されていきます。
+(注: パッチが normal diff 形式で、しかも最初のコマンドが追加
+(つまり本来は削除)であると、この方法ではリバースパッチを検出できません。
+空のコンテキストはどこにでもマッチするので、追加操作は常に成功してしまう
+からです。
+幸い、発見的には、
+パッチは行を削除するよりも追加あるいは修正するものがほとんどであるため、
+normal diff 形式のリバースパッチは削除から始まって失敗におわることが
+ほとんどです。)
+.TP 5
+.B "\-s, \-\-silent, \-\-quiet"
+エラーの場合以外、静かに処理を行います。
+.TP 5
+.B "\-S, \-\-skip"
+パッチファイル中のこのパッチを無視し、
+次のパッチから処理を続けるように指示します。
+例えば
+.sp
+ patch -S + -S + <patchfile
+.sp
+と指定すると、3 つのパッチのうち、1 番目と 2 番目のパッチを無視します。
+.TP 5
+.B "\-u, \-\-unified"
+パッチファイルを unified diff 形式 (unidiff) として解釈します。
+.TP 5
+.B "\-v, \-\-version"
+.I patch
+コマンドのリビジョンヘッダとパッチレベルを表示します。
+.TP 5
+.B "\-V method, \-\-version\-\-control=method"
+バックアップファイル名の作成方法として
+.B method
+を用います。
+作成されるバックアップのタイプは環境変数
+.B VERSION_CONTROL
+でも指定できますが、このオプションはそれに優先します。
+.B -B
+はこのオプションに優先し、バックアップファイルを作る際に
+常にプレフィクスが用いられるようにします。
+環境変数
+.B VERSION_CONTROL
+および
+.B -V
+オプションの引数の指定は、GNU Emacs の `version-control' 変数と同様です。
+より分かりやすい同義語も認識されます。
+有効な値は以下の通り(一意に短縮するのも可):
+.RS
+.TP
+`t' または `numbered'
+常に数字を付けたバックアップファイルを作ります。
+.TP
+`nil' または `existing'
+すでにバックアップファイルが存在すれば数字付きバックアップ、
+それ以外は単純なバックアップを行います。
+これがデフォルトです。
+.TP
+`never' または `simple'
+常に単純なバックアップを行います。
+.RE
+.TP 5
+.B "\-x number, \-\-debug=number"
+内部のデバッグフラグに値を設定します。
+.I patch
+コマンドにパッチをあてる人だけに関係するものです。
+.SH 作者
+Larry Wall <lwall@netlabs.com>
+.br
+および多くの貢献者の方々。
+.SH 環境変数
+.TP
+.B TMPDIR
+テンポラリファイルを置くディレクトリ。デフォルトでは /tmp
+.TP
+.B SIMPLE_BACKUP_SUFFIX
+バックアップファイルに付ける拡張子を指定します。デフォルトでは、
+\*(L".orig\*(R" もしくは
+\*(L"~\*(R"。
+.TP
+.B VERSION_CONTROL
+数字付きバックアップファイルが作成される際に選択します。
+.SH 関連ファイル
+$TMPDIR/patch*
+.SH 関連項目
+diff(1)
+.SH パッチ作成者への注意
+パッチを作って送付しようとする際に留意すべき点がいくつかあります。
+第 1 に、patchlevel.h というファイルを管理することで皆は大変幸せに
+なれます。作成したパッチファイルの最初の差分はこの patchlevel.h に
+パッチをあて、パッチレベルをインクリメントします。
+パッチの中に Prereq: 行を入れておけば、
+順番通りにパッチを適用しない限り警告が出ます。
+第 2 に、context diff ヘッダか Index: 行で正しくファイル名を指定している
+ことを確認して下さい。
+サブディレクトリにあるファイルにパッチをあてようとする場合は、
+必要に応じて
+.B \-p
+オプションを指定するよう、ユーザに伝えて下さい。
+第 3 に、空のファイルと新規ファイルを比較する差分を送付することで、
+新しいファイルを生成することができます。
+これは、ターゲットディレクトリにその新ファイルがまだ存在しない場合にのみ
+有効です。
+第 4 に、リバースパッチを送付しないように気を付けて下さい。
+そのパッチは適用済なのかと皆が混乱します。
+第 5 に、例えば 582 個の差分をたったひとつのファイルに突っ込んで
+ハイサヨナラとすることもできることはできますが、
+何か発狂しそうになったときに備えて、
+関係あるパッチをいくつかの独立したファイルにまとめあげるほうが
+おそらく賢明でしょう。
+.SH 診断
+ここに列挙しきれないほどたくさんありますが、一般に
+.I patch
+がパッチファイルを解釈できないことを示しています。
+.PP
+メッセージ \*(L"Hmm...\*(R" は、
+パッチファイル中に処理できないテキストが存在していること、
+そして
+.I patch
+はそのテキスト中にパッチがあるかどうか、もし存在すれば
+どういう形式のパッチであるかを推測しようとしていることを
+示しています。
+.PP
+ひとつでもリジェクトファイルが作成されれば、
+.I patch
+はゼロでない終了ステータスで終了します。
+いくつものパッチを繰り返し適用する場合は、
+この終了ステータスをチェックし、
+パッチが部分的にしか適用されていないファイルに対して
+さらなるパッチをあてないようにすべきです。
+.SH 警告
+.I patch
+は
+.I ed
+スクリプト形式では行番号のズレを示せません。
+また normal diff 形式でも、行番号の誤りを指摘できるのは
+\*(L"change\*(R" コマンドや \*(L"delete\*(R" コマンドが現れる場合だけです。
+context diff 形式で曖昧度 3 を指定した場合も同様の問題があります。
+適切な対話インターフェースが追加されるまでは、
+こういう場合は context diff を見比べて修正が意味的に正しいかどうか
+確認すべきでしょう。
+もちろん、エラーなくコンパイルできれば、
+パッチはうまく適用されたという小さなサインにはなりますが、
+必ずしもいつもそうだというわけではありません。
+.PP
+たとえ多くの類推を行わなくてはならない場合でも、
+.I patch
+は通常、正しい結果を生成します。
+しかし、結果が正しいと保証できるのは、
+パッチを作成したのと正確に同じバージョンのファイルに対して
+パッチを適用した場合だけです。
+.SH バグ
+多めの \&deviant オフセットと入れ換えコードにより、
+部分的なマッチングに関して更に賢くできますが、
+そのためにはパスを追加する必要がありそうです。
+.PP
+コードが複製されている場合(例えば #ifdef OLDCODE ... #else ... #endif に
+よって)、
+.I patch
+は両者にパッチをあてることができません。
+そしてそこでパッチコマンドがうまくいった場合、
+そのパッチはおそらく誤って適用されており、
+おまけに「成功しました」と報告してきます。
+.PP
+既に適用済のパッチをあてると、
+.I patch
+はそれをリバースパッチと考え、適用したパッチを外すかどうか尋ねてきます。
+これも特徴の一つと解釈可能でしょう。
+.rn }` ''
diff --git a/ja/man/man1/pax.1 b/ja/man/man1/pax.1
new file mode 100644
index 0000000000..6ef207b3d1
--- /dev/null
+++ b/ja/man/man1/pax.1
@@ -0,0 +1,1174 @@
+.\" Copyright (c) 1992 Keith Muller.
+.\" Copyright (c) 1992, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Keith Muller of the University of California, San Diego.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)pax.1 8.4 (Berkeley) 4/18/94
+.\" jpman %Id: pax.1,v 1.4 1997/08/25 03:45:37 horikawa Stab %
+.\" %Id: pax.1,v 1.3 1995/08/16 23:12:25 nate Exp %
+.\"
+.Dd April 18, 1994
+.Dt PAX 1
+.Os BSD 4.4
+.Sh 名称
+.Nm pax
+.Nd ファイルアーカイブの読み書きやディレクトリ階層のコピーを行う
+.Sh 書式
+.Nm pax
+.Op Fl cdnv
+.Bk -words
+.Op Fl f Ar archive
+.Ek
+.Bk -words
+.Op Fl s Ar replstr
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl U Ar user
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl G Ar group
+.Ar ...
+.Ek
+.Bk -words
+.Oo
+.Fl T
+.Op Ar from_date
+.Op Ar ,to_date
+.Oc
+.Ar ...
+.Ek
+.Op Ar pattern ...
+.Nm pax
+.Fl r
+.Op Fl cdiknuvDYZ
+.Bk -words
+.Op Fl f Ar archive
+.Ek
+.Bk -words
+.Op Fl o Ar options
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl p Ar string
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl s Ar replstr
+.Ar ...
+.Ek
+.Op Fl E Ar limit
+.Bk -words
+.Op Fl U Ar user
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl G Ar group
+.Ar ...
+.Ek
+.Bk -words
+.Oo
+.Fl T
+.Op Ar from_date
+.Op Ar ,to_date
+.Oc
+.Ar ...
+.Ek
+.Op Ar pattern ...
+.Nm pax
+.Fl w
+.Op Fl dituvHLPX
+.Bk -words
+.Op Fl b Ar blocksize
+.Ek
+.Oo
+.Op Fl a
+.Op Fl f Ar archive
+.Oc
+.Bk -words
+.Op Fl x Ar format
+.Ek
+.Bk -words
+.Op Fl s Ar replstr
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl o Ar options
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl U Ar user
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl G Ar group
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl B Ar bytes
+.Ek
+.Bk -words
+.Oo
+.Fl T
+.Op Ar from_date
+.Op Ar ,to_date
+.Op Ar /[c][m]
+.Oc
+.Ar ...
+.Ek
+.Op Ar file ...
+.Nm pax
+.Fl r
+.Fl w
+.Op Fl diklntuvDHLPXYZ
+.Bk -words
+.Op Fl p Ar string
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl s Ar replstr
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl U Ar user
+.Ar ...
+.Ek
+.Bk -words
+.Op Fl G Ar group
+.Ar ...
+.Ek
+.Bk -words
+.Oo
+.Fl T
+.Op Ar from_date
+.Op Ar ,to_date
+.Op Ar /[c][m]
+.Oc
+.Ar ...
+.Ek
+.Op Ar file ...
+.Ar directory
+.Sh 解説
+.Nm pax
+は、アーカイブファイルの読み込み、書きだし、アーカイブファイルに
+格納されているファイルの一覧読みだし、そしてディレクトリ階層のコピーを
+行います。
+.Nm pax
+の操作は指定したアーカイブフォーマットとは独立しており、また
+.Nm pax
+は広範囲に渡る種類のアーカイブフォーマットの操作をサポートします。
+.Nm pax
+のサポートするアーカイブフォーマット一覧は、
+.Fl x
+オプションの説明時に示します。
+.Pp
+.Fl r
+および
+.Fl w
+は、以下の
+.Nm pax
+の機能モードのいずれかを指定するのに用いられます。その機能モードとは、
+.Em 一覧表示モード、読み込みモード、書き込みモード、コピーモード
+の 4 つです。
+.Bl -tag -width 6n
+.It <none>
+.Em 一覧表示モードです。
+.Nm pax
+は、
+.Dv 標準入力
+から読み込まれたアーカイブ内の格納ファイルのリストを
+.Dv 標準出力
+へ書き出します。標準入力から読み込まれるファイルのパス名は、指定した
+.Ar pattern
+に一致するものが採用されます。
+ファイル一覧は 1 行に 1 つのファイル名を含み、1 行バッファリングを行って
+書き出されます。
+.It Fl r
+.Em 読み込みモードです。
+.Nm pax
+は、
+.Dv 標準入力
+からアーカイブ読み込み、その内に格納されたファイルのうち指定した
+.Ar pattern
+に一致するファイル名を持つファイルを展開します。
+アーカイブフォーマット及びブロック化係数は、自動的に入力から決定されます。
+展開されるファイルがディレクトリの場合、そのディレクトリ配下に連なる
+ファイル階層は完全な形で展開されます。
+展開される全てのファイルは、現在のファイル階層からの相対ディレクトリに
+生成されます。展開されるファイルの所有権、アクセス時刻、更新時刻、
+そしてファイルモードの設定についての詳細は、
+.Fl p
+オプションのところで述べます。
+.It Fl w
+.Em 書き込みモードです。
+.Nm pax
+は、
+.Ar file
+オペランドで指定したファイル群のアーカイブを
+指定したフォーマットで標準出力に書き出します。
+.Ar file
+オペランドが指定されない場合には、1 行に 1 つずつ
+コピーするファイルを記述したリストを標準入力から読み込みます。
+.Ar file
+オペランドがディレクトリの場合、そのディレクトリ配下の
+全ファイルが作成されるアーカイブに含まれます。
+.It Fl r Fl w
+.Em コピーモードです。
+.Nm pax
+は、ファイルオペランドで指定したファイル群を、指定した
+.Ar ディレクトリ
+にコピーします。
+.Ar file
+オペランドが指定されない場合には、1 行に 1 つずつ
+コピーするファイルを記述したリストを標準入力から読み込みます。
+.Ar file
+オペランドがディレクトリの場合、そのディレクトリ配下のファイルがすべて、
+コピー先として指定したディレクトリ配下に作成されます。
+.Em コピーモード
+は、ファイルがアーカイブファイルに対して書き込まれ、
+そして一方でそのアーカイブファイルが展開されるかのように見ます。
+ただし、これはオリジナルファイルとコピーファイルの間に
+ハードリンクが張られるかも知れない事を除きます
+.Ns ( Fl l
+オプションを参照して下さい)。
+.Pp
+.Em 注意
+コピー先の
+.Ar ディレクトリ
+には、コピー元にあるものと同じファイル名の
+.Ar file
+オペランドや
+.Ar file
+オペランドで指定されるディレクトリ階層の配下にあるファイル名などを
+指定してはいけません。
+そのような場合、
+.Em コピー
+の結果は予測できないものになります。
+.El
+.Pp
+.Em 読み込み
+操作や
+.Em 一覧表示
+動作において壊れたアーカイブを処理する場合、
+.Nm pax
+は媒体破損を可能な限り復旧し、
+アーカイブの中から可能な限りのファイルを処理しようと試みます (エラー時の
+処理の詳細は
+.Fl E
+オプションを参照して下さい)。
+.Sh オペランド
+.Pp
+.Ar directory
+オペランドは、コピー先ディレクトリの指定を行います。
+.Ar directory
+オペランドが存在しない場合、もしくはユーザが書き込みを出来ない、
+もしくは指定したオペランドがディレクトリでない場合には、
+.Nm pax
+は、0 以外のステータスでプログラムを終了します。
+.Pp
+.Ar pattern
+オペランドは、アーカイブに格納されているファイルの名前を選択するために
+用いられます。
+アーカイブメンバは、
+.Xr fnmatch 3
+に記述のある表記に一致するパターンを用いて選択されます。
+.Ar pattern
+オペランドが指定されない場合には、アーカイブ内に格納されている
+全てのメンバが選択されます。
+.Ar pattern
+がディレクトリ名と一致する場合には、そのディレクトリ配下の階層に
+位置する全てのファイルが選択されます。
+もしアーカイブ内に
+.Ar pattern
+オペランドの指定と一致する名前のファイルがない場合には、
+.Nm pax
+は
+.Ar 標準エラー出力
+に出力される診断メッセージにこの
+.Ar pattern
+オペランドを書き出し、0 以外のステータスでプログラムを終了します。
+.Pp
+.Ar file
+オペランドは、コピーもしくはアーカイブされるファイルのパス名を指定します。
+.Ar file
+オペランドが 1 つもアーカイブメンバを選択しない場合には、
+.Nm pax
+は
+.Dv 標準エラー出力
+に出力される診断メッセージにこの
+.Ar file
+オペランドの内容を書き出し、0 以外のステータスでプログラムを終了します。
+.Sh オプション
+.Pp
+.Nm pax
+では、以下のオプションが使用可能です。
+.Bl -tag -width 4n
+.It Fl r
+アーカイブファイルを
+.Dv 標準入力
+から読み込み、
+.Ar files
+で指定したファイルを展開します。
+アーカイブされているファイルの展開に中間ディレクトリの作成が必要な場合、
+これらのディレクトリは、
+.Xr mkdir 2
+の mode 引数のところに
+.Dv S_IRWXU , S_IRWXG , S_IRWXO
+の
+.Dv 論理和
+を指定して呼び出された場合と同様に作成されます。
+選択されたアーカイブ形式がリンクファイルの指定をサポートし、
+かつアーカイブ展開時にリンク不可能である場合には、
+.Nm pax
+は、処理が終了する時に、診断メッセージを
+.Dv 標準エラー出力
+に書き出し、0 以外のステータスで終了します。
+.It Fl w
+指定したアーカイブフォーマットで、
+.Dv 標準出力
+にアーカイブを書き出します。
+.Ar file
+オペランドが指定されない場合には、1 行につき展開するファイルのパス名 1 つを
+記述したリストを
+.Dv 標準入力
+から読み込みます。
+このリストの各行の先頭や末尾には
+.Aq 空白
+を入れてはいけません。
+.It Fl a
+すでに存在するアーカイブファイルの後ろに、ファイル
+.Ar files
+を追加書き込みします。
+.Fl x
+オプションによるアーカイブフォーマット指定がされない場合、
+アーカイブフォーマットは追加書き込み対象となるアーカイブファイルの
+フォーマットと同一になります。
+アーカイブファイルに対して、そのアーカイブファイルのフォーマットと
+異なるフォーマットを用いてファイルを追加書き込みをしようとした場合、
+.Nm pax
+は即時に 0 以外の終了ステータスでプログラム終了します。
+アーカイブボリュームに最初に書き込んだブロックサイズを引き継いで、
+残りのアーカイブボリュームのブロックサイズとします。
+.Pp
+.Em 注意 :
+多くの記憶装置は追加書き込み処理に必要な操作をサポートできません。
+そのようなサポートしていないデバイスに対するアーカイブの追加書き込みは、
+アーカイブの破損もしくは他の予期せぬ結果を招くことになります。
+特に、テープドライブに対する追加書き込み処理は、最もサポートしそうにない
+ものです。
+普通のファイルシステムのファイルとして、もしくはディスクデバイス上に
+保存されているアーカイブについては、通常は追加書き込み処理をサポートします。
+.It Fl b Ar blocksize
+アーカイブを
+.Em 書き出す
+際、アーカイブへと書き出す内容を blocksize (正の整数) で指定したバイト数
+でブロック化します。
+.Ar blocksize
+で指定出来る値は、512 の倍数でなくてはならず、最大は 32256 です。
+.Ar blocksize
+で指定する数は、その最後に
+.Li k
+もしくは
+.Li b
+を付加することで、1024(1K) もしくは 512 の倍数として指定できます。
+.Ar blocksizes
+に指定する数字を
+.Li x
+で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
+アーカイブの書き込みのために指定するデバイスによっては、
+ブロックサイズに対してさらに制限がかかることがあります。
+ブロック化が指定されない場合には、デフォルトの
+.Ar blocksize
+は使用される特定のアーカイブフォーマットに依存します。
+.Ns ( Fl x
+オプションを参照して下さい)。
+.It Fl c
+.Ar pattern
+に指定されたパターンにマッチしたファイルおよび
+.Ar file
+オペランドで指定されたファイル
+.Em 以外
+の、全てのファイルもしくはアーカイブ内メンバにマッチします。
+.It Fl d
+コピーもしくはアーカイブされるディレクトリ、もしくはアーカイブに格納され
+ているディレクトリについて、指定パターンに一致した名前のディレクトリもし
+くはアーカイブ内に格納されているディレクトリのみ処理し、そのディレクトリ
+配下にあるファイルについては処理しません。
+.It Fl f Ar archive
+.Ar archive
+で指定したファイルを入力元のアーカイブもしくは出力先のアーカイブに指定し
+ます。この場合、デフォルトの
+.Dv 標準入力
+.Ns ( Em 一覧表示モード
+および
+.Em 読み込みモード
+の場合) もしくは
+.Dv 標準出力
+.Ns ( Em 書き込みモード
+) については無視されます。
+1 つのアーカイブが複数のファイルもしくは異なるアーカイブデバイスに渡って
+も構いません。必要があった場合、
+.Nm pax
+は、アーカイブの格納されている次のボリュームのファイルもしくはデバイスの
+パス名の入力を促します。
+.It Fl i
+対話的にファイルもしくはアーカイブ内に格納されるファイルのリネームを行います。
+.Ar pattern
+で指定した文字列パターンに一致するアーカイブ内の格納ファイルもしくは
+.Ar file
+オペランドの指定に一致するファイルについて、
+.Nm pax
+は
+.Pa /dev/tty
+に対してファイルの名前やファイルモード、そしてファイルの更新時刻を表示して
+入力を促します。
+それから
+.Nm pax
+は
+.Pa /dev/tty
+からデータを 1 行読み込みます。
+その行が空行だった場合には、その時のファイルもしくはアーカイブ内の
+格納ファイルについては、処理を行いません。
+その行がピリオド 1 つだけの行だった場合には、その時のファイルもしくは
+アーカイブ内の格納ファイルについては、ファイル名についての更新は行いません。
+それ以外の場合には、ファイル名はその行の文字列で指定した名前に変更されます。
+上記操作中に
+.Dv <EOF>
+を
+.Pa /dev/tty
+から受けとった場合、もしくは何らかの理由で
+.Pa /dev/tty
+をオープン出来なかった場合、
+.Nm pax
+は 0 以外の終了ステータスで即座に終了します。
+.It Fl k
+すでに存在するファイルに対する上書きをしません。
+.It Fl l
+(アルファベットの ``エル'' ) ファイルをリンクします。
+.Em コピーモード
+.Ns ( Fl r
+.Fl w
+) の場合には、コピー元コピー先間には可能な限りハードリンクが作成されます。
+.It Fl n
+アーカイブに格納されるファイルのうち、各
+.Ar pattern
+オペランドに指定した文字列パターンに一致するファイル名を持つ最初のものを
+選択します。
+アーカイブに格納されるファイルのうち
+.Ar pattern
+オペランドに指定した文字列パターン
+に一致するもので、2 つめ以降のものは選択されません。
+文字列パターンで指定した条件に合致するものがディレクトリだった場合、
+そのディレクトリ配下のファイルについても選択されたものとみなされます(ただし、
+.Fl d
+オプションが指定された場合にはこの限りではありません)。
+.It Fl o Ar options
+.Fl x
+で指定されるアーカイブフォーマットから特定される、
+アーカイブファイル展開/書き出しアルゴリズムの更新情報を指定します。
+一般的に、
+.Ar options
+は
+.Cm name=value
+のように指定されます。
+.It Fl p Ar string
+1 つ以上のファイルの属性操作に関する動作をオプション指定します。
+.Ar string
+オプション引数は、ファイル展開時に、展開ファイルの属性を保存するか破棄す
+るかを指定する文字列です。
+string は、
+.Cm a , e , m , o , p
+の 5 つの指定文字から成ります。
+複数の属性を同じ文字列の中につなげて記述したり、複数の
+.Fl p
+オプションを指定したりすることもできます。
+これらの文字は、以下のように動作の指定を行います:
+.Bl -tag -width 2n
+.It Cm a
+ファイルのアクセス時間を保存しません。
+デフォルトでは、ファイルのアクセスタイムは可能な限り保存されます。
+.It Cm e
+ファイルのユーザ ID, グループ ID, ファイルモードのビット、ファイルの
+アクセス時間、ファイルの更新時間、これらの
+.Sq 全ての属性を保存します。
+本オプションは、
+.Em スーパユーザ、
+もしくは適正な権限を持ったユーザによって
+使用されることを推奨します。
+これは、アーカイブ内に格納されたすべてのファイルについて、
+そのファイルの特性を保存するためです。
+フラグを指定した場合は、
+.Cm o
+および
+.Cm p
+フラグを指定したのと同様の効果を持ちます。
+.It Cm m
+ファイルの更新時間を保存しません。
+デフォルトでは、ファイルの更新時間は可能な限り保存されます。
+.It Cm o
+ユーザ ID とグループ ID を保存します。
+.It Cm p
+ファイルモードのビットを
+.Sq 保存します。
+本オプションは、
+ファイルについて、所有者情報以外の全ての情報の保存を希望するなど適正な
+権限を持った
+.Em ユーザ
+に使用されることを推奨しています。
+ファイルの時刻はデフォルトで保存されますが、
+これを無効にしたり、展開時の時刻を用いるようにするために
+別に 2 つのフラグが用意されています。
+.El
+.Pp
+先述のオプション一覧にて、
+.Sq 属性の保存
+とは、起動したプロセスの権限に応じて
+アーカイブ内に保存された属性が展開ファイルに反映されることを意味します。
+これ以外の場合は、展開されるファイルの属性は、
+通常のファイル生成と同様に決定されます。
+.Cm e
+と
+.Cm o
+のどちらも指定されない場合、あるいは
+ユーザ ID とグループ ID がいかなる理由にせよ保存されない場合、
+.Nm pax
+はファイル属性中の
+.Dv S_ISUID
+.Em ( setuid )
+および
+.Dv S_ISGID
+.Em ( setgid )
+のビットを設定しません。
+これらの情報の引き継ぎが何らかの理由で失敗した場合、
+.Nm pax
+は診断メッセージを
+.Dv 標準エラー出力
+に書き出します。
+これらの情報の保存失敗は、最終的な終了ステータスに影響しますが、
+展開されたファイルが削除されるようなことはありません。
+ファイル属性の操作に関するオプション文字が重複していたり、
+他のオプション文字と処理上の競合を起こす場合には、
+それらのオプションの中で一番最後に記述されたものの処理が採用されます。
+例えば、
+.Dl Fl p Ar eme
+が指定された場合には、ファイルの更新時間は保存されます。
+.It Fl s Ar replstr
+アーカイブ内に格納されているファイルのうち、
+.Ar pattern
+オペランドもしくは
+.Ar file
+オペランドで指定されたもののファイル名を、
+.Ar replstr
+で指定された置換表現にしたがって更新します。この置換表現は、
+.Xr ed 1
+にて記述されている正規表現の書法に準じます。
+これらの正規表現の書式は
+.Dl /old/new/[gp]
+です。
+.Xr ed 1
+に示されるように、
+.Cm old
+は基本的な正規表現であり、
+.Cm new
+はアンパサンド (&)、後方参照 \\n (nの部分は数字が入ります)、
+補助表現を含むことができます。
+文字列
+.Cm old
+には、
+.Dv 改行文字
+を含んでも構いません。
+ヌル文字以外のいかなる文字も、区切り文字として用いることが可能です
+(ここでは / を示しました)。
+また、複数の
+.Fl s
+表現を指定することが許されています。
+これらの表現はコマンドラインで指定された順に適用され、
+最初の置換が成功した時点でその置換を終了します。
+置換処理の追加処理指定として、
+.Cm g
+を指定した場合には、継続してファイル名の置換を行うことを指示します。
+この場合、前回置換に成功した直後の文字から継続して置換を行います。
+そして最初に置換を失敗したときに
+.Cm g
+オプションの処理を終了します。
+置換処理の追加処理指定として
+.Cm p
+を指定した場合には、最初の置換成功結果を
+.Dv 標準エラー出力
+に以下のフォーマットで書き出します:
+.Dl <original pathname> >> <new pathname>
+空白文字に置換される通常ファイルもしくはアーカイブ内に格納されたファイルの
+ファイル名は、処理対象として選択されず、そのファイル名に対する
+処理はスキップされます。
+.It Fl t
+.Nm pax
+が読み込んだ、もしくはアクセスした全てのファイルやディレクトリの
+アクセス時間を、
+.Nm pax
+がそれらのファイルやディレクトリを処理する前のものに再設定します。
+.It Fl u
+同じ名前ですでに存在するファイルやアーカイブ内に格納されているファイルより
+古い (ファイル更新時刻が古い) ファイルを無視します。
+.Em 読み込み処理
+においては、アーカイブ内のファイルにファイルシステム上にすでに存在するものと
+同じ名前のファイルがあり、アーカイブ内のファイルの方が新しい場合に、
+アーカイブ内のファイルが展開されます。
+.Em 書き込み処理
+においては、ファイルシステム上のファイルとアーカイブ内のファイルの名前が
+同じもので、かつファイルシステム上のファイルの方がアーカイブ内のものより
+も新しい場合に、ファイルシステム上のファイルのアーカイブへの格納が行われます。
+.Em コピー処理
+においては、コピー先にあるファイルとコピー元にあるファイルが同一のファイル名
+を持ち、かつコピー元にあるファイルの方が新しい場合に、
+コピーあるいはリンクが行われます。
+.It Fl v
+.Em 一覧表示処理
+において、
+.Xr ls 1
+コマンドの
+.Fl l
+オプションを用いた時の表示と同じ形式を用いて、アーカイブ内容の表示を行います。
+アーカイブの他のメンバとの間にハードリンクを構成するファイルのパス名に
+ついては、以下のフォーマットで出力されます。
+.Dl <ls -l listing> == <link name>
+アーカイブの他のメンバとの間にシンボリックリンクを構成するファイルの
+パス名については、以下のフォーマットで出力されます。
+.Dl <ls -l listing> => <link name>
+ここで <ls -l listing> の箇所は、
+.Xr ls 1
+コマンドを
+.Fl l
+オプションを付けて実行した場合の出力形式になります。
+他のオプショナルモード (読み込みモード、書き込みモード、そしてコピーモード)
+の場合には、当該ファイルもしくはアーカイブ内のファイルの処理が始まるとすぐに、
+それらのパス名が末尾の
+.Dv 改行文字
+なしで
+.Dv 標準エラー出力
+に書き込まれ、フラッシュされます。
+ファイル名に付随する
+.Dv 改行文字
+はバッファリングされることなく、ファイルが読み込まれたもしくは書き込まれた
+直後に書き出されます。
+.It Fl x Ar format
+出力されるアーカイブフォーマットを指定します。デフォルトフォーマットは、
+.Ar ustar
+フォーマットです。
+.Nm pax
+は、現在以下のアーカイブフォーマットをサポートします:
+.Bl -tag -width "sv4cpio"
+.It Ar cpio
+.St -p1003.2
+standard にて規定される、拡張 cpio インタチェンジフォーマットです。
+本フォーマットのデフォルトブロックサイズは、5120 バイトです。
+このフォーマットで欠落するファイルの inode およびデバイス情報 (この
+フォーマットでファイルのハードリンクの検出に用いられます) は、
+.Nm pax
+にて検出され、復元されます。
+.It Ar bcpio
+古い binary cpio フォーマットです。
+本フォーマットのデフォルトのブロックサイズは、5120 バイトです。
+本フォーマットはポータビリティがそれほどよくないので、別のフォーマットが
+使えるならば、そちらを使用したほうがよいでしょう。
+このフォーマットで欠落するファイルの inode およびデバイス情報 (この
+フォーマットでファイルのハードリンクの検出に用いられます) は、
+.Nm pax
+にて検出され、復元されます。
+.It Ar sv4cpio
+Unix System V Release 4(SVR4) の cpio フォーマットです。
+本フォーマットのデフォルトのブロックサイズは 5120 バイトです。
+このフォーマットで欠落するファイルの inode およびデバイス情報 (この
+フォーマットでファイルのハードリンクの検出に用いられます) は、
+.Nm pax
+にて検出され、復元されます。
+.It Ar sv4crc
+SVR4 で使用される、ファイルの crc チェックサムつきの cpio フォーマットです。
+本フォーマットのデフォルトのブロックサイズは 5120 バイトです。
+このフォーマットで欠落するファイルの inode およびデバイス情報 (この
+フォーマットでファイルのハードリンクの検出に用いられます) は、
+.Nm pax
+にて検出され、復元されます。
+.It Ar tar
+BSD4.3 から用いられている古い BSD tar フォーマットです。
+本フォーマットのデフォルトのブロックサイズは、10240 バイトです。
+本フォーマットでは、アーカイブ内に格納されるファイルのパス名は 100 文字以内
+でなくてはなりません。
+.Em 通常ファイル、ハードリンクファイル、
+.Em シンボリックリンクファイル、ディレクトリ
+のみがアーカイブ内に格納されます (他のファイルシステムタイプについては、
+サポートされません)。
+さらに古い tar フォーマットとの過去の互換性は、
+.Fl o
+オプションを用いて、アーカイブへのファイル保存時に
+ディレクトリを無視することで実現されます。
+本オプションは、以下のように指定します:
+.Dl Fl o Cm write_opt=nodir
+.It Ar ustar
+.St -p1003.2
+standardにて規定される、
+拡張 tar インタチェンジフォーマットです。
+本フォーマットのデフォルトのブロックサイズは、10240 バイトです。
+本フォーマットのアーカイブ内に保存されるファイルのパス名は、250 文字以下
+の長さでなくてはなりません。
+.El
+.Pp
+.Nm pax
+は、指定したアーカイブフォーマットの制限に起因して、ファイルの
+アーカイブへの格納もしくはアーカイブからのファイルの展開が出来ない場合には、
+それを検出し、報告します。
+各アーカイブフォーマットを使用した場合には、
+使用時に更にそのアーカイブフォーマットの制限が課せられることがあります。
+典型的なアーカイブフォーマットの制限は、ファイルのパス名の長さ、
+ファイルサイズ、リンクファイルの指すファイルのパス名の長さ、
+そしてファイルタイプなど。
+(なお、制限要素はこれらに限られるわけではありません。)
+.It Fl B Ar bytes
+単一のアーカイブボリュームに書き出される最大データ長を、
+.Ar bytes
+で制限します。
+.Ar bytes
+パラメータの末尾には
+.Li m ,
+.Li k ,
+.Li b
+のいずれかの文字を付加でき、それぞれ 1048576 (1M), 1024 (1K), 512 の倍数を
+意味します。
+また、
+.Ar bytes
+に指定する数字を
+.Li x
+で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
+.Pp
+.Em 警告 :
+最後の (もしくは最大の) 書き込み時のオフセットに基づいた EOF をサポートする
+デバイス (テープや通常ファイルなどのようなもの) にアーカイブを書き出す時
+にのみ本オプションを使って下さい。
+本オプションをフロッピーやハードディスクデバイスファイルに対して用いる
+ことは、推奨しません。
+.It Fl D
+本オプションは、
+.Fl u
+オプションと同様の動作を行いますが、ファイルの更新時間の代わりに
+ファイルの inode 変更時間がチェックされるところが異なります。
+ファイルの inode 変更時間は、inode 情報 (ユーザ ID、グループ ID、その他) が
+コピー先のディレクトリ
+.Ar directory
+にあるものよりも新しいファイルを選択するのに用いられます。
+.It Fl E Ar limit
+部分的に破損したアーカイブの読み込みをリトライする際、その読み込み失敗回数を
+.Ar limit
+までに制限します。
+.Ar limit
+に正の数を指定した場合、
+.Nm pax
+はアーカイブの読み込みエラーからの復帰を試行し、アーカイブに格納されて
+いる次のファイルから処理を継続します。
+.Ar limit
+が 0 の場合、
+.Nm pax
+は最初のリードエラーがアーカイブボリュームに発生したところで処理を停止します。
+.Ar limit
+が
+.Li NONE
+の場合には、読み込み失敗からの復帰を永遠に試行します。
+デフォルトの
+.Ar limit
+の値は、小さい正の整数(リトライ回数)です。
+.Pp
+.Em 警告 :
+.Nm pax
+コマンドを、本オプションを
+.Li NONE
+指定して起動する場合には十分に気をつけて下さい。
+というのも、処理対象となるアーカイブがぼろぼろに破損していた場合には、
+処理が無限ループに陥る可能性があるからです。
+.It Fl G Ar group
+グループ名が
+.Ar group
+で指定したものであるファイルを選択します。
+グループ名が
+.Cm #
+で始まる場合には、ファイルのグループ ID がそれに連なる数字のものを
+選択します。'\\' を用いて
+.Cm #
+をエスケープすることができます。
+.Fl G
+オプションは、複数指定することが可能です。
+この場合、最初にグループ名もしくはグループIDが一致したらところで
+チェックは停止します。
+.It Fl H
+物理的にファイルシステムトラバースを行いながら、
+コマンドラインで指定されたファイルについてのみ
+シンボリックリンクをたどります。
+.It Fl L
+全てのシンボリックリンクファイルをたどります。
+すなわち、論理的にファイルシステムトラバースを行います。
+.It Fl P
+シンボリックリンクをたどりません。
+すなわち、物理的にファイルシステムトラバースを行います。
+デフォルトはこのモードです。
+.It Fl T Ar [from_date][,to_date][/[c][m]]
+ファイル更新時間もしくは inode 更新時間が
+.Ar from_date
+から
+.Ar to_date
+の間 (それぞれで指定した時間も含みます) にあるファイルを選択します。
+.Ar from_date
+のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
+その時間と同じかそれより新しいもののみ選択されます。
+.Ar to_date
+のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
+その時間と同じかそれより古いもののみ選択されます。
+.Ar from_date
+と
+.Ar to_date
+が等しい場合には、ファイル更新時間もしくは inode 更新時間が
+その時間と等しいものが選択されます。
+.Pp
+.Nm pax
+が
+.Em 書き込みモード
+もしくは
+.Em コピーモード
+の場合には、オプションフィールドとして
+.Ar [c][m]
+を指定することが可能です。このフィールドは、時間の比較に inode更新時間と
+ファイル更新時間のどちら(あるいは両方)を使うかを決定します。
+どちらも指定されない場合(デフォルト時)には、ファイル更新時間のみが用いられます。
+.Ar m
+は、ファイル更新時間 (ファイルへの書き込みが最後に行われた時間) を
+比較対象として用います。
+.Ar c
+は、inode 更新時間 (inode が最後に更新された時間。例えば所有者、
+グループ、モードその他が更新された時間) を比較対象として用います。
+.Ar c
+と
+.Ar m
+の両者が指定された場合、ファイル更新時間と inode 更新時間の両者が比較対象
+になります。
+inode 更新時間の比較は、最近属性が変更されたファイルや
+最近作成されたファイル、そしてファイル更新時間が古いものに再設定された
+ファイル (ファイル更新時間を保存するオプションを用いてアーカイブから
+展開されたファイルなどがこれにあたります) を選択するのに便利です。
+ファイル時間も併用して時間比較をする機能は、
+.Nm pax
+を用いて、
+時間を基準にしたインクリメンタルアーカイブ (指定した期間内に更新された
+ファイルのみアーカイブすること) を行うのに便利です。
+.Pp
+時間の範囲は、6 つの異なるフィールドから成り、各フィールドは 2 ケタの数字を
+含む必要があります。
+その形式は以下の通りです:
+.Dl [yy[mm[dd[hh]]]]mm[.ss]
+.Cm yy
+は、年号 (西暦) の最後の 2 桁です。
+最初の
+.Cm mm
+は、月 (01 から 12) です。
+.Cm dd
+は、日付 (01 から 31 まで) です
+.Cm hh
+は、時 (00 から 23 まで) です。
+2 番めの
+.Cm mm
+は、分 (00 から 59 まで)です。
+そして、
+.Cm ss
+は、秒 (00 から 59 まで)です。
+分のフィールドの
+.Cm mm
+は、省略不可であり、他のフィールドはオプションであり、以下の順序で
+付加されなければなりません:
+.Dl Cm hh , dd , mm , yy
+ただし、
+.Cm ss
+フィールドだけは、他のフィールドとは独立して付加可能です。
+時間の範囲は、現在時刻からの相対値で表され、
+.Dl Fl T Ar 1234/cm
+は、本日の 12:34 PM から後のファイル更新時間、もしくは inode 更新時間を持つ
+ファイルを選択することを表します。
+複数の
+.Fl T
+による時間範囲指定を行うことが許可されており、
+指定した範囲のうちいずれかと一致したら、その後の範囲チェックは行いません。
+.It Fl U Ar user
+ファイルの所有者名
+.Ar user
+に基づいて、ファイル選択が行われます。所有者名が
+.Cm #
+で始まる場合には、ファイルの UID がそれに連なる数字のものを
+選択します。'\\' を用いて
+.Cm #
+をエスケープすることができます。
+複数の
+.Fl U
+オプションを指定することが許されており、その指定の中で最初にユーザが
+一致した場合には、それ以降のユーザ名のチェックは行いません。
+.It Fl X
+パス名で指定されたファイル階層をトラバースする場合に、異なるデバイス ID を
+持つディレクトリへは下りていきません。
+デバイス ID について詳細な情報を取得したい場合には、
+.Xr stat 2
+の
+.Li st_dev
+フィールドを参照して下さい。
+.It Fl Y
+本オプションは、
+.Fl D
+オプションと動作が似ていますが、全てのファイル名更新が終了した後、
+生成されたパス名を用いて inode 更新時間をチェックするところが異なります。
+.It Fl Z
+本オプションは、
+.Fl u
+オプションと動作が似ていますが、全てのファイル名更新が終了した後、
+生成されたパス名を用いて、ファイル更新時間をチェックするところが異なります。
+.El
+.Pp
+ファイルもしくはアーカイブ内に格納されたファイルについての操作を制御する
+オプション (
+.Fl c ,
+.Fl i ,
+.Fl n ,
+.Fl s ,
+.Fl u ,
+.Fl v ,
+.Fl D ,
+.Fl G ,
+.Fl T ,
+.Fl U ,
+.Fl Y ,
+.Fl Z )
+は、相互に以下のような影響を及ぼします。
+.Pp
+.Em 読み込み
+処理におけるファイル展開時には、
+展開されるファイルは、まず、アーカイブ内に格納されるファイルのうち
+.Fl c ,
+.Fl n ,
+.Fl u ,
+.Fl D ,
+.Fl G ,
+.Fl T ,
+.Fl U
+のそれぞれのオプションを用いて指定されるユーザ指定のパターンオペランド
+に基づいて選択されます。
+それらのファイルの中から
+.Fl s
+および
+.Fl i
+オプションがこの順に、選択されたファイル名を修正します。
+それから、最終的なファイル名にて
+.Fl Y
+および
+.Fl Z
+オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が
+決まります。
+そして最後に、
+.Fl v
+オプションは、これまでの処理結果として得られた名前をファイル名として
+書き出します。
+.Pp
+.Em 書き込み
+操作や
+.Em コピー
+操作のファイルアーカイブでは、以下のオプション
+.Fl n ,
+.Fl u ,
+.Fl D ,
+.Fl G ,
+.Fl T ,
+.Fl U
+(
+.Fl D
+オプションはコピー操作時のみ適用されます) によって
+アーカイブメンバのファイルを選択します。
+続いて、それらのファイルの中から
+.Fl s
+および
+.Fl i
+オプションがこの順に、選択されたファイル名を修正します。
+それから
+.Em コピー
+処理においては、最終的なファイル名にて
+.Fl Y
+および
+.Fl Z
+オプションによる条件を用いて絞り込みを行い、処理するファイルのパス名が
+決まります。
+そして最後に、
+.Fl v
+オプションは、これまでの処理結果として得られた名前をファイル名として
+書き出します。
+.Pp
+.Fl n
+といっしょに
+.Fl u
+オプションあるいは
+.Fl D
+オプションのどちらか、もしくは両方が指定された場合、そのファイルが
+比較対象のファイルより新しくなければ、そのファイルは選択されたとは
+みなされません。
+.Sh 使用例
+コマンド:
+.Dl pax -w -f /dev/rst0 .\
+は、カレントディレクトリの内容を
+.Pa /dev/rst0
+にコピーします。
+.Pp
+コマンド:
+.Dl pax -v -f filename
+は、
+.Pa filename
+で指定したアーカイブに格納されているファイル内容の詳細な一覧を表示します。
+.Pp
+以下のコマンド:
+.Dl mkdir newdir
+.Dl cd olddir
+.Dl pax -rw .\ newdir
+を実行すると、
+.Pa olddir
+配下のディレクトリ階層全体を
+.Pa newdir
+にコピーします。
+.Pp
+コマンド:
+.Dl pax -r -s ',^//*usr//*,,' -f a.pax
+は、アーカイブファイル
+.Pa a.pax
+からデータを読み込み、アーカイブ中の ``/usr'' 配下のファイルを全て、
+カレントディレクトリからの相対ディレクトリに展開します。
+.Pp
+コマンド:
+.Dl pax -rw -i .\ dest_dir
+は、カレントディレクトリから
+.Pa dest_dir
+ディレクトリにコピーしますが、ファイルをコピーするかどうかを
+対話的に選択します。
+.Pp
+コマンド:
+.Dl pax -r -pe -U root -G bin -f a.pax
+は、
+.Pa a.pax
+中に格納されているファイルのうち、所有者が
+.Em root
+でグループが
+.Em bin
+であるファイルを選択し、すべてのファイル属性を保存して展開します。
+.Pp
+コマンド:
+.Dl pax -r -w -v -Y -Z home /backup
+は、コピー先ディレクトリ
+.Pa /backup
+にあるファイルのうち、コピー元ディレクトリ
+.Pa home
+に存在する同名のファイルより (inode 更新時刻もしくは
+ファイル更新時刻が) 古いものについて更新を行い、一覧表示します。
+.Sh 規格
+.Nm pax
+ユーティリティは、
+.St -p1003.2
+標準のスーパセットです。
+オプション
+.Fl B ,
+.Fl D ,
+.Fl E ,
+.Fl G ,
+.Fl H ,
+.Fl L ,
+.Fl P ,
+.Fl T ,
+.Fl U ,
+.Fl Y ,
+.Fl Z
+、アーカイブ形式
+.Ar bcpio ,
+.Ar sv4cpio ,
+.Ar sv4crc ,
+.Ar tar
+、および
+.Ar 一覧表示
+モードと
+.Ar 読み込み
+モードにおける破損したアーカイブの取り扱いは、
+.Tn POSIX
+標準に対する拡張です。
+.Sh 作者
+Keith Muller at the University of California, San Diego
+.Sh エラー
+.Nm pax
+は、以下の値のいずれかで終了します:
+.Bl -tag -width 2n
+.It 0
+すべてのファイルは正常に処理されました。
+.It 1
+エラーが発生しました。
+.El
+.Pp
+アーカイブ読み込み中に
+.Nm pax
+がファイルを作成できない場合やリンクを張れない場合、
+アーカイブに書き込み中にファイルが見つからない場合、
+.Fl p
+オプション指定時にユーザ ID、グループ ID、ファイル属性を保存できない場合には、
+診断メッセージが
+.Dv 標準エラー出力に
+書き出され、0 以外の終了ステータスが返却されますが、
+処理自体は継続して行われます。
+ファイルへのリンクを作成できない場合には、
+.Nm pax
+はファイルの二次コピーを作成しません。
+.Pp
+アーカイブからのファイルの展開が、シグナル受信もしくはエラー発生により
+途中で異常終了した場合、
+.Nm pax
+はユーザが指定したファイルの一部分だけを展開して終了する可能性があります。
+更に、展開したファイルやディレクトリの属性が不正であったり、
+アクセス時間、更新時間も不正である可能性があります。
+.Pp
+アーカイブの生成が、シグナル受信もしくはエラー発生により
+途中で異常終了した場合、
+.Nm pax
+は中途半端なアーカイブを生成している可能性があります。
+このようなアーカイブは
+特定のアーカイブフォーマット規定を満足していない可能性があります。
+.Pp
+.Em コピー
+を行っている最中に、
+.Nm pax
+が読み出したのと同じファイルへの書き込みを検出した場合、
+そのファイルはコピーされず、診断メッセージが
+.Dv 標準エラー出力
+へ書き出され、
+.Nm pax
+は 0 以外の終了ステータスでプログラム終了します。
diff --git a/ja/man/man1/perl.1 b/ja/man/man1/perl.1
new file mode 100644
index 0000000000..60dcfca0fa
--- /dev/null
+++ b/ja/man/man1/perl.1
@@ -0,0 +1,5933 @@
+.rn '' }`
+.\" jpman %Id: perl.1,v 1.5 1997/10/11 07:57:22 horikawa Stab %
+''' %RCSfile: perl.1,v %%Revision: 1.3.2.1 %%Date: 1997/10/12 08:11:42 %
+'''
+''' %Log: perl.1,v %
+''' Revision 1.3.2.1 1997/10/12 08:11:42 jmg
+''' MFC: spelling fixes
+'''
+''' Revision 1.4 1997/08/30 12:22:46 jmg
+''' fix a few spelling changes
+'''
+''' Submitted by: Josh Gilliam
+'''
+''' Closes PR's: 4429, 4431-4438
+'''
+''' PS: He has agreed to submit all contrib fixes back to the original author.
+'''
+''' Revision 1.3 1996/10/05 22:26:23 wosch
+''' delete doubled words, e.g.: "the the" -> "the"
+'''
+''' Revision 1.2 1994/10/27 23:16:52 wollman
+''' Convince Perl to that is is part of the system, as /usr/bin/perl (binary)
+''' and /usr/share/perl (library). The latter was chosen as analogous to other
+''' directories already present in /usr/share, like /usr/share/groff_font and
+''' (particularly) /usr/share/mk.
+'''
+.\" Revision 1.1.1.1 1994/09/10 06:27:36 gclarkii
+.\" Initial import of Perl 4.046 bmaked
+.\"
+.\" Revision 1.1.1.1 1993/08/23 21:29:37 nate
+.\" PERL!
+.\"
+''' Revision 4.0.1.6 92/06/08 15:07:29 lwall
+''' patch20: documented that numbers may contain underline
+''' patch20: clarified that DATA may only be read from main script
+''' patch20: relaxed requirement for semicolon at the end of a block
+''' patch20: added ... as variant on ..
+''' patch20: documented need for 1; at the end of a required file
+''' patch20: extended bracket-style quotes to two-arg operators: s()() and tr()()
+''' patch20: paragraph mode now skips extra newlines automatically
+''' patch20: documented PERLLIB and PERLDB
+''' patch20: documented limit on size of regexp
+'''
+''' Revision 4.0.1.5 91/11/11 16:42:00 lwall
+''' patch19: added little-endian pack/unpack options
+'''
+''' Revision 4.0.1.4 91/11/05 18:11:05 lwall
+''' patch11: added sort {} LIST
+''' patch11: added eval {}
+''' patch11: documented meaning of scalar(%foo)
+''' patch11: sprintf() now supports any length of s field
+'''
+''' Revision 4.0.1.3 91/06/10 01:26:02 lwall
+''' patch10: documented some newer features in addenda
+'''
+''' Revision 4.0.1.2 91/06/07 11:41:23 lwall
+''' patch4: added global modifier for pattern matches
+''' patch4: default top-of-form format is now FILEHANDLE_TOP
+''' patch4: added $^P variable to control calling of perldb routines
+''' patch4: added $^F variable to specify maximum system fd, default 2
+''' patch4: changed old $^P to $^X
+'''
+''' Revision 4.0.1.1 91/04/11 17:50:44 lwall
+''' patch1: fixed some typos
+'''
+''' Revision 4.0 91/03/20 01:38:08 lwall
+''' 4.0 baseline.
+'''
+'''
+.de Sh
+.br
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+'''
+''' Set up \*(-- to give an unbreakable dash;
+''' string Tr holds user defined translation string.
+''' Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+.ds L' '
+.ds R' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds L' `
+.ds R' '
+'br\}
+.TH PERL 1 "\*(RP"
+.UC
+.SH 名称
+perl \- 実用的抽出とレポートのための言語
+.SH 書式
+.B perl
+[options] filename args
+.SH 解説
+.I perl
+は、任意のテキストファイルを走査し、そこから情報を取り出し、情報に基づ
+いたレポートを出力するために最適化されたインタプリタ言語です。
+また、多くのシステム管理作業に適した言語でもあります。
+.I perl
+は美しい (小さい、エレガント、最小) というよりは、むしろ実用的
+(使いやすい、効率的、完全) であることをめざしています。
+.I perl
+は、C, \fIsed\fR, \fIawk\fR, and \fIsh\fR, の最も良いところを
+組み合わせてある (作者の意向としては、でありますが) ので、これらの言語に
+なじみのある人には、容易に使えるでしょう。
+(言語歴史学者なら、\fIcsh\fR, Pascal, そして BASIC-PLUS の痕跡にさえも
+気がつくでしょう。)
+式の書式は、C のものに極めて似ています。
+他の多くの UNIX ユーティリティと異なり、
+.I perl
+は、データのサイズを勝手に制限するようなことはなく (メモリのある限りです)、
+ファイル全体を一つの文字列として読み込んでしまえます。
+再帰の深さには制限がありません。連想配列で使われるハッシュテーブルは、
+パフォーマンスの低下を防ぐため、必要に応じて大きくなります。
+.I perl
+は、大量のデータを非常に迅速に走査する洗練されたパターンマッチ
+テクニックを使います。
+テキスト走査に最適化されてはいますが、
+.I perl
+はバイナリデータも扱うこともできて、(dbm が使えるなら) 連想配列に似た
+dbm ファイルを作れます。
+setuid
+.I perl
+スクリプトは、多くの馬鹿らしいセキュリティホールを防ぐデータフロー追跡
+機構により、C のプログラムより安全です。
+普通なら \fIsed\fR, \fIawk\fR, \fIsh\fR を使うような問題で、その能力を
+越えていたり、もう少し速く走らせなければならなかったり、
+くだらないことを C で書きたくないような場合に
+.I perl
+がぴったりです。
+既存の
+.I sed
+や
+.I awk
+スクリプトを
+.I perl
+スクリプトにする変換プログラムもあります。
+さあ、宣伝はこれで十分でしょう。
+.PP
+まず始めに、
+.I perl
+次の場所からスクリプトを探します。
+.Ip 1. 4 2
+コマンドライン上の
+.B \-e
+スイッチで指定された行。
+.Ip 2. 4 2
+コマンドライン上で、最初に指定されたファイルの内容。
+(#! の表記をサポートするシステムは、インタプリタをこうして起動します)
+.Ip 3. 4 2
+標準入力から暗黙のうちに読み込まれます。これは、ファイル名の指定が一つ
+もない場合にだけ働きます。\*(--
+.I 標準入力
+スクリプトに引数を渡すには、スクリプト名として明示的に \- を
+指定しなければなりません。
+.PP
+スクリプトを見つけると、
+.I perl
+は内部形式にコンパイルし、スクリプトが文法的に正しければ
+それを実行します。
+.Sh "オプション"
+注意: 最初にこのセクションを読んでも意味がわからないかもしれません。
+簡単なリファレンスとして前半部分になっています。
+.PP
+一文字オプションは、次に続くオプションとくっつけてもかまいません。
+#! 構造を使うスクリプトを起動する際には一つの引数しか許されないの
+で、特に便利です。
+例:
+.nf
+
+.ne 2
+ #!/usr/bin/perl \-spi.bak # \-s \-p \-i.bak と同じ
+ .\|.\|.
+
+.fi
+以下のオプションがあります:
+.TP 5
+.BI \-0 数字
+レコードセパレータ ($/) を 8 進数で指定します。
+数字がないと、ヌルキャラクタがセパレータになります。
+他のコマンドラインスイッチは、前に置くか、もしくは数字の後に続けます。
+例えば、ヌル文字を終端としたファイル名を表示可能なバージョンの
+.I find
+なら、このように書けます。
+.nf
+
+ find . \-name '*.bak' \-print0 | perl \-n0e unlink
+
+.fi
+00 は特殊な値で、
+.I perl
+はファイルをパラグラフモードで読み込みます。
+0777 という値を使うと、この値の文字はないので、ファイル全体を
+読み込みます。
+.TP 5
+.B \-a
+.B \-n
+や
+.BR \-p
+オプションと一緒に用いて、オートスプリットモードを ON にします。
+.B \-n
+や
+.BR \-p
+オプションで自動的に生成される while ループの内側の
+最初のところで、@F 配列に対して暗黙の split コマンドが行なわれます。
+.nf
+
+ perl \-ane \'print pop(@F), "\en";\'
+
+は、次の例と同等になります。
+
+ while (<>) {
+ @F = split(\' \');
+ print pop(@F), "\en";
+ }
+
+.fi
+.TP 5
+.B \-c
+.I perl
+スクリプトの文法をチェックし、実行せずに終了します。
+.TP 5
+.BI \-d
+perl デバッガのもとでスクリプトを実行します。
+デバッグのセクションを参照して下さい。
+.TP 5
+.BI \-D 数字
+デバッグフラッグをセットします。
+スクリプトがどのように実行されるかを見るには、
+.BR \-D14
+を使います。
+(これはデバッグ機能を
+.IR perl
+に組み込んでコンパイルした時にのみ動作します。)
+\-D1024 も有用な値で、コンパイルされた文法ツリーをリストします。
+\-D512 を使うと、コンパイルされた正規表現を出力します。
+.TP 5
+.BI \-e " コマンドライン"
+一行スクリプトを入力する場合に使えます。
+複数行スクリプトを組み立てるには、複数の
+.B \-e
+コマンドを指定すればできます。
+.B \-e
+が与えられると、
+.I perl
+は引数のリストの中からスクリプトファイル名を探しません。
+.TP 5
+.BI \-i 拡張子
+<> 構造で処理されるファイルをその場で修正することを指定します。
+入力ファイルをリネームし、出力ファイルを元の名前でオープンし、出力ファイルを
+print 文のデフォルト出力にすることで処理されます。
+拡張子が与えられれば、バックアップファイルの名前として元のファイル名に
+その拡張子を加えたものが使われます。
+拡張子が与えられなければ、バックアップファイルは作成されません。
+\*(L"perl \-p \-i.bak \-e "s/foo/bar/;" .\|.\|. \*(R" を実行することは、
+次のスクリプトと同じです。
+.nf
+
+.ne 2
+ #!/usr/bin/perl \-pi.bak
+ s/foo/bar/;
+
+これは以下のものとも同等になります。
+
+.ne 14
+ #!/usr/bin/perl
+ while (<>) {
+ if ($ARGV ne $oldargv) {
+ rename($ARGV, $ARGV . \'.bak\');
+ open(ARGVOUT, ">$ARGV");
+ select(ARGVOUT);
+ $oldargv = $ARGV;
+ }
+ s/foo/bar/;
+ }
+ continue {
+ print; # 元の名前のファイルに出力する
+ }
+ select(STDOUT);
+
+.fi
+ただし、
+.B \-i
+を用いた方法では、ファイル名が変更された時刻を知るために $ARGV と $oldargv を
+比較する必要がないという点が異なります。
+実際にはファイルハンドルとして ARGVOUT がセレクトされて使われます。
+.I STDOUT
+がデフォルト出力のファイルハンドルとして保存され、
+ループのあとで戻されることに注意して下さい。
+.Sp
+入力ファイルすべてに追加を行なう場合や、行番号をリセットしたりする場合、
+各入力ファイルの終わりを知るために `eof' を使うことができます。
+(eof の例を参照して下さい)
+.TP 5
+.BI \-I ディレクトリ
+.B \-P
+と一緒に用いて C プリプロセッサにインクルードファイルの位置を
+知らせます。デフォルトでは、/usr/include と /usr/lib/perl を検索します。
+.TP 5
+.BI \-l 8進数
+行末処理を自動的に行ないます。これには二つの効果があります。
+まず、
+.B \-n
+や
+.B \-p
+と共に使われることで、行ターミネータを自動的に除きます。
+二つ目は、$\e が、
+.I 8進数
+をセットし、print 文がすべて最後に行末文字をつけるということです。
+.I 8進数
+が省略された場合は、$\e に $/ の現在の値をセットします。
+例えば、行を 80 コラムに切り揃えるためには:
+.nf
+
+ perl -lpe \'substr($_, 80) = ""\'
+
+.fi
+$\e = $/ という代入はコマンドラインスイッチが処理される時に
+行なわれるので、
+.B \-l
+スイッチに
+.B \-0
+が続くときは、入力レコードセパレータと出力レコードセパレータが
+異なることもあり得るということに注意して下さい。
+.nf
+
+ gnufind / -print0 | perl -ln0e 'print "found $_" if -p'
+
+.fi
+これは、$\e に改行をセットし、$/ にはヌル文字をセットします。
+.TP 5
+.B \-n
+スクリプトの前後に下に示すループがあるものとして
+.I perl
+を起動します。こうすると、引数のファイル全部について
+\*(L"sed \-n\*(R" または \fIawk\fR と同じような繰り返しが行なわれます:
+.nf
+
+.ne 3
+ while (<>) {
+ .\|.\|. # ここにスクリプトが来ます
+ }
+
+.fi
+デフォルトで入力行の出力はされないことに注意して下さい。
+出力したければ
+.B \-p
+を参照して下さい。
+以下は、1 週間より古いファイルすべてを削除する効率的な方法です。
+.nf
+
+ find . \-mtime +7 \-print | perl \-nle \'unlink;\'
+
+.fi
+この場合、ファイルが見つかるたびにプロセスを開始する必要がないので、
+find の \-exec スイッチを使うより速くなります。
+.TP 5
+.B \-p
+スクリプトの前後に下に示すループがあるものとして
+.I perl
+を起動します。こうすると、引数のファイル全部について
+\fIsed\fR と同じような繰り返しが行なわれます:
+.nf
+
+.ne 5
+ while (<>) {
+ .\|.\|. # ここにスクリプトが来ます
+ } continue {
+ print;
+ }
+
+.fi
+入力行は自動的に出力されることに注意して下さい。
+出力を抑制したければ、
+.B \-n
+スイッチを使って下さい。
+.B \-p
+は、
+.B \-n
+スイッチに優先します。
+.TP 5
+.B \-P
+.IR perl
+によるコンパイルの前に C プリプロセッサを通します。
+(perl のコメントも cpp の命令も # の文字で始まるので、
+コメントを C プリプロセッサが理解する単語、例えば
+\*(L"if\*(R" や \*(L"else\*(R" や \*(L"define\*(R" で始めてはなりません。)
+.TP 5
+.B \-s
+コマンドライン上で、スクリプト名とファイル名の引数
+(または \-\|\-) の間にある各スイッチについて基本的な解析を行ないます。
+スイッチが見つかると、@ARGV から除かれ、対応する変数を
+.I perl
+スクリプト内でセットします。
+以下のスクリプトでは、\-xyz スイッチをつけてスクリプトを起動したとき
+だけ、\*(L"true\*(R" を出力します。
+.nf
+
+.ne 2
+ #!/usr/bin/perl \-s
+ if ($xyz) { print "true\en"; }
+
+.fi
+.TP 5
+.B \-S
+スクリプトを探すのに、環境変数 PATH を用います
+(スクリプト名が / で始まらないかぎり) 。
+通常は、#! をサポートしないマシンにおいて #! を
+エミュレートするために用いられます。
+次のような使い方です:
+.nf
+
+ #!/usr/bin/perl
+ eval "exec /usr/bin/perl \-S $0 $*"
+ if $running_under_some_shell;
+
+.fi
+システムは 1 行目を無視し、スクリプトを /bin/sh に渡します。 /bin/sh は
+.I perl
+スクリプトをシェルスクリプトとして実行しようとします。シェルは 2 行目
+を通常のシェルコマンドとして実行し、perl インタプリタを起動する
+ことになります。
+システムによっては $0 は必ずしもフルパス名にならないので、
+.B \-S
+を用いて
+.I perl
+に必要ならばスクリプトを探すように指示します。
+.I perl
+がスクリプトを見つけたあと、解析を行ないますが、変数
+$running_under_some_shell が真になることはないので、2 行目を無視します。
+ファイル名などに含まれるスペースを正しく扱うには、$* よりも
+${1+"$@"} の方がよいでしょうが、csh が解釈する場合には動作しません。
+csh ではなく sh で起動するには、あるシステムでは #! 行を、perl で
+無視されるコロンのみに書き換える必要があるかもしれません。その他の
+システムではこの方法は使えず、次のように、csh, sh, perl のどの下で
+も動作するような、とてもまわりくどい方法をとる必要があります:
+.nf
+
+.ne 3
+ eval '(exit $?0)' && eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
+ & eval 'exec /usr/bin/perl -S $0 $argv:q'
+ if 0;
+
+.fi
+.TP 5
+.B \-u
+スクリプトのコンパイルの後、
+.I perl
+はコアダンプします。
+このコアダンプから、`undump' プログラム(提供していません)を用いて
+実行可能ファイルに変換できます。
+こうすると、ディスク消費が増えるかわりに (実行ファイルを strip すれば
+最小にできます)、スタートアップが速くなります。
+(しかし、私のマシンでは "hello world" の実行形式が約 200K の大きさ
+になります。)
+実行形式を set-id プログラムとして走らせるのなら、通常の perl ではなく
+多分 taintperl を用いてコンパイルすべきです。
+ダンプする前に実行したいスクリプトがある場合は、代わりに dump 演算子を
+使って下さい。
+注意 : undump が使えるかどうかはプラットフォームに依存するので、perl の
+移植によっては利用できないものもあるかもしれません。
+.TP 5
+.B \-U
+安全でない操作を可能にします。
+現在の所、\*(L"安全でない\*(R" 操作とは、スーパユーザ権限での
+実行時にディレクトリを unlink すること、および汚れチェックで
+警告が出るような setuid プログラムを走らせることだけです。
+.TP 5
+.B \-v
+.I perl
+のバージョンとパッチレベルを出力します。
+.TP 5
+.B \-w
+一度だけ出てくる識別子、セットする前に使用されるスカラ変数に対して、
+警告を出します。
+サブルーチンが再定義されたとき、定義されていないファイルハンドルの参照
+があるとき、リードオンリーでオープンしたファイルハンドルへ書き込もうと
+したときにも警告を出します。数値ではなさそうな値に == を使ったときや、
+サブルーチンが 100 回以上再帰したときにも警告を出します。
+.TP 5
+.BI \-x ディレクトリ
+スクリプトがメッセージに埋め込まれていることを
+.I perl
+に知らせます。#! で始まり、"perl" という文字列を含む最初の行が現れる
+までは、ゴミとして無視されます。
+その行に指定した意味のあるスイッチはすべて適用されます
+(ただし通常の #! 処理と同じく、スイッチのかたまり一つだけです)。
+ディレクトリ名を指定すると、perl はスクリプトを実行する前にその
+ディレクトリに移ります。
+.B \-x
+スイッチは、先頭のゴミを捨てるだけです。
+スクリプトの後にゴミがある場合は、スクリプトは _\|_END_\|_
+で終わらせなければなりません (望むなら、スクリプトで後ろのゴミの一部
+または全部をファイルハンドル DATA 経由で処理することが可能です) 。
+.Sh "データの型とオブジェクト"
+.PP
+.I perl
+には 3 種類のデータ型が有ります: スカラ、スカラ配列、
+および連想配列です。
+通常の配列は添え字が数字ですが、連想配列の場合は文字列です。
+.PP
+perl における演算や値の解釈は、演算や値のコンテキスト(文脈)からの要求
+にしばしば依存します。
+主なコンテキストは三つ: すなわち文字列、数値、配列です。
+演算の中には、配列を要求するコンテキストでは配列を、そうでなければ
+スカラ値を返すものもあります。
+(そのような演算子についてはドキュメント内のその演算子のところに
+記載されています。)
+スカラ値を返す演算子は、コンテキストが文字列あるいは
+数値のどちらを要求しているかは考慮しませんが、スカラ変数および
+スカラ値は文字列あるいは数値のコンテキストの適切な方に解釈されます。
+スカラはそれがヌル文字列あるいは 0 でなければ論理的に真であると
+解釈されます。
+演算子が返す論理値は、真の場合は 1、偽の場合は 0 または \'\'
+(ヌル文字列)です。
+.PP
+実際には、ヌル文字には二種類あります。define と undefined です。
+undefined のヌル文字列は、エラー、ファイル終端、初期化されていない変数や
+配列要素を参照しようとしたときなど、実際の値が存在しない場合に返ります。
+undefined のヌル文字列は、最初にそれにアクセスしたときに defined となる
+ことがありますが、その前に defined() 演算子を用いて値が defined かどう
+かを知ることができます。
+.PP
+スカラ変数への参照は、それが配列の一部であっても、常に \*(L'$\*(R'
+で始めます。
+つまりこうです:
+.nf
+
+.ne 3
+ $days \h'|2i'# 単純なスカラ変数
+ $days[28] \h'|2i'# 配列 @days の 29 番目の要素
+ $days{\'Feb\'}\h'|2i'# 連想配列の値の一つ
+ $#days \h'|2i'# 配列 @days の最後の添え字
+
+しかし、配列全部や一部の取り出しは \*(L'@\*(R' で始めます:
+
+ @days \h'|2i'# ($days[0], $days[1],\|.\|.\|. $days[n])
+ @days[3,4,5]\h'|2i'# @days[3.\|.5] と同じ
+ @days{'a','c'}\h'|2i'# ($days{'a'},$days{'c'}) と同じ
+
+そして、連想配列全部を扱うには \*(L'%\*(R' で始めます:
+
+ %days \h'|2i'# (key1, val1, key2, val2 .\|.\|.)
+.fi
+.PP
+これら 8 つはすべて左辺値として扱うことができます。すなわち、代入可能
+ということです。
+(さらに、あるコンテキストでは代入操作自体も左辺値となり得ます。
+\*(-- s, tr, chop のところの例を参照して下さい。)
+スカラへの代入を行なうと、右辺をスカラのコンテキストで評価するのに
+対し、配列や配列の一部への代入は右辺を配列のコンテキストで評価します。
+.PP
+配列 @days の長さを
+.IR csh
+のように
+\*(L"$#days\*(R" で評価してもかまいません。
+(実際には、通常 0 番目の要素があるので、配列の長さではなく、最後の要素
+の添え字になります。)
+$#days に代入すると、配列の長さが変わります。
+この方法によって配列を小さくしても、実際には値は破壊されません。
+すでに小さくした配列を大きくすると、もともとあった要素が元に戻ります。
+大きくなりそうな配列をあらかじめ大きくしておくと、
+効率をいくらか良くすることもできます。
+(配列を大きくするには、配列の最後を超える要素に代
+入を行なう方法もあります。この方法と、$#whatever へ代入する方法との
+違いは、間の要素にヌルがセットされることです)
+配列を縮めて空にするには、ヌルリスト () を代入すればできます。
+次の二つは全く同等となります。
+.nf
+
+ @whatever = ();
+ $#whatever = $[ \- 1;
+
+.fi
+.PP
+配列をスカラのコンテキストで評価すると、配列の長さが返ります。
+次の式は常に真となります:
+.nf
+
+ scalar(@whatever) == $#whatever \- $[ + 1;
+
+.fi
+連想配列をスカラのコンテキストで評価すると、配列が要素を含む場合
+かつその場合に限り真の値を返します。
+(要素がある場合に返る値は、使用している bucket の数およびアロケートさ
+れている bucket の数から成る文字列で、/ で区切られます。)
+.PP
+多次元配列は直接はサポートされていませんが、連想配列を用いて複数の
+添え字をエミュレートする方法については、$; 変数の項を参照して下さい。
+多次元の添え字を 1 次元の添え字に変換するサブルーチンを書くことも
+できます。
+.PP
+各々のデータ型に応じて、それぞれの名前空間があります。衝突を心配する
+ことなく、同じ名前をスカラ変数、配列、連想配列、ファイルハンドル、
+サブルーチン名、またはラベルにつけることができます。
+変数や配列への参照は常に \*(L'$\*(R', \*(L'@\*(R', \*(L'%\*(R'
+で始まるので、\*(L"予約\*(R" 語は変数名については実際には
+使用可能です。
+(しかし、ラベルやファイルハンドルについては予約語は使用できません。
+特殊な文字で始まらないからです。
+.br
+ヒント: open(log,\'logfile\') より open(LOG,\'logfile\') を使った方が
+良いです。大文字のファイルハンドル名を使うと、読み易さも向上し、
+将来の予約語になるものとの衝突も避けることができるからです。)
+大文字小文字の区別は重要です
+\*(--\*(L"FOO\*(R", \*(L"Foo\*(R", \*(L"foo\*(R" はすべて異なる
+名前です。アルファベットで始まる名前は数字や下線を含んでもかまいません。
+アルファベットで始まらない名前は 1 文字に限られます。
+例えば、\*(L"$%\*(R" や \*(L"$$\*(R" です。
+(ほとんどの一文字名は
+.IR perl
+の予約変数として意味があります。
+詳細は後ほど述べます。)
+.PP
+数値文字列は通常の浮動小数点や整数の形式で指定します。
+.nf
+
+.ne 6
+ 12345
+ 12345.67
+ .23E-10
+ 0xffff # 16 進
+ 0377 # 8 進
+ 4_294_967_296
+
+.fi
+文字列はシングルクォートまたはダブルクォートで区切られます。
+動作はシェルにおけるクォートとよく似ています。
+ダブルクォートで囲まれた文字列にはバックスラッシュや変数の置換が
+行なわれます。シングルクォートで囲まれた文字列には行なわれません
+(\e\' と \e\e を除きます)。
+通常のバックスラッシュ規則が改行やタブなどの文字を表すのに使え、
+更に以下のちょっと変わった形式も使えます:
+.nf
+
+ \et タブ
+ \en 改行
+ \er リターン
+ \ef フォームフィード
+ \eb バックスペース
+ \ea アラーム (ベル)
+ \ee エスケープ
+ \e033 8進文字
+ \ex1b 16進文字
+ \ec[ コントロール文字
+ \el 次の文字を小文字にします
+ \eu 次の文字を大文字にします
+ \eL \eE までを小文字にします
+ \eU \eE までを大文字にします
+ \eE 大小文字の修飾の終り
+
+.fi
+改行を直接文字列に書き入れることもできます。すなわち、文字列は始まった
+行と異なる行で終わることができることになります。これは便利ですが、
+最後にクォートを忘れると、クォートを含むかなり離れた別の行を見つけるまで
+.I perl
+はエラーを報告しないでしょう。
+文字列内の変数置換はスカラ変数、通常の配列、配列の一部に限られます。
+(言い換えると、$ や @ で始まる識別子と、それに括弧で囲まれた添え字が
+ある場合だけです。)
+次のコードは \*(L"The price is $100.\*(R" を出力します。
+.nf
+
+.ne 2
+ $Price = \'$100\';\h'|3.5i'# 解釈されません
+ print "The price is $Price.\e\|n";\h'|3.5i'# 解釈されます
+
+.fi
+後に続くアルファベットや数字と区別するために、識別子を {} で囲う
+ことができることを覚えておいて下さい。
+また、シングルクォートは識別子として有効な文字であるため、
+シングルクォートで囲まれた文字列は、前の単語とは空白で区切られて
+いなければならないことも覚えておきましょう
+(パッケージの項を参照して下さい) 。
+.PP
+プログラムのその時点での行番号とファイル名を表す
+_\|_LINE_\|_ と _\|_FILE_\|_ という二つの特殊な文字があります。
+これらは独立したトークンとしてのみ使用でき、文字列中に
+書き入れることはできません。
+さらにトークン _\|_END_\|_ は、実際のファイルが終了する前で、スクリプト
+の論理的な終了を示すために使えます。残りのテキストはすべて無視されますが、
+ファイルハンドル DATA から読むことができます。
+(ファイルハンドル DATA は、メインスクリプトからのみデータを
+読み込めますが、require されたファイルや評価された文字列からは
+読み込めません。)
+^D と ^Z の二つのコントロールキャラクタは _\|_END_\|_ と同義になります。
+.PP
+文法的に解釈不可能な単語は、それがシングルクォートで囲まれている
+かのように扱われます。このため、アルファベット、数字、下線のみからなり、
+単語はアルファベットで始まらなければなりません。
+ファイルハンドルやラベルと同じく、小文字のみからなる裸の単語は、
+将来の予約語と衝突する危険があります。
+.B \-w
+スイッチを使えば、perl はそのような単語について警告してくれます。
+.PP
+配列値をダブルクォートで囲まれた文字列に入れた場合は、配列の全要素を
+$" 変数で指定される区切り (デフォルトは空白) で連結して一つにした
+文字列になります。
+(3.0 以前のバージョンの perl では、@ はダブルクォートで囲まれた文字列
+の中のメタキャラクタではなかったので、@array, $array[EXPR],
+@array[LIST], $array{EXPR}, @array{LIST} の文字列への挿入は、
+配列がプログラムのどこかで参照されている場合、もしくは予約されている
+場合にのみ起こります。)
+次の二つは同等になります。
+.nf
+
+.ne 4
+ $temp = join($",@ARGV);
+ system "echo $temp";
+
+ system "echo @ARGV";
+
+.fi
+検索パターン (これにもダブルクォートと同じ置換が行なわれます) に
+おいては、あいまいな場合があります。 /$foo[bar]/ は /${foo}[bar]/
+([bar]は正規表現の文字クラス) でしょうか、
+それとも /${foo[bar]}/ ([bar]は配列 @foo の添字) なのでしょうか 。
+@foo が存在しないなら、それは明らかに文字クラスです。
+@foo が存在するなら、perl は [bar]について考え、大抵の場合正しい類推を
+します。それが間違っていたり、あなたが単に偏執狂なら、
+上記のように中括弧 {} を入れることで、正しい解釈をさせることができます。
+.PP
+行指向の引用法はシェルと同様の文法に基づいています。
+<< の後に引用文の終わりを示す文字列を指定すると、現在行からその文字列
+が現れるまでの行すべてがその値になります。終わりを示す文字列は識別子
+(単語) でも、クォートされたテキストでもかまいません。
+クォートされているテキストの場合、通常クォートで囲む場合と同じく
+クォートの種類がテキストの扱い方を決めます。クォートされていない識別子
+はダブルクォートされている場合と同じ動作となります。
+(スペースを入れた場合、それは有効なヌル識別子として扱われ、
+最初の空行にマッチします。 \*(--下の Merry Christmas の例を見て下さい。)
+終わりを示す文字列はそれだけで (クォートされず、空白を前後につけずに)
+書かれていなければなりません。
+.nf
+
+ print <<EOF; # 前の例と同じです
+The price is $Price.
+EOF
+
+ print <<"EOF"; # 上の例と同じです
+The price is $Price.
+EOF
+
+ print << x 10; # ヌル識別子が終わりを示します
+Merry Christmas!
+
+ print <<`EOC`; # コマンドを実行します
+echo hi there
+echo lo there
+EOC
+
+ print <<foo, <<bar; # スタックに積むことができます
+I said foo.
+foo
+I said bar.
+bar
+
+.fi
+配列のリテラルは、個々の値をコンマで区切り、リストを括弧で囲みます:
+.nf
+
+ (LIST)
+
+.fi
+配列値を要求しないコンテキストでは、C のコンマ演算子と同じく、最後の要
+素の値が配列の値となります。例えば、
+.nf
+
+.ne 4
+ @foo = (\'cc\', \'\-E\', $bar);
+
+は配列 foo に全配列値を代入しますが、
+
+ $foo = (\'cc\', \'\-E\', $bar);
+
+.fi
+は変数 bar の値を変数 foo に代入します。
+変数として実際に存在する配列のスカラのコンテキストとしての値は、
+配列の長さになることに注意して下さい。
+次の例では $foo に 3 を代入します:
+.nf
+
+.ne 2
+ @foo = (\'cc\', \'\-E\', $bar);
+ $foo = @foo; # $foo は 3 になります
+
+.fi
+配列リテラルの括弧を閉じる前に余分なコンマがあっても大丈夫で、
+以下のように書けます:
+.nf
+
+ @foo = (
+ 1,
+ 2,
+ 3,
+ );
+
+.fi
+リストが評価されるとき、リストの要素はすべて配列のコンテキストとして
+評価され、結果として得られる配列値に、個々の要素がリストのメンバで
+あったかのようにリストに挿入されます。
+たとえば、@foo のすべての要素、@bar のすべての要素、サブルーチン
+SomeSub が返すすべての要素を含むリスト\*(--以下
+
+ (@foo,@bar,&SomeSub)
+
+の中では、配列の識別ができなくなります。
+.PP
+リストの値は通常の配列と同様に添え字をつけて使えます。
+例:
+.nf
+
+ $time = (stat($file))[8]; # stat は配列値を返します
+ $digit = ('a','b','c','d','e','f')[$digit-10];
+ return (pop(@foo),pop(@foo))[0];
+
+.fi
+.PP
+配列のリストは、そのすべての要素が左辺値であるときに限り代入可能です:
+.nf
+
+ ($a, $b, $c) = (1, 2, 3);
+
+ ($map{\'red\'}, $map{\'blue\'}, $map{\'green\'}) = (0x00f, 0x0f0, 0xf00);
+
+最後の要素は配列や連想配列であってもかまいません:
+
+ ($a, $b, @rest) = split;
+ local($a, $b, %rest) = @_;
+
+.fi
+実際には、リストのどこに配列を入れてもいいのですが、リスト中の最初の
+配列がすべての値を埋めてしまうので、その後の要素はヌルの値になります。
+これは local() において便利かもしれません。
+.PP
+連想配列のリテラルは、キーと値として解釈される値の組を含んでいます:
+.nf
+
+.ne 2
+ # 上記 map への代入と同じ
+ %map = ('red',0x00f,'blue',0x0f0,'green',0xf00);
+
+.fi
+スカラのコンテキストへの配列の代入は、代入の右辺の式により生成される
+要素の数を返します:
+.nf
+
+ $x = (($foo,$bar) = (3,2,1)); # $x に 2 でなく 3 をセット
+
+.fi
+.PP
+知っておかなければならない幾つかの疑似リテラルがあります。
+文字列を `` (低アクセント) で囲んだ場合、ちょうどダブルクォートと
+同じ変数置換が行なわれます。次にシェルの中のように、コマンドであると
+解釈され、そのコマンドの出力がこの擬似リテラルの値となります。
+スカラのコンテキストでは、全出力から成る一つの文字列が返されます。
+配列のコンテキストでは、出力の各行がそれぞれ一つの要素となった配列値
+が返されます。
+(行ターミネータを変えたい場合には、$/ をセットできます。)
+コマンドは擬似リテラルが評価されるたびに実行されます。コマンドの戻り値
+は、$? に返されます
+($? の解釈については予約変数のセクションを参照して下さい) 。
+\f2csh\f1 の場合と異なり、返されるデータに置換は行なわれません
+\*(-- 改行は改行として残ります。
+どのシェルとも違って、シングルクォートで囲んでもコマンド内の変数名は解
+釈されてしまいます。
+$ をシェルに渡すには、バックスラッシュが必要です。
+.PP
+カギ括弧 <> に囲まれたファイルハンドルを評価すると、そのファイルから次の
+行を読み込みます (改行が含まれるため EOF までは決して偽に成りません。
+EOF では undefined 値が返ります) 。
+通常はその値を変数に代入する必要がありますが、一つだけ
+自動的に代入が起こる状況があります。入力シンボルだけが while ループの
+条件文の中にある場合は(そしてこの場合にかぎり)、値は変数
+\*(L"$_\*(R" に自動的に代入されます。
+(奇妙に思うかもしれませんが、ほとんどの
+.I perl
+スクリプトにおいて、この構文を使うことになるでしょう。)
+とにかく、次の例はすべて同等となります。
+.nf
+
+.ne 5
+ while ($_ = <STDIN>) { print; }
+ while (<STDIN>) { print; }
+ for (\|;\|<STDIN>;\|) { print; }
+ print while $_ = <STDIN>;
+ print while <STDIN>;
+
+.fi
+ファイルハンドル
+.IR STDIN ,
+.IR STDOUT ,
+.I STDERR
+は予約されています。
+(ファイルハンドル
+.IR stdin ,
+.IR stdout ,
+.I stderr
+でも動作しますが、パッケージの中ではグローバルではなくローカルな識別子
+として解釈されるので、働きません。)
+これ以外のファイルハンドルは、
+.I open
+関数で作成できます。
+.PP
+配列を探すコンテキストの中で <FILEHANDLE> が使われると、すべての入力行
+の一行が一要素である配列が返ります。この方法で*巨大*なデータ空間が簡単
+に作られるので、注意して使って下さい。
+.PP
+ヌルファイルハンドル <> は特殊で、\fIsed\fR や \fIawk\fR の動作を
+エミュレートするために使えます。
+<> からの入力には、標準入力やコマンドラインに並べられた全ファイルが
+入ります。動作の仕方はこうなります。 <> の最初の評価では、ARGV 配列が
+チェックされ、それがヌルであると、$ARGV[0] は標準入力をオープンする \'-\'
+にセットされます。
+次に ARGV 配列がファイル名のリストとして処理されます。
+次のループは、
+.nf
+
+.ne 3
+ while (<>) {
+ .\|.\|. # 各行に対するコード
+ }
+
+.ne 10
+以下の疑似コードと同等になります。
+
+ unshift(@ARGV, \'\-\') \|if \|$#ARGV < $[;
+ while ($ARGV = shift) {
+ open(ARGV, $ARGV);
+ while (<ARGV>) {
+ .\|.\|. # 各行に対するコード
+ }
+ }
+
+.fi
+前者は、書くのが面倒でないというだけで、同じように動作します。
+実際には、前者でも 配列 ARGV を shift し、現在のファイル名を変数 ARGV
+に代入します。
+内部では、ファイルハンドル ARGV を使います \*(--<> は、魔術的な <ARGV>
+とまったく同義です。
+(上の疑似コードでは、<ARGV> を魔術的でないものとして扱うので、
+動きません)
+.PP
+ファイル名のリストの配列が残っている限り、最初の <> の前に @ARGV を
+変更することができます。
+行番号 ($.) は入力が一つの大きなファイルであるかのように増えていきます。
+(ファイル毎に行番号をリセットする方法については eof の例を参照して
+下さい。)
+.PP
+.ne 5
+@ARGV に自分でファイルのリストをセットしたい場合は、そうして下さい。
+スクリプトにスイッチを渡したい場合、スクリプトの前の方に次のような
+ループを置くことでできます:
+.nf
+
+.ne 10
+ while ($_ = $ARGV[0], /\|^\-/\|) {
+ shift;
+ last if /\|^\-\|\-$\|/\|;
+ /\|^\-D\|(.*\|)/ \|&& \|($debug = $1);
+ /\|^\-v\|/ \|&& \|$verbose++;
+ .\|.\|. # 他のスイッチ
+ }
+ while (<>) {
+ .\|.\|. # 各行に対するコード
+ }
+
+.fi
+<> シンボルは一回だけ*偽*を返します。
+その後、もう一度呼ぶと、別の @ARGV リストを処理しているとみなして、
+@ARGV がセットされていない場合は
+.IR STDIN
+から入力されることになります。
+.PP
+カギ括弧の中の文字列がスカラ変数への参照であるとき (例えば <$foo>) 、
+その変数の内容が読み込むべきファイルハンドル名となります。
+.PP
+カギ括弧の中の文字列がファイルハンドルではないとき、検索 (glob) される
+ファイルパターンと解釈され、コンテキストによってファイル名の配列
+またはリストの中の次のファイルが返されます。
+最初に $ の解釈の一レベルが行なわれますが、<$foo> は前の段落で
+説明されたような間接ファイルハンドルとなるため使えません。
+強制的にファイル名検索と解釈させさければ <${foo}> のように
+中括弧 {} を挿入できます。
+例:
+.nf
+
+.ne 3
+ while (<*.c>) {
+ chmod 0644, $_;
+ }
+
+は以下と等価です。
+
+.ne 5
+ open(foo, "echo *.c | tr \-s \' \et\er\ef\' \'\e\e012\e\e012\e\e012\e\e012\'|");
+ while (<foo>) {
+ chop;
+ chmod 0644, $_;
+ }
+
+.fi
+実際、現在のところこのように実装されてます。
+(これは、マシン上に /bin/csh がなければ、空白を含むファイル名では
+動かないことを意味します。)
+もちろん、上の操作を行なう一番短い方法は、
+.nf
+
+ chmod 0644, <*.c>;
+
+.fi
+です。
+.Sh "文法"
+.PP
+.I perl
+スクリプトは、一連の宣言とコマンドからなります。
+.I perl
+の中で宣言されなければならないものは、レポートフォーマットと
+サブルーチンです。
+これらの宣言の詳しい説明は下のセクションを参照して下さい。
+初期化されていないユーザが作成したオブジェクトは、それが代入のように
+明示的に定義されるまでは、ヌルまたは 0 の値であるとみなされます。
+コマンド列が各入力行に対して実行される
+.I sed
+や
+.I awk
+スクリプトと違って、コマンド列は一度だけ実行されます。
+入力ファイル (または複数のファイル) の各行について繰り返しを行うには
+明示的にループを設けなければなりませんが、
+着目するファイル、行をよりよくコントロールすることができます。
+(実は、正しくありません \*(--
+.B \-n
+や
+.B \-p
+スイッチで、暗黙のループを行なうことができます。)
+.PP
+宣言は、コマンドを書くことができる場所ならどこにでも書くことができますが、
+コマンド実行の基本的な流れには影響を与えません \*(-- 宣言は、
+コンパイル時だけにしか影響を与えません。通常、すべての宣言は
+スクリプトの最初か最後のどちらかに置きます。
+.PP
+.I perl
+は、ほとんどの部分において自由形式言語です。
+(唯一の例外はフォーマット宣言で、理由は実に明白です。)
+コメントは、# 文字で指示され、行末までとなります。
+/* */ という C のコメントを使おうとすると、コンテキストにより
+除算またはパターンマッチと解釈されるので、そういうことはしないで下さい。
+.Sh "複合文"
+.IR perl
+では、複数のコマンド列を中括弧 {} で囲むことで、一つのコマンドとして
+扱うことになり、これをブロックと呼びます。
+.PP
+次のような複合コマンドは、フローコントロールに使われます:
+.nf
+
+.ne 4
+ if (EXPR) BLOCK
+ if (EXPR) BLOCK else BLOCK
+ if (EXPR) BLOCK elsif (EXPR) BLOCK .\|.\|. else BLOCK
+ LABEL while (EXPR) BLOCK
+ LABEL while (EXPR) BLOCK continue BLOCK
+ LABEL for (EXPR; EXPR; EXPR) BLOCK
+ LABEL foreach VAR (ARRAY) BLOCK
+ LABEL BLOCK continue BLOCK
+
+.fi
+C や Pascal と違って、これらは文ではなく*ブロック*として定義されているこ
+とに注意して下さい。
+これは、中括弧 {} が、\fI必要である\fR ことを意味します \*(-- 一つの
+文を置くことは許されません。
+中括弧 {} なしで書きたい場合は、別の方法があります。
+以下はすべて同等のことを行ないます:
+.nf
+
+.ne 5
+ if (!open(foo)) { die "Can't open $foo: $!"; }
+ die "Can't open $foo: $!" unless open(foo);
+ open(foo) || die "Can't open $foo: $!"; # foo でなければ終わり
+ open(foo) ? \'hi mom\' : die "Can't open $foo: $!";
+ # 最後のものは、ちょっとエキゾチック
+
+.fi
+.PP
+.I if
+文は単純です。
+*ブロック*は、常に中括弧 {} で囲まれるため、
+.I else
+が、どの
+.I if
+にかかるかという曖昧さは生じません。
+.I unless
+を
+.IR if
+の代わりに使うと、逆の意味となります。
+.PP
+.I while
+文は、式が真 (ヌル文字列または 0 でない) である限り、ブロックを
+実行し続けます。
+識別子とコロンからなるラベルをつけることもできます。
+ラベルはループ制御文
+.IR next ,
+.IR last ,
+.I redo
+(以下を参照)
+によって指し示すループの名前となります。
+.I continue
+ブロックがあると、条件文が再評価される前に必ず実行され、C における
+.I for
+ループの三番目の部分と同様となります。
+こうして、たとえ
+.I next
+文で継続された場合でもループ変数はインクリメントできることになります
+(C の \*(L"continue\*(R" 文と同じ) 。
+.PP
+.I while
+が
+.IR until
+に置き換えられると テストの意味は逆になりますが、条件判断は最初のループ
+の前に行なわれます。
+.PP
+.I if
+や
+.I while
+文では、\*(L"(EXPR)\*(R" をブロックに置き換えることができ、
+ブロックの最後のコマンドの値が真なら、条件判断は真となります。
+.PP
+.I for
+ループは、対応する
+.I while
+と全く同じように動作します:
+.nf
+
+.ne 12
+ for ($i = 1; $i < 10; $i++) {
+ .\|.\|.
+ }
+
+は、以下と同じになります。
+
+ $i = 1;
+ while ($i < 10) {
+ .\|.\|.
+ } continue {
+ $i++;
+ }
+.fi
+.PP
+foreach ループは、通常の配列値について、配列の各要素を変数 VAR に順に
+セットしながら繰り返します。
+その変数は、ループに対して暗黙のうちにローカルであり、それ以前の値はルー
+プを抜けると元の値に戻ります。
+\*(L"foreach\*(R" キーワードは、実は \*(L"for\*(R" キーワードと同じで、
+\*(L"foreach\*(R" を可読性のために、\*(L"for\*(R" を簡潔さのために
+使うことができます。
+VAR が省略されると、$_ が各値にセットされます。
+ARRAY が実際の配列 (配列を返す式ではなく) の場合、ループ内の VAR を変
+更することによって、配列の各要素を変更することができます。
+例:
+.nf
+
+.ne 5
+ for (@ary) { s/foo/bar/; }
+
+ foreach $elem (@elements) {
+ $elem *= 2;
+ }
+
+.ne 3
+ for ((10,9,8,7,6,5,4,3,2,1,\'BOOM\')) {
+ print $_, "\en"; sleep(1);
+ }
+
+ for (1..15) { print "Merry Christmas\en"; }
+
+.ne 3
+ foreach $item (split(/:[\e\e\en:]*/, $ENV{\'TERMCAP\'})) {
+ print "Item: $item\en";
+ }
+
+.fi
+.PP
+ブロックそれ自身 (ラベルが付いていても、付いていなくても) は、一度だけ
+実行されるループと等価です。
+だから、ブロックを抜けたり再実行するために、すべてのループ制御文を使う
+ことができます。
+.I continue
+ブロックも付けられます。
+この構成は、case 構造を作成するには特に有用です。
+.nf
+
+.ne 6
+ foo: {
+ if (/^abc/) { $abc = 1; last foo; }
+ if (/^def/) { $def = 1; last foo; }
+ if (/^xyz/) { $xyz = 1; last foo; }
+ $nothing = 1;
+ }
+
+.fi
+同等のものを記述する方法が、既にいくつもあるので、perl には公式の
+switch 文がありません。
+上記のものに加えて、
+.nf
+
+.ne 6
+ foo: {
+ $abc = 1, last foo if /^abc/;
+ $def = 1, last foo if /^def/;
+ $xyz = 1, last foo if /^xyz/;
+ $nothing = 1;
+ }
+
+または
+
+.ne 6
+ foo: {
+ /^abc/ && do { $abc = 1; last foo; };
+ /^def/ && do { $def = 1; last foo; };
+ /^xyz/ && do { $xyz = 1; last foo; };
+ $nothing = 1;
+ }
+
+または
+
+.ne 6
+ foo: {
+ /^abc/ && ($abc = 1, last foo);
+ /^def/ && ($def = 1, last foo);
+ /^xyz/ && ($xyz = 1, last foo);
+ $nothing = 1;
+ }
+
+さらに
+
+.ne 8
+ if (/^abc/)
+ { $abc = 1; }
+ elsif (/^def/)
+ { $def = 1; }
+ elsif (/^xyz/)
+ { $xyz = 1; }
+ else
+ {$nothing = 1;}
+
+.fi
+とも書けます。
+これらはすべて内部で switch 構造に最適化されるため、perl は直接目的の
+文にジャンプするので、同じ単純なスカラ変数を == や eq や上記のような
+パターンマッチで判定する限り、50 個の elsif を使っても perl がたくさん
+の不要な文を実行するのでは、という心配は不要となります。
+(ある特定の case ステートメントが最適化されているかどうかに興味があるなら、
+\-D1024 スイッチを付けて実行前に文法ツリーを表示することができます。)
+.Sh "単文"
+単文のみがその副作用を評価される式となります。
+どの単文もブロックの最後の文でない限り、セミコロンで終らなければ
+なりません。最後の文では、セミコロンはなくてもかまいません。
+(それでも、ブロックが一行以上を含んでいるのなら、
+セミコロンはあった方が望ましいです)
+.PP
+どの単文も、セミコロンで終る前に一つの修飾子を続けることができます。
+可能な修飾子は以下の通りです:
+.nf
+
+.ne 4
+ if EXPR
+ unless EXPR
+ while EXPR
+ until EXPR
+
+.fi
+.I if
+と
+.I unless
+修飾子は見かけ通りの意味があります。
+.I while
+と
+.I until
+修飾子も見かけ通りの意味 (条件文が始めに評価されます) ですが、
+do ブロックや do サブルーチンコマンドが付けられたときには異なり、
+条件式が評価される前に一度だけ実行されます。
+これは、以下のようなループが記述できるようにするためです:
+.nf
+
+.ne 4
+ do {
+ $_ = <STDIN>;
+ .\|.\|.
+ } until $_ \|eq \|".\|\e\|n";
+
+.fi
+(後述の
+.I do
+演算子を参照のこと。修飾子は、どれもループラベルを持てないため、
+後に書かれたループ制御コマンドはこの構造では動かないことに
+気をつけて下さい。あしからず。)
+.Sh "式"
+.I perl
+の式は、ほとんど C の式と同じに動作しますが、違いをここに述べます。
+.PP
+以下が
+.I perl
+にあって、C にないものです:
+.Ip ** 8 2
+指数演算子。
+.Ip **= 8
+指数代入演算子。
+.Ip (\|) 8 3
+配列をヌルに初期化するために使う、ヌルリスト。
+.Ip . 8
+2 つの文字列の結合演算子。
+.Ip .= 8
+結合代入演算子。
+.Ip eq 8
+文字列の同値性 (== は数値の同値性) 。
+覚えるためには、\*(L"eq\*(R" が文字列であると考えれば良いです。
+(状況に応じて、== が文字列と数値の両方の同値性を表す
+.I awk
+に慣れている人は、ここでは明示しなければならないことに気をつけて下さい !)
+.Ip ne 8
+文字列の非同値性 (!= は数値の非同値性) 。
+.Ip lt 8
+文字列の less than
+.Ip gt 8
+文字列の greater than
+.Ip le 8
+文字列の less than or equal
+.Ip ge 8
+文字列の greater than or equal
+.Ip cmp 8
+文字列の比較。 -1, 0, 1 を返します。
+.Ip <=> 8
+数値の比較。 -1, 0, 1 を返します。
+.Ip =~ 8 2
+演算には、検索、変更をデフォルトで文字列 \*(L"$_\*(R" に対して行うもの
+があります。
+この演算子を用いると、別の文字列に対してその演算が行われます。
+右の引数は、検索パターン、置換、変換です。
+左の引数は、デフォルトの \*(L"$_\*(R" の代わりに検索、置換、変換が
+行なわれる対象となるものです。
+戻り値は、演算の成否を示します。
+(右の引数が検索パターン、置換、変換以外の式なら、実行時に検索パターン
+として解釈されますが、パターンは式が評価される度にコンパイルされなけれ
+ばならないので、明示的な検索より効率的ではありません。)
+この演算子の優先度は単項マイナス演算子 (-) 、autoincrement/decrement
+(++, --) より低く、他のどの演算子よりも高くなります。
+.Ip !~ 8
+戻り値が否定されることを除いて =~ と同じです。
+.Ip x 8
+繰り返し演算子。
+左オペランドを右オペランドで指定した回数だけ繰り返した文字列を返します。
+配列のコンテキストでは、左オペランドが括弧に入ったリストの場合、
+リストを繰り返します。
+.nf
+
+ print \'\-\' x 80; # ダッシュの列を出力します
+ print \'\-\' x80; # 不正、x80 は識別子
+
+ print "\et" x ($tab/8), \' \' x ($tab%8); # タブに変換
+
+ @ones = (1) x 80; # 80 個 1 が並んだ配列
+ @ones = (5) x @ones; # 全要素を 5 にセット
+
+.fi
+.Ip x= 8
+繰り返し代入演算子。
+スカラに対してのみ動作します。
+.Ip .\|. 8
+範囲演算子。コンテキストによって、実際は二つの異なる演算子になります。
+配列のコンテキストでは、左の値から右の値まで一つずつ数を増やした配列を
+返します。
+これは、\*(L"for (1..10)\*(R" というループや配列の切り出し (slice) を
+行なうときに便利です。
+.Sp
+スカラのコンテキストでは、.\|. は論理値を返します。
+この演算子は、flip-flop のように二つの値を取り、
+sed や awk やいろいろなエディタの行範囲 (comma) 演算子をエミュレート
+します。
+各 .\|. 演算子はそれ自身の論理値を保持し、左のオペランドが偽である限り
+偽となります。
+左のオペランドが真になると、範囲演算子は、右のオペランドが真になるまで
+真となります。その後、範囲演算子が再び偽となります。
+(次に範囲指定演算子が評価されるまで、偽にはなりません。
+真になったのと同じ評価を行った時 (awkと同様) に右のオペランドをテスト
+して、偽になることがあり得ますが、一度は真を返します。
+次の評価まで右のオペランドをテストしたくなければ (sed のように) 、二つ
+にするかわりに三つのドット (.\|.\|.) を使って下さい。)
+右のオペランドは、演算子が \*(L"偽\*(R" の状態である間は、
+評価されず、左のオペランドは演算子が \*(L"真\*(R" である間は
+評価されません。
+|| や && より優先度はやや低くなります。
+戻り値は、偽ではヌル文字列に、真では (1で始まる) 連続した数に
+なります。
+この数は、範囲指定毎にリセットされます。
+連続した範囲の最後の数は、文字列 \'E0\' を持っていて、数値には影響しま
+せんが、終点を除きたい場合に検索のきっかけになります。
+数字が 1 より大きくなるのを待つことで、始点を除くことができます。
+スカラ .\|. の両方のオペランドが静的である場合、オペランドは暗黙の
+うちに現在の行番号を表す $. 変数と比べられます。
+例:
+.nf
+
+.ne 6
+スカラ演算子としては:
+ if (101 .\|. 200) { print; } # 100行台を出力します
+
+ next line if (1 .\|. /^$/); # ヘッダ行を読み飛ばします
+
+ s/^/> / if (/^$/ .\|. eof()); # 本体をクォートします
+
+.ne 4
+配列としては:
+ for (101 .\|. 200) { print; } # $_ を 100回表示します
+
+ @foo = @foo[$[ .\|. $#foo]; # 高価なノーオペレーション
+ @foo = @foo[$#foo-4 .\|. $#foo]; # 最後の 5 要素を取り出します
+
+.fi
+.Ip \-x 8
+ファイルテスト。
+この単項演算子は一つの引数として、ファイル名またはファイルハンドルを取
+り、そのファイルについて、何かが真であるかどうかを見るものです。
+引数が省略されると、$_ を調べますが、例外として \-t は
+.IR STDIN
+を調べます。
+真の場合は 1 を、偽の場合は \'\' を返し、ファイルが存在していない場合
+は、undefined の値を返します。
+優先度は、論理値や関係演算子より高くなりますが、算術演算子より低くなり
+ます。
+演算子は以下の通りです:
+.nf
+ \-r ファイルを実効 uid/gid で読み込める。
+ \-w ファイルに実効 uid/gid で書き込める。
+ \-x ファイルを実効 uid/gid で実行できる。
+ \-o ファイルの所有者が、実効 uid である。
+ \-R ファイルを実 uid/gid で読み込める。
+ \-W ファイルを実 uid/gid で書き込める。
+ \-X ファイルを実 uid/gid で実行できる。
+ \-O ファイルの所有者が、実 uid である。
+ \-e ファイルが存在する。
+ \-z ファイルサイズが 0 である。
+ \-s ファイルサイズが 0 でない (サイズを返す) 。
+ \-f ファイルはプレーンファイルである。
+ \-d ファイルはディレクトリである。
+ \-l ファイルはシンボリックリンクである。
+ \-p ファイルは名前付きパイプ (FIFO) である。
+ \-S ファイルはソケットである。
+ \-b ファイルはブロック特殊ファイルである。
+ \-c ファイルはキャラクタ特殊ファイルである。
+ \-u ファイルには setuid ビットが立っている。
+ \-g ファイルには setgid ビットが立っている。
+ \-k ファイルには sticky ビットが立っている。
+ \-t ファイルハンドルが tty にオープンされている。
+ \-T ファイルはテキストファイルである。
+ \-B ファイルはバイナリファイルである (\-T の逆) 。
+ \-M スクリプトを開始した時点でのファイルの古さ(単位は日) 。
+ \-A アクセス時刻と同じ。
+ \-C inode 変更時刻と同じ。
+
+.fi
+ファイルパーミッション演算子 \-r, \-R, \-w, \-W, \-x, \-X の解釈は、
+単にファイルのモードとユーザの uid, gid に基づきます。
+他の理由で、実際にファイルを読み、書き、実行ができないことがあるかも
+しれません。
+また、気をつけなけらばならないのは、スーパユーザにとって
+\-r, \-R, \-w, \-W は常に 1 を返し、そのモードでいずれかの実行ビットが
+立っていれば、\-x, \-X も常に 1 を返すというところです。
+従って、スーパユーザが実行するスクリプトは、ファイルの実際のモードを決
+めるために stat() を実行したり、一時的に他の uid を立てる必要があるか
+もしれません。
+.Sp
+例:
+.nf
+.ne 7
+
+ while (<>) {
+ chop;
+ next unless \-f $_; # 特殊ファイルを無視
+ .\|.\|.
+ }
+
+.fi
+\-s/a/b/ としても、否定した置換をするわけではないことに注意して
+下さい。
+\-exp($foo) とすると、期待通りに動きますが、\*(-- マイナスの後が一文字
+の場合、ファイルテストと解釈されます。
+.Sp
+\-T と \-B は以下のように動作します。
+ファイルの先頭のブロックあたりに、変なコントロールコードや
+メタキャラクタのような、おかしな文字がないかどうかを調べます。
+おかしな文字が (10%以上) 見つかると、それは \-B ファイル、
+でなければ \-T ファイルとなります。
+最初のブロックにヌルが含まれるファイルもバイナリファイルとみなされます。
+\-T や \-B がファイルハンドルに使われると、最初のブロックではなく、
+そのときの標準入力バッファが調べられます。
+ヌルファイル(サイズ 0 のファイル)の場合やファイルハンドルをテストしていて
+、それが EOF である場合、\-T と \-B は共に真を返します。
+.PP
+すべてのファイルテスト (と stat 演算子)は、アンダライン一つ _ から
+成る特殊ファイルハンドルを与えられると、システムコールを保存することに
+よって、その直前に行なわれたファイルテスト (または stat演算子) で使わ
+れた stat 構造体が使われます。
+(この _ の働きは \-t では動作せず、lstat と -l が stat 構造体に
+実ファイルではなく、シンボリックリンクの値を残すことを覚えて
+おかなければなりません。)
+例:
+.nf
+
+ print "Can do.\en" if -r $a || -w _ || -x _;
+
+.ne 9
+ stat($filename);
+ print "Readable\en" if -r _;
+ print "Writable\en" if -w _;
+ print "Executable\en" if -x _;
+ print "Setuid\en" if -u _;
+ print "Setgid\en" if -g _;
+ print "Sticky\en" if -k _;
+ print "Text\en" if -T _;
+ print "Binary\en" if -B _;
+
+.fi
+.PP
+C にあって、
+.I perl
+にないもの:
+.Ip "単項 &" 12
+アドレス演算子
+.Ip "単項 *" 12
+"アドレスを通しての"参照演算子
+.Ip "(TYPE)" 12
+型変換演算子。
+.PP
+C のように、
+.I perl
+は、演算子への引数が皆、静的で、副作用がない場合だけコンパイル時にある
+程度の式の評価を行なってしまいます。
+特に、変数置換を行なわないリテラル間での文字列の結合は、コンパイル時に
+行なわれます。
+バックスラッシュの解釈もコンパイル時に起こります。
+.nf
+
+.ne 2
+ \'Now is the time for all\' . "\|\e\|n" .
+ \'good men to come to.\'
+
+.fi
+これは全部、内部では一つの文字列にされてしまいます。
+.PP
+++ 演算子にはちょっと拡張した細工が施されています。
+数値変数や数値コンテキストとして使われた変数をインクリメントすると、通
+常のインクリメントになりますが、変数がヌルでない文字コンテキストとして
+だけ使われて来ていて、パターン /^[a\-zA\-Z]*[0\-9]*$/ にマッチする場合は、
+各文字の範囲をキャリー付きで保存し、文字としてインクリメントされます:
+.nf
+
+ print ++($foo = \'99\'); # prints \*(L'100\*(R'
+ print ++($foo = \'a0\'); # prints \*(L'a1\*(R'
+ print ++($foo = \'Az\'); # prints \*(L'Ba\*(R'
+ print ++($foo = \'zz\'); # prints \*(L'aaa\*(R'
+
+.fi
+-- 演算子には、このような細工はありません。
+.PP
+(配列のコンテキストにおける) 範囲演算子は、最大値と最小値が文字列の
+場合に、細工した自動インクリメントアルゴリズムを使います。
+すべてのアルファベット文字を得るには、
+
+ @alphabet = (\'A\' .. \'Z\');
+
+16 進数を得るには、
+
+ $hexdigit = (0 .. 9, \'a\' .. \'f\')[$num & 15];
+
+始めに 0 を付けた日付を得るには、
+
+ @z2 = (\'01\' .. \'31\'); print @z2[$mday];
+
+と書けます。
+(最後に指定された値が、細工したインクリメントの生成するシークエンスに
+含まれていない場合、次の値が最後に指定された値より長くなるまでシークエ
+ンスを続けます。)
+.PP
+|| と && は、0 や 1 を返す C のそれとは違って、最後に評価された値を
+返します。
+だから、ホームディレクトリをみつける移植性の高い方法は、こうなります。
+.nf
+
+ $home = $ENV{'HOME'} || $ENV{'LOGDIR'} ||
+ (getpwuid($<))[7] || die "You're homeless!\en";
+
+.fi
+.PP
+前述のリテラルや変数に合わせ、以降の節で説明する演算は
+式中で項として使えます。
+これらの演算の幾つかは、引数に*リスト*を取ります。
+リストは、スカラや配列値からなります。
+配列値がリストの中にあると、その場所に挿入されたように個々の値がリスト
+の中に含まれて、長い一次元配列値を作ることになります。
+*リスト* の要素はコンマで区切られていなければなりません。
+引数を括弧で囲んでも囲まなくても、演算をリスト出来ます。
+これは関数呼び出しと同様単項演算子として、
+演算を使うことができることを意味します。
+関数呼び出しとして使うには、同じ行の次のトークンは左括弧でなければなり
+ません。
+(空白が間にはさまってもかまいません。)
+そのような関数は、予想される通り最優先となります。
+左括弧を持っていないトークンが続くとすれば、それは単項演算子で、リスト
+演算子かどうかによって、優先度が決まります。
+リスト演算子は最も優先度が低くなります。
+すべての単項演算子は、関係演算子よりも優先されますが、算術演算子よりも
+優先度は低くなります。
+優先度のセクションを参照して下さい。
+.PP
+スカラや配列のコンテキストで使われる演算子の場合、失敗すると一般に、
+スカラコンテキストでは undefined 値を返し、配列のコンテキストでは
+ヌルリストを返します。
+しかし、*リストをスカラに変換する一般的な規則はない* ということを
+忘れないで下さい。
+それぞれの演算子は、どの種のスカラを返すのが最も適当であるかを決めます。
+ある演算子は、配列のコンテキストとして返されるようなリストの長さを返し
+ます。リストの最初の値を返す演算子、リストの最後の値を返す演算子、
+操作に成功した回数を返す演算子などもあります。
+一般に、一貫性を求めなければ、演算子は求めるものを返します。
+.Ip "/PATTERN/" 8 4
+m/PATTERN/ を参照して下さい。
+.Ip "?PATTERN?" 8 4
+これは、
+.I reset
+演算子呼び出しの間で一回しかマッチしないことを除けば、
+/pattern/ 検索と全く同じです。
+これは例えば、一群のファイルの中で、各ファイルに最初に何かが出現すること
+を見たいとき、便利な最適化です。
+そのときのパッケージにローカルな ?? パターンだけは、リセットされます。
+.Ip "accept(NEWSOCKET,GENERICSOCKET)" 8 2
+accept システムコールと同じことをします。
+成功すると真を、失敗すると偽を返します。
+プロセス間通信のセクションの例を参照して下さい。
+.Ip "alarm(SECONDS)" 8 4
+.Ip "alarm SECONDS" 8
+指定した秒数 (実際には、1 を引いたもの) が経過したあと、自分の
+プロセスに SIGALRM を伝えます。
+つまり、alarm(15) なら、14 秒以上経ったある時点で SIGALRM を生じます。
+一度に一つのタイマしかカウントされません。呼び出される毎にそれ以前の
+タイマは無効となり、引数 0 で呼び出すと以前のタイマをキャンセルし
+て、新しいタイマは始動しません。
+戻り値は、直前のタイマの残り時間です。
+.Ip "atan2(Y,X)" 8 2
+Y/X の アークタンジェント を
+.if t \-\(*p から \(*p.
+.if n \-π から π
+の範囲で返します。
+.Ip "bind(SOCKET,NAME)" 8 2
+bind システムコールと同じことをします。
+成功すれば真を、失敗すれば偽を返します。
+NAME は、ソケットに合った適切な型の pack されたアドレスでなければなりません。
+プロセス間通信のセクションの例を参照して下さい。
+.Ip "binmode(FILEHANDLE)" 8 4
+.Ip "binmode FILEHANDLE" 8 4
+バイナリファイルとテキストファイルを区別するオペレーティングシステム上
+で、そのファイルを \*(L"バイナリ\*(R" として読み込まれるようにします。
+バイナリモードで読み込まれないファイルは、CR LF が入力時に LF に変換
+され、出力時には、LF が CR LF に変換されます。
+binmode は、UNIX では無効です。
+FILEHANDLE が式のときは、値がファイルハンドルの名前として扱われます。
+.Ip "caller(EXPR)"
+.Ip "caller"
+現在のサブルーチン呼び出しのコンテキストを返します:
+.nf
+
+ ($package,$filename,$line) = caller;
+
+.fi
+EXPRがあると、デバッガがスタックトレースに出力して使う拡張情報も
+返します。
+EXPRの値は、現在のサブルーチンの前にいくつの call フレームがあるかを
+示します。
+.Ip "chdir(EXPR)" 8 2
+.Ip "chdir EXPR" 8 2
+動作しているディレクトリを、もしできるなら EXPR に変更します。
+EXPRが省略されると、ホームディレクトリになります。
+成功すれば 1 を、失敗すれば 0 を返します。
+.IR die
+の例を参照して下さい。
+.Ip "chmod(LIST)" 8 2
+.Ip "chmod LIST" 8 2
+ファイルのリストのパーミッションを変更します。
+リストの最初の要素は、数値モードでなければなりません。
+成功したファイルの数を返します。
+.nf
+
+.ne 2
+ $cnt = chmod 0755, \'foo\', \'bar\';
+ chmod 0755, @executables;
+
+.fi
+.Ip "chop(LIST)" 8 7
+.Ip "chop(VARIABLE)" 8
+.Ip "chop VARIABLE" 8
+.Ip "chop" 8
+文字列の最後の文字を削り、削られた文字を返します。
+基本的には、入力されたレコードの終りから改行文字を除くために使われます
+が、文字列のコピーをスキャンするわけではないので、s/\en// より
+効率的です。
+VARIABLE を省略すると、$_ を chop します。
+例:
+.nf
+
+.ne 5
+ while (<>) {
+ chop; # 最後のフィールドの \en を除く
+ @array = split(/:/);
+ .\|.\|.
+ }
+
+.fi
+実際には、代入を含む左辺値のいかなるものも chop できます。
+.nf
+
+ chop($cwd = \`pwd\`);
+ chop($answer = <STDIN>);
+
+.fi
+リストを chop するとすべての要素が chop され、
+最後に chop された値が返されます。
+.Ip "chown(LIST)" 8 2
+.Ip "chown LIST" 8 2
+ファイルのリストの所有者 (と所有グループ) を変えます。
+リストの最初の二つの要素は数値で表した uid と gid がこの順で指定され
+なければなりません。
+変更に成功したファイルの数を返します。
+.nf
+
+.ne 2
+ $cnt = chown $uid, $gid, \'foo\', \'bar\';
+ chown $uid, $gid, @filenames;
+
+.fi
+.ne 23
+以下は、passwd ファイルから数値でない uid を検索する例です:
+.nf
+
+ print "User: ";
+ $user = <STDIN>;
+ chop($user);
+ print "Files: "
+ $pattern = <STDIN>;
+ chop($pattern);
+.ie t \{\
+ open(pass, \'/etc/passwd\') || die "Can't open passwd: $!\en";
+'br\}
+.el \{\
+ open(pass, \'/etc/passwd\')
+ || die "Can't open passwd: $!\en";
+'br\}
+ while (<pass>) {
+ ($login,$pass,$uid,$gid) = split(/:/);
+ $uid{$login} = $uid;
+ $gid{$login} = $gid;
+ }
+ @ary = <${pattern}>; # ファイルを得ます
+ if ($uid{$user} eq \'\') {
+ die "$user not in passwd file";
+ }
+ else {
+ chown $uid{$user}, $gid{$user}, @ary;
+ }
+
+.fi
+.Ip "chroot(FILENAME)" 8 5
+.Ip "chroot FILENAME" 8
+同名のシステムコールと同じことをします。
+これが何をするのか知らないとしても、気にしないで下さい。
+FILENAME を省略すると、$_ に chroot します。
+.Ip "close(FILEHANDLE)" 8 5
+.Ip "close FILEHANDLE" 8
+ファイルハンドルに結びつけられたファイルやパイプをクローズします。
+別のファイルをオープンしようとしている場合は、FILEHANDLE を閉じる
+必要がありません。オープンした際に前のファイルをクローズしてくれる
+からです。
+(
+.IR open
+を参照して下さい)
+しかし、明示的に入力ファイルのクローズをすると行カウンタ ($.) が
+リセットされるのに対し、
+.I open
+のときに行なわれる暗黙のクローズでは、リセットされません。
+また、後でパイプの出力を見たい場合は、パイプをクローズするとパイプで
+起動されたプロセスの完了を待ちます。
+パイプを明示的にクローズすると、コマンド情報の戻り値が $? に
+入れられます。
+例:
+.nf
+
+.ne 4
+ open(OUTPUT, \'|sort >foo\'); # sort へパイプ
+ .\|.\|. # print stuff to output
+ close OUTPUT; # sort の終了を待ちます
+ open(INPUT, \'foo\'); # sortの結果を得ます
+
+.fi
+FILEHANDLE は実際のファイルハンドル名を与える式でもかまいません。
+.Ip "closedir(DIRHANDLE)" 8 5
+.Ip "closedir DIRHANDLE" 8
+opendir() でオープンされたディレクトリをクローズします。
+.Ip "connect(SOCKET,NAME)" 8 2
+connect システムコールと同じことをします。
+成功すると真を、失敗すると偽を返します。
+NAME はソケットに合った適当な型のパッケージアドレスでなければ
+なりません。
+プロセス間通信のセクションの例を参照して下さい。
+.Ip "cos(EXPR)" 8 6
+.Ip "cos EXPR" 8 6
+EXPR (ラジアンで表現) のコサインを返します。
+EXPR を省略すると $_ のコサインを取ります。
+.Ip "crypt(PLAINTEXT,SALT)" 8 6
+C ライブラリの crypt() 関数と正確に同じように encrypt された文字列
+を返します。
+パスワードファイルを調べて、粗野なパスワードを見つけるのに便利です。
+白い帽子をかぶっている奴だけがこれをしなければなりません。
+.Ip "dbmclose(ASSOC_ARRAY)" 8 6
+.Ip "dbmclose ASSOC_ARRAY" 8
+dbm ファイルと連想配列の結び付きを解除します。
+連想配列に残っている値は、dbm ファイルのキャッシュに何が入っているか
+を知りたいのでなければ、意味がないものとなります。
+この関数は、ndbm を使う場合にのみ有用です。
+.Ip "dbmopen(ASSOC,DBNAME,MODE)" 8 6
+dbm や ndbm ファイルと連想配列を結び付けます。
+ASSOC は連想配列の名前です。
+(通常の open と違って、最初の引数はファイルハンドルのように見えても、
+ファイルハンドルでは*ありません*) 。
+DBNAME は、(.dir や .pag の拡張子を除いた) データベースの名前です。
+データベースが存在しないと、(umaskで修飾された) MODE で指定された
+プロテクションで作成します。
+古い dbm 関数しかサポートしないシステムでは、プログラムの中で一つの
+dbmopen しか許されないかもしれません。
+dbm も ndbm もないシステムでは、dbmopen 呼び出しは致命的なエラーを生
+じます。
+.Sp
+それまでの dbmopen で関連付けられた連想配列の値は失われます。
+dbm ファイルのうち、ある量の値はメモリにキャッシュされます。
+デフォルトでその量は 64 ですが、dbmopen の前に連想配列の
+ガーベッジエントリの数をあらかじめ確保しておくことで、
+増やすことができます。必要なら、reset コマンドでキャッシュを
+フラッシュすることができます。
+.Sp
+dbm ファイルへの書き込み許可を持っていない場合、連想配列変数を
+読み出すだけで、それをセットすることはできません。
+書き込めるかどうかをテストしたければ、ファイルテストを使うか、エラーを
+トラップできる eval の中で、ダミーの配列エントリをセットしようと
+してみて下さい。
+.Sp
+keys() や valuse() のような関数は、大きな dbm ファイルを使ったときに、
+巨大な配列値を返すかもしれません。
+大きな dbm ファイルで繰り返しをするときは、each() 関数を使った方が
+良いかもしれません。
+例:
+.nf
+
+.ne 6
+ # 履歴ファイルのオフセットを表示します
+ dbmopen(HIST,'/usr/lib/news/history',0666);
+ while (($key,$val) = each %HIST) {
+ print $key, ' = ', unpack('L',$val), "\en";
+ }
+ dbmclose(HIST);
+
+.fi
+.Ip "defined(EXPR)" 8 6
+.Ip "defined EXPR" 8
+左辺値 EXPR が、実際に値を持っているかどうかを表す論理値を返します。
+多くの演算で、ファイル終端、初期化されていない変数、システムエラーなど
+の例外処理条件で undefined 値が返されます。
+この関数は、本当のヌル文字列を返すかもしれない操作、特に配列要素を参照
+する操作の際に、未定義のヌル文字列と定義されたヌル文字列の判別を可能に
+します。
+配列やサブルーチンが存在するかどうかを調べることもできます。
+予約済み変数を使うときは、直観的に期待するような結果になるとは保証されて
+いません。
+例:
+.nf
+
+.ne 7
+ print if defined $switch{'D'};
+ print "$val\en" while defined($val = pop(@ary));
+ die "Can't readlink $sym: $!"
+ unless defined($value = readlink $sym);
+ eval '@foo = ()' if defined(@foo);
+ die "No XYZ package defined" unless defined %_XYZ;
+ sub foo { defined &$bar ? &$bar(@_) : die "No bar"; }
+
+.fi
+undef も参照して下さい。
+.Ip "delete $ASSOC{KEY}" 8 6
+指定した連想配列から、指定した値を削除します。
+削除された値が返りますが、何も削除されなかった場合は undefined 値が
+返ります。
+$ENV{} から削除すると、環境変数を変更します。
+dbm ファイルに結びつけられた配列を削除すると、dbm ファイルからその項
+目を削除します。
+.Sp
+以下の例は、連想配列のすべての値を削除します:
+.nf
+
+.ne 3
+ foreach $key (keys %ARRAY) {
+ delete $ARRAY{$key};
+ }
+
+.fi
+(しかし、
+.I reset
+コマンドを使った方が速いでしょう。undef %ARRAY ならもっと速いでしょう)
+.Ip "die(LIST)" 8
+.Ip "die LIST" 8
+eval の外で、LIST の値を
+.I STDERR
+に表示して、そのときの $! (errno) の値で終了 (exit) します。
+$! が 0 なら、($? >> 8) (\`command\` のステータス) の値で終了します。
+($? >> 8) が 0 なら、255 で終了します。
+eval の中では、エラーメッセージは $@ に詰め込まれ、eval は undefined
+値で終了します。
+.Sp
+同等の例:
+.nf
+
+.ne 3
+.ie t \{\
+ die "Can't cd to spool: $!\en" unless chdir \'/usr/spool/news\';
+'br\}
+.el \{\
+ die "Can't cd to spool: $!\en"
+ unless chdir \'/usr/spool/news\';
+'br\}
+
+ chdir \'/usr/spool/news\' || die "Can't cd to spool: $!\en"
+
+.fi
+.Sp
+EXPR の値が改行で終らない場合、スクリプトの現在の行番号と (もしあれば)
+入力行番号が出力され、改行が加えられます。
+ヒント: \*(L", stopped\*(R" をメッセージに加えておくと、
+\*(L"at foo line 123\*(R" が加えられたときにわかり易くなるので良い
+でしょう。
+スクリプト \*(L"canasta\*(R" を走らせているとすると、
+.nf
+
+.ne 7
+ die "/etc/games is no good";
+ die "/etc/games is no good, stopped";
+
+は、多分
+
+ /etc/games is no good at canasta line 123.
+ /etc/games is no good, stopped at canasta line 123.
+
+.fi
+と出力されます。
+.IR exit
+を参照して下さい。
+.Ip "do BLOCK" 8 4
+BLOCK 内で指定されたうち、最後のコマンドの値を返します。
+ループ修飾子に修飾されたときは、ループ条件をテストする前に BLOCK が
+一度実行されます。
+(他の文では、ループ修飾子は、条件を始めにテストします。)
+.Ip "do SUBROUTINE (LIST)" 8 3
+.I sub
+で宣言されたサブルーチンを実行し、SUBROUTINE で最後に評価された式の値
+を返します。
+その名前のサブルーチンがない場合、致命的エラーを生じます。
+(サブルーチンが存在しているかどうかを判定したいなら、\*(L"defined\*(R"
+演算子を使うのが良いでしょう。)
+配列をリストの一部として渡したいなら、各配列の前に配列の長さを付けて
+渡すのが良いでしょう。
+(後に出てくるサブルーチンのセクションを参照して下さい。)
+\*(L"do EXPR\*(R" の形との混乱を避けるため、括弧は必要となります。
+.Sp
+SUBROUTINE は、一つのスカラ変数でもかまいません。その場合、
+実行されるサブルーチン名は、変数から得られます。
+.Sp
+別の (好まれる) 形として、アンパサンド & を前に付ける &foo(@args) の
+ように、サブルーチンを呼んでもかまいません。
+引数を渡さないなら、括弧を使う必要はありません。
+括弧を省略すると、サブルーチンには @_ 配列は渡されません。
+& 型は、defined や undef 演算子にサブルーチンを指示するのにも
+使われます:
+.nf
+
+ if (defined &$var) { &$var($parm); undef &$var; }
+
+.fi
+.Ip "do EXPR" 8 3
+ファイル名として EXPR の値を使い、
+.I perl
+スクリプトとして、ファイルの内容を実行します。
+これは基本的に
+.I perl
+サブルーチンライブラリからサブルーチンをインクルードするという使い方を
+します。
+.nf
+
+ do \'stat.pl\';
+
+は、
+
+ eval \`cat stat.pl\`;
+
+.fi
+とほとんど同じです。
+違うのは、より効率的で、より簡潔で、エラーメッセージ中の現在ファイル名
+は正しく、カレントディレクトリに stat.pl がなければ
+.B \-I
+で指定されたライブラリをすべて探すということです。
+(予約変数のセクション中の @INC 配列を参照して下さい) 。
+しかし、呼び出しのたびにファイルを解析し直すのは同じなので、ループの
+内側でこのファイルを使うなら、起動時間は少し余計にかかるとしても、
+\-P と #include を使った方が良いでしょう。
+(この #include を使う問題点は、cpp が # コメントを認識してくれない
+ことです。\*(--逃げ道は、コメント単独として \*(L";#\*(R" を使うことです。)
+次のものは等価ではないことに注意して下さい:
+.nf
+
+.ne 2
+ do $foo; # ファイルを eval します
+ do $foo(); # サブルーチンを呼びます
+
+.fi
+ライブラリルーチンのインクルードとしては、
+\*(L"require\*(R" 演算子の方がより良いことを覚えておいて下さい。
+.Ip "dump LABEL" 8 6
+ただちにコアダンプします。
+もともと、これは、プログラムの始めにすべての変数を初期化した後に
+ダンプされたコアを undump プログラムを使って実行バイナリを作るために
+あります。
+新しいバイナリが実行されるとき、"goto LABEL" を実行することから
+始まります
+(goto が受けるすべての制限は適用されます) 。
+コアダンプで止まったところから、goto で再び始まると考えれば良いです。
+LABEL が省略されると、プログラムは先頭から再スタートします。
+警告: ダンプされたときに open されていたどのファイルも、プログラムが
+再生したときにはもう open されておらず、perlの側では混乱する可能性が
+あります。
+\-u も参照して下さい。
+.Sp
+例:
+.nf
+
+.ne 16
+ #!/usr/bin/perl
+ require 'getopt.pl';
+ require 'stat.pl';
+ %days = (
+ 'Sun',1,
+ 'Mon',2,
+ 'Tue',3,
+ 'Wed',4,
+ 'Thu',5,
+ 'Fri',6,
+ 'Sat',7);
+
+ dump QUICKSTART if $ARGV[0] eq '-d';
+
+ QUICKSTART:
+ do Getopt('f');
+
+.fi
+.Ip "each(ASSOC_ARRAY)" 8 6
+.Ip "each ASSOC_ARRAY" 8
+連想配列の次のキーと値の 2 つの要素から成る配列を順次返し、
+それを繰り返すことができます。
+各エントリはランダムのように見える順序で返されます。
+配列全部が読み込まれたとき、ヌル配列 (代入されると FALSE(0) 値となる)
+が返されます。
+その後、次の each() の呼び出しで繰り返しを再び始めます。
+繰り返し情報は、配列からすべての要素を読み込むことによってのみ
+リセットできます。
+繰り返しの間は、配列を変更してはいけません。
+各連想配列につき一つずつ繰り返し情報があり、プログラム中のすべての
+each(), keys(), values() 関数呼び出しで共有されます。
+次の例は、順序は異なるものの printenv プログラムのように環境変数を
+表示します:
+.nf
+
+.ne 3
+ while (($key,$value) = each %ENV) {
+ print "$key=$value\en";
+ }
+
+.fi
+keys() 関数と values() 関数も参照して下さい。
+.Ip "eof(FILEHANDLE)" 8 8
+.Ip "eof()" 8
+.Ip "eof" 8
+次に FILEHANDLE を読んだときファイル終端であるか、
+または FILEHANDLE がオープンされていないとき、1 を返します。
+FILEHANDLE は実際のファイルハンドル名を値に持つ式でもかまいません。
+(この関数は、実際には一文字読み込んでは、ungetc するので、対話的な
+コンテキストではそれほど有用ではありません。)
+引数無しの eof は、最後に読んだファイルの eof 状態を返します。
+空の括弧 () は、コマンドラインで指定されたファイル群からなる
+擬似ファイルを指します。つまり、eof() は while (<>) の内側で最後の
+ファイルの終端を検出するときに意味があります。
+while (<>) ループの中で各ファイルを調べたいときは、eof(ARGV) または
+括弧のない eof を使って下さい。
+例:
+.nf
+
+.ne 7
+ # 最後のファイルの最終行の直前にダッシュを挿入します
+ while (<>) {
+ if (eof()) {
+ print "\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\|\-\en";
+ }
+ print;
+ }
+
+.ne 7
+ # 各入力ファイル毎に、行番号をリセットします
+ while (<>) {
+ print "$.\et$_";
+ if (eof) { # Not eof().
+ close(ARGV);
+ }
+ }
+
+.fi
+.Ip "eval(EXPR)" 8 6
+.Ip "eval EXPR" 8 6
+.Ip "eval BLOCK" 8 6
+EXPR は解析され、一つの小さな
+.I perl
+プログラムであるかのように実行されます。
+.I perl
+プログラムのコンテキストの中で実行されるので、どの変数設定、
+サブルーチン、フォーマット定義もその後に残ります。
+戻り値は、丁度サブルーチンと同様に、最後に評価された式が返ります。
+文法エラーや実行時エラーがあるか、die 文があれば、eval により undefined
+が返り、$@ にエラーメッセージがセットされます。
+もしエラーがなければ、$@ はヌル文字列であることが保証されます。
+EXPRを省略すると、$_ を評価します。
+最後のセミコロンはどれも式から除かれます。
+.Sp
+eval はしかし、致命的エラーまでトラップするので、
+(dbmopen や symlinkのような) ある機能が実装されているかどうかを
+決めるには便利なことを覚えておいて下さい。
+die 演算子が例外を起こすように使われるのは、perl の例外トラップ機構
+でもあります。
+.Sp
+実行されるコードが変わらないなら、その度に再コンパイルされる時間を
+費すよりは、実行時エラーをトラップする eval-BLOCK の形をとった方が良い
+かもしれません。
+どんなエラーも起これば $@ にメッセージが返ります。
+EXPR のような、シングルクォートされた文字列を評価すると、同じ効果が
+ありますが、eval-BLOCK の形ではコンパイル時に文法エラーを報告するのに
+対し、eval-EXPR の形では $@ を通して実行時に文法エラーを報告する点が
+異なります。
+eval-EXPR の形は、最初に成功したときに eval-BLOCK に最適化されます。
+(e 修飾子を使った場合、置換される側はシングルクォートされた文字列と
+みなされ、同じ最適化が起こります。)
+例:
+.nf
+
+.ne 11
+ # 0 除算を致命的エラーにしません
+ eval { $answer = $a / $b; }; warn $@ if $@;
+
+ # 初回使用後、同じものに最適化されます。
+ eval '$answer = $a / $b'; warn $@ if $@;
+
+ # コンパイル時エラー
+ eval { $answer = };
+
+ # 実行時エラー
+ eval '$answer ='; # sets $@
+
+.fi
+.Ip "exec(LIST)" 8 8
+.Ip "exec LIST" 8 6
+LIST の中に一つ以上の引数があるか、LIST が一つ以上の値を持つ配列ならば、
+リストの引数を付けて execvp() を呼びます。
+一つのスカラ引数だけなら、引数にシェルのメタキャラクタがあるかどうか
+を調べます。あれば、解析のために引数を丸ごと \*(L"/bin/sh \-c\*(R" に
+渡し、無ければ、引数は単語に split され、execvp() に直接渡されます。
+その方が効率が良いからです。
+注意: exec (と system) は出力バッファをフラッシュしないので、出力が
+失われるのを避けるために $| をセットする必要があるかもしれません。
+例:
+.nf
+
+ exec \'/bin/echo\', \'Your arguments are: \', @ARGV;
+ exec "sort $outfile | uniq";
+
+.fi
+.Sp
+もし、最初の引数を本当に実行したいのでなく、実行しようとしている
+プログラムの名前を詐称したいだけなら、本当に走らせたいプログラムを変数に
+割り当てて、LIST の前に変数の名前をカンマを付けずに置くように
+指定できます。
+(これは、たとえ単一スカラしかリストに無くても、常に多くの値を持つ
+リストとして LIST の解釈を強制します。)
+例:
+.nf
+
+.ne 2
+ $shell = '/bin/csh';
+ exec $shell '-sh'; # ログインシェルのふりをします
+
+.fi
+.Ip "exit(EXPR)" 8 6
+.Ip "exit EXPR" 8
+EXPR を評価し、ただちにその値で終了します。
+例:
+.nf
+
+.ne 2
+ $ans = <STDIN>;
+ exit 0 \|if \|$ans \|=~ \|/\|^[Xx]\|/\|;
+
+.fi
+.IR die
+を参照して下さい。
+EXPR が省略されると、値 0 の状態で終了します。
+.Ip "exp(EXPR)" 8 3
+.Ip "exp EXPR" 8
+.I e
+の EXPR 乗を返します。 EXPR を省略すると、exp($_) を返します。
+.Ip "fcntl(FILEHANDLE,FUNCTION,SCALAR)" 8 4
+fcntl(2) 関数の実装です。
+正しい関数定義を得るには、多分
+.nf
+
+ require "fcntl.ph"; # 多分 /usr/local/lib/perl/fcntl.ph
+
+.fi
+を始めに書いておかなければならないでしょう。
+もし、fcntl.ph が存在しないか、もしくは正しい定義がされていない場合、
+<sys/fcntl.h> のような C のヘッダファイルに基づいて、
+自分で何とかしなければなりません。
+(perl kit から来る h2ph と呼ばれる perl スクリプトがあり、
+このことを助けてくれるでしょう)
+引数の処理と戻り値を返すことは、
+この後に書かれている ioctl のように動作します。
+fcntl は、fcntl(2) が実装されていないマシンで使われると
+致命的エラーを生じます。
+.Ip "fileno(FILEHANDLE)" 8 4
+.Ip "fileno FILEHANDLE" 8 4
+ファイルハンドルに対するファイルディスクリプタを返します。
+select() のビットマップを構成するのに便利です。
+FILEHANDLE が式だと、その値がファイルハンドルの名前と解釈されます。
+.Ip "flock(FILEHANDLE,OPERATION)" 8 4
+ファイルハンドルに対し flock(2) を呼びます。
+OPERATION の定義については、flock(2) のマニュアルを参照して下さい。
+成功すれば真を、失敗すれば偽を返します。
+flock(2) が実装されていないマシンで使うと、致命的エラーになります。
+以下は、BSD システムのメールボックスにメールを追加します。
+.nf
+
+.ne 20
+ $LOCK_SH = 1;
+ $LOCK_EX = 2;
+ $LOCK_NB = 4;
+ $LOCK_UN = 8;
+
+ sub lock {
+ flock(MBOX,$LOCK_EX);
+ # 待っている間に、他の誰かが追加する
+ # 場合のために...
+ seek(MBOX, 0, 2);
+ }
+
+ sub unlock {
+ flock(MBOX,$LOCK_UN);
+ }
+
+ open(MBOX, ">>/usr/spool/mail/$ENV{'USER'}")
+ || die "Can't open mailbox: $!";
+
+ do lock();
+ print MBOX $msg,"\en\en";
+ do unlock();
+
+.fi
+.Ip "fork" 8 4
+fork() システムコールを実行します。
+親プロセスに子の pid を返し、子プロセスには 0 を返します。
+注意: フラッシュされていないバッファは、両方のプロセスでフラッシュ
+されずに残ります。これは二重出力を避けるために、$| をセットする必要が
+あるかもしれないということを意味します。
+.Ip "getc(FILEHANDLE)" 8 4
+.Ip "getc FILEHANDLE" 8
+.Ip "getc" 8
+FILEHANDLE に結びつけられた入力ファイルから、次の文字を返します。
+EOF ではヌルを返します。 FILEHANDLE を省略すると、STDIN から読み込み
+ます。
+.Ip "getlogin" 8 3
+現在のログイン状況が /etc/utmp から得られれば、それを返します。
+得られなければ、getpwuid を使って下さい。
+
+ $login = getlogin || (getpwuid($<))[0] || "Somebody";
+
+.Ip "getpeername(SOCKET)" 8 3
+SOCKET 接続の向こう側の pack された sockaddr アドレスを返します。
+.nf
+
+.ne 4
+ # 内部 sockaddr
+ $sockaddr = 'S n a4 x8';
+ $hersockaddr = getpeername(S);
+.ie t \{\
+ ($family, $port, $heraddr) = unpack($sockaddr,$hersockaddr);
+'br\}
+.el \{\
+ ($family, $port, $heraddr) =
+ unpack($sockaddr,$hersockaddr);
+'br\}
+
+.fi
+.Ip "getpgrp(PID)" 8 4
+.Ip "getpgrp PID" 8
+指定された PID に対する現在のプロセスグループを返します。
+現在のプロセスでは 0 です。
+getpgrp(2) が実装されていないマシンで使うと、致命的エラーになります。
+EXPR が省略されると、現在のプロセスのプロセスグループが返ります。
+.Ip "getppid" 8 4
+親プロセスのプロセス ID を返します。
+.Ip "getpriority(WHICH,WHO)" 8 4
+プロセス、プロセスグループ、ユーザの現在のプライオリティを返します。
+(getpriority(2)を参照して下さい。)
+getpriority(2) を実装していないマシンで使うと致命的エラーになります。
+.Ip "getpwnam(NAME)" 8
+.Ip "getgrnam(NAME)" 8
+.Ip "gethostbyname(NAME)" 8
+.Ip "getnetbyname(NAME)" 8
+.Ip "getprotobyname(NAME)" 8
+.Ip "getpwuid(UID)" 8
+.Ip "getgrgid(GID)" 8
+.Ip "getservbyname(NAME,PROTO)" 8
+.Ip "gethostbyaddr(ADDR,ADDRTYPE)" 8
+.Ip "getnetbyaddr(ADDR,ADDRTYPE)" 8
+.Ip "getprotobynumber(NUMBER)" 8
+.Ip "getservbyport(PORT,PROTO)" 8
+.Ip "getpwent" 8
+.Ip "getgrent" 8
+.Ip "gethostent" 8
+.Ip "getnetent" 8
+.Ip "getprotoent" 8
+.Ip "getservent" 8
+.Ip "setpwent" 8
+.Ip "setgrent" 8
+.Ip "sethostent(STAYOPEN)" 8
+.Ip "setnetent(STAYOPEN)" 8
+.Ip "setprotoent(STAYOPEN)" 8
+.Ip "setservent(STAYOPEN)" 8
+.Ip "endpwent" 8
+.Ip "endgrent" 8
+.Ip "endhostent" 8
+.Ip "endnetent" 8
+.Ip "endprotoent" 8
+.Ip "endservent" 8
+これらのルーチンは、システムライブラリ中の同名の関数を実行します。
+配列のコンテキストの中では、これらの各 get ルーチンの戻り値は、
+以下のようになります:
+.nf
+
+ ($name,$passwd,$uid,$gid,
+ $quota,$comment,$gcos,$dir,$shell) = getpw.\|.\|.
+ ($name,$passwd,$gid,$members) = getgr.\|.\|.
+ ($name,$aliases,$addrtype,$length,@addrs) = gethost.\|.\|.
+ ($name,$aliases,$addrtype,$net) = getnet.\|.\|.
+ ($name,$aliases,$proto) = getproto.\|.\|.
+ ($name,$aliases,$port,$proto) = getserv.\|.\|.
+
+.fi
+(もしエントリが存在しなければ、ヌルリストになります。)
+.Sp
+スカラのコンテキストでは、
+name による検索でない場合には name が得られ、
+name による検索の場合には name 以外が得られます。
+(エントリが存在しない場合は、undefined 値となります。)
+例:
+.nf
+
+ $uid = getpwnam
+ $name = getpwuid
+ $name = getpwent
+ $gid = getgrnam
+ $name = getgrgid
+ $name = getgrent
+ 他
+
+.fi
+getgr.\|.\|. の返す $menbers 値は、空白で区切られたグループメンバの
+ログイン名のリストです。
+.Sp
+gethost.\|.\|. 関数では、h_errno 変数が C でサポートされていれば、
+関数のコールが失敗したとき $? を介して返されます。
+成功した関数コールの返す @addrs 値は、相当するシステムライブラリ
+呼び出しに返された raw address のリストです。
+インターネットドメイン (INET) では、各アドレスは 4 バイト長で
+以下のように書くと unpack できます。
+.nf
+
+ ($a,$b,$c,$d) = unpack('C4',$addr[0]);
+
+.fi
+.Ip "getsockname(SOCKET)" 8 3
+pack された、SOCKET接続のこちら側の sockaddr アドレスを返します。
+.nf
+
+.ne 4
+ # An internet sockaddr
+ $sockaddr = 'S n a4 x8';
+ $mysockaddr = getsockname(S);
+.ie t \{\
+ ($family, $port, $myaddr) = unpack($sockaddr,$mysockaddr);
+'br\}
+.el \{\
+ ($family, $port, $myaddr) =
+ unpack($sockaddr,$mysockaddr);
+'br\}
+
+.fi
+.Ip "getsockopt(SOCKET,LEVEL,OPTNAME)" 8 3
+要求したソケットのオプションを返します。エラーの場合は undefined を
+返します。
+.Ip "gmtime(EXPR)" 8 4
+.Ip "gmtime EXPR" 8
+time 関数に返された時刻を、Greenwich timezone として 9 要素の配列に
+変換します。
+通常は次のように使います:
+.nf
+
+.ne 3
+.ie t \{\
+ ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
+'br\}
+.el \{\
+ ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
+ gmtime(time);
+'br\}
+
+.fi
+すべての配列要素は数値で、構造体 tm から直接得られるものです。
+これにより $mon は 0.\|.11 の範囲で $wday は 0.\|.6 の範囲であることに
+なります。
+EXPR を省略すると、gmtime(time) を実行します。
+.Ip "goto LABEL" 8 6
+LABEL というラベルを付けられた文を探し、そこから実行を再開します。
+現在のところ、プログラムの本体内で do {} 構造の内側が
+入れ子になっていない文にしか行けません。
+この文は効率的には実装されておらず、
+.IR sed -to- perl
+翻訳プログラムを簡単にできるようにするためだけあります。
+翻訳された
+.I sed
+スクリプトの一貫性のサポートはしますが、このセマンティックスを私がいつ
+変更するかわからないので、自らの責任で使って下さい。
+全く使わない方が良いでしょう。
+.Ip "grep(EXPR,LIST)" 8 4
+LIST の各要素に対して (ローカルには各要素を $_ にセット) 、EXPR を
+評価して、式が真であると評価された要素だけからなる配列を返します。
+スカラのコンテキストでは、式が真になった回数を数値で返します。
+.nf
+
+ @foo = grep(!/^#/, @bar); # コメントを除きます
+
+.fi
+$_ は配列値への参照なので、配列の要素を変更する場合に使えることを
+覚えておきましょう。
+これは便利ですが、LIST が名前のついた配列でないと、おかしな結果を
+引き起こすことになります。
+.Ip "hex(EXPR)" 8 4
+.Ip "hex EXPR" 8
+10 進値 EXPR を 16 進文字列にして返します。
+(0 または 0x で始まる文字列を解釈するなら、oct() を参照して下さい。)
+EXPR を省略すると $_ を使います。
+.Ip "index(STR,SUBSTR,POSITION)" 8 4
+.Ip "index(STR,SUBSTR)" 8 4
+STR の中で、POSITION かそれ以降に最初に SUBSTR が現れる位置を返します。
+POSITION を省略すると、文字列の先頭から検索します。
+戻り値は、0 か $[ 変数に設定されたものがベースになります。
+SUBSTR がみつからないと、ベースから 1 を引いた値を返し、通常 \-1 に
+なります。
+.Ip "int(EXPR)" 8 4
+.Ip "int EXPR" 8
+EXPR の整数部を返します。
+EXPR が省略されると、$_ を使います。
+.Ip "ioctl(FILEHANDLE,FUNCTION,SCALAR)" 8 4
+これは、ioctl(2) 関数を実装しています。
+正しい関数定義を得るには、多分始めの方で
+.nf
+
+ require "ioctl.ph"; # 多分 /usr/local/lib/perl/ioctl.ph
+
+.fi
+と書かなければならないでしょう。
+ioctl.ph が存在しないか、または正しく定義されていない場合、
+<sys/ioctl.h> のような C のヘッダファイルから自分自身でなんとかしな
+ければなりません。
+(perl キットにある h2ph というスクリプトがこの助けになるでしょう。)
+SCALAR は、FUNCTIONに依存して、参照または書き込みがされます。
+FUNCTION \*(--SCALAR の文字列値へのポインタは、実際の ioctl 呼び出しの
+第 3 引数に渡されます。
+(SCALAR が文字列値でなく数値であった場合、文字列値へのポインタでなく
+数値そのものが渡されます。これが真であることを保証するには、このスカラを
+使う前に 0 を加えて下さい。)
+ioctl() に使われる構造体の値を扱うには、pack() 関数と unpack() 関数が
+便利です。
+次の例は、DEL に erase 文字をセットします。
+.nf
+
+.ne 9
+ require 'ioctl.ph';
+ $sgttyb_t = "ccccs"; # chars 4 個と short 1 個
+ if (ioctl(STDIN,$TIOCGETP,$sgttyb)) {
+ @ary = unpack($sgttyb_t,$sgttyb);
+ $ary[2] = 127;
+ $sgttyb = pack($sgttyb_t,@ary);
+ ioctl(STDIN,$TIOCSETP,$sgttyb)
+ || die "Can't ioctl: $!";
+ }
+
+.fi
+ioctl (と fcntl) の戻り値は以下の通りです:
+.nf
+
+.ne 4
+ OS の戻り値:\h'|3i'perlの戻り値:
+ -1\h'|3i' undefined 値
+ 0\h'|3i' 文字列 "0 but true"
+ それ以外\h'|3i' その数
+
+.fi
+このように、perl は成功時に真を、失敗時に偽を返しますが、
+オペレーティングシステムから返される実際の値も簡単に判定することができます:
+.nf
+
+ ($retval = ioctl(...)) || ($retval = -1);
+ printf "System returned %d\en", $retval;
+.fi
+.Ip "join(EXPR,LIST)" 8 8
+.Ip "join(EXPR,ARRAY)" 8
+分割されている LIST や ARRAY の文字列を、フィールドセパレータとして
+値 EXPR をはさんだ一つの文字列につなげて、その文字列を返します。
+例:
+.nf
+
+.ie t \{\
+ $_ = join(\|\':\', $login,$passwd,$uid,$gid,$gcos,$home,$shell);
+'br\}
+.el \{\
+ $_ = join(\|\':\',
+ $login,$passwd,$uid,$gid,$gcos,$home,$shell);
+'br\}
+
+.fi
+.IR split
+を参照して下さい。
+.Ip "keys(ASSOC_ARRAY)" 8 6
+.Ip "keys ASSOC_ARRAY" 8
+名前のついた連想配列のすべてのキーからなる普通の配列を返します。
+キーは、見かけ上ランダムな順で返されますが、values() 関数や each() 関数
+(これによって連想配列は変更されません) が生成するものと同じ順になります。
+以下は、環境変数を表示する別の方法です:
+.nf
+
+.ne 5
+ @keys = keys %ENV;
+ @values = values %ENV;
+ while ($#keys >= 0) {
+ print pop(@keys), \'=\', pop(@values), "\en";
+ }
+
+キーでソートすると:
+
+.ne 3
+ foreach $key (sort(keys %ENV)) {
+ print $key, \'=\', $ENV{$key}, "\en";
+ }
+
+.fi
+.Ip "kill(LIST)" 8 8
+.Ip "kill LIST" 8 2
+プロセスのリストにシグナルを送ります。
+リストの最初の要素は、送られるシグナルでなければなりません。
+シグナル送信に成功したプロセスの数を返します。
+.nf
+
+ $cnt = kill 1, $child1, $child2;
+ kill 9, @goners;
+
+.fi
+シグナルが負の場合、プロセスの代わりにプロセスグループを kill します。
+(System Vでは、負の \fIプロセス\fR 番号はプロセスグループも kill
+しますが、互換性はありません。)
+クォートでくくられたシグナル名も使えます。
+.Ip "last LABEL" 8 8
+.Ip "last" 8
+.I last
+コマンドは、(ループ内で使われるような) C の
+.I break
+文に似ていて、該当するループを直ちに終了します。
+LABEL が省略されると、このコマンドは最も内側のループを抜けます。
+.I continue
+ブロックがあったとしても、実行されません:
+.nf
+
+.ne 4
+ line: while (<STDIN>) {
+ last line if /\|^$/; # ヘッダが終ったら抜けます
+ .\|.\|.
+ }
+
+.fi
+.Ip "length(EXPR)" 8 4
+.Ip "length EXPR" 8
+EXPR の値の文字列長を返します。
+EXPR を省略すると、$_ の長さを返します。
+.Ip "link(OLDFILE,NEWFILE)" 8 2
+OLDFILE にリンクされた NEWFILE を作成します。
+成功すると 1 を、失敗すると 0 を返します。
+.Ip "listen(SOCKET,QUEUESIZE)" 8 2
+listen システムコールと同じことを行ないます。
+成功すると真を、失敗すると偽を返します。
+プロセス間通信のセクションの例を参照して下さい。
+.Ip "local(LIST)" 8 4
+閉じたブロック、サブルーチン、eval 、\*(L"do\*(R" に局所的な
+変数リストを宣言します。
+リストされたすべての要素は左辺値として妥当なものでなければなりません。
+この演算子は、LIST 内のその時点での変数を隠れたスタックに保存し、
+ブロックやサブルーチンや eval を抜けるときに戻すように動作します。
+これは、呼ばれたサブルーチンもグローバル変数でなく、ローカル変数を
+参照することを意味します。
+そうしたければ、LIST に代入してローカル変数を初期化してもかまいません。
+(初期値が特定の値として与えられていなければ、undefined 値として
+生成されます。)
+普通、これはサブルーチンのパラメータに名前をつけるのに使われます。
+例:
+.nf
+
+.ne 13
+ sub RANGEVAL {
+ local($min, $max, $thunk) = @_;
+ local($result) = \'\';
+ local($i);
+
+ # 多分 $thunk は $i を参照しています
+
+ for ($i = $min; $i < $max; $i++) {
+ $result .= eval $thunk;
+ }
+
+ $result;
+ }
+
+.ne 6
+ if ($sw eq \'-v\') {
+ # グローバルな配列でローカルな配列を初期化します
+ local(@ARGV) = @ARGV;
+ unshift(@ARGV,\'echo\');
+ system @ARGV;
+ }
+ # @ARGV が元に戻されます
+
+.ne 6
+ # 一時的に digits という連想配列に追加をしています。
+ if ($base12) {
+ # (注意: これが効率的と言いたいわけではありません)
+ local(%digits) = (%digits,'t',10,'e',11);
+ do parse_num();
+ }
+
+.fi
+local() は実行時のコマンドで、ループ終了時に全部を一度に開放するまでは、
+ループを通るたびに実行され、毎回スタックを消費していきます。
+.Ip "localtime(EXPR)" 8 4
+.Ip "localtime EXPR" 8
+time 関数に返された時刻を、ローカルタイムゾーンとして解析された 9 要素の
+配列に変換します。
+通常次のように使われます:
+.nf
+
+.ne 3
+.ie t \{\
+ ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
+'br\}
+.el \{\
+ ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
+ localtime(time);
+'br\}
+
+.fi
+すべての配列要素は数字で、構造体 tm から直接得られたものです。
+これにより $mon は 0.\|.11 の範囲で $wday は 0.\|.6 の範囲であることに
+なります。
+EXPR を省略すると、localtime(time) を実行します。
+.Ip "log(EXPR)" 8 4
+.Ip "log EXPR" 8
+EXPR の (底が
+.IR e
+の) 対数を返します。
+EXPR を省略すると、$_ の log を返します。
+.Ip "lstat(FILEHANDLE)" 8 6
+.Ip "lstat FILEHANDLE" 8
+.Ip "lstat(EXPR)" 8
+.Ip "lstat SCALARVARIABLE" 8
+stat() 関数と同じことを実行しますが、シンボリックリンクでは指している
+先のファイルの代わりにシンボリックリンク自身の状態を返します。
+シンボリックリンクが実装されていないシステムでは、通常の stat を
+実行します。
+.Ip "m/PATTERN/gio" 8 4
+.Ip "/PATTERN/gio" 8
+パターンマッチに合う文字列を検索し、真 (1) か偽 (\'\') を
+返します。
+=~ や !~ を介した文字列の指定がなければ、文字列 $_ が検索されます。
+(=~ で指定された文字列は、左辺値である必要はありません。
+式の評価結果でもかまいませんが、=~ はどちらかというと優先度が高いことを
+覚えておいて下さい。)
+正規表現のセクションを参照して下さい。
+.Sp
+/ が区切り文字である場合、始めの \*(L'm\*(R' は省略可能です。\*(L'm\*(R' が
+あると、英数字以外のどの文字でも区切りにできます。
+これは、特に \*(L'/\*(R' を含む UNIX のパス名へのマッチに便利です。
+最後の区切りの後にオプション文字 \*(L'i\*(R' が続くと、マッチングが
+大文字小文字の区別なく行なわれます。
+PATTERN は、スカラ変数への参照を含んでいてもよく、それはパターン検索
+が評価される毎に挿入されます (パターンはリコンパイルされます) 。
+( $) と $| は文字列終端のテストに見えるため、挿入は行なわれません。)
+パターンを一度だけコンパイルさせたい場合は、後ろの区切り文字
+の後に \*(L"o\*(R" を加えて下さい。
+これにより、余分な実行時再コンパイルを避けられるので、挿入したい値が
+スクリプトの動いている間中、変わらないときには便利です。
+PATTERN がヌル文字に評価されたときは、最後に成功した正規表現が代わりに
+使われます。
+.Sp
+配列値が必要なコンテキストで使われると、パターンマッチはパターンの中で
+マッチした subexpression を括弧でくくったものすなわち、
+($1, $2, $3.\|.\|.)
+からなる配列を返します。
+この場合、実際には $1, $2 等をセットは*せず*、
+$+, $`, $&, $' もセットしません。
+マッチが失敗すると、ヌル配列が返ります。
+マッチが成功しても括弧がないと、配列値 (1) が返ります。
+.Sp
+例:
+.nf
+
+.ne 4
+ open(tty, \'/dev/tty\');
+ <tty> \|=~ \|/\|^y\|/i \|&& \|do foo(\|); # y なら foo を実行
+
+ if (/Version: \|*\|([0\-9.]*\|)\|/\|) { $version = $1; }
+
+ next if m#^/usr/spool/uucp#;
+
+.ne 5
+ # 恵まれない人の grep
+ $arg = shift;
+ while (<>) {
+ print if /$arg/o; # 一度だけコンパイル
+ }
+
+ if (($F1, $F2, $Etc) = ($foo =~ /^(\eS+)\es+(\eS+)\es*(.*)/))
+
+.fi
+この最後の例は、$foo を最初の二語と残りに split し、三つのフィールド
+を $F1 、$F2 、$Etc に代入します。
+どれかの変数が代入された場合、すなわちパターンがマッチした場合、
+この条件は真となります。
+.Sp
+\*(L"g\*(R" 修飾子は、グローバルパターンマッチの指定です\*(--つまり、
+文字列の中でできるだけ多くのマッチを行ないます。
+どのように振舞うかは、コンテキストに依存します。
+配列のコンテキストでは、正規表現の中ですべての括弧にマッチした文字列の
+リストを返します。括弧がなければ、パターン全体を囲む括弧があるか
+のようにマッチした文字列すべてのリストを返します。
+スカラのコンテキストでは、文字列を通してマッチする毎に*真*を返し、
+マッチしなかったとき*偽*を返します。 (言いかえると、最後にテストした
+場所を覚えていて、そこから再び検索を始めるということです。)
+最後のマッチから文字列が変更されていないことを仮定しています。
+マッチとマッチの間で文字列を変更することは、未定義な動作を引き起こす
+かもしれません。
+(実際には substr()を使って、全文字列の長さを変えずにその場で変更する
+なら、できます。しかし、一般にはそういう変更は s///g を使うべきです。)
+例:
+.nf
+
+ # 配列のコンテキスト
+ ($one,$five,$fifteen) = (\`uptime\` =~ /(\ed+\e.\ed+)/g);
+
+ # スカラのコンテキスト
+ $/ = ""; $* = 1;
+ while ($paragraph = <>) {
+ while ($paragraph =~ /[a-z][\'")]*[.!?]+[\'")]*\es/g) {
+ $sentences++;
+ }
+ }
+ print "$sentences\en";
+
+.fi
+.Ip "mkdir(FILENAME,MODE)" 8 3
+FILENAME で指定されたディレクトリを、(umask で修飾された) MODE で指定
+されたパーミッションで作成します。
+成功すると 1 を、失敗すると 0 を返し、$! (errno) をセットします。
+.Ip "msgctl(ID,CMD,ARG)" 8 4
+System V IPC 関数の msgctl を呼びます。 CMD が &IPC_STAT なら、ARG は
+返された msqid_ds 構造を保持する変数でなければなりません。
+ioctl のように、エラーのときは undefined 値を、0 のとき
+には "0 but true" を、でなければ実際の戻り値を返します。
+.Ip "msgget(KEY,FLAGS)" 8 4
+System V IPC 関数の msgget を呼びます。成功時はメッセージキュー ID を、
+エラーが起これば undefined value を返します。
+.Ip "msgsnd(ID,MSG,FLAGS)" 8 4
+System V IPC 関数の msgsnd を呼び、メッセージ MSGS をメッセージキュー
+ID に送信します。 MSG は、pack("L", $type) で作られる long integer
+のメッセージ型で始めなければなりません。成功すれば真を、エラーが起こる
+と偽を返します。
+.Ip "msgrcv(ID,VAR,SIZE,TYPE,FLAGS)" 8 4
+System V IPC 関数 msgrcv を呼び、
+メッセージキュー ID からメッセージを受け取り、
+最大メッセージサイズ SIZE で変数 VAR に格納します。
+メッセージを受け取ると、VAR に最初に格納されたものがメッセージ型
+となり、VAR の最大長は、SIZE にメッセージ型のサイズを加えたものに
+なることに注意して下さい。
+成功すると真を、エラーでは偽を返します。
+.Ip "next LABEL" 8 8
+.Ip "next" 8
+.I next
+コマンドは、C の
+.I continue
+文と同様に、ループの次の繰り返しを始めます。
+.nf
+
+.ne 4
+ line: while (<STDIN>) {
+ next line if /\|^#/; # コメントを捨てます
+ .\|.\|.
+ }
+
+.fi
+上の例で
+.I continue
+ブロックがあると、行が捨てられた場合でも実行されることを覚えておいて
+下さい。
+LABEL が省略されると、このコマンドは最も内側のループを続けます。
+.Ip "oct(EXPR)" 8 4
+.Ip "oct EXPR" 8
+10 進数 EXPR を、8 進文字列にして返します。
+(EXPRが 0x で始まる文字列なら、10 進の代わりに 16 進として変換します。)
+以下は、10 進、8 進、16 進の標準的な記法を扱います。
+.nf
+
+ $val = oct($val) if $val =~ /^0/;
+
+.fi
+EXPR が省略されると、$_ を使います。
+.Ip "open(FILEHANDLE,EXPR)" 8 8
+.Ip "open(FILEHANDLE)" 8
+.Ip "open FILEHANDLE" 8
+EXPR で与えられたファイル名のファイルをオープンし、FILEHANDLE に結び
+つけます。
+FILEHANDLE が式の場合、その値を実際にファイルハンドルが求める名前
+として使います。
+EXPR が省略されると、FILEHANDLE と同名のスカラ変数が保持する値が
+ファイル名となります。
+ファイル名の前に \*(L"<\*(R" を付けるか、何も付けない場合、ファイルは
+入力用にオープンされます。
+ファイル名が \*(L">\*(R" で始まると、ファイルは出力用にオープンされます。
+ファイル名が \*(L">>\*(R" で始まると、ファイルは追加書き込み用に
+オープンされます。
+(\'>\' や \'<\' の前に \'+\' を付けると、ファイルを読み書き両用に
+できます。)
+ファイル名が \*(L"|\*(R" で始まると、ファイル名は出力がパイプされる
+コマンドと解釈され、ファイル名が \*(L"|\*(R" で終ると、入力が
+パイプされるコマンドと解釈されます。
+(入出力共パイプするコマンドは必要がないでしょう。) \'\-\' をオープンすると
+.I STDIN
+を、\'>\-\' をオープンすると
+.IR STDOUT
+をオープンします。
+open は成功したとき、0 でない値を、失敗したとき undefined 値を
+返します。
+open がパイプを含む場合、戻り値はサブプロセスの pid となります。
+例:
+.nf
+
+.ne 3
+ $article = 100;
+ open article || die "Can't find article $article: $!\en";
+ while (<article>) {\|.\|.\|.
+
+.ie t \{\
+ open(LOG, \'>>/usr/spool/news/twitlog\'\|); # (ログ保存)
+'br\}
+.el \{\
+ open(LOG, \'>>/usr/spool/news/twitlog\'\|);
+ # (ログ保存)
+'br\}
+
+.ie t \{\
+ open(article, "caesar <$article |"\|); # 記事を decrypt
+'br\}
+.el \{\
+ open(article, "caesar <$article |"\|);
+ # 記事を decrypt
+'br\}
+
+.ie t \{\
+ open(extract, "|sort >/tmp/Tmp$$"\|); # $$ は現在のプロセス
+'br\}
+.el \{\
+ open(extract, "|sort >/tmp/Tmp$$"\|);
+ # $$ は現在のプロセス
+'br\}
+
+.ne 7
+ # 引数リストのファイルを、それがインクルードするものも
+ # 含めて処理します
+
+ foreach $file (@ARGV) {
+ do process($file, \'fh00\'); # no pun intended
+ }
+
+ sub process {
+ local($filename, $input) = @_;
+ $input++; # 文字列インクリメント
+ unless (open($input, $filename)) {
+ print STDERR "Can't open $filename: $!\en";
+ return;
+ }
+.ie t \{\
+ while (<$input>) { # 間接指定に注意
+'br\}
+.el \{\
+ while (<$input>) { # 間接指定に注意
+'br\}
+ if (/^#include "(.*)"/) {
+ do process($1, $input);
+ next;
+ }
+ .\|.\|. # 続く
+ }
+ }
+
+.fi
+Bourne shell の慣習により、EXPR は \*(L">&\*(R" で始めるような指定も
+できます。その場合、文字列の残りはファイルハンドル (数字なら
+ファイルディスクリプタ) の名前と解釈され、dup して open します。
+>>, <, +>, +>>, +< の後に & を使ってもかまいません。
+指定するモードは、元のファイルハンドルのモードと一致していなくては
+なりません。
+以下は、
+.I STDOUT
+と
+.IR STDERR
+を保存し、リダイレクトを行なって、その後で書き戻します:
+.nf
+
+.ne 21
+ #!/usr/bin/perl
+ open(SAVEOUT, ">&STDOUT");
+ open(SAVEERR, ">&STDERR");
+
+ open(STDOUT, ">foo.out") || die "Can't redirect stdout";
+ open(STDERR, ">&STDOUT") || die "Can't dup stdout";
+
+ select(STDERR); $| = 1; # バッファリングしません
+ select(STDOUT); $| = 1; # バッファリングしません
+
+ print STDOUT "stdout 1\en"; # これもサブプロセスで
+ print STDERR "stderr 1\en"; # 動作します
+
+ close(STDOUT);
+ close(STDERR);
+
+ open(STDOUT, ">&SAVEOUT");
+ open(STDERR, ">&SAVEERR");
+
+ print STDOUT "stdout 2\en";
+ print STDERR "stderr 2\en";
+
+.fi
+コマンド \*(L"\-\*(R" でパイプをオープンする、すなわち \*(L"|\-\*(R"
+や \*(L"\-|\*(R" をオープンすると、暗黙のうちに fork され、open の
+戻り値として親プロセスには、子プロセスの pid が返され、子プロセスには
+0 が返されます。
+(open が成功したかどうかは、defined($pid) を使って判断して下さい。)
+ファイルハンドルは、親にとって普通の挙動をしますが、子には
+.IR STDOUT / STDIN
+にパイプされたファイルハンドルの i/o となります。
+子プロセスでファイルハンドルがオープンされず、\*(--新しく
+ファイルハンドルは、新しい
+.I STDIN
+から
+.IR STDOUT
+へのパイプとなります。
+よく使われるのは、普通のパイプのオープンと同様、パイプコマンドの
+実行状態をコントロールしたいとき、setuid されたプログラムを走らせるとき、
+シェルコマンドでメタキャラクタのチェックをする必要がないときです。
+次の二つは、それぞれある程度同等です:
+.nf
+
+.ne 5
+ open(FOO, "|tr \'[a\-z]\' \'[A\-Z]\'");
+ open(FOO, "|\-") || exec \'tr\', \'[a\-z]\', \'[A\-Z]\';
+
+ open(FOO, "cat \-n '$file'|");
+ open(FOO, "\-|") || exec \'cat\', \'\-n\', $file;
+
+.fi
+パイプされたファイルハンドルを明示的に close すると、親プロセスは
+子プロセスが終了するのを待つことになり、$? に状態を返します。
+fork を行う操作では、両方のプロセスでフラッシュされないバッファが
+そのまま残ることに注意して下さい。これは、二重出力を避けるために $| を
+セットした方が良いことを意味します。
+.Sp
+open に渡されたファイル名は、前後の空白が除かれます。
+意図的に変な文字を含むファイル名を持つファイルをオープンしたいときは、
+前後の空白もこのように守ってやる必要があります:
+.nf
+
+.ne 2
+ $file =~ s#^(\es)#./$1#;
+ open(FOO, "< $file\e0");
+
+.fi
+.Ip "opendir(DIRHANDLE,EXPR)" 8 3
+EXPR という名前のディレクトリを readdir(), telldir(), seekdir(),
+rewinddir(), closedir() で処理できるようにオープンします。
+成功すると真を返します。
+DIRHANDLE は、FILEHANDLE とは別個のそれ自身の名前空間を持ちます。
+.Ip "ord(EXPR)" 8 4
+.Ip "ord EXPR" 8
+EXPR の最初の文字のアスキー値を数値で返します。
+EXPR が省略されると、$_ を使います。
+''' Comments on f & d by gnb@melba.bby.oz.au 22/11/89
+.Ip "pack(TEMPLATE,LIST)" 8 4
+配列または値のリストを引数に取り、バイナリ構造体にパックし、
+構造体を含む文字列を返します。
+TEMPLATE は値の順序と型を与える文字のシークエンスで、以下のように
+なります:
+.nf
+
+ A アスキー文字列(スペースが padding される)
+ a アスキー文字列(ヌルが padding される)
+ c signed char
+ C unsigned char
+ s signed short
+ S unsigned short
+ i signed integer
+ I unsigned integer
+ l signed long
+ L unsigned long
+ n short (\*(L"network\*(R" order)
+ N long (\*(L"network\*(R" order)
+ f 単精度浮動小数点 (native format)
+ d 倍精度浮動小数点 (native format)
+ p 文字列へのポインタ
+ v short (\*(L"VAX\*(R" (little-endian) order)
+ V long (\*(L"VAX\*(R" (little-endian) order)
+ x null byte
+ X Back up a byte
+ @ 絶対位置にまでヌルで埋める
+ u uuencode された文字列
+ b ビット文字列 (vec()のような昇順).
+ B ビット文字列 (降順).
+ h 16 進文字列 (低 nybble が先).
+ H 16 進文字列 (高 nybble が先).
+
+.fi
+どの文字も繰り返し回数を表す数を続けることができます。
+"a", "A", "b", "B", "h", "H" 以外の型では、pack 関数は
+LIST から回数を指定された数だけ値を取ります。
+繰り返し数として * を使うと、残りすべての分だけ繰り返します。
+"a" と "A" の型は値一つしか取りませんが、繰り返し指定を文字列長
+として pack するので、ヌルや空白での padding が必要になります。
+(unpack するときは、"A" は、後に続く空白を削りますが、"a" はしません。)
+同様に、"b" と "B" フィールドは、指定したビット長を pack します。
+"h" と "H" フィールドは、指定した長さの nybbles をパックします。
+実数 (float と double) は、そのマシンの機械語フォーマットのみです。
+浮動小数点フォーマット関係の多様性と標準の \*(L"network\*(R" 表現が
+無いことから、交換することはできません。これは、
+あるマシンで pack された浮動小数点データは、他のマシンでは、
+たとえ両方が IEEE 浮動小数点数演算を行っていても
+(メモリ表現の endian は IEEE の仕様には無いから)、
+読めないかもしれないということを意味します。
+perl は、すべての数値計算を内部的には double を用い、
+double -> float -> double という変換は精度を失うだろうということに
+注意して下さい
+(すなわち、unpack("f",pack("f", $foo)) は一般に $foo にはなりません) 。
+.br
+例:
+.nf
+
+ $foo = pack("cccc",65,66,67,68);
+ # foo は "ABCD"
+ $foo = pack("c4",65,66,67,68);
+ # 上と同じ
+
+ $foo = pack("ccxxcc",65,66,67,68);
+ # foo は "AB\e0\e0CD"
+
+ $foo = pack("s2",1,2);
+ # little-endian の "\e1\e0\e2\e0"
+ # big-endian の "\e0\e1\e0\e2"
+
+ $foo = pack("a4","abcd","x","y","z");
+ # "abcd"
+
+ $foo = pack("aaaa","abcd","x","y","z");
+ # "axyz"
+
+ $foo = pack("a14","abcdefg");
+ # "abcdefg\e0\e0\e0\e0\e0\e0\e0"
+
+ $foo = pack("i9pl", gmtime);
+ # 実際の tm 構造体 (少なくとも私のシステムでは)
+
+ sub bintodec {
+ unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
+ }
+.fi
+一般に unpack 関数でも同じテンプレートが使われます。
+.Ip "pipe(READHANDLE,WRITEHANDLE)" 8 3
+相当するシステムコールのように一対の接続されたパイプをオープンします。
+パイプでつながったプロセスのループを設定するときは、注意深くしないと
+デッドロックを起こすことがあることに気をつけて下さい。
+それに加えて、perl のパイプは標準入力のバッファリングを使うので、
+アプリケーションに依っては、$| をセットして
+コマンド毎に WRITEHANDLE をフラッシュする必要があるかもしれません。
+[perl バージョン 3.0 パッチレベル 9 以上が必要]
+.Ip "pop(ARRAY)" 8
+.Ip "pop ARRAY" 8 6
+配列の最後の値を取り出し、配列の長さを 1 だけ短くします。
+.nf
+
+ $tmp = $ARRAY[$#ARRAY\-\|\-];
+
+.fi
+同じ結果となります。
+配列に要素がない場合は、undefined 値を返します。
+.Ip "print(FILEHANDLE LIST)" 8 10
+.Ip "print(LIST)" 8
+.Ip "print FILEHANDLE LIST" 8
+.Ip "print LIST" 8
+.Ip "print" 8
+文字列または、カンマ区切りの文字列のリストを表示します。
+成功すると、0 以外を返します。
+FILEHANDLE は、ファイルハンドルの名前を保持したスカラ変数名でも
+かまいません。これにより 1 レベルの間接指定ができます。
+(注意: FILEHANDLE が変数で次のトークンが項の場合、+ を挿入するか
+引数に括弧を付けないと、演算子として解釈の間違いをするかもしれません。)
+FILEHANDLE が省略されると、デフォルトで標準出力 (または最後に select
+された出力チャンネル\*(-- select()を参照して下さい) に出力します。
+LIST が省略されると、$_ を
+.IR STDOUT
+に出力します。
+デフォルト出力チャンネルを
+.I STDOUT
+以外に設定するには、select 演算子を使って下さい。
+print は LIST を取るので、LIST の中のものは何でも配列のコンテキストで
+評価され、サブルーチン呼び出しなら配列のコンテキストで評価された式を
+持つことになるのを覚えておきましょう。
+また、print キーワードの後に左括弧を置くときは、対応する右括弧が
+print の引数の終りを示す
+\*(--すなわち + を挿入するか、括弧をすべての引数に付ける
+のでなければ、左括弧を置いてはいけません。
+.Ip "printf(FILEHANDLE LIST)" 8 10
+.Ip "printf(LIST)" 8
+.Ip "printf FILEHANDLE LIST" 8
+.Ip "printf LIST" 8
+\*(L"print FILEHANDLE sprintf(LIST)\*(R" と同等です。
+.Ip "push(ARRAY,LIST)" 8 7
+ARRAY (@ は省略可能) をスタックとして扱い、LIST の値を ARRAY の終りに
+追加します。
+ARRAY の長さは、LIST の長さだけ増えます。
+これは、以下と同じことになります。
+.nf
+
+ for $value (LIST) {
+ $ARRAY[++$#ARRAY] = $value;
+ }
+
+.fi
+が、より効率的です。
+.Ip "q/STRING/" 8 5
+.Ip "qq/STRING/" 8
+.Ip "qx/STRING/" 8
+これは、実際には関数ではありませんが、クォートされた文字列に
+バックスラッシュをたくさん置き過ぎるのを避けるための、単なる
+簡略記法です。
+q 演算子はシングルクォートを生成し、qq 演算子はダブルクォートを
+生成します。
+qx 演算子は、バッククォートを生成します。
+英数字でない文字なら、改行を含めて何でも、/ の代わりに区切り文字
+にできます。
+区切りが ( か { なら、終了の区切りは、対応する ) か } になります。
+(埋め込み文字としての } には通常通り \ が必要になります。)
+例:
+.nf
+
+.ne 5
+ $foo = q!I said, "You said, \'She said it.\'"!;
+ $bar = q(\'This is it.\');
+ $today = qx{ date };
+ $_ .= qq
+*** The previous line contains the naughty word "$&".\en
+ if /(ibm|apple|awk)/; # :-)
+
+.fi
+.Ip "rand(EXPR)" 8 8
+.Ip "rand EXPR" 8
+.Ip "rand" 8
+ランダムな 0 から EXPR までの小数点数を返します。
+(EXPR は正でなければなりません。)
+EXPR が省略されると、0 から 1 の範囲の値が返されます。
+srand() を参照して下さい。
+.Ip "read(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
+.Ip "read(FILEHANDLE,SCALAR,LENGTH)" 8 5
+指定された FILEHANDLE から、LENGTH バイトのデータを読み込み、変数
+SCALAR に格納します。
+実際に読み込めたバイト数を返し、エラーの場合は undef を返します。
+SCALAR は実際に読み込まれた長さに合わせて、伸縮します。
+読んだデータを文字列の始めでなく、他の場所に格納するために、OFFSET を
+指定することもできます。
+これは、実際には stdio の fread コールで実装されています。
+本当の read システムコールを使うには、sysread を参照して下さい。
+.Ip "readdir(DIRHANDLE)" 8 3
+.Ip "readdir DIRHANDLE" 8
+opendir() にオープンされたディレクトリ内の、次のディレクトリエントリを
+返します。
+配列のコンテキストの中で使うと、残りすべてのディレクトリエントリを
+返します。
+エントリが残っていない場合、スカラのコンテキストでは undefined が、
+配列のコンテキストではヌルリストを返します。
+.Ip "readlink(EXPR)" 8 6
+.Ip "readlink EXPR" 8
+シンボリックリンクが実装されていれば、シンボリックリンクの値を返します。
+実装されていなければ、致命的エラーを返します。
+システムエラーが起こったときは、undefined 値を返し、$! (errno) を
+セットします。
+EXPR を省略すると、$_ を使います。
+.Ip "recv(SOCKET,SCALAR,LEN,FLAGS)" 8 4
+ソケットからメッセージを受け取ります。指定した SOCKET ファイルハンドル
+から、LENGTH バイトのデータを受け取り、変数 SCALAR に格納します。
+sender のアドレスを返し、エラーの場合は undefined 値を返します。
+SCALAR は、実際に読み込まれた長さに合わせて、伸縮します。
+同名のシステムコールと同じフラグを用います。
+.Ip "redo LABEL" 8 8
+.Ip "redo" 8
+.I redo
+コマンドは、条件を再評価することなしに、ループブロックのコマンドを
+再開します。
+.I continue
+ブロックがあっても実行されません。
+LABEL が省略されると、最も内側のループを参照します。
+通常このコマンドは、入力された内容について、自分自身をだますような
+プログラムで使われます:
+.nf
+
+.ne 16
+ # 単純化した Pascal のコメント除去
+ # (警告: 文字列中には { や } はないものと仮定しています)
+ line: while (<STDIN>) {
+ while (s|\|({.*}.*\|){.*}|$1 \||) {}
+ s|{.*}| \||;
+ if (s|{.*| \||) {
+ $front = $_;
+ while (<STDIN>) {
+ if (\|/\|}/\|) { # コメント終了?
+ s|^|$front{|;
+ redo line;
+ }
+ }
+ }
+ print;
+ }
+
+.fi
+.Ip "rename(OLDNAME,NEWNAME)" 8 2
+ファイル名を変更します。
+成功すると 1 を、失敗すると 0 を返します。
+ファイルシステムの境界を越えては働きません。
+.Ip "require(EXPR)" 8 6
+.Ip "require EXPR" 8
+.Ip "require" 8
+EXPR か EXPR が与えられなければ $_ で指定された、ライブラリファイルを
+インクルードします。
+以下のようなサブルーチンと同じ意味になります:
+.nf
+
+ sub require {
+ local($filename) = @_;
+ return 1 if $INC{$filename};
+ local($realfilename,$result);
+ ITER: {
+ foreach $prefix (@INC) {
+ $realfilename = "$prefix/$filename";
+ if (-f $realfilename) {
+ $result = do $realfilename;
+ last ITER;
+ }
+ }
+ die "Can't find $filename in \e@INC";
+ }
+ die $@ if $@;
+ die "$filename did not return true value" unless $result;
+ $INC{$filename} = $realfilename;
+ $result;
+ }
+
+.fi
+同じ名前で指定されたファイルは、二度はインクルードされないことに
+注意して下さい。
+どの初期化コードの起動も成功したこと示すため、ファイルの最後の文で、
+真を返さなければなりません。だから、慣習的にそういうファイルは、
+必ず真を返すということが確かでなければ、\*(L"1;\*(R" で
+終るようにします。
+.Ip "reset(EXPR)" 8 6
+.Ip "reset EXPR" 8
+.Ip "reset" 8
+一般にループの終りで変数をクリアするのに
+.I continue
+ブロックの中で使われ、再びそれが働くように ?? 検索をリセットします。
+式は 1 文字ずつ分けてリストしたもの (ハイフンで範囲指定) として解釈されます。
+それらの文字の一つで始まる変数や配列はみな初期状態にリセットされます。
+式を省略すると、一度だけマッチする検索 (?pattern?) をリセットし、
+再びマッチするようにします。
+現パッケージ内の変数と検索のみをリセットします。
+常に 1 を返します。
+例:
+.nf
+
+.ne 3
+ reset \'X\'; \h'|2i'# すべての X 変数をリセットします
+ reset \'a\-z\';\h'|2i'# 小文字の変数すべてをリセットします。
+ reset; \h'|2i'# ?? 検索をリセットします。
+
+.fi
+注意: ARGV や ENV を消してしまうため、\*(L"A\-Z\*(R" をリセットする
+のは勧められません。
+.Sp
+dbm 連想配列に reset を使っても、dbm ファイルを変更しません。
+(しかし、perl がキャッシュしたエントリは皆フラッシュするので、
+dbm ファイルを共有している場合は、便利です。便利でないかもしれませんが。)
+.Ip "return LIST" 8 3
+指定した値で、サブルーチンから返ります。
+(サブルーチンは、自動的に最後に評価された式の値を返すことに
+注意して下さい。
+これは、好まれる方法です\*(--明示的な
+.I return
+の使用で、やや遅くなります。)
+.Ip "reverse(LIST)" 8 4
+.Ip "reverse LIST" 8
+配列のコンテキストでは、LIST の要素を逆順に並べた配列を返します。
+スカラのコンテキストでは、LIST の最初の要素のバイト列を逆順にした
+文字列を返します。
+.Ip "rewinddir(DIRHANDLE)" 8 5
+.Ip "rewinddir DIRHANDLE" 8
+DIRHANDLE に関し、readdir() で読み始める現在位置を、
+ディレクトリの先頭にセットします。
+.Ip "rindex(STR,SUBSTR,POSITION)" 8 6
+.Ip "rindex(STR,SUBSTR)" 8 4
+STR 内で、SUBSTR が最後に現れる位置を返す他は、index と全く同じに
+動作します。
+POSITION が指定されると、その位置の前で最後に現れた位置を返します。
+.Ip "rmdir(FILENAME)" 8 4
+.Ip "rmdir FILENAME" 8
+FILENAME で指定されたディレクトリが空なら消去します。
+成功すると 1 を、失敗すると 0 を返し、$! (errno) をセットします。
+FILENAME が省略されると、$_ を使います。
+.Ip "s/PATTERN/REPLACEMENT/gieo" 8 3
+パターンに合う文字列を検索し、見つかると置換テキストに置き換えて、
+置換が行なわれた数を返します。
+でなければ、偽 (0) を返します。
+\*(L"g\*(R" はオプションです。もしあれば、マッチしたパターンはすべて
+置換されることを意味します。
+\*(L"i\*(R" もオプションです。もしあれば、マッチングは大文字小文字の
+区別なく行なわれることを意味します。
+\*(L"e\*(R" もオプションです。もしあれば、置換文字列は
+ダブルクォートで囲まれた文字列のようにというより、
+式として評価されなければならないことを意味します。
+英数字でない文字ならなんでも、/ に置き換えて区切り文字にできます。
+シングルクォートが使われると、置換文字列の中で変数の挿入が
+行なわれません (e 修飾子はこれに優先します)。
+バッククォート ` が使われると、置換文字列はコマンドとして実行され、
+その出力が実際の置換テキストとして使われることになります。
+PATTERN が <>, () で区切られると、REPLACEMENT は、それ自身のクォートを
+持ち、それは <>, () であっても、そうでなくても良いことになります。
+例えば、s(foo)(bar) や s<foo>/bar/ のように。
+=~ や !~ 演算子を介する文字列指定がされなかったときは、$_ 文字列が
+検索、置換されます。
+(=~ で指定された文字列は、スカラ変数、配列の要素、それらへの代入等で
+なくてはなりません。すなわち左辺値ということです。)
+パターンが、文字列の終りをテストする $ でなく、変数に見える $ を含む
+場合は、その変数が実行時にパターンに挿入されます。
+初回だけ変数が挿入されてコンパイルされるパターンを使いたいなら、
+終りに \*(L"o\*(R" を付けて下さい。
+PATTERN がヌル文字列に評価されたときは、代わりに最後に成功した正規表現
+が使われます。
+正規表現のセクションを参照して下さい。
+例:
+.nf
+
+ s/\|\e\|bgreen\e\|b/mauve/g; # wintergreen を変更しません
+
+ $path \|=~ \|s|\|/usr/bin|\|/usr/local/bin|;
+
+ s/Login: $foo/Login: $bar/; # 実行時パターン
+
+ ($foo = $bar) =~ s/bar/foo/;
+
+ $_ = \'abc123xyz\';
+ s/\ed+/$&*2/e; # \*(L'abc246xyz\*(R' になる
+ s/\ed+/sprintf("%5d",$&)/e; # \*(L'abc 246xyz\*(R' になる
+ s/\ew/$& x 2/eg; # \*(L'aabbcc 224466xxyyzz\*(R' になる
+
+ s/\|([^ \|]*\|) *\|([^ \|]*\|)\|/\|$2 $1/; # 始めの2フィールドを交換
+
+.fi
+(最後の例では \|\e\| の代わりに $ を使っていることに注意。
+正規表現のセクションを参照して下さい。)
+.Ip "scalar(EXPR)" 8 3
+EXPR を強制的にスカラのコンテキストで解釈させて、EXPR の値を返します。
+.Ip "seek(FILEHANDLE,POSITION,WHENCE)" 8 3
+FILEHANDLE のポインタを、丁度 stdio の fseek() のように任意の
+位置にします。
+FILEHANDLE は、ファイルハンドルの名前を与える式でもかまいません。
+成功すると 1 を、失敗すると 0 を返します。
+.Ip "seekdir(DIRHANDLE,POS)" 8 3
+DIRHANDLE について readdir() の読む現在位置をセットします。
+POS は、telldir() の返す値でなければなりません。
+相当するシステムライブラリルーチン同様、directory compaction について
+は同じ注意が必要です。
+.Ip "select(FILEHANDLE)" 8 3
+.Ip "select" 8 3
+現在 select されたファイルハンドルを返します。
+FILEHANDLE を与えられると、出力用の現在のデフォルトファイルハンドルを
+セットします。
+これには二つの効果があります。一つは、ファイルハンドルの無い
+.I write
+や
+.I print
+が、デフォルトでこの FILEHANDLE に行なわれるということです。
+二つ目は、出力に関連する変数参照が、この出力チャンネルを参照する
+ということです。
+例えば、form フォーマットの先頭を、一つ以上の出力チャンネルに
+セットしなければならないとき、次のようにすると良いでしょう:
+.nf
+
+.ne 4
+ select(REPORT1);
+ $^ = \'report1_top\';
+ select(REPORT2);
+ $^ = \'report2_top\';
+
+.fi
+FILEHANDLE は、実際のファイルハンドルの名前を与える式でもかまいません。
+このように:
+.nf
+
+ $oldfh = select(STDERR); $| = 1; select($oldfh);
+
+.fi
+.Ip "select(RBITS,WBITS,EBITS,TIMEOUT)" 8 3
+これは、ビットマスクを指定して select システムコールを呼び出しします。
+ビットマスクは、以下のように fileno() や vec() を使って作成されます。
+.nf
+
+ $rin = $win = $ein = '';
+ vec($rin,fileno(STDIN),1) = 1;
+ vec($win,fileno(STDOUT),1) = 1;
+ $ein = $rin | $win;
+
+.fi
+たくさんのファイルハンドルを select したいときは、サブルーチンを書いた
+方が良いかもしれません。
+.nf
+
+ sub fhbits {
+ local(@fhlist) = split(' ',$_[0]);
+ local($bits);
+ for (@fhlist) {
+ vec($bits,fileno($_),1) = 1;
+ }
+ $bits;
+ }
+ $rin = &fhbits('STDIN TTY SOCK');
+
+.fi
+通常の使い方は、
+.nf
+
+ ($nfound,$timeleft) =
+ select($rout=$rin, $wout=$win, $eout=$ein, $timeout);
+
+また、何かが ready となるまでブロックしておくには、こうなります。
+
+.ie t \{\
+ $nfound = select($rout=$rin, $wout=$win, $eout=$ein, undef);
+'br\}
+.el \{\
+ $nfound = select($rout=$rin, $wout=$win,
+ $eout=$ein, undef);
+'br\}
+
+.fi
+ビットマスクはどれも undef にもできます。
+TIMEOUT は秒で指定され、小数点数でもかまいません。
+注意: すべての実装で $timeleft を返せるわけではありません。
+できない場合、常に与えられた $timeout に等しい値の $timeleft を
+返します。
+.Ip "semctl(ID,SEMNUM,CMD,ARG)" 8 4
+System V IPC 関数の semctl を呼び出します。 CMD が &IPC_STAT か
+&GETALL なら、ARG は返って来た semid_ds 構造体か、セマフォ値配列を
+保持する変数でなければなりません。
+ioctl 同様、エラーの場合 undefined 値が、0 の場合 "0 but true" が、
+それ以外の場合実際の戻り値が返されます。
+.Ip "semget(KEY,NSEMS,SIZE,FLAGS)" 8 4
+System V IPC 関数 semget を呼び出します。セマフォ id を返し、エラーの
+場合は undefined 値を返します。
+.Ip "semop(KEY,OPSTRING)" 8 4
+シグナルや wait のようなセマフォ操作を実行する System V IPC 関数 semop
+を呼び出します。
+OPSTRING は、semop 構造体に pack された配列でなければなりません。
+各 semop 構造体は \&'pack("sss", $semnum, $semop, $semflag)' で
+生成できます。セマフォ操作の数は、OPSTRING の長さによります。
+成功すると真を、エラーでは偽を返します。例として、以下のコードでは
+セマフォ id $semid のセマフォ $semnum を待ちます。
+.nf
+
+ $semop = pack("sss", $semnum, -1, 0);
+ die "Semaphore trouble: $!\en" unless semop($semid, $semop);
+
+.fi
+セマフォにシグナルを送るには、"-1" を "1" にします。
+.Ip "send(SOCKET,MSG,FLAGS,TO)" 8 4
+.Ip "send(SOCKET,MSG,FLAGS)" 8
+ソケットにメッセージを送ります。
+同名のシステムコールと同じフラグを用います。
+接続されていないソケットでは、送り先を TO として指定しなければ
+なりません。送った文字数を返します。エラーの場合は undefined 値を
+返します。
+.Ip "setpgrp(PID,PGRP)" 8 4
+指定した PID のカレントプロセスグループをセットします。 PID は、
+カレントプロセスでは 0 です。
+setpgrp(2) が実装されていないマシンでは、致命的エラーとなります。
+.Ip "setpriority(WHICH,WHO,PRIORITY)" 8 4
+プロセス、プロセスグループ、ユーザのカレントプライオリティを
+セットします。 (setpriority(2) を参照して下さい。)
+setpriority(2) が実装されていないマシンでは、致命的エラーになります。
+.Ip "setsockopt(SOCKET,LEVEL,OPTNAME,OPTVAL)" 8 3
+リクエストされたソケットオプションをセットします。
+エラーでは undefined を返します。
+引数を渡したいので無ければ、OPTVAL は undef 値を指定しても
+かまいません。
+.Ip "shift(ARRAY)" 8 6
+.Ip "shift ARRAY" 8
+.Ip "shift" 8
+配列の最初の要素を配列から除き、その要素を返します。
+配列は 1 だけ短くなり、他のすべての要素はずれます。
+配列に要素がないときは、undefined 値を返します。
+ARRAY を省略すると、メインプログラムでは @ARGV 配列を shift し、
+サブルーチンでは @_ 配列を shift します。
+(これは、辞書的に決められています)
+unshift(), push(), pop() を参照して下さい。
+shift() と unshift() は、push() と pop() が配列の右端に行なうのと
+同じことを、配列の左端で行ないます。
+.Ip "shmctl(ID,CMD,ARG)" 8 4
+System V IPC 関数 shmctl を呼び出します。 CMD が &IPC_STAT のとき、
+ARG は、返された shmid_ds 構造体を保持する変数でなくてはなりません。
+ioctl 同様の戻り値を返します。エラーでは undefined 値を、0 では
+"0 but true" を、それ以外では実際の値を返します。
+.Ip "shmget(KEY,SIZE,FLAGS)" 8 4
+System V IPC 関数 shmget を呼び出します。
+共有メモリのセグメント id を返します。エラーでは、undefined 値を
+返します。
+.Ip "shmread(ID,VAR,POS,SIZE)" 8 4
+.Ip "shmwrite(ID,STRING,POS,SIZE)" 8
+Syste V の共有メモリセグメント ID を、位置 POS から始まる
+サイズ SIZE にて attach し、copy in/out し、detach することで、読み込み
+と書き込みを行ないます。
+読み込み時、VAR は読まれたデータを保持する変数でなければ
+なりません。書き込み時に、STRING が長過ぎると、SIZE バイトだけが
+使われます。STRING が短過ぎると、SIZE バイトを埋めるのにヌルが
+書き込まれます。成功すると真を、エラーでは偽を返します。
+.Ip "shutdown(SOCKET,HOW)" 8 3
+ソケット接続を HOW で指示された流儀に従ってシャットダウンします。
+同名のシステムコールと同様に HOW を解釈します。
+.Ip "sin(EXPR)" 8 4
+.Ip "sin EXPR" 8
+EXPR (ラジアンで表現) のサインを返します。
+EXPR を省略すると $_ のサインを取ります。
+.Ip "sleep(EXPR)" 8 6
+.Ip "sleep EXPR" 8
+.Ip "sleep" 8
+EXPR 秒間スクリプトを止めます。 EXPR がなければ永久に止めます。
+プロセスに SIGALRM を送ることで、割り込まれます。
+実際に sleep した秒数を返します。
+sleep() は、しばしば alarm() を使って実装されているので、おそらく
+alarm() と sleep() は 混在させることはできないでしょう。
+.Ip "socket(SOCKET,DOMAIN,TYPE,PROTOCOL)" 8 3
+指定された種類のソケットをオープンして、ファイルハンドル SOCKET に
+結びつけます。
+DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同様に指定します。
+perl ライブラリファイルから簡単に適当な値を得るには、h2ph を
+sys/soket.h に対して実行する必要があるかもしれません。
+成功すると真を返します。
+プロセス間通信のセクションの例を参照して下さい。
+.Ip "socketpair(SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL)" 8 3
+指定されたドメインの指定された型で、無名のソケットペアを生成します。
+DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同じように指定します。
+実装されていない場合は、致命的エラーとなります。
+成功すると真を返します。
+.Ip "sort(SUBROUTINE LIST)" 8 9
+.Ip "sort(LIST)" 8
+.Ip "sort SUBROUTINE LIST" 8
+.Ip "sort BLOCK LIST" 8
+.Ip "sort LIST" 8
+LIST をソートし、ソート済みの配列値を返します。
+存在しない配列値は、削られます。
+SUBROUTINE や BLOCK が省略されると、標準的な文字の比較による順でソート
+します。
+0 より小さい整数、0 、0 より大きい整数を返すような SUBROUTINE の名前
+を指定すると、配列の要素の並べ方に従って順に並べ直します。
+(<=> と cmp 演算子は、このようなルーチンでは非常に便利です)
+SUBROUTINE は、スカラ変数名でもかまいません。その値として使用する
+サブルーチンの名前が入っていれば良いのです。
+SUBROUTINE 名の代わりに、BLOCK を指定して、
+無名のインラインソートサブルーチンとして用いることもできます。
+.Sp
+効率を良くするため、通常のサブルーチン呼び出しコードをバイパスしています。
+そのため、次のような影響があります。
+サブルーチンは再帰的であってはならず、
+比較される 2 要素は @_ を介してではなく、$a と $b を介して
+サブルーチンに渡されます。 (以下の例を参照して下さい。)
+これらは参照渡しなので、$a や $b を変更してはいけません。
+.Sp
+例:
+.nf
+
+.ne 2
+ # 辞書順のソート
+ @articles = sort @files;
+
+.ne 2
+ # 同じものだが、明示的なソートルーチン
+ @articles = sort {$a cmp $b} @files;
+
+.ne 2
+ # 同じものだが逆順
+ @articles = sort {$b cmp $a} @files;
+
+.ne 2
+ # 数値的に昇順でソート
+ @articles = sort {$a <=> $b} @files;
+
+.ne 2
+ # 数値的に降順でソート
+ @articles = sort {$b <=> $a} @files;
+
+.ne 5
+ # 明示的にサブルーチン名を使ったソート
+ sub byage {
+ $age{$a} <=> $age{$b}; # 整数と仮定
+ }
+ @sortedclass = sort byage @class;
+
+.ne 9
+ sub reverse { $b cmp $a; }
+ @harry = (\'dog\',\'cat\',\'x\',\'Cain\',\'Abel\');
+ @george = (\'gone\',\'chased\',\'yz\',\'Punished\',\'Axed\');
+ print sort @harry;
+ # AbelCaincatdogx と出力
+ print sort reverse @harry;
+ # xdogcatCainAbel と出力
+ print sort @george, \'to\', @harry;
+ # AbelAxedCainPunishedcatchaseddoggonetoxyz と出力
+
+.fi
+.Ip "splice(ARRAY,OFFSET,LENGTH,LIST)" 8 8
+.Ip "splice(ARRAY,OFFSET,LENGTH)" 8
+.Ip "splice(ARRAY,OFFSET)" 8
+配列から OFFSET と LENGTH で指定された要素を除き、LIST の要素と
+入れ替えます。
+配列から除かれた要素を返します。
+配列は必要に応じて伸縮されます。
+LENGTH を省略すると、OFFSET から先はすべて除かれます。
+以下は皆同等となります。 ($[ == 0 であると仮定した場合)
+.nf
+
+ push(@a,$x,$y)\h'|3.5i'splice(@a,$#a+1,0,$x,$y)
+ pop(@a)\h'|3.5i'splice(@a,-1)
+ shift(@a)\h'|3.5i'splice(@a,0,1)
+ unshift(@a,$x,$y)\h'|3.5i'splice(@a,0,0,$x,$y)
+ $a[$x] = $y\h'|3.5i'splice(@a,$x,1,$y);
+
+次の例では、配列長は配列の前に渡されると仮定しています:
+
+ sub aeq { # compare two array values
+ local(@a) = splice(@_,0,shift);
+ local(@b) = splice(@_,0,shift);
+ return 0 unless @a == @b; # 同じ長さ?
+ while (@a) {
+ return 0 if pop(@a) ne pop(@b);
+ }
+ return 1;
+ }
+ if (&aeq($len,@foo[1..$len],0+@bar,@bar)) { ... }
+
+.fi
+.Ip "split(/PATTERN/,EXPR,LIMIT)" 8 8
+.Ip "split(/PATTERN/,EXPR)" 8 8
+.Ip "split(/PATTERN/)" 8
+.Ip "split" 8
+文字列を文字列の配列に分けて、その配列を返します。
+(配列のコンテキストではない場合、見つかったフィールドの数を返し、
+split したものは @_ 配列に入れます。
+(配列のコンテキストでは、パターン区切りとして ?? を使うことで強制的に
+@_ に split させられますが、それでも配列値を返します。))
+EXPR を省略すると、$_ 文字列を split します。
+PATTERN も省略すると、空白文字 (/[\ \et\en]+/) で split します。
+PATTERN にマッチするものは何でもフィールドを分ける区切りと解釈されます。
+(区切りは 1 文字より長くてもよいことに注意して下さい。)
+LIMIT が指定されると、それを越えない数に split されます (少ない場合も
+あります) 。
+LIMIT が指定されないと、後に続くヌルフィールドは除かれます
+(pop()を使う人は良く覚えておいた方がよいでしょう) 。
+ヌル文字にマッチするパターン (ヌルパターン // と混同しないで下さい。
+// はヌル文字にマッチするパターンの一つにすぎません。) は、
+マッチするすべての点で EXPR を一文字ずつに split します。
+例えば:
+.nf
+
+ print join(\':\', split(/ */, \'hi there\'));
+
+.fi
+は、\*(L'h:i:t:h:e:r:e\*(R' を出力します。
+.Sp
+LIMIT パラメータは、行を部分的に split することに使われます。
+.nf
+
+ ($login, $passwd, $remainder) = split(\|/\|:\|/\|, $_, 3);
+
+.fi
+(リストに代入するとき、LIMIT が省略されていると perl は不必要な動作を
+避けるためにリストの変数の数より一つ大きい LIMIT を与えます。
+上記のリストでは LIMIT はデフォルトで 4 だったはずです。
+時間に制限のあるアプリケーションでは、本当に必要な数以上のフィールドに
+は split しないようにすべきです。)
+.Sp
+PATTERN が括弧を含むときは、区切りとしてマッチする文字列により、
+更に配列要素が作成されます。
+.Sp
+ split(/([,-])/,"1-10,20");
+.Sp
+は以下の配列値を作ります。
+.Sp
+ (1,'-',10,',',20)
+.Sp
+パターン /PATTERN/ は、実行時に変わるパターンを指定する式で
+置き換え可能です。
+(実行時コンパイルを一回にしたければ、/$variable/o を使って下さい。)
+特別なケースとして空白 (\'\ \') を指定すると、引数無しで split する
+場合と同様ですが、先頭に空白があってもヌルフィールドは作られません。
+つまり split(\'\ \') は、
+.IR awk
+のデフォルトの動作をエミュレートすることができるわけで、split(/\ /)
+は先頭に空白があると、最初にその数だけヌルフィールドを作ります。
+.Sp
+例:
+.nf
+
+.ne 5
+ open(passwd, \'/etc/passwd\');
+ while (<passwd>) {
+.ie t \{\
+ ($login, $passwd, $uid, $gid, $gcos, $home, $shell) = split(\|/\|:\|/\|);
+'br\}
+.el \{\
+ ($login, $passwd, $uid, $gid, $gcos, $home, $shell)
+ = split(\|/\|:\|/\|);
+'br\}
+ .\|.\|.
+ }
+
+.fi
+(上の例の $shell は改行文字を含みます。 chop() を参照して下さい。)
+.IR join
+を参照して下さい。
+.Ip "sprintf(FORMAT,LIST)" 8 4
+通常の printf 変換でフォーマットされる文字列を返します。
+* 文字はサポートされていません。
+.Ip "sqrt(EXPR)" 8 4
+.Ip "sqrt EXPR" 8
+EXPR の平方根を返します。
+EXPR を省略すると、$_ の平方根を返します。
+.Ip "srand(EXPR)" 8 4
+.Ip "srand EXPR" 8
+.I rand
+演算子のために、乱数用の seed をセットします。
+EXPR を省略すると、srand(time) を実行します。
+.Ip "stat(FILEHANDLE)" 8 8
+.Ip "stat FILEHANDLE" 8
+.Ip "stat(EXPR)" 8
+.Ip "stat SCALARVARIABLE" 8
+EXPR という名前のファイルや FILEHANDLE でオープンされたファイルの
+情報を示す 13 要素の配列を返します。
+stat が失敗するとヌルリストを返します。
+普通次のように使います:
+.nf
+
+.ne 3
+ ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks)
+ = stat($filename);
+
+.fi
+stat に特殊ファイルハンドル _ を渡すと、stat は実行されず最後に
+行なわれた stat やファイルテストで使われた stat 構造体の内容を
+返します。
+例:
+.nf
+
+.ne 3
+ if (-x $file && (($d) = stat(_)) && $d < 0) {
+ print "$file is executable NFS file\en";
+ }
+
+.fi
+(この例は、NFS 下でデバイス番号が負になるマシンでのみ動作します。)
+.Ip "study(SCALAR)" 8 6
+.Ip "study SCALAR" 8
+.Ip "study"
+SCALAR (指定しなければ $_) について、それが次に変更される前に多くの
+パターンマッチを予想してあらかじめ行います。
+検索をするパターンの性質や数、検索される文字列中の文字の出現頻度分布
+によっては、時間を節約できるかもしれませんし、できないかもしれません。
+\*(--多分これを使った場合と使わない場合で、実行時どちらが速いかを
+比べてみたいでしょう。たくさんの短い定数文字列(より複雑なパターンの
+定数部を含む)をスキャンするループで最も恩恵にあずかれるでしょう。
+一度に一つの study しか効果がありません。\*(--別のスカラを study
+すると、先に study したものは \*(L"unstudied\*(R" となってしまいます。
+(study の動作の仕方は次の通りです: 検索される文字列のすべての文字の
+リンクリストを作ります。そうすると例えば、どこに \*(L'k\*(R' の文字が
+あるかがすべてわかるわけです。いくつかの C のプログラムと英文から
+作成された統計頻度表に基づき、各検索文字について、最も頻度が少ない
+文字を選びます。この \*(L"頻度が少ない\*(R" 文字を調べるのです。)
+.Sp
+次の例は、あるパターンを含むすべての行の前にインデックスを含むエントリを
+挿入します:
+.nf
+
+.ne 8
+ while (<>) {
+ study;
+ print ".IX foo\en" if /\ebfoo\eb/;
+ print ".IX bar\en" if /\ebbar\eb/;
+ print ".IX blurfl\en" if /\ebblurfl\eb/;
+ .\|.\|.
+ print;
+ }
+
+.fi
+/\ebfoo\eb/ を検索するとき、\*(L'f\*(R' は \*(L'o\*(R' よりも頻度が
+少ないため、$_ の中で \*(L'f\*(R' を含む位置が探されます。
+一般に、病的な場合を除いて、これは非常にうまくいきます。
+唯一、最初の時点でリンクリストを作成するためにかかる以上の
+時間を節約できるかが問題になります。
+.Sp
+実行するまで解らない文字列を検索しなければならない場合、全ループを
+一つの文字列として解析し eval することで、すべてのパターンを毎回
+再コンパイルするのを避けることができることを覚えておきましょう。
+それに加えて全ファイルが 1 レコードになるように $/ を undef すると、
+大変速くなり、fgrep のように特殊化したプログラムより速くなることも
+多いです。
+以下の例は、ファイルのリスト (@files) と単語のリスト (@words) を
+検索し、マッチするファイル名を出力します:
+.nf
+
+.ne 12
+ $search = \'while (<>) { study;\';
+ foreach $word (@words) {
+ $search .= "++\e$seen{\e$ARGV} if /\e\eb$word\e\eb/;\en";
+ }
+ $search .= "}";
+ @ARGV = @files;
+ undef $/;
+ eval $search; # これは(メモリ不足で)泣きそう
+ $/ = "\en"; # 普通の入力区切りに戻そう
+ foreach $file (sort keys(%seen)) {
+ print $file, "\en";
+ }
+
+.fi
+.Ip "substr(EXPR,OFFSET,LEN)" 8 2
+.Ip "substr(EXPR,OFFSET)" 8 2
+EXPR から部分文字列を取り出し、それを返します。
+$[ をセットしない限り、最初の文字はオフセット 0 です。
+OFFSET が負だと、文字列の終りから OFFSET だけ離れた位置から始めます。
+LEN を省略すると、終端までのすべての文字列を返します。
+substr() 関数は左辺値としても使えます。その場合 EXPR は左辺値
+でなくてはなりません。
+LEN より短いものを代入すると、文字列は短くなり、長いものを代入すると
+それを含められるように長くなります。
+文字列を同じ長さに保つためには、sprintf() を使ってパディングまたは
+切り捨てをしなければならないかもしれません。
+.Ip "symlink(OLDFILE,NEWFILE)" 8 2
+OLDFILE へのシンボリックリンク NEWFILE を作成します。
+成功すると 1 を、失敗すると 0 を返します。
+シンボリックリンクをサポートしないシステムでは、実行時に致命的エラー
+となります。
+これをチェックするには、eval を使います:
+.nf
+
+ $symlink_exists = (eval \'symlink("","");\', $@ eq \'\');
+
+.fi
+.Ip "syscall(LIST)" 8 6
+.Ip "syscall LIST" 8
+リストの最初の要素で指定されたものに、残りの要素を引数として付けて、
+システムコールを呼び出します。
+実装されていないと致命的エラーとなります。
+引数は次のように解釈されます: 与えられた引数が数字なら、引数は
+整数として渡されます。そうでなければ、文字列へのポインタが渡されます。
+結果が受け取れるように、書き込まれるべき文字列を十分長くしておくのは、
+あなたの責任です。
+数字の引数がリテラルでなく、それまで数字のコンテキストで解釈されて
+いなかったものなら、強制的に数字に見せるように、
+0 を足す必要があるかもしれません。
+.nf
+
+ # h2ph を実行しておく必要があるかもしれません
+ require 'syscall.ph';
+ syscall(&SYS_write, fileno(STDOUT), "hi there\en", 9);
+
+.fi
+.Ip "sysread(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
+.Ip "sysread(FILEHANDLE,SCALAR,LENGTH)" 8 5
+システムコール read(2) を使って、指定した FILEHANDLE から
+LENGTH バイトのデータを読み込み、変数 SCALAR に格納します。
+これは標準入出力を経由しないので、read と混在して使うと、
+混乱するかもしれません。
+実際に読み込まれたバイト数を返します。エラーの場合は undef を返します。
+SCALAR は実際に読み込まれた長さによって伸縮します。
+文字列の始めでなく途中にデータを格納するように、OFFSET を指定できます。
+.Ip "system(LIST)" 8 6
+.Ip "system LIST" 8
+\*(L"exec LIST\*(R" と全く同じことを行ないますが、違いは最初に fork が
+実行されて、親プロセスは子プロセスが終了するのを待つことです。
+引数の処理は、引数の数によって変わることに注意して下さい。
+戻り値は、wait() で返るプログラムの終了時ステータスになります。
+実際の終了時ステータスを得るには、256 で割って下さい。
+.IR exec
+を参照。
+.Ip "syswrite(FILEHANDLE,SCALAR,LENGTH,OFFSET)" 8 5
+.Ip "syswrite(FILEHANDLE,SCALAR,LENGTH)" 8 5
+システムコール write(2) を使って、指定した FILEHANDLE に
+変数 SCALAR から LENGTH バイトのデータを書き込みます。
+これは標準入出力を経由しないので、print と混在して使うと、
+混乱するかもしれません。
+実際に書き込まれたバイト数を返します。エラーの場合は undef を返します。
+OFFSET で、文字列の始めでなく途中からデータを読むように指定できます。
+.Ip "tell(FILEHANDLE)" 8 6
+.Ip "tell FILEHANDLE" 8 6
+.Ip "tell" 8
+FILEHANDLE の現在のファイル位置を返します。
+FILEHANDLE は、実際のファイルハンドルの名前を与える式でもかまいません。
+FILEHANDLE を省略すると、最後に読んだファイルを使います。
+.Ip "telldir(DIRHANDLE)" 8 5
+.Ip "telldir DIRHANDLE" 8
+DIRHANDLE について readdir() ルーチンの現在の位置を返します。
+この値は、ディレクトリの特定の位置をアクセスするために、seekdir() の
+引数に使います。
+相当するシステムライブラリルーチン同様、directory compaction について
+は同じ注意が必要です。
+.Ip "time" 8 4
+1970 年 1 月 1 日 00:00:00 (UTC) からの通算の秒数(閏秒無し)を返します。
+gmtime() や localtime() に使うことができます。
+.Ip "times" 8 4
+現在のプロセスと子プロセスのユーザ、システム時間(秒)からなる 4 要素の
+配列を返します。
+.Sp
+ ($user,$system,$cuser,$csystem) = times;
+.Sp
+.Ip "tr/SEARCHLIST/REPLACEMENTLIST/cds" 8 5
+.Ip "y/SEARCHLIST/REPLACEMENTLIST/cds" 8
+SEARCHLIST にある文字が出現したら、すべて REPLACEMENTLIST の相当する
+文字に変換します。
+変換または削除された文字の数を返します。
+=~ や !~ 演算子を介した文字列の指定をしなかった場合、$_ 文字列が
+変換されます。
+(=~ で指定した文字列は、スカラ変数か配列の要素かそれらへの代入
+でなければいけません。つまり、左辺値ということになります。)
+.I sed
+信者のために、
+.I tr
+の別名
+.I y
+が用意されています。
+SEARCHLIST が [], <>, () で区切られていると、REPLACEMENTLIST は、
+それ自身のクォートを持ち、それは [], <>, () であっても、そうでなくても
+良いことになります。例えば、
+tr[A-Z][a-z] または tr(+-*/)/ABCD/ のようになります。
+.Sp
+c 修飾子が指定されると、SEARCHLIST の文字セットは補間されます。
+d 修飾子が指定されると、SEARCHLIST で指定された文字で REPLACEMENTLIST
+に対応するものがないものは皆、削除されます。
+(これは、SEARCHLIST で見つかったものを何でも削除してしまう
+ような
+.I tr
+プログラムの挙動よりも、やや柔軟です。)
+s 修飾子が指定されると、変換されて同じ文字が続いたとき、
+それを 1 文字に縮めます。
+.Sp
+d 修飾子が使われると、REPLACEMENTLIST は常に指定された通りに
+解釈されます。それ以外の場合で、REPLACEMENTLIST が SEARCHLIST より
+短いときは、同じ長さになるまで最後の文字が繰り返されます。
+REPLACEMENTLIST がヌルだと、SEARCHLIST がコピーされます。
+これは、あるクラスに含まれる文字をカウントしたり、あるクラスの文字の
+重複を縮めるときに便利です。
+.Sp
+例:
+.nf
+
+ $ARGV[1] \|=~ \|y/A\-Z/a\-z/; \h'|3i'# 小文字に統一します
+
+ $cnt = tr/*/*/; \h'|3i'# $_ の中の * を数えます
+
+ $cnt = tr/0\-9//; \h'|3i'# $_ の中の数字を数えます
+
+ tr/a\-zA\-Z//s; \h'|3i'# bookkeeper \-> bokeper
+
+ ($HOST = $host) =~ tr/a\-z/A\-Z/;
+
+ y/a\-zA\-Z/ /cs; \h'|3i'# アルファベット以外を 1 文字の空白にします
+
+ tr/\e200\-\e377/\e0\-\e177/;\h'|3i'# 8 ビット目を消します
+
+.fi
+.Ip "truncate(FILEHANDLE,LENGTH)" 8 4
+.Ip "truncate(EXPR,LENGTH)" 8
+FILEHANDLE や EXPR の名前のファイルを指定した長さに切り詰めます。
+システムに truncate が実装されていないと、致命的エラーになります。
+.Ip "umask(EXPR)" 8 4
+.Ip "umask EXPR" 8
+.Ip "umask" 8
+プロセスに umask をセットし、変更前の値を返します。
+EXPR が省略されると、単に現在の umask を返します。
+.Ip "undef(EXPR)" 8 6
+.Ip "undef EXPR" 8
+.Ip "undef" 8
+EXPR の値を undefined とします。これは左辺値でなければなりません。
+スカラ値、配列全体、サブルーチン名 (& を使う) の場合でのみ使えます。
+(undef は、多分ほとんどの予約変数、dbm 配列値では期待する動作となりません。)
+undef は、常に undefined 値を返します。
+EXPR を省略することもできます。その場合は何も undef されませんが、
+それでも undefined 値を得ることができます。
+例えば、サブルーチンから return するときです。
+例:
+.nf
+
+.ne 6
+ undef $foo;
+ undef $bar{'blurfl'};
+ undef @ary;
+ undef %assoc;
+ undef &mysub;
+ return (wantarray ? () : undef) if $they_blew_it;
+
+.fi
+.Ip "unlink(LIST)" 8 4
+.Ip "unlink LIST" 8
+リストに含まれるファイルを削除します。
+削除に成功したファイルの数を返します。
+.nf
+
+.ne 2
+ $cnt = unlink \'a\', \'b\', \'c\';
+ unlink @goners;
+ unlink <*.bak>;
+
+.fi
+注意: unlink は、自分がスーパユーザで
+.IR perl
+に
+.B \-U
+フラグを付けている場合を除くとディレクトリを消去はしません。
+これらの条件がそろったとしても、ディレクトリの unlink は
+システムにダメージを与えることがあるので、気をつけて下さい。
+代わりに rmdir を使って下さい。
+.Ip "unpack(TEMPLATE,EXPR)" 8 4
+unpack は pack の逆を行ないます: 構造体を示す文字列を引数に取り、
+それを配列値に出力し、配列値を返します。
+(スカラのコンテキストでは、生成された最初の値のみを返します。)
+TEMPLATE は、pack 関数と全く同じフォーマットになります。
+以下は、substr を実行するサブルーチンです:
+.nf
+
+.ne 4
+ sub substr {
+ local($what,$where,$howmuch) = @_;
+ unpack("x$where a$howmuch", $what);
+ }
+
+.ne 3
+そして、
+
+ sub ord { unpack("c",$_[0]); }
+
+.fi
+というのもあります。
+更に、フィールドの前に %<数字> の添字を付けることにより、
+項目そのものの代わりに、項目の<数字>ビットのチェックサムが欲しいと
+いう指定になります。
+デフォルトは、16 ビットのチェックサムです。
+次の例で、System V の sum プログラムと同じ数が計算されます:
+.nf
+
+.ne 4
+ while (<>) {
+ $checksum += unpack("%16C*", $_);
+ }
+ $checksum %= 65536;
+
+.fi
+.Ip "unshift(ARRAY,LIST)" 8 4
+視点によって、
+.IR shift
+の逆、または
+.IR push
+の逆を行ないます。
+LIST を配列の前に付け加え、新しい配列の要素の数を返します。
+.nf
+
+ unshift(ARGV, \'\-e\') unless $ARGV[0] =~ /^\-/;
+
+.fi
+.Ip "utime(LIST)" 8 2
+.Ip "utime LIST" 8 2
+リストの各ファイルのアクセス時刻と最終変更時刻を変えます。
+リストの最初の二つの要素には、*数値*で表されたアクセス時刻と変更時刻が
+この順で入っていなければなりません。
+変更に成功したファイルの数が返ります。
+各ファイルの inode 変更時刻には現在時間がセットされます。
+以下は、\*(L"touch\*(R" コマンドの例です:
+.nf
+
+.ne 3
+ #!/usr/bin/perl
+ $now = time;
+ utime $now, $now, @ARGV;
+
+.fi
+.Ip "values(ASSOC_ARRAY)" 8 6
+.Ip "values ASSOC_ARRAY" 8
+名前付き連想配列のすべての値からなる普通の配列を返します。
+値は、見かけ上ランダムな順で返るように見えますが、同じ連想配列に対して、
+keys() 関数 や each() 関数が生成するものと同じ順になります。
+keys() と each() を参照して下さい。
+.Ip "vec(EXPR,OFFSET,BITS)" 8 2
+文字列を unsigned integer のベクトルとして扱い、指定した
+ビットフィールドの値を返します。
+代入もできます。
+BITSは、2 の累乗で 1 から 32 まででなければなりません。
+.Sp
+vec() に生成されたベクトルは、論理演算子 |, &, ^ で操作することができ、
+両方のオペランドが文字列のとき、
+ビットベクトル演算をするものとみなされます。
+古いプログラムを守るために、プログラム中に少なくとも一つの vec() が
+ないと、この解釈はなされません。
+.Sp
+ビットベクトルを 0 や 1 の文字列や配列に変換するには、
+以下を使って下さい:
+.nf
+
+ $bits = unpack("b*", $vector);
+ @bits = split(//, unpack("b*", $vector));
+
+.fi
+ビットの正確な長さがわかるならば、* の代わりに使うことができます。
+.Ip "wait" 8 6
+子プロセスが終了するのを待ち、死んだプロセスの pid を返します。
+子プロセスがないときは、-1 を返します。
+終了時ステータスは $? に返されます。
+.Ip "waitpid(PID,FLAGS)" 8 6
+特定の子プロセスが終了するのを待ち、死んだプロセスの pid を返します。
+そのような子プロセスがなければ、-1 を返します。
+終了時ステータスは $? に返されます。
+次のように書くと、
+.nf
+
+ require "sys/wait.h";
+ .\|.\|.
+ waitpid(-1,&WNOHANG);
+
+.fi
+どのプロセスに対しても、non-blocking wait を実行できます。
+non-blocking wait は、
+.I waitpid (2)
+か、または
+.I wait4 (2)
+システムコールをサポートしているマシンでのみ使えます。
+しかし、FLAGS 0 での 特殊な pid の wait はどこでも実装されています。
+(perl は、終了したものの perl スクリプトには採り入れられていない
+プロセスのステータス値を覚えていることでシステムコールをエミュレート
+します。)
+.Ip "wantarray" 8 4
+現在実行しているサブルーチンのコンテキストが配列値なら真を返します。
+スカラのコンテキストに見えれば、偽を返します。
+.nf
+
+ return wantarray ? () : undef;
+
+.fi
+.Ip "warn(LIST)" 8 4
+.Ip "warn LIST" 8
+\*(L"die\*(R" と同じようなメッセージを標準エラー出力に出しますが、
+終了しません。
+.Ip "write(FILEHANDLE)" 8 6
+.Ip "write(EXPR)" 8
+.Ip "write" 8
+指定したファイルに、関連付けられたフォーマットを使って、
+フォーマットレコード (複数行も可) を書き込みます。
+デフォルトで、フォーマットはファイルハンドルと同じ名前を持つものに
+なりますが、$~ 変数にフォーマットの名前を明示的に割り当てることで、
+現在の出力チャンネル (
+.IR select
+を参照して下さい) に対するフォーマットをセットしてもかまいません。
+.Sp
+最上位の form 生成は自動的に行なわれます:
+フォーマットされたレコードに対して、現在のページに十分な空きがない
+場合、改頁が書き込まれて、次のページに移ります。
+新しいページのヘッダには、特別なページ先頭フォーマットが使われ、
+その後レコードが書き込まれます。
+デフォルトでページ先頭フォーマットは、
+ファイルハンドルの名前に \*(L"_TOP\*(R" を付け加えたものになりますが、
+ファイルハンドルが select されているときは、$^ 変数に名前を割り当てる
+ことで、好きなフォーマットを動的にセットしてもかまいません。
+現在のページに残っている行数は、変数 $- に保持されていますが、0 を
+セットすることがで、強制的に新しいページに移ることができます。
+.Sp
+FILEHANDLE が指定されないと、現在のデフォルト出力チャンネルに
+出力されます。デフォルト出力は、起動時
+.I STDOUT
+ですが、
+.I select
+演算子で変更できます。
+FILEHANDLE が EXPR のとき、その式が実行時に評価され、結果の文字列が
+FILEHANDLE の名前として用いられます。
+フォーマットについての詳細は、後述のフォーマットのセクションを
+参照して下さい。
+.Sp
+write は read の*逆ではない*ことに注意して下さい。
+.Sh "優先度"
+.I perl
+の演算子は次のような結合規則と優先度を持っています:
+.nf
+
+なし\h'|1i'print printf exec system sort reverse
+\h'1.5i'chmod chown kill unlink utime die return
+左から右\h'|1i',
+右から左\h'|1i'= += \-= *= など
+右から左\h'|1i'?:
+なし\h'|1i'.\|.
+左から右\h'|1i'||
+左から右\h'|1i'&&
+左から右\h'|1i'| ^
+左から右\h'|1i'&
+なし\h'|1i'== != <=> eq ne cmp
+なし\h'|1i'< > <= >= lt gt le ge
+なし\h'|1i'chdir exit eval reset sleep rand umask
+なし\h'|1i'\-r \-w \-x など
+左から右\h'|1i'<< >>
+左から右\h'|1i'+ \-
+左から右\h'|1i'* / % x
+左から右\h'|1i'=~ !~
+右から左\h'|1i'! ~ 単項の-
+右から左\h'|1i'**
+なし\h'|1i'++ \-\|\-
+左から右\h'|1i'\*(L'(\*(R'
+
+.fi
+始めの方で述べたように、リストを引数にする演算子 (print 他) や、
+任意の単項演算子 (chdir 他) のすぐ後に同じ行の次のトークンとして
+左括弧がある場合、括弧の中の演算子と引数は、丁度通常の
+ファンクションコールと同様に再優先とみなされます。
+例:
+.nf
+
+ chdir $foo || die;\h'|3i'# (chdir $foo) || die
+ chdir($foo) || die;\h'|3i'# (chdir $foo) || die
+ chdir ($foo) || die;\h'|3i'# (chdir $foo) || die
+ chdir +($foo) || die;\h'|3i'# (chdir $foo) || die
+
+しかし、* は || よりも優先度が高いので:
+
+ chdir $foo * 20;\h'|3i'# chdir ($foo * 20)
+ chdir($foo) * 20;\h'|3i'# (chdir $foo) * 20
+ chdir ($foo) * 20;\h'|3i'# (chdir $foo) * 20
+ chdir +($foo) * 20;\h'|3i'# chdir ($foo * 20)
+
+ rand 10 * 20;\h'|3i'# rand (10 * 20)
+ rand(10) * 20;\h'|3i'# (rand 10) * 20
+ rand (10) * 20;\h'|3i'# (rand 10) * 20
+ rand +(10) * 20;\h'|3i'# rand (10 * 20)
+
+.fi
+括弧がないと、print, sort, chmod といったリストを引数に持つ演算子は、
+演算子の左側を見ているか右側を見ているかによって、非常に高くも
+非常に低くもなります。
+例えば、次の例で
+.nf
+
+ @ary = (1, 3, sort 4, 2);
+ print @ary; # 1324 を出力
+
+.fi
+sort の右側のコンマは、sort の前に評価されますが、左側のコンマは、
+後で評価されます。
+言い換えると、リストを引数に取る演算子は、それに続くすべての引数を
+拾う傾向にあり、前の式にしたがって単一の命令語のように振舞います。
+括弧に注意深くなければいけないことを覚えておいて下さい:
+.nf
+
+.ne 3
+ # これらを評価すると、print を実行する前に exit します。
+ print($foo, exit); # 明らかにやりたいこととは違います
+ print $foo, exit; # これもそう
+
+.ne 4
+ # これらは、exit を評価する前に print を実行します。
+ (print $foo), exit; # これはやりたいことです
+ print($foo), exit; # これもそう
+ print ($foo), exit; # さらにこれも
+
+また、これは
+
+ print ($foo & 255) + 1, "\en";
+
+.fi
+多分一目見て期待する動作とは違うことを実行するでしょう。
+.Sh "サブルーチン"
+サブルーチンは次のように宣言されます:
+.nf
+
+ sub NAME BLOCK
+
+.fi
+.PP
+ルーチンに渡されたすべての引数は、配列 @_ に入ります。
+これは、($_[0], $_[1], .\|.\|.) です。
+配列 @_ はローカル配列ですが、その値は実際のスカラパラメータへの参照
+になります。
+サブルーチンの戻り値は、最後の式が評価されたときの値で、配列値にも
+スカラ値にもなり得ます。
+また、リターン文は戻り値を指定してサブルーチンを抜けることにも
+使われます。
+ローカル変数を作成するには、
+.I local
+演算子を参照して下さい。
+.PP
+サブルーチンは、
+.I do
+演算子かまたは & 演算子を使って呼ばれます。
+.nf
+
+.ne 12
+例:
+
+ sub MAX {
+ local($max) = pop(@_);
+ foreach $foo (@_) {
+ $max = $foo \|if \|$max < $foo;
+ }
+ $max;
+ }
+
+ .\|.\|.
+ $bestday = &MAX($mon,$tue,$wed,$thu,$fri);
+
+.ne 21
+例:
+
+ # 行を取得し、空白で始まる行は
+ # 続きの行として結合されます。
+ sub get_line {
+ $thisline = $lookahead;
+ line: while ($lookahead = <STDIN>) {
+ if ($lookahead \|=~ \|/\|^[ \^\e\|t]\|/\|) {
+ $thisline \|.= \|$lookahead;
+ }
+ else {
+ last line;
+ }
+ }
+ $thisline;
+ }
+
+ $lookahead = <STDIN>; # 最初の行を取得します
+ while ($_ = do get_line(\|)) {
+ .\|.\|.
+ }
+
+.fi
+.nf
+.ne 6
+引数に名前を付けるには、ローカルリストへの配列の代入を使います:
+
+ sub maybeset {
+ local($key, $value) = @_;
+ $foo{$key} = $value unless $foo{$key};
+ }
+
+.fi
+代入は値をコピーするので、これは参照呼び出しを値呼び出しに換える効果も
+あります。
+.Sp
+サブルーチンは再帰的に呼び出せます。
+サブルーチンが & の型を使って呼び出されるとき、引数リストは省略
+できます。
+省略されると、サブルーチンには @_ 配列がセットされません;
+その代わり、呼び出し時に @_ 配列は、サブルーチンには可視となります。
+.nf
+
+ do foo(1,2,3); # 三つの引数を渡します
+ &foo(1,2,3); # 上と同じです
+
+ do foo(); # ヌルリストを渡します
+ &foo(); # 上と同じです
+ &foo; # 引数を渡しません\*(--より効率的
+
+.fi
+.Sh "参照渡し"
+サブルーチンへ配列の値を渡すのではなく、その名前を渡して、サブルーチン
+がローカルなコピーに対してではなくグローバルな配列を変更できるように
+したいときがあるでしょう。
+perl では名前を持つすべてのオブジェクトに対して、その名前の前に * を
+つけて参照できます: *foo のように。
+これが評価されると、ファイルハンドル、フォーマット、サブルーチンを含む、
+その名前を持つすべてのオブジェクトを表すスカラ値となります。
+local() 演算子に代入されたとき、その名前がそれに代入された * 値を
+参照するようになります。
+例:
+.nf
+
+ sub doubleary {
+ local(*someary) = @_;
+ foreach $elem (@someary) {
+ $elem *= 2;
+ }
+ }
+ do doubleary(*foo);
+ do doubleary(*bar);
+
+.fi
+*name への代入は今のところ local() の中でしか勧められません。
+実際には *name への代入はどこででもできますが、それ以前の *name への
+参照が永遠に尾を引くかもしれません。
+これにより困ったことになるかもしれませんし、ならないかもしれません。
+.Sp
+スカラはすでに参照渡しですが、このメカニズムを用いなくても、
+関心のある $_[nnn] への明示的な参照を行うことで、スカラの引数を
+変更することができます。
+すべての要素をスカラで渡すことで、すべての配列の要素を変更することが
+できますが、push や pop 、配列のサイズの変更には * メカニズムを
+使わなければなりません。
+どんな場合でも、* メカニズムは多分、より効率が良いはずです。
+.Sp
+*name 値は表示不能なバイナリデータを含むので、print の引数または printf
+や sprintf の %s 引数として使われると、表示を綺麗にするため '*name' と
+いう値になります。
+.Sp
+通常 LIST メカニズムはすべての配列値をマージしてしまって、個々の配列を
+取り出せなくなってしまうので、配列を変更したくないとしても、
+このメカニズムは一つの LIST にたくさんの配列を渡すのに便利です。
+.Sh "正規表現"
+パターンマッチで使われるパターンは、バージョン 8 regexp ルーチンで供給
+されているものと同じ正規表現です。
+(実際、このルーチンは Henry Spencer の自由に再配布可能な再実装 V8 ルーチン
+から抜き取って使われています。)
+それに加えて、\ew は英数字 (\*(L"_\*(R" を含む) にマッチし、
+\eW は非英数字にマッチします。
+単語境界は \eb に、非単語境界は \eB に。
+空白文字は \es に、非空白文字は \eS に。
+数字は \ed に、非数字は \eD にマッチします。
+\ew, \es, \ed はキャラクタクラスでも使えます。
+また、\en, \er, \ef, \et, \eNNN は通常と同じ意味となります。
+キャラクタクラスの中では、\eb は単語境界ではなく、
+バックスペースを表します。
+選択候補は、| で区切ります。
+括弧構造 \|(\ .\|.\|.\ \|) を使うと、\e<数字> はその数字番目の
+部分文字列にマッチします。
+(パターンの外では、数字の前に \e の代わりに常に $ を用いなければ
+なりません。$<数字> (と $\`, $&, $\') の有効範囲は、閉じたブロックの
+終りか、eval 文字列か、次のパターンマッチまでとなります。
+\e<数字> 記述は、ときに現在のパターンの外に作用しますが、それに頼って
+はいけません。)
+括弧は好きなだけたくさん使ってかまいません。9 個以上の部分文字列が
+あると、変数 $10, $11, ... が対応する部分文字列を参照します。
+後方参照の前に少なくともその数の左括弧があると、パターンの中では、
+\e10, \e11 等が部分文字列を後方参照します。
+そうでなければ (下位互換性のために) \e10 は \e010 のバックスペースと
+同じ、\e11 は \e011 のタブと同じというようになります。
+(\e1 から \e9 は常に後方参照です。)
+.PP
+$+ は、最後の括弧でマッチしたものを返します。
+$& は、マッチした文字列全体を返します。
+($0 が同じものを返していましたが、今は違います。)
+$\` はマッチした文字列の前の全文字列を返します。
+$\' はマッチした文字列の後の全文字列を返します。
+例:
+.nf
+
+ s/\|^\|([^ \|]*\|) \|*([^ \|]*\|)\|/\|$2 $1\|/; # 最初の二語を交換
+
+.ne 5
+ if (/\|Time: \|(.\|.\|):\|(.\|.\|):\|(.\|.\|)\|/\|) {
+ $hours = $1;
+ $minutes = $2;
+ $seconds = $3;
+ }
+
+.fi
+デフォルトで、^ 文字は文字列の先頭に、$ 文字は文字列の最後
+(または最後の改行文字の前) にマッチすることが保障されており、
+.I perl
+は文字列が一行しか含んでいないという仮定のもとで、
+ある最適化を行なっています。
+改行が埋め込まれた場合の ^ や $ の振舞いは、矛盾を生じるでしょう。
+しかし、^ が文字列内の任意の改行の後に、$ が改行の前にマッチするよう
+な、文字列を複数行バッファとして使いたい場合があるかもしれません。
+少々のオーバヘッドを覚悟すれば、変数 $* に 1 をセットすることで、
+それができます。
+$* を 0 に設定し直せば、
+.I perl
+は元の動作に戻ります。
+.PP
+複数行の置換を用意にするために、. 文字は改行文字にはマッチしません
+(たとえ $* が 0 であっても) 。
+特に次の例では、改行文字が $_ 文字列に残ります:
+.nf
+
+ $_ = <STDIN>;
+ s/.*(some_string).*/$1/;
+
+改行文字が要らないなら、次のどれかを試して下さい。
+
+ s/.*(some_string).*\en/$1/;
+ s/.*(some_string)[^\e000]*/$1/;
+ s/.*(some_string)(.|\en)*/$1/;
+ chop; s/.*(some_string).*/$1/;
+ /(some_string)/ && ($_ = $1);
+
+.fi
+正規表現のどの要素の後でも中括弧で囲んだ数字を {n,m} の形で
+置くことができ、n で要素がマッチする最小の回数を、m で最大の回数を
+指定します。
+{n} の形は、{n,n} と同等で、正確に n 回にマッチします。
+{n,} の形は、n 回以上にマッチします。
+(中括弧が他のコンテキストの中に出て来た場合は、通常の文字として
+扱われます。)
+* 修飾子は {0,} と、+ 修飾子は {1,} と、? 修飾子は {0,1} と
+同等となります。
+n と m のサイズには制限がありませんが、大きい数字はより多くのメモリを
+消費するでしょう。
+.Sp
+.I perl
+では、
+\eb, \ew, \en のような
+バックスラッシュのつくメタキャラクタは、すべて英数字であること
+に気がつかれることでしょう。
+他の正規表現言語とは違って、英数字でないバックスラッシュシンボルは
+ありません。
+従って、\e\e, \e(, \e), \e<, \e>, \e{, \e} というようなものは皆、
+メタキャラクタではなく、文字そのものとして解釈されます。
+これにより、メタキャラクタに含まれるのではないかと心配になるような
+文字列をパターンに使って、引用することが容易になります。
+英数字でないすべての文字の引用は、このようにします:
+.nf
+
+ $pattern =~ s/(\eW)/\e\e$1/g;
+
+.fi
+.Sh "フォーマット"
+.I write
+演算子で使う出力レコードフォーマットは、次のように
+宣言します:
+.nf
+
+.ne 3
+ format NAME =
+ FORMLIST
+ .
+
+.fi
+NAME を省略すると、\*(L"STDOUT\*(R" フォーマットが定義されます。
+FORMLIST は複数行から成り、各行は次の三つの型のいずれかとなります:
+.Ip 1. 4
+コメント
+.Ip 2. 4
+一つの出力行のフォーマットを示す \*(L"picture\*(R" 行
+.Ip 3. 4
+picture 行に値を与える引数行
+.PP
+picture 行は、その中で値が置換される特定のフィールドを除けば、
+見た目そのままに出力されます。
+各 picture フィールドは、@ か ^ で始まります。
+@ フィールド (配列の先頭の @ と混乱しないように) は通常の場合
+で、^ フィールドは基本的な複数行テキストブロックを埋めるのに
+使われます。
+フィールドの長さは、<, >, | の繰り返しで埋めることで指定し、それぞれ
+左寄せ、右寄せ、センタリングを意味します。
+右寄せの別な形として、# 文字を (それに . を付けても良い)
+数字フィールドの指定として使うこともできます。
+(@ のかわりに ^ を使うと、undefined なフィールドが空白になります。)
+これらのフィールドに与えられた値が改行を含むと、改行までのテキスト
+のみが出力されます。
+特殊フィールド @* は複数行の値の出力に使われます。
+その行に書かれているのは @* だけでなくてはいけません。
+.PP
+値は、次の行で指定され、picture フィールドと同じ順となります。
+値はカンマで区切られていなければなりません。
+.PP
+@ でなく ^ で始まる picture フィールドは、特別な扱いになります。
+指定する値は、テキスト文字列が入っているスカラ変数名でなければ
+いけません。
+.I perl
+は、フィールドに入れられるだけたくさんのテキストを入れ、変数が次に参照
+されるときに続きが出力されるように、文字列の先頭からそのテキストを削ります。
+通常、テキストのブロックを出力するには、垂直なスタックの中にフィールド
+の一続きを入れて使います。
+全部を入れるにはテキストが長すぎるとき、そうしたければ
+最後のフィールドを .\|.\|. で終らせることもできます。
+変数 $: を好きな文字のリストにすることで、テキストを分割する文字を
+変えることができます。
+.PP
+^ フィールドを使うと、可変長のレコードを生成するので、テキストの
+フォーマットを短くしたいとき、チルダ (~) 文字を行のどこかに入れて
+空行を抑制することができます。
+(可読性を高めるため、普通はできれば行頭に入れるべきです。)
+チルダは出力時には空白に変換されます。
+一つ目に続けて二つ目のチルダを書くと、行中のすべてのフィールドが
+なくなるまで、その行を繰り返します。
+(いろいろな @ のフィールドを使うとき、与える式はいつも同じ値ではない方が
+良いでしょう。)
+.PP
+例:
+.nf
+.lg 0
+.cs R 25
+.ft C
+
+.ne 10
+# /etc/passwd ファイルの形式
+format STDOUT_TOP =
+\& Passwd File
+Name Login Office Uid Gid Home
+------------------------------------------------------------------
+\&.
+format STDOUT =
+@<<<<<<<<<<<<<<<<<< @||||||| @<<<<<<@>>>> @>>>> @<<<<<<<<<<<<<<<<<
+$name, $login, $office,$uid,$gid, $home
+\&.
+
+.ne 29
+# バグレポート形式
+format STDOUT_TOP =
+\& Bug Reports
+@<<<<<<<<<<<<<<<<<<<<<<< @||| @>>>>>>>>>>>>>>>>>>>>>>>
+$system, $%, $date
+------------------------------------------------------------------
+\&.
+format STDOUT =
+Subject: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $subject
+Index: @<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $index, $description
+Priority: @<<<<<<<<<< Date: @<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $priority, $date, $description
+From: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $from, $description
+Assigned to: @<<<<<<<<<<<<<<<<<<<<<< ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $programmer, $description
+\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $description
+\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $description
+\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $description
+\&~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+\& $description
+\&~ ^<<<<<<<<<<<<<<<<<<<<<<<...
+\& $description
+\&.
+
+.ft R
+.cs R
+.lg
+.fi
+同じ出力チャンネルに対して、write を使って出力を混ぜることはできます
+が、$\- (ページの残り行数) を自分でいじらなければなりません。
+.PP
+ほとんどが空白のフィールドがたくさんあるとき、
+レコード間で reset 演算子を使うことを考えるべきです。
+効率的であるというだけでなく、別のフィールドを加えてしまい、0 に
+し忘れてしまうというバグを防ぐことができます。
+.Sh "プロセス間通信"
+perl の プロセス間通信(IPC)の能力は Berkeley のソケット機構に
+基づいています。
+ソケットが無ければ、このセクションは無視できます。
+この呼び出しは、同名のシステムコールに相当しますが、
+二つの理由で大抵引数は異なります。
+一つ目は、perl のファイルハンドルは C ファイルディスクリプタとは
+異なる動作をするということです。
+二つ目は、perl は文字列の長さを知っているので、その情報を渡さなくても
+良いということです。
+以下がクライアントのサンプル (未テスト) です:
+.nf
+
+ ($them,$port) = @ARGV;
+ $port = 2345 unless $port;
+ $them = 'localhost' unless $them;
+
+ $SIG{'INT'} = 'dokill';
+ sub dokill { kill 9,$child if $child; }
+
+ require 'sys/socket.ph';
+
+ $sockaddr = 'S n a4 x8';
+ chop($hostname = `hostname`);
+
+ ($name, $aliases, $proto) = getprotobyname('tcp');
+ ($name, $aliases, $port) = getservbyname($port, 'tcp')
+ unless $port =~ /^\ed+$/;
+.ie t \{\
+ ($name, $aliases, $type, $len, $thisaddr) = gethostbyname($hostname);
+'br\}
+.el \{\
+ ($name, $aliases, $type, $len, $thisaddr) =
+ gethostbyname($hostname);
+'br\}
+ ($name, $aliases, $type, $len, $thataddr) = gethostbyname($them);
+
+ $this = pack($sockaddr, &AF_INET, 0, $thisaddr);
+ $that = pack($sockaddr, &AF_INET, $port, $thataddr);
+
+ socket(S, &PF_INET, &SOCK_STREAM, $proto) || die "socket: $!";
+ bind(S, $this) || die "bind: $!";
+ connect(S, $that) || die "connect: $!";
+
+ select(S); $| = 1; select(stdout);
+
+ if ($child = fork) {
+ while (<>) {
+ print S;
+ }
+ sleep 3;
+ do dokill();
+ }
+ else {
+ while (<S>) {
+ print;
+ }
+ }
+
+.fi
+これがサーバ側です:
+.nf
+
+ ($port) = @ARGV;
+ $port = 2345 unless $port;
+
+ require 'sys/socket.ph';
+
+ $sockaddr = 'S n a4 x8';
+
+ ($name, $aliases, $proto) = getprotobyname('tcp');
+ ($name, $aliases, $port) = getservbyname($port, 'tcp')
+ unless $port =~ /^\ed+$/;
+
+ $this = pack($sockaddr, &AF_INET, $port, "\e0\e0\e0\e0");
+
+ select(NS); $| = 1; select(stdout);
+
+ socket(S, &PF_INET, &SOCK_STREAM, $proto) || die "socket: $!";
+ bind(S, $this) || die "bind: $!";
+ listen(S, 5) || die "connect: $!";
+
+ select(S); $| = 1; select(stdout);
+
+ for (;;) {
+ print "Listening again\en";
+ ($addr = accept(NS,S)) || die $!;
+ print "accept ok\en";
+
+ ($af,$port,$inetaddr) = unpack($sockaddr,$addr);
+ @inetaddr = unpack('C4',$inetaddr);
+ print "$af $port @inetaddr\en";
+
+ while (<NS>) {
+ print;
+ print NS;
+ }
+ }
+
+.fi
+.Sh "予約変数"
+次の変数名は、
+.IR perl
+にとって特別な意味があります。
+これらのうち幾つかはアルファベットのシンボルにもしても良かったのですが、
+reset \*(L"a\-zA\-Z\*(R" で予約変数まで消されてしまうようなことに
+したくなかったのです。
+そのため、これらのおかしなシンボル名に悩まされなければならないでしょう。
+そのうち多くは筋が通ったニーモニック (記憶方法) で、シェルのものと
+類似になっています。
+.Ip $_ 8
+入力およびパターン検索のデフォルト。
+次の組はそれぞれ同等です:
+.nf
+
+.ne 2
+ while (<>) {\|.\|.\|. # while の中でのみ同等
+ while ($_ = <>) {\|.\|.\|.
+
+.ne 2
+ /\|^Subject:/
+ $_ \|=~ \|/\|^Subject:/
+
+.ne 2
+ y/a\-z/A\-Z/
+ $_ =~ y/a\-z/A\-Z/
+
+.ne 2
+ chop
+ chop($_)
+
+.fi
+(覚え方: 下線は実行されるとわかる。)
+.Ip $. 8
+最後に読み込まれたファイルハンドルの現在の行番号。
+読み出し専用。
+明示的なファイルハンドルの close でのみ行番号がリセットされることを
+覚えておいて下さい。
+<> は明示的な close を行なわないので、ARGV ファイル全部を通して行番号
+が増えていきます (eof の例を参照して下さい) 。
+(覚え方: 多くのプログラムは . を現在行番号の意味で使う。)
+.Ip $/ 8
+入力レコードの区切り文字。デフォルトは改行。
+ヌル文字列にセットされると空行を区切りとして扱うことも含めて、
+.IR awk
+の RS 変数と同じ働きをします。
+複数文字にセットすると複数文字区切りにマッチさせることができます。
+ファイルに空行が連続してあるとき、
+この変数を "\en\en" にセットすると、"" にセットする場合と
+少々異なる意味を持つことに注意して下さい。
+"" にセットすると、二つかそれ以上の連続した空行を一つの空行として
+扱います。 "\en\en" にセットすると、空行の後にたとえ改行文字が
+続いていても、次の段落に含まれているものと盲目的に解釈されます。
+(覚え方: / は詩をクォートするとき行境界の区切りとして使える。)
+.Ip $, 8
+print 演算子のための出力フィールド区切り文字。
+通常は、print 演算子は単にカンマ区切りで指定したフィールドを
+出力します。より
+.IR awk
+に似た挙動をさせるためには、フィールド間に出力する文字を
+指定する
+.IR awk
+の OFS 変数と同じものを、この変数をセットして下さい。
+(覚え方: print文に , があるとき出力すべきもの。)
+.Ip $"" 8
+$, と似ていますが、この変数の異なる点は、"" で囲まれた
+文字列 (または同様な挿入文字) に挿入される配列値に適用されることです。
+デフォルトは空白文字です。
+(覚え方: これは明白。)
+.Ip $\e 8
+print 演算子の出力レコードセパレータ文字。
+通常 print 演算子は、後に改行やレコードセパレータ文字を続いていないと
+推定して、単にカンマ区切りの指定フィールドを出力します。
+より
+.IR awk
+に似た挙動をさせるためには、print の終りに出力する文字を指定する
+.IR awk
+の ORS 変数と同じものをこの変数にセットして下さい。
+(覚え方: print の終りに \en を加える代わりに $\e をセット。)
+/ にも似ていますが、
+.IR perl
+から \*(L"得る\*(R" ものです。)
+.Ip $# 8
+数字の出力のための出力フォーマット。
+この変数は
+.IR awk
+の OFMT 変数を半分だけ受け継いでいます。
+しかし
+.I awk
+と
+.I perl
+では、実際に何が数字であるかという概念の異なることがしばしばあります。
+初期値も、%.6g でなく %.20g ですので、
+.IR awk
+の値を得るには、明示的に $# をセットする必要があります。
+(覚え方: # は数字の記号。)
+.Ip $% 8
+現在 select されている出力チャンネルの現在のページ番号。
+(覚え方: % は nroff におけるページ番号。)
+.Ip $= 8
+現在 select されている出力チャンネルの現在のページ長 (出力可能行) 。
+デフォルトは 60 。
+(覚え方: = は平行線。)
+.Ip $\- 8
+現在 select されている出力チャンネルのページの残り行数。
+(覚え方: 1 ページの行数 \- 出力済み行数)
+.Ip $~ 8
+現在 select されている出力チャンネルの現在のレポートフォーマット名。
+デフォルトは、ファイルハンドル名。
+(覚え方: $^ の仲間。)
+.Ip $^ 8
+現在 select されている出力チャンネルの現在のページ先頭フォーマット名。
+デフォルトは、ファイルハンドル名に \*(L"_TOP\*(R" を加えたもの。
+(覚え方: 先頭ページを指す。)
+.Ip $| 8
+0 でない値をセットすると、現在 select されている出力チャンネルに
+write や print が行なわれる毎にフラッシュします。
+デフォルトは 0 。
+通常
+.I STDOUT
+は、端末に出力するときは行バッファが使われ、それ以外では
+ブロックバッファが使われることに注意して下さい。
+この変数をセットするのは、
+.I perl
+スクリプトを rsh の基で走らせている時等、
+パイプに出力している時に、
+出力が起こる度に確認したい場合に便利です。
+(覚え方: パイプを常に動かしておきたい。)
+.Ip $$ 8
+.I perl
+が走らせているスクリプトのプロセス番号。
+(覚え方: シェルと同じ。)
+.Ip $? 8
+最後に close したパイプや (\`\`) コマンドや
+.I system
+演算子の戻り値。
+これは、wait() システムコールが返すステータスなので、サブプロセスの
+終了値は実際は ($? >> 8) です。
+プロセスを終了させたシグナルがあった場合、$? & 255 は
+どのシグナルであるか、dump された core があるかどうかを返します。
+(覚え方: sh や ksh と同じ。)
+.Ip $& 8 4
+最後に成功したパターンマッチでマッチした文字列。
+(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
+(覚え方: あるエディタの & と同じ。)
+.Ip $\` 8 4
+最後にパターンマッチに成功したパターンの前にある文字列。
+(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
+(覚え方: \` は大抵クォートされた文字列の前。)
+.Ip $\' 8 4
+最後にパターンマッチに成功したパターンの後ろにある文字列。
+(ブロック内や現在のブロックで閉じた eval でのマッチは含まれません。)
+(覚え方: \' は大抵クォートされた文字列の後。)
+例:
+.nf
+
+.ne 3
+ $_ = \'abcdefghi\';
+ /def/;
+ print "$\`:$&:$\'\en"; # abc:def:ghi を出力
+
+.fi
+.Ip $+ 8 4
+最後に検索したパターンの最後の括弧にマッチします。
+これは、複数候補のパターンマッチでどちらにマッチするかわからない
+ときに便利です。
+例:
+.nf
+
+ /Version: \|(.*\|)|Revision: \|(.*\|)\|/ \|&& \|($rev = $+);
+
+.fi
+(覚え方: 正で、前方を見ること。)
+.Ip $* 8 2
+文字列内で、複数行のマッチを行なうとき 1 をセットし、
+パターンマッチの最適化の目的で、単一行を含む文字列であると
+.I perl
+に決め打ちにさせるときに 0 とします。
+$* が 0 のときに複数の改行を含む文字列のパターンマッチをすると、
+混乱した結果となります。
+デフォルトは 0 。
+(覚え方: * は複数のものにマッチする。)
+この変数は、^ や $ の解釈に影響するだけであるということに
+注意して下さい。
+改行のリテラルは、when $* == 0 としても検索できます。
+.Ip $0 8
+.I perl
+起動したスクリプトのファイル名を保持しています。
+$0 修飾子への代入は、ps(1) プログラムの引数の部分を参照して下さい。
+(覚え方: sh や ksh と同じ)
+.Ip $<数字> 8
+最後に行なったパターンマッチで対応する数字番目の括弧のサブパターン。
+入れ子になったブロック内で既に終了したパターンマッチの数は含まれません。
+(覚え方: \e数字と同じ。)
+.Ip $[ 8 2
+配列中の最初の要素や部分文字列の最初の文字の添字。
+デフォルトは 0 ですが、index() や substr() 関数の
+添字のつけ方や評価に関して、
+.I perl
+を
+.I awk
+(や Fortran)
+の動作にさせるには、この変数に 1 をセットすることでできます。
+(覚え方: [ は添字の始まり。)
+.Ip $] 8 2
+\*(L"perl -v\*(R" で出力される文字列。
+これは、perl インタープリタが正しいバージョンの範囲でスクリプトを
+実行しているかどうかを決めるために、スクリプトの始めの方で使われます。
+数値のコンテキストで使われると、バージョン + パッチレベル / 1000 を
+返します。
+例:
+.nf
+
+.ne 8
+ # getcがつかえるかどうかを調べます
+ ($version,$patchlevel) =
+ $] =~ /(\ed+\e.\ed+).*\enPatch level: (\ed+)/;
+ print STDERR "(No filename completion available.)\en"
+ if $version * 1000 + $patchlevel < 2016;
+
+また、数値で使われると、
+
+ warn "No checksumming!\en" if $] < 3.019;
+
+.fi
+(覚え方: このバージョンの perl は right(正しい、右) 括弧に入ってるか? )
+.Ip $; 8 2
+多次元配列エミュレーションの際の添字の区切り。
+連想配列の要素を次のように参照するとき、
+.nf
+ $foo{$a,$b,$c}
+
+実際には
+
+ $foo{join($;, $a, $b, $c)}
+
+を意味しますが、
+
+ @foo{$a,$b,$c} # スライス\*(--@ に注意
+
+と書いてはいけません。
+
+ ($foo{$a},$foo{$b},$foo{$c})
+
+.fi
+を意味することになってしまうからです。
+デフォルトは "\e034" で、
+.IR awk
+の SUBSEP と同じです。
+キーとしてバイナリデータを使うと、$; として安全な値はないだろうという
+ことに気をつけて下さい。
+(覚え方: カンマ (文法上添字の区切り) はセミコロンの半分。
+これは、ちょっとひどいね。でも、$, は他のもっと重要なことに
+取られているので。)
+.Ip $! 8 2
+数値のコンテキストで使うと、通常の警告の文字列と共に errono の
+現在の値を返します。
+(これは、システムエラーのような特別なエラーを除くと、$! の値に
+依存した動作をさせてはいけないということを意味します。)
+文字列のコンテキストで使うと、相当するシステムエラー文字列を返します。
+errno をセットするために $! に代入することができます。
+例えば、エラー番号 n に対して $! が文字列を返したいときや、
+die 演算子に終了値をセットしたいときなどです。
+(覚え方: 一体何が爆発したの? )
+.Ip $@ 8 2
+最後に評価したコマンドからくる perl の文法エラーメッセージ。
+ヌルなら、最後の評価が、正常に解析、実行されたことになります
+(起動された演算は普通の形で失敗したかもしれません) 。
+(覚え方: 文法エラーはどこに \*(L"アット (at where)\*(R" ?)
+.Ip $< 8 2
+現在のプロセスの実 uid 。
+(覚え方: setuid で走らせているとき、*どこから* きた uid か。)
+.Ip $> 8 2
+現在のプロセスの実効 uid 。
+例:
+.nf
+
+.ne 2
+ $< = $>; # 実効 uid に実 uid をセットします
+ ($<,$>) = ($>,$<); # 実 uid と実効 uid を取り換えます
+
+.fi
+(覚え方: setuid で走らせているとき、*行く先の* uid 。)
+注意: $< と $> は setreuid() をサポートしているマシンでだけ
+交換できます。
+.Ip $( 8 2
+現在のプロセスの実 gid 。
+同時に複数グループのメンバとなることをサポートしたマシンで、
+属しているグループの空白区切りのリストが得られます。
+最初の数は getgid() の返すもので、残りが getgroups() の返すものです。
+残りの中には最初の数値と同じものも含まれているかもしれません。
+(覚え方: 括弧は GROUP に使われる。 setgid スクリプトを走らせているとき、
+実 gid は LEFT(残っている、左) のグループ。)
+.Ip $) 8 2
+現在のプロセスの実効 gid 。
+同時に複数グループのメンバとなることをサポートしたマシンで、
+属しているグループの空白区切りのリストが得られます。
+最初の数は getegid() の返すもので、残りが getgroups() の返すものです。
+残りの中には最初の数値と同じものも含まれているかもしれません。
+(覚え方: 括弧は GROUP に使われる。 setgid スクリプトを走らせているとき、
+実効 gid はあなたの RIGHT(正しい、右の)グループ。)
+.Sp
+注意: $<, $>, $(, $) は、相当する set[re][ug]id() ルーチンを
+サポートしているマシンでだけセットできます。
+$( と $) は setregid() をサポートしているマシンでだけ交換できます。
+.Ip $: 8 2
+format の (^ で始まる) 継続フィールドを埋めるように文字列を分ける
+際の直前の文字列セット。
+デフォルトは "\ \en-" で、空白やハイフンで分けられます。
+(覚え方: 詩では \*(L"コロン\*(R" は行の一部)
+.Ip $^D 8 2
+デバッグフラグの現在の値。
+(覚え方:
+.B \-D
+スイッチの値。)
+.Ip $^F 8 2
+最大システムファイルディスクリプタ数。通常は 2 。
+システムファイルディスクリプタは、子プロセスに渡されますが、
+それより数字が上のファイルディスクリプタは渡されません。
+open する間は、たとえ open に失敗したとしても、
+システムファイルディスクリプタは保存されます。
+open が試みられる前に、通常のディスクリプタは close されます。
+.Ip $^I 8 2
+ファイルをその場で変更する場合の拡張子の値。
+その場で変更できないようにするには、この変数を undef します。
+(覚え方:
+.B \-i
+スイッチの値)
+.Ip $^L 8 2
+改ページするために出力するフォーマット。デフォルトは \ef です。
+.Ip $^P 8 2
+デバッガが、自分自身をデバッグしないためにクリアする内部フラグ。
+これをクリアしておくと、デバッグを不可能にさせられると考えられます。
+.Ip $^T 8 2
+スクリプトが走り始めた時刻を、epoch からの秒で保持します。
+.B \-M ,
+.B \-A ,
+.B \-C
+ファイルテストで返された値は、この変数の値に基づいています。
+.Ip $^W 8 2
+警告スイッチの現在の値。
+(覚え方:
+.B \-w
+スイッチに関係する。)
+.Ip $^X 8 2
+argv[0] から来る、起動された perl 自身の名前。
+.Ip $ARGV 8 3
+<> から読み込んでいるとき、読み込み中のファイル名を保持します。
+.Ip @ARGV 8 3
+配列 ARGV は、スクリプトに渡されたコマンドライン引数を保持します。
+$ARGV[0] はコマンド名ではなく、最初の引数なので、$#ARGV は一般に
+引数の数 -1 です。
+コマンド名については、$0 を参照して下さい。
+.Ip @INC 8 3
+配列 INC は、
+.I perl
+スクリプトが \*(L"do EXPR\*(R" や \*(L"require\*(R" で評価されるときに
+探されるべきディレクトリのリストを保持します。
+初期値として、
+.B \-I
+コマンドラインスイッチの引数、
+これに続きデフォルトの
+.I perl
+ライブラリ (おそらく \*(L"/usr/share/perl\*(R")、
+これに続きカレントディレクトリを示す \*(L".\*(R" です。
+.Ip %INC 8 3
+連想配列 INC は、\*(L"do\*(R" や \*(L"require\*(R" を介してインクルー
+ドされる各ファイル名のためのエントリを含んでいます。
+キーは、指定したファイル名で、値は実際にファイルが見つかった
+位置の値です。
+この配列は、\*(L"require\*(R" コマンドが与えるファイルが既に
+インクルード済みかどうかを決めるのに使われます。
+.Ip $ENV{expr} 8 2
+連想配列 ENV は、現在の環境変数を保持しています。
+ENV へ値を設定すると、子プロセスの環境が変わります。
+.Ip $SIG{expr} 8 2
+連想配列 SIG は、各シグナルハンドラをセットするのに使われます。
+例:
+.nf
+
+.ne 12
+ sub handler { # 第一引数はシグナル名
+ local($sig) = @_;
+ print "Caught a SIG$sig\-\|\-shutting down\en";
+ close(LOG);
+ exit(0);
+ }
+
+ $SIG{\'INT\'} = \'handler\';
+ $SIG{\'QUIT\'} = \'handler\';
+ .\|.\|.
+ $SIG{\'INT\'} = \'DEFAULT\'; # デフォルト動作に戻す
+ $SIG{\'QUIT\'} = \'IGNORE\'; # SIGQUIT を無視する
+
+.fi
+SIG 配列は、perl スクリプトで実際にシグナル用にセットされた値を
+保持しています。
+.Sh "パッケージ"
+perl は、パッケージ間で異なる名前空間持つメカニズムを用意しており、
+各々の変数がぶつからないように、パッケージを守っています。
+デフォルトで、perl スクリプトはパッケージ \*(L"main\*(R" として
+コンパイルを始めます。
+.I package
+宣言を使うことによって、名前空間を切り替えることができます。
+パッケージ宣言の有効範囲は、宣言それ自身から、閉じたブロックの終端まで
+です (local() 演算子と同じ有効範囲) 。
+普通 \*(L"require\*(R" 演算子によりインクルードされたファイルの中の
+最初の宣言として使われます。
+複数箇所で同一パッケージに入ることが出来ます;
+ブロック中でコンパイラがどのシンボルテーブルを使うかに影響するだけです。
+他のパッケージの変数やファイルハンドルは、識別子の前にパッケージ名と
+シングルクォートを付けることで、参照できます。
+パッケージ名がヌルの場合、\*(L"main\*(R" と解釈されます。
+.PP
+文字で始まる識別子は、パッケージシンボルテーブルに保存されます。
+それ以外のすべてのシンボルは、パッケージ \*(L"main\*(R" に保持されます。
+更に、識別子 STDIN, STDOUT, STDERR, ARGV, ARGVOUT, ENV, INC, SIG は、
+たとえ組み込みの変数、関数と異なる目的で使われたとしても、
+強制的にパッケージ \*(L"main\*(R" に属するものとして扱われます。
+仮に、\*(L"m\*(R", \*(L"s\*(R", \*(L"y\*(R" と呼ばれるパッケージを
+持っていたとすると、パターンマッチ、代入、変換として解釈されるので、
+識別子を適した形で使うことができないことに注意しましょう。
+.PP
+eval された文字列は、eval がコンパイルされたパッケージ内で
+コンパイルされます。
+(しかし、$SIG{} への代入は、main パッケージで指定された
+シグナルハンドラと解釈されます。パッケージ内でシグナルハンドラを
+持ちたい場合、シグナルハンドラ名を適切に指定して下さい。)
+例えば、perl ライブラリ内の perldb.pl を調べてみましょう。
+これは始めに DB パッケージに切り替わり、デバッガがデバッグしようとして
+いるスクリプト内の変数を変更しないようになっています。
+しかし、いろいろな時点で、main パッケージのコンテキストのいろいろな
+式を評価するために、これは main パッケージに一時的に戻って来ています。
+.PP
+パッケージのシンボルテーブルは、パッケージ名の前に下線のついた連想配列に
+蓄えられることになります。
+連想配列の各エントリの値は、*name 表記を使うときに参照しようと
+しているものになります。
+実際、次の例は同じ効果 (もちろん main パッケージの場合) がありますが、
+最初のものの方がコンパイル時にシンボルテーブルを見るので、
+より効率が良くなります:
+.nf
+
+.ne 2
+ local(*foo) = *bar;
+ local($_main{'foo'}) = $_main{'bar'};
+
+.fi
+例えば、以下によりパッケージ内のすべての変数を出力できます。
+これは perl ライブラリの dumpvar.pl から取ってます:
+.nf
+.ne 11
+ package dumpvar;
+
+ sub main'dumpvar {
+ \& ($package) = @_;
+ \& local(*stab) = eval("*_$package");
+ \& while (($key,$val) = each(%stab)) {
+ \& {
+ \& local(*entry) = $val;
+ \& if (defined $entry) {
+ \& print "\e$$key = '$entry'\en";
+ \& }
+.ne 7
+ \& if (defined @entry) {
+ \& print "\e@$key = (\en";
+ \& foreach $num ($[ .. $#entry) {
+ \& print " $num\et'",$entry[$num],"'\en";
+ \& }
+ \& print ")\en";
+ \& }
+.ne 10
+ \& if ($key ne "_$package" && defined %entry) {
+ \& print "\e%$key = (\en";
+ \& foreach $key (sort keys(%entry)) {
+ \& print " $key\et'",$entry{$key},"'\en";
+ \& }
+ \& print ")\en";
+ \& }
+ \& }
+ \& }
+ }
+
+.fi
+たとえサブルーチンがパッケージ dumpvar でコンパイルされるとしても、
+サブルーチン名がパッケージ \*(L"main\*(R" に挿入されるように、
+サブルーチン名の前にパッケージ名をつけなければならないことに注意して
+下さい。
+.Sh "スタイル"
+各々のプログラマは、フォーマットに関してもちろん自分自身の好みが
+あるでしょうが、自分のプログラムを読み易くするための一般的な
+ガイドラインがあります。
+.Ip 1. 4 4
+あることを特別な方法で*できる*からといって、そうしなければならない
+ということはありません。
+.I perl
+は、一つのことをするときに、幾つかの方法があるように設計されている
+ので、最も読み易いものを選ぶように考えて下さい。
+例えば
+
+ open(FOO,$foo) || die "Can't open $foo: $!";
+
+は、
+
+ die "Can't open $foo: $!" unless open(FOO,$foo);
+
+よりも良いです。なぜなら、後者の方法は文の主題を修飾子内に隠しているからです。
+一方、
+
+ print "Starting analysis\en" if $verbose;
+
+は
+
+ $verbose && print "Starting analysis\en";
+
+より良いです。主となるのは、ユーザが -v を打ったかどうかでは
+ないからです。
+.Sp
+同様に、演算子がデフォルトの引数を仮定しているからといって、
+それはデフォルトを用いなければならないということではありません。
+デフォルトというものは、ちょっとしたプログラムを書く、怠け者の
+システムプログラマのためにあります。
+読み易いプログラムをしたければ、引数を付けるようにして下さい。
+.Sp
+同じようなこととして、
+あちこちで括弧を省略
+.I できる
+ということは、以下のように書けということではありません:
+.nf
+
+ return print reverse sort num values array;
+ return print(reverse(sort num (values(%array))));
+
+.fi
+疑わしいときは、括弧をつけて下さい。
+もしかすると、物好きな輩が、vi で % キーを叩くかもしれません。
+.Sp
+たとえ疑わしくなかったとしても、自分の後でそのコードを管理する人間の
+精神衛生上好ましいですし、その人が間違ったところに括弧をつける可能性も
+大いにあります。
+.Ip 2. 4 4
+無理にこじつけて、ループの先頭や終わりで終了しようとしないで下さい。
+.I perl
+には、真ん中からでも抜けられるように "last" 演算子が
+用意されているのですから。
+少々はみ出しても、より見易くなるようにして下さい:
+.nf
+
+.ne 7
+ line:
+ for (;;) {
+ statements;
+ last line if $foo;
+ next line if /^#/;
+ statements;
+ }
+
+.fi
+.Ip 3. 4 4
+ループラベルを使うのを恐がらないで下さい\*(--多重ループの抜けだしがで
+きるようにするためだけでなく、可読性を高めるためにあるのですから。
+最後の例を参照して下さい。
+.Ip 4. 4 4
+可搬性のため、すべてのマシンには実装されていない機能を使うときは、
+失敗しないかどうか、eval の中で構成を確かめてみて下さい。
+どのバージョンやパッチレベルで特定の仕様が実装されているかを
+知っているなら、$] を調べて、実装されているかどうかを確認できます。
+.Ip 5. 4 4
+覚え易い識別子を選んで下さい。
+.Ip 6. 4 4
+一貫性を持たせましょう。
+.Sh "デバッグ"
+.I perl
+に
+.B \-d
+スイッチを付けて起動すると、デバッグモニタの基でスクリプトが走ります。
+最初の実行文の前で一時停止し、以下のようなコマンド入力を促します:
+.Ip "h" 12 4
+ヘルプメッセージを出力する。
+.Ip "T" 12 4
+スタックトレース。
+.Ip "s" 12 4
+シングルステップ。
+次の文の始めに達するまでを実行します。
+.Ip "n" 12 4
+次。
+サブルーチンコール内では止まらずに、次の文に達するまで実行します。
+.Ip "f" 12 4
+終了。
+現在のサブルーチンが終了するまで、文を実行し続けます。
+.Ip "c" 12 4
+継続。
+次のブレークポイントに達するまで実行します。
+.Ip "c line" 12 4
+指定した行まで実行します。
+指定した行に、一回きりのブレークポイントを挿入します。
+.Ip "<CR>" 12 4
+最後に実行した n または s を繰り返します。
+.Ip "l min+incr" 12 4
+min 行目から incr+1 行を表示します。
+min を省略すると、最後に表示した残りから始めます。
+incr を省略すると、前回の incr 値が使われます。
+.Ip "l min-max" 12 4
+指定範囲内の行を表示します。
+.Ip "l line" 12 4
+指定行を表示します。
+.Ip "l" 12 4
+次のウィンドウを表示します。
+.Ip "-" 12 4
+前のウィンドウを表示します。
+.Ip "w line" 12 4
+その行と前後のウィンドウを表示します。
+.Ip "l subname" 12 4
+サブルーチンを表示します。
+長いサブルーチンの場合は、始めの方だけを表示します。
+それ以上表示するには、\*(L"l\*(R" を使って下さい。
+.Ip "/pattern/" 12 4
+正規表現の前方検索。最後の / は省略可能です。
+.Ip "?pattern?" 12 4
+正規表現の後方検索。最後の ? は省略可能です。
+.Ip "L" 12 4
+ブレークポイントまたはアクションの設定された行を表示します。
+.Ip "S" 12 4
+すべてのサブルーチン名を表示します。
+.Ip "t" 12 4
+トレースモードを on/off するトグル。
+.Ip "b line condition" 12 4
+ブレークポイントをセットします。
+line を省略すると、実行されようとしている行にセットされます。
+condition が指定されると、
+ブレークポイントの文に達する毎に condition が評価され、
+condition が真のときだけブレークします。
+ブレークポイントは実行文の先頭にだけセットできます。
+.Ip "b subname condition" 12 4
+ブレークポイントをサブルーチンの最初の実行文にセットします。
+.Ip "d line" 12 4
+ブレークポイントを削除します。
+line を省略すると、実行しようとしている行のブレークポイントが
+削除されます。
+.Ip "D" 12 4
+すべてのブレークポイントを削除します。
+.Ip "a line command" 12 4
+行にアクションをセットします。
+バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
+.Ip "A" 12 4
+すべての行のアクションを削除します。
+.Ip "< command" 12 4
+デバッガがプロンプトを出す前に実行するアクションをセットする。
+バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
+.Ip "> command" 12 4
+コマンドを入力してスクリプト実行に移る時に、
+プロンプトの後に実行するアクションをセットします。
+バックスラッシュの直後に改行すれば、複数行コマンドも入力できます。
+.Ip "V package" 12 4
+パッケージ内のすべての変数をリストします。
+デフォルトは、メインパッケージです。
+.Ip "! number" 12 4
+デバッグコマンドの再実行を行ないます。
+number が省略されると、直前のコマンドを再実行します。
+.Ip "! -number" 12 4
+幾つか前のコマンドを再実行します。
+.Ip "H -number" 12 4
+最後の n 個のコマンドを表示します。
+1 文字より長いコマンドをリストします。
+number を省略すると、すべてをリストします。
+.Ip "q or ^D" 12 4
+終了します。
+.Ip "command" 12 4
+コマンドを perl の文として実行します。
+足りないセミコロンは補われます。
+.Ip "p expr" 12 4
+\*(L"print DB'OUT expr\*(R" と同じことです。
+DB'OUT ファイルハンドルは、どこに STDOUT がリダイレクトされているか
+に関わらず、/dev/tty にオープンされます。
+.PP
+デバッガを変更したいときは、perldb.pl ファイルを perl のライブラリ
+から、カレントディレクトリにコピーして、必要に応じて修正して下さい。
+(コマンドラインに -I. を付けなければならないでしょう。)
+初期化コードを含む .perldb ファイルを設定することで、カスタマイズが
+できます。例えば、以下のようなエイリアスを作ることができます:
+.nf
+
+ $DB'alias{'len'} = 's/^len(.*)/p length($1)/';
+ $DB'alias{'stop'} = 's/^stop (at|in)/b/';
+ $DB'alias{'.'} =
+ 's/^\e./p "\e$DB\e'sub(\e$DB\e'line):\et",\e$DB\e'line[\e$DB\e'line]/';
+
+.fi
+.Sh "setuid スクリプト"
+.I perl
+は、安全な setuid スクリプトや setgid スクリプトを簡単に書けるように
+デザインされています。
+スクリプトの各行が何回も置換されるシェルとは違って、
+.I perl
+は、隠された \*(L"わけの判らないもの\*(R" を少なくして、より伝統的な
+評価機構を使っています。
+それに加え、この言語は組み込み機構をより多く備えていて、目的を達成する
+ために外部の (すなわち信頼できない可能性がある) プログラムに
+頼らなければならないことは、ほとんどありません。
+.PP
+パッチが当たっていない 4.2 または 4.3bsd カーネルでは、
+setuid スクリプトは本質的に危険をはらんでいますが、このカーネルの
+機能は無効にできます。
+この場合、
+perl スクリプトに (無意味な) setuid/gid ビットが付いていると、
+.I perl
+は setuid と setgid 機構をエミュレートできます。
+カーネルの機能が無効でない場合、
+.I perl
+は setuid スクリプトが安全でないことをうるさく訴えるでしょう。
+カーネルの setuid スクリプト機能を無効にするか、そうでなければ
+スクリプトに C のラッパーをかぶせる必要があるでしょう。
+.PP
+perl が setuid スクリプトを実行しているとき、明らかなトラップに
+はまらないように特別な注意を払います。
+(いくつかの点で、perl スクリプトは同等の C プログラムより安全です。)
+コマンドライン引数と環境変数と入力は、\*(L"汚れ\*(R" とみなされ、
+サブシェルを起動するコマンドや、ファイル、ディレクトリ、プロセスを
+変更するようなコマンドの中では、直接にも間接的にも使われません。
+それ以前に汚れた値を参照したような式の中でセットされた変数も、
+また汚れていることなります。
+(汚れた値が変数に影響することが、たとえ論理的に不可能だとしても)
+.br
+例えば:
+.nf
+
+.ne 5
+ $foo = shift; # $foo は汚れています
+ $bar = $foo,\'bar\'; # $bar も汚れています
+ $xxx = <>; # 汚れています
+ $path = $ENV{\'PATH\'}; # 汚れていますが、以下を見て下さい
+ $abc = \'abc\'; # 汚れていません
+
+.ne 4
+ system "echo $foo"; # 危険です
+ system "/bin/echo", $foo; # 安全です (shを使わないので)
+ system "echo $bar"; # 危険です
+ system "echo $abc"; # PATH がセットされるまで、
+ # 安全ではありません
+
+.ne 5
+ $ENV{\'PATH\'} = \'/bin:/usr/bin\';
+ $ENV{\'IFS\'} = \'\' if $ENV{\'IFS\'} ne \'\';
+
+ $path = $ENV{\'PATH\'}; # 汚れていません
+ system "echo $abc"; # もはや汚れていません!
+
+.ne 5
+ open(FOO,"$foo"); # OK
+ open(FOO,">$foo"); # 駄目です
+
+ open(FOO,"echo $foo|"); # 駄目だけど..
+ open(FOO,"-|") || exec \'echo\', $foo; # OK
+
+ $zzz = `echo $foo`; # 危険。 zzz は汚れてます。
+
+ unlink $abc,$foo; # 危険
+ umask $foo; # 危険
+
+.ne 3
+ exec "echo $foo"; # 危険
+ exec "echo", $foo; # 安全 (sh を使いません)
+ exec "sh", \'-c\', $foo; # 安全と見なされてしまう、嗚呼
+
+.fi
+汚れは、各スカラ値と関係するので、配列の要素は汚れているものも、
+汚れていないものもあります。
+.PP
+何か安全でないことをしようとすると、
+\*(L"Insecure dependency\*(R" とか \*(L"Insecure PATH\*(R" というような
+致命的エラーになります。
+それでも、危険なシステムコールや exec を書くことができますが、
+上記の最後の例のようなことを明示的に行なった場合に限るということを
+覚えておいて下さい。
+サブパターンを参照することでも、汚れの機構を避けることが
+できます \*(--\c
+.I perl
+は、$1, $2 などを使った部分文字列の参照では、自分のしていることを
+知っているはずだと解釈します。
+次のようなパターンの場合です:
+.nf
+
+ $ARGV[0] =~ /^\-P(\ew+)$/;
+ $printer = $1; # 汚れていません
+
+.fi
+これは、\ew+ がシェルのメタキャラクタにマッチしないので、
+まず安全です。 .+ を使うと危険でしょうが、
+.I perl
+はそこまで調べないので、パターン指定には注意を払うべきです。
+これは、ファイル操作をしたいときに ($> を $< と同じにしなければ) 、
+ユーザが与えるファイル名を汚さないための唯一の機構です。
+.PP
+汚れた値を使うことを気にしないような他の操作でもトラブルを起こす場合が
+あります。
+ユーザが与えたファイル名を扱うファイルテストは、慎重に使って下さい。
+できれば、$> = $< というようにセットした後で open して下さい。
+.I perl
+では、汚れたファイルをオープンして読みだすことが制限されないので、
+出力する内容については注意して下さい。
+汚れの機構は、ばかな間違いを防ぐように作られているのであって、
+考える必要がなくなるようにするためではありません。
+.SH 環境
+.Ip HOME 12 4
+chdir に引数がないときに使われます。
+.Ip LOGDIR 12 4
+chdir に引数が無く、HOME がセットされていないときに使われます。
+.Ip PATH 12 4
+サブプロセスを実行するとき、および \-S が使われたときは
+スクリプトを探す際に使われます。
+.Ip PERLLIB 12 4
+標準ライブラリやカレントディレクトリを見る前に、perl ライブラリ
+ファイルを探すディレクトリのコロン区切りのリストです。
+.Ip PERLDB 12 4
+デバッガコードを得るのに使われるコマンドのことです。セットされて
+いないと、
+.br
+
+ require 'perldb.pl'
+
+を使います。
+.PP
+これらを別にすると、
+.I perl
+は、スクリプト実行時と子プロセスに渡された環境変数しか使いません。
+しかし、setuid で走っているスクリプトは、だまされないようにするために
+何より先に以下の行を実行しておいた方が良いでしょう:
+.nf
+
+.ne 3
+ $ENV{\'PATH\'} = \'/bin:/usr/bin\'; # 必要なパスを入れましょう
+ $ENV{\'SHELL\'} = \'/bin/sh\' if $ENV{\'SHELL\'} ne \'\';
+ $ENV{\'IFS\'} = \'\' if $ENV{\'IFS\'} ne \'\';
+
+.fi
+.SH 作者
+Larry Wall <lwall@netlabs.com>
+.br
+MS-DOS への移植 Diomidis Spinellis <dds@cc.ic.ac.uk>
+.SH 関連ファイル
+/tmp/perl\-eXXXXXX
+.B \-e
+コマンドのためのテンポラリファイル
+.SH 関連項目
+a2p awk から perl への変換プログラム
+.br
+s2p sed から perl への変換プログラム
+.SH 診断
+コンパイルエラーは、エラーの行番号と次にあるべきトークンか、または
+調べられたトークンの型を教えてくれます。
+(
+.B \-e
+スイッチで
+.I perl
+に渡されたスクリプトの場合、各
+.B \-e
+が一行に数えられます。)
+.PP
+setuid スクリプトには、更に \*(L"Insecure dependency\*(R" のような
+エラーメッセージを生じるという制約があります。
+setuid スクリプトのセクションを参照して下さい。
+.SH トラップ
+.IR awk
+に慣れたユーザは、以下のことに特に注意を払わなければなりません:
+.Ip * 4 2
+.I perl
+では、(ブロックの終わりを除く) すべての単文の後にセミコロンが必要です。
+改行は文の区切りではありません。
+.Ip * 4 2
+if や while には、中括弧 {} が必要です。
+.Ip * 4 2
+.IR perl
+では、変数は $ か @ で始まります。
+.Ip * 4 2
+配列の添字は、$[ をセットしなければ 0 で始まります。
+substr() と index() の文字位置も同様です。
+.Ip * 4 2
+配列の添字が数字であるか文字列であるかを決めなければなりません。
+.Ip * 4 2
+連想配列は、参照するだけでは存在することになりません。
+.Ip * 4 2
+比較の際には、文字列比較か、数値比較かを決めなければなりません。
+.Ip * 4 2
+入力行を読み込んだだけでは、split は行なわれません。自分で split して、
+配列に入れなければなりません。
+そして、
+.I split
+演算子は、異なる引数を取ります。
+.Ip * 4 2
+現在の入力行は、通常 $0 ではなく $_ です。
+一般に改行コードは除かれません。
+($0 は実行されたプログラム名です。)
+.Ip * 4 2
+$<数字> は、フィールドの参照ではありません\*(--最後にマッチした
+パターンの部分文字列を参照します。
+.Ip * 4 2
+.I print
+文は $, と $\e を設定しなければ、フィールド区切りやレコード区切りを
+出力しません。
+.Ip * 4 2
+ファイルに出力する前には、オープンしなければなりません。
+.Ip * 4 2
+範囲演算子は \*(L".\|.\*(R" であって、コンマではありません。
+(コンマ演算子は、C と同じ動作です。)
+.Ip * 4 2
+マッチ演算子は、\*(L"~\*(R" でなく \*(L"=~\*(R" です。
+(\*(L"~\*(R" は C と同じく補数の演算子です。)
+.Ip * 4 2
+指数演算子は、\*(L"^\*(R" でなく \*(L"**\*(R" 演算子です。
+(\*(L"^\*(R" は、C と同じく XOR 演算子です。)
+.Ip * 4 2
+結合演算子は \*(L".\*(R" であり、ヌル文字列ではありません。
+(ヌル文字列を使うと 3 番目の / が除算演算子と解釈されるため、
+\*(L"/pat/ /pat/\*(R" が解析不能になります。\*(--トークン解析は、実際
+のところ /, ?, < のような演算子ではコンテキストにやや敏感です。
+そして、実は、. 自身は数字の始めになり得ます。)
+.Ip * 4 2
+.IR next ,
+.IR exit,
+.I continue
+の動作は異なります。
+.Ip * 4 2
+次の変数の動作は異なります。
+.nf
+
+ Awk \h'|2.5i'Perl
+ ARGC \h'|2.5i'$#ARGV
+ ARGV[0] \h'|2.5i'$0
+ FILENAME\h'|2.5i'$ARGV
+ FNR \h'|2.5i'$. \- 何か
+ FS \h'|2.5i'(何でもよい)
+ NF \h'|2.5i'$#Fld かそのようなもの
+ NR \h'|2.5i'$.
+ OFMT \h'|2.5i'$#
+ OFS \h'|2.5i'$,
+ ORS \h'|2.5i'$\e
+ RLENGTH \h'|2.5i'length($&)
+ RS \h'|2.5i'$/
+ RSTART \h'|2.5i'length($\`)
+ SUBSEP \h'|2.5i'$;
+
+.fi
+.Ip * 4 2
+疑わしいときは、
+.I awk
+のプログラムを a2p に通して、出て来たもの見て下さい。
+.PP
+C に洗脳されたプログラマは、次のことを特に心に留めておかなければなりま
+せん:
+.Ip * 4 2
+if や while には、中括弧 {} が必要です。
+.Ip * 4 2
+\*(L"else if\*(R" でなく、\*(L"elsif\*(R" を使わなければなりません。
+.Ip * 4 2
+.I break
+や
+.I continue
+は、それぞれ
+.I last
+や
+.IR next
+になります。
+.Ip * 4 2
+switch 文はありません。
+.Ip * 4 2
+.IR perl
+では、
+変数は $ か @ で始まります。
+.Ip * 4 2
+printf には * は実装されていません。
+.Ip * 4 2
+コメントは、/* でなく # で始まります。
+.Ip * 4 2
+何者のアドレスを得ることもできません。
+.Ip * 4 2
+ARGV は大文字でなければなりません。
+.Ip * 4 2
+link, unlink, rename 等のシステムコールは、成功時に 0 でな
+く、非 0 を返します。
+.Ip * 4 2
+シグナルハンドラは、数字ではなくシグナル名を扱います。
+.PP
+経験豊かな
+.I sed
+プログラマは、次のことを心に留めておかなければなりません:
+.Ip * 4 2
+置換の後方参照では、\e でなく $ を使います。
+.Ip * 4 2
+パターンマッチメタキャラクタ (, ), | の前にはバックスラッシュをつけません。
+.Ip * 4 2
+範囲演算子は、コンマでなく .\|. です。
+.PP
+鋭い shell プログラマは、次のことを心に留めておかなければなりません:
+.Ip * 4 2
+`` 演算子のコマンド内では、'' にくくられていないと変数置換が行なわれます。
+.Ip * 4 2
+`` 演算子は csh と違って、戻り値の変換をしません。
+.Ip * 4 2
+シェル (特に csh) は、各コマンド行で複数レベルの置換を行ないます。
+.I perl
+は、"", ``, <>, // のような決まった構造においてのみ、置換が行なわれます。
+.Ip * 4 2
+シェルは、スクリプトを一度に少しだけ解釈します。
+.I perl
+は、すべてのプログラムを実行前にコンパイルします。
+.Ip * 4 2
+引数は、$1, $2,.. ではなく、@ARGV を介して利用できます。
+.Ip * 4 2
+環境は、変数として自動的に利用可能とはなりません。
+.SH 訂正と追加
+perl の本、
+.I Programming\0Perl
+には以下のような省略と抜けがあります。
+.PP
+5 ページの例
+.nf
+
+ eval "/usr/bin/perl
+
+は、以下でなければいけません。
+
+ eval "exec /usr/bin/perl
+
+.fi
+.PP
+195 ページの System V の sum 相当のプログラムは、極めて小さなファイル
+でしか動作しません。大きなファイルでは、以下を使って下さい。
+.nf
+
+ undef $/;
+ $checksum = unpack("%32C*",<>) % 32767;
+
+.fi
+.PP
+alarm と sleep に関する記述は、シグナル SIGALARM と言っていますが、
+SIGALRM でなければなりません。
+.PP
+$/ の初期値をセットする
+.B \-0
+スイッチは、この本が出版後に perl に追加されました。
+.PP
+.B \-l
+スイッチでは、自動行末処理を行なうようになっています。
+.PP
+qx// 構造は バックスラッシュ `` と同義です。
+.PP
+$0 は、
+.I ps (1)
+の引数表示を変更するために、代入可能となりました。
+.PP
+新しい @###.## フォーマットは、フォーマットの記述から
+偶然省略されました。
+.PP
+s///ee が置換式の多重評価を生じることが、出版時に
+知られていませんでした。これは、仕様と解釈されるべきです。
+.PP
+(LIST) x $count は、配列の繰り返しを実行します。
+.PP
+正規表現には、括弧の数に制限がなくなっています。
+.PP
+ダブルクォート "" のコンテキストでは、更に以下のエスケープがサポート
+されています:
+\ee, \ea, \ex1b, \ec[, \el, \eL, \eu, \eU, \eE
+最後の 5 つの制御コードは、大文字小文字の変換です。
+.PP
+.B $/
+変数には、複数の区切り文字をセットできます。
+.PP
+通常のパターンマッチに g 修飾子が使えます。
+これにより、文字列から複数のマッチを検索することで、
+パターンマッチを繰り返します。
+.PP
+$^T を除いて、すべての $^X 変数が増えてます。
+.PP
+FILEHANDLE に対するデフォルトのページ先頭フォーマットは、top でなく
+FILEHANDLE_TOP になっています。
+.PP
+eval {} と sort {} 構造は、version 4.018 で追加されました。
+.PP
+pack と unpack の v と V (リトルエンディアン) テンプレートオプションは、
+vertion 4.019 で追加されました。
+.SH バグ
+.PP
+.I perl
+型のキャスト、atof() 、sprintf() のようないろいろな操作は、
+マシンの定義に左右されます。
+.PP
+あるストリームで、stdio が各 read や write の間に seek や eof を
+必要とする場合、
+.IR perl
+はそのようにします。
+(これは、sysread() と syswrite() には適用されません。)
+.PP
+どの組み込みデータタイプも勝手なサイズ制限は持っていません
+(メモリサイズは別です) が、それでもいくらかは限界はあります:
+識別子は 255 文字以上にはできませんし、
+\-S を使うとき、PATH の要素は 255 を超えてはいけません。
+正規表現は、内部的に 32767 バイトを超えられません。
+.PP
+.I perl
+は、実は
+病理学的折衷主義のがらくたリスター (Pathologically Eclectic Rubbish Lister)
+なんですが、私がそう言ったとは誰にも話さないで下さい。
+.rn }` ''
diff --git a/ja/man/man1/pfbtops.1 b/ja/man/man1/pfbtops.1
new file mode 100644
index 0000000000..7145bfe502
--- /dev/null
+++ b/ja/man/man1/pfbtops.1
@@ -0,0 +1,47 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: pfbtops.1,v 1.2 1997/05/13 16:18:42 horikawa Stab %
+.TH PFBTOPS 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+pfbtops \- .pfb フォーマットの PostScript フォントを
+ASCII フォーマットに変換する
+.SH 書式
+.B pfbtops
+[
+.I pfb_file
+]
+.SH 解説
+.B pfbtops
+は、
+.B .pfb
+フォーマットの PostScript フォントを
+ASCII フォーマットに変換します。
+.I pfb_file
+が省略された場合、標準入力から pfb ファイルを読み込みます。
+ASCII フォーマットの PostScript フォントは標準出力に出力されます。
+MS-DOS における PostScript フォントは普通
+.B pfb
+フォーマットで供給されます。
+.LP
+変換後の ASCII フォーマットの PostScript フォントは
+groff で使用することができます。groff で用いる前に
+.B /usr/share/groff_font/devps/download
+に登録する必要があります。
+.SH 関連項目
+.BR grops (1)
diff --git a/ja/man/man1/pic.1 b/ja/man/man1/pic.1
new file mode 100644
index 0000000000..3a7dd2d819
--- /dev/null
+++ b/ja/man/man1/pic.1
@@ -0,0 +1,747 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: pic.1,v 1.2 1997/03/29 07:11:03 horikawa Stab %
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+.el .ds tx TeX
+.ie \n(.g .ds ic \/
+.el .ds ic \^
+.\" The BSD man macros can't handle " in arguments to font change macros,
+.\" so use \(ts instead of ".
+.tr \(ts"
+.TH PIC 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+pic \- troff と TeX で用いるピクチャコンパイラ
+.SH 書式
+.B pic
+[
+.B \-nvC
+]
+[
+.I filename
+\&.\|.\|.
+]
+.br
+.B pic
+.B \-t
+[
+.B \-cvzC
+]
+[
+.I filename
+\&.\|.\|.
+]
+.SH 解説
+.LP
+本マニュアルでは、groff ドキュメントフォーマットシステムの一部である
+GNU バージョンの
+.B pic
+について記述します。
+.B pic
+は、
+.B troff
+か \*(tx の入力ファイルに埋め込まれたピクチャの記述を
+.B troff
+か \*(tx が解釈できるコマンドに変換します。
+ピクチャは
+.B .PS
+で始まる行から開始され、
+.B .PE
+で始まる行で終了します。
+.B .PS
+と
+.B .PE
+に狭まれた領域以外は、変更せずに素通しします。
+.LP
+.B .PS
+と
+.B .PE
+マクロの適切な定義はユーザに任されています。使用している
+マクロパッケージが適当な定義を提供しない場合(たとえば、古いバージョンの
+\-ms マクロの場合)、
+.B \-mpic
+マクロから取り出すことができます。
+\-mpic マクロではピクチャ
+は中央寄せになります。
+.SH オプション
+.LP
+引数を伴わないオプションは
+.B \-
+のあとにまとめて続けることができます。
+特別なオプション
+.B \-\^\-
+は、オプションの最後を意味します。ファイル名のかわ
+りに用いられる
+.B \-
+は、標準入力を意味します。
+.TP
+.B \-C
+.B .PS
+や
+.B .PE
+のあとに空白や改行以外の文字がきても、それを
+.B .PS
+や
+.B .PE
+であると解釈します。
+.TP
+.B \-S
+より安全なモード;
+.B sh
+コマンドを実行しません。
+信用できない入力を処理する場合に便利です。
+.TP
+.B \-n
+groff の troff に対する独自拡張を用いません。後処理に独自拡張を解釈
+できないものを用いるときに、このオプションを指定します。拡張については、
+.BR groff_out (5)
+に記述されています。
+.B \-n
+オプションはまた、troff モードにお
+いて、点を打つために長さ 0 の直線を使わないようにします。
+.TP
+.B \-t
+\*(tx モードです。
+.TP
+.B \-c
+より
+.B tpic
+との互換性が高い処理を行います。本オプションは自動的に -t
+オプションも設定します。
+.B \e
+で始まる行が透過的に出力されることがなくなり
+ます。
+.B .
+で始まる行は先頭の
+.B .
+を
+.B \e
+に置き換えます。
+.B .ps
+で始まる行は、特
+別な扱いを受けます。すなわち、整数のオプションを続けることができ、それ
+は直線の太さ(ペンのサイズ)を 1000 分の 1 インチで示します。オプションが
+省略された場合は、直
+前の直線の太さに戻します。直線の太さの初期値は 1000 分の 8 インチです。
+このように指定された直線の太さは、
+.B thickness
+属性、または、
+.B linethick
+変数によって負でない値が設定されていない場合にのみ有効です。
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.B \-z
+\*(tx モードにおいて、長さ 0 の直線を用いて点を描画します。
+.LP
+他のバージョンの pic でサポートされている以下のオプションは無視されます。
+.TP
+.B \-D
+すべての直線を
+.B \eD
+エスケープシーケンスにより描画します。
+.B pic
+は、つねに
+この動作を行います。
+.TP
+.BI \-T \ dev
+.B troff
+のデバイス
+.I dev
+のための出力を行います。
+.B pic
+が
+.B troff
+に出
+力する内容はデバイス非依存なので、本オプションは不要です。
+.SH 使用例
+本節では GNU pic とオリジナルバージョンの pic との違いのみを説明します。
+これらの違いの多くは新しいバージョンの Unix pic にもあてはまります。
+.SS \*(tx モード
+.LP
+\*(tx モードは
+.B \-t
+オプションにて有効になります。
+\*(tx モードでは、各ピクチャのために
+.B \egraph
+から呼び出される vbox を、pic は定義します。
+例えば以下のようにして、自分自身で vbox を表示する必要が有ります。
+.RS
+.LP
+.B
+\ecenterline{\ebox\egraph}
+.RE
+.LP
+実際、vbox は高さが 0 ですから、この表現ではピクチャの上の空間が
+ピクチャの下の空間よりも若干大きくなります。
+.RS
+.LP
+.B
+\ecenterline{\eraise 1em\ebox\egraph}
+.RE
+.LP
+はこの問題を避けます。
+.LP
+\*(tx ドライバで
+.B tpic
+スペシャルバージョン 2 をサポートするものを使用する必要が有ります。
+.LP
+.B \e
+で始まる行は透過的に通されます; 単一の
+.B %
+が行末に追加され、望まれない空白が出るのを防ぎます。
+この機能を使用して、安全にフォントを変更したり
+.B \ebaselineskip
+の値を変更できます。
+この方法以外で実行すると、望ましくない結果となるでしょう;
+各自のリスクで実行して下さい。
+ピリオドで始まる行は特別には扱われません。
+.SS コマンド
+.TP
+\fBfor\fR \fIvariable\fR \fB=\fR \fIexpr1\fR \fBto\fR \fIexpr2\fR \
+[\fBby\fR [\fB*\fR]\fIexpr3\fR] \fBdo\fR \fIX\fR \fIbody\fR \fIX\fR
+.I variable
+を
+.IR expr1
+に設定します。
+.I variable
+の値が
+.IR expr2
+以下の間、
+.I body
+を実行して
+.I variable
+を
+.IR expr3
+だけ増加させます;
+もし
+.B by
+が指定されない場合、
+.I variable
+の増分は 1 です。
+もし
+.I expr3
+の前に
+.B *
+が指定された場合、
+.I variable
+には
+.IR expr3
+が掛けられます。
+.I X
+は
+.IR body
+に存在しない任意の文字を使用して構いません。
+.TP
+\fBif\fR \fIexpr\fR \fBthen\fR \fIX\fR \fIif-true\fR \fIX\fR \
+[\fBelse\fR \fIY\fR \fIif-false\fR \fIY\fR]
+.IR expr
+を評価します;
+もし非 0 ならば、
+.IR if-true
+を実行します、
+そうでないなら
+.IR if-false
+を実行します。
+.I X
+は
+.IR if-true
+に存在しない任意の文字であり、
+.I Y
+は
+.IR if-false
+に存在しない任意の文字です。
+.TP
+\fBprint\fR \fIarg\fR\|.\|.\|.
+引数を結合し、標準エラー出力に 1 行で出力します。
+各
+.I arg
+は式、位置、テキストのいずれかである必要が有ります。
+デバッグに有効です。
+.TP
+\fBcommand\fR \fIarg\fR\|.\|.\|.
+引数を結合し、troff または \*(tx に 1 行として渡します。
+各
+.I arg
+は式、位置、テキストのいずれかである必要が有ります。
+これは
+.B .
+や
+.BR \e
+で始まる行と同様の効果が有りますが、
+値や変数をそのまま通します。
+.TP
+\fBsh\fR \fIX\fR \fIcommand\fR \fIX\fR
+.I command
+をシェルに渡します。
+.I X
+は
+.IR command
+中に存在しない任意の文字です。
+.TP
+\fBcopy\fR \fB"\fIfilename\fB"\fR
+.I filename
+をファイルのこの位置に埋め込みます。
+.TP
+\fBcopy\fR [\fB"\fIfilename\fB"\fR] \fBthru\fR \fIX\fR \fIbody\fR \fIX\fR \
+[\fBuntil\fR \fB"\fIword\*(ic\fB"\fR]
+.ns
+.TP
+\fBcopy\fR [\fB"\fIfilename\fB"\fR] \fBthru\fR \fImacro\fR \
+[\fBuntil\fR \fB"\fIword\*(ic\fB"\fR]
+この構造は
+.I body
+を
+.IR filename
+の各行に対して 1 度づつ実行します。
+行は空白で区切られた語に分割され、
+.IR body
+中の
+.BI $ i
+ただし
+.I i
+は 1 から 9 までは、
+行の
+.IR i
+番目の語に置換されます。
+.I filename
+が指定されない場合、行は現在の行から
+.BR .PE
+の行までが使用されます。
+.B until
+節が指定されると、
+行の最初の語が
+.IR word
+の行までが読み込まれます;
+その行は捨てられます。
+.I X
+は
+.IR body
+に含まれない任意の文字です。
+例えば
+.RS
+.IP
+.ft B
+.nf
+\&.PS
+copy thru % circle at ($1,$2) % until "END"
+1 2
+3 4
+5 6
+END
+box
+\&.PE
+.ft
+.fi
+.RE
+.IP
+は以下等価です。
+.RS
+.IP
+.ft B
+.nf
+\&.PS
+circle at (1,2)
+circle at (3,4)
+circle at (5,6)
+box
+\&.PE
+.ft
+.fi
+.RE
+.IP
+各行に対して実行されるコマンドは、
+.BR thru
+の引数としてマクロ名を与えることで、
+すでに定義されているマクロをとりうる。
+.LP
+.B reset
+.br
+.ns
+.TP
+\fBreset\fI variable1\fB,\fI variable2 .\^.\^.
+既定義の変数
+.IR variable1 ,
+.I variable2
+\&.\^.\^. をデフォルト値にリセットします。
+引数が指定されない場合、すべての既定義の変数はデフォルト値にリセットされます。
+また
+.B scale
+に値を定義すると、寸法を管理する全ての既定義の変数は、
+それらのデフォルト値に新しい scale を掛けたものになります。
+.TP
+\fBplot\fR \fIexpr\fR [\fB"\fItext\*(ic\fB"\fR]
+これはテキストオブジェクトであり、
+.I text
+をフォーマットとして
+.IR expr
+を引数として sprintf を用いて構成します。
+.I text
+が省略された場合にはフォーマット文字列
+.B "\(ts%g\(ts"
+が使用されます。
+通常のテキストオブジェクトと同様属性を指定できます。
+適切なフォーマット文字列を指定するように非常に気を付ける必要が有ります;
+pic は文字列に関して非常に限られたチェックしか行いません。
+この仕様は、
+.BR sprintf
+のことを考慮して批判されています。
+.TP
+.IB variable := expr
+これは
+.B =
+と同じですが、
+.I variable
+が既に定義されていなければならず、
+.I variable
+が変更される場合は、これが定義された最内側ブロックでなければなりません。
+(これに対して
+.B =
+は、variable がまだ定義されていない場合には現在のブロックにおいて定義し、
+現在のブロックに置いて値を変更します。)
+.LP
+.IP
+.IR X\ anything\ X
+.LP
+という形式に対しては
+.IP
+.BI {\ anything\ }
+.LP
+も許されます。
+この場合、
+.I anything
+には
+.B {
+と
+.BR }
+がバランスして登場する必要が有ります。
+文字列に
+.I X
+が含まれる場合、
+.B {
+と
+.BR }
+のバランスが悪い場合に対応します。
+.SS 式
+式の文法が少し拡張されました:
+.LP
+.IB x\ ^\ y
+(指数)
+.br
+.BI sin( x )
+.br
+.BI cos( x )
+.br
+.BI atan2( y , \ x )
+.br
+.BI log( x )
+(base 10)
+.br
+.BI exp( x )
+(base 10, ie 10\v'-.4m'\fIx\*(ic\fR\v'.4m')
+.br
+.BI sqrt( x )
+.br
+.BI int( x )
+.br
+.B rand()
+(0 から 1 までの乱数を返す)
+.br
+.BI rand( x )
+(1 から
+.IR x
+までの乱数を返す;
+勧められません)
+.br
+.BI max( e1 , \ e2 )
+.br
+.BI min( e1 , \ e2 )
+.br
+.BI ! e
+.br
+\fIe1\fB && \fIe2\fR
+.br
+\fIe1\fB || \fIe2\fR
+.br
+\fIe1\fB == \fIe2\fR
+.br
+\fIe1\fB != \fIe2\fR
+.br
+\fIe1\fB >= \fIe2\fR
+.br
+\fIe1\fB > \fIe2\fR
+.br
+\fIe1\fB <= \fIe2\fR
+.br
+\fIe1\fB < \fIe2\fR
+.br
+\fB"\fIstr1\*(ic\fB" == "\fIstr2\*(ic\fB"\fR
+.br
+\fB"\fIstr1\*(ic\fB" != "\fIstr2\*(ic\fB"\fR
+.br
+.LP
+曖昧さを避けるために、
+文字列の比較式はあるコンテキストにおいては括弧で括られる必要が有ります
+.SS その他の変更
+.LP
+単なる式
+.IR expr
+は属性として受理可能です;
+これは
+.IR dir\ expr
+と同じであり、
+.I dir
+は現在の方向です。
+例えば
+.IP
+.B line 2i
+.LP
+は 2 インチの長さの線を現在の方向へ描きます。
+.LP
+ピクチャの最大の幅と高さは変数
+.BR maxpswid ,
+.B maxpsht
+により指定されます。
+初期値は 8.5 および 11 です。
+.LP
+数を表すのに科学技術的表記が可能です。
+例えば
+.RS
+.B
+x = 5e\-2
+.RE
+.LP
+テキストの属性は組み合わせることが可能です。
+例えば
+.RS
+.B
+"foo" above ljust
+.RE
+は正しいです。
+.LP
+ブロックが検査される深さには制限は有りません。
+例えば
+.RS
+.B
+[A: [B: [C: box ]]] with .A.B.C.sw at 1,2
+.br
+.B
+circle at last [\^].A.B.C
+.RE
+は受理可能です。
+.LP
+円弧はコンパスポイントを持ち、円弧が部分となるような円から決定されます。
+.LP
+円と円弧は点線や破線で書くことが出来ます。
+\*(tx モードではスプラインを点線や破線で書くことが出来ます。
+.LP
+ボックスの角を丸くできます。
+.B rad
+属性は、角を構成する 1/4 円の半径を指定します。
+.BR rad ,
+.B diam
+属性が与えられない場合、
+.B boxrad
+が半径として使用されます。
+初期値では
+.B boxrad
+は値 0 です。
+角の丸いボックスは点線や破線で書くことが出来ます。
+.LP
+.B .PS
+行は 2 番目の引数としてピクチャの最大の高さを指定できます。
+幅として 0 が指定された場合には、
+ピクチャのスケーリングファクタの計算においては幅は無視されます。
+GNU pic は常に水平方向と垂直方向ともに同じ縮尺で
+スケーリングしていることに注意して下さい。
+これは
+高さが指定された場合に水平方向と垂直方向を同じ縮尺でスケーリングしない
+.SM DWB
+2.0 pic と異なります。
+.LP
+テキストオブジェクトはそれぞれに関連づけられた見えないボックスを持っています。
+テキストオブジェクトのコンパスポイントはこのボックスによって決定されます。
+オブジェクトに関連づけられた暗示的な動きもこのボックスによって決定されます。
+このボックスの寸法は width, height 属性から定まります;
+もし width 属性が与えられていない場合は幅は
+.BR textwid
+となります;
+もし height 属性が与えられていない場合は高さは
+.BR textht
+となります。
+初期値では
+.BR textwid ,
+.B textht
+は値 0 です。
+.LP
+クオートされされたテキストが使用される場合、
+.IP
+.BI sprintf(\(ts format \(ts,\ arg ,\fR.\|.\|.\fB)
+.LP
+という形式の式を使用可能です;
+これは引数を
+.IR format
+に従い整形したものを出力します。
+.I format
+は
+.BR printf (3)
+に記述されている文字列であり、
+与えられる数及び引数に適切なものである必要が有ります。
+.BR e ,
+.BR f ,
+.BR g ,
+.B %
+フォーマット文字のみ使用可能です。
+.LP
+オブジェクトを描画する時に使用する線の太さは
+.B linethick
+変数で制御可能です。
+これは線の太さをポイントで指定します。
+負の値はデフォルトの太さを使用することを意味します:
+\*(tx 出力モードでは、8 ミリインチを使用することを意味します;
+\*(tx 出力モードで
+.B -c
+オプション使用時には、線の太さには
+.B .ps
+行で指定されるものを使用ことを意味します;
+troff 出力モードでは、ポイントサイズに比例する太さを使用することを意味します。
+値 0 ではデバイスがサポートするもっとも細い線で描画します。
+初期値は -1 です。
+また、
+.BR thick [ ness ]
+属性が有ります。
+例えば
+.RS
+.LP
+.B circle thickness 1.5
+.RE
+.LP
+は 1.5 ポイントの太さの円を描画します。
+線の太さは
+.B scale
+変数の値の影響も
+.PS
+行における高さの影響も受けません。
+.LP
+ボックス(角の丸いボックスを含みます)、
+円、楕円は塗りつぶすことが可能であり、
+属性
+.BR fill [ ed ]
+で指定します。
+これは値が 0 から 1 の式をオプションで引数として取ります;
+0 は白で塗りつぶし、1 は黒で塗りつぶし、その間の値では
+適切な灰色で塗りつぶします。
+1 より大きい値も使用可能です:
+この場合、現在のテキスト及び線に使用している灰色で塗りつぶします。
+通常これは黒ですが、出力デバイスが変更する機構を持っているかも知れません。
+引数を取らない場合、
+.B fillval
+変数の値が使用されます。
+初期値では 0.5 です。
+invisible 属性はオブジェクトの塗りつぶしには影響しません。
+塗りつぶされたオブジェクトに関連づけられたテキストは、
+塗りつぶし後に追加されます。
+このため、塗りつぶしによってテキストが隠されることは有りません。
+.LP
+変数
+.B arrowhead
+が非 0 でありかつ \*(tx モードが有効もしくは
+.B \-x
+オプションが与えられている場合には、
+矢印の頭を実線の三角形で描画します。
+初期値では
+.B arrowhead
+は 1 です。
+.LP
+pic の troff 出力はデバイス独立です。
+それゆえ
+.B \-T
+オプションは冗長です。
+全ての数値はインチとして扱われます;
+数値は troff マシン単位としては解釈されません。
+.LP
+オブジェクトは
+.B aligned
+属性を取りえます。
+これは後処理が
+.BR grops
+で実行される場合のみ機能します。
+オブジェクトに関連づけられたテキストで
+.B aligned
+属性を持つものは全て
+オブジェクトの中央において回転されます。
+それゆえ、オブジェクトの始点から終点への方向にあわせられます。
+この属性は始点と終点が同じオブジェクトに関しては効果が有りません。
+.LP
+.IB n th
+と言う表現が許されている場所では
+.BI ` expr 'th
+という表現も許されます。
+.B 'th
+は単一のトークンであることに注意して下さい:
+.B '
+と
+.BR th
+の間には空白を入れてはなりません。
+使用例は以下です。
+.IP
+.B
+.nf
+for i = 1 to 4 do {
+ line from `i'th box.nw to `i+1'th box.se
+}
+.fi
+.SH 関連ファイル
+.Tp \w'\fB/usr/share/tmac/tmac.pic'u+3n
+.B
+/usr/share/tmac/tmac.pic
+.B PS
+と
+.B PE
+マクロの定義の例です。
+.SH 関連項目
+.BR troff (1),
+.BR groff_out (5),
+.BR tex (1)
+.br
+Tpic: Pic for \*(tx
+.br
+AT&T Bell Laboratories, Computing Science Technical Report No.\ 116,
+PIC \(em A Graphics Language for Typesetting.
+(This can be obtained by sending a mail message to netlib@research.att.com
+with a body of `send\ 116\ from\ research/cstr'.)
+.SH バグ
+.LP
+.B groff
+にとって不正な文字(例えば
+.SM ASCII
+code 0 や 8 進で 013〜037、
+0200〜0237)は \*(tx モードであっても拒否されます。
+.LP
+.B fillval
+の解釈は 10th edition Unix と互換性がありません。
+10th edition Unix は 0 を黒、1 を白と解釈します。
+.\" Kazuo HORIKAWA <horikawa@jp.freebsd.org>
+.\" USAGE 訳出 (Dec 27, 1996)
diff --git a/ja/man/man1/pkg_add.1 b/ja/man/man1/pkg_add.1
new file mode 100644
index 0000000000..39f7c8f28f
--- /dev/null
+++ b/ja/man/man1/pkg_add.1
@@ -0,0 +1,379 @@
+.\"
+.\" FreeBSD install - a package for the installation and maintainance
+.\" of non-core utilities.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" Jordan K. Hubbard
+.\"
+.\"
+.\" @(#)pkg_add.1
+.\" jpman %Id: pkg_add.1,v 1.3 1997/06/09 04:19:05 jsakai Stab %
+.\"
+.Dd November 25, 1994
+.Dt pkg_add 1
+.Os FreeBSD
+.Sh 名称
+.Nm pkg_add
+.Nd ソフトウェア配布パッケージをインストールするプログラム
+.Sh 書式
+.Nm
+.Op Fl vInfRMS
+.Op Fl t Ar template
+.Op Fl p Ar prefix
+.Ar pkg-name [pkg-name ...]
+.Sh 解説
+.Nm
+コマンドは、
+.Xr pkg_create 1
+コマンドにより作成されたパッケージを展開するのに用いられます。
+
+.Sh 警告
+.Bf -emphasis
+.Nm
+コマンドはパッケージファイルに含まれるスクリプトやプログラムを
+実行することがあるので、あなたのシステムは、危険な配布ファイルを
+作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける
+可能性があります。
+.Pp
+パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。
+より進んだ安全のためには、パッケージを展開するのに
+.Fl M
+フラグを用い、その内容と、スクリプトがシステムに害をおよぼさないかを
+確認します。
++INSTALL 、 +DEINSTALL 、 +REQUIRE 、 +MTREE_DIRS の各ファイルには
+特に注意を払い、+CONTENTS ファイルの
+.Cm @cwd
+、
+.Cm @mode
+(setuid をチェック)、
+.Cm @dirrm
+、
+.Cm @exec
+、
+.Cm @unexec
+ディレクティブを調べてください。
+パッケージファイルを調べるのには
+.Xr pkg_info 1
+コマンドも使えます。
+.Ef
+
+.Sh オプション
+以下のコマンドラインオプションが提供されています:
+.Bl -tag -width indent
+.It Ar pkg-name [... pkg-name]
+指定されたパッケージがインストールされます。
+- という名前が指定されると、
+.Nm
+は stdin から読み込みます。
+パッケージがカレントディレクトリに見つからないと、
+.Nm
+は
+.Ev PKG_PATH
+で指定された各ディレクトリを探します。
+.It Fl v
+饒舌な出力に切り替えます。
+.It Fl I
+パッケージにインストール用スクリプトが存在しても、それを実行しません。
+.It Fl n
+実際にはインストールを行わず、インストールした場合に実行されるであろう
+ステップを表示します。
+.It Fl R
+パッケージのインストール結果を記録しません。
+このオプションは、後でアンインストールすることを不可能にするため、
+自分が何をしているかを理解している人のみ使ってください。
+.It Fl f
+あらかじめ必要なパッケージがインストールされていなかったり、
+requirements スクリプトが失敗した場合にも強制的にインストールします。
+これは
+.Nm
+が見つからない必要なパッケージを探して自動的にインストールすることを
+止めるわけではなく、見つからない場合でも中断しないようにします。
+.It Fl p Ar prefix
+パッケージからファイルを展開するディレクトリの前に
+.Ar prefix
+を付けます。
+パッケージがデフォルトディレクトリを保持している場合には、
+このオプションで変更できます。
+.Nm
+はディレクトリ設定が相対的に行われているか、絶対的に行われているか
+を知る術がないので、最初の
+.Cm @cwd
+ディレクティブのみが変更されることに注意してください。
+複数回のディレクトリ変更が行われることはまれですが、
+実際にあった場合、すべてのディレクトリ変更を制御したくなる
+でしょう。この場合、
+.Cm MASTER
+モード、
+.Cm SLAVE
+モードの使用を検討してみてください (オプション
+.Fl M
+と
+.Fl S
+を参照)。
+.It Fl t Ar template
+``作業領域'' を作成する際に、
+.Xr mktemp 3
+への入力として
+.Ar template
+を用います。
+これはデフォルトでは
+.Pa /var/tmp/instmp.XXXXXX
+という文字列ですが、
+.Pa /var/tmp
+ディレクトリの容量が制限されているような状況では
+変更する必要があるかもしれません。
+.Xr mktemp 3
+が一意の ID を用いるために必要な `X' の文字をいくつか残しておく
+ことを忘れないでください。
+.Pp
+作業領域
+.Ar template
+をパッケージファイルがインストールされるディレクトリと同じディスク
+パーティションに設定することによって、パフォーマンスを高めることが
+可能です (大抵は
+.Pa /usr
+)。
+.It Fl M
+.Cm MASTER
+モードで実行します。これは
+.Nm
+のとても特殊な実行モードであり、
+.Cm SLAVE
+モードと共に実行しなければなりません。
+このモードで実行されると、
+.Nm
+は一時的な作業領域 (
+.Fl t
+オプションを参照) へパッケージを展開する以上のことはせず、
+現在の作業領域ディレクトリ名を頭に付加した packing list を標準出力に
+出力します(標準出力は
+.Xr sed 1
+のようなプログラムにフィルタされているかもしれません)。
+.Cm SLAVE
+モードと共に用いると、中身を処理する前にパッケージ構造に
+大きな変更を加えることが可能になります。
+.It Fl S
+.Cm SLAVE
+モードで実行します。これは
+.Nm
+のとても特殊な実行モードであり、
+.Cm MASTER
+モードと共に実行しなければなりません。
+このモードで実行されると、
+.Nm
+はパッケージの内容がすでに作業領域に展開され、その場所が
+標準入力から文字列として入力されることを想定します。
+完全な packing list も stdin から読み込まれ、その後中身が
+通常どおり処理されます。
+.El
+.Pp
+一つ以上の
+.Ar pkg-name
+引数を指定することが可能で、それらはパッケージを含むファイル名(通常
+拡張子 ``.tgz'' で終わります)か、ftp サイトにあるファイルを
+示す URL のどちらかになります。
+したがって、anonymous ftp から直接ファイルを展開することが
+可能です (例えば
+.Nm
+ftp://ftp.freebsd.org/pub/FreeBSD/packages/shells/bash-1.14.4.tgz
+)。
+注意: もし上記のような転送で用いる ftp で
+.Bf -emphasis
+passive mode
+.Ef
+を利用したいなら、環境変数
+.Bf -emphasis
+FTP_PASSIVE_MODE
+.Ef
+に何らかの値を設定する必要があります。
+そうでなければ、より一般的な ACTIVE モードが利用されます。
+もしうまく動作していることがわかっているサイトからパッケージを
+得ようとして
+.Nm
+が常に失敗する場合、あなたが
+.Bf -emphasis
+passive mode
+.Ef
+の ftp を使う必要のあるファイアウォールの中にいるのが原因である場合が
+あります。
+.Sh 技術詳細
+.Nm
+はきわめて単純です。各パッケージの "packing list" を /tmp 内
+($PKG_TMPDIR が設定されていればそこ)の特別な作業ディレクトリに展開し、
+中身を解析し、内容を完全に展開するために
+以下の手順を実行します:
+.Bl -enum -indent indent
+.It
+パッケージがすでにインストールされている、と記録されているかどうかを
+チェックします。もしそうならインストールを中断します。
+.It
+.Cm @pkgdep
+ディレクティブ (
+.Xr pkg_create 1
+を参照) による
+パッケージのすべての依存関係をチェックし、各々が存在するかどうかを
+確認します。もし存在しなければ、足りないパッケージを見つけて自動的に
+インストールしようとします。もし見つからなければ、
+インストールを中断します。
+.It
+パッケージがどのようにシステムに追加されるかを制御する
+.Cm @option
+ディレクティブを検索します。このマニュアルページを書いている時点では、
+実装されているオプションは
+.Cm @option extract-in-place
+のみであり、これは
+.Pa /tmp
+内の作業領域を経由しないで、
+パッケージを最終的なディレクトリに直接展開するようにします。
+.It
+.Cm @option extract-in-place
+が指定されていれば、パッケージは最終的な場所に直接展開され、
+そうでなければ作業領域内に展開されます。
+.It
+パッケージが
+.Ar require
+ファイル (
+.Xr pkg_create 1
+を参照) を含んでいる場合、そのファイルを以下の引数を付けて実行します:
+.Bd -filled -offset indent -compact
+.Ar pkg-name
+.Ar INSTALL
+.Ed
+ここで
+.Ar pkg-name
+は問題としているパッケージの名前であり、
+.Ar INSTALL
+キーワードはインストールの requirements チェックであることを
+示しています (これは複数の機能を提供するひとつのスクリプトを
+用いようとする場合に有用です)。
+.It
+パッケージに
+.Ar install
+スクリプトが存在する場合、以下の引数を付けて実行されます:
+.Bd -filled -offset indent -compact
+.Ar pkg-name
+.Ar PRE-INSTALL
+.Ed
+ここで
+.Ar pkg-name
+は問題としているパッケージの名前であり、
+.Ar PRE-INSTALL
+はこれがインストール前のステップであることを示すキーワードです。
+.It
+.Cm @option extract-in-place
+が指定されていない場合、packing list (
+.Pa +CONTENTS
+ファイル) が作業領域から最終的な場所に
+ファイルを移動 (必要ならコピー) するために参照されます。
+.It
+パッケージが
+.Ar mtreefile
+ファイル (
+.Xr pkg_create 1
+を参照) を含む場合、mtree が以下の引数を付けて実行されます:
+.Bd -filled -offset indent -compact
+.Cm mtree
+.Fl u
+.Fl f
+.Ar mtreefile
+.Fl d
+.Fl e
+.Fl p
+.Pa prefix
+.Ed
+ここで
+.Pa prefix
+は
+.Fl p
+フラグが指定されていればその prefix、
+.Fl p
+フラグが指定されていない場合にはこのパッケージの最初の
+.Cm @cwd
+ディレクティブのディレクトリ名が prefix になります。
+.It
+パッケージに
+.Ar install
+スクリプトが含まれる場合、
+.Bd -filled -offset indent -compact
+.Cm script
+.Ar pkg-name
+.Ar POST-INSTALL
+.Ed
+として実行されます。これによりインストール前とインストール後の
+両方の手続きをこなす一つの
+.Ar install
+スクリプトを用いることが可能になります。
+.It
+インストールが終了すると、後で
+.Xr pkg_delete 1
+で使うために packing list 、
+.Ar deinstall
+スクリプト、 description 、 display の各ファイルが
+.Pa /var/db/pkg/<pkg-name>
+にコピーされます。
+パッケージの依存関係は、他のパッケージの
+.Pa /var/db/pkg/<other-pkg>/+REQUIRED_BY
+ファイル (PKG_DBDIR 環境変数が設定してある場合、上記の
+.Pa /var/db/pkg/
+が置き換えられます) に記録されます。
+.It
+最後に、作業領域が削除されプログラムは終了します。
+.El
+.Pp
+すべてのスクリプトは環境変数
+.Ev PKG_PREFIX
+にインストール時の prefix (
+前述の
+.Fl p
+オプションを参照) が設定された状態で実行されます。
+このことにより、パッケージの作者は
+.Cm pkg_add
+の
+.Fl p
+フラグによりパッケージがインストールされるディレクトリが
+変更されても、きちんとふるまうスクリプトを書くことが可能になります。
+.Sh 環境変数
+.Ev PKG_PATH
+の値は、指定されたパッケージが見つからない時に用いられます。
+環境変数はコロンで区切られた一連のエントリです。
+各エントリはディレクトリ名からなります。
+カレントディレクトリは空欄のディレクトリ名で暗黙のうちに指定されるか、
+一つのピリオドで明示的に指定します。
+.Sh 関連項目
+.Xr pkg_create 1 ,
+.Xr pkg_delete 1 ,
+.Xr pkg_info 1 ,
+.Xr mktemp 3 ,
+.Xr sysconf 3 ,
+.Xr mtree 8
+.Sh 作者
+.Bl -tag -width indent -compact
+.It "Jordan Hubbard"
+最初の仕事およびそれに続く開発。
+.It "John Kohl"
+NetBSD 向け改良。
+.El
+.Sh バグ
+配布物のファイル間のハードリンクは、
+(1) 作業領域が、ファイルへのすべてのリンクの最終的な
+ディレクトリと同じファイルシステムの場合もしくは、
+(2) ファイルへのすべてのリンクが contents ファイル内で
+.Cm @cwd
+ディレクティブで括られている場合にのみ保存されます。
+.Em さらに
+その上、リンク名は単一の
+.Cm tar
+コマンド (
+.Fn sysconf _SC_ARG_MAX
+により返される値に依存する実行時の引数の長さの制限により、複数の
+実行には分割できません) で展開されなければなりません。
+.Pp
+バグは他にもあるはずです。
diff --git a/ja/man/man1/pkg_create.1 b/ja/man/man1/pkg_create.1
new file mode 100644
index 0000000000..931418d4d0
--- /dev/null
+++ b/ja/man/man1/pkg_create.1
@@ -0,0 +1,403 @@
+.\"
+.\" FreeBSD install - a package for the installation and maintainance
+.\" of non-core utilities.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" Jordan K. Hubbard
+.\"
+.\"
+.\" @(#)pkg_create.1
+.\" jpman %Id: pkg_create.1,v 1.3 1997/06/09 10:11:56 jsakai Stab %
+.\" %Id: pkg_create.1,v 1.16.2.6 1997/10/09 07:09:04 charnier Exp %
+.\"
+.\" hacked up by John Kohl for NetBSD--fixed a few bugs, extended keywords,
+.\" added dependency tracking, etc.
+.\"
+.\" [jkh] Took John's changes back and made some additional extensions for
+.\" better integration with FreeBSD's new ports collection.
+.\"
+.Dd April 21, 1995
+.Dt pkg_create 1
+.Os FreeBSD
+.Sh 名称
+.Nm pkg_create
+.Nd ソフトウェア配布パッケージを作成するプログラム
+.Sh 書式
+.Nm
+.Op Fl YNOhv
+.Op Fl P Ar pkgs
+.Op Fl p Ar prefix
+.Op Fl f Ar contents
+.Op Fl i Ar iscript
+.Op Fl k Ar dscript
+.Op Fl r Ar rscript
+.Op Fl t Ar template
+.Op Fl X Ar excludefile
+.Op Fl D Ar displayfile
+.Op Fl m Ar mtreefile
+.Fl c Ar comment
+.Fl d Ar description
+.Fl f Ar packlist
+.Ar pkg-name
+.Sh 解説
+この
+.Nm
+コマンドは、パッケージ展開/情報プログラムに渡されるパッケージを
+作成します。
+パッケージ作成のために入力する説明とコマンドライン引数
+は本来人間が生成することを意図していませんが、
+そうすることも簡単にできます。
+自力でどうにかすることも可能ですが、作成にはフロントエンドツールを
+用いた方がいいでしょう。
+とはいうものの、入力書式の概略はこの文書に含まれています。
+.Sh オプション
+以下のコマンドラインオプションが提供されています:
+.Bl -tag -width indent
+.It Fl f Ar packinglist
+ファイル
+.Ar packinglist
+から、もしくは
+.Ar packinglist
+が
+.Cm -
+(ダッシュ)であれば
+.Cm stdin
+から、パッケージ用の ``packing list'' を取得します。
+.It Fl c Ar [-]desc
+ファイル
+.Ar desc
+から、もしくは先頭が
+.Cm -
+で始まっていれば引数自身から、パッケージの ``一行説明'' を取得します。
+この文字列は、パッケージが提供するもののバージョンを知る
+手がかりとなるべきです。
+.It Fl d Ar [-]desc
+ファイル
+.Ar desc
+から、もしくは先頭が
+.Cm -
+で始まっていれば引数自身から、パッケージの長い説明を取得します。
+.It Fl Y
+質問に対してのデフォルトの解答を `Yes' とします。
+.It Fl N
+質問に対してのデフォルトの解答を `No' とします。
+.It Fl O
+`packing list Only' モードに移行します。
+これは
+.Em "FreeBSD Ports Collection"
+のための特別な修正であり、port がインストールされる時の
+`fake pkg_add' を行うために用いられます。
+このような場合には、調整された最終的な packing list が
+どのようなものになるかを知る必要があるのです。
+.It Fl v
+饒舌な出力に切り替えます。
+.It Fl h
+tar がシンボリックリンクをたどるようにします。
+この結果、リンク自身ではなくリンク先のファイルが出力されます。
+.It Fl i Ar iscript
+パッケージのインストール手続きとして
+.Ar iscript
+を用います。
+これは実行可能なプログラム (もしくはシェルスクリプト) なら
+なんでも構いません。
+これはパッケージがインストールされる時に自動的に起動されます。
+.It Fl P Ar pkgs
+初期のパッケージ依存リストとして
+.Ar pkgs
+を用います。
+これはホワイトスペースで区切られたパッケージの名前となります。
+また、packing list (後述の「PACKING LIST 詳細」セクションを参照)
+内の複数の
+.Cm @pkgdep
+ディレクティブを指定する手っ取り早い方法でもあります。
+.It Fl p Ar prefix
+パッケージのファイルを選択する際に基準となる初期ディレクトリとして
+.Ar prefix
+を用います。
+.It Fl k Ar dscript
+パッケージのアンインストール手続きとして
+.Ar dscript
+を用います。
+これは実行可能なプログラム (もしくはシェルスクリプト) なら
+なんでも構いません。
+これはパッケージがアンインストールされる時に自動的に起動されます。
+.It Fl r Ar rscript
+パッケージの ``requirements'' 手続きとして
+.Ar rscript
+を用います。
+これは実行可能なプログラム (もしくはシェルスクリプト) なら
+なんでも構いません。
+これはインストール時、アンインストール時に自動的に起動され、
+インストール、アンインストールを継続するべきかどうかを決定するのに
+用いられます。
+.It Fl t Ar template
+.Xr mktemp 3
+への入力として
+.Ar template
+を用います。
+これはデフォルトでは
+.Pa /tmp/instmp.XXXXXX
+という文字列ですが、
+.Pa /tmp
+ディレクトリの容量が制限されているような状況では
+変更する必要があるかもしれません。
+.Xr mktemp 3
+が一意の ID を用いるために必要な `X' の文字をいくつか残しておく
+ことを忘れないでください。
+.It Fl X Ar excludefile
+最終的にパッケージを作成する際に、
+.Ar excludefile
+を
+.Cm tar
+に
+.Fl exclude-from
+引数として渡します。
+このオプションを使うにあたっての詳しい情報は、
+.Cm tar
+のマニュアルページ (もしくは
+.Fl -help
+引数を付けて
+.Cm tar
+を実行) を参照してください。
+.It Fl D Ar displayfile
+パッケージをインストールした後にファイルを (
+.Xr more 1
+を用いて) 表示します。
+「ほとんど free なソフトウェア」などにおいて、
+法的な通知のようなものなどに便利でしょう。
+.It Fl m Ar mtreefile
+パッケージがインストールされる前に、mtreefile を入力として
+.Xr mtree 8
+を実行します。mtree は
+.Cm mtree
+.Fl u
+.Fl f
+.Ar mtreefile
+.Fl d
+.Fl e
+.Fl p
+.Pa prefix
+として起動されます (ただし
+.Pa prefix
+は
+.Cm @cwd
+ディレクティブにより名付けられた最初のディレクトリの名前)。
+.El
+.Pp
+.Sh PACKING LIST 詳細
+``packing list'' の書式 (
+.Fl f
+を参照) は単純で、パッケージに含めるファイル名を一行につきひとつずつ
+並べたものにすぎません。
+どこにインストールされるかわからないパッケージに対して絶対パスを
+用いるのは一般的に悪い方法なので、
+どこにインストールされることを想定しているのか、
+そしてどんな ownership と mode を伴ってインストールされるべきなのか
+(こちらはオプション) を指定する方法が用意されています。
+これは packing list 内に一連の特殊コマンドを
+埋め込むことで実現されています。以下に簡単に示します:
+.Bl -tag -width indent -compact
+.It Cm @cwd Ar directory
+内部のディレクトリポインタが
+.Ar directory
+を指すようにします。以降のファイル名はこのディレクトリへの相対パス
+であるとみなされます。
+.Cm @cd
+はこのコマンドの別名です。
+.It Cm @srcdir Ar directory
+パッケージ作成の時には
+.Cm @cwd
+のようにふるまいますが、パッケージ展開・一覧時には無視されます。
+これによりインストールされたディレクトリではなく、
+構築したディレクトリからパッケージを作成することが可能になります。
+.It Cm @exec Ar command
+展開処理の一環として
+.Ar command
+を実行します。
+.Ar command
+が以下の文字列を含んでいた場合、その場で置換されます。
+以下の例では
+.Cm @cwd
+が
+.Pa /usr/local
+と設定されていて、最後に展開されたファイルが
+.Pa bin/emacs
+だったとしています。
+.Bl -tag -width indent -compact
+.It Cm "%F"
+最後に展開されたファイル名に置換されます。この例では
+.Pa bin/emacs
+となります。
+.It Cm "%D"
+.Cm @cwd
+で設定されたカレントディレクトリプレフィクスに置換されます。
+この例では
+.Pa /usr/local
+になります。
+.It Cm "%B"
+完全な(フルパスの)ファイル名の ``basename'' へ置換されます。
+これはカレントディレクトリプレフィクスに最後の filespec を
+加え、末尾のファイル名部分を除いたものです。
+この例では、
+.Pa /usr/local/bin
+になります。
+.It Cm "%f"
+完全な (フルパスを含む) ファイル名の ``filename'' 部分へ置換されます。
+.Cm %B
+と対応していて、この例では
+.Pa emacs
+となります。
+.El
+.It Cm @unexec Ar command
+アンインストール処理の一環として
+.Ar command
+を実行します。特別な
+.Cm %
+文字列の置換は
+.Cm @exec
+と同様です。
+このコマンドは
+.Cm @exec
+のようにパッケージを加える際に実行されるのではなく、パッケージが
+削除されるときに実行されます。
+これは、パッケージを加えるときに作られたリンクや他の
+付随ファイル (パッケージの内容一覧に記されているファイルは自動的に
+削除されるので除く) を削除するのに便利です。
+アンインストールスクリプトよりも
+.Cm @unexec
+を用いる方が有利な点は、どこにインストールされているかわからない (
+.Fl p
+を参照) ファイルの場所を得るのに ``特殊文字列置換'' を用いることが
+可能なことです。
+.It Cm @mode Ar mode
+この後で展開されるすべてのファイルのデフォルトの許可属性を
+.Ar mode
+に設定します。
+書式は
+.Cm chmod
+コマンドで用いられているものと同じです (というよりも、そのまま
+渡されています)。
+引数無しで用いると、デフォルトの(展開)許可属性に戻します。
+.It Cm @option Ar option
+内部用パッケージオプションを設定します。
+現在二つのオプションのみがサポートされています。
+ひとつは
+.Ar extract-in-place
+で、これは pkg_add コマンドにパッケージの tarball を
+staging area に展開せずに、目的の階層に直接展開するよう指示します
+(これは主に配布物や他の特殊なパッケージなどに用いられます)。
+もうひとつは
+.Ar preserve
+で、存在するファイルを別の所に保存しておくよう pkg_add に指示します
+(これらは pkg_delete の時に復活しますが、自分の責任で行ってください)。
+.It Cm @owner Ar user
+この後で展開されるすべてのファイルのデフォルトの ownership を
+.Ar user
+に設定します。
+引数無しで用いると、デフォルトの(展開) ownership に戻します。
+.It Cm @group Ar group
+この後で展開されるすべてのファイルのデフォルトの group ownership を
+.Ar group
+に設定します。
+引数無しで用いると、デフォルトの(展開) group ownership に戻します。
+.It Cm @comment Ar string
+packing list 内にコメントを埋め込みます。
+誰かが後で間違えてしまうかもしれない特に厄介な部分を説明しようとする
+場合に便利です。
+.It Cm @ignore
+特殊な目的に使われるファイルなどのため、展開時に次のファイルを
+無視する (どこにもコピーしない) ように、内部で用いられます。
+.It Cm @ignore_inst
+.Cm @ignore
+と同様ですが、次のファイルを無視するのは一評価サイクルだけ
+遅らせられます。
+このおかげでこのディレクティブを
+.Ar packinglist
+ファイル内で用いることが可能になるので、インストーラが
+無視するような、インストールスクリプトなどのための特殊な
+データファイルを、配布物内に入れることができるようになります。
+.It Cm @name Ar name
+パッケージの名前を設定します。
+これは必須項目であり、通常先頭に置かれます。
+この名前はパッケージが提供するファイルの名前とは異なる可能性があり、
+後でアンインストールする時のために
+パッケージの記録を残しておくのに使われます。
+名前が指定されなかった場合には、
+.Nm
+はパッケージ名から推定し、自動的に設定することに注意してください。
+.It Cm @dirrm Ar name
+ディレクトリ
+.Pa name
+がアンインストール時に削除されるよう宣言します。デフォルトでは、
+パッケージのインストール時に作成されたディレクトリは
+アンインストール時には削除されませんが、このディレクティブは明示的な
+ディレクトリ削除方法を提供します。
+このディレクティブはパッケージリストの最後で用いるようにしてください。
+一つ以上の
+.Cm @dirrm
+ディレクティブが指定された場合、指定された順番に削除されます。
+.Pa name
+は空きディレクトリでなければ削除されません。
+.It Cm @mtree Ar name
+.Pa name
+を、インストール時に用いられる
+.Xr mtree 8
+への入力ファイルとして宣言します (上述の
+.Fl m
+を参照)。最初にひとつだけ
+.Cm @mtree
+ディレクティブを指定することが推奨されます。
+.It Cm @display Ar name
+.Pa name
+を、インストール時に表示されるファイルとして宣言します (上述の
+.Fl D
+を参照)。
+.It Cm @pkgdep Ar pkgname
+パッケージ
+.Ar pkgname
+に依存することを宣言します。
+パッケージ
+.Ar pkgname
+はこのパッケージがインストールされる前にインストールされていなければ
+ならず、またこのパッケージはパッケージ
+.Ar pkgname
+がアンインストールされる前にアンインストールされなければなりません。
+パッケージが複数のパッケージに依存する場合には、複数の
+.Cm @pkgdep
+ディレクティブが用いられます。
+.El
+.Sh 関連項目
+.Xr pkg_add 1 ,
+.Xr pkg_delete 1 ,
+.Xr pkg_info 1 ,
+.Xr sysconf 3 .
+.Sh 歴史
+.Nm
+コマンドは FreeBSD で最初に登場しました。
+.Sh 作者
+.Bl -tag -width indent -compact
+.It "Jordan Hubbard"
+ほとんどの仕事
+.It "John Kohl"
+NetBSD 向け修正
+.El
+.Sh バグ
+パッケージが展開される際にハードリンクを保存しておくために、
+配布物のファイル間でのハードリンクは
+.Cm @cwd
+ディレクティブで括られていなければなりません。
+その上、実行時の引数の長さの制限 (これは
+.Fn sysconf _SC_ARG_MAX
+により返される値に依存します) のために、それらのハードリンクは単一の
+.Cm tar
+実行内で行われなければなりません。
+.Pp
+バグは他にもあるはずです。
diff --git a/ja/man/man1/pkg_delete.1 b/ja/man/man1/pkg_delete.1
new file mode 100644
index 0000000000..b42f451c82
--- /dev/null
+++ b/ja/man/man1/pkg_delete.1
@@ -0,0 +1,193 @@
+.\"
+.\" FreeBSD install - a package for the installation and maintainance
+.\" of non-core utilities.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" Jordan K. Hubbard
+.\"
+.\"
+.\" @(#)pkg_delete.1
+.\" jpman %Id: pkg_delete.1,v 1.3 1997/06/09 08:35:00 jsakai Stab %
+.\"
+.Dd November 25, 1994
+.Dt pkg_delete 1
+.Os FreeBSD
+.Sh 名称
+.Nm pkg_delete
+.Nd インストールされているソフトウェア配布パッケージを削除するプログラム
+.Sh 書式
+.Nm
+.Op Fl vDdnf
+.Op Fl p Ar prefix
+.Ar pkg-name ...
+.Sh 解説
+.Nm
+コマンドは、
+.Xr pkg_add 1
+コマンドにより既にインストールされているパッケージを削除するために
+用いられます。
+
+.Sh 警告
+.Bf -emphasis
+.Nm
+コマンドはパッケージファイルにより提供されるスクリプトやプログラムを
+実行することがあるので、あなたのシステムは、危険な配布ファイルを
+作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける
+可能性があります。
+.Pp
+パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。
+より進んだ安全のためには、パッケージ記録ディレクトリ (
+.Pa /var/db/pkg/<pkg-name>/
+) にあるすべてのパッケージ制御ファイルを確認します。
++INSTALL 、 +DEINSTALL 、 +REQUIRE 、 +MTREE_DIRS の各ファイルには
+特に注意を払い、+CONTENTS ファイルの
+.Cm @cwd
+、
+.Cm @mode
+(setuid をチェック)、
+.Cm @dirrm
+、
+.Cm @exec
+、
+.Cm @unexec
+ディレクティブを調べてください。
+インストールされているパッケージ制御ファイルを調べるのには
+.Xr pkg_info 1
+コマンドも使えます。
+.Ef
+
+.Sh オプション
+以下のコマンドラインオプションが提供されいます:
+.Bl -tag -width indent
+.It Ar pkg-name ...
+指定されたパッケージがアンインストールされます。
+.It Fl v
+饒舌な出力に切り替えます。
+.It Fl D
+パッケージにアンインストール用スクリプトが存在しても、それを実行しません。
+.It Fl n
+実際にはアンインストールは行わず、アンインストールした場合に実行されるであろう
+ステップを表示します。
+.It Fl p Ar prefix
+インストールされているパッケージが明示的にディレクトリを設定していない
+場合に、削除するファイルの前に
+.Ar prefix
+をディレクトリとして付け加えます。
+ほとんどのパッケージでは、このディレクトリは
+.Xr pkg_add 1
+によってインストールされた場所に自動的に設定されます。
+.It Fl d
+ファイル削除により生じた空のディレクトリを削除します。
+デフォルトでは、パッケージの内容一覧に明示的に羅列された
+ファイル/ディレクトリ (通常のファイル/ディレクトリか
+.Cm @dirrm
+ディレクトリを伴ったもの) のみがアンインストール時に削除されます。
+このオプションにより
+.Nm
+はパッケージを削除することにより生ずる空ディレクトリも削除するように
+なります。
+.It Fl f
+依存関係が記録されていたり、アンインストールスクリプトや
+ require スクリプトが失敗した場合でも、強制的にパッケージを削除します。
+.El
+
+.Pp
+.Sh 技術詳細
+.Nm
+は名前の通りに働きます。
+.Nm
+は
+.Pa /var/db/pkg/<pkg-name>
+に記録されたインストール済みのパッケージをチェックし、
+パッケージの内容を削除し、最後にパッケージの記録も削除します。
+.Pp
+あるパッケージが他のインストール済みのパッケージから必要とされている場合、
+.Nm
+はそれらの依存しているパッケージの一覧を表示し、パッケージの削除は
+行いません (ただし
+.Fl f
+オプションが指定された場合を除く)。
+.Pp
+パッケージが
+.Ar require
+ファイル(
+.Xr pkg_create 1
+を参照)を含んでいる場合、まずそのファイルを以下の引数を付けて実行し、
+アンインストール作業を続けるべきかどうかを確かめます:
+.Bd -filled -offset indent -compact
+.Cm require
+.Ar <pkg-name>
+.Ar DEINSTALL
+.Ed
+(ここで
+.Ar pkg-name
+は問題としているパッケージの名前であり、
+.Ar DEINSTALL
+はこれがアンインストールであることを示すキーワードです)
+終了ステータスが 0 以外の場合には、
+.Fl f
+オプションが指定されていない限りアンインストールを中断します。
+.Pp
+パッケージに
+.Cm deinstall
+スクリプトが含まれている場合、
+そのスクリプトはファイルが削除される前に実行されます。
+.Nm
+はオリジナルのパッケージに含まれていたファイルを削除することしか
+関知しないので、
+パッケージのインストールにまつわる雑多な事項をきれいに片づけるのは
+この
+.Cm deinstall
+スクリプトの責任です。
+.\" since all ... 以下はなくてもどうにか意味が通じるだろう、という
+.\" のとうまい訳が見つからなかったので加えていません。
+.\" By kuriyama@opt.phys.waseda.ac.jp (Jun 3 1997)
+.\" --> 訳してみました。By sakai@jp.freebsd.org (Jun 9, 1997)
+.Nm deinstall
+スクリプトは以下の引数を付けて実行されます:
+.Bd -filled -offset indent -compact
+.Cm deinstall
+.Ar <pkg-name>
+.Ar DEINSTALL
+.Ed
+渡されるキーワード
+.Ar DEINSTALL
+はインストールとアンインストールの両方を扱える一つのプログラム/
+スクリプトを作ることを可能にするためにあります。
+.Pp
+すべてのスクリプトは環境変数
+.Ev PKG_PREFIX
+にインストール時の prefix が設定された状態で実行されます (上記の
+.Fl p
+オプションを参照)。
+このことにより、パッケージの作者は
+.Nm
+や
+.Cm pkg_add
+の
+.Fl p
+フラグによりパッケージがインストールされるディレクトリが
+変更されても、きちんとふるまうスクリプトを書くことが可能になります。
+.Sh 関連項目
+.Xr pkg_add 1 ,
+.Xr pkg_create 1 ,
+.Xr pkg_info 1 ,
+.Xr mktemp 3 ,
+.Xr mtree 8 .
+.Sh 作者
+.Bl -tag -width indent -compact
+.It "Jordan Hubbard"
+ほとんどの仕事
+.It "John Kohl"
+NetBSD 向け修正
+.El
+.Sh バグ
+まだあるはずです。
diff --git a/ja/man/man1/pkg_info.1 b/ja/man/man1/pkg_info.1
new file mode 100644
index 0000000000..309a844856
--- /dev/null
+++ b/ja/man/man1/pkg_info.1
@@ -0,0 +1,135 @@
+.\"
+.\" FreeBSD install - a package for the installation and maintainance
+.\" of non-core utilities.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" Jordan K. Hubbard
+.\"
+.\"
+.\" @(#)pkg_info.1
+.\" jpman %Id: pkg_info.1,v 1.3 1997/06/08 14:11:48 jsakai Stab %
+.\"
+.Dd November 25, 1994
+.Dt pkg_info 1
+.Os FreeBSD
+.Sh 名称
+.Nm pkg_info
+.Nd ソフトウェア配布パッケージの情報を表示するプログラム
+.Sh 書式
+.Nm pkg_info
+.Op Fl cdDikrRpLqImv
+.Op Fl e Ar package
+.Op Fl l Ar prefix
+.Ar pkg-name [pkg-name ...]
+.Nm pkg_info
+.Fl a
+.Op Ar flags
+.Sh 解説
+.Nm
+コマンドはファイル中に納められたパッケージや
+.Xr pkg_create 1
+によりすでにシステムにインストールされたパッケージの情報を表示するために
+用いられます。
+.Sh オプション
+以下のコマンドラインオプションが提供されています。
+.Bl -tag -width indent
+.It Ar pkg-name ...
+指定されたパッケージが表示されます。指定されるのはイントール済みの
+パッケージの名前か、パッケージ配布ファイルへのパス、ftp 可能な
+パッケージへの URL のいずれかになります。
+.It Fl a
+現在インストールされているすべてのパッケージを表示します。
+.It Fl v
+饒舌な出力に切り替えます。
+.It Fl p
+各パッケージのインストール用 prefix を表示します。
+.It Fl q
+レポートヘッダのような情報を出力する際に余分な出力を省略し、
+生の情報のみ出力します (基本的に人が読みやすいものではありません)。
+.It Fl c
+各パッケージの (一行) コメントフィールドを表示します。
+.It Fl d
+各パッケージの長い説明フィールドを表示します。
+.It Fl D
+各パッケージのインストールメッセージファイルを表示します。
+.It Fl f
+各パッケージの packing list instructions を表示します。
+.It Fl i
+もしあれば、各パッケージのインストールスクリプトを表示します。
+.It Fl k
+もしあれば、各パッケージのアンインストールスクリプト
+を表示します。
+.It Fl r
+もしあれば、各パッケージの requirements スクリプトを表示します。
+.It Fl m
+もしあれば、各パッケージの mtree ファイルを表示します。
+.It Fl L
+各パッケージに含まれるファイルを表示します。
+これは packing list をただ見るのとは異なり、
+生成されるすべてのフルパス名が表示されます。
+.It Fl e Ar pkg-name
+.Ar pkg-name
+で示されるパッケージが現在インストールされている場合には 0 を
+返し、そうでなければ 1 を返します。
+このオプションにより、スクリプトから (おそらく必要不可欠な)
+他のパッケージの存在を簡単に確認することが可能になります。
+.It Fl l Ar str
+各 information category header (
+.Fl q
+を参照) の前に
+.Ar str
+を付加します。
+これは本来、パッケージに関する多くの information fields を一度に
+得たいが、そのごっちゃになった出力で混乱したくない、という
+フロントエンドプログラムのためにあります。
+このオプションで各 field の先頭に特別な文字列を付け加えることが
+できます。
+.It Fl t Ar template
+「作業場所」を作成する際に、
+.Xr mktemp 3
+への入力として
+.Ar template
+を用います。
+これはデフォルトでは
+.Pa /tmp/instmp.XXXXXX
+という文字列ですが、
+.Pa /tmp
+ディレクトリの容量が制限されているような状況では
+変更する必要があるかもしれません。
+.Xr mktemp 3
+が一意の ID を用いるために必要な `X' の文字をいくつか残しておく
+ことを忘れないでください。
+.Bd -filled -offset indent -compact
+Note: pkg_info は各パッケージからとても小さな情報しか
+抽出しないので、実際にはこのオプションは必要ありません。
+溢れさせるには非常に小さな
+.Pa /tmp
+でなければならないでしょう。
+.Ed
+.Sh 技術詳細
+パッケージの情報は、コマンドラインから指定されたパッケージのファイル名か、
+.Pa /var/db/pkg/<pkg-name>
+にあるすでにインストールされたパッケージの情報から抽出されます。
+.Sh 関連項目
+.Xr pkg_add 1 ,
+.Xr pkg_create 1 ,
+.Xr pkg_delete 1 ,
+.Xr mktemp 3 ,
+.Xr mtree 8 .
+.Sh 作者
+.Bl -tag -width indent -compact
+.It "Jordan Hubbard"
+ほとんどの仕事
+.It "John Kohl"
+NetBSD 向け修正
+.El
+.Sh バグ
+まだあるはずです。
diff --git a/ja/man/man1/pr.1 b/ja/man/man1/pr.1
new file mode 100644
index 0000000000..f5e6119713
--- /dev/null
+++ b/ja/man/man1/pr.1
@@ -0,0 +1,331 @@
+.\" Copyright (c) 1991 Keith Muller.
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Keith Muller of the University of California, San Diego.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)pr.1 8.3 (Berkeley) 4/18/94
+.\" %Id: pr.1,v 1.2.2.1 1997/08/05 06:31:54 charnier Exp %
+.\" jpman %Id: pr.1,v 1.3 1997/06/30 16:45:20 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt PR 1
+.Os BSD 4.4
+.Sh 名称
+.Nm pr
+.Nd ファイルの表示
+.Sh 書式
+.Nm
+.Bk -words
+.Op Ar \&+page
+.Ek
+.Bk -words
+.Op Fl Ar column
+.Ek
+.Op Fl adFmrt
+.Bk -words
+.Oo
+.Op Fl e
+.Op Ar char
+.Op Ar gap
+.Oc
+.Ek
+.Bk -words
+.Op Fl h Ar header
+.Ek
+.Bk -words
+.Oo
+.Op Fl i
+.Op Ar char
+.Op Ar gap
+.Oc
+.Ek
+.Bk -words
+.Op Fl l Ar lines
+.Ek
+.Bk -words
+.Op Fl o Ar offset
+.Ek
+.Bk -words
+.Oo
+.Op Fl s
+.Op Ar char
+.Oc
+.Ek
+.Bk -words
+.Oo
+.Op Fl n
+.Op Ar char
+.Op Ar width
+.Oc
+.Ek
+.Bk -words
+.Op Fl w Ar width
+.Ek
+.Op -
+.Op Ar file ...
+.Sh 解説
+.Nm
+ユーティリティは、テキストファイルをページ単位に整形し、
+出力します。複数の入力ファイルが指定された場合はそれぞれについて読み、
+整形し、標準出力に書き出します。デフォルトでは、入力ファイルは
+1 ページ 66 行に分割され、各ページに以下のものがつきます。
+.sp
+.in +2
+.ti -2
+\(bu ページ番号、日付、時間、ファイルのパス名のついた 5 行のヘッダ
+.sp
+.ti -2
+\(bu 空行からなる 5 行のトレーラ
+.in -2
+.Pp
+標準出力が端末の場合、
+.Nm
+が処理を完了するまで、診断メッセージを出しません.
+.Pp
+マルチカラム出力が指定された場合、テキストの各列は同一の幅で出力されます。
+デフォルトでテキストの各列は 1 つ以上の
+.Em <blank>
+で分割されます。入力行がテキストの幅からはみ出るときは切り捨てられます。
+単一列の出力の場合は切り捨てられません。
+.Sh オプション
+.Pp
+以下のオプションの記述において、 column, lines, offset, page, width は
+10 進の正の整数で、gap は 10 進の負でない整数です。
+.Bl -tag -width 4n
+.It Ar \&+page
+入力を整形したあと、ページ番号
+.Ar page
+から出力をはじめます。
+.It Fl Ar column
+.Ar column
+列で出力します (デフォルトは 1)。テキストは
+入力ファイルから読んだ順に、各列に垂直に書かれます。このオプションを
+指定すると、
+.Fl e
+と
+.Fl i
+オプションも指定されたものとみなされます。このオプションは、
+.Fl m
+と一緒に使用することはできません。
+.Fl t
+と一緒に使用すると、出力の表示行数が最小になります。
+.It Fl a
+このオプションは
+.Fl column
+オプションを変更し、 同一ページで行毎に、順次複数列の出力を行います
+(例えば, 列数が 2 の場合、最初の入力行を第 1 列先頭、2 番目の入力行を
+第 2 列先頭、3 番目の出力を第一列第 2 行にという具合です)。
+このオプションを使うには
+.Fl column
+オプションの指定が必要です。
+.It Fl d
+ダブルスペースで出力します。入力に
+.Em <newline>
+を見つけると、続けて余分な
+.Em <newline>
+を一つ出力します。
+.It Fl e Ar \&[char\&]\&[gap\&]
+入力中の各
+.Em <tab>
+を、式
+.Ar n*gap+1
+で表される位置のうちの現在位置の次に大きい列位置まで展開します。
+この
+.Em n
+は 0 より大きい整数です。
+.Ar gap
+が 0 もしくは省略された場合、デフォルトとして 8 が指定されたことになります。
+入力中のすべての
+.Em <tab>
+キャラクタは、適切な個数の
+.Em <space>
+に展開されます。
+数字でない文字
+.Ar char
+が指定された場合、この文字がその入力のタブキャラクタとして使われます。
+.It Fl F
+デフォルトの
+.Em <newline>
+キャラクタシーケンスの代わりに、
+改ページに
+.Em <form-feed>
+キャラクタを使います。
+.It Fl h Ar header
+ヘッダ行内のファイル名を、文字列
+.Ar header
+に置き換えます。
+.It Fl i Ar \&[char\&]\&[gap\&]
+出力において、2 個以上の空白が、
+式
+.Ar gap+1
+や
+.Ar 2*gap+1
+などの列まで連続していた場合に、
+この複数の
+.Em <space>
+を
+.Em <tab>
+で置き換えます。
+.Ar gap
+が 0 もしくは省略された場合、デフォルトとしてタブ位置が 8 列ごとと指定された
+ことになります。
+数字でない文字
+.Ar char
+が指定された場合、それがその出力のタブキャラクタとして使われます。
+.It Fl l Ar lines
+ページ長をデフォルトの 66 行のかわりに
+.Ar lines
+行にします。
+.Ar lines
+がヘッダとトレーラの行数の和より大きくないときには、
+.Fl t
+オプションをつけたときのように、ヘッダとトレーラを出力しません。
+.It Fl m
+複数のファイルの中身をマージします。引数で指定した各ファイルから
+読み込まれた一つの行は、同一の幅で並べて書かれます。テキストの列の数は、
+引数で指定したファイルのうちのオープンに成功したものの数になります。
+マージするファイルの最大値は、ページ幅とプロセスがオープンできる
+ファイルの最大数に依存します。このオプションを指定すると、
+.Fl e
+と
+.Fl i
+オプションも指定されたものとみなされます。
+.It Fl n Ar \&[char\&]\&[width\&]
+.Ar width
+桁の
+行番号をつけます。
+.Ar width
+のデフォルト値は 5 です。
+各列の
+.Ar width
+で指定された位置、 または
+.Fl m
+による出力の各行に、行番号がつきます。
+.Ar char
+(数字でない文字)が与えられた場合は、
+行番号とテキストの間をその文字で区切ります。
+.Ar char
+のデフォルトは
+.Em <tab>
+です。
+.Ar width
+より長い行番号は
+切り詰められます。
+.It Fl o Ar offset
+出力の各行の先頭には
+.Ar offset
+個の
+.Em <space>
+がつきます。
+.Fl o
+オプションの指定がなければ、デフォルトは 0 になります。
+このスペースは出力の幅に追加されます。
+.It Fl r
+ファイルのオープンに失敗したときのエラーメッセージを出力しません。
+.It Fl s Ar char
+テキストの各列間を、複数個の
+.Em <space>
+の代わりに単一の文字
+.Ar char
+で分割します (
+.Ar char
+のデフォルトは
+.Em <tab>
+です)。
+.It Fl t
+通常ならば各ページに付加される 5 行の識別ヘッダと 5 行のトレーラを
+どちらも表示しなくなります。各ファイルの最終行が出力されたあと、
+ページの最後までの空白を作らずに、そこで動作をやめてしまいます。
+.It Fl w Ar width
+マルチカラム出力のために、1 行の幅を
+.Ar width
+文字分にします。
+.Fl w
+オプションも
+.Fl s
+オプションも指定されなかった場合、デフォルト幅は 72 です。
+.Fl w
+オプションが指定されずに
+.Fl s
+オプションが指定された場合は、デフォルト幅は 512 になります。
+.It Ar file
+表示するファイルのパス名です。
+.Ar file
+が指定されなかった場合、もしくは
+.Ar file
+が
+.Sq Fl
+だった場合は、標準入力が利用されます。
+標準入力が使用されるのは、
+.Ar file
+が指定されなかった場合、もしくは
+.Ar file
+が
+.Sq Fl
+だった場合のみです。
+.El
+.Pp
+.Fl s
+オプションでは、オプション文字 (`s') と その引数 (
+.Ar char
+)
+との間を空けることは許されていません。また、
+.Fl e ,
+.Fl i ,
+.Fl n
+は両方の引数が必要で、オプション文字と分割できません。
+.Sh エラー
+.Pp
+.Nm
+が端末に出力中に割り込みを受け取ると、 保存していたエラーメッセージを
+スクリーン上に全てフラッシュしてから終了します。
+.Pp
+.Nm
+ユーティリティは, 正常終了時には 0 を、 エラー終了時には 1 を返します。
+.Pp
+エラーメッセージは、(出力がリダイレクトされている場合は)整形作業中に、
+(端末に出力されている場合は)整形に成功したすべてのファイル出力が完了した後、
+標準エラー出力に表示されます。
+.Sh 関連項目
+.Xr cat 1 ,
+.Xr more 1
+.Sh 規格
+.Nm
+ユーティリティは
+.St -p1003.2
+に準拠しています。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+に登場しました。
diff --git a/ja/man/man1/printenv.1 b/ja/man/man1/printenv.1
new file mode 100644
index 0000000000..adca81b6d3
--- /dev/null
+++ b/ja/man/man1/printenv.1
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)printenv.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: printenv.1,v 1.2 1997/04/17 13:59:49 j5306050 Stab %
+.\"
+.Dd June 6, 1993
+.Dt PRINTENV 1
+.Os BSD 3
+.Sh 名称
+.Nm printenv , env
+.Nd 環境変数を表示する、環境変数の値を設定、表示する
+.Sh 書式
+.Nm printenv
+.Op Ar name
+.Nm env
+.Op Fl
+.Op Ar name=value ...
+.Op Ar command
+.Sh 解説
+.Nm printenv
+は、
+.Ar name
+が指定されている場合は、その環境変数の値を表示します。
+.Ar name
+が指定されていない場合は、すべての環境変数について
+``name=value'' の形で環境変数の名前と値を表示
+します。
+.Pp
+もし
+.Ar name
+で指定された環境変数が定義されていなかった場合、
+.Nm printenv
+は戻り値として 1 を返します。それ以外の場合は 0 を返します。
+.Pp
+.Nm env
+は、コマンドラインで指定された環境変数の値を変更してから
+.Ar command
+を実行します。
+引数で
+.Ar name=value
+を指定することにより、環境変数
+.Ar name
+の値を
+.Ar value
+にセットします。
+引数
+.Sq Fl
+を付けると、
+.Nm env
+は 全ての環境変数の値を無効にして
+.Ar command
+を実行します。
+.Pp
+.Ar command
+を指定しないで実行した場合、
+.Nm env
+は すべての環境変数について
+``name=value'' の形で環境変数の名前と値を表示
+します。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr sh 1 ,
+.Xr execvp 3 ,
+.Xr environ 7
+.Sh 歴史
+.Nm printenv
+コマンドは
+.Bx 3.0
+から登場しました。
+.Sh バグ
+理由は明白ですが、
+.Nm env
+はイコール(``='') 記号が入ったコマンドを実行できません。
diff --git a/ja/man/man1/printf.1 b/ja/man/man1/printf.1
new file mode 100644
index 0000000000..120169ea9c
--- /dev/null
+++ b/ja/man/man1/printf.1
@@ -0,0 +1,259 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)printf.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: printf.1,v 1.2 1997/05/20 01:08:19 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt PRINTF 1
+.Os
+.Sh 名称
+.Nm printf
+.Nd formatted output
+.Sh 書式
+.Nm
+.Ar format Op Ar arguments ...
+.Sh 解説
+.Nm
+は第一引数より後の引数をフォーマットに合わせて出力します。
+.Ar format
+は 3 種類のオブジェクトを含む文字列です。
+一つは通常の文字列で、単純に標準出力にコピーされます。
+一つはエスケープシーケンスで、変換されてから標準出力にコピーされます。
+もう一つはフォーマット記述で、これらはそれぞれ、後に続く
+.Ar arguments
+を表示します。
+.Pp
+第一引数より後の
+.Ar arguments
+は対応するフォーマットが
+.Cm c
+か
+.Cm s
+の場合は文字列として扱われ、それ以外は以下のような拡張部分と
+合わせて C の定数として評価されます。
+.Pp
+.Bl -bullet -offset indent -compact
+.It
+先頭に ``+'' や ``-'' の符号をつけることができます。
+.It
+もし先頭がシングルクォートやダブルクォートで始まっているか、数字、プラ
+ス/マイナス記号で始まっているのでなければ、その値は次の文字の
+.Tn ASCII
+コードになります。
+.El
+.Pp
+フォーマット文字列は
+.Ar arguments
+を変換するために何度も
+再利用されます。余分なフォーマット記述は 0 やヌル文字列に
+評価されます。
+.Pp
+キャラクタエスケープシーケンスは
+.Tn ANSI C
+規格
+.Tn X3J11
+で立案された定義で、バックスラッシュによる表記です。文字キャラクタとそ
+の意味は以下のようになります。
+.Bl -tag -width Ds -offset indent
+.It Cm \ea
+<ベル> キャラクタを書きます。
+.It Cm \eb
+<バックスペース> キャラクタを書きます。
+.It Cm \ef
+<フォームフィード> キャラクタを書きます。
+.It Cm \en
+<改行> キャラクタを書きます。
+.It Cm \er
+<キャリッジリターン> キャラクタを書きます。
+.It Cm \et
+<タブ> キャラクタを書きます。
+.It Cm \ev
+<垂直タブ> キャラクタを書きます。
+.It Cm \e\'
+<シングルクォート> キャラクタを書きます。
+.It Cm \e\e
+<バックスラッシュ>キャラクタを書きます。
+.It Cm \e Ns Ar num
+1 から 3 桁の 8 進数
+.Ar num
+で表される
+.Tn ASCII
+コードの 8 ビット文字を書きます。
+.El
+.Pp
+各フォーマットの指定はパーセント文字(``%'')から始まります。
+フォーマットの他の部分は、以下の順番で続きます:
+.Bl -tag -width Ds
+.It "以下のフラグが 0 個以上つきます:"
+.Bl -tag -width Ds
+.It Cm #
+`#' キャラクタは数値を ``別形式'' で表示させるという指定です。
+.Cm c ,
+.Cm d ,
+.Cm s
+フォーマットではこのオプションは無効です。
+.Cm o
+フォーマットでは出力文字列の先頭に 0 をつけるため、
+その値の精度が上がります。
+.Cm x
+.Pq Cm X
+フォーマットでは、0 以外の値なら出力される文字列の先頭に
+.Li 0x
+.Pq Li 0X
+がつきます。
+.Cm e ,
+.Cm E ,
+.Cm f ,
+.Cm g ,
+.Cm G
+のフォーマットでは、たとえ小数点以下の値がなくても常に小数点がつきます
+(通常のフォーマットでは、小数点以下の値がある時のみ結果に小数点が含ま
+れます)。
+.Cm g
+と
+.Cm G
+のフォーマットでは、結果の終わりに付く 0 は通常のフォーマットと違って
+省略されません。
+.It Cm \&\-
+指定したフィールド幅で
+.Em 左詰め
+で出力します。
+.It Cm \&+
+符号つきのフォーマットの時に、数字の前に常に符号がつくように
+なります。
+.It Sq \&\ \&
+符号つきのフォーマットで正の値を表示する時に先頭に空白が一つ挿入されま
+す。 `+' と空白の両方が指定された場合、`+' が空白に優先されます。
+.It Cm \&0
+`0' は空白でパディングする代りに `0' でパディングを行ないます。
+`\-' と `0' の両方が指定された場合、`\-' が優先されます。
+.El
+.It "フィールド幅:"
+.Em field width ;
+.Em フィールド幅
+を指定するためにオプションとしてつける数値です。
+出力する文字列がこのフィールド幅よりも短い場合、フィールド幅を埋めるよ
+うに左側が(左詰めの指示があれば、右側が)空白でパディングされます。
+(先頭につく 0 はフラグですが、埋め込まれた 0 はフィールド幅の一部であ
+ることに注意)
+.It 精度:
+オプションでつけるピリオド
+.Sq Cm \&.\& ,
+には、
+.Em 精度
+を表わす数のオプションが続きます。この数は
+.Cm e
+と
+.Cm f
+フォーマットの場合に小数点以下の値を表示する桁数を指定し
+ます。
+.Cm e ,
+.Cm f
+以外では、文字列から表示される文字の最大数になります。もし精度を表す数
+がなければ、精度は 0 とされます。
+.It Format:
+フォーマットの型を表す文字です(
+.Cm diouxXfwEgGbcs
+のうちのいずれか)。
+.El
+.Pp
+フィールド幅や精度は数字の代りに
+.Sq Cm \&*
+も使えます。この場合、フィールド幅や精度は
+.Ar argument
+で与えます。
+.Pp
+フォーマットキャラクタとその意味は以下のようになります:
+.Bl -tag -width Fl
+.It Cm diouXx
+.Ar argument
+はそれぞれ符号つき 10 進数(d または i)、符号なし 8 進数(o)、
+符号なし 10 進数(u)、符号なし 16 進数(X または x)で表示されます。
+.It Cm f
+.Ar argument
+が `[\-]ddd.ddd' のスタイルで表示され、引数の精度で指定した数だけ小数
+点以下の d が続きます。精度の指定がなければ 6 文字になります。もし精度
+が明示的に 0 と指定された場合は小数点とそれ以下の値は表示されません。
+.It Cm eE
+.Ar argument
+が
+.Sm off
+.Pf [\-]d Cm \&. No ddd Cm e No \\*(Pmdd
+.Sm on
+のように、小数点の前に数字が一つで、後には引数の精度で指定した数だけ数
+字が続きます。精度の指定がなければ 6 文字になります。
+.Sq Cm \&E
+フォーマットが使われます。
+.It Cm gG
+.Ar argument
+が、最小の長さで最大の精度が得られるように、
+.Cm f
+または、
+.Cm e
+.Pq Cm E
+で表示されます。
+.It Cm c
+.Ar argument
+の最初の文字が表示されます。
+.It Cm s
+.Ar argument
+が終わりまでか、または精度で指定された文字数だけ表示されます。
+精度が 0 かもしくは指定されていない場合は文字列全てが表示されます。
+.It Cm \&%
+`%' を表示します。引数はつきません。
+.El
+.Pp
+存在しないフィールド、もしくは小さなフィールド幅指定でフィールドが切り
+詰められることはありません。指定されたフィールドが実際の幅を越えた時は、
+パディングが起こります。
+.Sh 戻り値
+.Nm
+は成功時には 0 を返し、失敗時には 1 を返します。
+.Sh 関連項目
+.Xr printf 3
+.Sh 歴史
+.Nm
+は、
+.Bx 4.3 Reno
+で追加され、標準ライブラリ関数
+.Xr printf 3
+に基いています。
+.Sh バグ
+浮動小数点数は
+.Tn ASCII
+から浮動小数に変換されてまた戻るので、浮動小数の精度が失われます。
+.Pp
+.Tn ANSI
+16 進文字定数はわざと用意されていません。
diff --git a/ja/man/man1/ps.1 b/ja/man/man1/ps.1
new file mode 100644
index 0000000000..9d2b2a4fb7
--- /dev/null
+++ b/ja/man/man1/ps.1
@@ -0,0 +1,523 @@
+.\" Copyright (c) 1980, 1990, 1991, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
+.\" jpman %Id: ps.1,v 1.2 1997/05/20 01:19:55 mutoh Stab %
+.\" %Id: ps.1,v 1.11.2.1 1997/08/21 02:54:28 jlemon Exp %
+.\"
+.Dd April 18, 1994
+.Dt PS 1
+.Os BSD 4
+.Sh 名称
+.Nm \&ps
+.Nd プロセスの状態の表示
+.Sh 書式
+.Nm \&ps
+.Op Fl aCcehjlmrSTuvwx
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Op Fl O Ar fmt
+.Op Fl o Ar fmt
+.Op Fl p Ar pid
+.Op Fl t Ar tty
+.Op Fl W Ar swap
+.br
+.Nm \&ps
+.Op Fl L
+.Sh 解説
+.Nm \&ps
+は、制御端末を持つ自分(あなた)のプロセスの情報を、
+ヘッダ行に続いて表示します。
+この情報はプロセス
+.Tn ID
+順に整列されます。
+.Pp
+表示される情報は、一連のキーワードによって選ばれます
+.Pf ( Fl L ,
+.Fl O ,
+.Fl o
+オプションを参照)。
+デフォルトの出力フォーマットは、各プロセス毎に、
+プロセス
+.Tn ID ,
+制御端末・ cpu 時間(ユーザ時間とシステム時間の両方)・
+プロセス状態・プロセスに関連するコマンドから成ります。
+.Pp
+プロセスファイルシステム (
+.Xr procfs 5
+参照) は、
+.Nm
+が実行されている時にマウントされているべきです。そうでない場合、
+全ての情報が利用可能になるわけではありません。
+.Pp
+オプションを以下に示します。
+.Bl -tag -width indent
+.It Fl a
+自分のプロセスに加え自分以外のプロセスの情報も同様に表示します。
+.It Fl c
+``コマンド'' コラム出力を全てのコマンドラインを表示するのではなく、
+実行名だけを表示するように変更します。
+.It Fl C
+cpu パーセンテージの計算を、``常駐'' 時間を無視する ``生''
+cpu 時間を使う方法に変更します(通常これは影響ありません)。
+.It Fl e
+環境(変数)も同時に表示します。
+.It Fl h
+ページ毎に一つヘッダが入るようにします。
+.It Fl j
+次のキーワードに関する情報を表示します:
+user, pid, ppid, pgid, sess, jobc, state, tt, time, command。
+.It Fl L
+有効なキーワードの一覧を表示します。
+.It Fl l
+次のキーワードに関する情報を表示します:
+uid, pid, ppid, cpu, pri, nice, vsz, rss, wchan, state, tt, time, command。
+.It Fl M
+名前リストの値を取り出すとき、
+デフォルトの
+.Dq Pa /dev/kmem
+の代わりに、指定した
+.Ar core
+から取り出します。
+.It Fl m
+プロセス
+.Tn ID
+順ではなく、メモリ使用量順に整列します。
+.It Fl N
+デフォルトの
+.Dq Pa /kernel
+の代わりに、指定された
+.Ar system
+から名前リストを取り出します。
+.It Fl O
+デフォルトで表示される情報に加え、
+指定されたキーワードに関する情報を、
+プロセス
+.Tn ID
+の後に挿入する形式で表示します。
+.\"キーワードの列
+.\".Ar fmt
+.\"は、空白あるいはカンマで区切って指定します。
+.\"(訳中)2.2.1Rの記述には確認できないのでコメントアウトしました。
+.\" 2.2.1R 対象(1997/05/16) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+各キーワードの後ろには、等号 (``='') と文字列を追加しても構いません。
+この場合、標準のヘッダの代わりに指定された文字列が表示されます。
+.It Fl o
+指定されたキーワードに関する情報を、表示します。
+.\"キーワードの列
+.\".Ar fmt
+.\"は、空白あるいはカンマで区切って指定します。
+.\"(訳中)2.2.1Rの記述には確認できないのでコメントアウトしました。
+.\" 2.2.1R 対象(1997/05/16) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+各キーワードの後ろには、等号(``='')と文字列を追加しても構いません。
+この場合、標準のヘッダの代わりに指定された文字列が表示されます。
+.It Fl p
+指定したプロセス
+.Tn ID
+に関する情報を表示します。
+.It Fl r
+プロセス
+.Tn ID
+順ではなく、現在の cpu 利用率順に整列します。
+.It Fl S
+プロセス時間を計算するのに、
+終了した子プロセスの時間を親プロセスに合計するように変更します。
+.It Fl T
+標準入力のデバイスに取り付けられたプロセスの情報を表示します。
+.It Fl t
+指定された端末デバイスに取り付けられたプロセスの情報を表示します。
+.It Fl U
+指定された
+.Tn username
+に属するプロセスを表示します。
+.It Fl u
+次のキーワードに関する情報を表示します:
+user, pid, %cpu, %mem, vsz, rss, tt, state, start, time, command。
+.Fl u
+オプションを指定すると
+.Fl r
+オプションも暗に指定したことになります。
+.It Fl v
+次のキーワードに関する情報を表示します:
+pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz,
+%cpu, %mem, command。
+.Fl v
+オプションを指定すると
+.Fl m
+オプションも暗に指定したことになります。
+.It Fl W
+デフォルトの
+.Dq Pa /dev/drum
+の代わりに指定したファイルからスワップ情報を取り出します。
+.It Fl w
+デフォルトの現行ウィンドウ幅ではなく、132桁幅で表示します。
+一度より多く
+.Fl w
+オプションを指定すると、
+.Nm \&ps
+はウィンドウ幅にかかわらず、必要なだけの幅を使用します。
+.It Fl x
+制御端末のないプロセスの情報も表示します。
+.El
+.Pp
+有効なキーワードの全リストを以下に示します。
+いくつかのキーワードに関してはさらに詳しく述べます。
+.Bl -tag -width indent
+.It %cpu
+プロセスの cpu 利用率です。実時間で最近 1 分間の減衰平均です。
+計算の基点となる時間は変化するので
+(プロセスはまだ生れたばかりかもしれないので)、
+.Tn \&%CPU
+フィールド全部の合計は 100% を越える可能性もあります。
+.It %mem
+プロセスで使われている実メモリのパーセンテージです。
+.It flags
+インクルードファイル
+.Aq Pa sys/proc.h
+でプロセスに定義されたフラグです。
+.Bl -column SNOCLDSTOP SNOCLDSTOP
+.It Dv "P_ADVLOCK" Ta No "0x00001 プロセスは POSIX 提案ロックを保持している"
+.It Dv "P_CONTROLT" Ta No "0x00002 制御端末を持っている"
+.It Dv "P_INMEM" Ta No "0x00004 メモリに読み込まれている"
+.It Dv "P_NOCLDSTOP" Ta No "0x00008 子プロセスが停止しても SIGCHLD を送らない"
+.It Dv "P_PPWAIT" Ta No "0x00010 親プロセスが、子プロセスが exec/exit するのを待っている"
+.It Dv "P_PROFIL" Ta No "0x00020 プロファイル付きで実行された"
+.It Dv "P_SELECT" Ta No "0x00040 選択されている;wakeup/waiting は危険である"
+.It Dv "P_SINTR" Ta No "0x00080 スリープは停止可能"
+.It Dv "P_SUGID" Ta No "0x00100 最後の実行以来 特権セット id されている"
+.It Dv "P_SYSTEM" Ta No "0x00200 システム proc: sigs や stat や swap が無い"
+.It Dv "P_TIMEOUT" Ta No "0x00400 スリープ中にタイムアウトした"
+.It Dv "P_TRACED" Ta No "0x00800 デバッグプロセスはトレースされている"
+.It Dv "P_WAITED" Ta No "0x01000 デバッグプロセスは子プロセスを待っている"
+.It Dv "P_WEXIT" Ta No "0x02000 終了動作中"
+.It Dv "P_EXEC" Ta No "0x04000 プロセスは exec で呼ばれた"
+.It Dv "P_NOSWAP" Ta No "0x08000 別のフラグがスワップアウトを妨げている"
+.It Dv "P_PHYSIO" Ta No "0x10000 物理 I/O をおこなっている"
+.It Dv "P_OWEUPC" Ta No "0x20000 次の ast プロセスが addupc() 呼び出しの借り"
+.It Dv "P_SWAPPING" Ta No "0x40000 プロセスはスワップされている"
+.El
+.It lim
+.Xr setrlimit 2
+の呼び出しで指定される、メモリ使用量のソフトリミットです。
+.It lstart
+コマンドの実行が始まった正確な時刻を、
+.Xr strftime 3
+に記述された ``%c'' フォーマットで表示します。
+.It nice
+プロセススケジューリングにおける増加値です
+.Ns ( Xr setpriority 2
+参照)。
+.\" .Ns により ( と setpriority が離れるのを防ぐ
+.\" by horikawa@jp.freebsd.org (Feb 9 1997)
+.It rss
+プロセスの実メモリ(常駐分)の大きさ(1024バイト単位)です。
+.It start
+コマンドが開始された時間です。
+コマンドが開始されたのが 24 時間以内なら、
+開始時刻は
+.Xr strftime 3
+で記述された``%l:ps.1p''フォーマットで表示されます。
+コマンドが開始されたのが7日以内なら、
+開始時刻は``%a6.15p''フォーマットで表示されます。
+さもなくば、開始時刻は``%e%b%y''フォーマットで表示されます。
+.It state
+プロセスの状態を文字の列で表示します。例えば、
+.Dq Tn RWNA
+の最初の文字は、プロセスが runnable 状態であることを示しています。
+.Pp
+.Bl -tag -width indent -compact
+.It D
+プロセスはディスク(あるいは他の割り込み不可能な短期間の)待ち状態です。
+.It I
+プロセスは idle 状態(20秒以上 sleep している)です。
+.It R
+プロセスは runnable 状態です。
+.It S
+プロセスは 20 秒未満の sleep 状態です。
+.It T
+プロセスは stop している状態です。
+.It Z
+プロセスは死んでいる状態(``ゾンビ'')です。
+.El
+.Pp
+さらにこの後に文字があれば、さらなる状態情報を示します。
+.Pp
+.Bl -tag -width indent -compact
+.It +
+プロセスはその制御端末のフォアグラウンドプロセスグループに属しています。
+.It <
+プロセスは
+.Tn CPU
+のスケジュール優先度が上げられています。
+.It >
+プロセスはメモリ要求に対するソフトリミットが指定されており、
+現在そのリミットを越えています。
+このようなプロセスは(必然的に)スワップされていません。
+.It A
+プロセスはランダムなページ置換(
+.Xr vadvise 2
+における
+.Dv VA_ANOM
+のことで、例えば、
+.Xr lisp 1
+でのガーベージコレクション)を要求しました。
+.It E
+プロセスは終了しようとしています。
+.It L
+プロセスは実メモリ中にロックされたページ
+(例えば、raw
+.Tn I/O
+用)を持っています。
+.It N
+プロセスは
+.Tn CPU
+スケジューリング優先度(
+.Xr setpriority 2
+参照)が下げられています。
+.It S
+プロセスは
+.Tn FIFO
+ページ置換(
+.Xr vadvise 2
+における
+.Dv VA_SEQL
+のことで、
+例えば、仮想記憶の多量のデータを順次アクセスする
+大規模画像処理プログラム)を要求しました。
+.It s
+プロセスはセッションリーダです。
+.It V
+プロセスは
+.Xr vfork 2
+の間、一時中断されています。
+.It W
+プロセスはスワップアウトされています。
+.It X
+プロセスはトレースされているか、デバッグされています。
+.El
+.It tt
+もしあれば、制御端末のパス名の省略形です。
+省略形は
+.Dq Pa /dev/tty
+に続く2文字か、コンソール場合の ``co'' です。
+もはやプロセスがその制御端末に到達できない(即ち、revoke された)場合、
+後に ``-'' が付きます。
+.It wchan
+プロセスが待っているイベント(システム内のアドレス)。
+数字で表示される時には、アドレスの最初の部分は削られて
+その結果が16進で表示されます。例えば 0x80324000 では 324000 と表示されます。
+.El
+.Pp
+キーワード command には、
+すでに終了しているのに親がまだ wait してくれていない
+プロセス(即ちゾンビ)は ``<defunct>'' と表示されます。
+終了しようとしてブロックされているプロセスは ``<exiting>'' と表示されます。
+.Nm \&ps
+は、メモリやスワップ領域を検査して、
+プロセスが生成されたときのファイル名や引数を推測します。
+この方法は、本質的に少々信頼できるものではなく、
+プロセスはとにかくこの情報を破壊することができます。
+だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。
+一方、キーワード ucomm (アカウンティング名)は信用できます。
+.Sh キーワード
+以下は有効なキーワードとその意味の全リストです。
+そのうちいくつかは別名があります。
+.Pp
+.Bl -tag -width sigignore -compact
+.It %cpu
+cpu 使用率(別名 pcpu)
+.It %mem
+メモリ使用率(別名 pmem)
+.It acflag
+アカウンティングフラグ(別名 acflg)
+.It command
+コマンド名と引数
+.It cpu
+短期間 cpu 使用係数(スケジューリング用)
+.It flags
+16 進数のプロセスフラグ(別名 f)
+.It inblk
+総ブロック読み出し数(別名 inblock)
+.It jobc
+ジョブコントロール数
+.It ktrace
+トレース中フラグ
+.It ktracep
+トレース中の vnode
+.It lim
+メモリ利用のリミット
+.It logname
+プロセスを開始したユーザのログイン名
+.It lstart
+開始時刻
+.It majflt
+総ページフォールト数
+.It minflt
+総ページ再生数
+.It msgrcv
+総メッセージ受信数(パイプ/ソケットからの読み込み)
+.It msgsnd
+総メッセージ送信数(パイプ/ソケットへの書き込み)
+.It nice
+nice 値(別名 ni)
+.It nivcsw
+総強制的コンテキストスィッチ数
+.It nsigs
+総シグナル受け入れ数(別名 nsignals)
+.It nswap
+総スワップイン/スワップアウト数
+.It nvcsw
+総自発的コンテキストスィッチ数
+.It nwchan
+wait チャネル(アドレスで表示)
+.It oublk
+総ブロック書き込み数(別名oublock)
+.It p_ru
+リソース利用量(ゾンビに対してのみ有効)
+.It paddr
+スワップアドレス
+.It pagein
+ページイン数(majflt と同じ)
+.It pgid
+プロセスグループ番号
+.It pid
+プロセス
+.Tn ID
+.It poip
+進行中のページアウト数
+.It ppid
+親プロセス
+.Tn ID
+.It pri
+スケジューリング優先度
+.It re
+実メモリ常駐時間(秒単位; 127 = 無限)
+.It rgid
+実グループ
+.Tn ID
+.It rlink
+run 行列における逆リンク(あるいは 0)
+.It rss
+常駐セットサイズ
+.It rsz
+常駐セットサイズ+(テキストのサイズ/テキストの利用総数) (別名rssize)
+.\" つまり、共通テキストを複数プロセスで分担しているわけだ
+.It rtprio
+実時間優先度(101 = 実時間プロセスではない)
+.It ruid
+実ユーザ
+.Tn ID
+.It ruser
+ユーザ名(ruid から得られたもの)
+.It sess
+セッションポインタ
+.It sig
+遅延されたシグナル(別名 pending)
+.It sigcatch
+捕獲されたシグナル(別名 caught)
+.It sigignore
+無視されたシグナル(別名 ignored)
+.It sigmask
+ブロックされたシグナル(別名 blocked)
+.It sl
+sleep 時間(秒単位; 127 = 無限)
+.It start
+開始時刻
+.It state
+記号でのプロセス状態(別名 stat)
+.It svgid
+setgid プログラムでの saved gid
+.It svuid
+setuid プログラムでの saved uid
+.It tdev
+制御端末のデバイス番号
+.It time
+ユーザ + システムの合計 cpu 時間(別名 cputime)
+.It tpgid
+制御端末プロセスグループ
+.Tn ID
+.\".It trss
+.\"text resident set size (in Kbytes)
+.\"テキスト常駐セットサイズ(Kbyte単位)
+.It tsess
+制御端末セッションポインタ
+.It tsiz
+テキストサイズ(Kbyte 単位)
+.It tt
+制御端末名(2 文字の省略形)
+.It tty
+制御端末の完全な名前
+.It uprocp
+プロセスポインタ
+.It ucomm
+アカウンティングで使われるコマンド名
+.It uid
+実効ユーザ
+.Tn ID
+.It upr
+システムコールから帰る時のスケジューリング優先度(別名 usrpri)
+.It user
+ユーザ名(uid から得たもの)
+.It vsz
+kByte 単位の仮想記憶サイズ(別名vsize)
+.It wchan
+wait チャネル(シンボル名で表示)
+.It xstat
+終了ステータスまたは stop ステータス
+(stop プロセスかゾンビプロセスの時のみに有効)
+.El
+.Sh 関連ファイル
+.Bl -tag -width /var/run/kvm_kernel.db -compact
+.It Pa /dev
+スペシャルファイルとデバイスの名前
+.It Pa /dev/drum
+デフォルトのスワップデバイス
+.It Pa /dev/kmem
+デフォルトのカーネルメモリデバイス
+.It Pa /var/run/dev.db
+.Pa /dev
+名前データベース
+.It Pa /var/run/kvm_kernel.db
+システム(カーネル)の名前リストデータベース
+.It Pa /kernel
+デフォルトのシステムの名前リスト
+.El
+.Sh 関連項目
+.Xr kill 1 ,
+.Xr w 1 ,
+.Xr kvm 3 ,
+.Xr strftime 3 ,
+.Xr pstat 8
+.Sh バグ
+.Nm \&ps
+はシステムより速く実行できず、
+他のプロセスと同様にスケジュールされて実行されるので、
+表示される情報は正確ではあり得ません。
diff --git a/ja/man/man1/psbb.1 b/ja/man/man1/psbb.1
new file mode 100644
index 0000000000..b984478c27
--- /dev/null
+++ b/ja/man/man1/psbb.1
@@ -0,0 +1,39 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.TH PSBB 1 "7 September 1996" "Groff Version 1.10"
+.\" jpman %Id: psbb.1,v 1.2 1997/05/20 01:24:45 mutoh Stab %
+.SH 名称
+psbb \- PostScript 文書のバウンディングボックスを表示する
+.SH 書式
+.B psbb
+.I file
+.SH 解説
+psbb
+は、 Document Structuring convention に従った PostScript ファイルを読み込み、
+.B "%%BoundingBox"
+コメントを探します。
+もし見つかれば、以下の形式の行を標準出力に出力し、終了ステータス 0 を返します。
+.IP
+.I
+llx lly urx ury
+.LP
+もしそのような行が見つからないか、形式が不正な場合はその旨メッセージを
+出力し、0 以外の終了ステータスを返します。
+.SH 関連項目
+.BR grops (1)
diff --git a/ja/man/man1/pwd.1 b/ja/man/man1/pwd.1
new file mode 100644
index 0000000000..d7ef88bc76
--- /dev/null
+++ b/ja/man/man1/pwd.1
@@ -0,0 +1,67 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)pwd.1 8.2 (Berkeley) 4/28/95
+.\" jpman %Id: pwd.1,v 1.2 1997/04/21 08:09:42 mitchy Stab %
+.\" %Id: pwd.1,v 1.2.8.1 1997/02/28 07:54:40 mpp Exp %
+.\"
+.Dd April 28, 1995
+.Dt PWD 1
+.Os BSD 4
+.Sh 名称
+.Nm pwd
+.Nd ワーキングディレクトリの表示
+.Sh 書式
+.Nm pwd
+.Sh 解説
+.Nm pwd
+は、現在のワーキングディレクトリを絶対パスで標準出力に出力します。
+.Pp
+.Nm pwd
+は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 規格
+.Nm pwd
+コマンドは
+.St -p1003.2
+互換です。
+.Sh 関連項目
+.Xr cd 1 ,
+.Xr csh 1 ,
+.Xr getcwd 3
+.Sh バグ
+.Xr csh 1
+の内部コマンド
+.Ic dirs
+は pwd より高速ですが、実装が違うため、まれに
+サブディレクトリに移動したときの表示結果が異なることがあります。
diff --git a/ja/man/man1/qcamcontrol.1 b/ja/man/man1/qcamcontrol.1
new file mode 100644
index 0000000000..3a34c6a187
--- /dev/null
+++ b/ja/man/man1/qcamcontrol.1
@@ -0,0 +1,70 @@
+.Dd Feburary 29, 1996
+.\" jpman %Id: qcamcontrol.1,v 1.3 1997/08/31 14:15:31 horikawa Stab %
+.Dt QCAMCONTROL 1
+.Os FreeBSD
+.Sh 名称
+.Nm qcamcontrol
+.Nd Connectix QuickCam 制御ユーティリティ
+.Sh 書式
+.Nm
+.Op Fl b Ar brightness
+.Op Fl c Ar contrast
+.Op Fl d Ar depth
+.Op Fl p Ar device
+.Op Fl w Ar whitebalance
+.Op Fl x Ar xsize
+.Op Fl y Ar ysize
+.Op Fl z Ar zoom
+.Sh 解説
+.Nm
+は、パラレルポートカメラである Connectix QuickCam(TM)
+を実際に制御してみせ、静止画像を撮るプログラムです。
+.Pp
+もしデバイスが指定されていなければ、
+.Pa /dev/qcam0
+であるとみなされます。
+コマンドが与えられていないなら、
+.Nm
+はデフォルトの値を採用し、カメラから静止画像を持ってきます。
+制御プログラムは、標準出力にポータブル pixmap (ppm) を出力します。
+.Pp
+以下のオプションが使用可能です。
+.Bl -tag -width indent
+.It Fl b Ar brightness
+画像の明るさの制御 (0 から 255)。
+.It Fl c Ar contrast
+画像のコントラストの制御 (0 から 255)。
+.It Fl d Ar depth
+明暗を 16 または 64 段階から選択 (ピクセル当り 4 または 6 ビットで指定)。
+.It Fl p Ar device
+quickcam デバイス (ポート) (デフォルトは
+.Pa /dev/qcam0
+)。
+.It Fl w Ar whitebalance
+画像のホワイトバランス (0 から 255)。
+.It Fl x Ar xsize
+イメージの幅 (320 かそれ以下)。
+.It Fl y Ar ysize
+イメージの高さ (240 かそれ以下)。
+.It Fl z Ar zoom
+ズームイン (1, 1.5 倍, 2 倍のどれか)。
+.El
+.Sh バグ
+.Nm
+は x y サイズに対して適切なアスペクト比を保持しません。
+実際、標準的な画像サイズは、320x240 や 180x160、
+さらに小さなサイズで同じアスペクト比を保ったものです。
+また、ホワイトバランスとコントラストと明るさの兼ね合いがうまくいくまでは、
+よく知られた通り、カメラは扱いにくいものです。
+適切な値を与えなければ、真っ黒や真っ白な画像が返ってきてしまいます。
+.Sh 関連ファイル
+.Bl -tag -width /dev/qcam0 -compact
+.It Pa /dev/qcam0
+.El
+.Sh 作者
+.An Paul Traina
+.Sh 歴史
+.Nm
+コマンドは
+.Fx 2.1.5
+で登場しました。 \ No newline at end of file
diff --git a/ja/man/man1/quota.1 b/ja/man/man1/quota.1
new file mode 100644
index 0000000000..596f621c0b
--- /dev/null
+++ b/ja/man/man1/quota.1
@@ -0,0 +1,141 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Robert Elz at The University of Melbourne.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)quota.1 8.1 (Berkeley) 6/6/93
+.\" %Id: quota.1,v 1.3.2.1 1997/08/05 06:36:34 charnier Exp %
+.\" jpman %Id: quota.1,v 1.2 1997/05/17 16:06:48 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt QUOTA 1
+.Os BSD 4.2
+.Sh 名称
+.Nm quota
+.Nd ディスクの使用状況と割り当て制限を表示する
+.Sh 書式
+.Nm
+.Op Fl g
+.Op Fl u
+.Op Fl v | Fl q
+.Nm quota
+.Op Fl u
+.Op Fl v | Fl q
+.Ar user
+.Nm quota
+.Op Fl g
+.Op Fl v | Fl q
+.Ar group
+.Sh 解説
+.Nm
+は、ユーザのディスク使用量と割り当て制限を表示します。デフォルトで
+はユーザに対する割り当て制限に関する情報のみが表示されます。
+.Pp
+オプション
+.Pp
+.Bl -tag -width Ds
+.It Fl g
+ユーザが所属するグループに対するグループ割り当て制限を表示します。
+これに対し、
+.Fl u
+オプションはデフォルトの動作と同じです。
+.It Fl v
+.Nm
+は使用していないファイルシステムについても割り当て制限を表示します。
+.It Fl q
+使用量が割り当てを越えたファイルシステムに関する情報だけが含まれる簡潔
+なメッセージを表示します。
+.El
+.Pp
+.Fl g
+と
+.Fl u
+の両方を指定した場合は、(そのユーザの)ユーザ割り当て制限とグループ割
+り当て制限の両方が表示されます。
+.Pp
+スーパユーザに限り、
+.Fl u
+オプションとユーザ名を引数に指定して
+他のユーザの割り当て制限を見ることができます。
+スーパユーザ以外でも自分が所属するグループについては、
+.Fl g
+オプションと
+.Ar group
+引数を指定することで、自分が属するグループの割り当て制限だけは
+見ることができます。
+.Pp
+.Fl q
+オプションは
+.Fl v
+オプションより優先されます。
+.Pp
+.Nm
+はマウントされている全てのファイルシステムに関して報告しようとします。
+ファイルシステムが
+.Nm NFS
+を介してマウントされている場合、
+.Xr rpc.rquotad 8
+.Nm NFS
+サーバのデーモンと連絡しようとします。
+.Nm UFS
+ファイルシステムでは、
+.Nm
+は
+.Pa /etc/fstab
+にて有効にされている必要が有ります。
+.Nm
+が 0 以外の値を返して終了した場合、割り当て制限を越えているファイルシステムが
+あります。
+.Sh 関連ファイル
+.Bl -tag -width quota.group -compact
+.It Pa quota.user
+ファイルシステムのルートディレクトリに置かれたユーザの割り当て制限に関
+するデータ
+.It Pa quota.group
+ファイルシステムのルートディレクトリに置かれたグループの割り当て制限に
+関するデータ
+.It Pa /etc/fstab
+ファイルシステムの名前と位置
+.El
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.2
+で登場しました。
+.Sh 関連項目
+.Xr quotactl 2 ,
+.Xr fstab 5 ,
+.Xr edquota 8 ,
+.Xr quotacheck 8 ,
+.Xr quotaon 8 ,
+.Xr repquota 8 ,
+.Xr rpc.rquotad 8
diff --git a/ja/man/man1/ranlib.1 b/ja/man/man1/ranlib.1
new file mode 100644
index 0000000000..78b3bb310d
--- /dev/null
+++ b/ja/man/man1/ranlib.1
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ranlib.1 8.1 (Berkeley) 6/6/93
+.\" %Id: ranlib.1,v 1.3.2.1 1997/08/05 06:39:14 charnier Exp %
+.\" jpman %Id: ranlib.1,v 1.3 1997/08/20 12:40:27 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt RANLIB 1
+.Os
+.Sh 名称
+.Nm ranlib
+.Nd アーカイブライブラリの目次テーブルの作成
+.Sh 書式
+.Nm
+.Op Fl t
+.Ar file ...
+.Sh 解説
+.Nm
+は、
+アーカイブライブラリの外部参照テーブルを作成します。
+このテーブルは通常、ローダ
+.Xr ld 1
+に用いられます。
+このテーブルには ``__.SYMDEF'' という名前が付けられ、
+アーカイブの先頭に追加されます。
+アーカイブ中の非実行可能ファイルやローダに関係のないシンボルは無視されます。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width indent
+.It Fl t
+__.SYMDEF ファイルの最終修正時刻をセットします。
+ローダの中には、この時刻をアーカイブの最終修正時刻と比較し、
+テーブルがアーカイブに対して最新の状態であることを確認するものが
+あります(FreeBSD のローダはそうではありません)。
+もしアーカイブに何ら変更を加えないまま最終修正時刻が書き換えられた場合
+(例えば
+.Xr cp 1
+によって)、
+.Fl t
+オプションを用いて最終修正時刻を ``touch'' し、
+テーブルが最新状態であるように見せかけることができます。
+この機能は
+.Xr make 1
+の
+.Fl t
+オプションを使用した後でも有用です。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /tmp/ranlib.XXXXXX -compact
+.It Pa /tmp/ranlib.XXXXXX
+一時ファイル名
+.El
+.Sh 関連項目
+.Xr ar 1 ,
+.Xr ld 1 ,
+.Xr lorder 1 ,
+.Xr nm 1 ,
+.Xr ranlib 5
+.Sh 歴史
+.Nm
+コマンドは
+.At v7
+から登場しました。
diff --git a/ja/man/man1/rcp.1 b/ja/man/man1/rcp.1
new file mode 100644
index 0000000000..b9b07c511b
--- /dev/null
+++ b/ja/man/man1/rcp.1
@@ -0,0 +1,145 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rcp.1 8.1 (Berkeley) 5/31/93
+.\" jpman %Id: rcp.1,v 1.2 1997/05/20 01:30:55 mutoh Stab %
+.\" %Id: rcp.1,v 1.2.8.1 1997/02/28 07:54:41 mpp Exp %
+.\"
+.Dd May 31, 1993
+.Dt RCP 1
+.Os BSD 4.3r
+.Sh 名称
+.Nm rcp
+.Nd リモートファイルのコピー
+.Sh 書式
+.Nm rcp
+.Op Fl Kpx
+.Op Fl k Ar realm
+.Ar file1 file2
+.Nm rcp
+.Op Fl Kprx
+.Op Fl k Ar realm
+.Ar file ...
+.Ar directory
+.Sh 解説
+.Nm rcp
+は、ネットワークでつながれた複数のマシンの間でコピーをするプログラムです。
+.Ar file
+および
+.Ar directory
+として ``rname@rhost:path'' の形式で指定する
+ことにより、それがリモートマシン上のファイルであるとみなされます。
+ファイル指定に ``:'' が含まれていないか、含まれていても``/''のあとにある
+場合は、ローカルマシンのファイルとみなされます。
+.Pp
+.Bl -tag -width flag
+.It Fl K
+.Fl K
+オプションは全ての Kerberos による認証を無効にします。
+.It Fl k
+.Xr krb_realmofhost 3
+で決定されるリモートホストの realm のかわりに、
+.Ar realm
+で指定したリモートホストの チケットを得るようにします。
+.It Fl p
+.Ar umask
+を無視し、転送元のファイルの修正日付とアクセスモードを維持したままコピー
+します。デフォルトでは、転送先に同じファイル名のファイルがすでに
+存在していれば、そのファイルのモードとオーナーが引き継がれ、もしファイルが
+存在していなければ、転送元のファイルのモードに転送先のマシンで使われている
+.Xr umask 2
+のマスクを施したアクセスモードになります。
+.It Fl r
+転送元としてディレクトリが指定された場合、ディレクトリ下の各ファイルも
+再帰的にコピーします。この場合、転送先にはディレクトリを指定しなければ
+なりません。
+.It Fl x
+.Nm rcp
+で送るすべてのデータを
+.Tn DES
+暗号化します。これによりレスポンスタイムと
+.Tn CPU
+の利用率に影響が生じますが、セキュリティは向上します。
+.El
+.Pp
+.Ar file
+がフルパスでなかった場合は、リモートマシン
+.Ar rhost
+上のユーザ
+.Ar ruser
+のログインディレクトリ
+(リモートユーザー名が指定されていなければ、現在のユーザー名の
+ログインディレクトリ)からの相対パスと解釈します。
+リモートマシン上のファイル指定にワイルドカードなどのメタキャラクタを
+含める場合は、ローカルマシンのシェルによりワイルドカードが
+展開されないよう \e、" または \(aa でクォートする必要があります。
+.Pp
+.Nm rcp
+では
+.Xr rsh 1
+を使用するため同様のユーザーの認証が必要とされ、パスワードを要求する
+プロンプトを出しません。
+.Pp
+.Nm rcp
+では転送元、転送先ともにリモートマシンを指定し、第3者によるリモートマシン間での
+ファイルのコピーを行うこともできます。
+.Sh 関連項目
+.Xr cp 1 ,
+.Xr ftp 1 ,
+.Xr rlogin 1 ,
+.Xr rsh 1
+.Sh 歴史
+.Nm rcp
+コマンドは
+.Bx 4.2
+から登場しました。
+このバージョンの
+.Nm rcp
+は、
+.Bx 4.3 Reno
+において Kerberos を組み込んで再インプリメントされました。
+.Sh バグ
+ディレクトリが指定されるべき場所にファイルが指定されている場合を検出で
+きるとは限りません。
+.Pp
+リモートホストの
+.Pa \&.login ,
+.Pa \&.profile
+または
+.Pa \&.cshrc
+内のコマンドの出力によって混乱することがあります。
+.Pp
+転送先のマシンにバージョン
+.Bx 4.2
+の
+.Nm rcp
+が動作している場合、``rhost.rname''のように転送先のユーザー名とホスト
+名を指定しなければなりません。
diff --git a/ja/man/man1/rcs.1 b/ja/man/man1/rcs.1
new file mode 100644
index 0000000000..9f07ac0bd5
--- /dev/null
+++ b/ja/man/man1/rcs.1
@@ -0,0 +1,448 @@
+.de Id
+.\" jpman %Id: rcs.1,v 1.2 1997/05/30 07:33:50 yugawa Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: rcs.1,v 1.2 1995/10/28 21:50:11 peter Exp %
+.ds r \&\s-1RCS\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.if !\n(.g \{\
+. if !\w|\*(lq| \{\
+. ds lq ``
+. if \w'\(lq' .ds lq "\(lq
+. \}
+. if !\w|\*(rq| \{\
+. ds rq ''
+. if \w'\(rq' .ds rq "\(rq
+. \}
+.\}
+.TH RCS 1 \*(Dt GNU
+.SH 名称
+rcs \- RCS ファイルの属性を変更する
+.SH 書式
+.B rcs
+.IR "options file " .\|.\|.
+.SH 解説
+.B rcs
+は、\*r ファイルの新規作成および \*r ファイルの属性変更を行います。
+\*r ファイルは、複数のリビジョン、アクセスリスト、変更履歴、
+内容記述、制御属性からなります。
+.B rcs
+コマンドが実行できるのは、
+実行したユーザが \*r ファイルのアクセスリストに登録されているか、
+アクセスリストが空であるか、ユーザが \*r ファイルの所有者であるか、
+スーパーユーザであるか、あるいは
+.B \-i
+オプションが指定されている場合に限られます。
+.PP
+\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、その他
+のファイル名はワークファイルであるとみなします。詳しくは、
+.BR ci (1)
+を参照してください。リビジョン番号は
+.BR ci (1)
+に記述されている形式を用います。
+.SH オプション
+.TP
+.B \-i
+新たな \*r ファイルを作成し、初期化します。ただし、リビジョンは作成しません。
+指定されたファイル名にディレクトリ名が含まれていない場合、
+.B rcs
+はまずカレントディレクトリにある
+.BR ./RCS
+ディレクトリにファイルを作成しよう
+と試みます。これに失敗したら、カレントディレクトリに作成しようと試みます。
+もしすでに \*r
+ファイルが存在した場合はエラーとなります。
+.TP
+.BI \-a "logins"
+\*r ファイルのアクセスリストに
+.I logins
+で指定したユーザ名を追加します。
+.I logins
+は、コンマで区切ったユーザ名のリストです。
+.TP
+.BI \-A "oldfile"
+.I oldfile
+で指定した \*r ファイルのアクセスリストに登録されているユーザ名を、
+対象の \*r ファイルのアクセスリストに追加します。
+.TP
+.BR \-e [\f2logins\fP]
+.I logins
+で指定したユーザ名を、\*r ファイルのアクセスリストから消去します。
+.I logins
+が省略された場合は、アクセスリスト全体を消去します。
+.TP
+.BR \-b [\f2rev\fP]
+.I rev
+をデフォルトの枝とします。
+.I rev
+が省略された場合、デフォルト枝は
+幹上で最も大きな番号を持つ枝になります。
+.TP
+.BI \-c string
+コメント開始文字列を
+.IR string
+に設定します。
+最初に
+.BR ci
+を起動した時、あるいは
+.B "rcs\ \-i"
+に
+.BR \-c
+オプションを指定しなかった時は、コメント開始文字列は
+ワークファイルの拡張子から自動的に推測されます。
+.RS
+.PP
+通常、\*r はチェックアウト (
+.BR co (1)
+参照) 時の記録行を挿入する際に、
+.B $\&Log$
+行の行頭部を使用するので、このオプションは現在廃止の方向にあります。
+しかしながら、\*r の古いバージョンでは、
+.B $\&Log$
+行の行頭部ではなくコメント開始文字列を使用しているので、
+\*r の新旧両方のバージョンのファイルを使用する場合は、
+そのコメント開始文字列が
+.B $\&Log$
+行の行頭部と一致するようにしなければなりません。
+.RE
+.TP
+.BI \-k subst
+デフォルトのキーワード展開方式を
+.IR subst
+に設定します。キーワード展開の効果については
+.BR co (1)
+に記述してあります。
+.BR co ,
+.BR rcsdiff ,
+.B rcsmerge
+に
+.B \-k
+オプションを指定することで、デフォルトの展開方式を無効にすることができます。
+.B "rcs\ \-kv"
+を用いるときは注意してください。なぜなら、
+.B \-kv
+をデフォルトにすると
+.B "co\ \-l"
+あいいれなくなるからです。
+.B "rcs\ \-kkv"
+によって、通常のデフォルト値に戻すことができます。
+.TP
+.BR \-l [\f2rev\fP]
+リビジョン
+.I rev
+をロックします。
+.I rev
+が枝を示す場合、枝上の最新のリビジョンがロックされます。
+.I rev
+が省略された場合、デフォルト枝上の最新のリビジョンがロックされます。
+ロックすることにより、そのリビジョンのファイルに対して複数の人が
+変更することを防止できます。別の人が既にロックしている場合、
+.B "rcs\ \-u"
+により、ロックを解除することができます(下記参照)。
+.TP
+.BR \-u [\f2rev\fP]
+リビジョン
+.I rev
+をロック解除します。
+.I rev
+が枝を示す場合、枝上の最新のリビジョンがロック解除されます。
+.I rev
+が省略された場合、コマンドを実行したユーザがロックした
+最新のリビジョンがロック解除されます。
+通常、ロックしたユーザのみがロックを解除することができます。
+他のユーザがロックを解除しようとすると、
+ロックしたユーザへメールが送信されます。
+メールにはロックを解除する理由等を書いた
+コメントを付加します。コメントはロックを解除しようとしたユーザが入力し、
+ファイル終端あるいは
+.B \&.
+のみを含む行を入力することで終了します。
+.TP
+.B \-L
+ロックを厳格に行なうモード (以下、厳格モード) に設定します。
+厳格ロックを指定すると、\*r ファイルの
+所有者であっても、ロックしているファイルをチェックインすることが
+できなくなります。
+複数のユーザで共有するようなファイルは本モードで利用すべきです。
+.TP
+.B \-U
+ロックを厳格には行なわないモード (以下、非厳格モード) に設定します。
+非厳格ロックを指定すると、\*r ファイルの所有者はロックすることなく、
+新しいリビジョンをチェックインすることができます。複数の
+ユーザで共有するファイルは本モードで使用すべきではありません。
+デフォルトのロックモードを厳格にするか非厳格にするかは、\*r システムを
+インストールしたシステム管理者が決めますが、通常は厳格モードです。
+.TP
+\f3\-m\fP\f2rev\fP\f3:\fP\f2msg\fP
+リビジョン
+.I rev
+のログメッセージを
+.I msg
+に置換します。
+.TP
+.B \-M
+ロックしたユーザ以外のユーザがロックを解除した際に、メールを送りません。
+これは使用を簡便にする目的のオプションではありません。他の方法により
+ユーザに警告を行うようなプログラムを使用し、
+.B "rcs\ \-u"
+を単に低いレベルのロック解除の目的で使用するような場合のために
+用意されています。
+.TP
+\f3\-n\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
+枝またはリビジョン
+.I rev
+にシンボリック名
+.I name
+を関連付けます。
+.B :
+も
+.I rev
+も省略した場合、シンボリック名
+.I name
+は削除されます。
+.I name
+がすでに別の
+リビジョンに関連付けられていた場合はエラーとなります。
+.I rev
+がシンボリック名の場合も
+.I name
+との関連付けは番号によって行われます。枝番号に
+.I \&.
+を付加したものは、その枝での最新のリビジョンを示します。
+.B :
+だけで
+.I rev
+を省略した場合、デフォルト枝(通常は幹)の最新のリビジョンが関連付けられます。
+たとえば、
+.BI "rcs\ \-n" name ":\ RCS/*"
+はすべての \*r ファイルの最新のリビジョンに対してシンボリック名
+.I name
+を関連付けます。一方、
+.BI "rcs\ \-n" name ":$\ RCS/*"
+は各 \*r ファイルに対応したワークファイル中のキーワードに含まれる
+リビジョン番号と
+.I name
+を関連付けます。
+.TP
+\f3\-N\fP\f2name\fP[\f3:\fP[\f2rev\fP]]
+.B -n
+と同様に動作します。ただし、同じ
+.I name
+が別のリビジョンに関連付けられていてもエラーとはせず、
+関連付けをしなおします。
+.TP
+.BI \-o range
+.I range
+で指定したリビジョンを削除します。
+.I range
+がただ 1 つのリビジョン番号ならば、そのリビジョンを削除します。
+.I range
+に枝番号が含まれれば、その枝の最新のリビジョンを削除します。
+.IB rev1 : rev2
+形式の範囲指定では、同じ枝上の
+.I rev1
+から
+.I rev2
+までのすべてのリビジョンが削除されます。
+.BI : rev
+は枝の開始から
+.I rev
+までのリビジョンを、
+.IB rev :
+は同じ枝上の
+.I rev
+以降のリビジョンのすべてを削除します。
+削除されるリビジョンにロックや枝があってはいけません。
+.TP
+.B \-q
+診断メッセージは表示されません。
+.TP
+.B \-I
+対話モードで動作します。たとえ標準入力が端末でなくても、ユーザに対して
+問い合わせを行います。
+.TP
+.B \-s\f2state\fP\f1[\fP:\f2rev\fP\f1]\fP
+リビジョン
+.I rev
+の状態を
+.I state
+にします。
+.I rev
+が枝番号なら、その枝の最新のリビジョンの状態を変更します。
+.I rev
+が省略されたなら、デフォルト枝の最新リビジョンを変更します。
+.I state
+としては自由な識別子を指定できます。一般に用いられる識別子としては、
+.B Exp
+(experimental: 実験的)、
+.B Stab
+(stable: 安定した)、
+.B Rel
+(released: リリースした)があります。デフォルトでは、
+.BR ci (1)
+は状態を
+.B Exp
+にします。
+.TP
+.BR \-t [\f2file\fP]
+\*r ファイルの内容記述テキストをファイル
+.I file
+の内容で置換します。すでに存在していた内容記述は削除されます。ファイル名は
+.B \-
+で始まってはいけません。
+.I file
+が省略された場合、
+テキストは標準入力から読み込まれ、ファイル終端または
+.B \&.
+のみを含む行で終了します。可能ならば、テキストの入力を
+促すプロンプトが表示されます(
+.B \-I
+オプションの項を参照)。
+.B \-i
+オプションを指定すると、
+.B \-t
+オプションが指定されていなくても内容記述テキストの入力を求めます。
+.TP
+.BI \-t\- string
+\*r ファイルの内容記述テキストを文字列
+.I string
+で置換します。すでに存在していた内容記述は削除されます。
+.TP
+.B \-T
+リビジョンが削除されない限り、\*r ファイルの変更時刻を保存します。
+このオプションを使うことにより、\*r ファイルの中のワークファイルの
+コピーによって生ずる
+.BR make (1)
+の依存関係に伴う必要以上の再コンパイルを防ぐことができます。
+このオプションを使用する際には注意が必要です。本当に再コンパイルが必要な
+場合にも再コンパイルされない場合が生じます。つまり、\*r ファイルへの変更が
+ワークファイル中のキーワードの変更を意味する場合があるからです。
+.TP
+.BI \-V
+\*r システムのバージョン番号を表示します。
+.TP
+.BI \-V n
+\*r システムのバージョン
+.I n
+のエミュレーションを行います。詳細は
+.BR co (1)
+を参照してください。
+.TP
+.BI \-x "suffixes"
+\*r ファイル拡張子を
+.I suffixes
+に指定します。詳しくは
+.BR ci (1)
+を参照してください。
+.TP
+.BI \-z zone
+デフォルトのタイムゾーンとして
+.I zone
+を使用します。
+このオプションは何の効果もありません。他の \*r コマンドとの互換性を保つ
+ために存在します。
+.PP
+.B rcs
+コマンドの将来予定されている拡張との互換性を維持するには、
+少なくともひとつのオプションを明示的に指定する必要があります。
+.SH 互換性
+.BI \-b rev
+オプションを指定すると、 \*r バージョン 3 以前では処理できない \*r
+ファイルが生成されます。
+.PP
+.BI \-k subst
+オプション(
+.B \-kkv
+を除く)を指定すると、 \*r バージョン 4 以前では
+処理できない \*r ファイルが生成されます。
+.PP
+バージョン
+.I n
+の \*r で処理できる \*r ファイルを生成するために
+.BI "rcs \-V" n
+を利用することができます。これにより、バージョン
+.I n
+で処理できない情報を削除することができます。
+.PP
+バージョン 5.5 以前の \*r は
+.B \-x
+オプションをサポートしません。\*r ファイルの拡張子としては
+.B ,v
+が用いられます。
+.SH 関連ファイル
+.B rcs
+は
+.BR ci (1)
+とほぼ同様のファイル群にアクセスします。ただし、アクセスは
+すべて実効ユーザ ID によって行われます。
+また、ワークファイルやそのディレクトリには書き込みを
+行いません。リビジョン番号として
+.B $
+を指定した場合を除き、ワークファイルを読むこともありません。
+.SH 環境変数
+.TP
+.B \s-1RCSINIT\s0
+コマンドライン引数に先立って与えられるオプションを指定します。
+各オプションは空白で区切って指定します。詳しくは
+.BR ci (1)
+を参照してください。
+.SH 診断
+\*r ファイル名およびひとつ古い(outdated)リビジョン番号が診断出力として
+表示されます。
+すべての処理が成功した場合に限り終了ステータス 0 を返します。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
+.SH 関連項目
+rcsintro(1), co(1), ci(1), ident(1), rcsclean(1), rcsdiff(1),
+rcsmerge(1), rlog(1), rcsfile(5)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.SH バグ
+システムクラッシュ等の大惨事があると、\*r はセマフォファイルを
+残してしまうため、後に \*r を実行しようとすると、\*r ファイルが使用中であると
+警告します。
+これを直すにはセマフォファイルを消去する必要があります。
+通常、セマフォファイル名前は
+.B ,
+で始まるか、
+.B _
+で終了します。
+.PP
+以前の版の
+.B rcs
+では
+.B -o
+オプションにおけるリビジョンの区切りは
+.BR :
+ではなく
+.B \-
+でした。
+しかし、これはシンボリック名が
+.B \-
+を含んでいるときに混乱を生じます。
+従来の版との互換性のため
+.B "rcs \-o"
+は
+.B \-
+を用いた記法もサポートしますが、
+この記法を用いた場合は警告メッセージを表示します。
+.PP
+シンボリック名が指しているリビジョンが存在するとは限りません。例えば、
+.B \-o
+オプションによってリビジョンが削除されてもそれを指すシンボリック名は削
+除されずに残っています。シンボリック名を削除するには
+.B \-n
+オプションを用いる必要があります。
+.br
diff --git a/ja/man/man1/rcsclean.1 b/ja/man/man1/rcsclean.1
new file mode 100644
index 0000000000..91883d2611
--- /dev/null
+++ b/ja/man/man1/rcsclean.1
@@ -0,0 +1,204 @@
+.de Id
+.\" jpman %Id: rcsclean.1,v 1.2 1997/05/30 07:41:49 yugawa Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: rcsclean.1,v 1.2 1995/10/28 21:50:24 peter Exp %
+.ds r \&\s-1RCS\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.TH RCSCLEAN 1 \*(Dt GNU
+.SH 名称
+rcsclean \- ワークファイルの後片付け
+.SH 書式
+.B rcsclean
+.RI [ options "] [ " file " .\|.\|. ]"
+.SH 解説
+.B rcsclean
+は、RCS ファイルからチェックアウトされた後に変更を受けていない
+ワークファイルを削除します。
+.B "rcsclean \-u"
+は、対象となるワークファイルのロックを解除し、削除します。
+.PP
+各
+.I file
+について
+.B rcsclean
+は、ワークファイルとそれに対応する \*r ファイルに格納されている
+リビジョンとを比較します。
+違いが見つかった場合には何もしません。
+違いが無い場合、
+.B \-u
+オプションが指定されていたら、まずそのリビジョンのロックを
+解除します。
+そして、
+ワークファイルが書き込み可能でなくそのリビジョンがロックされて
+いないなら、ワークファイルを消去します。
+.B rcsclean
+は、実行した処理の内容を
+.B "rcs \-u"
+や
+.B "rm \-f"
+コマンドを使って表現し、標準出力に表示します。
+.PP
+.I file
+を指定しなかった場合、カレントディレクトリにあるすべての
+ワークファイルを処理対象にします。
+\*r の拡張子を持つパス名は、\*r ファイルを表しています。
+その他のファイルはワークファイルを意味します。
+ファイル名については、
+.BR ci (1)
+で詳しく説明されています。
+.PP
+ワークファイルと比較するリビジョン番号は、
+.BR \-n ,
+.BR \-q ,
+.BR \-r ,
+.BR \-u
+オプションのいずれかで指定することができます。
+リビジョン番号を指定せず、
+.B \-u
+オプションが指定されていて、呼び出したユーザがロックしたリビジョンが
+一つだけ存在すれば、
+.B rcsclean
+はそのリビジョンを使用します。
+それ以外の場合には、
+.B rcsclean
+はデフォルト枝 (普通は幹) の最新リビジョンを使用します。
+.PP
+.B rcsclean
+を Makefile の中の
+.B clean
+ターゲットで用いると便利です。
+.BR rcsdiff (1)
+(差分の表示)
+や、
+.BR ci (1)
+(ワークファイルに変更が無い時、チェックインするかどうか確認する)
+のマニュアルも参照して下さい。
+.SH オプション
+.TP
+.BI \-k subst
+比較のためにリビジョンを取り出すときに、
+.I subst
+で指定した方式でキーワード置換を行います。詳しくは
+.BR co (1)
+を参照して下さい。
+.TP
+.BR \-n [\f2rev\fP]
+ファイルの消去やリビジョンのロック解除を行ないません。
+このオプションによって、
+.B rcsclean
+が何を実行しようとするかを、実際の動作を行なわずに知ることができます。
+.TP
+.BR \-q [\f2rev\fP]
+処理の内容を標準出力に表示しません。
+.TP
+.BR \-r [\f2rev\fP]
+比較対象のリビジョンの指定のみを行い、他には何の効果も与えません。
+.TP
+.B \-T
+\*r ファイルがロックの解除により変更された場合でも、
+\*r ファイルの変更時刻を保存します。
+このオプションを使うことにより、\*r ファイルの中のワークファイルの
+コピーによって生ずる
+.BR make (1)
+の依存関係に伴う必要以上の再コンパイルを防ぐことができます。
+このオプションを使用する際には注意が必要です。本当に再コンパイルが必要な
+場合にも再コンパイルされない場合が生じます。つまり、ロックの解除により
+他のワークファイル中のキーワードの変更を意味する場合があるからです。
+.TP
+.BR \-u [\f2rev\fP]
+違いが見つからなかったファイルがロックされているなら、
+ロックを解除します。
+.TP
+.BI \-V
+\*r システムのバージョン番号を表示します。
+.TP
+.BI \-V n
+\*r システムのバージョン
+.IR n
+のエミュレーションを行います。
+詳細は
+.BR co (1)
+を参照してください。
+.TP
+.BI \-x "suffixes"
+.I suffixes
+を \*r ファイル拡張子として指定します。
+詳細は
+.BR ci (1)
+を参照してください。
+.TP
+.BI \-z zone
+キーワードの置換の際、タイムゾーンとして
+.I zone
+を使用します。
+詳細は
+.BR co (1)
+を参照して下さい。
+.SH 使用例
+.LP
+.RS
+.ft 3
+rcsclean *.c *.h
+.ft
+.RE
+.LP
+チェックアウトされてから変更されていない
+.B .c
+や
+.B .h
+で終る名前のワークファイルをすべて削除します。
+.LP
+.RS
+.ft 3
+rcsclean
+.ft
+.RE
+.LP
+チェックアウトされてから変更されていない、
+カレントディレクトリにあるすべてのワークファイルを削除します。
+.SH 関連ファイル
+.B rcsclean
+は、
+.BR ci (1)
+と同じファイルにアクセスします。
+.SH 環境変数
+.TP
+.B \s-1RCSINIT\s0
+引数リストに前置されるオプションを空白で区切って指定します。
+オプションの中に含まれる空白は、バックスラッシュでエスケープします。
+.B \s-1RCSINIT\s0
+オプションは、大部分の \*r コマンドの引数リストに前置されます。
+.BR \-q ,
+.BR \-V ,
+.BR \-x ,
+.B \-z
+などを指定するのに有用です。
+.SH 診断
+すべての動作が成功した時にのみ、終了ステータス 0 を返します。
+ワークファイルや \*r ファイルがなくても無視します。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 by Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
+.SH 関連項目
+ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1),
+rcsfile(5)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.SH バグ
+ディレクトリ参照操作を持たない古いバージョンの UNIX では、
+少なくとも一つの
+.I file
+を指定しなければなりません。
+.br
diff --git a/ja/man/man1/rcsdiff.1 b/ja/man/man1/rcsdiff.1
new file mode 100644
index 0000000000..1ff9bdb927
--- /dev/null
+++ b/ja/man/man1/rcsdiff.1
@@ -0,0 +1,158 @@
+.de Id
+.\" jpman %Id: rcsdiff.1,v 1.2 1997/05/29 08:32:23 jsakai Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: rcsdiff.1,v 1.2 1995/10/28 21:50:32 peter Exp %
+.ds r \&\s-1RCS\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.TH RCSDIFF 1 \*(Dt GNU
+.SH 名称
+rcsdiff \- RCS で管理されているリビジョンを比較する
+.SH 書式
+.B rcsdiff
+[
+.BI \-k subst
+] [
+.B \-q
+] [
+.BI \-r rev1
+[
+.BI \-r rev2
+] ] [
+.B \-T
+] [
+.RI "\f3\-V\fP[" n ]
+] [
+.BI \-x suffixes
+] [
+.BI \-z zone
+] [
+.I "diff options"
+]
+.I "file .\|.\|."
+.SH 解説
+.B rcsdiff
+は、
+.BR diff (1)
+を起動して、
+指定された \*r ファイルの 2 つのリビジョンを比較します。
+.PP
+\*r 拡張子にマッチするパス名は \*r ファイル、
+その他のパス名はワークファイルであるとみなします。
+ファイルの対応づけについては
+.BR ci (1)
+を参照してください。
+.PP
+.B \-q
+オプションが指定されると診断メッセージの表示を行いません。
+.BR \-r
+オプションにより 0、1 あるいは 2 個のリビジョンを指定できます。
+.BI \-k subst
+オプションはリビジョンを取り出す際のキーワード置換の方法を変更します。
+.BR co (1)
+を参照してください。
+たとえば、
+.B "\-kk\ \-r1.1\ \-r1.2"
+と指定すると、
+リビジョン
+.B 1.1
+と
+.BR 1.2
+を比較する際にキーワードの違いを無視します。
+以下に示す 4 つの場合、
+ロック者キーワードの違いから余計な差分が出力されるのを抑止するために、
+.B \-kkvl
+オプションが指定されたものとみなします。
+(1) たかだか 1 つのリビジョンしか指定されていない、
+(2)
+.B \-k
+オプションが指定されていない、
+(3) デフォルトのキーワード置換方式が
+.B \-kkv
+と設定されている、
+(4) ワークファイルのファイルモードが
+.BR "co\ \-l"
+が作成するものと同じである。
+.BR \-T ,
+.BR \-V ,
+.BR \-x ,
+.B \-z
+オプションの詳細については
+.BR co (1)
+を参照してください。
+その他、通常ファイルに対して用いられる
+.BR diff (1)
+のすべてオプションは、同じ意味で rcsdiff に対して用いることができます。
+.PP
+.I rev1
+と
+.I rev2
+が両方とも指定されなかった場合、
+.B rcsdiff
+はデフォルト枝 (branch) (デフォルトでは幹(trunk)) の
+最新のリビジョンとワークファイルとを比較します。
+これは、
+最後にチェックインした後、
+ワークファイルに対して加えられた変更を知るのに便利です。
+.PP
+.I rev1
+のみが指定された場合、
+.B rcsdiff
+は \*r
+ファイル中のリビジョン
+.I rev1
+の内容とワークファイルの内容を比較します。
+.PP
+.I rev1
+と
+.I rev2
+の両方が与えられた場合、
+.B rcsdiff
+は \*r
+ファイル中の指定された 2 つのリビジョンを比較します。
+.PP
+.I rev1
+と
+.I rev2
+は、
+数字またはシンボルで指定することができます。
+.SH 例
+以下のコマンド
+.LP
+.B " rcsdiff f.c"
+.LP
+は、 \*r
+ファイルのデフォルト枝の最新リビジョンとワークファイル
+.BR f.c
+を比較します。
+.SH 環境変数
+.TP
+.B \s-1RCSINIT\s0
+コマンドライン引数に先立って与えられるオプションを指定します。
+各オプションは空白で区切って指定します。
+詳しくは
+.BR ci (1)
+を参照してください。
+.SH 診断
+比較したリビジョン間に違いがなければ終了ステータス 0 を、
+違いがあれば 1 を、
+エラーが発生した場合は 2 を返します。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
+.SH 関連項目
+ci(1), co(1), diff(1), ident(1), rcs(1), rcsintro(1), rcsmerge(1), rlog(1)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.br
diff --git a/ja/man/man1/rcsfreeze.1 b/ja/man/man1/rcsfreeze.1
new file mode 100644
index 0000000000..58215c7822
--- /dev/null
+++ b/ja/man/man1/rcsfreeze.1
@@ -0,0 +1,67 @@
+.de Id
+.\" jpman %Id: rcsfreeze.1,v 1.2 1997/05/30 07:53:15 yugawa Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: rcsfreeze.1,v 1.2 1995/10/28 21:50:42 peter Exp %
+.ds r \s-1RCS\s0
+.TH RCSFREEZE 1 \*(Dt GNU
+.SH 名称
+rcsfreeze \- RCS に登録されているファイルの構成を記録する
+.SH 書式
+.B rcsfreeze
+.RI [ "name" ]
+.SH 解説
+.B rcsfreeze
+は、\*r ファイルの有効な組合せにシンボリックなリビジョン番号を割り当てます。
+.PP
+.B rcsfreeze
+は、ソフトウェアの新しい版が登録されるたびに実行されるような
+使われ方を想定しています。一意のシンボル名 (\c
+.BI C_ number,
+.I number
+は
+.B rcsfreeze
+が実行される毎に増加します ) が各 \*r ファイルの主幹の最新
+のリビジョンに対して与えられます。
+.PP
+引数によって与えるシンボル名を指定できます。指定された場合も、
+.B rcsfreeze
+は一意のシンボル名を生成し、ログファイル中に記録します。しかし、実際の \*r
+ファイルには記録されません。
+.PP
+.B rcsfreeze
+は、将来に参照するためのログを入力するように要求します。
+.PP
+本シェルスクリプトは全ての \*r ファイルに一括して作用します。
+新しい版を構成するファイル
+は、あらかじめ \*r ファイルに登録されている必要があります。まず、
+.BR rcsclean (1)
+を実行して、登録されずに残っているファイルがカレントディレクトリに
+残っていないかどうかを確認してください。
+.SH 関連ファイル
+.TP
+.B RCS/.rcsfreeze.ver
+バージョン番号
+.TP
+.B RCS/.rcsfreeze.log
+ログ。最新のものが先頭になる。
+.SH 作者
+Stephan v. Bechtolsheim
+.SH 関連項目
+co(1), rcs(1), rcsclean(1), rlog(1)
+.SH バグ
+.B rcsfreeze
+は、変更されているのに登録されていないワークファイルがあるか
+どうかを検査しません。
+.PP
+\*r ファイル名とワークファイル名の両方をコマンドラインに
+指定することが可能ですが、
+通常の \*r コマンドのように \*r ファイルとワークファイルの組を指定する
+ものではありません。
+.PP
+エラー検査が不十分です。
+.PP
+.B rcsfreeze
+は、単なるシェルスクリプトの例であり、まともに利用すべきもので
+はありません。より完全な解決法を求めるなら、\s-1CVS\s0 を参照してください。
diff --git a/ja/man/man1/rcsintro.1 b/ja/man/man1/rcsintro.1
new file mode 100644
index 0000000000..3fd6cdc255
--- /dev/null
+++ b/ja/man/man1/rcsintro.1
@@ -0,0 +1,315 @@
+.de Id
+.\" jpman %Id: rcsintro.1,v 1.2 1997/05/13 01:05:09 mitchy Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: rcsintro.1,v 1.2 1995/10/28 21:50:20 peter Exp %
+.ds r \&\s-1RCS\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.if !\n(.g \{\
+. if !\w|\*(lq| \{\
+. ds lq ``
+. if \w'\(lq' .ds lq "\(lq
+. \}
+. if !\w|\*(rq| \{\
+. ds rq ''
+. if \w'\(rq' .ds rq "\(rq
+. \}
+.\}
+.am SS
+.LP
+..
+.TH RCSINTRO 1 \*(Dt GNU
+.SH 名称
+rcsintro \- RCS 入門
+.SH 解説
+\*r (Revision Control System) は、ファイルのリビジョンを複数管理します。
+\*r は格納、取り出し、ログ、識別、リビジョンの併合を自動化します。\*r
+は頻繁に更新されるテキスト、たとえば、プログラム、ドキュメント、
+グラフィックス、論文、定型手紙等を扱うのに便利です。
+.PP
+基本的なユーザインタフェースはとても単純です。初心者は 2 つのコマンド、
+.BR ci (1)
+と
+.BR co (1)
+を覚えるだけで使用できます。
+.B ci
+はチェックイン
+\*(lqcheck in\*(rq を省略した名前です。これは、ファイルの内容を
+「\*r ファイル」と呼ばれる記録用のファイルに格納します。
+\*r ファイルは、特定ファイルの全リビジョンを含んでいます。
+.B co
+はチェックアウト\*(lqcheck out\*(rq を省略した名前です。
+これは、\*r ファイルからリビジョンを取り出します。
+.SS "\*r の機能"
+.IP \(bu
+テキストの複数のリビジョンの保存と取り出しを行います。\*r は
+すべての古いリビジョンを効率的な方法で保存します。
+ファイルを変更しても
+元のリビジョンが失なわれることはなく、いずれも取り出すことが
+可能です。リビジョンは、リビジョン番号、シンボル名、日付、作者、
+状態を指定して取り出せます。
+.IP \(bu
+完全な変更の履歴を管理します。\*r は、すべての変更点を自動的に
+記録します。各リビジョンの内容とともに、作者、チェックインした日時、
+変更点を要約したログメッセージが記録されます。
+ログによって、どのような変更が行われたのかがひと目でわかります。
+ソースリストを見比べたり、一緒に作業している
+プログラマにたずねたりする必要はありません。
+.IP \(bu
+アクセス矛盾を解決します。複数のプログラマがあるファイルの
+同じリビジョンに対して変更を加えようとした場合、
+\*r は警告を発し、他者が行った変更を台無しにしてしまう
+のを防ぎます。
+.IP \(bu
+リビジョンの木を管理します。\*r はモジュールごとに独立した
+開発ラインを管理できます。
+\*r は、リビジョンの系図を表現した木を保存します。
+.IP \(bu
+リビジョンを併合し、矛盾を解決します。あるモジュールの 2 つの
+リビジョンを併合することができます。
+併合しようとする 2 つのリビジョンが、あるコードの同じ部分に
+対する変更を含んでいた場合、\*r は変更が重複していると警告します。
+.IP \(bu
+リリースと構成を管理します。リビジョンにはシンボル名を
+つけることができます。また、「リリース版(released)」、「安定版(stable)」、
+「実験版(experimental)」といった状態をつけることもできます。
+これにより、単純かつ直接的にモジュールの構成を表すことができます
+.IP \(bu
+リビジョン番号、作成日時、作者等を自動的に識別することができます。
+識別情報は、消印のようにテキストの適当な場所に埋め込むことが
+できます。これにより、あるソフトウェアの構成に
+どのモジュールのどのリビジョンが使用されているかを
+判断することが容易になります。
+.IP \(bu
+必要なディスク容量を最小にします。\*r は、リビジョンのために
+最小のスペース(差分のみ)しか消費しません。もし途中のリビジョンが
+削除されたなら、記録されていた差分もそれに従って小さくなります。
+.SS "\*r 事始め"
+\*r の管理下に置きたい
+.B f.c
+というファイルがあるとします。もし、まだ作成していなければ、
+\*r ディレクトリを以下のコマンドにより作成します。
+.IP
+.B "mkdir RCS"
+.LP
+次に ci (チェックイン) コマンドを実行します。
+.IP
+.B "ci f.c"
+.LP
+これにより、
+.B f.c
+の内容をリビジョン 1.1 として記録
+した \*r ファイルが
+.B RCS
+ディレクトリ内に
+作成され、
+.B f.c
+は削除されます。また、
+.B ci
+は
+.B f.c
+に
+関する説明文の入力を促します。
+説明文にはファイルの内容を要約して書きます。
+以降
+.B ci
+を実行するたびに、ファイルに加えた変更の要約を入力するように促します。
+.PP
+\*r ディレクトリにあるファイルは \*r ファイルと呼ばれ、
+それ以外のファイルはワークファイルと
+呼ばれます。先の例で挙げたワークファイル
+.B f.c
+を取り戻す
+には
+.B co
+(チェックアウト) コマンドを実行します。
+.IP
+.B "co f.c"
+.LP
+このコマンドは \*r ファイル中の最新のリビジョンを取り出してファイル
+.B f.c
+に書き出します。
+もし、
+.B f.c
+に変更を加えたければ、次のコマンドを使ってチェックアウトしロック
+しなければいけません。
+.IP
+.B "co \-l f.c"
+.LP
+これで
+.B f.c
+を編集することができます。
+.PP
+ある程度編集したところで、どのような変更を加えたか
+知りたくなるときがあります。
+この場合は、以下のコマンドを実行します。
+.IP
+.B "rcsdiff f.c"
+.LP
+このコマンドは、最後にチェックインしたリビジョンと
+ワークファイルの違いを表示します。編集が終わったら、
+以下のコマンドにより、もう一度チェックインすることができます。
+.IP
+.B "ci f.c"
+.LP
+これにより、リビジョン番号が自動的に付け直されます。
+.PP
+もし
+.B ci
+が
+.IP
+.BI "ci error: no lock set by " "your name"
+.LP
+というエラーメッセージを出力したなら、
+それは、ロックせずにチェックアウトしたファイルを
+チェックインしようとしたからです。もちろん、
+ここでロックしチェックアウトし直すのでは遅すぎます。
+ここでチェックアウトすると、あなたが行った編集は
+上書きされて失われてしまうからです。
+かわりに、以下のコマンドを実行します。
+.IP
+.B "rcs \-l f.c"
+.LP
+これは、ほかに誰もロックしていなければ、最新のリビジョンを
+ロックします。もし、すでに誰かがロックしてしまっていたなら、
+その人と相談しなければなりません。
+.PP
+ロックすることにより、あなただけがファイルを更新(チェックイン)
+できるようになり、同時に複数の人が同じファイルを編集する際の
+厄介な問題を回避することができます。たとえリビジョンが
+ロックされていても、そのファイルをチェックアウトして内容を見たり、
+コンパイルすることは可能です。ロック機構は、ロックした人
+以外が
+.I チェックイン
+できないようにするだけです。
+.PP
+もし扱う \*r ファイルが個人的なもの、すなわち
+そのファイルに対して新しいリビジョンをチェックインするのが
+あなただけである場合、厳格なロック機構は必要ないでしょう。
+厳格なロック機構はオフにすることもできます。
+もし厳格なロックモードがオフになっているなら、
+\*r ファイルの所有者はロックしていないファイルをチェックイン
+することができます(それ以外の人はロックが必要です)。
+厳格なロックモードのオンとオフは、
+それぞれ以下のコマンドにより行います。
+.IP
+.BR "rcs \-L f.c" " 及び " "rcs \-U f.c"
+.LP
+もしワークディレクトリに \*r ファイルをまき散らしたく
+ないなら、\*r という名前のディレクトリを作成し、\*r ファイルを
+すべてその下に移動します。\*r コマンドは \*r ファイルを探すとき、
+まず、
+.B RCS
+ディレクトリを検索します。この場合も、これまでに述べてきたコマンドは
+引数をいっさい変更せずに実行できます(実際は \*r に \*r ファイルと
+ワークファイルの対を指示する方法は 3 通りあります:
+(a) 両方を指定する、(b) ワークファイルのみを指定する、
+(c) \*r ファイルのみを指定する。\*r ファイルとワークファイルは
+自由なパスに置くことができますが、\*r コマンドはファイルの対を
+インテリジェントに探します)。
+.PP
+チェックインしたときにワークファイルが削除されないようにする
+(編集を続けたり、コンパイルしたりする場合)には以下のコマンドを使います。
+.IP
+.BR "ci \-l f.c" " あるいは " "ci \-u f.c"
+.LP
+これらのコマンドは通常どおり
+.B f.c
+をチェックインします。しかし、自動的にチェックアウトも行います。
+最初の例ではロックを行い、2 番目の例ではロックを行いません。
+このようにすればチェックアウト操作を 1 回省けます。
+最初の例は編集を続ける場合に、2 番目の例は単にファイルを
+読みたかったりコンパイルしたりする場合に便利です。どちらの場合も、
+ワークファイル中の識別用マーカ(後述)が更新されます。
+.PP
+.B ci
+にチェックインするリビジョンの番号を指定することができます。
+それまでのリビジョンが 1.1、1.2、1.3... だったときに、以下の
+コマンドによりリリース2 を開始することができます。
+.IP
+.BR "ci \-r2 f.c" " あるいは " "ci \-r2.1 f.c"
+.LP
+これにより、新しいリビジョンには番号 2.1 がつけられます。以降、
+.I ci
+はこの
+ファイルの新しいリビジョンに 2.2、2.3...と番号をつけていきます。
+対応した以下の
+.B co
+コマンド
+.IP
+.BR "co \-r2 f.c" " 及び " "co \-r2.1 f.c"
+.PP
+は、リビジョン番号が
+.RI 2. x
+である最新のリビジョン、リビジョン 2.1 をそれぞれ
+チェックアウトします。
+.B co
+にリビジョン番号を指定しない場合、幹(trunk)の上の最新のリビジョン
+(すなわち、x.x の形式で最大のリビジョン番号を持つリビジョン)が
+チェックアウトされます。リビジョンの枝(branch)を用いるためには 3 つ
+以上の番号が必要になります。
+たとえば、1.3 から枝を作成するには、以下のコマンドを実行します。
+.IP
+.B "ci \-r1.3.1 f.c"
+.LP
+これにより、リビジョン 1.3 上に番号 1 の枝を作成し、
+枝上の最新リビジョンとして 1.3.1.1 を割り当てます。
+枝の詳細については
+.BR rcsfile (5)
+を参照してください。
+.SS "自動識別"
+\*r は、リビジョンの識別のために特別な文字列をソースや
+オブジェクトコードに埋め込むことができます。
+リビジョンの識別を行うためには、以下の文字列(マーク)
+.IP
+.B "$\&Id$"
+.LP
+をコメントなどのテキスト部分に書きます。
+\*r は、このマークを次の形式の文字列に置換します。
+.IP
+.BI $\&Id: " ファイル名 リビジョン 日付 時刻 作者 状態 " $
+.LP
+このようなマークをモジュールのソースコードの 1 ページ目に
+置くことにより、編集しているファイルのリビジョンを
+すぐに判断することができます。\*r はマークの更新を自動的に行います。
+マークをオブジェクトコードに組み込むには、それをリテラルな
+文字列中に含めます。C 言語では、以下のようにします。
+.IP
+.ft 3
+static char rcsid[] = \&"$\&Id$\&";
+.ft
+.LP
+.B ident
+コマンドは、オブジェクトファイルやダンプ出力からもマークを探し表示することが
+できます。従って
+.B ident
+コマンドを用いることにより、あるプログラムがどのモジュールの
+どのリビジョンによって作成されたかを知ることができます。
+.PP
+マーク
+.B $\&Log$
+をテキストやコメント内に含めることも有用かもしれません。
+このマークはチェックインのときに要求されたログを蓄えていきます。
+これにより、変更の履歴を直接、ファイルに記録するこができます。
+\*r にはほかにもいくつかのマークがあります。詳しくは
+.BR co (1)
+を参照してください。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993 Paul Eggert.
+.SH 関連項目
+ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.br
diff --git a/ja/man/man1/rcsmerge.1 b/ja/man/man1/rcsmerge.1
new file mode 100644
index 0000000000..e4970f3554
--- /dev/null
+++ b/ja/man/man1/rcsmerge.1
@@ -0,0 +1,192 @@
+.de Id
+.\" jpman %Id: rcsmerge.1,v 1.3 1997/08/19 03:05:27 h-nokubi Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: rcsmerge.1,v 1.2 1995/10/28 21:50:50 peter Exp %
+.ds r \&\s-1RCS\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.TH RCSMERGE 1 \*(Dt GNU
+.SH 名称
+rcsmerge \- RCS ファイルのリビジョンを併合する
+.SH 書式
+.B rcsmerge
+.RI [ options ] " file"
+.SH 解説
+.B rcsmerge
+は \*r の 2 つのリビジョン間の変更点を対応するワークファイルに適用します。
+.PP
+\*r 拡張子にマッチするパス名は \*r ファイルであるとみなし、
+その他はワークファイルであるとみなします。
+名前の対応については
+.BR ci (1)
+を参照してください。
+.PP
+後述するオプション(通常は
+.B -r
+)によって、少なくとも1つのリビジョンを指定する必要があります。
+最大で 2 つのリビジョンを指定することができます。
+1 つのリビジョンのみが指定された場合、もう1つのリビジョンとして、
+デフォルト枝(通常は幹で最大の番号を持つ枝) の最新リビジョンが用いられます。
+リビジョンは、数字またはシンボルで指定できます。
+.PP
+もし重複が発生すると、
+.B rcsmerge
+は警告メッセージを表示し、重複した領域
+を
+.BR merge (1)
+で説明されているような形式で出力します。
+本コマンドはチェックアウトしたリビジョンに一連の変更を加えるのに便利です。
+.SH オプション
+.TP
+.B \-A
+もしサポートされていれば、
+.BR diff3 (1)
+の
+.B \-A
+スタイルで矛盾点を出力します。
+.I file2
+から
+.I file3
+への変更点全てを
+.IR file1
+に適用し、大変詳細な情報を出力します。
+.TP
+\f3\-E\fP, \f3\-e\fP
+これらは、
+.BR \-A
+よりも情報量が少ない形式で矛盾点を出力するスタイルを指定するものです。
+詳細は
+.BR diff3 (1)
+を参照して下さい。
+デフォルトは
+.BR \-E
+です。
+.BR \-e
+を指定すると、
+.B rcsmerge
+は矛盾点の警告を行ないません。
+.TP
+.BI \-k subst
+キーワード置換において、
+.I subst
+で指定された形式を用います。詳細は
+.BR co (1)
+を参照してください。例えば、
+.B "\-kk\ \-r1.1\ \-r1.2"
+は
+.B 1.1
+から
+.B 1.2
+への変更を併合する際に、キーワードの違いを無視します。
+バイナリファイルをテキストであるかのようにリビジョン併合することは、普通、
+意味を持ちません。
+ですから
+.B rcsmerge
+は
+.B \-kb
+が指定されているとファイルのリビジョン併合を行ないません。
+.TP
+.BR \-p [\f2rev\fP]
+結果をワークファイルに上書きせずに、標準出力に書き出します。
+.TP
+.BR \-q [\f2rev\fP]
+静かに動作します。診断メッセージは表示されません。
+.TP
+.BR \-r [\f2rev\fP]
+リビジョン
+.I rev
+に関して併合を行います。
+.I rev
+を指定しない場合は、デフォルト枝の最新リビジョン(通常は先頭)を使用します。
+.TP
+.B \-T
+このオプションは意味を持ちません。
+他の \*r コマンドとの互換性のために存在します。
+.TP
+.BI \-V
+\*r のバージョン番号を表示します。
+.TP
+.BI \-V n
+\*r システムのバージョン
+.I n
+のエミュレーションを行います。詳細は
+.BR co (1)
+を参照してください。
+.TP
+.BI \-x "suffixes"
+\*r ファイル拡張子を
+.I suffixes
+とします。詳しくは
+.BR ci (1)
+を参照してください。
+.TP
+.BI \-z zone
+キーワード置換時のタイムゾーンを
+.I zone
+とします。詳しくは
+.BR co (1)
+を参照してください。
+.SH 例
+すでにリリースしたリビジョン 2.8 の
+.B f.c
+というファイルがあるとします。
+ここで、まだリリースしていないリビジョン 3.4 が完成したときに、
+他人から 2.8 を改良したものを受けとったとします。
+この改良と、あなたが 2.8 から 3.4 の間に行った変更を併合するには
+次のようにします。
+.LP
+.B " rcsmerge \-p \-r2.8 \-r3.4 f.c >f.merged.c"
+.PP
+ここで、併合された
+.B f.merged.c
+を検査します。
+もし、2.8 に対する更新部分を \*r ファイル中に保存しておきたいと考えるなら、
+それを 2.8.1.1 というリビジョンでチェックインし、その後で
+.BR "co \-j"
+を実行します。
+.LP
+.B " ci \-r2.8.1.1 f.c"
+.br
+.B " co \-r3.4 \-j2.8:2.8.1.1 f.c"
+.PP
+別の例として、以下のコマンドはリビジョン 2.4 から 2.8 への変更をすでに
+チェックアウトいるワークファイル
+.B f.c
+から取り消します。
+.LP
+.B " rcsmerge \-r2.8 \-r2.4 f.c"
+.PP
+指定するリビジョン番号の順番に注意してください。また、
+.B f.c
+が上書きされ
+ることにも注意してください。
+.SH 環境変数
+.TP
+.B \s-1RCSINIT\s0
+コマンドライン引数に先立って指定すべきオプションを空白で区切って指定します。
+詳しくは
+.BR ci (1)
+を参照してください。
+.SH 診断
+併合によって重複が生じなければ終了ステータス 0 を、重複があれば 1 を、
+問題が発生した場合は 2 を返します。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
+.SH 関連項目
+ci(1), co(1), ident(1), merge(1), rcs(1), rcsdiff(1), rcsintro(1), rlog(1),
+rcsfile(5)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.br
diff --git a/ja/man/man1/rdist.1 b/ja/man/man1/rdist.1
new file mode 100644
index 0000000000..a01be91cdd
--- /dev/null
+++ b/ja/man/man1/rdist.1
@@ -0,0 +1,423 @@
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rdist.1 8.3 (Berkeley) 3/17/94
+.\" jpman %Id: rdist.1,v 1.2 1997/06/05 02:50:01 yugawa Stab %
+.\"
+.Dd March 17, 1994
+.Dt RDIST 1
+.Os BSD 4.3
+.Sh 名称
+.Nm rdist
+.Nd リモートファイル配布プログラム
+.Sh 書式
+.Nm rdist
+.Op Fl nqbRhivwy
+.Op Fl P Ar rshcmd
+.Op Fl f Ar distfile
+.Op Fl d Ar var=value
+.Op Fl m Ar host
+.Op Ar name ...
+.Nm rdist
+.Op Fl nqbRhivwy
+.Op Fl P Ar rshcmd
+.Fl c
+.Ar name ...
+.Oo login@ Oc Ns Ar host Ns Op :dest
+.Sh 解説
+.Nm
+は、複数のホストに対し、ファイルの内容を同一に維持するためのプログラムです。
+本プログラムによるファイルコピーでは、可能な限りオーナ、グループ、アクセスモー
+ド、そして更新時刻を保存しようとします。そして、現在実行中のプログラム
+の更新も可能です。
+.Nm
+は、コマンドを
+.Ar distfile
+から読み出し、その内容に従ってファイルやディレクトリの更新を制御します。
+.Pp
+第 1 の書式特有のオプション:
+.Pp
+.Bl -tag -width indent
+.It Fl
+.Ar distfile
+に
+.Sq Fl
+を指定した場合、標準入力からデータを入力します。
+.It Fl f Ar distfile
+指定した
+.Ar distfile
+を使用します。
+.El
+.Pp
+.Fl f
+オプションも
+.Sq Fl
+オプションも指定されない場合には、本プログラムは最初に
+.Dq Pa distfile
+を、次に
+.Dq Pa Distfile
+を探し、入力として使用します。
+コマンド行にて何の指定も与えられない場合には、
+.Nm
+は、
+.Ar distfile
+に記述されたすべてのファイルとディレクトリを更新します。
+それ以外の場合では、引数は、更新対象となるファイル名あるいは
+実行されるコマンドのラベルと解釈されます。
+ラベルやファイル名が衝突する場合には、すべてラベルとして取り扱います。
+これらの名前は、指定したコマンドを用いて指定したファイルを更新するのに
+用いられます。
+.Pp
+第 2 の書式特有のオプション:
+.Pp
+.Bl -tag -width Fl c
+.It Fl c
+.Nm
+に、残りの引数を小規模の
+.Ar distfile
+として解釈するように指示します。
+.Pp
+このオプションを使用した場合と等価な distfile は、以下のようになります。
+.Pp
+.Bd -filled -offset indent -compact
+.Pq Ar name ...
+.Li ->
+.Op Ar login@
+.Ar host
+.Bd -filled -offset indent -compact
+.Li install
+.Op Ar dest ;
+.Ed
+.Ed
+.El
+.Pp
+両方の書式に共通のオプション:
+.Pp
+.Bl -tag -width Ic
+.It Fl P Ar rshcmd
+.Xr rsh 1
+と同様な機能を持つ他のプログラムをリモートサーバへの転送に使用します。
+指定したプログラムはリモートサーバへバイナリ透過な経路を使用できる必要が
+あり、コマンド引数の書式が
+.Xr rsh 1
+と互換でなければなりません。
+.It Fl d Ar var=value
+.Ar var
+に対して
+.Ar value
+を代入することを定義します。
+.Fl d
+オプションは、変数を定義したり、
+.Ar distfile
+中の変数を変更したりするのに用いられます。
+.Ar value
+には、空白文字列、名前、もしくは括弧で囲まれて、タブやスペースで区切ら
+れた名前の列挙が指定可能です。
+.It Fl h
+シンボリックリンクを追いかけます。リンクしてあるファイルの場合、リンクファ
+イルそのものでなく、リンク先にある実体をコピーします。
+.It Fl i
+解決できないリンクを無視します。
+.Nm
+は、通常はリンクファイルについてもコピーを行ない、リンクが解決出来ない場合
+には、その旨をユーザに通知します。
+.It Fl m Ar host
+ファイルを更新するホストを制限します。
+複数の
+.Fl m
+引数を指定する事で、
+.Ar distfile
+に記述のあるホスト名の中から複数のホスト名を選択して与えることが可能です。
+.It Fl n
+実行しないで、コマンド自身を表示します。本オプションは
+.Ar distfile
+のデバッグに有効です。
+.It Fl q
+QUIETモードに入ります。更新されるファイルについては、通常は標準出力に
+表示されますが、
+.Fl q
+オプションはこの出力を抑制します。
+.It Fl R
+無関係なファイルを削除します。ディレクトリを更新する場合に、
+リモートホスト上に存在するファイルが、配布元のディレクトリ中に存在しないなら、
+該当するファイルを削除します。本オプションは、配布元と配布先で完全にディ
+レクトリ配下の内容を一致させたい場合に有効です。
+.It Fl v
+すべてのホストのファイルが最新の物であるかの確認を行ないます。すべての
+古いファイルについては一覧が表示されますが、そのファイルが変更されたり、
+そのファイルに関してシステムからメールが届いたりすることはありません。
+.It Fl w
+WHOLE モードを有効にします。指定されたファイル名全体が、配布先ディレクトリ名の
+後に付加されます。通常は、ファイル名からディレクトリ名を取り除いた
+最後の部分のみがファイル名を変更する時に使われます。
+本オプションは、ディレクトリ構造をフラットにせず、配布元のディレクトリ
+構造をそのまま配布先に持っていきたい場合に用いられます。例えば、
+( dir1/f1 dir2/f2 )のように表されるファイルを、dir3 というディレクトリに
+配布した場合、配布先では dir3/f1 や dir3/f2 ではなく、
+dir3/dir1/f1 や dir3/dir2/f2 が作成されます。
+.It Fl y
+YOUNGERモードを有効にします。通常、ファイルの更新は、
+.Ar mtime
+と
+.Ar size
+(
+.Xr stat 2
+参照)
+が一致しない場合に行なわれます。しかし、
+.Fl y
+オプションが有効になっている場合には、
+.Nm
+は、配布元のファイルより新しいファイルは更新しません。
+通常本オプションは、他のホストに存在する、より新しいファイルを置き換えない
+目的で用いられます。
+配布元より新しいファイルが配布先にあった場合には、その旨を通知するメッセー
+ジが表示されます。
+.El
+.Pp
+.Ar distfile
+は、コピーされるファイル、配布先ホスト、そして更新のための手順を指定
+するエントリを含みます。各エントリは、以下の形式のいずれかに分類され
+ます。
+.Pp
+.Bd -literal -offset indent -compact
+<variable name> `=' <name list>
+[label:]<source list> `\->' <destination list> <command list>
+[label:]<source list> `::' <time_stamp file> <command list>
+.Ed
+.Pp
+一番目の形式は、値を定義するのに用いられます。
+二番目の形式は、他のホストへファイルを配布するのに用いられます。
+三番目の形式は、指定した日付以降に更新されたファイルの一覧を作成するのに
+用いられます。
+.Ar source list
+は、配布元のファイルやディレクトリの一覧を指定します。
+.Ar destination list
+は、ファイルの配布先のホスト一覧です。配布元ファイルリスト (source
+list) 中の各ファイルが、更新を行なおうとしているホストにおいて古いもの
+である(二番目の形式)か、または、指定のファイルのタイムスタンプより新し
+い場合(三番目の形式)には、変更対象リストに追加されます。
+.Pp
+ラベルの使用は、任意です。ラベルについては、部分的な変更を行なう場合
+に、コマンドを識別するために用いられます。
+.Pp
+改行、タブ、そして空白は、セパレータとしてのみ用いられ、それ以外の場で
+用いられた場合には無視されます。コメントは、`#' で始まり改行で終ります。
+.Pp
+`$' で始まり、1文字もしくは `{''}' でくくられた名前の変数については、処理中に
+その値に置き換えられます(最後に出てくる例を参照して下さい)。
+.Pp
+配布元ファイルリストと配布先ホストリストの一覧は、以下の形式を取ります。
+.Bd -literal -offset indent
+<名前>
+.Ed
+または
+.Bd -literal -offset indent -compact
+`(' <空白で区切られた 0 個以上の名前> `)'
+.Ed
+.Pp
+シェルのメタ文字であるところの `[', `]', `{', `}', `*', そして `?'
+は、(配布元のホスト上でのみ)
+.Xr csh 1
+同様に解釈され、展開されます。
+これは、バックスラッシュを用いて回避する事が出来ます。
+`~' 文字もまた、
+.Xr csh 1
+同様に展開されますが、配布元と配布先のホストで別々に展開されます。
+.Fl w
+オプションが `~' ではじまるファイル名とともに用いられた場合、ホームディ
+レクトリを除くすべてのファイル/ディレクトリ名が配布先の名前に加えられます。
+`/' や `~' 以外の文字ではじまるファイル名は、配布先のユーザのホームディ
+レクトリをルートディレクトリとみなして、指定されたファイルの名前を
+追加して配布先でのファイル名を作成します。
+.Pp
+コマンドリストは、以下の形式に従った、0 個以上のコマンドからなります。
+.Bd -ragged -offset indent -compact
+.Bl -column except_patx pattern\ listx
+.It `install' <options> opt_dest_name `;'
+.It `notify' <name list> `;'
+.It `except' <name list> `;'
+.It `except_pat' <pattern list> `;'
+.It `special' <name list> string `;'
+.El
+.Ed
+.Pp
+.Ic install
+コマンドは、古いファイルやディレクトリをコピーするのに用いられます。
+各配布元のファイルは、配布先ホストリスト中の各ホストへコピーさ
+れます。ディレクトリも同様にして、再帰的にコピーされます。
+.Ar Opt_dest_name
+は、ファイル名を変更するための任意的なパラメータです。
+.Ic install
+コマンドがコマンドリストに存在しない場合や、配布先での
+ファイル名が指定されていない場合、配布元のファイル名がそ
+のまま配布先でのファイル名として採用されます。
+パス名に含まれるディレクトリが配布先のホスト上に存在しない
+場合には、そのディレクトリを作成します。
+不慮の事故を回避するために、配布先のホスト上に空でないディレクトリがあっ
+ても、通常のファイルやシンボリックリンクに置き換えたりはしません。
+しかし、`\-R'オプションを付加して実行した場合には、配布元のディレクト
+リに当該ファイルが存在しなければ、空でないディレクトリでも削除されます。
+.Ar option
+には、`\-R', `\-h', `\-i', `\-v', `\-w', `\-y', `\-b'
+があり、それらが配布元ファイルリストに記述されたファイルに対
+してのみ適用される事を除いて、コマンドライン中に指定した事と同じ意味と
+なります。
+配布先ホストにおけるログイン名は、配布元でのログイン名と同じですが、配
+布先のログイン名が ``login@host" という形式で指定されている場合にはこの
+限りではありません。
+.Pp
+.Ic notify
+コマンドは、更新されたファイル一覧(および、発生した何らかのエラー)をメール
+によって通知する場合に用いられます。
+指定のメールアドレス中に `@' がない場合には、配布先のホスト名がメールア
+ドレスに付加されます(例: name1@host, name2@host, ...)。
+.Pp
+.Ic except
+コマンドは、
+.Ar name list
+に列挙されているファイルを除き、配布元ファイルリストに記述されているすべての
+ファイルを更新するのに用いられます。
+本コマンドは、特定ファイルを除くすべてのファイルをコピーするのに用い
+られます。
+.Pp
+.Ic except_pat
+コマンドは、
+.Ic except
+コマンドと似てますが、
+.Ar pattern list
+として正規表現を用いたリストを指定できるところが異なります
+(詳細については、
+.Xr re_format 7
+を参照して下さい)。
+ファイル名に含まれる文字列が、正規表現のパターンに一致すると、そのファ
+イルは無視されます。
+`\e' が文字をクオートする事に注意して下さい。正規表現に含めるためには、
+2 個続ける必要があります。
+.Ar pattern list
+の中の変数は展開されますが、シェルのファイルパターンマッチ方法とは異なります。
+`$' を含めるためには、`\e' を用いてエスケープする必要があります。
+.Pp
+.Ic special
+コマンドは、
+.Ar name list
+にて指定されたファイルを更新、または、コピーした後に、配布先の
+ホスト上で実行される
+.Xr sh 1
+コマンドを指定するのに用いられます。
+.Ar name list
+が省略された場合には、シェルコマンドは各ファイルの更新が終了する度に
+実行されます。シェル変数 `FILE' には、
+文字列
+.Ar string
+で指定したコマンドを実行する前に、直前に処理したファイル名が格納されます。
+文字列
+.Ar string
+を、`"'で囲む事で、
+.Ar distfile
+において複数行にわたって記述する事が出来ます。
+シェルに対する複数の実行コマンドは、`;'で区切られる必要があります。
+指定されたコマンドは、ファイルの更新を行なおうとしている配布先ホストの
+当該ユーザのホームディレクトリで実行されます。
+.Ar special
+コマンドは、プログラムがファイルを更新した後にプライベートデータベース
+を再構築する用途をはじめとして、いろいろな場面で用いる事が出来ます。
+.Pp
+以下に示す例は簡単な一例です。
+.Bd -literal -offset indent
+HOSTS = ( matisse root@arpa )
+
+FILES = ( /bin /lib /usr/bin /usr/games
+\t/usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
+\t/usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )
+
+EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
+\tsendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont )
+
+${FILES} -> ${HOSTS}
+\tinstall -R ;
+\texcept /usr/lib/${EXLIB} ;
+\texcept /usr/games/lib ;
+\tspecial /usr/lib/sendmail "/usr/lib/sendmail -bz" ;
+
+srcs:
+/usr/src/bin -> arpa
+\texcept_pat ( \e\e.o\e$ /SCCS\e$ ) ;
+
+IMAGEN = (ips dviimp catdvi)
+
+imagen:
+/usr/local/${IMAGEN} -> arpa
+\tinstall /usr/local/lib ;
+\tnotify ralph ;
+
+${FILES} :: stamp.cory
+\tnotify root@cory ;
+.Ed
+.Sh 関連ファイル
+.Bl -tag -width /tmp/rdist* -compact
+.It Pa distfile
+入力コマンドファイル
+.It Pa /tmp/rdist*
+更新リストのために用いられる一時ファイル
+.El
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr sh 1 ,
+.Xr stat 2 ,
+.Xr re_format 7
+.Sh 歴史
+.Nm
+コマンドは、
+.Bx 4.3
+から登場しました。
+.Sh 診断
+.Nm
+のバージョン不一致についての通知は、実際にはシェルを起動する際の
+何らかの問題に起因して発生します。例えば、ユーザの所属グループがあまり
+多すぎるなどが挙げられます。
+.Sh バグ
+配布元ファイルは、
+.Nm
+コマンドが起動される配布元ホストに存在しなければなりません。
+.Pp
+ディレクトリ配下のすべてのファイルが更新された後に特定のコマンドを実行
+するのは困難です。
+.Pp
+変数の置換は、name list に対してのみ働きます。より一般的なマクロ
+の機能があるべきでしょう。
+.Pp
+.Nm
+は、負 (1970 年 1 月 1 日以前の日付)の mtime を持つファイルに対してのアクセスを
+行なうと異常終了します。
+.Pp
+空でないディレクトリを通常ファイルやシンボリックリンクで置換できる、
+`force' オプションがあるべきでしょう。内容自体は一致しているファイルのモード
+やオーナを更新する方法も必要でしょう。
diff --git a/ja/man/man1/refer.1 b/ja/man/man1/refer.1
new file mode 100644
index 0000000000..94a261806b
--- /dev/null
+++ b/ja/man/man1/refer.1
@@ -0,0 +1,1257 @@
+.ig \"-*- nroff -*-
+.\" jpman %Id: refer.1,v 1.2 1997/07/17 03:09:58 mihara Stab %
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.de TQ
+.br
+.ns
+.TP \\$1
+..
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.\" The BSD man macros can't handle " in arguments to font change macros,
+.\" so use \(ts instead of ".
+.tr \(ts"
+.TH REFER 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+refer \- groff のための参考文献目録プリプロセッサ
+.SH 書式
+.nr a \n(.j
+.ad l
+.nr i \n(.i
+.in +\w'\fBrefer 'u
+.ti \niu
+.B refer
+.de OP
+.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
+.el .RB "[\ " "\\$1" "\ ]"
+..
+.OP \-benvCPRS
+.OP \-a n
+.OP \-c fields
+.OP \-f n
+.OP \-i fields
+.OP \-k field
+.OP \-l m,n
+.OP \-p filename
+.OP \-s fields
+.OP \-t n
+.OP \-B field.macro
+.RI [\ filename \|.\|.\|.\ ]
+.br
+.ad \na
+.SH 解説
+本ファイルでは groff ドキュメントフォーマッティングシステムの一部である
+GNU バージョンの
+.B refer
+について記述します。
+.B refer
+は
+.B .[
+と
+.B .]
+で囲まれた引用として解釈される行と、
+.B .R1
+と
+.B .R2
+で囲まれた引用の処理方法を記述したコマンドとして解釈される行を除き、
+.IR filename \|.\|.\|.
+の内容を標準出力にコピーします。
+.LP
+各々の引用では参考文献を指定します。
+引用では、ある参考文献にのみ含まれるキーワードの集合を与えることによっ
+て、その参考文献を図書目録データベースから指定することができます。
+また、引用の中でデータベースレコードを指定することによっても参考文献を
+指定することができます。
+これらの方法を組み合わせることも可能です。
+.LP
+各々の引用において
+.B refer
+はテキストの中にマークを作成することができます。
+このマークは色々な方法でテキストや他のラベルから区別されるいくつかのラ
+ベルから構成されます。
+各引用における参考文献をマクロパッケージを使ってフォーマットして出力す
+るための
+.B groff
+コマンドを出力することもできます。
+そのためには
+.B refer
+の出力は適切なマクロパッケージを使って処理されなければなりません。
+.B \-ms
+と
+.B \-me
+はいずれも適切なマクロです。
+引用の参考文献をフォーマットするコマンドを引用の直後に出力することも、
+参考文献を蓄積して後でコマンドを出力することもできます。
+参考文献を蓄積した時、同じ参考文献が複数から引用されている場合には、参
+考文献は 1 つにまとめてフォーマットされます。
+.LP
+GNU refer の新しい機能として
+.B .R1
+と
+.B .R2
+の間の行はコマンドとして解釈されます。
+この機能を使用して作成されたドキュメントは、ドキュメントの先頭に
+.RS
+.LP
+.nf
+.ft B
+\&.de R1
+\&.ig R2
+\&..
+.ft
+.fi
+.RE
+の行を追加することにより UNIX refer でも処理することができます。
+この指定によって
+.B troff
+は
+.B .R1
+と
+.B .R2
+の間をすべて無視します。
+このオプションによっていくつかのコマンドと同等の効果を得ることができ
+ます。
+これらのオプションは主に Unix refer との互換性のためにサポートされてい
+るものです。
+通常はコマンドを使った方が便利です。
+.LP
+.B refer
+は
+.B refer
+の出力を読むコマンドによって生成されるメッセージの中のファイル名と行番
+号が正しくなるように
+.B .lf
+行を生成します。
+入力が
+.B soelim (1)
+のようなコマンドによって前処理されている場合でも、メッセージ中のファイ
+ル名と行番号と生成される
+.B .lf
+行が正確になるように
+.B .lf
+で始まる行も解釈します。
+.SH オプション
+.LP
+ほとんどのオプションには同等なコマンドがあります。
+(これらのコマンドについては
+.B コマンド
+セクションの説明を参照して下さい。)
+.TP
+.B \-b
+.B
+no-label-in-text; no-label-in-reference
+.TP
+.B \-e
+.B accumulate
+.TP
+.B \-n
+.B no-default-database
+.TP
+.B \-C
+.B compatible
+.TP
+.B \-P
+.B move-punctuation
+.TP
+.B \-S
+.B
+label "(A.n|Q) ', ' (D.y|D)"; bracket-label " (" ) "; "
+.TP
+.BI \-a n
+.B reverse
+.BI A n
+.TP
+.BI \-c fields
+.B capitalize
+.I fields
+.TP
+.BI \-f n
+.B label
+.BI % n
+.TP
+.BI \-i fields
+.B search-ignore
+.I fields
+.TP
+.B \-k
+.B label
+.B L\(ti%a
+.TP
+.BI \-k field
+.B label
+.IB field \(ti%a
+.TP
+.B \-l
+.B label
+.BI A.nD.y%a
+.TP
+.BI \-l m
+.B label
+.BI A.n+ m D.y%a
+.TP
+.BI \-l, n
+.B label
+.BI A.nD.y\- n %a
+.TP
+.BI \-l m , n
+.B label
+.BI A.n+ m D.y\- n %a
+.TP
+.BI \-p filename
+.B database
+.I filename
+.TP
+.BI \-s spec
+.B sort
+.I spec
+.TP
+.BI \-t n
+.B search-truncate
+.I n
+.LP
+これらのオプションは以下のコマンドと同等です。ただし、通常の方法のか
+わりにコマンド行で指定されるファイル名が
+.B bibliography
+コマンドへの引数であるように処理されます。
+.TP
+.B \-B
+.B
+annotate X AP; no-label-in-reference
+.TP
+.BI \-B field . macro
+.B annotate
+.I field
+.IB macro ;
+.B no-label-in-reference
+.LP
+以下のオプションには同等なコマンドはありません。
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.B \-R
+.B .R1 / .R2
+で始まる行を認識しません。
+.SH 使用例
+.SS 図書目録データベース
+図書目録データベースは 1 行以上の空白行で区切られたレコードからなるテ
+キストファイルです。
+各レコードではフィールドは
+.B %
+で始まる行で開始します。
+各フィールドには
+.B %
+に続く 1 文字の名称があります。
+フィールドの名称には大文字か小文字のみを使うのが最良の方法です。
+フィールドの名称の後には正確に 1 つのスペースが続かなければなりませ
+ん。
+空のフィールドは無視されます。
+各フィールドの慣例的な意味は次の通りです。
+.TP
+.B A
+作者の名前。
+名前の末尾に
+.B Jr.
+のような肩書が含まれる場合はコンマでラストネームと区切られていなければ
+なりません。
+.B A
+フィールドは複数回現れても構いません。
+出現する順番は意味を持ちます。
+.B A
+フィールドか
+.B Q
+フィールドは常に指定するのが良いでしょう。
+.TP
+.B B
+ある本の一部である記事において、その本のタイトルです。
+.TP
+.B C
+出版社の所在地 (都市) です。
+.TP
+.B D
+出版された日付です。
+出版年に略称を使用してはいけません。
+もし出版月を指定する場合は数字による月ではなく、月名を使わなければなり
+ませんが、最初の 3 文字を指定すれば十分です。
+.B D
+フィールドは常に指定するのが良いでしょう。
+ただし、出版の日付が分からなければ
+.B in press
+や
+.B unknown
+のような値を使うこともできます。
+.TP
+.B E
+ある本の一部である記事において、その本の編集者の名前です。
+出版作業が著者のない編集だけのものであった場合、編集者の名前を
+.B A
+フィールドで指定し、
+.B ,\ (ed)
+または
+.B ,\ (eds)
+を最後の著者の後に指定しなければなりません。
+.TP
+.B G
+米国政府注文番号です。
+.TP
+.B I
+出版者 (発行人) です。
+.TP
+.B J
+定期刊行物の記事における、その刊行物の名称です。
+.TP
+.B K
+検索に使われるキーワードです。
+.TP
+.B L
+ラベルです。
+.TP
+.B N
+定期刊行物の発行番号です。
+.TP
+.B O
+その他の情報です。
+これは通常参考文献の末尾に印刷されます。
+.TP
+.B P
+ページ番号です。
+ページ番号の範囲は
+.I m \- n\fR
+で指定できます。
+.TP
+.B Q
+著者が個人でない場合の著者の名称です。
+これは
+.B A
+フィールドがない場合にのみ使用されます。
+.B Q
+フィールドは 1 つのみ使うことができます。
+.TP
+.B R
+技術報告書番号です。
+.TP
+.B S
+シリーズの名称です。
+.TP
+.B T
+タイトルです。
+本や定期刊行物中の記事ではこれは記事のタイトルとなります。
+.TP
+.B V
+定期刊行物もしくは本のボリューム番号です。
+.TP
+.B X
+注釈です。
+.LP
+.B A
+と
+.B E
+を除くすべてのフィールドで、あるレコードに複数の特定のフィールドがある
+場合、最後のフィールドのみが使用されます。
+.LP
+アクセント文字列はアクセントをつける文字に引き続いて指定されなければな
+りません。これは
+.B AM
+マクロは
+.B \-ms
+マクロとともに使用しなければならないことを意味します。
+アクセント文字列は引用符で囲んではいけません。
+また、
+.B \e
+は 2 つでなく 1 つのみ使って下さい。
+.SS 引用
+引用のフォーマットは
+.RS
+.BI .[ opening-text
+.br
+.I
+flags keywords
+.br
+.I fields
+.br
+.BI .] closing-text
+.RE
+となります。
+.LP
+.I opening-text
+と
+.I closing-text
+と
+.I flags
+のコンポーネントは省略可能です。
+.I keywords
+か
+.I fields
+のいずれか 1 つのコンポーネントを指定する必要があります。
+.LP
+.I keywords
+コンポーネントは
+.I keywords
+に含まれる全ての単語を含む参考文献を文献データベースから検索するために
+指定します。
+もし複数の参考文献が見つかった場合はエラーとなります。
+.LP
+.I fields
+コンポーネントは参考文献の中で指定されるものを置き換えるか付け加えるた
+めの追加フィールドを指定します。
+参考文献が蓄積される設定で、
+.I keywords
+コンポーネントが空でなければ、追加フィールドはある特定の参考文献が引用
+されている最初の部分においてのみ指定されなければならず、その参考文献を
+引用している全ての部分に適用されます。
+.LP
+.I opening-text
+と
+.I closing-text
+コンポーネントは
+.B bracket-label
+コマンドにおいて指定される文字列の代わりにラベルを囲むために使われる文
+字列を指定します。
+これらのいずれもが空でなければ、
+.B bracket-label
+コマンドで指定されている文字列は使われません。
+この処理は
+.B [
+と
+.B ]
+フラグを使って置き換えることができます。
+これらのコンポーネントの前と後につくスペースは意味を持つことに注意し
+て下さい。
+.LP
+.I flags
+コンポーネントはここでの引用の扱いを変更するためのアルファベット以外の
+文字のリストです。
+Unix refer はこれらのフラグをキーワードの一部として処理しますが、それ
+らはアルファベットでないため無視します。
+以下のフラグが現在認識されるものです。
+.TP
+.B #
+これは
+.B short-label
+コマンドによって指定されるラベルを
+.B label
+コマンドで指定されるものの代わりに使用することを指示します。
+もしショートラベルが指定されなければ、通常のラベルが使用されます。
+普通はショートラベルは auther-date ラベルに使用され、日付とおそらくは
+曖昧さが取り除かれた文字から構成されます。ここで、
+.B #
+はラベルの数字によるタイプを示唆するものと考えられます。
+.TP
+.B [
+.B bracket-label
+コマンドの中で指定される最初の文字列が
+.I opening-text
+の前に置かれます。
+.TP
+.B ]
+.B bracket-label
+コマンドの中で指定される 2 番目の文字列が
+.I closing-text
+の後に置かれます。
+.LP
+.I opening-text
+と
+.I closing-text
+の中に括弧を含めるのではなく、
+.B [
+と
+.B ]
+フラグを使うことの 1 つの利点は
+.B bracket-label
+コマンドで変更するだけでドキュメントの中で使っている括弧のスタイルを変
+更できることです。
+もう 1 つの利点として、これらのフラグを使うことによって引用のソートとマー
+ジを禁止する必要がないことがあげられます。
+.LP
+もしラベルがテキスト中に挿入されるべきものであれば、それは
+.B .[
+行の前の行に挿入されます。
+そのような行がない場合には
+.B .[
+の前に余分の行が挿入されて警告が表示されます。
+.LP
+複数の参考文献に対する引用を作成する特別の表記法はありません。
+ただ引用を 1 つの参考文献につき 1 つずつ連続して使用します。
+引用の間には何も入れないで下さい。
+全ての引用に対するラベルは最初の引用の前の行に付加されます。
+ラベルはまたソートしたり、マージしたりすることもできます。
+ラベルの表記法
+.B <>
+とコマンド
+.B sort-adjacent-labels
+と
+.B abbreviate-label-ranges
+の説明を参照して下さい。
+ラベルは引用に空でない
+.I opening-text
+か
+.I closing-text
+がある時にはマージされません。
+しかし、
+.I opening-text
+が伴わず
+.B [
+フラグを使った引用がその直後に続く、
+.I closing-text
+を伴わない
+.B ]
+フラグを使った引用のラベルは最初の引用の
+.I opening-text
+か次の引用の
+.I closing-text
+が空でない場合においても、ソートとマージを行なうことができます。
+(もしこれを行ないたくない場合は、最初の引用で
+.I closing-text
+を
+.B \e&
+としてください。)
+.SS コマンド
+コマンドは
+.B .R1
+で始まる行と
+.B .R2
+の間に指定されます。
+これらの行は
+.B \-R
+オプションを使うことによって認識されないようにできます。
+.B .R1
+行が認識された時、すべての蓄積されている参考文献は消去されます。
+.B .R1
+行と
+.B .R2
+行およびこれらの間に指定されたものはすべて出力されません。
+.LP
+コマンドは改行か
+.B ;
+によって区切られます。
+.B #
+からその行の最後まではコメントとなります
+(しかし、改行自身は改行としてあつかわれます)。
+各コマンドはワードに分割されます。
+ワードはスペースかタブによって区切られます。
+.B \(ts
+で始まるワードは次の
+.B \(ts
+(ただしもう 1 つの
+.B \(ts
+が直後にないもの) までがワードとして扱われます。
+もし、次の
+.B \(ts
+がない場合にはその行の最後までがワードとなります。
+.B \(ts
+で始まるワード中の
+.B \(ts
+のペアはひとつの
+.B \(ts
+として扱われます。
+.B \(ts
+の中では
+.B #
+と
+.B ;
+は認識されません。
+行は末尾に
+.B \e
+をつけることによって継続することができます。
+ただし
+.B #
+の後の場合は継続されません。
+.LP
+.ds n \fR*
+\*n でマークされた各コマンド
+.I name
+には
+.I name
+の効果を打ち消す否定コマンド
+.BI no- name
+があります。
+例えば、
+.B no-sort
+コマンドは参考文献をソートしないことを指定します。
+否定コマンドは引数を取りません。
+.LP
+以下の説明で各引数はひとつのワードとなります。
+.I field
+はフィールドの名前となる 1 文字の小文字または大文字です。
+.I fields
+はそのような文字のシーケンスです。
+.I m
+と
+.I n
+は非負の数字です。
+.I string
+は任意の文字列です。
+.I filename
+はファイル名です。
+.Tp \w'\fBabbreviate-label-ranges'u+2n
+.BI abbreviate\*n\ fields\ string1\ string2\ string3\ string4
+.I fields
+のファーストネームを短縮形にします。
+頭文字ともう 1 つの頭文字の間には
+.I string1
+が挿入されます。
+ラストネームとの間には
+.I string2
+が挿入され、その他のもの
+(
+.B von
+や
+.B de
+のようなもの) との間には
+.I string3
+が挿入されます。これらのストリングのデフォルトはピリオドにスペースが続
+いたものとなります。
+ハイフンで区切られたファーストネームの中で、名前の最初の部分の頭文字は
+.I string4
+(デフォルトはピリオド) によってハイフンと分離されます。
+省略形に起因する曖昧さについては特に考慮していません。
+名前はソートする前およびラベルが構築される前に省略形にされます。
+.TP
+.BI abbreviate-label-ranges\*n\ string
+連続した参考文献を参照する 3 つ以上の隣接するラベルは、最初のラベル
+.I string
+最後のラベルの順からなる 1 つのラベルに省略されます。
+これは主に数字ラベルにおいて便利です。
+.I string
+が省略された場合のデフォルトは
+.B \-
+です。
+.TP
+.B accumulate\*n
+各参考文献を出現するたびに書き出すのではなく、参考文献を蓄積していきます。
+蓄積された参考文献はすべての入力ファイルが処理され
+.B .R1
+行が認識された後に、
+.RS
+.IP
+.B .[
+.br
+.B $LIST$
+.br
+.B .]
+.LP
+の形式の参照が指定された時に書き出されます。
+.RE
+.TP
+.BI annotate\*n\ field\ string
+.I field
+は注釈です。注釈は参考文献の最後に
+.RS
+.IP
+.BI . string
+.LP
+の行の後にパラグラフとして印刷されます。
+.I macro
+が省略されるとデフォルトの
+.B AP
+となります。もし、
+.I field
+も省略されるとデフォルトの
+.B X
+となります。
+注釈になれるフィールドは 1 つのみです。
+.RE
+.TP
+.BI articles\ string \fR\|.\|.\|.
+.IR string \|.\|.\|.
+は定冠詞もしくは不定冠詞であり、ソートされる時にはフィールド
+.B T
+の最初では無視されなければなりません。
+初期状態では
+.B the
+と
+.B a
+と
+.B an
+が冠詞として認識されます。
+.TP
+.BI bibliography\ filename \fR\|.\|.\|.
+図書目録データベース
+.IR filename \|.\|.\|.
+に含まれる全ての参考文献を書き出します。
+.TP
+.BI bracket-label\ string1\ string2\ string3
+テキスト中で、各ラベルを
+.I string1
+と
+.I string2
+で囲みます。
+.I string2
+の直後に
+.I string1
+が現れた場合は
+.I string3
+に置き換えられます。
+デフォルトでは
+.RS
+.IP
+.B
+bracket-label \e*([. \e*(.] ", "
+.LP
+となります。
+.RE
+.TP
+.BI capitalize\ fields
+.I fields
+を大文字とそれに続く小文字に変換します。
+.TP
+.B compatible\*n
+スペースや改行以外の文字が次に続く場合でも
+.B .R1
+と
+.B .R2
+を認識します。
+.TP
+.BI database\ filename \fR\|.\|.\|.
+図書目録データベース
+.IR filename \|.\|.\|.
+を検索します。
+各々の
+.I filename
+について、もし
+.BR indxbib (1)
+によって生成されたインデックス
+.IB filename .i
+が存在すれば、それが代わりに検索されます。各インデックスは複数のデータ
+ベースをカバーすることができます。
+.TP
+.BI date-as-label\*n\ string
+.I string
+はラベルを構成した後にフィールド
+.B D
+を置き換える文字列を指定するラベル式です。
+ラベル式の説明については
+.B "ラベル式"
+の項を参照して下さい。
+このコマンドは参考文献リストの中で明示的なラベルは使いたくないが、何ら
+かの方法で日付を修飾することによって曖昧さを取り除きたい場合に便利です。
+通常、テキスト中で使用されているラベルは作者と日付の組合せになります。
+ほとんどの場合、
+.B no-label-in-reference
+コマンドも使う必要があります。
+例えば、
+.RS
+.IP
+.B
+date-as-label D.+yD.y%a*D.-y
+.LP
+は参考文献中のフィールド
+.B D
+の年の部分に曖昧さを取り除く文字を追加します。
+.RE
+.TP
+.B default-database\*n
+デフォルトのデータベースを検索します。
+これはデフォルトの動作であり、このコマンドの否定バージョンが有用です。
+.B refer
+は検索を行なう必要が最初に出てきた場合、デフォルトのデータベースを
+検索するべきかどうかを決定します。
+そのため
+.B no-default-database
+コマンドを有効とするためには、それ以前に指定しておく必要があります。
+.TP
+.BI discard\*n\ fields
+参考文献が読み込まれた時、
+.I fields
+を無効とします。
+.I fields
+の文字列の定義は出力されません。
+初期状態では
+.I fields
+は
+.B XYZ
+となっています。
+.TP
+.BI et-al\*n\ string\ m\ n
+ラベル式における式
+.B @
+の評価での
+.B
+et al
+の使い方を制御します。
+著者のシーケンスを明確にするために必要な著者の数を
+.I u
+、著者の合計が
+.I t
+とすると、最後の
+.IR t \|\-\| u
+の著者が
+.I string
+によって置換され、
+.IR t \|\-\| u
+が
+.I m
+より小さくなく、
+.I t
+が
+.I n
+より小さくないようになります。
+デフォルトでは
+.RS
+.IP
+.B
+et-al " et al" 2 3
+.LP
+となります。
+.RE
+.TP
+.BI include\ filename
+.I filename
+をインクルードし、その内容をコマンドとして解釈します。
+.TP
+.BI join-authors\ string1\ string2\ string3
+これはどのように作者を連結するかを指定します。
+ちょうど 2 人の作者がある場合、
+.I string1
+によって連結されます。
+2 人より多い作者がある場合、最後の 2 人を除いた作者は
+.I string2
+で連結され、最後の 2 人の作者は
+.I string3
+で連結されます。
+もし
+.I string3
+が省略されると、デフォルトは
+.I string1
+となります。
+もし
+.I string2
+も省略されると、デフォルトは
+.I string1
+となります。
+例えば、
+.RS
+.IP
+.B
+join-authors " and " ", " ", and "
+.LP
+は作者の連結をデフォルトの方法に戻します。
+.RE
+.TP
+.B label-in-reference\*n
+参考文献を出力する時に、文字列
+.B [F
+を参考文献のラベルに定義します。
+これはデフォルトの動作です。このコマンドの否定バージョンが有用です。
+.TP
+.B label-in-text\*n
+各参考文献においてテキスト中のラベルを出力します。
+ラベルは
+.B bracket-label
+コマンドに記述されているようにそれを囲むテキストと分離されます。
+これはデフォルトの動作です。このコマンドの否定バージョンが有用です。
+.TP
+.BI label\ string
+.I string
+はどのように各参考文献にラベルをつけるかを記述するラベル式となります。
+.TP
+.BI separate-label-second-parts\ string
+2つの部分からなるラベルをマージする時、2 番目のラベルの 2 番目の部分を
+.I string
+で最初のラベルと分離します。
+ラベル式については
+.B <>
+のラベル式の説明を参照して下さい。
+.TP
+.B move-punctuation\*n
+テキストにおいてラベルの後の行末の句読点を移動します。
+ラベルに肩文字の数字を使っていなければ、このコマンドを使うといいでしょ
+う。
+.TP
+.BI reverse\*n\ string
+名前が
+.I string
+中にあるフィールドを逆にします。
+各フィールド名の後にはいくつのフィールドが逆にされるかを示す数が指定さ
+れます。
+フィールドにこの数が指定されなければ、そのフィールドは全て逆になります。
+.TP
+.BI search-ignore\*n\ fields
+インデックスが存在しないデータベースでキーを検索している際に、
+.I fields
+の内容を無視します。
+初期状態ではフィールド
+.B XYZ
+が無視されます。
+.TP
+.BI search-truncate\*n\ n
+キーの最初の
+.I n
+文字が与えられることのみを要求します。
+実際にデータベース中で与えられたキーを検索する時には
+.I n
+とキーの長さの大きい方の長さに切られます。
+初期状態では
+.I n
+は 6 です。
+.TP
+.BI short-label\*n\ string
+.I string
+はラベルのもう 1 つの (通常は短縮形の) スタイルを指定するラベル式です。
+これは
+.B #
+フラグが引用で与えられている時に使われます。
+author-date スタイルのラベルを使う時、作者は文脈から明らかに識別できる
+ことがあり、ラベルでは作者を省略したいことがあります。
+通常、
+.B short-label
+コマンドは日付と (多分) 明確な文字のみを含むラベルを指定するために使用
+されます。
+.TP
+.BI sort\*n\ string
+.B string
+に従って参考文献をソートします。
+参考文献は自動的に累積されます。
+.I string
+はフィールド名のリストであり、各フィールド名にはソートに使われる名前に
+いくつのフィールドがあるかを示す数字が続きます。
+.B +
+を名前のついた全てのフィールドを使うことを示すために使うことができます。
+また、
+.B .
+を参考文献が (一時的な) ラベルを使ってソートされることを示すために使う
+こともできます。
+(
+.B
+ラベル式
+のセクションで一時的なラベルの概念について説明しています。)
+.TP
+.B sort-adjacent-labels\*n
+参考文献リスト中での位置に従って、テキスト中の隣接しているラベルをソー
+トします。
+このコマンドは通常は
+.B abbreviate-label-ranges
+コマンドが与えられている時か、ラベル式に
+.B <>
+式が含まれている時に使用するべきです。
+これは参考文献が累積されていないと影響がありません。
+.SS ラベル式
+.LP
+ラベル式は通常もしくは一時的に評価することができます。
+通常評価の結果は出力に使われます。
+一時的評価の結果は
+.I
+一時的ラベル
+と呼ばれ、通常評価でラベルを明確にする必要がある情報を集めるために使わ
+れます。
+.B date-as-label
+と
+.B short-label
+コマンドで指定されるラベル式は一時的には評価されません。
+通常評価と一時的評価は
+.B @
+と
+.B *
+と
+.B %
+の式を除いた全てのタイプの式で同じです。
+以下の説明は特に指定された場合を除き通常評価に適用されます。
+.TP
+.I field
+.TQ
+.I field\ n
+.I field
+の
+.I n
+番めの部分です。
+.I n
+が省略された場合はデフォルトは 1 となります。
+.TP
+.BI ' string '
+.I string
+中の文字は文字通り解釈されます。
+.TP
+.B @
+全ての作者を
+.B join-authors
+コマンドで指定された通りに連結します。
+各々の作者名の全体が使用されます。
+しかし参考文献が作者でソートされると
+(すなわち
+.B A+
+で始まるソート仕様)、
+作者のラストネームが代わりに使用され (これは曖昧さを持ち込みません)、
+また作者の頭文字のシーケンスが全ての作者の代わりに使用されます (これも
+曖昧さを持ち込みません)。
+いくつかの参考文献の
+.IR i 番目
+の作者にラストネームだけを使うのは他に参考文献がある時には曖昧であると
+考えられます。すなわち参考文献の最初の
+.IR i \|-\|1
+人の作者が同じで、
+.IR i 番目
+の作者は同じでないが、
+.IR i 番目
+の作者のラストネームが同じであるような場合です。
+いくつかの参考文献の作者のシーケンスの適切な頭文字のサブシーケンスは、
+適切な頭文字のサブシーケンスとしてのサブシーケンスをもつ作者の別のシー
+ケンスをとる参考文献がある場合には、曖昧であると考えられます。
+作者の頭文字のサブシーケンスが使われる場合、残りの作者は
+.B et-al
+コマンドで指定された文字列で置き換えられます。
+このコマンドは頭文字のシーケンスを使うことができる以前に満たされる追加
+の要求も指定することができます。
+.B @
+は一時的に作者の正式の表現に評価され、ソートのために同等かどうかを比較
+する作者は同じ表現となります。
+.TP
+.BI % n
+.TQ
+.B %a
+.TQ
+.B %A
+.TQ
+.B %i
+.TQ
+.B %I
+参考文献のシリアル番号は
+.B %
+が続く文字に従ってフォーマットされます。
+参考文献のシリアル番号はこの参考文献として同じ一時的ラベルをもつ先に現
+れた参考文献の番号に 1 を加えたものとなります。
+これらの式は一時的に空の文字列に評価されます。
+.TP
+.IB expr *
+この参考文献としての同じ一時的ラベルを持つもう 1 つの参考文献がある場合、
+空の文字列でなければ
+.I expr
+となります。
+これは一時的に評価され、空の文字列になります。
+.TP
+.IB expr + n
+.TQ
+.IB expr \- n
+.I expr
+の最初
+.RB ( + )
+または末尾
+.RB ( \- )
+の
+.I n
+文字の大文字か小文字か数字です。
+troff の (
+.B \e('a
+のような)
+特別文字は 1 文字としてカウントされます。
+アクセント文字列は保持されますが、合計にはカウントされません。
+.TP
+.IB expr .l
+.I expr
+を小文字に変換したものです。
+.TP
+.IB expr .u
+.I expr
+を大文字に変換したものです。
+.TP
+.IB expr .c
+.I expr
+を大文字とそれに続く小文字に変換したものです。
+.TP
+.IB expr .r
+.I expr
+をラストネームが最初に来るように逆にしたものです。
+.TP
+.IB expr .a
+ファーストネームが略称になった
+.I expr
+です。
+.B abbreviate
+コマンドによって指定されたフィールドはラベルが評価される前に略称にされ
+ます。
+このため、
+.B .a
+は参考文献の中ではなくラベルの中でのみフィールドを略称にしたい時のみ有
+用です。
+.TP
+.IB expr .y
+.I expr
+の年の部分です。
+.TP
+.IB expr .+y
+.I expr
+の年の前の部分、もしくはそれが年を含んでいなければ
+.I expr
+の全体となります。
+.TP
+.IB expr .\-y
+.I expr
+の年の後の部分、もしくは
+.I expr
+が年を含んでいなければ空の文字列となります。
+.TP
+.IB expr .n
+.I expr
+のラストネームの部分となります。
+.TP
+.IB expr1 \(ti expr2
+.I expr1
+となります。ただし、
+.I expr1
+の最後の文字が
+.B \-
+である場合は
+.I expr2
+に置き換えられます。
+.TP
+.I expr1\ expr2
+.I expr1
+と
+.I expr2
+の結合です。
+.TP
+.IB expr1 | expr2
+.I expr1
+が空でなければ
+.I expr1
+となり、それ以外では
+.I expr2
+となります。
+.TP
+.IB expr1 & expr2
+.I expr1
+が空でなければ
+.I expr2
+となり、それ以外では空の文字列となります。
+.TP
+.IB expr1 ? expr2 : expr3
+.I expr1
+が空でなければ
+.I expr2
+となりそれ以外では
+.I expr3
+となります。
+.TP
+.BI < expr >
+このラベルには 2 つの部分があり、
+.I expr
+によって分離されています。
+2 つの部分からなり、最初の部分が同じである 2 つの連続したラベルは最初
+のラベルに次のラベルの 2 番目の部分を追加し、
+.B separate-label-second-parts
+コマンド (初期値ではスペースが続くコンマ) によって指定された文字列によっ
+て分離することによってマージされます。その結果のラベルもまた 2 つの部
+分からなるラベルとなり、最初の部分がマージ前の最初の部分となります。さ
+らに追加されるラベルはこれにマージされます。
+最初の部分が空であっても差し支えありません。これは
+.B short-label
+コマンドで使う式で使うことができます。
+.TP
+.BI ( expr )
+.I expr
+と同様です。
+グルーピングを行なうために使われます。
+.LP
+上述の式は順位 (高いものが最初) の順にリストされます。
+.B &
+と
+.B |
+は同じ優先順位となります。
+.SS マクロインターフェイス
+各参考文献はマクロ
+.B ]-
+の呼び出しで始まります。
+文字列
+.B [F
+は
+.B no-label-in-reference
+コマンドが与えられていないと、
+この参考文献のラベルになるように定義されます。
+その後一連の文字列の定義が続きます。
+定義は各フィールドに 1 つずつで、
+文字列
+.BI [ X
+はフィールド
+.I X
+に対応します。
+数値レジスタ
+.B [P
+はフィールド
+.B P
+がページの範囲を含んでいれば 1 にセットされます。
+.B [T
+と
+.B [A
+と
+.B [O
+の数値レジスタは、
+.B .?!
+の文字のいずれかで終るフィールド
+.B T
+と
+.B A
+と
+.B O
+に対応して 1 にセットされます。
+数値レジスタ
+.B [E
+は文字列
+.B [E
+が複数の名前を含んでいれば 1 にセットされます。
+参考文献にはマクロ
+.B ][
+への呼び出しが続きます。
+このマクロの最初の引数には参考文献のタイプを表す数を与えます。
+もし参考文献がフィールド
+.B J
+を含んでいると、タイプ 1 として分類されます。
+またフィールド
+.B B
+を含んでいるとタイプ 3、フィールド
+.B G
+か
+.B R
+を含んでいるとタイプ 4、フィールド
+.B I
+を含んでいるとタイプ 2となり、これら以外ではタイプ 0 となります。
+2 番目の引数はタイプ
+.BR other ,
+.BR journal-article ,
+.BR book ,
+.B article-in-book
+もしくは
+.B tech-report
+のシンボル名です。
+.B bibliography
+コマンドによって累積もしくは生成される参考文献のグループは
+.B ]<
+マクロの呼び出しに先行し、
+.B ]>
+マクロの呼び出しが続きます。
+.SH 関連ファイル
+.Tp \w'\fB/usr/share/dict/papers/Ind'u+2n
+.B /usr/share/dict/papers/Ind
+デフォルトのデータベースです。
+.TP
+.IB file .i
+インデックスファイルです。
+.SH "関連項目"
+.BR indxbib (1),
+.BR lookbib (1),
+.BR lkbib (1)
+.br
+.SH バグ
+ラベル表記法において
+.B <>
+表記は
+.BI . char
+表記の中では無視されます。
diff --git a/ja/man/man1/rev.1 b/ja/man/man1/rev.1
new file mode 100644
index 0000000000..73d25860e0
--- /dev/null
+++ b/ja/man/man1/rev.1
@@ -0,0 +1,47 @@
+.\" Copyright (c) 1985, 1992, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rev.1 8.1 (Berkeley) 6/9/93
+.\" jpman %Id: rev.1,v 1.2 1997/05/04 13:34:53 horikawa Stab %
+.\"
+.Dd June 9, 1993
+.Dt REV 1
+.Os
+.Sh 名称
+.Nm rev
+.Nd ファイルの各行を逆順にする
+.Sh 書式
+.Nm rev
+.Op Ar file ...
+.Sh 解説
+.Nm rev
+は、指定されたファイルの文字列を各行毎に、逆の順序で標準出力に出力します。
+ファイルが指定されなければ、標準入力から読み込みます。
diff --git a/ja/man/man1/rlog.1 b/ja/man/man1/rlog.1
new file mode 100644
index 0000000000..4f6e2ed633
--- /dev/null
+++ b/ja/man/man1/rlog.1
@@ -0,0 +1,309 @@
+.de Id
+.\" jpman %Id: rlog.1,v 1.2 1997/06/03 11:46:09 bobson Stab %
+.ds Rv \\$3
+.ds Dt \\$4
+..
+.Id %Id: rlog.1,v 1.4.2.1 1997/01/26 07:48:21 mpp Exp %
+.ds i \&\s-1ISO\s0
+.ds r \&\s-1RCS\s0
+.ds u \&\s-1UTC\s0
+.if n .ds - \%--
+.if t .ds - \(em
+.TH RLOG 1 \*(Dt GNU
+.SH 名称
+rlog \- RCS ファイルのログメッセージや、その他の関連情報を表示する
+.SH 書式
+.B rlog
+.RI [ " options " ] " file " .\|.\|.
+.SH 解説
+.B rlog
+は \*r ファイルに関する情報を表示します。
+.PP
+\*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、
+その他のファイル名はワークファイルであるとみなします。
+.BR ci (1)で説明しているように、ファイル名は RCS ファイルと
+ワークファイルのペアになっています。
+.PP
+.B rlog
+は、各 \*r ファイルの以下の情報を表示します: \*r ファイルのパス名、
+ワークファイルのパス名、ヘッド(幹で最新のリビジョン)、デフォルト枝、
+アクセスリスト、ロック状況、シンボル名、拡張子、総リビジョン数、
+指定されたリビジョンの数、内容記述。以上の情報に加え、新しいものから順に
+選択されたリビジョンのリストが表示されます。各リビジョンに関して、
+.B rlog は、
+リビジョン番号、作者、日時、状態、(直前のリビジョンから)追加/削除された行数、
+ロック者、ログメッセージを表示します。
+デフォルトでは、表示されるすべての時刻は Coordinated Universal Time (\*u)
+です ;
+これは
+.BR \-z
+オプションで書き換え可能です。
+オプションを指定しない場合、
+.B rlog
+は以上のすべての情報を表示します。
+以下のオプションにより表示する内容を限定することができます。
+.nr n \w'\f3\-V\fP\f2n\fP'+2n-1/1n
+.ds n \nn
+.if \n(.g .if r an-tag-sep .ds n \w'\f3\-V\fP\f2n\fP'u+\n[an-tag-sep]u
+.TP \*n
+.B \-L
+ロックされていない \*r ファイルを無視します。
+.B \-h
+、
+.B \-l
+、
+.B \-R
+オプションと組み合わせると便利です。
+.TP
+.B \-R
+\*r ファイル名のみを表示します。ワークファイルのパス名を \*r ファイル
+名に変換するのに便利です。
+.TP
+.BI \-v "[string]"
+ワーキングファイルの名前とデフォルト枝(の枝)の先端リビジョンだけを表示します。
+.I [string]
+で指定した文字列は出力行の先頭に出力されます。
+.TP
+.B \-h
+\*r ファイルのパス名、ワークファイルのパス名、ヘッド、デフォルト枝、ア
+クセスリスト、ロック者、シンボル名、拡張子を表示します。
+.TP
+.B \-t
+.BR \-h
+の情報に追加して内容記述を表示します。
+.TP
+.B \-N
+シンボル名を表示しません。
+.TP
+.B \-b
+デフォルト枝に関する情報を表示します。通常は、幹の最も大きな番号を持つ枝
+です。
+.TP
+.BI \-d "dates"
+セミコロンで区切られた、登録日時の範囲にあるリビジョンに関する情報を
+表示します。
+.IB d1 < d2
+または
+.IB d2 > d1
+なる形式の範囲は、日時
+.I d1
+から日時
+.I d2
+までの間 (d1とd2は除く) に登録されたリビジョンを指定します。
+.BI < d
+または
+.IB d >
+なる形式の範囲は、日時
+.IR d
+より前に登録されたすべてのリビジョンを指定します。
+.IB d <
+または
+.BI > d
+なる形式の範囲は日時
+.IR d
+より後を指定します。
+もし
+.B <
+または
+.B >
+に
+.B =
+が続いていれば、範囲は両端を含むようになります。
+.I d
+なる形式の範囲は日時
+.I d
+以前の最新のリビジョンを指定します。
+.I d
+、
+.I d1
+、
+.I d2
+は
+.BR co (1)
+に記述されている自由形式の日時です。
+通常
+.B <
+や
+.B >
+を使う場合にはクォートが必要です。要素の区切りがセミコロンであることに
+注意してください。
+.TP
+.BR \-l [\f2lockers\fP]
+ロックされているリビジョンに関する情報のみを表示します。コンマで区切られた
+ユーザ名のリスト
+.I lockers
+が指定された場合は、指定されたユーザがロックしたリビジョンに関する情報のみを
+表示します。例えば、
+.BI "rlog\ \-L\ \-R\ \-l" wft "\ RCS/*"
+はユーザ
+.I wft
+がロックしている \*r ファイル名を表示します。
+.TP
+.BR \-r [\f2revisions\fP]
+コンマで区切られたリビジョンのリスト
+.I revisions
+で指定されたリビジョンに関する情報のみを表示します。
+.IB rev1 : rev2
+の形式の範囲指定は、同一枝上の
+.I rev1
+から
+.I rev2
+までを、
+.BI : rev
+は枝上の最初のリビジョンからリビジョン
+.I rev
+までを、
+.IB rev :
+はリビジョン
+.I rev
+から枝上の最後のリビジョンまでを示します。引数に枝番号を指定した場合は、
+その枝上のすべてのリビジョンに関する情報が表示されます。
+枝番号による範囲指定は、範囲内の枝上のすべてのリビジョンを示します。
+.I revisions
+が省略された場合は、デフォルト枝(通常は幹)上の最新リビジョンの情報のみを
+表示します。
+.TP
+.BI \-s states
+状態が
+.I states
+であるリビジョンの情報のみを表示します。
+.I states
+はコンマで区切った状態名のリストです。
+.TP
+.BR \-w [\f2logins\fP]
+.I logins
+で指定したユーザが登録したリビジョンに関する情報のみを表示します。
+.I logins
+はコンマで区切ったユーザ名のリストです。
+.I logins
+が省略された場合は、
+.B rlog
+を起動したユーザ名が用いられます。
+.TP
+.B \-T
+このオプションの効果はありません ;
+ほかの \*r コマンドとの互換性を保つために存在しています。
+.TP
+.BI \-V
+\*r システムのバージョンを表示します。
+.TP
+.BI \-V n
+ログの生成時に、\*r システムのバージョン
+.I n
+のエミュレーションを行います。詳細は
+.BR co (1)
+を参照してください。
+.TP
+.BI \-x "suffixes"
+\*r ファイル拡張子を指定します。詳しくは
+.BR ci (1)
+を参照してください。
+.PP
+.B rlog
+は指定されたオプション
+.B \-d
+、
+.B \-l
+、
+.B \-s
+、
+.B \-w
+のすべてに適合し、かつ
+.B \-b
+、
+.B \-r
+の
+いずれかに適合したリビジョンに関する情報のみを表示します。
+.TP
+.BI \-z zone
+日時の出力形式を指定し、
+.BI \-d dates
+オプションの
+.I date
+に対するデフォルトのタイムゾーンを指定します。
+.I zone
+には何も指定しないか、数字の \*u を指定するか、ローカルタイムのための
+特別な文字列
+.B LT
+を指定します。
+デフォルトは何も指定しない空の
+.IR zone
+で、伝統的な \*u の \*r 形式ですが、タイムゾーンを示す表示はなく、
+日付の部分を分割するのにスラッシュを用います ;
+他では、\*i 形式でタイムゾーンの表示と一緒に時間を出力します。
+例えば、ローカルタイムが 太平洋標準時の 1990 年 1 月 11 日、午後 8 時で、
+\*u から 8 時間、西である(遅れている)場合、時間の出力は以下のようになります :
+.RS
+.LP
+.RS
+.nf
+.ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u
+.ne 4
+\f2option\fP \f2time output\fP
+\f3\-z\fP \f31990/01/12 04:00:00\fP \f2(default)\fP
+\f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP
+\f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP
+.ta 4n +4n +4n +4n
+.fi
+.RE
+.SH 例
+.LP
+.nf
+.B " rlog \-L \-R RCS/*"
+.LP
+ロックされたすべての \*r ファイル名を出力します。
+.LP
+.B " rlog \-L \-h RCS/*"
+.LP
+ロックされたすべての \*r ファイルのヘッダを出力します。
+.LP
+.B " rlog \-L \-l RCS/*"
+.LP
+ロックされたすべての \*r ファイルのヘッダとログメッセージを出力します。
+.LP
+.B " rlog RCS/*"
+.LP
+すべての \*r ファイルに関するすべての情報を出力します。
+.fi
+.LP
+.SH 環境変数
+.TP
+.B \s-1RCSINIT\s0
+コマンドライン引数に先立って指定すべきオプションを指定します。オプションは
+空白で区切って指定します。詳しくは
+.BR ci (1)
+を参照してください。
+.SH 診断
+すべての動作が成功した場合に終了ステータス 0 を返します。
+.SH 作者
+Author: Walter F. Tichy.
+.br
+Manual Page Revision: \*(Rv; Release Date: \*(Dt.
+.br
+Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
+.br
+Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert.
+.SH 関連項目
+ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1),
+rcsfile(5)
+.br
+Walter F. Tichy,
+\*r\*-A System for Version Control,
+.I "Software\*-Practice & Experience"
+.BR 15 ,
+7 (July 1985), 637-654.
+.SH バグ
+以前の版の
+.B rlog では
+.B \-r
+オプションにおけるリビジョンの区切りは
+.B \-
+でした。
+しかし、これはシンボリック名が
+.B \-
+を含んでいるときに混乱を生じます。
+従来の版との互換性のため、
+.B \-
+を用いた記法もサポートしますが、この記法を用いた場合は
+警告メッセージを表示します。
+.br
diff --git a/ja/man/man1/rlogin.1 b/ja/man/man1/rlogin.1
new file mode 100644
index 0000000000..a2ab517bf6
--- /dev/null
+++ b/ja/man/man1/rlogin.1
@@ -0,0 +1,198 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rlogin.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: rlogin.1,v 1.3 1997/08/20 12:42:10 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt RLOGIN 1
+.Os BSD 4.2
+.Sh 名称
+.Nm rlogin
+.Nd リモートログイン
+.Sh 書式
+.Nm
+.Op Fl 8DEKLdx
+.Op Fl e Ar char
+.Op Fl k Ar realm
+.Op Fl l Ar username
+.Ar host
+.Sh 解説
+.Nm
+は、リモートホスト
+.Ar host
+上で端末セッションを開始します。
+.Pp
+.Nm
+はまず最初に、以下に述べる Kerberos 認証メカニズムの使用を試みます。
+もしリモートホストが Kerberos をサポートしていなければ、
+標準的な Berkeley
+.Pa rhosts
+認証メカニズムが用いられます。
+オプションは以下の通りです:
+.Bl -tag -width flag
+.It Fl 8
+常に 8 ビットの入力データパスを有効にします。
+.Fl 8
+オプションを指定しなければ、
+リモート側のストップ/スタートキャラクタが ^S/^Q の場合を除き、
+パリティビットが取り除かれます。
+.It Fl D
+ソケットオプション TCP_NODELAY を有効にします。
+ネットワーク負荷を高めますが、対話の応答性が向上します。
+.It Fl E
+いかなるキャラクタもエスケープキャラクタとして認識されないようにします。
+.Fl 8
+オプションと組み合わせて用いると、
+完全に透過的なコネクションとなります。
+.It Fl K
+.Fl K
+全ての Kerberos 認証を無効にします。
+.It Fl L
+rlogin セッションを ``litout'' モードで動作させます(
+.Xr tty 4
+参照)。
+.It Fl d
+リモートホストとの通信に用いる TCP ソケットの
+ソケットデバッグ機能(
+.Xr setsockopt 2
+参照)を有効にします。
+.It Fl e
+エスケープキャラクタを指定します。デフォルトは ``~'' です。
+指定はリテラルキャラクタあるいは \ennn 形式の 8 進数で行います。
+.It Fl k
+.Xr krb_realmofhost 3
+で決定されるリモートホストの管理領域 (realm) ではなく、指定した管理領域
+.Ar realm
+におけるリモートホスト用チケットを得るように rlogin に要求します。
+./" UNIX MAGAZINE 95/4 および FreeBSD Handbook の日本語訳を参考に、
+./" realm -> 管理領域としています。
+./" Kazuo Horikawa <horikawa@jp.freebsd.org> 20 Aug 1997
+.It Fl l
+.Fl l
+オプションにてリモートログインに別の
+.Ar username
+を指定します。
+このオプションを指定しないと、ローカルなユーザ名を使用します。
+.It Fl x
+rlogin セッションを通してやりとりされる全てのデータを
+.Tn DES
+暗号化します。
+これは応答時間や
+.Tn CPU
+使用率に影響を及ぼしますが、
+より高いセキュリティが得られます。
+.El
+.Pp
+``<escape char>.'' という形式の行を入力すると、
+リモートホストから切断します。
+同様に ``<escape char>^Z'' という行を入力すると
+.Nm
+セッションを中断し、
+``<escape char><delayed-suspend char>'' を入力すると
+rlogin の送信部分のみ中断し、リモートシステムからの出力は有効に保ちます。
+デフォルトでは <escape char> はチルダ (``~'') であり、
+<delayed-suspend char> は普通 control-Y (``^Y'') です。
+.Pp
+エコーは全てリモートサイト側で行われ、(遅延を除き)
+.Nm
+は透過的です。
+^S/^Q によるフロー制御や割り込み発生時の入出力のフラッシュは
+正しく処理されます。
+.Sh KERBEROS 認証
+各ユーザはホームディレクトリの
+.Pa .klogin
+ファイル中に各個人の認証リストを持つことができます。
+このファイルの各行は
+.Ar principal.instance@realm
+という形式で Kerberos の principal 名を持っています。
+もし最初のユーザが
+.Pa .klogin
+中のある principal 名に認証されれば、
+そのアカウントでのアクセスが許可されます。
+もし
+.Pa .klogin
+ファイルが存在しなければ、次の principal
+.Ar accountname.@localrealm
+でのアクセスが許可されます。
+これ以外の場合、
+.Xr login 1
+の場合と同様、リモートマシンにおいてログインとパスワードのプロンプトが
+表示されます。
+いくつかのセキュリティ問題を回避するため、
+.Pa .klogin
+ファイルはリモートユーザの所有としなければなりません。
+.Pp
+Kerberos 認証に失敗すると、警告メッセージが表示され、
+標準的な Berkeley
+.Nm
+方式が用いられます。
+.Sh 環境変数
+.Nm
+では以下の環境変数が用いられます:
+.Bl -tag -width TERM
+.It Ev TERM
+ユーザの端末タイプを決定します。
+.El
+.Sh 関連項目
+.Xr login ,
+.Xr rsh 1 ,
+.Xr telnet 1 ,
+.Xr setsockopt 2 ,
+.Xr kerberos 3 ,
+.Xr krb_realmofhost 3 ,
+.Xr krb_sendauth 3 ,
+.Xr ruserok 3 ,
+.Xr tty 4 ,
+.Xr hosts 5 ,
+.Xr rlogind 8 ,
+.Xr rshd 8
+
+.Sh 関連ファイル
+.Bl -tag -width /etc/hosts -compact
+.It Pa /etc/hosts
+.It Pa /etc/hosts.equiv
+.It Pa $HOME/.rhosts
+.It Pa $HOME/.klogin
+.El
+
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.2
+から登場しました。
+.Sh バグ
+.Nm rlogin
+は近い将来
+.Xr telnet 1
+に置き換えられるでしょう。
+.Pp
+より多くの環境が引き継がれるべきです。
diff --git a/ja/man/man1/rm.1 b/ja/man/man1/rm.1
new file mode 100644
index 0000000000..f5ca5a69a4
--- /dev/null
+++ b/ja/man/man1/rm.1
@@ -0,0 +1,163 @@
+.\" %NetBSD: rm.1,v 1.7 1995/03/21 09:08:22 cgd Exp %
+.\"
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rm.1 8.2 (Berkeley) 4/18/94
+.\" %Id: rm.1,v 1.4.2.2 1997/04/09 05:05:46 mpp Exp %
+.\" jpman %Id: rm.1,v 1.3 1997/05/19 16:49:44 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt RM 1
+.Os
+.Sh 名称
+.Nm rm
+.Nd ディレクトリエントリの削除
+.Sh 書式
+.Nm rm
+.Op Fl f | Fl i
+.Op Fl dPRr
+.Ar file ...
+.Sh 解説
+.Nm rm
+は、
+コマンドラインから指定された非ディレクトリタイプのファイルを削除します。
+指定されたファイルに書き込みパーミッションがなく、
+標準入力がターミナルだった場合、
+削除を実行してよいかどうかの確認を(標準エラー出力を使って)求めます。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width flag
+.It Fl d
+ディレクトリも、他のタイプのファイルと同様に削除します。本オプション
+なしに file としてディレクトリを指定した場合、エラーになります。
+.It Fl f
+ファイルのパーミッションに関わらす、確認せずにファイルの
+削除を行います。
+ファイルが存在しない場合にもエラーメッセージは表示せず、終了ステータス
+もエラーを返しません。
+.Fl f
+オプション以前に書かれた
+.Fl i
+オプションを無視します。
+.It Fl i
+ファイルのパーミッションや標準入力がターミナルであるかどうかに関わらず、
+指定された各ファイルを削除する前に、確認を求めるようになります。
+.Fl i
+オプション以前に書かれた
+.Fl f
+オプションを無視します。
+.It Fl P
+ファイルを削除する前に上書きします。まず0xffのバイトパターンで、次に
+0x00で、そして最後にもう一度0xffで上書きし、削除します。
+.It Fl R
+引数 file として指定したディレクトリを再帰的に削除します。
+.Fl R
+オプションは、暗黙のうちに
+.Fl d
+オプションが指定されたものとします。
+.Fl i
+オプションが指定されているときには、最初にディレクトリを
+削除する/しないの確認が求められ、さらに奥のディレクトリについても
+各ディレクトリの中身の削除に移る前に確認が求められます。
+確認に対して削除すると答えなかった場合には、それ以下のディレクトリは
+スキップされます。
+.Pp
+.It Fl r
+オプションは
+.Fl R
+と同じです。
+.El
+.Pp
+.Nm rm
+は、シンボリックリンクを削除するときリンクは削除しますが、
+リンクが参照しているファイルは削除しません。
+.Pp
+ファイル``.''と``..''を削除しようとするとエラーになります。
+.Pp
+指定したファイルをすべて削除した場合か、
+.Fl f
+オプションが指定され、存在するファイルがすべて削除された場合に 0 を返します。
+エラーが起きた場合は 1 以上の値を返します。
+.Sh 注釈
+.Nm rm
+は引数をパースするために
+.Xr getopt 3
+を使用します。getopt は
+.Sq Li --
+引数を受け付けます。これはフラグオプションの読み込みを終了させます。
+それゆえ、ダッシュ
+.Sq Li -
+で始まるファイルを削除できます。
+例えば:
+.Dl $ rm -- -filename
+絶対もしくは相対参照を用いることで同様の効果が得られます。
+例えば:
+.Dl rm /home/user/-filename
+.Dl rm ./-filename
+これはコマンドライン引数を
+.Xr getopt 3
+で処理しないコマンドにおいて有効です。
+.Sh 関連項目
+.Xr rmdir 1 ,
+.Xr unlink 2 ,
+.Xr fts 3 ,
+.Xr getopt 3 ,
+.Xr symlink 7
+.Sh バグ
+.Fl P
+オプションではファイルシステムが固定ブロック長であると仮定されます。
+UFS は固定長ファイルシステムですが、LFS はそうではありません。
+さらに、通常ファイルは上書きされますが、それ以外の種類のファイルは
+上書きされません。
+.Sh 可搬性
+.Nm rm
+は、
+.Fl f
+オプションが存在しないファイルに対するエラーのみをマスクする点が伝統的
+実装と異なります。
+.Pp
+また、伝統的
+.Bx
+実装では標準エラー出力ではなく標準出力に確認が出力されていました。
+.Sh 規格
+.Nm rm
+コマンドは
+.St -p1003.2
+互換です。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/rmdir.1 b/ja/man/man1/rmdir.1
new file mode 100644
index 0000000000..c303e059cb
--- /dev/null
+++ b/ja/man/man1/rmdir.1
@@ -0,0 +1,98 @@
+.\" %NetBSD: rmdir.1,v 1.9 1995/03/21 09:08:29 cgd Exp %
+.\"
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rmdir.1 8.1 (Berkeley) 5/31/93
+.\" %Id: rmdir.1,v 1.3.2.1 1997/08/25 08:43:05 jkh Exp %
+.\" jpman %Id: rmdir.1,v 1.2 1997/03/29 12:05:03 horikawa Stab %
+.\"
+.Dd May 31, 1993
+.Dt RMDIR 1
+.Os
+.Sh 名称
+.Nm rmdir
+.Nd ディレクトリの削除
+.Sh 書式
+.Nm rmdir
+.Op Fl p
+.Ar directory ...
+.Sh 解説
+.Nm rmdir
+は、
+.Ar directory
+で指定したディレクトリが空の場合、削除を行います。
+.Pp
+.Nm rmdir
+は、
+.Ar directory
+で指定した順番にディレクトリの削除を試みます。
+親ディレクトリとそのサブディレクトリを削除する場合は、先にサブディ
+レクトリが削除されるようにしなければなりません。
+.Nm rmdir
+が親ディレクトリを削除する時に、
+当該親ディレクトリが空となっている必要があるからです。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl p
+各
+.Ar directory
+引数を構成する各ディレクトリに関しても、
+そのディレクトリが空の場合、削除を行います。
+削除は最後の要素から行います。(
+.Xr rm 1
+の完全な無差別再帰削除を参照して下さい。)
+.El
+.Pp
+.Nm rmdir
+は以下のいずれかの値を返します:
+.Bl -tag -width Ds
+.It Li \&0
+引数で指定されるディレクトリは空であり、削除に成功しました。
+.It Li \&>\&0
+エラーが発生しました。
+.El
+.Sh 関連項目
+.Xr rm 1
+.Sh 規格
+.Nm rmdir
+コマンドは
+.St -p1003.2
+互換です。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/rpcgen.1 b/ja/man/man1/rpcgen.1
new file mode 100644
index 0000000000..e1acf57fe6
--- /dev/null
+++ b/ja/man/man1/rpcgen.1
@@ -0,0 +1,496 @@
+.\" @(#)rpcgen.1 1.35 93/06/02 SMI
+'\"macro stdmacro
+.\" Copyright 1985-1993 Sun Microsystems, Inc.
+.\" jpman %Id: rpcgen.1,v 1.2 1997/06/08 13:49:19 jsakai Stab %
+.nr X
+.TH rpcgen 1 "28 Mar 1993"
+.SH 名称
+rpcgen \- RPC プロトコルコンパイラ
+.SH 書式
+.BI rpcgen " infile"
+.LP
+.B rpcgen
+[
+.B \-a
+] [
+.B \-b
+] [
+.B \-C
+] [
+.BI \-D name
+[ =
+.I value
+] ]
+.if n .ti +5n
+[
+.BI \-i " size"
+]
+[
+.B \-I
+[
+.BI \-K " seconds"
+] ]
+[
+.B \-L
+] [
+.B \-M
+]
+.if n .ti +5n
+.if t .ti +5n
+[
+.B \-N
+]
+[
+.B \-T
+] [
+.BI \-Y " pathname"
+]
+.I infile
+.LP
+.B rpcgen
+[
+.B \-c
+|
+.B \-h
+|
+.B \-l
+|
+.B \-m
+|
+.B \-t
+|
+.B \-Sc
+|
+.B \-Ss
+|
+.B \-Sm
+]
+.if n .ti +5n
+[
+.BI \-o " outfile"
+] [
+.I infile
+]
+.LP
+.B rpcgen
+[
+.BI \-s " nettype"
+] [
+.BI \-o " outfile"
+] [
+.I infile
+]
+.LP
+.B rpcgen
+[
+.BI \-n " netid"
+] [
+.BI \-o " outfile"
+] [
+.I infile
+]
+.\" .SH AVAILABILITY
+.\" .LP
+.\" SUNWcsu
+.SH 解説
+.IX "rpcgen" "" "\fLrpcgen\fP \(em RPC protocol compiler"
+.IX "RPC" "protocol compiler" "" "protocol compiler \(em \fLrpcgen\fP"
+.IX "RPC Language" "RPC protocol compiler" "" "RPC protocol compiler \(em \fLrpcgen\fP"
+.IX "compilers" "RPC protocol compiler" "" "RPC protocol compiler \(em \fLrpcgen\fP"
+.IX "programming tools" "RPC protocol compiler" "" "RPC protocol compiler \(em \fLrpcgen\fP"
+.LP
+\f3rpcgen\f1
+は、ある RPC プロトコルを実現する C コードを生成するツールです。
+\f3rpcgen\f1
+への入力は、RPC 言語 (リモートプロシージャコール言語) として知られる、
+C 言語に類似した言語です。
+.LP
+\f3rpcgen\f1
+は通常第 1 の書式で使用され、
+1 つの入力ファイルから 4 つの出力ファイルを生成します。
+.\" ↑原文では three output files となっているが、すぐ後ろで 4 つ列挙している。
+.\" 原文の誤りと思われる。 97/06/08 J.Sakai
+入力ファイル
+\f2infile\f1
+が
+\f3proto.x\f1
+であるとすると、
+\f3rpcgen\f1
+はヘッダファイル
+\f3proto.h\f1、
+XDR ルーチンファイル
+\f3proto_xdr.c\f1、
+、サーバ側スタブ
+\f3proto_svc.c\f1、
+クライアント側スタブ
+\f3proto_clnt.c\f1
+を作成します。
+\f3\-T\f1
+オプションを指定すると、上記に加え、
+RPC ディスパッチテーブル
+\f3proto_tbl.i\f1
+も作成します。
+.LP
+.B rpcgen
+はまた、特定アプリケーション向けにカスタマイズ可能な
+クライアントおよびサーバのサンプルファイルも生成できます。
+オプション
+\f3\-Sc\f1,
+\f3\-Ss\f1,
+\f3\-Sm\f1
+によってそれぞれ、サンプルのクライアント、サーバ、makefile を生成します。
+オプション
+\f3\-a\f1
+を指定するとサンプルを含め全てのファイルを生成します。
+入力ファイルが \f3proto.x\f1 の場合、
+クライアント側サンプルファイルは \f3proto_client.c\f1 に、
+サーバ側サンプルファイルは \f3proto_server.c\f1 に、
+そしてサンプル makefile は \f3makefile.proto\f1 に書き出されます。
+.LP
+生成されたサーバは、ポートモニタ (例えば \f3inetd\f1) で起動することも、
+それ自身で起動することもできます。
+ポートモニタから起動される場合、
+ファイルディスクリプタ \f30\fP を引き渡すトランスポートのためだけの
+サーバを生成します。
+トランスポートの名前は環境変数 \f3PM_TRANSPORT\f1 をセットすることで
+指定しなければなりません。
+\f3rpcgen\f1 で作成されたサーバが実行されると、
+サーバは環境変数 \f3NETPATH\f1 で指定された全トランスポート用に
+サーバハンドルを作成します。
+\f3NETPATH\f1 が指定されていない場合は、ファイル \f3/etc/netconfig\f1 に
+記述されている全ての可視トランスポート用にサーバハンドルを作成します。
+注意:
+トランスポートはコンパイル時ではなく実行時に選択されます。
+サーバが自分で開始すると、
+デフォルトでは自動的にバックグラウンド実行に移ります。
+\f3RPC_SVC_FG\f1 を定義することで、
+サーバをフォアグラウンドで実行させることもできます。
+.LP
+第二の書式は、更に洗練された RPC サーバを生成する特別な機能をもちます。
+その特別な機能として、
+ユーザが定義した \f3#defines\f1 と RPC ディスパッチテーブル
+のサポートがあります。
+RPC ディスパッチテーブルのエントリには以下のものがあります:
+.RS
+.PD 0
+.TP 3
+\(bu
+そのプロシージャに対応するサービスルーチンへのポインタ
+.TP
+\(bu
+入出力引数へのポインタ
+.TP
+\(bu
+これらのルーチンのサイズ
+.PD
+.RE
+サーバはディスパッチテーブルを用いて認証チェックを行い、
+それからサービスルーチンを実行します。
+クライアントライブラリはそれを用いて、
+記憶領域管理や XDR データ変換の詳細に対処します。
+.LP
+上に示した他の 3 つの書式は、出力ファイルの全てではなく、
+そのうちの特定のものだけを生成したい場合に用いられます。
+.B rpcgen
+の使用例については以下の
+.SM EXAMPLES
+セクションを参照して下さい。
+\f3\-s\f1 オプション付きで実行されると、
+\f3rpcgen\f1 は特定のトランスポートクラス用のサーバを生成します。
+\f3\-n\f1 オプション付きで実行されると、
+\f3rpcgen\f1 は \f2netid\f1 で指定されたトランスポート用サーバを生成します。
+\f2infile\f1
+が指定されない場合、
+\f3rpcgen\f1 は標準入力から入力を受け付けます。
+.LP
+入力ファイルは、実際に \f3rpcgen\f1 に処理される前に、
+C プリプロセッサ \f3cc \-E\f1 で処理されます。
+\f3rpcgen\f1 は、出力ファイルの各タイプ毎に
+\f3rpcgen\f1 プログラマ向けの特別なプリプロセッサシンボルを定義します。
+.LP
+.PD 0
+.RS
+.TP 12
+\f3RPC_HDR\f1
+ヘッダをコンパイルする際に定義されます
+.TP
+\f3RPC_XDR\f1
+XDR ルーチンをコンパイルする際に定義されます
+.TP
+\f3RPC_SVC\f1
+サーバ側スタブをコンパイルする際に定義されます
+.TP
+\f3RPC_CLNT\f1
+クライアント側スタブをコンパイルする際に定義されます
+.TP
+\f3RPC_TBL\f1
+RPC ディスパッチテーブルをコンパイルする際に定義されます
+.RE
+.PD
+.LP
+``\f3%\f1'' で始まる行は全て、\f3rpcgen\f1 に解釈されることなく、
+出力ファイルに直接引き継がれます。
+C プリプロセッサのパス名を指定するには \f3\-Y\f1 フラグを使用して下さい。
+.LP
+\f2infile\f1 で参照される全てのデータ方に対し、
+\f3rpcgen\f1 は、そのデータ型名の前に \f3xdr_\f1 を付与した名前の
+ルーチンが存在することを仮定します。
+このルーチンが RPC/XDR ライブラリ中に存在しない場合は、
+それを提供しなければなりません。
+未定義データ型を提供することで XDR ルーチンをカスタマイズすることが可能です。
+.br
+.ne 10
+.SH オプション
+.TP 15
+\f3\-a\f1
+サンプルファイルを含め、全てのファイルを生成します。
+.TP
+\f3\-b\f1
+従来互換モード。
+以前のバージョンの OS のために、トランスポート固有の RPC コードを生成します。
+.IP
+注: FreeBSD ではこの互換フラグはデフォルトで有効になっています。
+FreeBSD は以前の ONC RPC ライブラリのみサポートしているからです。
+.TP
+\f3\-c\f1
+XDR ルーチンをコンパイル出力します。
+.TP
+\f3\-C\f1
+.SM ANSI C
+コンパイラで使用できるヘッダおよびスタブファイルを生成します。
+ここで生成したヘッダファイルは C++ プログラムでも使用できます。
+.TP
+\f3\-D\f2name\f3[=\f2value\f3]\f1
+シンボル \f2name\f1 を定義します。
+ソース中の \f3#define\f1 指示行と等価です。
+\f2value\f1 が指定されない場合、
+\f2value\f1 は \f31\f1 と定義されます。
+このオプションは複数回の指定が可能です。
+.TP
+\f3\-h\f1
+\f3C\f1 のデータ定義 (ヘッダファイル) をコンパイル出力します。
+同時に \f3\-T\f1 オプションを指定することで、
+RPC ディスパッチテーブルをサポートするヘッダファイルを生成できます。
+.TP
+\f3\-i \f2size\f1
+インラインコードを生成し始めるサイズを指定します。
+最適化を行う際に用いられます。デフォルト値は 5 です。
+.IP
+注: FreeBSD プラットホームでの以前の
+.B rpcgen
+と互換性を保つため、デフォルト値は実際には 0 (つまり、
+デフォルトではインラインコードは生成しない) となっています。
+このデフォルト値を上書きするには明示的にゼロ以外の値を
+指定しなければなりません。
+.TP
+\f3\-I\f1
+サーバ側スタブにおける
+.BR inetd (8)
+サポートコードを生成します。
+このようにして生成したサーバは、単独で起動することも、
+\f3inetd\f1 から起動することもできます。
+単独で起動した場合、デフォルトでは自らバックグラウンド動作に移ります。
+特殊シンボル \f3RPC_SVC_FG\f1 を定義するか、
+単に \f3\-I\f1 オプションなしでコンパイルすると、
+サーバプロセスはフォアグラウンドで動作します。
+.br
+.ne 5
+.IP
+クライアントからの未処理リクエストがなければ、
+\f3inetd\f1 サーバは 120 秒 (デフォルト値) 経過の後、終了します。
+このデフォルト値は
+.B \-K
+オプションにより変更できます。
+\f3inetd\f1 サーバの全エラーメッセージは常に
+.BR syslog (3)
+によってログに残されます。
+.\" .IP
+.\" Note:
+.\" this option is supported for backward compatibility only.
+.\" By default,
+.\" .B rpcgen
+.\" generates servers that can be invoked through portmonitors.
+.TP
+.BI \-K " seconds"
+デフォルトでは、\f3rpcgen\fP を用いて作成され、ポートモニタから起動された
+サービスは、リクエストを処理した後 \f3120\fP 秒待って終了します。
+この時間は \f3\-K\fP オプションを用いて変更できます。
+リクエスト処理が済むと直ちに終了するようなサーバを生成するには、
+.BR "\-K\ 0"
+と指定します。また、決して終了しないサーバを生成するには、
+\f3\-K \-1\fP
+として下さい。
+.IP
+サーバをモニタする場合、
+あるサービスリクエストに対して
+.I 常に
+新しいプロセスを生成するようなポートモニタがあります。
+そのようなモニタを用いてサーバを使用することがわかっている場合は、
+サーバは処理完了後直ちに終了すべきです。
+そのようなサーバを生成するには、\f3rpcgen\fP は \f3\-K 0\fP オプション
+とともに使用すべきです。
+.TP
+\f3\-l\f1
+クライアント側スタブをコンパイル出力します。
+.TP
+.B \-L
+サーバがフォアグラウンドで起動された場合、
+サーバのエラーを記録するのに、標準エラー出力に出力する代わりに
+.BR syslog (3)
+を使用します。
+.TP
+\f3\-m\f1
+サーバ側スタブをコンパイル出力しますが、\(lqmain\(rq ルーチンは生成しません。
+コールバックルーチンのみを作成したり、初期化を行うために
+独自の \(lqmain\(rq ルーチンを必要とする場合に便利です。
+.TP
+\f3\-M\f1
+rpcgen が生成したコードとユーザが書いたコードの間で
+引数や結果を受渡しするために、
+マルチスレッド対応の (MT-safe な) スタブを生成します。
+ユーザプログラム中でスレッドを使用する場合に有用です。
+しかし関数
+.BR rpc_svc_calls (3N)
+はまだ MT-safe にはなっていません。
+つまり rpcgen が生成したサーバ側コードは MT-safe ではありません。
+.TP
+.B \-N
+プロシージャが複数の引数を持てるようにします。
+これはまた、C 言語に大変似たパラメータ渡し方法を用います。
+ですからリモートプロシージャにある引数を渡す場合、
+その引数へのポインタを渡す必要はなく、引数そのものを渡せます。
+この動作は
+.B rpcgen
+が生成したコードの以前の振る舞いとは異なっています。
+以前との互換性を保つため、このオプションはデフォルトでは有効ではありません。
+.TP
+\f3\-n \f2netid\f1
+\f2netid\f1 で指定したトランスポート用のサーバ側スタブをコンパイル出力します。
+netconfig データベースには \f2netid\f1 用エントリが存在しなければなりません。
+このオプションを複数回指定することで、
+複数のトランスポートに対してサービスするサーバを作成することができます。
+.TP
+\f3\-o \f2outfile\f1
+出力ファイル名を指定します。
+何も指定されなければ標準出力が用いられます
+(\f3\-c\f1,
+\f3\-h\f1,
+\f3\-l\f1,
+\f3\-m\f1,
+\f3\-n\f1,
+\f3\-s\f1,
+\f3\-Sc\f1,
+\f3\-Sm\f1,
+\f3\-Ss\f1,
+\f3\-t\f1
+モード時のみ)。
+.TP
+\f3\-s \f2nettype\f1
+クラス \f2nettype\f1 に属する全てのトランスポート用の
+サーバ側スタブをコンパイル出力します。
+サポートされているクラスは以下のものです:
+\f3netpath\f1,
+\f3visible\f1,
+\f3circuit_n\f1,
+\f3circuit_v\f1,
+\f3datagram_n\f1,
+\f3datagram_v\f1,
+\f3tcp\f1,
+\f3udp\f1
+(これらのクラスの意味については
+.BR rpc (3N)
+を参照して下さい)
+このオプションは複数回指定できます。
+注: トランスポートはコンパイル時ではなく実行時に選択されます。
+.TP
+\f3\-Sc\f1
+リモートプロシージャ呼び出しを用いるサンプルクライアントコードを生成します。
+.br
+.ne 5
+.TP
+\f3\-Sm\f1
+アプリケーションをコンパイルする際に用いるサンプル Makefile を生成します。
+.TP
+\f3\-Ss\f1
+リモートプロシージャ呼び出しを用いるサンプルサーバコードを生成します。
+.TP
+\f3\-t\f1
+RPC ディスパッチテーブルをコンパイル出力します。
+.TP
+\f3\-T\f1
+RPC ディスパッチテーブルをサポートするコードを生成します。
+.IP
+ある特定のタイプのファイルを生成するために、
+以下のオプション
+\f3\-c\f1,
+\f3\-h\f1,
+\f3\-l\f1,
+\f3\-m\f1,
+\f3\-s\f1,
+\f3\-Sc\f1,
+\f3\-Sm\f1,
+\f3\-Ss\f1,
+\f3\-t\f1
+は排他的に使用されます。
+他方、オプション
+\f3\-D\f1
+と
+\f3\-T\f1
+は大域的であり、他のオプションと組み合わせて使用できます。
+.TP
+\f3\-Y\f2 pathname\f1
+.B rpcgen
+が C プリプロセッサを探し始めるディレクトリ名を指定します。
+.br
+.ne 5
+.SH 使用例
+以下の例:
+.LP
+.RS
+.B example% rpcgen \-T prot.x
+.RE
+.LP
+は 5 種類のファイル
+.BR prot.h ,
+.BR prot_clnt.c ,
+.BR prot_svc.c ,
+.B prot_xdr.c ,
+.BR prot_tbl.i
+.LP
+の全てを生成します。
+次の例は C のデータ定義 (ヘッダ) を標準出力に出力します。
+.LP
+.RS
+.B example% rpcgen \-h prot.x
+.RE
+.LP
+.BR -DTEST
+のテストバージョンを作成するため、
+クラス
+.B datagram_n
+に属する全トランスポート用サーバ側スタブを標準出力に出力するには、
+.LP
+.RS
+.B example% rpcgen \-s datagram_n \-DTEST prot.x
+.RE
+.LP
+とします。
+\f2netid\f1
+\f3tcp\f1
+で指定されたトランスポート用のサーバ側スタブを作成するには
+.LP
+.RS
+.B example% rpcgen \-n tcp \-o prot_svc.c prot.x
+.RE
+とします。
+.SH 関連項目
+.BR cc (1),
+.BR inetd (8),
+.BR syslog (3),
+.BR rpc (3),
+.\" .BR rpc_svc_calls (3)
+.LP
+.TZ NETP
+マニュアルの
+.B rpcgen
+の章。
diff --git a/ja/man/man1/rs.1 b/ja/man/man1/rs.1
new file mode 100644
index 0000000000..f876654f12
--- /dev/null
+++ b/ja/man/man1/rs.1
@@ -0,0 +1,232 @@
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rs.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: rs.1,v 1.3 1997/08/20 12:43:50 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt RS 1
+.Os
+.Sh 名称
+.Nm rs
+.Nd データ配列の整形
+.Sh 書式
+.Nm rs
+.Oo
+.Fl Op csCS
+.Op Ar x
+.Op kKgGw
+.Op Ar N
+tTeEnyjhHmz
+.Oc
+.Op Ar rows Op Ar cols
+.Sh 解説
+.Nm
+は標準入力を読み込み、
+その各行が、配列を空白で区切った行ベクトルであるとして解釈し、
+その配列をオプションに従って変換し、
+結果を標準出力に書き出します。
+引数を指定しない場合、
+.Nm
+は、端末で見やすいように、入力をカラム形式 (columnar format) に変換します。
+.Pp
+入力配列の形状は、その行数と第 1 行目のカラム数から推測します。
+それが不都合なら、
+.Fl k
+オプションによって最初の数行を読み飛ばし、
+より好都合な行を用いることもできます。
+この他のオプションは、入力カラムの解釈を変更するものです。
+.Pp
+出力配列の形状は引数
+.Ar rows
+および
+.Ar cols
+の指定により変化します。これらの引数は正の整数です。
+それらの一方だけが正の整数である場合、
+.Nm
+はデータ全体と整合するもう一方の値を計算します。
+必要なら、オプションの説明に述べる方法で不足したデータが追加され、
+余剰データが削除されます。
+行と列の転置など、出力カラム形式を変更するオプションもあります。
+.Pp
+オプションを以下に示します。
+.Bl -tag -width indent
+.It Fl c Ns Ar x
+入力カラムの区切りを単一文字
+.Ar x
+とします。
+.Ar x
+を省略すると `^I' であると見なされます。
+.It Fl s Ns Ar x
+.Fl c
+と似ていますが、
+.Ar x
+中の最長文字列が区切りとされます。
+.It Fl C Ns Ar x
+出力カラムの区切りを単一文字
+.Ar x
+とします。
+.Ar x
+を省略すると `^I' であると見なされます。
+.It Fl S Ns Ar x
+.Fl C
+と似ていますが、文字列
+.Ar x
+が区切り文字となります。
+.It Fl t
+入力配列の列データを用いて出力配列の行を埋めます。
+つまり、
+.Ar rows
+および
+.Ar cols
+指定を優先しつつ、入力を転置します。
+.It Fl T
+.Ar rows
+および
+.Ar cols
+指定を無視し、入力の純粋な転置結果を出力します。
+.It Fl k Ns Ar N
+入力の最初の
+.Ar N
+行を無視します。
+.It Fl K Ns Ar N
+.Fl k
+と似ていますが、無視した各行を表示します。
+.It Fl g Ns Ar N
+溝 (gutter) の幅 (カラム間のスペース) を
+.Ar N
+とします。
+通常は 2 です。
+.It Fl G Ns Ar N
+溝 (gutter) の幅 (カラム間のスペース) として、
+最大カラム幅の
+.Ar N
+パーセント増しの値を用います。
+.It Fl e
+入力の各行を単一の配列エントリとみなします。
+.It Fl n
+第 1 行目より少ないエントリしかない行があれば、
+その行にヌルエントリを追加して埋め合わせます。
+通常は、エントリの不足分は入力の次の行からエントリをとって埋め合わせます。
+.It Fl y
+出力の寸法を充たすだけのエントリがない場合、
+入力を最初から繰り返し用いて出力を埋め合わせます。
+通常は、出力は空白で埋め合わされます。
+.It Fl h
+入力配列の形状を表示するだけで、処理は何も行ないません。
+形状とは単に、行数と、第 1 行目のエントリ数のことです。
+.It Fl H
+.Fl h
+と似ていますが、各行の長さも表示します。
+.It Fl j
+カラム内でエントリを右揃えにします。
+.It Fl w Ns Ar N
+画面表示幅を正整数
+.Ar N
+の値に設定します。
+通常は 80 です。
+.It Fl m
+出力配列の末尾から余分な区切り文字を削除しません。
+.It Fl z
+カラム幅を最も大きなエントリにあわせます。
+.El
+.Pp
+引数がない場合、
+.Nm
+は入力を転置し、
+無視しない最初の行が画面表示幅を越えていなければ、
+入力の各行毎に 1 つの配列エントリがあると仮定します。
+数値引数をとるオプションで数値指定が省略されていると、
+別途指示がない限り数値は 0 とみなされます。
+.Sh 使用例
+.Nm rs
+はいくつかのプログラム (例えば、
+.Xr spell ,
+.Xr du ,
+.Xr file ,
+.Xr look ,
+.Xr nm ,
+.Xr who ,
+.Xr wc 1 )
+のストリーム出力を、好都合な「ウィンドウ」形式に変換する
+フィルタとして利用できます。例えば
+.Bd -literal -offset indent
+who | rs
+.Ed
+.Pp
+これと同様な出力を行なうほとんどのプログラムに対して
+.Nm
+は十分な機能を提供しますが、
+.Xr ls 1
+には既にこの機能が組み込まれています。
+.Pp
+ストリーム入力をベクトルに変換して出力し、それをまた元に戻すには、
+次のようにします。
+.Bd -literal -offset indent
+rs 1 0 | rs 0 1
+.Ed
+.Pp
+各要素が 1 から 100 までの乱数から成る 10×10 行列とその転置行列を
+生成するには、以下のようにします。
+.Bd -literal -offset indent
+jot \-r 100 | rs 10 10 | tee array | rs \-T > tarray
+.Ed
+.Pp
+.Xr vi 1
+エディタにおいて、行あたり 9 要素の複数行ベクトルからなるファイルに対して
+挿入や削除を行ない、
+その後 9 カラム形式に整形するには、次のようにします。
+.Bd -literal -offset indent
+:1,$!rs 0 9
+.Ed
+.Pp
+最後に、
+あるデータベースを 4 行ずつのフィールドの最初の行でソートしたいなら、
+以下のようにしてみるとよいでしょう。
+.Bd -literal -offset indent
+rs \-eC 0 4 | sort | rs \-c 0 1
+.Ed
+.Sh 関連項目
+.Xr jot 1 ,
+.Xr pr 1 ,
+.Xr sort 1 ,
+.Xr vi 1
+.Sh バグ
+2 次元配列しか扱えません。
+
+現在のアルゴリズムはファイル全体をメモリに読み込むため、
+メモリに入りきらないファイルは整形できません。
+
+文字位置によってフィールドを定義することは、まだできません。
+
+カラムを並べ換えることも、まだ不可能です。
+
+オプションが多すぎます。
diff --git a/ja/man/man1/rsh.1 b/ja/man/man1/rsh.1
new file mode 100644
index 0000000000..e6d4927e78
--- /dev/null
+++ b/ja/man/man1/rsh.1
@@ -0,0 +1,190 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rsh.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: rsh.1,v 1.2 1997/05/13 00:56:14 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt RSH 1
+.Os BSD 4.2
+.Sh 名称
+.Nm rsh
+.Nd リモートマシン上でコマンドを実行する
+.Sh 書式
+.Nm
+.Op Fl Kdnx
+.Op Fl t Ar timeout
+.Op Fl k Ar realm
+.Op Fl l Ar username
+.Ar host
+.Op command
+.Sh 解説
+.Nm
+は
+.Ar host
+で指定したホスト上で、
+.Ar command
+で指定したコマンドを実行します。
+.Pp
+.Nm
+は、標準入力をリモートコマンドに対してコピーします。また、リモートコマンドの
+標準出力を、
+.Nm
+の標準出力に、リモートコマンドの標準エラー出力を、
+.Nm
+の標準エラー出力にコピーします。
+SIGINT, SIGQUIT, SIGTERM の各シグナルに関しては、
+リモートコマンドに対して通知されます。
+.Nm
+は、リモートコマンドが正常終了した場合には正常終了します。本コマンドは、
+以下のオプションが使用可能です。
+.Bl -tag -width flag
+.It Fl K
+Keroberos による全てのユーザ認証を行いません。
+.It Fl d
+.Nm
+は
+.Xr setsockopt 2
+を用いて、リモートホストとの通信に用いられる
+.Tn TCP
+ソケットのデバッグを有効にします。
+.It Fl k
+.Nm
+はリモートホストに対して
+.Xr krb_realmofhost 3
+によって定義されるリモートホストの realm の代わりに、指定した
+.Ar realm
+を使用して、リモートホストに対してのアクセス許可を得ます。
+.It Fl l
+デフォルトでは、ローカルユーザ名とリモートホスト上のユーザ名は同じで
+す。
+.Fl l
+オプションにより、リモートホスト上でのユーザ名を指定できます。
+ユーザ認証には
+.Xr rlogin 1
+と同様の仕組みにより Kerberos によるユーザ認証機構が使われます。
+.It Fl n
+.Nm
+の入力を、特殊デバイス
+.Pa /dev/null
+にします(
+.Sx バグ
+の項を参照してください)。
+.It Fl x
+すべてのデータ交換に
+.Tn DES
+による暗号化を有効にします。これを用いると
+レスポンスが著しく悪くなるかも知れません。
+.It Fl t
+.Fl t
+オプションは、秒で表現されるタイムアウトを指定します。この時間の間、
+データが送られも受け取りもされない場合、 rsh は終了します。
+.El
+.Pp
+.Ar command
+が指定されない場合には、ユーザは
+.Xr rlogin 1
+を用いてリモートホストにログインします。
+.Pp
+クォートされていないシェルのメタキャラクタについては、ローカルマシン上
+で解釈され、クォートされているメタキャラクタはリモートホスト上で解釈
+されます。例えば、
+.Pp
+.Dl rsh otherhost cat remotefile >> localfile
+.Pp
+については、リモートマシン上のファイル
+.Ar remotefile
+を、ローカルマシン上のファイル
+.Ar localfile
+に追加します。一方
+.Pp
+.Dl rsh otherhost cat remotefile \&">>\&" other_remotefile
+.Pp
+については、リモートマシン上の
+.Ar remotefile
+を
+.Ar other_remotefile
+に追加します。
+.\" .Pp
+.\" Many sites specify a large number of host names as commands in the
+.\" directory /usr/hosts.
+.\" If this directory is included in your search path, you can use the
+.\" shorthand ``host command'' for the longer form ``rsh host command''.
+.Sh 関連ファイル
+.Bl -tag -width /etc/hosts -compact
+.It Pa /etc/hosts
+.El
+.Sh 関連項目
+.Xr rlogin 1 ,
+.Xr setsockopt 2 ,
+.Xr kerberos 3 ,
+.Xr krb_realmofhost 3 ,
+.Xr krb_sendauth 3 ,
+.Xr rcmd 3 ,
+.Xr ruserok 3 ,
+.Xr hosts 5 ,
+.Xr rlogind 8 ,
+.Xr rshd 8
+.Sh 歴史
+The
+.Nm
+コマンドは
+.Bx 4.2
+から登場しました。
+.Sh バグ
+.Xr csh 1
+を用いて
+.Nm
+を標準入力からのリダイレクトなしにバックグラウンドで実行する場合、
+たとえリモートコマンドの入力がなくても(必ず)ブロックされるでしょう。
+リダイレクトで
+.Nm
+に入力を渡す必要がなければ、
+.Fl n
+オプションを用いてリモートコマンドの入力元を
+.Pa /dev/null
+に切替えてください。
+.Pp
+.Nm
+を用いて、
+.Xr rogue 6
+や
+.Xr vi 1
+のような会話的コマンドを実行することはできません
+代わりに
+.Xr rlogin 1
+を使用してください。
+.Pp
+SIGSTOP は、ローカルマシンの
+.Nm
+プロセスを停止させるだけです。これはおそらく良くない動作です.
+しかし、これを直すことは、現時点では困難です。ここでその理由を説明す
+るにはあまりに複雑なので、理由については割愛します。
diff --git a/ja/man/man1/rtld.1 b/ja/man/man1/rtld.1
new file mode 100644
index 0000000000..cfeffbf2c1
--- /dev/null
+++ b/ja/man/man1/rtld.1
@@ -0,0 +1,227 @@
+.\" %Id: rtld.1,v 1.6.2.2 1997/08/08 02:18:13 jdp Exp %
+.\"
+.\" Copyright (c) 1995 Paul Kranenburg
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgment:
+.\" This product includes software developed by Paul Kranenburg.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" translated to japanese by Mochida Shuji 1995/03/31
+.\" jpman %Id: rtld.1,v 1.3 1997/07/06 17:03:02 horikawa Stab %
+.Dd June 27, 1995
+.Dt RTLD 1
+.Os FreeBSD
+.Sh 名称
+.Nm ld.so
+.Nd 実行時リンクエディタ
+.Sh 解説
+.Nm
+は、実行時にシェアードオブジェクトをプロセスのアドレス空間へロードし、
+リンク編集する機能を提供する、自己完結・位置非依存のプログラムイメージです。
+動的リンクされたプログラム内のデータ構造
+.Po
+.Xr link 5
+参照
+.Pc
+から、どのシェアードライブラリが必要かを調べ、
+.Xr mmap 2
+システムコールを使って、それらを適当な仮想アドレスへロードします。
+.Pp
+全てのシェアードライブラリのロードが完了すると、次に
+.Nm
+はメインプログラムと、ロードされた全オブジェクトからの大域参照の解決を
+行います。初期化ルーチン呼び出しの仕組みが各オブジェクトの単位で提供されて
+おり、プログラムが実際に開始される前に、各シェアードオブジェクトに独自の
+セットアップを行わせることができます。このことは、静的なコンストラクタを
+含む C++ のライブラリに有用です。
+.Pp
+.Nm
+はそれ自体一つのシェアードオブジェクトであり、
+.Em crt0
+初期化モジュールによって最初にロードされます。
+.Xr a.out 5
+形式は実行中のプロセス内からファイルヘッダに容易にはアクセスできないので、
+.Em crt0
+は
+.Va _DYNAMIC
+という特殊なシンボルによって、プログラムが動的にリンクされているがどうかを
+判別します。たとえリンカ
+.Xr ld 1
+がこのシンボルを 0 以外の位置に再配置した場合、
+.Em crt0
+は
+.Nm
+による処置が必要と想定します
+.Po
+詳細は
+.Xr link 5
+を参照
+.Pc \&。
+.Em crt0
+はプログラムの
+.Fn main
+ルーチンが呼び出されるより前に
+.Nm
+のエントリ位置へ制御を移します。こうして、
+.Nm
+は動的プログラムがダイナミックライブラリ内のサービスを呼び出すより前に、
+リンク編集操作を完了します。
+.Pp
+要求されたシェアードオブジェクトをファイルシステムから迅速に配置するために、
+.Nm
+は
+.Dq hints
+ファイルを使用することがあります。このファイルは
+.Xr ldconfig 8
+ユーティリティで作成され、シェアードオブジェクトのフルパス指定が 3 つのタプル
+.Ao
+ライブラリ名, メジャーバージョン番号, マイナーバージョン番号
+.Ac
+でハッシュ化され格納されています。
+.Pp
+.Nm
+は、以下の種々の環境変数によって動作を変えることができます:
+.Pp
+.Bl -tag -width "LD_IGNORE_MISSING_OBJECTS"
+.It Ev LD_LIBRARY_PATH
+コロン区切りのディレクトリリストで、
+シェアードライブラリのデフォルト検索パスを上書きします。
+セットユーザ ID およびセットグループ ID されているプログラムに関しては
+無視されます。
+.It Ev LD_PRELOAD
+コロン区切りのシェアードライブラリのリストで、
+他のシェアードライブラリのリンク前にリンクされます。
+ディレクトリが指定されていない場合は、
+LD_LIBRARY_PATH で指定されるディレクトリをまず探し、
+次に組み込みの標準のディレクトリを探します。
+セットユーザ ID およびセットグループ ID されているプログラムに関しては
+無視されます。
+.It Ev LD_BIND_NOW
+空文字列以外に設定すると、
+.Nm
+はプログラム実行開始前に外部関数呼び出しをリロケートします。
+通常、関数呼び出しの結合は各関数の最初の呼び出しまで遅延されます。
+.Ev LD_BIND_NOW
+はプログラムのスタートアップ時間を増加させますが、
+実行中に予期せぬ未定義関数にでくわすことを防ぎます。
+.It Ev LD_WARN_NON_PURE_CODE
+空文字列以外に設定すると、リンク編集作業でロードされたオブジェクトの
+テキストセグメントの修正が必要になる度に警告を出します。
+これは通常、ライブラリの作成が正しくないということを示します。
+.It Ev LD_SUPPRESS_WARNINGS
+空文字列以外に設定すると、どんな種類の警告メッセージも出しません。
+通常は、適正なバージョンのライブラリが見つからなければ警告を出します。
+.It Ev LD_IGNORE_MISSING_OBJECTS
+空文字列以外に設定すると、要求された 1 つ以上のシェアードオブジェクト
+がロードできなくとも致命的な状態であるとは扱いません。
+ロードおよび実行は利用可能なものを使用して行います。
+環境変数
+.Ev LD_SUPPRESS_WARNINGS
+が空文字列以外に設定されている場合以外は、
+存在しないオブジェクトごとに警告を生成します。
+.Pp
+セットユーザ ID プログラムおよびセットグループ ID プログラム
+に関しては、無視されます。
+.Pp
+以下の条件が全て満される場合には、
+存在しないシェアードオブジェクトは無視されます:
+.Bl -bullet
+.It
+要求されているデータシンボルの定義を
+これらのシェアードオブジェクトが提供しない。
+.It
+これらのシェアードオブジェクトが定義する関数を
+プログラム実行中に呼出さない。
+.It
+環境変数
+.Ev LD_BIND_NOW
+が設定されていないか空文字列に設定されている。
+.El
+.It Ev LD_TRACE_LOADED_OBJECTS
+空文字列以外に設定すると、
+.Nm
+はシェアードライブラリをロードした後、
+全てのオブジェクトの絶対パスを含むサマリを標準出力に出力して終了します。
+.It Ev LD_TRACE_LOADED_OBJECTS_FMT1
+.It Ev LD_TRACE_LOADED_OBJECTS_FMT2
+設定した場合、
+.Xr printf 3
+風のフォーマット文字列を解釈して
+トレース出力のカスタマイズします。
+.Xr ldd 1
+の
+.Fl f
+オプションにて使用可能であり、
+.Xr ldd 1
+をより便利に使用することが出来ます。
+以下の変換を使用可能です:
+.Bl -tag -indent "LD_TRACE_LOADED_OBJECTS_FMT1 " -width "xxxx"
+.It \&%a
+メインプログラム名
+.Po
+.Dq __progname
+と同じ
+.Pc 。
+.It \&%A
+環境変数
+.Ev LD_TRACE_LOADED_OBJECTS_PROGNAME
+の値。
+.It \&%o
+ライブラリ名。
+.It \&%m
+ライブラリのメジャーバージョン番号。
+.It \&%n
+ライブラリのマイナバージョン番号。
+.It \&%p
+.Nm rtld
+のライブラリ検索規則にて決定されるフルパス名。
+.It \&%x
+ライブラリのロードアドレス。
+.El
+.Pp
+さらに、
+.Sy \en
+と
+.Sy \et
+とが解釈され、いつも通りの意味を持ちます。
+.\" .It Ev LD_NO_INTERN_SEARCH
+.\" 設定すると、
+.\" .Nm
+.\" は実行ファイル内に記録されている検索パスを無視します。
+.\" .It Ev LD_NOSTD_PATH
+.\" 設定すると、組み込みの標準検索パスを使用しません。
+.\" 標準と全く異なったファイルシステムレイアウトのシステムを
+.\" 使用する場合に便利です。
+.El
+.Pp
+.Sh 関連ファイル
+/var/run/ld.so.hints
+.Pp
+.Sh 関連項目
+.Xr ld 1 ,
+.Xr link 5 ,
+.Xr ldconfig 8
+.Sh 歴史
+採用している shared library モデルが最初に登場したのは SunOS 4.0 です。
diff --git a/ja/man/man1/rtprio.1 b/ja/man/man1/rtprio.1
new file mode 100644
index 0000000000..3ca7365579
--- /dev/null
+++ b/ja/man/man1/rtprio.1
@@ -0,0 +1,199 @@
+.\"
+.\" Copyright (c) 1994, Henrik Vestergaard Draboel
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Henrik Vestergaard Draboel.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: rtprio.1,v 1.6.2.3 1997/10/14 06:40:09 charnier Exp %
+.\" jpman %Id: rtprio.1,v 1.3 1997/09/23 16:41:42 horikawa Stab %
+.\"
+.Dd July 23, 1994
+.Dt RTPRIO 1
+.Os
+.Sh 名称
+.Nm rtprio ,
+.Nm idprio
+.Nd リアルタイム/アイドルタイムスケジューリング優先度の実行・確認・修正
+.Sh 書式
+.Nm [id|rt]prio
+.Nm [id|rt]prio
+.Ar [-]pid
+.Nm [id|rt]prio
+.Ar priority
+.Ar command
+.Op args
+.Nm [id|rt]prio
+.Ar priority
+.Ar -pid
+.Nm [id|rt]prio
+.Fl t
+.Ar command
+.Op args
+.Nm [id|rt]prio
+.Fl t
+.Ar -pid
+.Sh 解説
+.Nm
+はリアルタイムプロセススケジューリングに使用します。
+.Pp
+.Nm idprio
+はアイドルタイムプロセススケジューリングに使用し、
+.Nm
+と同じオプションにて使用します。
+.Pp
+リアルタイム優先度のプロセスは優先度低下対象とはならず、
+同じもしくはそれ以上のリアルタイム優先度のプロセスのみに横取りされます。
+.Pp
+アイドル優先度のプロセスは、
+実行可能な他のプロセスが存在せず、
+優先度が同じもしくはより高い実行可能なアイドル優先度プロセスが存在しない
+場合のみ実行します。
+.Pp
+.Nm
+と
+.Nm idprio
+を引数無しで実行すると、現在のプロセスのリアルタイム優先度を表示します。
+.Pp
+.Nm
+を引数 1 つと共に実行すると、指定した
+.Ar pid
+のリアルタイム優先度を返します。
+.Pp
+.Ar priority
+を指定すると、プロセスまたはプログラムをリアルタイム優先度にて実行します。
+.Fl t
+を指定すると、プロセスまたはプログラムを通常のプロセス
+(非リアルタイムプロセス)として実行します。
+.Pp
+.Ar -pid
+を指定すると、
+.Ar pid
+をプロセス識別子として持つプロセスを修正します。
+そうではなく、
+.Ar command
+を指定すると、プログラムを引数付で実行します。
+.Pp
+.Ar Priority
+は 0 から RTP_PRIO_MAX (通常 31) の整数値です。
+0 は最高の優先度です。
+.Pp
+.Ar pid
+に 0 を指定すると "現在のプロセス" を意味します。
+.Pp
+root のみがリアルタイム優先度を設定可能です。
+非 root プロセスはアイドル優先度を現在のプロセスに対してのみ設定可能です。
+.Sh 戻り値
+.Nm
+がコマンドを実行した場合、該コマンドの終了値が終了値となります。
+その他の場合、
+.Nm
+は成功時には 0 を、エラー時には 1 を終了値とします。
+.Sh 使用例
+現在のプロセスのリアルタイム優先度を見ます:
+.Bd -literal -offset indent -compact
+.Sy "rtprio"
+.Ed
+.Pp
+プロセス
+.Em 1423
+のリアルタイム優先度を見ます:
+.Bd -literal -offset indent -compact
+.Sy "rtprio 1423"
+.Ed
+.Pp
+.Xr cron 8
+を最低のリアルタイム優先度にて実行します:
+.Bd -literal -offset indent -compact
+.Sy "rtprio 31 cron"
+.Ed
+.Pp
+プロセス
+.Em 1423
+のリアルタイム優先度を
+.Em 16
+に変更します:
+.Bd -literal -offset indent -compact
+.Sy "rtprio 16 -1423"
+.Ed
+.Pp
+.Xr tcpdump 8
+を非リアルタイム優先度にて実行します:
+.Bd -literal -offset indent -compact
+.Sy "rtprio -t tcpdump"
+.Ed
+.Pp
+リアルタイム優先度のプロセス
+.Em 1423
+を
+.Dv RTP_PRIO_NORMAL
+(非リアルタイム/通常の優先度)に変更します:
+.Bd -literal -offset indent -compact
+.Sy "rtprio -t -1423"
+.Ed
+.Pp
+他のマシンの使用の邪魔をせずに make depend します:
+.Bd -literal -offset indent -compact
+.Sy "idprio 31 make depend"
+.Ed
+.Sh 関連項目
+.Xr nice 1 ,
+.Xr ps 1 ,
+.Xr rtprio 2 ,
+.Xr setpriority 2 ,
+.Xr nice 3 ,
+.Xr renice 8
+.Sh 歴史
+.Nm
+は
+.Fx 2.0
+から登場しましたが、HP-UX のものに似たバージョンでした。
+.Sh 警告
+CPU を大量消費するプロセスをリアルタイム優先度で実行すると
+システムを操作できなくなります。
+.Sh バグ
+プロセス 0 (swapper) のリアルタイム優先度を設定及び確認する方法は有りません(
+.Xr ps 1
+を参照)。
+.Pp
+.Bx Free
+ではプロセスのページがメモリ中に存在することを保証できないため、
+プロセスがページインのために停止することが有ります(
+.Xr mprotect 2 ,
+.Xr madvise 2
+参照)。
+.Pp
+.Bx Free
+ではシステムコールは横取りされません。
+そのため、非リアルタイムプロセスがリアルタイムプロセスを飢餓させ得、
+アイドルタイムプロセスが通常優先度のプロセスを飢餓させ得ます。
+.Sh 作者
+.An Henrik Vestergaard Draboel Aq hvd@terry.ping.dk
+はオリジナルの作者です。
+.An David Greenman
+が
+.Bx Free
+への実装時に、ほとんどを書き直しました。
diff --git a/ja/man/man1/rup.1 b/ja/man/man1/rup.1
new file mode 100644
index 0000000000..e5e1419d55
--- /dev/null
+++ b/ja/man/man1/rup.1
@@ -0,0 +1,93 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1985, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: rup.1,v 1.3.2.1 1997/08/08 12:06:40 charnier Exp %
+.\" jpman %Id: rup.1,v 1.2 1997/05/07 02:31:39 mutoh Stab %
+.\"
+.Dd June 7, 1993
+.Dt RUP 1
+.Os BSD 4.3
+.Sh 名称
+.Nm rup
+.Nd ローカルネットワーク上のマシンの現在のシステム状態を表示する
+.Sh 書式
+.Nm
+.Op Ar host ...
+.Sh 解説
+.Nm
+は、特定の
+.Em host
+、もしくはローカルネットワーク上のすべてのマシンについて、
+現在のシステム状態を表示します。コマンド出力には、現在時刻、システムが立ち上
+がってからの経過時間、そしてロードアベレージが表示されます。ロードアベレージ
+は、実行キューにつながれているジョブの数を、過去 1 分、5 分、15 分間にわたって
+平均化したものです。
+.Pp
+本コマンドを使用する場合、対象ホスト上で
+.Xr rpc.rstatd 8
+デーモンが起動している必要があります。
+.Nm
+は /usr/include/rpcsvc/rstat.x に定義されている RPC プロトコルを
+使用します。
+.Sh 使用例
+.Bd -unfilled -offset indent -compact
+example% rup otherhost
+otherhost 7:36am up 6 days, 16:45, load average: 0.20, 0.23, 0.18
+example%
+.Ed
+.Sh 診断
+.Bl -tag -width indent
+.It rup: RPC: Program not registered
+rup の対象となるリモートホスト上で
+.Xr rpc.rstatd 8
+が動作していません。
+.It rup: RPC: Timed out
+通信エラーが発生しました。ネットワークが極端に混雑しているか、
+.Xr rpc.rstatd 8
+がリモートホスト上で異常終了しました。
+.It rup: RPC: Port mapper failure - RPC: Timed out
+リモートホスト上で portmapper (
+.Xr portmap 8
+参照) が動作しておらず、
+RPC ベースのサービスが受けられません。ホストがダウンしている可能性が
+あります。
+.Sh 関連項目
+.Xr portmap 8 ,
+.Xr rpc.rstatd 8
+.Sh 歴史
+.Nm
+コマンドは
+.Tn SunOS
+から登場しました。
+.Sh バグ
+ソート用のオプションは実装されていません。
diff --git a/ja/man/man1/ruptime.1 b/ja/man/man1/ruptime.1
new file mode 100644
index 0000000000..b99a40748c
--- /dev/null
+++ b/ja/man/man1/ruptime.1
@@ -0,0 +1,82 @@
+.\" Copyright (c) 1983, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ruptime.1 8.2 (Berkeley) 4/5/94
+.\" jpman %Id: ruptime.1,v 1.2 1997/05/20 01:35:36 mutoh Stab %
+.\" %Id: ruptime.1,v 1.2 1996/09/23 22:24:20 wosch Exp %
+.\"
+.Dd April 5, 1994
+.Dt RUPTIME 1
+.Os BSD 4.2
+.Sh 名称
+.Nm ruptime
+.Nd ローカルネットワーク上の各マシンについて uptime と同様のステータスを表示する
+.Sh 書式
+.Nm ruptime
+.Op Fl alrtu
+.Sh 解説
+.Nm ruptime
+は、ローカルネットワーク上に接続された全マシンについて、
+.Ar uptime
+と同様の表示を行ないます。この表示は、ネットワーク上の各ホストから 1 分ごとに
+ブロードキャストされるパケットをもとに作成されます。
+.Pp
+状態レポートのブロードキャストが 11 分以上途切れているホストについては、
+システムダウンしているものとみなします。
+.Pp
+以下のオプションが使用可能です。
+.Bl -tag -width Ds
+.It Fl a
+アイドル時間が 1 時間以上のユーザについても表示します。
+.It Fl l
+ロードアベレージ順にソートします。
+.It Fl r
+ソート順を逆にします。
+.It Fl t
+uptime 順にソートします。
+.It Fl u
+ユーザ数の順にソートします。
+.El
+.Pp
+デフォルトではリストをホスト名でソートします。
+.Sh 関連ファイル
+.Bl -tag -width /var/rwho/whod.* -compact
+.It Pa /var/rwho/whod.*
+データファイル
+.El
+.Sh 関連項目
+.Xr rwho 1 ,
+.Xr uptime 1
+.Sh 歴史
+.Nm ruptime
+は
+.Bx 4.2
+から登場しました。
diff --git a/ja/man/man1/rusers.1 b/ja/man/man1/rusers.1
new file mode 100644
index 0000000000..34e6a8b853
--- /dev/null
+++ b/ja/man/man1/rusers.1
@@ -0,0 +1,99 @@
+.\" Copyright (c) 1983, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)rusers.1 6.7 (Berkeley) 4/23/91
+.\" %Id: rusers.1,v 1.2.2.2 1997/08/11 07:11:23 charnier Exp %
+.\" jpman %Id: rusers.1,v 1.3 1997/08/20 12:45:29 horikawa Stab %
+.\"
+.Dd April 23, 1991
+.Dt RUSERS 1
+.Os BSD 4.2
+.Sh 名称
+.Nm rusers
+.Nd ローカルネットワークの各マシンに誰がログインしているか
+.Sh 書式
+.Nm
+.Op Fl al
+.Op Ar host ...
+.Sh 解説
+.Nm
+コマンドは
+.Xr who
+と同様の結果を出力しますが、
+指定したホストのリスト、あるいはローカルネットワーク上の全マシンに対する
+結果を出力します。
+rusers の問い合わせに返答した各ホストに対して、
+現在ログインしているユーザ名がホスト名と共に各行に出力されます。
+返答の遅いホストのために rusers コマンドは 1 分間待ちます。
+.Pp
+以下のオプションが利用可能です:
+.Bl -tag -width indent
+.It Fl a
+たとえ誰もログインしていなくても、応答してきた全てのマシンの情報を
+出力します。
+.It Fl l
+長いフォーマットで出力します。
+以下の情報が表示されます。
+ユーザ名、ホスト名、ユーザがログインしている tty 名、
+ユーザがログインした日付と時刻、
+ユーザがキーボードを最後にタイプしてからの時間、
+(もし適用可能ならば)ログイン元のリモートホスト名。
+.El
+.Sh 診断
+.Bl -tag -width indent
+.It rusers: RPC: Program not registered
+リモートホスト上で
+.Xr rpc.rusersd 8
+デーモンが起動されていません。
+.It rusers: RPC: Timed out
+通信エラーが生じました。
+ネットワークが非常に混んでいるか、リモートホスト上の
+.Xr rpc.rusersd 8
+デーモンが終了しました。
+.It rusers: RPC: Port mapper failure - RPC: Timed out
+リモートホストで portmapper (
+.Xr portmap 8
+参照)が動いておらず、全ての RPC ベースのサービスが利用できません。
+ホストがダウンしている可能性があります。
+.El
+.Sh 関連項目
+.Xr rwho 1 ,
+.Xr users 1 ,
+.Xr who 1 ,
+.Xr portmap 8 ,
+.Xr rpc.rusersd 8
+.Sh 歴史
+.Nm
+コマンドは
+.Em Sun-OS
+で登場しました。
+.Sh バグ
+ソートオプションが実装されていません。
diff --git a/ja/man/man1/rwall.1 b/ja/man/man1/rwall.1
new file mode 100644
index 0000000000..495138a4b9
--- /dev/null
+++ b/ja/man/man1/rwall.1
@@ -0,0 +1,79 @@
+.\" Copyright (c) 1983, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)rwall.1 6.7 (Berkeley) 4/23/91
+.\" %Id: rwall.1,v 1.1.1.1.8.2 1997/08/11 07:13:00 charnier Exp %
+.\" jpman %Id: rwall.1,v 1.2 1997/05/21 00:38:04 mutoh Stab %
+.\"
+.Dd April 23, 1991
+.Dt RWALL 1
+.Os BSD 4.2
+.Sh 名称
+.Nm rwall
+.Nd 指定したホストにログインしているユーザにメッセージを送る
+.Sh 書式
+.Nm
+.Ar host
+.Op Ar file
+.Sh 解説
+.Nm
+は、指定したホストにログインしているユーザにメッセージを送信します。
+送信するメッセージとしては、端末から入力され EOF で終了するものか、
+.Ar file
+に記述されているものを用いることが出来ます。
+.Sh 診断
+.Bl -tag -width indent
+.It rwall: RPC: Program not registered
+.Xr rpc.rwalld 8
+デーモンがリモートホスト上で動作していません。
+.It rwall: RPC: Timed out
+通信エラーが発生しました。ネットワークが非常に混雑しているか、あるいは
+.Xr rpc.rwalld 8
+デーモンがリモートホスト上で異常終了しました。
+.It rwall: RPC: Port mapper failure - RPC: Timed out
+リモートホスト上で
+.Xr portmap 8
+が動作しておらず (
+.Xr portmap 8
+参照)、RPC を用いたサービスを受けることが出来ません。
+ホストがダウンしている可能性があります。
+.El
+.Sh 関連項目
+.Xr who 1 ,
+.Xr portmap 8 ,
+.Xr rpc.rwalld 8
+.Sh 歴史
+.Nm
+コマンドは
+.Tn SunOS
+から登場しました。
+.Sh バグ
+ソートオプションは実装されていません。
diff --git a/ja/man/man1/rwho.1 b/ja/man/man1/rwho.1
new file mode 100644
index 0000000000..889b5dd20b
--- /dev/null
+++ b/ja/man/man1/rwho.1
@@ -0,0 +1,75 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)rwho.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: rwho.1,v 1.2 1997/05/21 00:39:50 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt RWHO 1
+.Os BSD 4.2
+.Sh 名称
+.Nm rwho
+.Nd ローカルネットワーク上のマシンにログインしているユーザ一覧を表示する
+.Sh 書式
+.Nm
+.Op Fl a
+.Sh 解説
+.Nm
+コマンドは、ローカルネットワーク上の全てのマシンについて
+.Xr who
+と似た出力を行ないます。5 分以上レスポンスがないマシンは
+down しているものとみなし、そのマシンに関するユーザのログイン情報を
+表示しません。
+.Pp
+もし、マシンにログインしているユーザが 1 分以上端末からの入力を
+行なっていない場合、
+.Nm
+はその時間を idle 時間として報告します。idle 時間が 1 時間以上の
+ユーザ情報は
+.Fl a
+オプションが指定されない限り表示しません。
+.Sh 関連ファイル
+.Bl -tag -width /var/rwho/whod.* -compact
+.It Pa /var/rwho/whod.*
+他のマシンに関する情報
+.El
+.Sh 関連項目
+.Xr ruptime 1 ,
+.Xr who 1 ,
+.Xr rwhod 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3
+から登場しました。
+.Sh バグ
+ローカルネット上のマシンの数が多い場合はシステムへの負荷が
+大き過ぎます。
diff --git a/ja/man/man1/s2p.1 b/ja/man/man1/s2p.1
new file mode 100644
index 0000000000..2a59bb4c32
--- /dev/null
+++ b/ja/man/man1/s2p.1
@@ -0,0 +1,114 @@
+.rn '' }`
+.\" jpman %Id: s2p.1,v 1.3 1997/08/20 13:09:19 horikawa Stab %
+''' %RCSfile: s2p.1,v %%Revision: 1.1.1.1 %%Date: 1994/09/10 06:27:53 %
+'''
+''' %Log: s2p.1,v %
+''' Revision 1.1.1.1 1994/09/10 06:27:53 gclarkii
+''' Initial import of Perl 4.046 bmaked
+'''
+'''
+.\" Revision 1.1.1.1 1993/08/23 21:30:10 nate
+.\" PERL!
+.\"
+''' Revision 4.0.1.1 91/06/07 12:19:57 lwall
+''' patch4: s2p now handles embedded newlines better and optimizes common idioms
+'''
+''' Revision 4.0 91/03/20 01:58:07 lwall
+''' 4.0 baseline.
+'''
+''' Revision 3.0 89/10/18 15:35:09 lwall
+''' 3.0 baseline
+'''
+''' Revision 2.0 88/06/05 00:15:59 root
+''' Baseline version 2.0.
+'''
+'''
+.de Sh
+.br
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+'''
+''' Set up \*(-- to give an unbreakable dash;
+''' string Tr holds user defined translation string.
+''' Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+.ds L' '
+.ds R' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds L' `
+.ds R' '
+'br\}
+.TH S2P 1 NEW
+.SH 名称
+s2p - Sed から Perl へのトランスレータ
+.SH 書式
+.B s2p [options] filename
+.SH 解説
+.I s2p
+はコマンドラインで指定した(あるいは標準入力からの) sed スクリプトを受け取り、
+対応する
+.I perl
+スクリプトを標準出力に出力します。
+.Sh オプション
+オプションは以下の通り:
+.TP 5
+.B \-D<number>
+デバッグフラグをセットします。
+.TP 5
+.B \-n
+この sed スクリプトが常に sed -n で起動されるものとします。
+それ以外の場合、スクリプトの前に switch パーサが付け加えられます。
+.TP 5
+.B \-p
+この sed スクリプトが決して sed -n で起動されないものとします。
+それ以外の場合、スクリプトの前に switch パーサが付け加えられます。
+.Sh 検討
+生成される perl スクリプトはとても sed 風であり、
+やりたいことを perl で表現するにはよりよい方法がきっとあるでしょう。
+例えば、s2p は split 演算子を用いませんが、
+それを使いたい場合もあるでしょう。
+.PP
+最終的に得られた perl スクリプトは、元の sed スクリプトより
+速くなることも遅くなることもあるでしょう。
+もし単に速度に関してのみ関心があるのなら、
+両方を試してみるべきでしょう。
+もちろん sed でできないことをやろうとする場合は、選択肢はありません。
+perl スクリプトもいくつもの方法で高速化できることがしばしばあります。
+例えば $\e への参照全てと chop を削るのもその一つです。
+.SH 環境変数
+s2p は環境変数を用いません。
+.SH 作者
+Larry Wall <lwall@jpl-devvax.Jpl.Nasa.Gov>
+.SH 関連ファイル
+.SH 関連項目
+perl perl コンパイラ/インタプリタ
+.br
+a2p awk から perl へのトランスレータ
+.SH 診断
+.SH バグ
+.rn }` ''
diff --git a/ja/man/man1/sasc.1 b/ja/man/man1/sasc.1
new file mode 100644
index 0000000000..dce7307964
--- /dev/null
+++ b/ja/man/man1/sasc.1
@@ -0,0 +1,97 @@
+.\" sasc(1) - manual page for the `asc' scanner device driver utility
+.\"
+.\"
+.\" Copyright (c) 1995 Gunther Schadow. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Gunther Schadow.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: sasc.1,v 1.3.2.1 1997/08/11 07:16:15 charnier Exp %
+.\" jpman %Id: sasc.1,v 1.3 1997/07/22 17:55:16 horikawa Stab %
+.\"
+.Dd January 6, 1995
+.Dt SASC 1
+.Os
+.Sh 名称
+.Nm sasc
+.Nd asc スキャナデバイスのオプションを設定する
+.Sh 書式
+.Nm
+.Op Fl sq
+.Op Fl b Ar len
+.Op Fl f Ar file
+.Op Fl h Ar height
+.Op Fl r Ar resolution
+.Op Fl t Ar timeout
+.Op Fl w Ar width
+.Sh 解説
+.Nm
+ユーティリティは、ハンディデバイスドライバ
+asc によって提供される ioctl への、シェルレベルのアクセスを提供します。
+リクエストの正確な意味に付いては、
+.Xr asc 4
+を参照してください。
+一般に、asc スキャナデバイスの出力と振舞いを変更します。
+.Nm
+がオプション無しで呼び出された場合、現在の設定が
+報告されます。
+.Sh オプション
+.Bl -tag -width indent
+以下のオプションを使用可能です。
+.It Fl s Bq ASC_SRESSW
+スキャナの解像度選択スイッチの値を設定します。
+.It Fl q
+沈黙モードで動作します。つまり、現在の設定に付いて一切の報告をしません。
+通常は、変更が行われた後で、パラメータが表示されます。
+.TP
+.It Fl f Ar file
+ファイル名で与えられたスキャナデバイスノードを操作します。
+同じデバイスユニットを参照しているいくつかの異なる
+スキャナデバイスノードが存在できることに注意してください。
+変更は、アクセスされているデバイスノードに無関係に行われます。
+.It Fl r Ar resolution Bq ASC_SRES
+解像度を dpi (インチ当たりのドット数) で指定します。
+.It Fl w width Bq ASC_SWIDTH
+ビットマップの幅をピクセル数で設定します。
+.It Fl h height Bq ASC_SHEIGHT
+ビットマップの高さをピクセル数で設定します。
+.It Fl b len Bq ASC_SBLEN
+内部 DMA バッファを大きさ
+.Ar len
+行に設定します。
+.It Fl t timeout Bq ASC_SBTIME
+一つの DMA バッファを読み込む際のタイムアウトを設定します。
+.Sh 関連ファイル
+.It Pa /dev/asc0
+.Em raw
+出力のためのデバイスノード
+.It Pa /dev/asc0p
+.Em pbm
+ファイルフォーマット出力のためのデバイスノード
+.El
+.Sh 関連項目
+.Xr asc 4
+.Sh 作者
+Gunther Schadow <gusw@fub46.zedat.fu-berlin.de>
diff --git a/ja/man/man1/scon.1 b/ja/man/man1/scon.1
new file mode 100644
index 0000000000..34493c8c35
--- /dev/null
+++ b/ja/man/man1/scon.1
@@ -0,0 +1,219 @@
+.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis and Joerg Wunsch
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by
+.\" Hellmuth Michaelis and Joerg Wunsch
+.\" 4. The name authors may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" @(#)scon.1, 3.00, Last Edit-Date: [Mon Jan 10 21:30:48 1994]
+.\" jpman %Id: scon.1,v 1.3 1997/07/26 21:45:58 horikawa Stab %
+.\"
+.Dd December 31, 1993
+.Dt SCON 1
+.Sh 名称
+.Nm scon
+.Nd pcvt ビデオドライバのスクリーンモードを制御する
+.Sh 書式
+.Nm scon
+.Op Fl a
+.Op Fl c Ar screenno
+.Op Fl d Ar device
+.Op Fl f Ar on|off
+.Op Fl h
+.Op Fl H
+.Op Fl l
+.Op Fl m
+.Op Fl v
+.Op Fl V
+.Op Fl s Ar lines
+.br
+.Nm scon
+.Op Fl v
+.Op Fl d Ar device
+.Fl p Ar entry,red,green,blue
+.br
+.Nm scon
+.Op Fl v
+.Op Fl d Ar device
+.Fl p Ar default
+.br
+.Nm scon
+.Op Fl v
+.Op Fl d Ar device
+.Fl p Ar list
+.Nm scon
+.Op Fl v
+.Fl t Ar timeout
+.Nm scon
+.Op Fl v
+.Fl 1 | Fl 8
+.Sh 解説
+.Nm scon
+ユーティリティは pcvt vt220 ドライバの実行時動作の様々な側面を制御します。
+.Pp
+オプションは以下です:
+.Bl -tag -width Ds
+.It Fl a
+pcvt が認識したビデオアダプタを文字列で返します。
+MDA, HGC, CGA, EGA, VGA または UNKNOWN が返されます。
+.It Fl c
+現在の (表示される) スクリーンをどのスクリーン番号に切替えるかを指定します。
+.It Fl d
+デバイスファイル名 (例えば /dev/ttyv2) を指定します。
+これに続いてコマンドラインから指定される処理は、これに適用されます。
+.It Fl f
+暗黙的に 24 行を仮定するプログラムを VT220 にて実行すると、
+端末が実際には 25 行の時には正しくない振舞をすることが有ります。
+完全な VT220 の動作をサポートするために、
+25 行純 VT モードや 28 行 HP モードにて実行中の pcvt に
+24 行のみを選択させることが可能です。
+.Fl f
+オプションには、文字列 `on' か `off' のパラメータが必要です。
+それぞれ仮想スクリーンのモードをオンまたはオフします。
+前記の 2 つの垂直解像度ではない場合には、このモードは影響が有りません。
+.It Fl h
+使用方法/ヘルプを表示します。
+.It Fl l
+pcvt ドライバの出力に関する、
+実行時に変更可能なオプションと固定パラメータ
+(アダプタのタイプ、VGA アダプタの場合製作元、チップセット、
+132 カラムサポート等) の現在の構成を列挙します。
+.It Fl m
+pcvt が認識したディスプレイモニタのタイプを文字列で返します。
+MONO, COLOR または UNKNOWN が返されます。
+.It Fl v
+プログラムの操作における冗長表示を指定します。
+.It Fl V
+指定された/現在のスクリーンを、
+HP エスケープシーケンスを認識せずファンクションキーラベルを表示しない、
+純 VT220 モードに切替えます。
+.It Fl H
+指定された/現在のスクリーンを、HP/VT220 混成モードに切替えます。
+完全な VT220 エミュレーションに加え、
+HP ファンクションキーラベルとラベルを処理するエスケープシーケンスを
+ユーザは使用可能です。
+.It Fl s
+スクリーンの文字行数を指定します。
+25, 28, 35, 40, 43, 50 を指定可能です。
+これら全てのスクリーンサイズを使うためには、
+要求されるサイズのフォントを EGA/VGA フォントラムに
+ダウンロードする必要が有ります。
+このオプションは EGA および VGA ボードに対してのみ使用可能です。
+.It Fl p
+VGA パレット
+.Pq DAC
+を修正します。
+.Fl p
+は
+.Fl s ,
+.Fl H ,
+.Fl V
+と相互排除です。通常、オプション
+.Fl p
+は VGA ボードに対してのみ使用可能です。
+使い方は以下の 3 種です。
+
+引数
+.Dq Ar default
+を指定すると、
+.Po
+VGA ROM BIOS がハードウェアリセット後にインストールするように
+.Pc
+デフォルトパレットを回復します。
+
+引数
+.Dq Ar list
+を指定すると、現在の VGA DAC パレットエントリを列挙します。
+各エントリは、テーブルインデックス、赤緑青の値、
+名前が有る場合は色名を持ちます。
+後続する空のテーブルスロット (RGB 値が全てゼロ) は省略されます。
+
+上記以外の場合、コンマで区切った 4 つの引数が期待されます。
+1 番目が変更すべきパレットエントリの番号を指定します。
+これは 0 から 255 までの値か、
+.Pq 大文字小文字を区別する
+色名です。
+後続する値は 0 から 63 までの値域である赤緑青の値であり、
+VGA DAC が変換に使用します。
+読みやすさのために、引数の最初の区切りはコンマ
+.Dq \&,
+でなくコロン
+.Dq \&:
+であっても良いですが、一般的なコマンド引数の決まりを破っていることに
+注意して下さい。
+不明確にならなければ、複数の
+.Fl p
+オプションを指定可能です。
+.It Fl t
+.Fl t
+を指定するとスクリーンセーバを活性化します。
+動作は
+.Ar timeout
+に依存します:
+.Ar timeout
+が 0 の場合、スクリーンセーバはオフにされます。
+そうでなければ、
+.Ar timeout
+はスクリーンセーバを起動するまで待つ秒数として扱います。
+注:
+.Fl t
+オプションは、スクリーンセーバサポートをドライバに組み込んだ時のみ有効です!
+.It Fl 1
+132 カラムモードを設定します
+.Pq VGA アダプタでのみ有効です
+。
+.It Fl 8
+80 カラムモードを設定します。
+.El
+.Pp
+HP と VT のモードを切替えると、
+切替え時に 24 行強制モードがオンオフされます。
+80 カラムと 132 カラムを切替えると、
+スクリーンが消去され、スクロール範囲がリセットされ、
+カーソルがホームポジションに移動します。
+.Sh 使用例
+コマンド
+.Dq Li scon Fl H s Ar 28
+は現在のスクリーンを HP モードにし、スクリーンサイズを 28x80 にします。
+
+.Do
+.Li scon Fl p
+.Ar lightgray,0,15,0
+.Fl p
+.Ar 0:45,45,45
+.Dc
+を起動すると、通常のテキストが灰色背景の緑色になります。
+通常のテキストは、白だと思うかも知れませんが、灰色です。
+.Sh バグ
+.Fl c
+と
+.Fl d
+のオプションはなぜか衝突します。
+将来のリリースで変更されるでしょう。
+.Sh 関連項目
+.Xr cursor 1 ,
+.Xr loadfont 1 ,
+.Xr pcvt 4
diff --git a/ja/man/man1/script.1 b/ja/man/man1/script.1
new file mode 100644
index 0000000000..269af26086
--- /dev/null
+++ b/ja/man/man1/script.1
@@ -0,0 +1,118 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)script.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: script.1,v 1.2 1997/03/29 08:26:02 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt SCRIPT 1
+.Os BSD 4
+.Sh 名称
+.Nm script
+.Nd 端末上に表示したすべてのもののログをとる
+.Sh 書式
+.Nm
+.Op Fl a
+.Op Ar file
+.Sh 解説
+.Nm
+は、端末上に表示したすべてのもののログ (typescript) をとります。記録後に
+.Xr lpr 1
+で印刷することもできるので、
+学生の宿題の証明等で対話的セッションのハードコピー
+が必要なときなどには有効です。
+.Pp
+.Ar file
+が指定されていればそのファイルに、指定されていなければ
+.Pa typescript
+というファイル名で記録されます。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl a
+.Ar file
+もしくは
+.Pa typescript
+がすでに存在している場合には、それに追加する形で記録していきます。
+.El
+.Pp
+.Nm
+は、フォークしたシェルを終了したとき (
+ボーン・シェル
+.Pf ( Xr sh 1 )
+なら
+.Em control-D
+で終了しますし、
+C シェル
+.Xr csh 1
+なら
+.Em exit ,
+.Em logout ,
+.Em control-D
+(
+.Em ignoreeof
+が設定されていない場合)
+で終了します
+) に記録を終わります。
+.Pp
+.Xr vi 1
+などのある種の対話コマンドでは、ログファイルにゴミが入る
+ことがあります。
+.Nm
+は、画面を操作しないようなコマンドについては、うまく動作します。
+出力結果はハードコピー端末のエミュレーションと言えるでしょう。
+.Sh 環境変数
+.Nm
+は次の環境変数を使用します:
+.Bl -tag -width SHELL
+.It Ev SHELL
+.Nm
+がフォークするシェルを指定します。
+.Ev SHELL
+が設定されていない場合はボーン・シェルが使われます。
+(ほとんどのシェルはこの変数を自動的に設定します)
+.El
+.Sh 関連項目
+.Xr csh 1
+(
+.Em history
+機能に関連)
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から登場しました。
+.Sh バグ
+.Nm
+は、ログファイルにラインフィードやバックスペースも含め、
+.Sy なんでも
+記録
+します。このためユーザの期待したものと違うログになることもあります。
diff --git a/ja/man/man1/sdiff.1 b/ja/man/man1/sdiff.1
new file mode 100644
index 0000000000..3249bd8484
--- /dev/null
+++ b/ja/man/man1/sdiff.1
@@ -0,0 +1,201 @@
+.\" jpman %Id: sdiff.1,v 1.3 1997/06/18 16:52:25 horikawa Stab %
+.TH SDIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
+.SH 名称
+sdiff \- 2 つのファイルの違いを調べ、インタラクティブにマージを行なう
+.SH 書式
+.B sdiff
+.B -o
+outfile [options] from-file to-file
+.SH 解説
+.I sdiff
+は、2 つのファイルつを読み込んでマージし、
+結果を対話的に
+.IR outfile
+に出力します。
+
+もし、
+.I from-file
+としてディレクトリを指定し、
+.I to-file
+がディレクトリでなかった場合、
+.I sdiff
+は、
+.I to-file
+で指定したファイル名と同じ名前のファイルを
+.I from-file
+のディレクトリから捜して、そのファイルとの間で比較を行ないます。
+その逆も同じです。
+.I from-file
+と
+.I to-file
+の両方にディレクトリを指定することはできません。
+
+.I sdiff
+のオプションは
+.B \-
+から始まりますので、通常
+.I from-file
+や
+.I to-file
+に
+.B \-
+から始まるものを指定できません。しかし、引数に
+.B \-\-
+を指定することにより、残りの引数がたとえ
+.B \-
+で始まっていたとしてもファイル名として扱わせます。
+.B \-
+を入力ファイルとして使用することは出来ません。
+
+.B \-o
+(や
+.BR \-\-output )
+無しで
+.I sdiff
+を使用すると、左右に差分を表示します。この使い方は廃れています;
+.B "diff \-\-side\-by\-side"
+として使って下さい。
+
+.SS オプション
+以下は GNU
+.I sdiff
+が受け付けるオプションのまとめです。
+どのオプションも 2 つの等価な名前を持ちます。
+一つは一文字で前に
+.BR \-
+が付き、もう一つは長い名前で前に
+.BR \-\-
+が付きます。
+一文字のオプション(引数を取らない場合に限ります)は、
+まとめて一つのコマンドライン引数に出来ます。
+長い名前のオプションは識別できる限りにおいて短縮できます。
+.TP
+.B \-a
+テキストに見えないとしても、
+全てのファイルをテキストとして扱い、行毎に比較します。
+.TP
+.B \-b
+空白の量の違いを無視します。
+.TP
+.B \-B
+空白行の増減を無視します。
+.TP
+.B \-d
+より小さい違いを見付けるかも知れないアルゴリズムに変更します。
+.I sdiff
+は遅く(あるときには過度に遅く)なります。
+.TP
+.B \-H
+多くの小さな違いを持つ
+大きなファイルを高速に扱うヒューリスティクスを使用します。
+.TP
+.B \-\-expand\-tabs
+出力においてタブを空白に展開し、
+入力ファイルのタブのアラインメントを保存します。
+.TP
+.B \-i
+大文字小文字の違いを無視します; 大文字と小文字とを同一視します。
+.TP
+.BI "\-I " regexp
+.I regexp
+にマッチする行の挿入および削除を無視します。
+.TP
+.B \-\-ignore\-all\-space
+行を比較している時に、空白を無視します。
+.TP
+.B \-\-ignore\-blank\-lines
+空行の挿入削除を無視します。
+.TP
+.B \-\-ignore\-case
+大文字小文字の違いを無視します; 大文字と小文字とを同一視します。
+.TP
+.BI \-\-ignore\-matching\-lines= regexp
+.I regexp
+にマッチする行の挿入および削除を無視します。
+.TP
+.B \-\-ignore\-space\-change
+空白の量に関する違いを無視します。
+.TP
+.B \-l
+.br
+.ns
+.TP
+.B \-\-left\-column
+共通の行に関しては左のカラムだけを表示します。
+.TP
+.B \-\-minimal
+より小さい違いを見付けるかもしれないアルゴリズムに変更します。
+.I sdiff
+は遅く(あるときには過度に遅く)なります。
+.TP
+.BI "\-o " file
+.br
+.ns
+.TP
+.BI \-\-output= file
+マージした出力を
+.I file
+に出力します。
+マージ時にはこのオプションが必要です。
+.TP
+.B \-s
+.br
+.ns
+.TP
+.B \-\-suppress\-common\-lines
+共通行を表示しません。
+.TP
+.B \-\-speed\-large\-files
+多くの小さな違いを持つ
+大きなファイルを高速に扱うヒューリスティクスを使用します。
+.TP
+.B \-t
+出力においてタブを空白に展開し、
+入力ファイルのタブのアラインメントを保存します。
+.TP
+.B \-\-text
+テキストに見えないとしても、
+全てのファイルをテキストとして扱い、行毎に比較します。
+.TP
+.B \-v
+.br
+.ns
+.TP
+.B \-\-version
+.I sdiff
+のバージョンを表示します。
+.TP
+.BI "\-w " columns
+.br
+.ns
+.TP
+.BI \-\-width= columns
+出力の幅を
+.I columns
+にします。
+歴史的な理由で、
+.I diff
+では
+.B \-W
+に、
+.I sdiff
+では
+.B \-w
+になっています。
+.TP
+.B \-W
+行を比較する時に水平空白を無視します。
+歴史的な理由で
+.I diff
+では
+.B \-w
+に、
+.I sdiff
+では
+.B \-W
+になっています。
+.SH 関連項目
+cmp(1), comm(1), diff(1), diff3(1)
+.SH 診断
+比較結果として、違いが無かった場合は、0 を、違いが発見された場合は 1
+を、何かエラーがおきた場合は、2 を返します。
diff --git a/ja/man/man1/sed.1 b/ja/man/man1/sed.1
new file mode 100644
index 0000000000..6aef79bd5b
--- /dev/null
+++ b/ja/man/man1/sed.1
@@ -0,0 +1,482 @@
+.\" Copyright (c) 1992, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)sed.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: sed.1,v 1.2 1997/03/29 08:28:32 horikawa Stab %
+.\"
+.Dd "December 30, 1993"
+.Dt SED 1
+.Os
+.Sh 名称
+.Nm sed
+.Nd ストリームエディタ
+.Sh 書式
+.Nm
+.Op Fl an
+.Ar command
+.Op Ar file ...
+.Nm sed
+.Op Fl an
+.Op Fl e Ar command
+.Op Fl f Ar command_file
+.Op Ar file ...
+.Sh 解説
+.Nm
+は、指定されたファイル、ファイルが指定されていないときは標準入力を読み込み、
+指定されたコマンドリストに従って入力に変更を加え、変更結果を標準出力に書き
+出します。
+.Pp
+.Nm
+への第一引数として単一のコマンドを指定することができます。複数のコマンドを指定するときは、
+.Fl e
+または
+.Fl f
+オプションで行います。どちらの場合でも、入力に対して指定されたコマンドを、
+指定された順序で実行します。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width indent
+.It Fl a
+通常、
+.Dq w
+関数の引数となるファイルは、処理に先立って空のファイルとして作成されます。
+.Fl a
+オプションを指定することにより、
+.Dq w
+関数が入力に対して適用されるときまで、
+ファイルの作成が遅延されます。
+.It Fl e Ar command
+編集コマンド
+.Ar command
+をコマンドリストに追加します。
+.It Fl f Ar command_file
+ファイル
+.Ar command_file
+に記述されたコマンドをコマンドリストに追加します。
+編集コマンドは1行ごとに記述します。
+.It Fl n
+デフォルトでは、入力行は、すべてのコマンドを適用した後に標準出力に書
+き出されます。
+.Fl n
+オプションはこの動作を禁止し、明示的な出力コマンド
+(
+.Dq p
+等)が適用された入力のみを出力します。
+.El
+.Pp
+.Nm
+のコマンドは以下の形式です。
+.sp
+.Dl [address[,address]]function[arguments]
+.sp
+最初の address の前と function の前に空白を置くことができます。
+.Pp
+通常
+.Nm
+は、入力ファイルの各行を改行コードを含めずに
+.Em "パタンスペース"
+にコピーし(
+.Dq D
+関数の後でパタンスペースになにか残っている場合を除きます)、
+順にコピーされた内容に適応する address 指定を持つコマンドを
+適用し、パタンスペースの内容を改行を付与して標準出力へ書き出し、パ
+タンスペースを消去するという動作を繰り返します。
+.Pp
+いくつかの関数は、パタンスペースの一部または全部を保持できる
+.Em "ホールドスペース"
+を利用します。ホールドスペースの内容は、以降の処理に用いることができ
+ます。
+.Sh "sed の address 表記"
+address の指定は必須ではありません。adderss は行番号(複数の入力ファイ
+ルに対しては通し番号を用います)、入力の最後の行を示すドル記号
+.Pq Dq $
+、コンテキストアドレス(区切り記号にはさまれた正規表現)のいずれかです。
+.Pp
+address 指定を持たないコマンドは、すべてのパタンスペースを選択します。
+.Pp
+1つの address 指定を持つコマンドは、その address 指定にマッチする
+すべてのパタンスペースを選択します。
+.Pp
+2つの address 指定を持つコマンドは、1つめの address にマッチした
+パタンスペースから
+2つめの address にマッチした
+パタンスペースまでの範囲を選択します(もし、
+2つめの address が、1つめの address 以下の行番号の場合、
+1つめの address が指定する行のみ選択されます)。
+選択された範囲の次の行から、1 つめの address にマッチする行の検索
+が再開されます。
+.Pp
+エクスクラメーション関数
+.Pq Dq !
+を用いることにより、address
+で選択されていない範囲に編集コマンドを適用させることもできます。
+.Sh "sed の正規表現"
+.Nm
+で用いる正規表現は、Basic Regular expression (BRE、
+.Xr regex 3
+を参照)
+です。BRE に加え、
+.Nm
+では以下の拡張がなされています。
+.sp
+.Bl -enum -compact
+.It
+コンテキストアドレスにおいて、バックスラッシュ
+.Pq Dq \e
+と改行以外の文字を正規表現の区
+切りとして用いることできます。区切り文字の直前にバックスラッシュを置く
+ことで、区切り文字をリテラルに解釈させることができます。たとえば、コンテキ
+ストアドレス \exabc\exdefx において、区切り文字は
+.Dq x
+で、2つめの
+.Dq x
+は
+.Dq x
+という文字を表します。よって、正規表現は
+.Dq abcxdef
+と解釈されま
+す。
+.sp
+.It
+エスケープシーケンス \en は、パタンスペースに埋め込まれた改行にマッチします。
+しかし、address と置換コマンド中にリテラルな改行を含めること
+はできません。
+.El
+.Pp
+.Nm
+の正規表現には、デフォルト値の機能があります。
+もし、正規表現が空、すなわち、区切りのみが指定されたなら、直前に用いられた正規表
+現が用いられます。直前の正規表現とは、最後に使われた address または置換
+コマンド中の正規表現です。最後とは実行時の順番であり、指定さ
+れたコマンドの並びとは異ります。たとえば、
+.Dq /abc/s//XXX/
+はパタン
+.Dq abc
+を
+.Dq XXX
+で置換します。
+.Sh "sed の関数"
+以下のコマンドの一覧では、指定可能な最大 address 数を、[0addr]、
+[1addr]、[2addrs] と表記しています。これらは、それぞれ最大 0、1、2 個
+の address を指定することができることを意味します。
+.Pp
+.Em text
+引数のテキストは複数行に渡ることができます。改行の直前にバックスラッシュ
+を置くことで、テキストに改行を含めることができます。その他のバックスラッ
+シュは取り除かれ、直後の文字がリテラルに解釈されます。
+.Pp
+.Dq r
+と
+.Dq w
+関数は、オプショナルなファイル名引数をとります。ファイル名は、
+関数名のあとに空白を置いてから指定する必要があります。引数として指定され
+たファイルは、入力ファイルの処理を開始する前に作成(または、内容を消去)し
+ます。
+.Pp
+.Dq b ,
+.Dq r ,
+.Dq s ,
+.Dq t ,
+.Dq w ,
+.Dq y ,
+.Dq ! ,
+.Dq \&:
+関数は、オプショナルな引数をとることが
+できます。以下の一覧に、どの引数が関数名のあとに空白を置いてから指定し
+なければならないかが記述してあります。
+.Pp
+2つの関数は引数として関数リストをとります。関数リストは、以下の形式の
+改行で区切られた
+.Nm
+関数の羅列です。
+.Bd -literal -offset indent
+{ function
+ function
+ ...
+ function
+}
+.Ed
+.Pp
+.Dq {
+の前後に空白を置くことができます。関数の前に空白を置くことができま
+す。最後の
+.Dq }
+は、改行の直後に置く必要があります。
+.Dq }
+の直前に空白を置
+くこともできます。
+.sp
+.Bl -tag -width "XXXXXX" -compact
+.It [2addr] function-list
+選択されたパタンスペースに関数リストを適用します。
+.sp
+.It [1addr]a\e
+.It text
+.br
+次の入力行を読み込む直前に
+.Em text
+を標準出力に書き出します。
+これは
+.Dq N
+関数によって実行される場合でも新しい繰り返しの開始時であっても変わりません。
+.sp
+.It [2addr]b[lable]
+指定された label を持つ
+.Dq \&:
+関数に分岐します。label が指定さ
+れていない場合は、スクリプトの最後に分岐します。
+.sp
+.It [2addr]c\e
+.It text
+.br
+パタンスペースを削除します。address が指定されていない場合と、1つだけ
+指定された場合は
+.Em text
+が標準出力に書き出されます。2つの address が
+指定された場合は、選択された範囲の最終行を処理した後に、text が標準出力に書き出されま
+す。
+.sp
+.It [2addr]d
+パタンスペースを削除し、次の繰り返しを開始します。
+.sp
+.It [2addr]D
+パタンスペースの最初の改行までの部分を削除し、次の繰り返しを開始します。
+.sp
+.It [2addr]g
+ホールドスペースの内容をパタンスペースにコピーします。
+.sp
+.It [2addr]G
+改行文字とホールドスペースの内容をパタンスペースに追加します。
+.sp
+.It [2addr]h
+パタンスペースの内容をホールドスペースにコピーします。
+.sp
+.It [2addr]H
+改行文字とパタンスペースの内容をホールドスペースに追加します。
+.sp
+.It [1addr]i\e
+.It text
+.br
+標準出力に
+.Em text
+を書き出します。
+.sp
+.It [2addr]l
+パタンスペースの内容を読めるような以下の形式で出力します。
+.sp
+.Bl -tag -width "carriage-returnXX" -offset indent -compact
+.It backslash
+\e\e
+.It alert
+\ea
+.It form-feed
+\ef
+.It newline
+\en
+.It carriage-return
+\er
+.It tab
+\et
+.It vertical tab
+\ev
+.El
+.Pp
+印字不可能な文字は、各バイトごとに
+.Dq \e
+に続いて 3 桁の 8 進数で出力されま
+す(Most Significant Byte が先頭です)。
+長い行は折り返して表示されます。折り返した部分は
+.Dq \e
+に続く改行で
+示されます。各行の最後には
+.Dq $
+が出力されます。
+.sp
+.It [2addr]n
+もし、(
+.Fl n
+オプションによって)デフォルトの出力が停止されていないなら、
+パタンスペースの内容を標準出力に書き出します。
+また、パタンスペースを次の入力行
+で置き換えます。
+.sp
+.It [2addr]N
+パタンスペースに、次の入力行を追加します。このとき、元の内容との
+間に改行を埋め込みます。現在の行番号が変化することに注意してください。
+.sp
+.It [2addr]p
+パタンスペースの内容を標準出力に書き出します。
+.sp
+.It [2addr]P
+パタンスペースの最初の改行までの内容を標準出力に書き出します。
+.sp
+.It [1addr]q
+スクリプトの残りをスキップし、次の繰り返しを開始せずに終了します。
+.sp
+.It [1addr]r file
+次の入力行を読み込む直前に、ファイル
+.Em file
+の内容を標準出力に書き出します。
+.sp
+.It [2addr]s/regular expression/replacement/flags
+パタンスペース内で、 regular expression に対応する最初の部分を replacement で
+置換します。バックスラッシュと改行以外の文字をスラッシュのかわりに用
+いることができます。regular expression と replacement の中に、リテラルな区切り文
+字を置きたいときは、
+.Dq \e
+に続けて区切り文字を置きます。
+.Pp
+replacement 中のアンパサンド
+.Pq Dq &
+は、regular expression にマッチした文
+字列に置換されます。
+.Dq &
+の前に
+.Dq \e
+を置くことで、この特殊な
+.Dq &
+の解釈を禁止
+することができます。
+.Dq \e#
+(
+.Dq #
+は数字)は、regular expression の
+後方参照(back reference)表現にマッチするテキストに置換されます(
+.Xr re_format 7
+参照)。
+.Pp
+replacement に改行を含めることで、入力行を分割することができます。
+改行の直前に
+.Dq \e
+を置くことで、replacement 中に改行を含めることができ
+ます。
+.Pp
+s 関数の
+.Em flags
+には、以下のものを0個以上指定できます。
+.Bl -tag -width "XXXXXX" -offset indent
+.It "0 ... 9"
+パタンスペースの N 回目にマッチした内容を replacement で置換します。
+.It g
+先頭だけではなく、重なりあわない全てのマッチした内容を
+replacementで置換します。
+.It p
+置換が行われたら、パタンスペースの内容を標準出力に書き出します。
+もし、置換後の内容が置換前のものと同一でも置換が行われたとみなします。
+.It w Em file
+もし置換が行われたなら、パタンスペースの内容をファイル
+.Em file
+に追加します。
+もし、置換後の内容が置換前のものと同一でも置換が行われたとみなします。
+.El
+.sp
+.It [2addr]t [label]
+入力行が読み込まれてから、あるいは
+.Dq t
+関数が実行されてから、置換が
+行われていれば、指定した label を持つ
+.Dq \&:
+コマンドへ分岐します。label が指
+定されていない場合は、スクリプトの最後に分岐します。
+.sp
+.It [2addr]w Em file
+パタンスペースの内容をファイル
+.Em file
+に追加します。
+.sp
+.It [2addr]x
+パタンスペースとホールドスペースの内容を交換します。
+.sp
+.It [2addr]y/string1/string2/
+.Em string1
+に現れるパタンスペース中の文字を
+.Em string2
+の対応した
+文字に置換します。たとえば、`y/abc/ABC/' はパタンスペース中の文字
+a、b、c を大文字に置換します。
+`\e' と改行以外のすべての文字を区切りとし
+て用いることができます。
+.Em string1
+、
+.Em stirng2
+中では、`\e' 直後に改行以外の文字が続く場合はリテラルに解釈され、
+`\en' は改行と解釈されます。
+.sp
+.It [2addr]!function
+.It [2addr]!function-list
+関数または関数リストを、 address で選択されていない行に適用します。
+.sp
+.It [0addr]:label
+この関数は何も行いません。
+.Dq b
+、
+.Dq t
+で用いるラベルを生成します。
+.sp
+.It [1addr]=
+行番号と改行を標準出力に書き出します。
+.sp
+.It [0addr]
+空行は無視されます。
+.sp
+.It [0addr]#
+.Dq #
+とそれ以降の文字は無視されます(コメントとして扱われます)。
+ただし、ファイルの行頭の 2
+文字が `#n' の場合、デフォルトの出力が禁止されます。これは、コマンドライン
+に
+.Fl n
+オプションを指定した場合と等価です。
+.El
+.Pp
+.Nm
+は成功すれば、終了ステータス 0 を、失敗すれば 0 より大きな
+終了ステータスを返します。
+.Sh 関連項目
+.Xr awk 1 ,
+.Xr ed 1 ,
+.Xr grep 1 ,
+.Xr regex 3 ,
+.Xr re_format 7
+.Sh 歴史
+.Nm
+は
+.At v7
+で登場しました。
+.Sh 標準
+本
+.Nm
+の関数は
+.St -p1003.2
+のスーパセットとなっているはずです。
diff --git a/ja/man/man1/send-pr.1 b/ja/man/man1/send-pr.1
new file mode 100644
index 0000000000..4b27e8c353
--- /dev/null
+++ b/ja/man/man1/send-pr.1
@@ -0,0 +1,243 @@
+.\" -*- nroff -*-
+.\" ---------------------------------------------------------------------------
+.\" man page for send-pr (by Heinz G. Seidl, hgs@cygnus.com)
+.\" updated Feb 1993 for GNATS 3.00 by Jeffrey Osier, jeffrey@cygnus.com
+.\"
+.\" This file is part of the Problem Report Management System (GNATS)
+.\" Copyright 1992 Cygnus Support
+.\"
+.\" This program is free software; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public
+.\" License as published by the Free Software Foundation; either
+.\" version 2 of the License, or (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+.\" General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU Library General Public
+.\" License along with this program; if not, write to the Free
+.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA
+.\"
+.\" ---------------------------------------------------------------------------
+.\" jpman %Id: send-pr.1,v 1.2 1997/03/29 08:29:34 horikawa Stab %
+.nh
+.TH SEND-PR 1 3.2 "February 1993"
+.SH 名称
+send-pr \- サポートサイトに Problem Report (PR) を送る。
+.SH 書式
+.B send-pr
+[
+.I site
+]
+[
+.B \-f
+.I problem-report
+]
+[
+.B \-t
+.I mail-address
+]
+.br
+.in +0.8i
+[
+.B \-P
+]
+[
+.B \-L
+]
+[
+.B \-\-request-id
+]
+[
+.B \-v
+]
+.SH 解説
+.B send-pr
+は、サポートサイトに対して、
+.I problem report
+.\" SITE ADMINISTRATORS - change this if you use a local default
+(PR) を送るために使うツールです。大抵の場合は正しい
+.I site
+がデフォルトとなっているはずです。この引き数は、問題を引き起こしたもの
+のカテゴリに対して責任をもつサポートサイトを指し示します。いくつかの
+サイトはデフォルトとしてローカルアドレスを使っていることでしょう。
+.I site
+は、
+.BR aliases (5)
+を使って定義されます。
+.LP
+.B send-pr
+を実行すると、エディタが起動されて用意されているテンプレートを (いくつ
+かのフィールドにもっともらしいデフォルトの値をあてはめてから) 読み込ま
+れます。エディタを終了するとき
+.B send-pr
+は、サポートサイトの
+.I Problem Report Management System
+(\fBGNATS\fR) に完了した形式のものをメールで送ります。サポートサイトで
+は、PR は問題のカテゴリと \fIsubmitter-id\fR とにしたがって、唯一の番号が
+割り当てられて、\fBGNATS\fR データベースに保存されています。
+\fBGNATS\fR はメールを受け取ったことを知らせるために、
+問題のカテゴリの引用と PR 番号とを自動的に返送します。
+.LP
+PR がすぐに処理されるようにするためには、問題の
+カテゴリを記入する必要があります。(カテゴリは
+.B `send-pr -L'
+で見ることができます。)
+.LP
+より正確な問題の記述や、より完全な情報があればあるほど、サポートチーム
+は問題をより早く解決することができます。
+.SH オプション
+.TP
+.BI \-f " problem-report"
+すでに記入した PR ファイルを \fIproblem-report\fR に指定できます。
+.B send-pr
+はエディタを起動せずにファイルを送ります。
+.I problem-report
+が
+.BR `\|\-\|'
+のときは
+.B send-pr
+は、標準入力から読み込みます。
+.TP
+.BI \-t " mail-address"
+PR を送るサイトのメールアドレスを変更します。
+デフォルトのメールアドレスは、
+デフォルトサイトのものが使われます。特殊な状況を除き、この
+オプションではなく、
+.I site
+を使って下さい。
+.TP
+.B \-P
+環境変数
+.B PR_FORM
+で指定されたテンプレートを標準出力に出力します。
+.B PR_FORM
+が定義されていないときは、標準のブランク PR テンプレートが使われます。
+メールは送られません。
+.TP
+.B -L
+使用できるカテゴリが表示されます。メールは送られません。
+.TP
+.B \-\-request\-id
+デフォルトサイトか、
+.I site
+が指定されればそのサイトに
+.IR submitter-id
+を要求します。もしユーザがそのサイトと関係なければ、
+.I submitter-id
+は
+.BR net
+を使う必要があります。
+.TP
+.B \-v
+.B send-pr
+のバージョンを表示します。
+.LP
+注釈:
+PR を提出するためには、PR を直接メールするのではなく、
+.B send-pr
+を使いましょう。テンプレートと
+.B send-pr
+の両方を使うことによって、すべての必要な情報がサポートサイトに確実に届きます。
+.SH 環境変数
+.B EDITOR
+使用するエディタ
+.br
+デフォルト:
+.B vi
+.sp
+もし
+.B PR_FORM
+が設定されていれば、編集する PR のテンプレートのファイル名として使われ
+ます。部分的に完成したテンプレートから始めるためにこれを使うことができ
+ます (たとえば、すでに完成した identification フィールドを使ったテン
+プレートなどです) 。
+.SH " PR の記入方法"
+PR が形式に従っていれば、
+プログラムは簡単に PR を扱うことができます。
+以下のガイドラインを覚えておきましょう:
+.IP \(bu 3m
+それぞれの PR には
+.B 一つの問題
+だけを記述しましょう。
+.IP \(bu 3m
+フォローアップメールには、
+自動返送されて来るメールと同じサブジェクトを使いましょう。サブジェクトは、
+カテゴリ、PR 番号、元の概要の行から構成されています。
+これによってサポートサイト
+は、特定の PR を複数のメールメッセージと結びつけ、またそれらを自動的に
+記録することができます。
+.IP \(bu 3m
+サブジェクトや、概要の行はできるだけ正確するようにしましょう。
+.IP \(bu 3m
+公開されるバグリストはサブジェクトと概要の行から編集するので、
+機密情報はここに書かないでください。
+.LP
+詳しくは、GNU
+.B Info
+ファイルの
+.B send-pr.info
+か、RP について詳しく書かれている
+\fIReporting Problems With send-pr\fR\
+のドキュメントなどを参照してください。
+.SH "テストケース、コード、その他の記入方法"
+小さなサンプルコードを送りましょう。
+大きなテストケースや問題のソースコードを送りたい場合にには、
+サポートサイトに連絡を取り、指示してもらってください。
+.SH 関連ファイル
+.ta \w'/tmp/pbad$$ 'u
+/tmp/p$$ 編集しているときに使う PR のコピー
+.br
+/tmp/pf$$ テスト目的で使う、空の PR テンプレートコピー
+.br
+/tmp/pbad$$ 捨てられた PR のファイル
+.SH EMACS ユーザインタフェース
+.B send-pr
+のフィールドを記入するための Emacs ユーザインタフェースが
+.B send-pr
+の配布物に含まれます(
+.BR "M-x send-pr"
+で起動します)。
+コンフィギュレーションとインストールのための情報は、
+.B send-pr.info
+もしくは配布物の最上位ディレクトリにある
+.B INSTALL
+ファイルを参照してください。
+Emacs LISP のテンプレートファイル
+.B send-pr-el.in
+は
+.BR send-pr.el
+としてインストールされています。
+.SH インストールとコンフィギュレーション
+.B send-pr.info
+か
+.B INSTALL
+インストールガイドを参照してください。
+.SH 関連項目
+.I Reporting Problems Using send-pr
+(GNU Info ファイル
+.BR send-pr.info
+としてもインストールされます)
+.SH 作者
+Jeffrey Osier, Brendan Kehoe, Jason Merrill, Heinz G. Seidl (Cygnus
+Support)
+.SH COPYING
+Copyright (c) 1992, 1993 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+
diff --git a/ja/man/man1/sgsc.1 b/ja/man/man1/sgsc.1
new file mode 100644
index 0000000000..bbb0be2138
--- /dev/null
+++ b/ja/man/man1/sgsc.1
@@ -0,0 +1,95 @@
+.\" sgsc(1) - manual page for the `gsc' scanner device driver utility
+.\"
+.\"
+.\" Copyright (c) 1995 Gunther Schadow. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Gunther Schadow.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\" jpman %Id: sgsc.1,v 1.3 1997/06/12 22:00:17 horikawa Stab %
+.Dd January 6, 1995
+.Dt SGSC 1
+.Os
+.Sh 名前
+.Nm sgsc
+.Nd gsc スキャナデバイスのオプションを設定する
+.Sh 書式
+.Nm sgsc
+.Op Fl sq
+.Op Fl b Ar len
+.Op Fl f Ar file
+.Op Fl h Ar height
+.Op Fl r Ar resolution
+.Op Fl t Ar timeout
+.Op Fl w Ar width
+.Sh 解説
+.Nm
+ユーティリティはハンディスキャナデバイスドライバである gsc
+によって提供される ioctl リクエストへのシェルレベルでのアクセスを提供
+します。リクエストの正確な意味については
+.Xr gsc 4
+を参照して下さい。一般的
+にはリクエストは gsc スキャナデバイスの出力と動作を変更します。
+.Nm
+がオプションなしで実行された時には、現在の設定の報告のみを
+行ないます。
+.Sh オプション
+以下のオプションを使用可能です。
+.Bl -tag -width indent
+.It Fl s Bq GSC_SRESSW
+解像度選択スイッチの値にてスキャナを設定します。
+.It Fl q
+クワイエットモードで実行します。すなわち、現在の設定についての報告は行
+ないません。通常は、変更が行なわれるとパラメータが表示されます。
+.It Fl f Ar file
+ファイル名によって与えられた、異なるスキャナデバイスのノードに対して操
+作します。複数のスキャナデバイスのノードがある場合でも、それらのいくつ
+かは同じデバイスユニットを参照していることがあることに注意して下さい。
+変更はそれをアクセスするデバイスノードではなく、指定したユニットに対し
+て実行されます。
+.It Fl r Ar resolution Bq GSC_SRES
+解像度を dpi でセットします。
+.It Fl w Ar width Bq GSC_SWIDTH
+ビットマップの幅をピクセルでセットします。
+.It Fl h Ar height Bq GSC_SHEIGHT
+ビットマップの高さをピクセルのライン数でセットします。
+.It Fl b Ar len Bq GSC_SBLEN
+内部の dma バッファサイズを
+.Ar len
+行となるようにセットします。
+.It Fl t Ar timeout Bq GSC_SBTIME
+dma バッファを一つ読み込む時のタイムアウト時間をセットします。
+.Sh 関連ファイル
+.Bl -tag -width /dev/gsc0p -compact
+It Pa /dev/gsc0
+.Em raw
+出力のデバイスノード
+.It Pa /dev/gsc0p
+.Em pbm
+ファイルフォーマットで出力するデバイスノード
+.El
+.Sh 関連項目
+.Xr gsc 4
+.Sh 作者
+Gunther Schadow <gusw@fub46.zedat.fu-berlin.de>
diff --git a/ja/man/man1/sh.1 b/ja/man/man1/sh.1
new file mode 100644
index 0000000000..6e3b27af83
--- /dev/null
+++ b/ja/man/man1/sh.1
@@ -0,0 +1,1171 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Kenneth Almquist.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95
+.\" %Id: sh.1,v 1.9.2.4 1997/09/14 13:07:41 jkh Exp %
+.\" jpman %Id: sh.1,v 1.2 1997/05/31 16:40:31 jsakai Stab %
+.\" Japanese Translation amended by Norihiro Kumagai, 3/29/96,
+.\" based on the version of NetBSD Japanese Man Project
+.\" This amended version is for the FreeBSD-jpman Project, convened
+.\" by Kazuo Horikawa.
+.\"
+.Dd May 5, 1995
+.Dt SH 1
+.Os BSD 4
+.Sh 名称
+.Nm sh
+.Nd コマンドインタプリタ(シェル)
+.Sh 書式
+.Nm
+.Op Fl /+abCEefIimnpsuVvx
+.Op Fl /+o Ar longname
+.Op Fl c Ar string
+.Op Ar arg ...
+.Sh 解説
+.Nm sh
+はシステムの標準コマンドインタープリタです。
+現在
+.Nm
+は
+.St -p1003.2
+のシェル規約に対応する途上にあります。
+本バージョンのシェルは、見方によっては Korn shell と同様に
+見える機能を多数持っていますが、
+Korn shell のクローンではありません(もし Korn shell クローンを望むなら、
+Gnu の bash を使いましょう)。
+このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが
+取り入れられています。
+本マニュアルは、shell のチュートリアルでは
+ありませんし、仕様を完全に記述するものでもありません。
+.Ss 概要
+シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、
+コマンドを実行します。シェルはユーザがシステムにログインしたときに起動
+されるプログラムです(ただし、ユーザは chsh(1)
+コマンドによって他のシェルを選択することもできます)。
+シェルは、制御構文を持つ言語であり、
+データ記憶をはじめとして多様な機能を提供するマクロ機能、
+ヒストリ、行編集機能も内蔵しています。
+このシェルは対話的に使うときに便利な機能を多くとり入れており、
+対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、
+共通のインタプリタ言語を用いることができる利点があります。
+すなわち、コマンド名をシェルに直接タイプする
+ことも、コマンド名をファイルに書いておいてそのファイルをシェルに
+実行させることもできます。
+.Ss 起動
+引数が与えられず、かつシェルの標準入力が端末の場合 (または -i フラグが指定
+された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド
+入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを
+異なった方法で処理します (後述します)。
+起動時に、シェルは 0 番目の引数を検査します。もしそれが
+ダッシュ `-' で始まっているなら、シェルはログインシェルとして
+動作します。ユーザがシステムにログインした場合は自動的にこの状況に
+なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、
+.Pa /etc/profile
+と
+.Pa .profile
+ファイルからコマンドを読み込みます。
+シェル起動時に、もしくはログインシェルで
+.Pa .profile
+を実行中に環境変数
+.Ev ENV
+が設定されているなら、シェルは、その次に環境変数
+.Ev ENV
+で示されたファイルからコマンドを読み込みます。
+つまり、ユーザはログイン時にのみ実行したいコマンドを
+.Pa .profile
+に書き、シェルが起動されるたびに実行したいコマンドを環境変数
+.Ev ENV
+で示すファイルに書くことになります。
+環境変数
+.Ev ENV
+を設定するには、ユーザのホームディレクトリ下のファイル
+.Pa .profile
+に以下のように記述します。
+.sp
+.Dl ENV=$HOME/.shinit; export ENV
+.sp
+ここで、
+.Pa .shinit
+のかわりに好きな名前を指定することができます。
+オプション以外にコマンドライン引数が指定された場合、シェルは最初の引数
+を、コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、
+それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。
+それ以外の場合、シェルはコマンドを標準入力から読み込みます。
+.Pp
+古いバージョンの
+.Nm
+とは異なり、環境変数
+.Ev ENV
+で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。
+これにより、いい加減に書かれた
+.Ev ENV
+スクリプトに起因する、簡単に食いものにされることが多い有名な
+セキュリティホールがふさがれたことになります。
+.Ss 引数リスト処理
+.Nm
+の 1 文字からなるオプションはそれぞれ対応する名前を持っており、
+.Xr set 1
+組み込みコマンド (後述) の引数として用いることができます。
+これらの名前は、以下の説明で 1 文字オプションのすぐあとに書いてあります。
+マイナス記号
+.Dq -
+でオプションを指定することは、そのオプションを有効にすることを意味し、
+プラス記号
+.Dq +
+でオプションを指定することは、そのオプションを無効にすることを意味します。
+.Bl -tag -width Ds
+.It Fl a Li allexport
+値が代入された変数の全てをエクスポートします(未実装です)。
+.It Fl b Li notify
+バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま
+す(未実装です)。
+.It Fl C Li noclobber
+すでに存在するファイルに対して
+.Dq >
+リダイレクトにより上書きしません (未実装です)。
+.It Fl E Li emacs
+組込みの
+.Xr emacs 1
+風のコマンド行編集機能を有効にします (それ以前に -V オプションが指定
+された場合、それを無効にします)。
+.It Fl e Li errexit
+非対話的シェルで、テスト状態にないコマンドの実行に失敗した場合、
+直ちにシェルを終了します。
+コマンドは、if, elif, while, until 構文を
+制御するのに用いられている場合に、テスト状態であるとみなされます。
+また、
+.Dq &&
+や
+.Dq ||
+の左辺値として用いられているコマンドも、テスト状態とみなされます。
+.It Fl f Li noglob
+パス名展開を行ないません。
+.It Fl I Li ignoreeof
+対話的シェルの場合、入力の EOF を無視します。
+.It Fl i Li interactive
+シェルが対話的に動作するように強制します。
+.It Fl m Li monitor
+ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。
+.It Fl n Li noexec
+非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は
+しません。シェルスクリプトの文法を検査する場合に便利です。
+.It Fl p Li privileged
+特権モードを有効にします。
+起動時に実効ユーザ ID あるいは実効グループ ID が、実ユーザ ID や実グルー
+プ ID と一致していなければ、このモードが有効になります。このモードを無
+効化すると、実効ユーザ ID および実効グループ ID は、実ユーザ ID および
+実グループ ID に設定されます。
+対話的シェルでこのモードが有効になっていると、
+.Pa /etc/profile
+の後で
+.Pa ~/.profile
+に代わり、
+.Pa /etc/suid_profile
+を読み込みます。一方、環境変数
+.Ev ENV
+の内容は無視されます。
+.It Fl s Li stdin
+コマンドを標準入力から読み込みます (引数でファイル名が指定されていない
+場合には、このオプションが自動的に設定されます)。
+シェルが実行されてから本オプションを(
+.Xr set 1
+などによって)設定しても効果はありません。
+.It Fl u Li nounset
+値が設定されていない変数を展開しようとした場合、
+標準エラー出力にエラーメッセージを出力し、
+さらに非対話的シェルならば、ただちにシェルを終了します
+(未実装です)。
+.It Fl V Li vi
+組込みの
+.Xr vi 1
+風の行編集機能を有効にします (それ以前に
+.Fl E
+オプションが指定されていた場合、それは無効になります)。
+.It Fl v Li verbose
+入力を読み込むごとに標準エラー出力に書き出します。デバッグのときに便利です。
+.It Fl x Li xtrace
+各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの
+前に `+' を付加して) 書き出します。デバッグのときに便利です。
+.It Fl c Ar string
+文字列引数 string はシェルに渡され、入力として解釈されます。このオプショ
+ンは引数として文字列を一つだけ受け取ることに注意して下さい。ですから、複
+数の単語からなる文字列は引用符で囲う必要があります。
+.El
+.Ss 構文構造
+シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や
+シェルにとって特別な意味を持つ特定の文字列 (
+.Dq 演算子
+と呼ばれるもので
+す) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ
+ダイレクト演算子の 2 種類があります (これらの意味については後述します)。
+以下に、それらの一覧を示します。
+.Bl -tag -width Ds
+.It No 制御演算子:
+& && ( ) ; ;; | ||
+.No \en
+.It No リダイレクト演算子:
+< > >| << >> <& >& <<- <>
+.El
+.Ss 引用(クォート)
+引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味
+を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、
+ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法
+の 3 種類があります。
+.Bl -tag -width Ds
+.It シングルクォート文字
+シングルクォートのペアで囲まれた文字は、すべてその文字そのまま(リテラ
+ル)として扱われます (ただしシングルクォートは別です。シングルクォート
+で囲った文字列の中にシングルクォートを含めることはできません)。
+.It ダブルクォート文字
+ダブルクォートのペアで囲まれた文字は、ドル記号文字($)、バッククォート
+文字(`)、バックスラッシュ文字(\\) を除き、すべてリテラルとして扱われま
+す。ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史
+的経緯によりすこし変わった扱いを受けます。つまり、直後に $, `, ", \\,
+改行文字 が来るときにのみ、それらの文字がリテラルとして扱われます。そ
+れ以外の文字が来る場合、バックスラッシュ文字自体がリテラルとして扱われ
+ます。
+.It バックスラッシュ
+バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示
+します。ただし改行文字は別です。改行文字の直前のバックスラッシュは、行
+の継続であるとみなされます。
+.El
+.Ss 予約語
+予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子
+の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。
+.Bd -literal -offset indent
+! { } case do
+done elif else esac fi
+for if then until while
+.Ed
+.Ss エイリアス
+エイリアスは、名前とそれと対応する値が対になったもので、
+組込みコマンド
+.Xr alias 1
+によって定義されます。
+シェルは、予約語が現れる可能性がある場所(上記を参照)で、
+ある単語に対して、それが予約語かどうかの検査を済ませたのち、
+それがエイリアスに一致するかどうかを検査します。
+もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。
+たとえば、``lf'' という名前で ``ls -F'' という値を持つエイリアスが
+存在したとすると、次の入力行
+.Bd -literal -offset indent
+lf foobar <return>
+.Ed
+.Pp
+は、以下のように置換されます。
+.Bd -literal -offset indent
+ls -F foobar <return>
+.Ed
+.Pp
+エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、
+短いコマンドをつくり出す便利な方法を提供するものです。
+しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。
+そのような使い方はお勧めできません。
+.Ss コマンド
+シェルは、読み込んだ単語を、文法に従って解釈します。
+本マニュアルでは文法については解説しません。
+.St -p1003.2
+の BNF 表記を参照してください。要するに、行を1行を読み込み、読み込んだ
+行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語
+でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場
+合、複合コマンドあるいは特殊構造であると解釈します。
+.Ss 単純コマンド
+単純コマンドを解釈する場合、シェルは以下のような動作をします。
+.Bl -enum
+.It
+単語の前にある ``name=value'' の形式の単語を取り除き、
+単純コマンドの環境に代入します。
+リダイレクト演算子とその引数 (後述) を取り除き、
+あとで処理できるように保存します。
+.It
+残った単語を、「展開」の節で説明する方法で展開します。
+展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。
+残りの単語はコマンドへの引数とみなされます。
+処理の結果、コマンド名が残らなかった場合、手順 1) で
+取り出した ``name=value'' の変数代入を、現在のシェルの環境に反映します。
+.It
+次節で説明する方法で、リダイレクトを行ないます。
+.El
+.Ss リダイレクト
+リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを
+変更するときに用います。
+一般には、リダイレクトでは、ファイルのオープン、クローズ、または
+ファイルへの参照の複写 (duplicate) を行います。
+リダイレクトで用いられる全般的な形式は、以下のとおりです。
+.sp
+.Dl [n] redir-op file
+.sp
+ここで、redir-op は前述したリダイレクト演算子のいずれかです。
+これらの演算子をどのように利用するかの例をいくつか以下に挙げます。
+.Bl -tag -width "1234567890" -offset indent
+.It [n]> file
+標準出力 (またはファイル記述子 n への出力) をファイル file に書き出します。
+.It [n]>| file
+上と同様。ただし、-C オプションの効果を打ち消します。
+.It [n]>> file
+標準出力 (またはファイル記述子 n への出力) をファイル file に追加します。
+.It [n]< file
+標準入力 (またはファイル記述子 n からの入力) をファイル file から取ります。
+.It [n1]<&n2
+ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複写します。
+.It [n]<&-
+標準入力 (またはファイル記述子 n) をクローズします。
+.It [n1]>&n2
+ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に複写します。
+.It [n]>&-
+標準出力 (またはファイル記述子 n) をクローズします。
+.It [n]<> file
+標準入力 (あるいはファイル記述子 n) により、ファイル file を
+読み書きするようにします。
+.El
+.Pp
+以下のリダイレクトは、しばしば``ヒア・ドキュメント(here-document)''と
+呼ばれます。
+.Bd -literal -offset indent
+[n]<< delimiter
+ here-doc-text...
+delimiter
+.Ed
+.Pp
+シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ
+ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォー
+ト) されていた場合、here-doc-text の内容をリテラルとして扱います。そ
+うでない場合、パラメータ展開、コマンド置換、数値演算 (「展開」の節で説
+明します) を適用します。演算子が (``<<'' でなく) ``<<-'' の場合は、
+here-doc-text の各行の行頭のタブを取り除きます。
+.Ss コマンド検索と実行
+コマンドには、シェル関数、組込みコマンド、通常プログラムの 3 種類があり、
+コマンドを検索する際には、シェルは名前の検索をこの順序で行います。
+それぞれのコマンドは異なる方法で実行されます。
+.Pp
+シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..)
+をシェル関数への引数として設定します。$0 は変更されません。シェル関数
+の環境として指定された変数 (関数名の直前に ``name=value'' を置いて指定
+されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ
+れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ
+ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現
+在のシェルの中で処理されます。
+.Pp
+組込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。
+.Pp
+コマンドが関数でも組込みコマンドでもない場合は、通常のプログラムとみなし
+(次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。
+通常のプログラムを実行する場合、シェルは引数と
+環境をプログラムに渡して、そのプログラムを実行します。
+プログラムが通常の実行ファイル形式ではない場合 (つまり、
+.Tn ASCII
+表現で "#!" となる「マジックナンバ」でファイルが始まっておらず、
+.Fn execve 2
+が
+.Er ENOEXEC
+を返す場合)、
+サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新た
+にシェルが起動されたかのような効果を得るために、子シェルは自分自身を再
+初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド
+位置情報を憶えており、これは再初期化されません。
+.Pp
+本ドキュメントの古いバージョンや古いソースコードでは、ときおり、マジッ
+クナンバのないシェルスクリプトのことを「シェルプロシージャ」と呼んでい
+て、まぎらわしい場合がありますので注意して下さい。
+.Ss パス検索
+コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを
+調べます。次に、その名前の組込みコマンドがあるかどうかを調べます。
+組み込みコマンドでもない場合、以下のいずれかの処理が行われます:
+.Bl -enum
+.It
+コマンド名にスラッシュが含まれていれば、検索は行わず、
+単にそのコマンドが実行されます。
+.It
+変数
+.Ev PATH
+に含まれる各エントリに対して、順にそのコマンドを検索します。
+変数
+.Ev PATH
+の値はコロン(``:'')で区切られたエントリの列でなければなりません。
+各エントリは、それぞれディレクトリ名一つに対応します。
+カレントディレクトリは、
+空のディレクトリ名を指定することで暗黙的に、
+あるいは 1 個のピリオドを指定することで明示的に
+指示することができます。
+.El
+.Ss コマンドの実行ステータス
+各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に
+影響を与えることができます。基本的な考え方として、終了ステータス 0 は
+通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを
+意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう
+な意味を持つかが記述されているはずです。組込みコマンドと(実行された)
+関数も終了ステータスを返します。
+.Ss 複合コマンド(Complex Commands)
+複合コマンドは、単純コマンドの組み合わせで作ります。
+制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生
+成します。一般に、コマンドは以下のうちのいずれかです。
+.Bl -item -offset indent
+.It
+単純コマンド
+.It
+パイプライン
+.It
+リストまたは合成リスト(compound-list)
+.It
+合成コマンド(compound command)
+.It
+関数定義
+.El
+.Pp
+特に指定のない場合、コマンドの終了ステータスは最後に実行された
+単純コマンドの終了ステータスとなります。
+.Ss パイプライン
+パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。
+最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に
+接続されます。
+最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。
+.Pp
+パイプラインの形式は次のとおりです。
+.Bd -literal -offset indent
+[!] command1 [ | command2 ...]
+.Ed
+.Pp
+command1 の標準出力は command2 の標準入力に接続されます。コマンドの標
+準入出力がパイプラインによって割り当てられるのは、各コマンドに属するリ
+ダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて下
+さい。
+.Pp
+パイプラインがバックグラウンド (後述) でなければ、シェルはすべての
+コマンドが終了するのを待ちます。
+.Pp
+パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは
+パイプラインの最後のコマンドの終了ステータスとなります。
+`!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの
+終了ステータスの論理否定を取った値となります。
+すなわち、最後のコマンドが 0 を返した場合、パイプラインの
+終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、
+終了ステータスは 0 になります。
+.Pp
+パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、
+パイプラインの接続をリダイレクトによって修正することができます。たとえば、
+.Bd -literal -offset indent
+$ command1 2>&1 | command2
+.Ed
+.Pp
+は、command1 の標準出力と標準エラー出力の両方を command2 の標準入力に
+接続します。
+.Pp
+\&; または改行文字を終端として用いることにより、直前の AND-OR リスト (後述) を
+順次実行します。& は、直前の AND-OR リストを非同期に実行します。
+.Pp
+注: 他のいくつかのシェルと異なり、パイプラインの各プロセスは
+起動したシェルの子プロセスとなります (シェルの組み込みコマンドである
+ときは別です。その場合は現在のシェルで実行されます --- ただし
+環境に対して行った操作は取り消されます)。
+.Ss バックグラウンドコマンド -- &
+コマンドが制御演算子 & で終了している場合、シェルはそのコマンドを
+非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、
+次のコマンドの実行を開始します。
+.Pp
+コマンドをバックグラウンドで実行させるための形式は以下のとおりです。
+.Bd -literal -offset indent
+command1 & [command2 & ...]
+.Ed
+.Pp
+シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が
+接続されます。
+.Ss リスト -- 一般的な話
+リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン
+パーサント文字 (&) で区切った列です。リストは、これら 3 つの記号のいず
+れかで終了させることもできます。リスト中のコマンドは並べられた順に実行
+されます。もし、コマンドに続けてアンパーサント文字が置かれている場合、
+シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始しま
+す。その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開
+始します。
+.Ss 短絡リスト演算子(Short-Circuit List Operators)
+``&&'' と ``||'' は AND-OR リスト演算子です。 ``&&'' は最初のコマンド
+を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを
+実行します。 ``||'' も同様ですが、最初のコマンドの終了ステータスが 0
+でない場合に、次のコマンドを実行します。 ``&&'' と ``||'' の優先順位は
+同じです。
+.Ss 制御構造 -- if, while, for, case
+if コマンドの文法は以下のとおりです。
+.Bd -literal -offset indent
+if list
+then list
+[ elif list
+then list ] ...
+[ else list ]
+fi
+.Ed
+.Pp
+while コマンドの文法は以下のとおりです。
+.Bd -literal -offset indent
+while list
+do list
+done
+.Ed
+.Pp
+最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し
+実行します。until コマンドも同様に実行しますが、
+単語 while の代わりに単語 until を使うことと、
+最初のリストの終了ステータスが 0 になるまで、
+2 つのリストを繰り返し実行することが異なります。
+.Pp
+for コマンドの文法は以下のとおりです。
+.Bd -literal -offset indent
+for variable in word...
+do list
+done
+.Ed
+.Pp
+各 word は展開され、変数 variable に word を順に設定しながらリストを
+繰り返し実行します。do と done は ``{'' と ``}'' で置き換えることができます。
+.Pp
+break と continue コマンドの文法は以下のとおりです。
+.Bd -literal -offset indent
+break [ num ]
+continue [ num ]
+.Ed
+.Pp
+break は内側から num 個の for ループまたは while ループを終了します。
+continue は、 num 個目のループの次の繰り返しに制御を移します。
+.\" 上の文、原文では以下のようになっているが、the *num* innermost loop が
+.\" 正しいと思われる。実際の sh の動作もそうなっているようだ。
+.\" --- 97/05/31 sakai@jp.freebsd.org ↓
+.\" Continue continues with the next iteration of the innermost loop.
+これらのコマンドは組込みコマンドとして実装されています。
+.Pp
+case コマンドの文法は以下のとおりです。
+.Bd -literal -offset indent
+case word in
+pattern) list ;;
+ ...
+esac
+.Ed
+.Pp
+pattern は、1 つあるいは複数のパターン (後述の「シェルパターン」を参照
+のこと) を ``|'' で接続したものです。
+.Ss 複数のコマンドのグループ化
+コマンドは、以下のいずれかの方法によりグループ化することができます
+.Bd -literal -offset indent
+(list)
+.Ed
+.Pp
+または、
+.Bd -literal -offset indent
+{ list; }
+.Ed
+.Pp
+最初の形式では、コマンドはサブシェル上で実行されます。
+(list) のなかの組込みコマンドは、現在のシェルには影響を与えません。
+2 つめの形式では新たなシェルを fork しないので、やや効率が良くなります。
+このようにして複数コマンドをグループ化することで、
+あたかも単一プログラムであるかのように、それらの出力をまとめて
+リダイレクトすることができます。
+.Bd -literal -offset indent
+{ echo -n "hello"; echo " world" } > greeting
+.Ed
+.Ss 関数
+関数定義の構文は以下のとおりです。
+.Bd -literal -offset indent
+name ( ) command
+.Ed
+.Pp
+関数定義は実行可能文の一種です。実行されると、名前 name の関数
+が定義され、終了ステータスとして 0 を返します。command は
+通常、``{'' と ``}'' で囲まれたリストです。
+.Pp
+local コマンドを用いて関数に局所的な変数を宣言することができます。
+これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。
+.Bd -literal -offset indent
+local [ variable | - ] ...
+.Ed
+.Pp
+local コマンドは、組込みコマンドとして実装されています。
+.Pp
+変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、
+新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名
+前の変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ
+を用います。すなわち、関数 f に局所的な変数 x を作成し、関数 f から関
+数 g を呼び出した場合、関数 g 内部での変数 x に対する操作は大域変数 x
+ではなく、関数 f で宣言された変数 x への操作となります。
+.Pp
+特殊パラメータのうち局所宣言できるのは ``-'' だけです。 ``-'' を
+局所宣言すると、関数内で set コマンドを用いてシェルオプションを
+変更しても、関数が終了するとそれらのオプションは元の値に戻ります。
+.Pp
+return コマンドの文法は以下のとおりです。
+.Bd -literal -offset indent
+return [ exitstatus ]
+.Ed
+.Pp
+return は現在実行中の関数を終了させます。return は組込みコマンドとして
+実装されています。
+.Ss 変数とパラメータ
+シェルはパラメータの集合を管理しています。名前を持つパラメータを
+変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。
+新たな変数は、次の形式によって設定できます。
+.Bd -literal -offset indent
+name=value
+.Ed
+.Pp
+ユーザが設定する変数は、アルファベット、数字、アンダースコア (_) のみ
+からなる名前を持つ必要があります。また、最初の文字が数字であっては
+いけません。
+パラメータは、以下に示す数字または特殊記号により参照することもできます。
+.Ss 位置パラメータ
+位置パラメータは、数字 (n > 0) によって参照されるパラメータです。シェルは
+位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。
+組込みコマンド
+.Xr set 1
+により再設定や消去ができます。
+.Ss 特殊パラメータ
+特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される
+パラメータです。各パラメータの値の説明を各文字の後ろに示します。
+.Bl -hang
+.It *
+位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開
+される場合、展開結果は各位置パラメータの間を変数 IFS の先頭の文字 (IFS
+が設定されていない場合は空白文字) で区切った単一の文字列になります。
+.It @
+位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開
+される場合、各位置パラメータは別々の引数となります。
+もし、位置パラメータが設定されていない場合には、
+@ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。
+すなわち、$1 が ``abc''、$2 が ``def ghi'' であっ
+た場合、"$@" は次の 2 つの引数に展開されます。
+.Bd -literal -offset indent
+"abc" "def ghi"
+.Ed
+.It #
+位置パラメータの数に展開されます。
+.It ?
+最後に実行したパイプラインの終了ステータスに展開されます。
+.It -
+(ハイフン) 現在のオプションフラグ (1文字オプション名をつないだ文字列)
+に展開されます。起動時に指定されたもの、組込みコマンド set で指定した
+もの、シェルが暗黙に設定したもののすべてを含みます。
+.It $
+起動されたシェルのプロセス ID に展開されます。
+サブシェルも親シェルと同じ値を持ちます。
+.It !
+現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に
+展開されます。パイプラインの場合、パイプラインの最後のコマンドの
+プロセス ID になります。
+.It 0
+(ゼロ) シェルの名前またはシェルスクリプト名に展開されます。
+.El
+.Ss 単語展開
+本節では、単語に対して適用されるさまざまな展開について説明します。あとで
+述べるように、すべての展開がすべての単語に対して適用されるわけではありません。
+.Pp
+単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、
+数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が
+複数のフィールドに分割される可能性があるのは、フィールド分割または
+パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の
+パラメータ @ の展開です (前述)。
+.Pp
+単語展開の順序は以下のとおりです。
+.Bl -enum
+.It
+チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて
+同時に行われます)
+.It
+変数 IFS の値が空でなければ、(1) の結果の各フィールドに対して
+フィールド分割が行われる
+.It
+パス名展開 (-f オプションが無効の場合)
+.It
+クォート削除
+.El
+.Pp
+文字 $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。
+.Ss チルダ展開 (ユーザのホームディレクトリ名への置換)
+引用されていないチルダ文字 (~) で始まる単語は、チルダ展開の対象になります。
+チルダ文字からスラッシュ文字または単語の終端までのすべての文字がユーザ名
+とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が
+省略された場合(たとえば ~/foobar)、チルダ文字は変数 HOME の値(現在のユーザ
+のホームディレクトリ)に置換されます。
+.Ss パラメータ展開
+パラメータ展開の形式は以下のとおりです。
+.Bd -literal -offset indent
+${expression}
+.Ed
+.Pp
+ここで、expression は対応した `}' までのすべての文字です。対応する`}'
+を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に
+狭まれた `}' や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に
+ある文字は調べる対象になりません。
+.Pp
+パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。
+.Bd -literal -offset indent
+${parameter}
+.Ed
+.Pp
+そのパラメータに値が存在する場合、その値に置き換えられます。
+.Pp
+パラメータ名やシンボルを中括弧({})で囲んでも構いません。この中括弧は、
+数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に
+パラメータ名の一部であるとみなし得る文字が続く場合を除き、
+省略可能です。ダブルクォート引用中のパラメータ展開は以下
+のようになります。
+.Bl -enum
+.It
+パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。
+.It
+パラメータが @ の場合を除き、フィールド分割は適用されません。
+.El
+.Pp
+さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える
+ことができます。
+.Bl -tag -width Ds
+.It Li ${parameter:-word}
+デフォルト値への置換: パラメータ parameter が設定されていないか空の値
+を持つ場合、word を展開した結果に置換されます。さもなければ、パラメー
+タ parameter の値に置換されます。
+.It Li ${parameter:=word}
+デフォルト値の代入:
+パラメータ parameter が設定されていないか空の値を持つ場合、word を展開
+した結果が parameter に代入されます。最終的にパラメータ parameter の値
+に置換されます。位置パラメータや特殊パラメータは、この方法で代入すること
+はできません。
+.It Li ${parameter:?[word]}
+空か設定されていないときにエラーとする:
+パラメータ parameter が設定されていないか空の値を持つ場合、word を展開
+した結果 (word が省略された場合にはパラメータが設定されていないことを表す
+デフォルトのメッセージ) が標準エラー出力に書き出され、
+シェルは非 0 の終了ステータスで終了します。
+それ以外の場合、パラメータ parameter の値に置換されます。対話的シェルの場合は
+必ずしも終了しません。
+.It Li ${parameter:+word}
+代替値の使用:
+パラメータ parameter が設定されていないか空の値を持つ場合、空の値に
+置換されます。さもなければ、word を展開した結果に置換されます。
+.Pp
+以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない
+かまたは空の値であることが検査され、`:' を省略するとパラメータが
+設定されていないことのみを検査します。
+.It Li ${#parameter}
+文字列の長さ: パラメータの値の(文字列としての)長さに置換されます。
+.Pp
+以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合
+において、パターンは正規表現ではなく、パターンマッチ記法 (シェルパターン
+の項を参照) が用いられます。パラメータが` * 'または` @ 'の場合、展開の結果
+がどうなるかは規定しません (unspecified)。
+パラメータ展開全体をダブルクォートで囲んでも
+パターンは引用されません。中括弧のなかで引用することにより
+パターンを引用することができます。
+.It Li ${parameter%word}
+最短後置パターンの削除:
+まず word が展開され、その結果をパターンとして扱います。
+パラメータ parameter の右から、パターンに一致する最短の部分を削除した文字列に
+置換されます。
+.It Li ${parameter%%word}
+最長後置パターンの削除:
+まず word が展開され、その結果をパターンとして扱います。
+パラメータ parameter の右から、パターンに一致する最長の部分を削除した文字列に
+置換されます。
+.It Li ${parameter#word}
+最短前置パターンの削除:
+まず word が展開され、その結果をパターンとして扱います。
+パラメータ parameter の左から、パターンに一致する最短の部分を削除した文字列に
+置換されます。
+.It Li ${parameter##word}
+最長前置パターンの削除:
+まず word が展開され、その結果をパターンとして扱います。
+パラメータ parameter の左から、パターンに一致する最長の部分を削除した文字列に
+置換されます。
+.El
+.Ss コマンド置換
+コマンド置換により、コマンド名自身をコマンドの出力で置き換えることができます。
+コマンド置換は、以下のように、コマンド command を囲った場合、
+.Bd -literal -offset indent
+$(command)
+.Ed
+.Pp
+または(``バッククォート'' バージョン)、
+.Bd -literal -offset indent
+`command`
+.Ed
+.Pp
+とした場合に行なわれます。
+シェルは、コマンド command をサブシェルの環境で実行し、command が標準出力
+に出力したものから最後の改行文字を削除した結果で置換します (最後以外の
+改行は削除しません。ただし、フィールド分割の際に、IFS の値や引用のされかたに
+よっては、ここで残った改行文字が結局は空白に置換されることもあります)。
+.Ss 数式展開
+数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下
+のとおりです。
+.Bd -literal -offset indent
+$((expression))
+.Ed
+.Pp
+数式 expression は、その中のダブルクォート文字が特別扱いを受けないという
+点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。
+シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、
+クォート削除を適用します。
+.Pp
+次にシェルはその結果を数式として扱い、その値に置換します。
+.Ss 空白文字による分割 (フィールド分割)
+パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、
+ダブルクォートの外にある部分に対してフィールド分割を適用します。
+その結果、複数のフィールドになる場合もあります。
+.Pp
+シェルは、変数 IFS に設定されている文字それぞれ区切り文字とみなし、
+パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。
+.Ss パス名展開 (ファイル名生成)
+-f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成
+が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ
+れます。パス名展開処理において、単語は、条件を満たすファイル
+すべてのファイル名の列で置換されます。この各ファイル名は、単語の
+各パターン部分を、そのパターンに一致する文字列に置換することで
+生成されるものです。
+これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には
+一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、
+ピリオドで始まる文字列に一致しません。
+次節では、パス名展開と
+.Xr case 1
+コマンドで用いられるパターンについて説明します。
+.Ss シェルパターン
+パターンは、通常の文字とメタキャラクタからなります。通常の文字は、
+その文字そのものに一致します。
+メタキャラクタは ``!''、 ``*''、 ``?''、 ``['' です。これらの文字を引用
+すると、各々の特殊な意味を失います。コマンド置換や変数置換において、
+ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、
+変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが
+調べられ、それらがあれば、メタキャラクタとして扱われます。
+.Pp
+アスタリスク文字 (``*'') は、どのような文字列とも一致します。
+クエスチョンマーク文字 (``?'') は、任意の文字 1 文字と一致します。
+左大括弧 (``['') は文字クラスを開始します。
+文字クラスの最後は右大括弧 (``]'') です。``]'' がない場合
+は、``['' は文字そのものに一致し、文字クラスの開始とは見なされません。文字
+クラスは大括弧内に出現するすべての文字に一致します。
+マイナス記号を用いれば、文字の範囲を指定することができます。
+文字クラスの最初にエクスクラメーションマーク (``!'') を置くことで、
+文字クラスの意味を反転させることができます。
+.Pp
+文字クラスに文字 ``]'' を含めるには、 ``]'' を文字クラスの最初 (``!'' を
+置く場合はそのあと) に置きます。
+文字クラスにマイナス記号を含めるときも同様で、
+リストの最初もしくは最後に置きます。
+.Ss 組込みコマンド
+本節では、別プロセスでは実行できない処理を行なうために組み込まれている
+コマンドを列挙します。
+さらに、効率を上げるために組込みされているコマンド (例えば
+test(1)
+.Xr printf 1 ,
+.Xr echo 1 ,
+.Xr test 1 ,
+等) もあわせて列挙します。
+.Bl -tag -width Ds
+.It :
+終了ステータス 0 (真) を返すヌルコマンドです。
+.It \&. file
+指定されたファイル file に記述されたコマンドがシェルに読み込まれ、
+実行されます。
+.It alias [ name[=string] ... ]
+name=string が指定されている場合、シェルは名前 ``name'' を持つ値
+``value'' のエイリアスを定義します。単に ``name'' だけが指定された場合、
+エイリアス ``name'' の値が表示されます。引数が指定されない場合、定義さ
+れているすべてのエイリアスの名前と値を表示します (unalias も参照)。
+.It bg [ job ] ...
+指定されたジョブ (指定されなかった場合は現在のジョブ) を、
+続けてバックグラウンドで実行させます。
+.It command command arg ...
+指定された組込みコマンドを実行します (組込みコマンドと同じ名前のシェル関数
+がある場合に使います)。
+.It cd [ directory ]
+指定されたディレクトリに移動します (directory 無指定時は $HOME
+に移動します)。
+cd コマンドの
+環境に CDPATH 変数があるか、シェル変数 CDPATH が設定されていて、かつ
+指定されたディレクトリ directory がスラッシュ文字から始まっていないなら、
+CDPATH に列挙されたディレクトリ以下に
+指定されたディレクトリ directory がないか検索されます。
+CDPATH の形式は PATH と同様です。対話的シェルでは、ユーザ
+が指定したディレクトリと異なる場所に移動した場合、移動先のディレクトリ名
+を表示します。これは、CDPATH の機構が動作した場合と、シンボリックリンクを
+辿った場合に発生します。
+.It eval string ...
+指定されたすべての引数を空白で結合し、その結果を解析し直してから
+コマンドとして実行します。
+.It exec [ command arg ... ]
+コマンドが省略されない場合、そのシェルプロセスは指定されたプログラムに
+置き換えられます (command は、シェル組込みコマンドや関数ではない、本物の
+プログラムでなければなりません)。exec コマンドにおけるリダイレクトは、
+永久性を持つと見なされ、 exec コマンド完了後にも引き続き効力を持ちます。
+.It exit [ exitstatus ]
+シェルを終了します。指定された exitstatus は、シェルの終了ステータスに
+なります。exitstatus が省略された場合、直前に実行したコマンドの
+終了ステータスがシェルの終了ステータスとなります。
+.It export name ...
+それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が
+含まれるようにします (変数のエクスポート)。
+変数のエクスポートを取り消す唯一の方法は、変数を unset することです。
+以下のように記述することで、エクスポートすると
+同時に変数の値を設定することができます。
+.Bd -literal -offset indent
+export name=value
+.Ed
+.Pp
+引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。
+.It fc [-e editor] [first [last]]
+.It fc -l [-nr] [first [last]]
+.It fc -s [old=new] [first]
+fc は、対話的シェルにそれ以前に入力されたコマンドの内容を
+表示、編集、再実行します。
+.Bl -tag -width Ds
+.It -e editor
+編集に際し、指定されたエディタ editor を使用します。
+editor は変数 PATH を通して検索できるコマンド名です。
+-e が指定されなかった場合は、変数 FCEDIT の値が
+用いられます。FCEDIT が設定されていないか空に設定されている場合は
+EDITOR の値が用いられ、それも設定されていないか空ならば
+.Xr ed 1
+が用いられます。
+.It -l (ell)
+(小文字のエル)
+エディタを起動せずに、コマンド履歴の内容を一覧出力します。
+パラメータ first と last で指定した範囲のコマンドが順に
+(出力の順番は -r オプションの影響を受けます)出力されます。
+各コマンドの出力の際にはコマンド番号が付加されます。
+.It -n
+-l で一覧出力する際にコマンド番号を付加しません。
+.It -r
+-l オプションでの一覧や、
+編集時 (-l も -s も指定されなかった場合) の順序を反転します。
+.It -s
+エディタを起動せずにコマンドを再実行します。
+.It first
+.It last
+一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド
+の数は変数 HISTSIZE の値で決まります。
+first、last の値は以下のいずれかの形式で指定します。
+.It [+]number
+正の数で、コマンド番号を指定します。コマンド番号は -l オプションで表示させて
+調べることができます。
+.It -number
+負の数で、指定された数だけ現在から遡ったコマンドを指定します。たとえば、
+-1 は直前に実行されたコマンドを指定します。
+.It string
+文字列 string は、過去に実行されたコマンドのうち、
+その文字列から始まる最新のものを指定します。
+もし -s オプションが指定されて ``old=new'' が指定されていなければ、
+最初のオペランドにイコール記号(``='')を含めることはできません。
+.El
+.\" 次の行の .Pp はもともとコメントアウトされていた
+.Pp
+fc コマンドの実行にあたり、以下の環境変数の影響を受けます。
+.Bl -tag -width Ds
+.It Va FCEDIT
+使用するエディタ名
+.It Va HISTSIZE
+アクセス可能なコマンド数
+.El
+.It fg [ job ]
+指定されたジョブまたは現在のジョブをフォアグラウンドに移動します。
+.It getopts optstring var
+POSIX に準拠した getopts コマンドです。
+この getopts コマンドにより、以前の getopt コマンドの必要性は減少しました。
+最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、
+そのオプションが引数をとることを指示します。
+指定された変数に、解析され見つかったオプションが設定されます。
+見つかったオプションの次の引数のインデクスはシェル変数 OPTIND に格納されます。
+あるオプションが引数をとる場合、その引数はシェル変数 OPTARG に置かれます。
+有効でないオプションに出くわすと、変数 var には `?' がセットされます。
+getopts はオプション群の末尾に到達すると偽の値 (1) を返します。
+.It hash -rv command ...
+シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。
+hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。
+最後に cd コマンドが実行されてから参照されていない項目には
+アスタリスク文字 (``*'') が表示されます。
+この項目は無効になっているかもしれません。
+.Pp
+引数を指定した場合、hash コマンドは指定したコマンドをハッシュテーブル
+から削除し (command が関数ではない場合)、その後でそのコマンドを検索します。
+-v オプションを指定した場合、発見したコマンドの位置を表示します。-r オ
+プションを指定した場合、関数以外のすべてのエントリをハッシュテーブルから
+削除します。
+.It jobid [ job ]
+ジョブ job 中の各プロセスのプロセス ID を表示します。引数 job が
+省略された場合、現在のジョブに対して処理を行います。
+.It jobs
+バックグラウンドで走行中の、現在のシェルプロセスの子プロセスの
+一覧を出力します。
+.It pwd
+カレントディレクトリを表示します。組込みコマンドの pwd は
+カレントディレクトリ名を覚えており、表示するときに再計算しないので、
+組込みコマンドの pwd は同名のプログラムとは異なった表示をする場合があります。
+このため処理は高速ですが、カレントディレクトリ
+の名前を変更した場合でも、以前のディレクトリ名を表示し続けます。
+.It read [ -p prompt ] [ -e ] variable ...
+-p オプションが指定され、かつ標準入力が端末の場合、
+prompt をプロンプトとして表示します。
+そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の
+単語分割の方法に従って分割し、各単語を、valiable... で指定する各変数に
+順に代入します。
+もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に
+残りの単語すべて (IFS の文字を区切りにしてそれらも一緒に) が代入されます。
+分割された単語の数より多くの変数が指定されていたなら、
+余った変数には空文字列が設定されます。
+.Pp
+-e オプションを指定すると、入力中のバックスラッシュ文字を特別扱いします。
+バックスラッシュ文字が改行文字の直前にある場合、
+バックスラッシュ文字と改行文字は削除されます。
+その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、
+文字が IFS に含まれていても、IFS の文字でないかのように扱われます。
+.It readonly name ...
+指定された名前の変数を読み出し専用とし、あとで値を変更したり unset した
+りすることができないようにします。以下のように記述することで、
+変数を読み出し専用と宣言するのと同時に値を設定することも可能です。
+.Bd -literal -offset indent
+readonly name=value
+.Ed
+.Pp
+引数が指定されない場合、読み出し専用になっている変数の名前の一覧が表示され
+ます。
+.It Li "set [ { -options | +options | -- } ] arg ...
+set コマンドは 3 通りの異なった機能を持ちます。
+.Bl -item
+.It
+引数を指定しなかった場合、すべてのシェル変数の名前と値の一覧を表示します。
+.It
+options が指定された場合、「引数リスト処理」の節で説明した方法で、
+指定されたオプションフラグを設定あるいは解除します。
+.It
+第 3 の用法は、シェルの位置パラメータを変更する際に使用します。オプションの
+設定を変更せずに位置パラメータのみを変更したい場合は set コマンドへの最初
+の引数として ``--'' を指定します。arg が指定されない場合、
+すべての位置パラメータはクリアされます (``shift $#'' を実行することと
+等価です)。
+.El
+.Pp
+.It setvar variable value
+変数に値を代入します。(一般に、setvar を使うよりも variable=value と書くほう
+が望ましいといえます。setvar は、関数内で、パラメータとして渡された名前を持つ
+変数に値を代入するためのものです。)
+.It shift [ n ]
+位置パラメータを n 回シフトします。1 回のシフトにより、$2 の値が $1 に、$3 の
+値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。
+位置パラメータがない場合、shift は何もしません。
+.It trap [ action ] signal ...
+シェルが指定されたシグナル signal を受けとったときに、action を解析し実行する
+ように設定します。シグナルはシグナル番号で指定します。action は空文字列に
+したり、省略したりすることができます。空文字列の場合、指定されたシグナルは
+無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を
+行ないます。シェルがサブシェルを起動するとき、trap で指定された (かつ
+無視するように設定されていない) シグナルの動作をデフォルトの処理に戻します。
+シェルが起動したときにすでに無視されるように設定されていたシグナルに対して
+trap コマンドを使用しても効果はありません。
+.It type [name] ...
+各 name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ
+れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル
+の組込みコマンド、コマンド、痕跡つきエイリアス(tracked alias)、最後に
+not found (見つからず)があります。エイリアスについては、エイリアス展開
+の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマ
+ンドの完全なパス名が印刷されます。
+.It ulimit [ -HSacdflmnust ] [ limit ]
+リソースのリミット値 (リミット値については
+.Xr getrlimit 2
+参照) を設定あるいは表示します。
+``limit'' が指定されている場合、指定されたリソースが設定されます。
+それ以外の場合、現在のリソース設定値が表示されます。
+.Pp
+``-H'' が指定された場合、ハードリミットが設定ないし表示されます。
+ハードリミット値を下げることは誰にでもできますが、
+それを増やすことができるのはスーパユーザだけです。
+オプション ``-S'' を指定した場合はソフトリミットになります。
+リミット値を表示する場合、``-S'' か ``-H'' のいずれか一方だけしか
+指定できません。
+デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。
+.Pp
+オプション ``-a'' を指定すると全リソースの設定値が表示されます。
+この場合、パラメータ ``limit'' は指定できません。
+.Pp
+この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。
+これらは互いに排他的です。
+.Bl -tag -width Ds
+.It -c coredumpsize
+コアダンプファイルの最大サイズ。512 バイトのブロック単位。
+.It -d datasize
+プロセスのデータセグメントの最大サイズ。キロバイト単位。
+.It -f filesize
+ファイルの最大サイズ。512 バイトブロック単位。これがデフォルトです。
+.It -l lockedmem
+プロセスがロックできるメモリサイズの最大値。キロバイト単位。
+.It -m memoryuse
+プロセスの常駐セットサイズの最大値。キロバイト単位。
+.It -n nofiles
+あるプロセスがオープンできるファイル記述子の最大数。
+.It -s stacksize
+スタックセグメントサイズの最大値。キロバイト単位。
+.It -t time
+各プロセスで消費できる CPU 時間の最大値。秒単位。
+.It -u userproc
+このユーザ ID で同時に走らせうる最大プロセス数。
+.El
+.It umask [ mask ]
+umask の値 (
+.Xr umask 2
+を参照) を、指定された 8 進数の値に設定します。引数が
+省略された場合、現在の umask の値が表示されます。
+.It unalias [-a] [name]
+``name'' が指定された場合、指定された名前のエイリアスを削除します。
+``-a'' オプションが指定された場合、すべてのエイリアスを削除します。
+.It unset name ...
+指定された変数または関数を unset し、エクスポートされていない状態にします。
+指定された名前の変数も関数も存在する場合、変数と関数の両方が unset されます。
+.It wait [ job ]
+指定されたジョブ job が終了するのを待ち、ジョブ内の最後のプロセスの
+終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する
+まで待ち、終了ステータス 0 を返します。
+.El
+.Ss コマンド行編集
+.Nm
+が端末から対話的に実行されている場合、現在入力中のコマンドおよび
+コマンド履歴 (組込みコマンド fc 参照) を vi モードのコマンド行編集機能
+により編集することができます。
+このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。
+コマンド `set -o vi' により vi モードが開始され、vi の挿入モードに移行します。
+vi モード中では、
+挿入モードとコマンドモードの両方を自由に切り替えることが可能です。
+vi モードは vi と同様であり、<ESC> キー
+によりコマンドモードに移行し、コマンドモードで <return> キーを叩くことで、
+行の内容がシェルに渡されます。
+.Pp
+同様に、コマンド `set -o emacs' により emacs 風のコマンド行編集機能の
+サブセットを使うことができるようになります。
+.Sh 歴史
+.Nm
+コマンドは、
+.At V.1
+で登場しました。
+.\" -Amended by N.Kumagai 97.12.30
diff --git a/ja/man/man1/shar.1 b/ja/man/man1/shar.1
new file mode 100644
index 0000000000..13a81d9d16
--- /dev/null
+++ b/ja/man/man1/shar.1
@@ -0,0 +1,112 @@
+.\" %NetBSD: shar.1,v 1.3 1994/12/21 08:42:03 jtc Exp %
+.\"
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)shar.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: shar.1,v 1.3 1997/05/19 16:58:30 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt SHAR 1
+.Os BSD 4.4
+.Sh 名称
+.Nm shar
+.Nd ファイルのシェルアーカイブを作成する
+.Sh 書式
+.Nm
+.Ar
+.Sh 解説
+.Nm
+は、コマンドラインで指定したファイル階層を再生成するための
+.Xr sh 1
+のスクリプトファイルを生成するものです (ちなみに、
+.Nm
+自身、シェルスクリプトです)。
+.Nm
+で生成されるスクリプトファイルでディレクトリ
+を再生成する場合、コマンドライン上での指定は、その中に作成されるファイルより
+も先にディレクトリを指定しなくてはなりません (
+.Xr find 1
+の出力はこの順番で出るので、正しく動作します)。
+.Pp
+.Nm
+は、通常は少数のファイルを
+.Xr ftp 1
+や
+.Xr mail 1
+を用いて配布する場合に用いられます。
+.Sh 関連ファイル
+.Xr compress 1 ,
+.Xr mail 1 ,
+.Xr tar 1 ,
+.Xr uuencode 1
+.Sh バグ
+.Nm
+は、特殊な形式のファイルや、特定の文字をサポートするようには出来ていません。
+.Nm
+は最後の文字として改行 ('\\n') を含まないファイルを扱えません。
+.Pp
+.Nm
+ファイルにトロイの木馬 (ウイルスの一種) をもぐり込ませることは
+簡単に出来ます。
+すべてのシェルアーカイブファイルは、
+.Xr sh 1
+を用いて走行させる前に、十分に点検を行なうことを強くおすすめします。
+このインプリメントの
+.Nm
+を用いて作成されたアーカイブならは、以下の
+コマンドで簡単に点検ができます。
+.Bd -literal -offset indent
+egrep -v '^[X#]' shar.file
+.Ed
+.Sh 使用例
+プログラム
+.Xr ls 1
+のシェルアーカイブを作成して Rick にメールするには以下のようにします:
+.Bd -literal -offset indent
+cd ls
+shar `find . -print` \&| mail -s "ls source" rick
+.Ed
+.Pp
+このプログラムを再作成するには以下のようにします:
+.Bd -literal -offset indent
+mkdir ls
+cd ls
+\&...
+<メールのヘッダを削除してアーカイブの検査をします>
+\&...
+sh archive
+.Ed
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/size.1 b/ja/man/man1/size.1
new file mode 100644
index 0000000000..a1cb4e2cd4
--- /dev/null
+++ b/ja/man/man1/size.1
@@ -0,0 +1,62 @@
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)size.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: size.1,v 1.2 1997/05/04 13:52:14 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt SIZE 1
+.Os
+.Sh 名称
+.Nm size
+.Nd オブジェクトファイルのセグメントサイズ(text, data, bss)を表示する
+.Sh 書式
+.Nm
+.Op Ar object_file ...
+.Sh 解説
+.Nm
+は、指定されたオブジェクトファイル
+.Ar object_file
+のテキスト・データ・bss セグメントのバイト数 (10 進数)と
+3 つのセグメントの合計バイト数 (10 進数と 16 進数) とを表示します。
+.Ar object_file
+が指定されない場合、
+.Nm
+はファイル
+.Pa a.out
+に関する表示を行います。
+.Sh 関連項目
+.Xr a.out 5
+.Sh 歴史
+.Nm
+は
+.At v6
+で追加されました。
diff --git a/ja/man/man1/skey.1 b/ja/man/man1/skey.1
new file mode 100644
index 0000000000..7090f2ef98
--- /dev/null
+++ b/ja/man/man1/skey.1
@@ -0,0 +1,65 @@
+.ll 6i
+.pl 10.5i
+.\" @(#)skey.1 1.1 10/28/93
+.\" jpman %Id: skey.1,v 1.2 1997/05/04 13:37:08 horikawa Stab %
+.\"
+.lt 6.0i
+.TH KEY 1 "28 October 1993"
+.AT 3
+.SH 名称
+S/key \- コンピュータシステムへのアクセスにワンタイムパスワードを
+使用するための手続き
+.SH 解説
+.I S/key
+はコンピュータシステムへのアクセスを認証する際にワンタイムパスワードを
+使用するための手続きです。
+MD4 アルゴリズムにより変換された 64 ビットの情報を使用します。
+ユーザは安全性が保証されたコンピュータで生成された 6 つの英単語の
+形式で 64 ビットのパスワードを供給します。
+S/key プログラム
+.I key
+の使用例
+.sp
+ 使用例:
+.sp 0
+ >key 99 th91334
+.sp 0
+ Enter password: <あなたのシークレットパスワードをここに入力します>
+.sp 0
+ OMEN US HORN OMIT BACK AHOY
+.sp 0
+ >
+.sp
+S/key システムの部品となるプログラムは keyinit, key, そして keyinfo です。
+あなたの ID をセットアップするために keyinit が使用されます。
+ワンタイムパスワードを得るために毎回 key が使用されます。
+S/Key データベースから情報を取り出すために keyinfo が使用されます。
+.sp
+"keyinit" を実行すると、あなたのシークレットパスワードが
+システムに通知されます。
+"key" を実行するとあなたのシークレットパスワードを要求して、
+ワンタイムパスワードが生成されます。
+もしもあなたが "key" を実行する時にパスワードを打ち間違えると、
+何の問題も指摘されずに
+うまく動かないパスワードのリストを得ることになってしまいます。
+.sp
+パスワードシーケンス番号は 99 から減算されていきます。
+もしあなたがこのことを知らないと、"key" コマンドの使用法は
+わかりにくいことでしょう。
+.sp
+"key" プログラムがパスワードを大文字で与えたとしても、
+小文字でパスワードを入力することができます。
+.sp
+マッキントッシュと汎用 PC で使用することができます。
+.sp
+FreeBSD では、/etc/skey.access により
+どのホストやネットワークからのアクセスに対して S/Key パスワードの
+使用義務を負わせるかを制御することができます。
+.LP
+.SH 関連項目
+.BR keyinit(1),
+.BR key(1),
+.BR keyinfo(1),
+.BR skey.access(5)
+.SH 作者
+Phil Karn, Neil M. Haller, John S. Walden, Scott Chasin
diff --git a/ja/man/man1/sleep.1 b/ja/man/man1/sleep.1
new file mode 100644
index 0000000000..1fd80562ac
--- /dev/null
+++ b/ja/man/man1/sleep.1
@@ -0,0 +1,120 @@
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)sleep.1 8.3 (Berkeley) 4/18/94
+.\" %Id: sleep.1,v 1.2.8.2 1997/08/25 09:18:37 jkh Exp %
+.\" jpman %Id: sleep.1,v 1.2 1997/05/04 13:38:26 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt SLEEP 1
+.Os
+.Sh 名称
+.Nm sleep
+.Nd 一定の時間実行を停止する
+.Sh 書式
+.Nm
+.Ar seconds
+.Sh 解説
+.Nm
+コマンドは、少なくとも
+.Ar seconds
+で指定した秒数だけ実行を停止します。
+.Nm
+コマンドは
+他のコマンドの実行のスケジューリングに用いられます(以下の
+.Sx 使用例
+を参照)。
+.Pp
+.Nm
+コマンドが SIGALRM シグナルを受信すると終了ステータス 0 にて終了します。
+その他のシグナルでは標準の動作を行います。
+.Pp
+.Nm
+コマンドは終了時に以下の値のいずれかを返します。
+.Bl -tag -width flag
+.It Li \&0
+正常終了した場合、もしくは
+.Dv SIGALRM
+シグナルを受信した場合。
+.It Li \&>\&0
+エラーが起きた場合。
+.El
+.Sh 使用例
+あるコマンドの実行を
+.Va x
+秒後に設定したい場合:
+.Pp
+.Dl (sleep 1800; sh command_file >& errors)&
+.Pp
+上記の例では、command_file で指定したスクリプトを実行する前に
+30 分間待ちます(
+.Xr at 1
+ユーティリティの項を参照)。
+.Pp
+あるコマンドを(
+.Xr csh 1
+を使って)繰り返し実行したい場合:
+.Pp
+.Bd -literal -offset indent -compact
+while (1)
+ if (! -r zzz.rawdata) then
+ sleep 300
+ else
+ foreach i (`ls *.rawdata`)
+ sleep 70
+ awk -f collapse_data $i >> results
+ end
+ break
+ endif
+end
+.Ed
+.Pp
+このようなスクリプトが必要とされるのは以下のような場合でしょう:
+現在実行中のプログラムが、一連のファイル群を処理するのに予想以上の
+時間を必要としていて、このプログラムが処理結果をファイル
+(zzz.rawdata)に出力したらすぐに別のプログラムを起動して
+そのファイルを処理したほうがよい場合があります。
+上記のスクリプトでは、zzz.rawdata が生成されたかどうかを
+5 分おきに確認し、生成が確認されたら 70 秒待って awk ジョブを
+実行する、という操作を繰り返します。
+.Sh 関連項目
+.Xr at 1 ,
+.Xr setitimer 2 ,
+.Xr alarm 3 ,
+.Xr sleep 3
+.Sh 規格
+.Nm
+コマンドは、おそらく
+.St -p1003.2
+互換です。
diff --git a/ja/man/man1/soelim.1 b/ja/man/man1/soelim.1
new file mode 100644
index 0000000000..14375193a0
--- /dev/null
+++ b/ja/man/man1/soelim.1
@@ -0,0 +1,86 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)soelim.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: soelim.1,v 1.2 1997/05/04 13:39:07 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt SOELIM 1
+.Os BSD 3
+.Sh 名称
+.Nm soelim
+.Nd nroff への入力ファイルに \&.so が含まれないようにする
+.Sh 書式
+.Nm
+.Op Ar
+.Sh 解説
+.Nm
+は、指定したファイルまたは標準入力を読み込み、次の形式の
+.Xr ntoff 1
+テキスト組み込みディレクティブを処理します:
+.Pp
+.Dl \&.so somefile
+.Pp
+ディレクティブは、入力ファイルの行頭に出現する必要があります。
+.Xr tbl 1
+と言ったプログラムは通常ディレクティブ行を処理しないので、便利です;
+別々のファイルに分かれた表を 1 つのドキュメントにまとめることができます。
+.Pp
+単一のマイナス
+.Ql Fl
+で構成される引数は、標準入力に対応するファイル名とされます。
+.Pp
+組込みは
+.Ql \e.
+の代わりに
+.Ql \e'
+を使用して抑える事ができます。
+例:
+.Pp
+.Dl \'so /usr/lib/tmac.s
+.Pp
+.Nm
+の使用例
+.Pp
+.Bd -literal -offset indent -compact
+soelim exum?.n \&| tbl \&| nroff \-ms \&| col \&| lpr
+.Ed
+.Sh 関連項目
+.Xr colcrt 1 ,
+.Xr more 1
+.Sh バグ
+組み込みコマンドの形式に疑問が残ってはなりません \-
+ファイル名の前には唯 1 つの空白があり、後には空白を付けてはなりません。
+.Sh 歴史
+.Nm
+は
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/sort.1 b/ja/man/man1/sort.1
new file mode 100644
index 0000000000..fc1e06aa43
--- /dev/null
+++ b/ja/man/man1/sort.1
@@ -0,0 +1,237 @@
+.TH SORT 1 "GNU Text Utilities" "FSF" \" -*- nroff -*-
+.\" jpman %Id: sort.1,v 1.2 1997/05/21 00:40:39 mutoh Stab %
+.SH 名称
+sort \- テキストファイルを行でソートする
+.SH 書式
+.B sort
+[\-cmus] [\-t separator] [\-o output-file] [\-T tempdir] [\-bdfiMnr]
+[+POS1 [\-POS2]] [\-k POS1[,POS2]] [file...]
+.br
+.B sort
+{\-\-help,\-\-version}
+.SH 解説
+このマニュアルページは GNU 版の
+.B sort
+について書かれています。
+.B sort
+は、file が指定されていればそのファイルから、ファイルが指定されない
+か `-' であれば標準入力からデータを読み込み、入力した各行について、
+ソートやマージや比較を行います。
+.B sort
+はデフォルトでは標準出力に結果を書き出します。
+.PP
+.B sort
+は、3 つの動作モードを持っています。
+(デフォルトの) ソートと、マージと、ソートされているかどうかのチェックです。
+以下のオプションで動作モードを変更します。
+.TP
+.I \-c
+ファイルが既にソートされたものであるかどうかチェックします。
+もし、ソートされてなければ、エラーメッセージを表示すると共に、
+戻り値に 1 を返します。
+.TP
+.I \-m
+複数のファイルをソートしながらマージします。
+個々のファイルは、あらかじめソートしておかなければなりません。
+ソートはいつでもマージの代わりに動きます。
+マージのオプションがあるのは、単なるマージですむ場合には、
+その方がずっと高速だからです。
+.PP
+入力行は次のようにして比較されます。
+キーフィールドが指定されている時には、
+.B sort
+は、違いが見つかるかキーがなくなるまで、
+コマンドラインに指定された順にキーを比較します。
+.PP
+もしグローバルオプション
+.I Mbdfinr
+のどれかが指定され、キーが指定されなければ、
+.B sort
+はグローバルオプションにしたがって、行全体を比較します。
+.PP
+すべてのキーが等しい時には
+(または順序を指示するオプションが指定されていない時) 、
+.B sort
+は最後のソートとして、
+そのマシンでの文字の照合順 (machine collating sequence) にしたがって、
+各行をバイト毎に比較します。
+最後のソートでは、
+.I \-r
+オプションが有効です。
+.I \-s
+(stable) オプションは、この最後のソートをやめて、
+すべてのキーが等しい行の相対的な出現順を保ちます。
+キーフィールドやグローバルオプションを全く指定しない時には
+.I \-s
+は効果を持ちません。
+.PP
+GNU
+.B sort
+には、入力行の長さの制限 (行に含まれるバイト数の制限) はありません。
+また、入力ファイルの最後の 1 バイトが改行文字でない時には、
+GNU
+.B sort
+は改行文字を補って処理を行います。
+.PP
+環境変数
+.B TMPDIR
+が設定されていると、
+.B sort
+はそれを作業ファイルを置くディレクトリとして用います。
+.I "\-T tempdir"
+オプションも作業ディレクトリの指定に使えます。
+この指定は環境変数よりも優先されます。
+何も指定が無い時は /tmp を使います。
+.PP
+以下に示すオプションによって、出力行の順序を制御できます。
+これらはグローバルに指定したり、特定のキーフィールドについて
+指定する事もできます。
+キーフィールドを指定しない時には、
+グローバルオプションは行全体の比較に適用されます。
+キーを指定した時には、キー毎に特別に指定がある場合を除き、
+グローバルオプションの動作は各キーに継承されます。
+.TP
+.I \-b
+ソートキーを見つける時、先頭にある空白を無視します。
+.TP
+.I \-d
+`電話帳順' でソートします。アルファベット、数字、空白以外の文字を無視します。
+.TP
+.I \-f
+英大文字と小文字の区別をしません。
+.TP
+.I \-i
+ASCII コードの8進で 040〜0176 (32〜126, 空白から `~'まで) に含まれない
+文字を無視します。
+.TP
+.I \-M
+空白を無視した最初の文字列の先頭から 3 文字を、
+月の英名の略称とみなして (大文字にした上で) 、
+`JAN' < `FEB' < ... < `DEC' の順に大小関係を決めます。
+月の名称でない文字列は、JAN (1月) より小さいと見なされます。
+.TP
+.I \-n
+文字列を、数とみなして比較します。
+数は、空白(option)・\- 記号(option)・数字列・小数点(option)・
+数字列(option)から構成されます。
+.TP
+.I \-r
+比較の順番を逆にします。
+キーの昇順ではなく降順に出力します。
+.PP
+その他のオプションは以下の通りです。
+.TP
+.I "\-o output-file"
+結果を標準出力の代わりに、
+.I output-file
+に出力します。
+出力ファイル名が入力ファイルの一つと同じでも、
+作業ファイルを作って処理するので問題ありません。
+.TP
+.I "\-t separator"
+.I separator
+で指定した文字を、ソートキーを決める時のフィールド区切りとします。
+デフォルトでは、空白でない文字と空白文字の間でフィールドを区切ります。
+例えば、` foo bar' という行は、` foo' と ` bar' という 2 つの
+フィールドに分けられます。
+.\" 一方、
+区切り文字を指定した場合には、その文字はフィールドには含まれません。
+.\" 例えば、``,'' を区切り文字とした場合、``foo,,,bar'' という行は、
+.\" ``foo'' と 2 つの空文字列と ``bar'' の 4 つのフィールドに分かれます。
+.TP
+.I \-u
+ソート (デフォルト) およびマージ (
+.I \-m
+オプション) 動作時、同じ内容の行があった場合は、
+最初の 1 行だけ出力し、後は出力しないようにします。
+ソート済みかのチェック(
+.I \-c
+オプション) の場合は、同じ内容の行が連続しない事をチェックします。
+.TP
+.I "+POS1 [\-POS2]"
+ソートのキーとして使うフィールドを指定します。
+POS1 が指定する位置から、POS2 が指定する位置の直前 (POS2 を省略した
+場合は最後まで) のフィールドを使います。
+フィールドと文字の位置は最初を 0 番目と数えます。
+.TP
+.I "\-k POS1[,POS2]"
+ソートキーを指定するもう 1 つの書式です。
+フィールドと文字の位置は最初を 1 番目と数えます。
+.PP
+位置の指定は、\fIf\fP.\fIc\fP の形式を持ちます。
+\fIf\fP はフィールドの指定であり、
+\fIc\fP は先頭文字のフィールドの先頭からの文字位置(\fI+pos\fPの場合)
+あるいは直前のフィールドの末尾からの文字位置(\fI\-pos\fPの場合)
+の指定になります。
+フィールド内の最初の文字を指定する場合には、.\fIc\fP の部分を
+省略する事ができます。
+.I \-b
+オプションを指定した場合の .\fIc\fP の部分は、
+そのフィールド内の最初の空白でない文字(\fI+pos\fPの場合)、あるいは
+直前フィールドの後の最初の空白でない文字(\fI\-pos\fPの場合)から
+数えた位置の指定になります。
+.PP
+.\" ↓以下のくだりは原文に対応無し -- jpman Sakai
+.\" (\fI-pos2\fP が \fIf\fP だったら pos2 番目のフィールドの
+.\" 先頭文字の直前、すなわち pos2-1 番目のフィールドの終りまでが
+.\" キーになる。
+.\" \fI-pos2\fP が \fIf\fP.\fIc\fP だったら pos2 番目のフィールドの
+.\" \fIc\fP 文字目の直前までがキーになる。)
+.PP
+\fI+pos\fP や \fI-pos\fP には、
+.I Mbdfinr
+のオプションを続ける事もできます。
+その場合には、このフィールドにはグローバルな順序づけオプションは
+適用されません。
+.I \-b
+オプションは、\fI+pos\fP と \fI\-pos\fP にそれぞれ別々に
+指定できますが、グローバルな指定が継承される場合には
+両方に指定されたように働きます。
+.I \-n
+または
+.I \-M
+オプションによって
+.I \-b
+が暗黙のうちに指定されている場合、
+.I \-b
+は \fI+pos\fP と \fI\-pos\fP の両方に働きます。
+.\" XXX -M or -n implies -b ?
+キーは複数のフィールドに跨っても構いません。
+.PP
+GNU
+.B sort
+がただ一つの引数をつけて起動される時には、以下のオプションが
+認識されます。
+.TP
+.I "\-\-help"
+標準出力に使い方を表示して正常終了します。
+.TP
+.I "\-\-version"
+標準出力にバージョン情報を表示して正常終了します。
+.SH 互換性
+.PP
+.B sort
+の歴史的な実装 (BSD や System V) とはいくつかのオプション、特に
+.IR \-b ,
+.IR \-f ,
+.IR \-n 、
+の解釈が異なります。
+GNU sort は、POSIX の動作に従い、普通 (必ずではない) それは
+System V の動作と似ています。
+POSIX によれば、
+.I \-n
+は
+.I \-b
+を暗黙に指定しなくなりました。
+整合性を取るために、
+.I \-M
+も同じように変更されました。
+これによってフィールド中の文字の位置の意味が影響される場合が
+あるかも知れません。
+この問題を避けるには、明示的に
+.I \-b
+を指定して下さい。
+.SH バグ
+.I \-k
+の有り無しによりフィールド番号の意味が異なるのは混乱の元です。
+この件についてはすべて POSIX が悪いのです。
diff --git a/ja/man/man1/split.1 b/ja/man/man1/split.1
new file mode 100644
index 0000000000..51b0d85d6c
--- /dev/null
+++ b/ja/man/man1/split.1
@@ -0,0 +1,96 @@
+.\" Copyright (c) 1990, 1991, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)split.1 8.3 (Berkeley) 4/16/94
+.\" jpman %Id: split.1,v 1.3 1997/07/27 11:58:02 horikawa Stab %
+.\"
+.Dd April 16, 1994
+.Dt SPLIT 1
+.Os
+.Sh 名称
+.Nm split
+.Nd ファイルを分割する
+.Sh 書式
+.Nm split
+.Op Fl b Ar byte_count[k|m]
+.Op Fl l Ar line_count
+.Op Ar file Op Ar name
+.Sh 解説
+.Nm split
+は、
+.Ar file
+が指定された場合はそのファイルを、指定されなかった場合は
+標準入力から読み込んだデータを、1000行ごとに分割します。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width Ds
+.It Fl b
+.Ar byte_count
+バイト単位で分割します。
+.Dq Li k
+を数字の後ろに付けた場合は、
+.Ar byte_count
+キロバイト単位で分割します。
+.Dq Li m
+を数字の後ろに付けた場合は、
+.Ar byte_count
+メガバイト単位で分割します。
+.It Fl l
+.Ar n
+行単位で分割します。
+.El
+.Pp
+オプションのあとに引数を指定した場合、最初の引数は
+入力ファイルの名前として扱われます。
+その次の引数は、分割したデータを格納する
+ファイル名の接頭語として扱われます。
+この場合、分割したデータを格納するファイル名は
+接頭語のあとに
+.Dq Li aa-zz
+という文字列を付けたファイルに、辞書式順序で分割されます。
+.Pp
+.Ar name
+が指定されなかった場合、分割されたデータは
+.Dq Li xaa-zzz
+というファイルに、辞書式順序で分割されます。
+.Sh バグ
+歴史的な理由により、
+.Ar name
+を指定した場合は、
+.Nm split
+は 最大 676 個のファイルにしか分割できません。
+デフォルトのファイル名に分割した場合は、最大 2028 個の
+ファイルに分割することができます。
+.Sh 歴史
+.Nm split
+は
+.At v6
+から登場しました。
diff --git a/ja/man/man1/startslip.1 b/ja/man/man1/startslip.1
new file mode 100644
index 0000000000..789d4e7464
--- /dev/null
+++ b/ja/man/man1/startslip.1
@@ -0,0 +1,208 @@
+.\" Copyright (c) 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)startslip.1 8.1 (Berkeley) 6/5/93
+.\" jpman %Id: startslip.1,v 1.3 1997/08/19 03:06:09 h-nokubi Stab %
+.\" %Id: startslip.1,v 1.10.2.1 1997/03/03 07:01:52 mpp Exp %
+.\"
+.Dd June 5, 1993
+.Dt STARTSLIP 1
+.Os BSD 4.4
+.Sh 名称
+.Nm startslip
+.Nd 電話をかけ、slip サーバにログインする
+.Sh 書式
+.Nm startslip
+.Op Fl d
+.Op Fl b Ar speed
+[
+.Fl s Ar string1
+.Op Fl s Ar string2 Op Ar ...
+]
+.Op Fl h
+.Op Fl l
+.Op Fl L
+.Op Fl A Ar annexname
+.Op Fl U Ar upscript
+.Op Fl D Ar downscript
+.Op Fl t Ar script_timeout
+.Op Fl W Ar maxtries
+.Op Fl w Ar retry_pause
+.Op Fl K Ar keepalive
+.Op Fl O Ar outfill
+.Op Fl S Ar unit
+.Ar device user passwd
+.Sh 解説
+.Pp
+.Nm startslip
+は指定された
+.Ar device
+をオープンします。
+ひとたびキャリアが確認されると(モデム制御が有効にされている場合)、
+.Nm startslip
+は指定された
+.Ar user
+および
+.Ar password
+でのログインを試みます。
+Annex オプション (
+.Fl A
+参照) が指定されない限り、
+標準的な login: および Password: の方式を想定します。
+成功すると、
+.Nm
+はその device を slip の回線規約に設定し、
+.Ar upscript
+を呼び出してウェイトモードに入ります。
+キャリアが落ちる (モデム制御有効の場合) あるいは
+.Dv SIGHUP
+シグナルがに送られると、
+.Nm startslip
+は device をクローズし、
+.Ar downscript
+を呼び出し、ダイアルアップとログインのシーケンスを繰り返し試みます。
+.Dv SIGTERM
+シグナルが送られると、
+.Nm startslip
+は device をクローズし、
+.Ar downscript
+を呼び出し、そして終了します。
+同一 device に対して
+.Nm startslip
+が 2 回呼び出されると、処理を行う前に
+ひとつめの
+.Nm startslip
+が
+.Dv SIGTERM
+シグナルによって kill されます。
+.Pp
+利用可能オプション:
+.Bl -tag -width Ar
+.It Fl d
+行おうとしている処理に関するデバッグ情報を出力します。
+.It Fl b Ar speed
+.Ar device
+に用いるボーレートを決定します。デフォルトは 9600 です。
+.It Fl t Ar script_timeout
+ログインスクリプトのタイムアウトを秒単位で指定します。デフォルトは 90 です。
+.It Fl w Ar retry_pause
+接続再試行の間の待ち時間を秒単位で指定します(再試行のたびに長くなります)。
+デフォルトは 60 です。
+.It Fl W Ar maxtries
+一つのセッション内で接続再試行する最大回数を設定します。
+デフォルトは 6 回です。0 を指定すると無限回という意味になります。
+.It Fl s Ar stringN
+オプション文字列
+.Ar stringN
+を
+.Ar device
+に書き出します。改行は自動的に付加されます。
+ダイアルアップモデムの場合、
+この文字列を用いてダイアルシーケンスを指定します。
+デフォルトでは文字列は全く書き出しません。
+複数個の
+.Fl s Ar stringN
+引数を指定して、例えばいくつかのホストの電話番号を
+接続試行毎に切り替えるように指定できます。
+.It Fl A Ar annexname
+Xylogics の Annex box に接続しているものとみなし、引数
+.Ar user
+および
+.Ar passwd
+を用いて適切なダイアログを行います。引数
+.Ar annexname
+は Annex プロンプトとマッチさせて接続が確立したことを判断するのに
+用いる文字列です。
+.It Fl h
+.Ar device
+に対してハードウェアフロー制御 (CTS/RTS) を用います。
+デフォルトではフロー制御は行いません。
+.It Fl l
+.Ar device
+に対してのモデム制御 (キャリアを待つ およびキャリアドロップの検出) を
+無効化します。
+デフォルトではモデム制御は有効になっています。
+.It Fl U Ar upscript
+SLIP インタフェースが接続されたときに実行するスクリプトを指定します。
+このスクリプトには ifconfig, route その他適切なコマンドを含めることが
+できます。
+スクリプトには "slX up" が引数として渡されます。
+デフォルトは "/sbin/ifconfig" です。
+ダイアルシーケンス番号 (
+.Fl s
+参照) は環境変数
+.Dv LINE
+を通じて渡されます。
+.It Fl D Ar downscript
+SLIP インタフェースが切断されたときに実行するスクリプトを指定します。
+スクリプトには引数として "slX down" が渡されます。
+デフォルトは "/sbin/ifconfig" です。
+ダイアルシーケンス番号 (
+.Fl s
+参照) は環境変数
+.Dv LINE
+を通じて渡されます。
+.It Fl K Ar keepalive
+SLIP の "keep alive" タイムアウトの秒数を設定します。
+この時間内に FRAME_END を受信しなければ、再接続が行われます。
+向こう側からのアクティブな "out fill" タイムアウトを期待します。
+デフォルトではタイムアウトなしです。
+.It Fl O Ar outfill
+SLIP の "out fill" タイムアウトの秒数を設定します。
+この時間内に FRAME_END を少なくとも 1 回送信するようにします。
+向こう側で "keep alive" タイムアウトが設定されている必要があります。
+デフォルトではタイムアウトなしです。
+.It Fl S Ar unit
+SLIP ユニットナンバを直接設定します。
+2 つのインタフェースが同一のナンバを使っていることはチェックしないので、
+注意して使用して下さい。
+デフォルトではダイナミックな割り当てを行います。
+.It Fl L
+UUCP 形式のデバイスロックを行います。
+既に UUCP ロックを行っている外部プログラムから
+.Nm startslip
+を実行する場合以外は、これが必要です。
+デフォルトの場合、そのようなプログラムを満足させる UUCP ロックは行いません。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /var/run/startslip.<device>.pid -compact
+.It Pa /var/run/startslip.<device>.pid
+PID がここに格納されます。
+.Sh 関連項目
+.Xr uustat 1 ,
+.Xr slattach 8 ,
+.Xr sliplogin 8 ,
+/usr/share/examples/startslip
+.Sh 歴史
+.Nm startslip
+は
+.Bx 4.4
+で登場しました。
diff --git a/ja/man/man1/strings.1 b/ja/man/man1/strings.1
new file mode 100644
index 0000000000..d7d58ce7ce
--- /dev/null
+++ b/ja/man/man1/strings.1
@@ -0,0 +1,93 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)strings.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: strings.1,v 1.2 1997/05/21 00:41:19 mutoh Stab %
+.\"
+.Dd June 6, 1993
+.Dt STRINGS 1
+.Os BSD 3
+.Sh 名称
+.Nm strings
+.Nd ファイル内の表示可能な文字のみ表示する
+.Sh 書式
+.Nm
+.Op Fl afo
+.Op Fl n Ar number
+.Op Ar
+.Sh 解説
+.Nm
+は、
+.Ar file
+が指定されていればそのファイルを、指定されていなければ
+標準入力を読み込み、一定以上の表示可能な文字 (デフォルト 4 文字) からなる
+文字列を探して表示します。
+これは、バイナリファイルの中にある文字列を調べるのに有効です。
+.Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl a
+デフォルトでは、オブジェクトファイルのテキストセグメントとデータセグメント
+しか調べませんが、
+.Fl a
+オプションをつけることでオブジェクトファイルの全エリアを対象とします。
+.It Fl f
+発見した文字列の前に、ファイル名を表示します。
+.It Fl n
+探す対象として、少なくとも
+.Ar number
+文字以上の文字からなる文字列を指定します。
+.It Fl o
+発見した文字列の前に、10 進数のオフセット位置を表示します。
+.El
+.Pp
+.Nm
+は、ランダムなバイナリを他のものから識別するのに便利です。
+.Sh 関連項目
+.Xr hexdump 1
+.Sh バグ
+.Nm
+が使っている文字列検出のアルゴリズムは非常に原始的です。もし、
+.Tn ASCII
+コードのシーケンスに似たマシン語体系を持った機種では、間違う事があるでしょ
+う。
+.Sh 互換性
+.Nm
+の昔のインプリメントでは、オブジェクトファイルのデータセクション
+のみ検索していました。これは、文字列などは通常、データセクションに置
+かれたからです。しかし、最近のコンパイラテクノロジでは、テキストセクション
+にも文字列を置くようになったので、デフォルト動作をデータセクションと
+テキストセクションの両方を検索するよう変更しました。
+.Sh 歴史
+.Nm
+ユーティリティは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/strip.1 b/ja/man/man1/strip.1
new file mode 100644
index 0000000000..550205ee3e
--- /dev/null
+++ b/ja/man/man1/strip.1
@@ -0,0 +1,72 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)strip.1 8.1 (Berkeley) 6/6/93
+.\" %Id: strip.1,v 1.3.2.1 1997/08/13 06:37:16 charnier Exp %
+.\" jpman %Id: strip.1,v 1.4 1997/06/05 11:10:48 bobson Stab %
+.\"
+.Dd June 6, 1993
+.Dt STRIP 1
+.Os
+.Sh 名称
+.Nm strip
+.Nd 実行可能ファイルから実行に不要な情報を削除する
+.Sh 書式
+.Nm
+.Op Fl d
+.Op Fl x
+.Ar
+.Sh 解説
+.Nm
+は実行可能ファイルから、アセンブラ、ローダ、デバッガが使用する
+リロケーション情報とシンボルテーブルを削除します。これにより、
+インストールされる実行可能ファイルのサイズを減少させ、
+ディスク使用量を抑えることができます。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl d
+デバッギング情報と空のシンボルのみを削除します。
+.It Fl x
+デバッギング情報、コンパイラ情報、ローカルシンボルのみを削除します。
+.El
+.Pp
+.Nm
+は成功すれば 0 を、エラーが発生すれば 1 を、終了ステータスとして返します。
+.Sh 関連項目
+.Xr cc 1 ,
+.Xr ld 1 ,
+.Xr stab 5
+.Sh 歴史
+.Nm
+は
+.At v1
+に登場しました。
diff --git a/ja/man/man1/stty.1 b/ja/man/man1/stty.1
new file mode 100644
index 0000000000..0d7eebddc2
--- /dev/null
+++ b/ja/man/man1/stty.1
@@ -0,0 +1,530 @@
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)stty.1 8.4 (Berkeley) 4/18/94
+.\" %Id: stty.1,v 1.4.2.2 1997/06/02 06:38:39 charnier Exp %
+.\" jpman %Id: stty.1,v 1.2 1997/06/05 04:05:59 yugawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt STTY 1
+.Os
+.Sh 名称
+.Nm stty
+.Nd 端末の設定を行なう
+.Sh 書式
+.Nm stty
+.Op Fl a | Fl e | Fl g
+.Op Fl f Ar file
+.Op operands
+.Sh 解説
+.Nm stty
+は、標準入力になっているデバイスの端末属性を設定もしくは表示する
+プログラムです。オプションや引数を指定しなかった場合、
+設定されている属性の一部や、デフォルト値と違う値が設定されている属性
+を表示します。
+指定した場合は、指定された引数に従って端末の状態を変更します。
+ターミナルの種類によっては相互に排他的な引数の組み合わせもあります。
+.Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl a
+.St -p1003.2
+に規定された形式で、
+現在の端末属性をすべて標準出力に出力します。
+.It Fl e
+.Tn BSD
+の伝統的な ``all'' や ``everything'' の形式で、
+現在の端末属性をすべて標準出力に出力します。
+.It Fl f
+標準入力ではなく、
+.Ar file
+で指定された端末を使います。
+このファイルは
+.Fn open
+関数に
+.Dv O_NONBLOCK
+フラグを付けてオープンされるので、端末の設定や表示をブロックされず
+に行なうことができます。
+.It Fl g
+端末変更後に端末の状態を復帰させられるように、
+.Nm stty
+の引数として指定できる形式で、現在の端末属性を標準出力に
+出力します。
+この形式は
+.St -p1003.2
+に規定されています。
+.El
+.Pp
+端末属性の設定には、以下の引数が使えます。
+.Ss 制御モード:
+.Pp
+制御モードのフラグは端末と関連するハードウェアの属性
+に影響します。これは termios 構造体の c_cflag に相当します。
+.Bl -tag -width Fl
+.It Cm parenb Pq Fl parenb
+パリティ生成および検出を有効 (無効) にします。
+.It Cm parodd Pq Fl parodd
+奇数パリティ (偶数パリティ) にします。
+.It Cm cs5 cs6 cs7 cs8
+可能なら 1 文字のビット幅を設定します。
+.It Ar number
+可能なら、端末のボーレートを
+.Ar number
+に設定します。0 を指定した場合は、モデムの制御を切ります。
+.It Cm ispeed Ar number
+可能なら、入力のボーレートを
+.Ar number
+に設定します。0 を設定した場合は、出力のボーレートと同じ値に設定されます。
+.It Cm ospeed Ar number
+可能なら、出力のボーレートを
+.Ar number
+に設定します。0 を設定した場合は、モデムの制御を切ります。
+.It Cm speed Ar number
+.Cm ispeed
+と
+.Cm ospeed
+の両方を
+.Ar number
+に設定します。
+.It Cm hupcl Pq Fl hupcl
+そのデバイスをオープンしているプロセスがクローズ処理を行ったとき、ほか
+にこのデバイスをオープンしているプロセスがなければ、モデムの制御機能に
+より切断処理を行います (行いません)。
+.It Cm hup Pq Fl hup
+hupcl
+.Pq Fl hupcl
+と同じです。
+.It Cm cstopb Pq Fl cstopb
+ストップビットを 2ビット (1ビット) にします。
+.It Cm cread Pq Fl cread
+受話器を有効 (無効) にします。
+.It Cm clocal Pq Fl clocal
+回線に対してモデム制御が不要である (必要である) とみなします。
+.It Cm crtscts Pq Fl crtscts
+RTS/CTS フロー制御を有効 (無効) にします。
+.El
+.Ss 入力モード:
+これは termios 構造体の c_iflag に相当します。
+.Bl -tag -width Fl
+.It Cm ignbrk Pq Fl ignbrk
+入力のブレーク信号を無視します (無視しません)。
+.It Cm brkint Pq Fl brkint
+ブレークを受信したとき、シグナル
+.Dv INTR
+を出します (出しません)。
+.It Cm ignpar Pq Fl ignpar
+パリティエラーを無視します (無視しません)。
+.It Cm parmrk Pq Fl parmrk
+パリティエラーをマークします (マークしません)。
+.It Cm inpck Pq Fl inpck
+入力のパリティチェックを有効 (無効) にします。
+.It Cm istrip Pq Fl istrip
+入力した文字の 8 ビット目を捨てて 7 ビットにします (8 ビット目
+を捨てません)。
+.It Cm inlcr Pq Fl inlcr
+入力の
+.Dv NL
+を
+.Dv CR
+に変換します (変換しません)。
+.It Cm igncr Pq Fl igncr
+入力の
+.Dv CR
+を無視します (無視しません)。
+.It Cm icrnl Pq Fl icrnl
+入力の
+.Dv CR
+を
+.Dv NL
+に変換します (変換しません)。
+.It Cm ixon Pq Fl ixon
+制御コードの
+.Dv START/STOP
+を使った出力フロー制御を有効 (無効) にします。
+システムから端末への出力において、システムが
+.Dv STOP
+を受信したら出力を中断し、
+.Dv START
+を受信するか、
+.Cm ixany
+が設定されている場合は何らかの文字を受信すると、
+出力を再開するようになります。
+.It Cm ixoff Pq Fl ixoff
+システムの入力キューが
+空/満杯に近づいたら、それぞれ
+.Dv START/STOP
+を出力するようにします (近づいても、出力しません)。
+.It Cm ixany Pq Fl ixany
+どんな文字が来ても (
+.Dv START
+が来た場合のみ) 出力を再開します。
+.It Cm imaxbel Pq Fl imaxbel
+システムによって入力キューの
+.Dv MAX_INPUT
+(一般的には 255) の最大文字数が規定されており、
+.Cm imaxbel
+がセットされていると、入力キューの制限を越えた入力に対して
+ASCII BEL キャラクタを出力キューに送ります (端末が鳴ります)。
+.Cm imaxbel
+がセットされていなくて入力キューが一杯になった場合、次の文字入力で
+すべての入力、出力キューは捨てられます。
+.El
+.Ss 出力モード:
+これは termios 構造体の c_oflag に相当します。
+.Bl -tag -width Fl
+.It Cm opost Pq Fl opost
+プロセス後の処理を行った上で出力をします (プロセス後の処理を行わずに出力します。
+この指定をすると、他のすべての出力モードが無視されます)。
+.It Cm onlcr Pq Fl onlcr
+出力の
+.Dv NL
+を
+.Dv CR-NL
+に変換します (変換しません)。
+.It Cm oxtabs Pq Fl oxtabs
+出力のタブをスペースに展開します (展開しません)。
+.El
+.Ss ローカルモード:
+.Pp
+ローカルモードのフラグ (lflags) は端末処理のさまざまな属性に影響します。
+歴史的には、"local"という名前のつけられた新しいジョブコントロール機能
+は Jim Kulp によって
+.Tn IIASA
+の
+.Tn Pdp 11/70
+に実装されました。
+その後このドライバは、
+Evans Hall, UC Berkeley の最初の
+.Tn VAX
+上で走りました。その際ジョブコントロールの細部は大幅に変更されましたが、
+構造体の定義と名前は根本的には変わりませんでした。
+lflag の 'l' の二つ目の解釈は、
+.Ar termios
+構造体の
+.Ar c_lflag
+に相当する ``line discipline flag''(行制御規則フラグ) です。
+.Bl -tag -width Fl
+.It Cm isig Pq Fl isig
+特殊な制御文字
+.Dv INTR , QUIT ,
+.Dv SUSP
+に対する処理を有効 (無効) にします。
+.It Cm icanon Pq Fl icanon
+.Dv ERASE
+と
+.Dv KILL
+処理による入力制御を有効 (無効) にします。
+.It Cm iexten Pq Fl iexten
+icanon, isig, ixon で制御に使われているもの以外の特殊な
+制御文字の処理を有効 (無効) にします。
+.It Cm echo Pq Fl echo
+タイプされた文字をエコーバックします (エコーバックしません)。
+.It Cm echoe Pq Fl echoe
+.Dv ERASE
+文字の入力があった場合、可能ならディスプレイ上に見える現在の出力行の
+最後の文字を消します (消しません)。
+.It Cm echok Pq Fl echok
+.Dv KILL
+文字の入力があった場合、そのあとに
+.Dv NL
+を出力します (出力しません)。
+.It Cm echoke Pq Fl echoke
+可能なら、
+.Dv KILL
+文字でディスプレイ上の現在の行を消します (消しません)。
+.It Cm echonl Pq Fl echonl
+echo が無効になっているときでも
+.Dv NL
+文字だけはエコーバックさせます (エコーバックしません)。
+.It Cm echoctl Pq Fl echoctl
+.Cm echoctl
+をセットすると、制御文字は ^X のように表示されます。
+セットしなければ、その文字自身が表示されます。
+.It Cm echoprt Pq Fl echoprt
+プリンタ端末に対するもので、設定された場合、削除された文字を
+``\\'' と ``/'' で囲んで逆方向にエコーします。
+設定されていなければ、この機能を無効にします。
+.It Cm noflsh Pq Fl noflsh
+.Dv INTR , QUIT , SUSP
+のあとのフラッシュ処理を無効 (有効) にします。
+.It Cm tostop Pq Fl tostop
+バックグラウンドジョブが出力を行おうとした時に
+.Dv SIGTTOU
+を送ります (送りません)。これによってバックグラウンドジョブは画面出力を
+行おうとすると停止するようになります。
+.It Cm altwerase Pq Fl altwerase
+.Dv WERASE
+文字を処理するときに、別の単語消去アルゴリズムを用います (用いません)。
+このアルゴリズムは英数字とアンダースコアの並びを単語とみなします。
+また、分類上直前の文字をスキップします (便宜的に、直前の文字を
+.Dv ERASE
+一文字で消すことができるようにするため)。
+.It Cm mdmbuf Pq Fl mdmbuf
+セットされると、CD 信号の検出によるフロー制御の出力を行います。
+セットされなければ、CD 信号の低下に対してエラーを出力します
+(キャリア信号は
+.Dv CLOCAL
+フラグによっても無視されません)。
+.It Cm flusho Pq Fl flusho
+出力を捨てます (捨てません)。
+.It Cm pendin Pq Fl pendin
+入力を非標準 (non-canonical) モードから標準 (canonical) モードへ切り換えた
+あと、入力を保留します
+(保留しません)。読み込みが保留されたとき、または更に入力があったときに
+再入力されます。
+.El
+.Ss 制御文字:
+.Bl -tag -width Fl
+.It Ar control-character Ar string
+.Ar string
+に
+.Ar control-character
+を割り当てます。もし string が 1 文字だけなら、その文字に
+.Ar control-character
+が割り当てられます。
+string が二文字の "^-" もしくは "undef" の場合は
+.Ar control-character
+は無効にされます (つまり、
+.Pf { Dv _POSIX_VDISABLE Ns }
+になります)。
+.Pp
+認識される制御文字:
+.Bd -ragged -offset indent
+.Bl -column character Subscript
+.It 制御文字 記号   説明
+.It _________ _________ _______________
+.It eof Ta Tn VEOF EOF No character
+.It eol Ta Tn VEOL EOL No character
+.It eol2 Ta Tn VEOL2 EOL2 No character
+.It erase Ta Tn VERASE ERASE No character
+.It werase Ta Tn VWERASE WERASE No character
+.It intr Ta Tn VINTR INTR No character
+.It kill Ta Tn VKILL KILL No character
+.It quit Ta Tn VQUIT QUIT No character
+.It susp Ta Tn VSUSP SUSP No character
+.It start Ta Tn VSTART START No character
+.It stop Ta Tn VSTOP STOP No character
+.It dsusp Ta Tn VDSUSP DSUSP No character
+.It lnext Ta Tn VLNEXT LNEXT No character
+.It reprint Ta Tn VREPRINT REPRINT No character
+.It status Ta Tn VSTATUS STATUS No character
+.El
+.Ed
+.It Cm min Ar number
+.It Cm time Ar number
+min あるいは time の値を
+.Ar number
+にします。
+.Dv MIN
+と
+.Dv TIME
+は非標準的なモード (-icanon) での入力処理に使われます。
+.El
+.Ss 複合モード:
+.Pp
+.Bl -tag -width Fl
+.It Ar saved settings
+現在の端末属性を
+.Fl g
+オプションによって保存された属性にする。
+.It Cm evenp No or Cm parity
+parenb と cs7 を有効にし、parodd を無効にします。
+.It Cm oddp
+parenb, cs7, parodd を有効にします。
+.It Fl parity , evenp , oddp
+parenb を無効にして、cs8 をセットします。
+.It Cm \&nl Pq Fl \&nl
+icrnl を有効 (無効) にします。
+それに加えて、-nl は inlcr と igncr を解除します。
+.It Cm ek
+.Dv ERASE
+と
+.Dv KILL
+に割り当てられている文字をシステムのデフォルトのものに戻します。
+.It Cm sane
+すべてのモードを対話的な端末利用に妥当な値にリセットします。
+.It Cm tty
+行制御規則を標準端末の規則
+.Dv TTYDISC
+に設定します。
+.It Cm crt Pq Fl crt
+CRT ディスプレイ用に適合するモードをすべて有効 (無効) にします。
+.It Cm kerninfo Pq Fl kerninfo
+.Dv STATUS
+文字 (通常 ^T に設定されています) に結びつけられた
+システムステータス行の生成を有効 (無効) にします。
+このステータス行はシステムの負荷、現在のコマンドの名前、プロセス ID、
+プロセスが待っているイベント (あるいはプロセスの状態)、
+ユーザー時間とシステム時間、CPU利用率、現在のメモリ使用状況
+からなっています。
+.It Cm columns Ar number
+端末の大きさを
+.Ar number
+列とします。
+.It Cm cols Ar number
+.Cm columns
+の別名定義です。
+.It Cm rows Ar number
+端末の大きさを
+.Ar number
+行とします。
+.It Cm dec
+Digital Equipment Corporation systems の端末設定にします。
+(
+.Dv ERASE ,
+.Dv KILL ,
+.Dv INTR
+をそれぞれ ^?, ^U, ^Cとし、
+.Dv ixany
+を無効、
+.Dv crt
+を有効にします)
+.It Cm extproc Pq Fl extproc
+設定されると、一部の端末処理が端末機器ないし pty に接続されたリモート側
+で行なわれるようになります。
+.It Cm raw Pq Fl raw
+端末モードを全く入出力処理を行なわないモードにします。
+これを無効にすると、端末を入出力処理を行なう普通のモードに戻します。
+注意すべきなのは、端末用のドライバは単一の
+.Dv RAW
+ビットを持つわけではないので、
+.Cm raw
+モードに設定する前にどのようなフラグが設定してあったのかを知ることがで
+きないということです。つまり、
+.Cm raw
+モードを解除するだけでは、
+.Cm raw
+モード設定前の状態には戻りません。
+端末を raw 状態にして、それを正確に元に戻すためには、以下のような
+シェルコマンドを使うことを薦めます。
+.nf
+
+save_state=$(stty -g)
+stty raw
+\&...
+stty "$save_state"
+
+.fi
+.It Cm size
+端末の大きさを行、列の順に並べた一行で表示します。
+.El
+.Ss 互換モード:
+.Pp
+以下のモードは旧バージョンの stty コマンドとの互換性保持のために残され
+ています。
+.Bl -tag -width Fl
+.It Cm all
+縦覧式でコントール文字を表示する以外は、
+.Cm stty Fl a
+と同様に端末設定を表示します。
+.It Cm everything
+.Cm all
+と同じです。
+.It Cm cooked
+.Cm sane
+と同じです。
+.It Cm cbreak
+.Cm brkint , ixon , imaxbel , opost ,
+.Cm isig , iexten ,
+.Cm Fl icanon
+を有効にします。
+解除した場合は
+.Cm sane
+と同じです。
+.It Cm new
+.Cm tty
+と同じです。
+.It Cm old
+.Cm tty
+と同じです。
+.It Cm newcrt Pq Fl newcrt
+.Cm crt
+と同じです。
+.It Cm pass8
+.Cm parity
+の反対です。
+.It Cm tandem Pq Fl tandem
+.Cm ixoff
+と同じです。
+.It Cm decctlq Pq Fl decctlq
+.Cm ixany
+の反対です。
+.It Cm crterase Pq Fl crterase
+.Cm echoe
+と同じです。
+.It Cm crtbs Pq Fl crtbs
+.Cm echoe
+と同じです。
+.It Cm crtkill Pq Fl crtkill
+.Cm echoke
+と同じです。
+.It Cm ctlecho Pq Fl ctlecho
+.Cm echoctl
+と同じです。
+.It Cm prterase Pq Fl prterase
+.Cm echoprt
+と同じです。
+.It Cm litout Pq Fl litout
+.Cm opost
+の反対です。
+.It Cm tabs Pq Fl tabs
+.Cm oxtabs
+の反対です。
+.It Cm brk Ar value
+制御文字
+.Cm eol
+と同じです。
+.It Cm flush Ar value
+制御文字
+.Cm discard
+と同じです。
+.It Cm rprnt Ar value
+制御文字
+.Cm reprint
+と同じです。
+.El
+.Pp
+.Nm stty
+は成功した場合は 0 を、エラーが起きた場合は 0 より大きい値を返します。
+.Sh 関連項目
+.Xr termios 4
+.Sh 規格
+.Nm stty
+は
+.St -p1003.2
+互換です。
+.Fl e
+と
+.Fl f
+のフラグは規格を拡張しています。
diff --git a/ja/man/man1/su.1 b/ja/man/man1/su.1
new file mode 100644
index 0000000000..0350eaff15
--- /dev/null
+++ b/ja/man/man1/su.1
@@ -0,0 +1,212 @@
+.\" Copyright (c) 1988, 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)su.1 8.2 (Berkeley) 4/18/94
+.\" %Id: su.1,v 1.3.2.5 1997/10/12 08:12:40 jmg Exp %
+.\" jpman %Id: su.1,v 1.3 1997/05/19 16:52:17 horikawa Stab %
+.\"
+.\" this is for hilit19's braindeadness: "
+.Dd April 18, 1994
+.Dt SU 1
+.Os
+.Sh 名称
+.Nm su
+.Nd 一時的に他のユーザになりかわる
+.Sh 書式
+.Nm
+.Op Fl Kflm
+.Op Ar login Op Ar args
+.Sh 解説
+.Nm
+は
+.Ar login
+するときに Kerberos パスワード
+(もしくはログイン (
+.Ar login
+) が指定されない場合には、
+.Dq Ar login Ns .root
+のパスワード)を要求し、Kerberos 認証を得たあとにユーザとグループ ID を
+切替えます。シェルはそのあとに実行されます。もし Kerberos エラーがあれ
+ば、
+.Nm
+は、
+.Ar login
+のためのパスワードを見つけるためにローカルパスワードファイルを調べま
+す。もし
+.Nm
+が root によって実行された場合、パスワードは要求されず、適当なユーザ
+ID をもったシェルが実行されます。付加的な Kerberos 認証は一つも得られ
+ません。
+.Pp
+デフォルトでは、
+.Ev USER ,
+.Ev HOME ,
+.Ev SHELL
+以外の環境変数は引き継がれます。
+.Ev HOME
+と
+.Ev SHELL
+はターゲットとなるログインのデフォルト値になります。
+.Ev USER
+は、ターゲットログインのユーザ ID が 0 以外であれば、ターゲットログイ
+ンのものがセットされます。0 の場合は変更されません。実行されるシェルは
+ターゲットログインのログインシェルです。これは
+.Nm
+の伝統的なふるまいです。
+オリジナルユーザのログインクラス(
+.Xr login.conf 5
+参照)の資源制約とセッション優先度も通常保たれます。
+例外はターゲットログインがユーザ ID 0 の場合です。
+.Pp
+オプションとしては、以下のものがあります:
+.Bl -tag -width Ds
+.It Fl K
+ユーザ認証に Kerberos を使用しません。
+.It Fl f
+シェルとして
+.Xr csh 1
+が実行される場合、
+.Dq Pa .cshrc
+ファイルを読み込みません。
+.It Fl l
+通常にログインした場合と同様になるように環境変数が設定されます。
+すなわち、環境変数は
+.Ev HOME ,
+.Ev SHELL ,
+.Ev PATH ,
+.Ev TERM ,
+.Ev USER
+以外は捨てられます。
+.Ev HOME
+と
+.Ev SHELL
+は上記のように変更されます。
+.Ev USER
+はターゲットログインの値になります。
+.Ev PATH
+は
+.Dq Pa /bin:/usr/bin
+になります。
+.Ev TERM
+は、あなたの現在の環境変数の値になります。
+ターゲットログインのクラスにより、
+ログインクラスケーパビリティデータベースに基づき、
+環境変数が設定もしくは変更されることがあります。
+実行されるシェルはターゲット
+ログインのログインシェルになり、
+ターゲットログインのホームディレクトリに移動します。
+資源制約とセッション優先度は、
+ターゲットアカウントのログインクラスのものに変更されます。
+.It Fl m
+環境変数は変化しません。
+実行されるシェルは自分のログインシェルで、ディレクトリの移動も行われません。
+セキュリティの用心として、もしターゲットユーザのシェルが
+非標準シェル (
+.Xr getusershell 3
+で定義される) であったり、呼出側の実ユーザ ID が 0 でなければ、
+.Nm
+は失敗します。
+.El
+.Pp
+.Fl l
+と
+.Fl m
+は、同時に指定することはできません。最後に指定したものが優先されます。
+.Pp
+オプションの
+.Ar args
+がコマンドラインに指定されると、
+それらはターゲットログインのログインシェルに引き渡されます。
+これにより、
+.Fl c
+オプションを解釈する大概のシェルに、任意のコマンドを引き渡すことが出来ます。
+.Fl c
+は通常単一の引数を期待するため、
+複数の語を渡したい場合はクオートする必要が有ります。
+.Pp
+グループ ID が 0 (通常は
+.Dq wheel )
+に属するユーザしか
+.Dq root
+になることはできません。
+ただし、このグループが空の場合は例外です。
+.Pp
+デフォルトでは (設定がされていなければ) スーパユーザのプロンプトは
+.Dq Sy \&#
+に設定されます。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr kerberos 1 ,
+.Xr kinit 1 ,
+.Xr login 1 ,
+.Xr sh 1 ,
+.Xr group 5 ,
+.Xr login.conf 5 ,
+.Xr passwd 5 ,
+.Xr environ 7
+.Sh 環境変数
+.Nm
+で利用される環境変数は以下の通りです:
+.Bl -tag -width HOME
+.It Ev HOME
+上記で示した書き換えがない限り、
+実ユーザ ID のデフォルトのホームディレクトリです。
+.It Ev PATH
+上記で示した書き換えがない限り、実ユーザ ID のデフォルトのサーチパスで
+す。
+.It Ev TERM
+なり代わる人が所有している端末のターミナルタイプです。
+.It Ev USER
+ユーザ ID が 0 (root) 以外の場合は、ユーザ ID は常に
+.Nm
+後の effective ID (ターゲットとなるユーザ ID) です。
+.El
+.Sh 使用例
+.Bl -tag -width 5n -compact
+.It Li "su man -c catman"
+コマンド
+.Li catman
+をユーザ
+.Li man
+で実行します。
+あなたの実 UID が 0 でない場合は、man のパスワードを尋ねられます。
+.It Li "su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'"
+上と同様ですが、コマンドが複数の語から構成されています。
+.It Li "su -l foo"
+ユーザ
+.Li foo
+のログインの振舞をします。
+.El
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/symorder.1 b/ja/man/man1/symorder.1
new file mode 100644
index 0000000000..dabed99e6d
--- /dev/null
+++ b/ja/man/man1/symorder.1
@@ -0,0 +1,94 @@
+.\" Copyright (c) 1980, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)symorder.1 6.5 (Berkeley) 4/22/91
+.\" jpman %Id: symorder.1,v 1.3 1997/07/22 17:57:18 horikawa Stab %
+.\"
+.Dd April 22, 1991
+.Dt SYMORDER 1
+.Os BSD 3
+.Sh 名称
+.Nm symorder
+.Nd 名前のリストを並べ替える
+.Sh 書式
+.Nm
+.Fl c
+.Fl m
+.Fl t
+.Fl x
+.Ar excludelist
+.Ar symlist file
+.Sh 解説
+.Ar symlist
+ファイルは、
+.Ar file
+中に見付かるシンボルのリストを、一行当たり 1 シンボル、含んでいます。
+.Pp
+シンボル表
+.Ar file
+は適切に更新されます。シンボルは
+.Ar symlist
+から読み込まれ、与えられた順番で表の始めから並べられます。
+.Bl -tag -width flag
+.It Fl c
+.Ar symlist
+には含まれない全てのシンボルを、このファイルローカルとします。
+.It Fl t
+シンボル表を
+.Ar symlist
+に並んでいるシンボルに制限します。
+.It Fl x Ar excludelist
+シンボル表から
+.Ar excludelist
+に並んでいるシンボルを除きます。
+.It Fl m
+いくつかのシンボルが足りなくても、状態 0 で終了します。
+.El
+.Pp
+このプログラムは、特に
+.Pa /kernel
+からシンボルを得るためのオーバヘッドを減らすように、
+設計されています。
+.Sh 診断
+.Nm
+は成功した場合 0 で終了します。
+.Ar symlist
+ファイル中のシンボルがシンボル表に見付からない場合は 1 で終了し、
+エラーが起こった場合は 1 より大きな数で終了します。
+.Sh 関連項目
+.Xr nm 1 ,
+.Xr strip 1 ,
+.Xr nlist 3
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から導入されました。
diff --git a/ja/man/man1/systat.1 b/ja/man/man1/systat.1
new file mode 100644
index 0000000000..1540298f6f
--- /dev/null
+++ b/ja/man/man1/systat.1
@@ -0,0 +1,399 @@
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)systat.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: systat.1,v 1.3 1997/10/05 12:58:19 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt SYSTAT 1
+.Os BSD 4.3
+.Sh 名称
+.Nm systat
+.Nd システムの統計情報を CRT に表示します
+.Sh 書式
+.Nm systat
+.Op Fl display
+.Op Ar refresh-interval
+.Sh 解説
+.Nm systat
+はシステムの各種統計情報をスクリーン指向な方法で
+.Xr curses 3
+の curses スクリーンディスプレイライブラリを用いて表示します。
+.Pp
+.Nm systat
+の走行中はスクリーンが通常 2 つのウィンドウに分割されます
+(例外は vmstat を表示する場合で この時はスクリーン全体を使います)。
+上のウィンドウはその時のシステムのロードアベレージを表示します。
+下のウィンドウに表示される情報は、ユーザのコマンドに応じて
+変化するかもしれません。スクリーンの最終行はユーザの入力と
+エラーメッセージのために予約されています。
+.Pp
+デフォルトでは
+.Nm systat
+はプロセッサ使用率が最大のプロセスを下のウィンドウに表示します。
+他にはスワップ領域の使用状況、ディスク
+.Tn I/O
+の統計情報 (
+.Xr iostat 8
+式に)、仮想記憶の統計情報 (
+.Xr vmstat 8
+式に)、ネットワークの ``mbuf'' 利用率、ネットワークコネクション (
+.Xr netstat 1
+式に) を表示します。
+.Pp
+入力は 2 つの異なるレベルで解釈されます。
+``グローバル'' なコマンドインタプリタがすべてのキーボード入力を
+処理します。もしこのコマンドインタプリタがコマンドを認識できないと、
+入力行は表示する種類毎のコマンドインタプリタに渡されます。
+これによって各表示内容に応じたコマンドを持つ事が可能になります。
+.Pp
+コマンド行のオプション:
+.Bl -tag -width "refresh_interval"
+.It Fl Ns Ar display
+.Fl
+に続けて
+.Ar display
+として以下のいずれか一つを指定します:
+.Ic pigs ,
+.Ic iostat ,
+.Ic swap ,
+.Ic mbufs ,
+.Ic vmstat ,
+.Ic netstat
+。これらの表示内容は対話的にも (
+.Dq Fl
+無しに) 指定でき、そして詳細は以下の説明にあります。
+.It Ar refresh-interval
+.Ar refresh-value
+にスクリーンの更新間隔を秒数で指定します。
+.El
+.Pp
+いくつかの文字は
+.Nm systat
+を即座に反応させます。
+そういった文字には以下の物があります
+.Bl -tag -width Fl
+.It Ic \&^L
+スクリーンを更新します。
+.It Ic \&^G
+その時点で下のウィンドウに表示されている ``表示内容'' の名称と
+更新間隔を表示します。
+.It Ic \&^Z
+.Nm systat
+を停止します。
+.It Ic \&:
+カーソルをコマンドラインに移動して打ち込まれた入力行を
+コマンドとして解釈します。コマンドの入力中は
+現位置文字消去、単語消去、行取消の各編集機能が使えます。
+.El
+.Pp
+以下のコマンドは ``グローバル'' なコマンドインタプリタによって
+解釈されます。
+.Bl -tag -width Fl
+.It Ic help
+指定可能な表示内容をコマンドラインに表示します。
+.It Ic load
+過去 1、5、15分間のロードアベレージをコマンドラインに表示します。
+.It Ic stop
+スクリーンの更新を止めます。
+.It Xo
+.Op Ic start
+.Op Ar number
+.Xc
+スクリーンの更新を開始 (継続) します。もし数値で秒数指定の
+引数が与えられると更新間隔 (の秒数) として解釈されます。
+数値のみを与えると更新間隔がその値にセットされます。
+.It Ic quit
+.Nm systat
+を終了します。
+(これは
+.Ic q
+と省略できます。)
+.El
+.Pp
+指定可能な表示内容には以下があります:
+.Bl -tag -width Ic
+.It Ic pigs
+下のウィンドウに、主記憶を占めプロセッサ利用率が最大のプロセスを
+表示します (デフォルトの表示内容です)。
+ユーザプロセスへのプロセッサの割当が 100% 未満の時は、
+残りは ``idle'' プロセスに割り当てられているものと扱います。
+.It Ic iostat
+下のウィンドウに、プロセッサ利用率とディスクのスループットの
+統計情報を表示します。プロセッサ利用率の統計情報は
+ユーザモード (``user'')、低いプライオリティで実行された
+ユーザモードのプロセス (``nice'')、システムモード (``system'')、
+割り込みモード (``interrupt'')、アイドル (``idle'') での総実行時間
+の棒グラフとして表示されます。
+ディスクのスループットの統計情報としては、各ドライブについて、
+転送データのキロバイト数、実行されたディスクトランザクション数、
+平均シーク時間 (単位はミリ秒) が表示されます。
+この情報は棒グラフまたは下へスクロールする数値の列で表示されます。
+棒グラフでの表示がデフォルトです;
+.Pp
+以下のコマンドは表示内容が
+.Ic iostat
+の場合に特有です; 先頭からの一意に識別可能な文字数だけで指定可能です。
+.Pp
+.Bl -tag -width Fl -compact
+.It Cm numbers
+ディスク
+.Tn I/O
+の統計情報を数値形式で表示します。値は下へスクロールする
+数値の列として表示されます。
+.It Cm bars
+ディスク
+.Tn I/O
+の統計情報を棒グラフ形式で表示します (デフォルト)。
+.It Cm msps
+平均シーク時間の表示を切替えます (デフォルトではシーク時間は
+表示されません)。
+.El
+.It Ic swap
+カーネルに組み込まれている全スワップ領域について
+利用状況に関する情報を表示します。
+最初の列はパーティションのデバイス名です。
+次の列はパーティションの総容量です。
+.Ar Used
+の列は それまでに使われた総ブロックを示します;
+グラフは各パーティションで使用中の部分の割合を示します。
+2つ以上の使用中のスワップパーティションがある場合は、
+合計の行も表示されます。
+カーネルに組み込まれているものの、使われていない物は
+使用不可として表示されます。
+.It Ic mbufs
+下のウィンドウに、何らかの用途、すなわち、データ、ソケット構造体等々に
+確保された mbuf の個数を表示します。
+.It Ic vmstat
+画面全体を使って、
+仮想記憶の利用状況、プロセススケジューリング、
+デバイスからの割り込み、システムの名前変換キャッシュ、
+ディスク
+.Tn I/O
+等々に関する (やや込み入った) 統計情報の要約を表示します。
+.Pp
+画面の左上の領域にはログインしているユーザ数と過去 1、5、15分間の
+ロードアベレージが表示されます。
+この行の下はメモリ利用率の統計情報です。
+この表の 1行目はアクティブなプロセス、つまり過去 20秒以内に
+走行状態だったことのあるプロセスのみのメモリ利用率を報告します。
+2番目の行は全プロセスのメモリ利用状況を報告しています。
+1番目の列はプロセスによって要求された物理ページ数を表示します。
+2番目の列は読みだし専用のテキストページに当てられた
+物理ページ数を表示します。
+3番目と 4番目の列は同じ物に関して仮想ページの情報を表示します。
+これは全プロセスが全ページを持つとした時に必要となるページ数を表します。
+最後に、最終列はフリーリスト上の物理ページ数を示します。
+.Pp
+メモリ情報の下は平均プロセス数のリスト (1更新期間前からのもの) で、
+走行可能 (`r')、ページ待ち中 (`p')、
+ページング以外のディスク待ち中 (`d')、
+スリープ状態 (`s')、スワップアウトされているが実行されるのを
+待っている状態 (`w') です。このキューの長さのリストの下は
+時間の総計をシステム (`=' で示されます)、割り込み (`+' で示されます)、
+ユーザ (`>' で示されます)、ナイス (`-' で示されます)、
+アイドル (` ' で示されます) について数値のリストと棒グラフで
+表した物です。
+.Pp
+.\" この文は原文では もっと後ろにあったが、画面構成が変わっているようなので
+.\" 移動した (訳注)
+平均プロセス数の右にコンテキストスイッチ (`Csw')、
+トラップ (`Trp'; ページフォルトを含む)、
+システムコール (`Sys')、割り込み (`Int')、
+ネットワークソフトウェア割り込み (`Sof')、
+ページフォルト (`Flt') の
+1更新間隔での秒あたりの平均回数を報告します。
+.Pp
+プロセス情報の下はファイル名変換の統計情報です。
+これは前の更新期間中に行われたファイル名から iノード番号への変換の
+回数、システム全体で共通の変換キャッシュで処理された物の回数と
+割合、プロセス毎の変換キャッシュで処理された物の回数と割合を
+表示しています。
+.Pp
+左下はディスクアクセス状況です。
+ここでは 1更新間隔 (デフォルトでは 5秒) のシーク回数、転送回数、
+平均転送量をキロバイト/秒で報告します。
+ディスクによっては平均シーク時間をミリ秒単位で報告します。
+システムは最大で 8台 (これは /sys/dkstat.h の定数 DK_NDRIVE で
+決まるカーネルのコンパイル時定数です) のディスクまでしか
+統計情報を管理しないことに注意して下さい。
+.Pp
+右上の日時の下はページングとスワップの稼働状況です。
+最初の 2列は、1更新間隔の間にページフォルトとページデーモンによって、
+読み込まれたページ数と掃き出されたページ数の 1秒あたりの平均を報告します。
+3番目と 4番目の列は、1更新間隔の間にスケジューラによって発行された
+スワップ要求により
+読み込まれたページ数と掃き出されたページ数の 1秒あたりの平均を報告します。
+この情報の 1行目は 1更新間隔での秒あたりの平均ディスク転送回数を
+示します; この情報の 2行目は 1更新間隔での秒あたりの平均転送ページ数を
+示します。
+.Pp
+.\" この文は原文が VAX 4.3BSD のままのようだったので直した (訳注)
+ページングの統計情報の下は
+copy-on-writes が行われたページ数 (`cow')、
+要求時 0クリアが行われたページ数 (`zfod')、
+I/O等のためにページング対象から外され、固定されているページ数 (`wire')、
+最近参照されたページ数 (`act')、
+ページングの候補になっているページ数 (`inact')、
+クリーンな状態のキャッシュページ数 (`cache')、
+フリーページ数 (`free')、
+デーモンがフリーしたページ数 (`daefr')、
+プロセスが終了した事によってフリーされたページ数 (`prcfr')、
+フリーリストから最近参照されたか、
+またはページングの候補になったページ数 (`react')、
+デーモンが起こされた回数 (`pdwak')、
+デーモンが調べたページ数 (`pdpgs')、
+フォルトしたページが読み込み途中だった回数 (`intrn')、
+キロバイト単位のバッファキャッシュのサイズ (`buf')
+の 1更新間隔での秒あたりの平均値です。
+.Pp
+画面の右下はシステムによって処理された割り込みの詳細です。
+リストのトップは更新期間中の秒あたりの総割り込み数です。
+列の残りの部分は総割り込み数のデバイス毎の詳細です。
+ブートしてから少なくとも 1回は割り込みを発生したデバイスについてのみ
+表示されます。
+.Pp
+以下のコマンドは表示内容が
+.Ic vmstat
+の場合に特有です; 先頭からの一意に識別可能な文字数だけで指定可能です。
+.Pp
+.Bl -tag -width Ar -compact
+.It Cm boot
+システムがブートしてからの累積の統計情報を表示します。
+.It Cm run
+このコマンドが与えられてからの走行中のトータルとして統計情報を表示します。
+.It Cm time
+更新期間の平均で統計情報を表示します (デフォルト)。
+.It Cm zero
+走行中の統計情報を 0 にリセットします。
+.El
+.It Ic netstat
+下のウィンドウにネットワーク接続状況を表示します。デフォルトでは、
+リクエストを待っているネットワークサーバは表示されません。
+各アドレスは ``host.port'' のフォーマットで、可能であれば
+シンボルで表示されます。アドレスを数字で表示することや、
+ポート、ホスト、プロトコルの表示を制限することが可能です。
+(先頭からの一意に識別可能な文字数だけで指定可能です):
+.Pp
+.Bl -tag -width Ar -compact
+.It Cm all
+リクエストを待っているサーバプロセスの表示を切り替えます (これは
+.Xr netstat 1
+の
+.Fl a
+フラグと等価です)。
+.It Cm numbers
+ネットワークアドレスを数字で表示します。
+.It Cm names
+ネットワークアドレスをシンボルで表示します。
+.It Ar protocol
+指定されたプロトコルを使っているネットワークコネクションのみを
+表示します (現在の所 ``tcp'' か ``udp'' のいずれかです)。
+.It Cm ignore Op Ar items
+指定されたホストまたはポートとの接続に関する情報を表示しません。
+ホストとポートは名前 (``vangogh'' や ``ftp'')、または数字で
+指定できます。ホストのアドレスはインターネットのドット表記を
+使用します (``128.32.0.9'')。空白で区切って 1つのコマンドに
+複数の指定が可能です。
+.It Cm display Op Ar items
+指定されたホストまたはポートとの接続に関する情報を表示します。
+.Ar ignore
+と同様に、
+.Op Ar items
+は名前または数字が使用可能です。
+.It Cm show Op Ar ports\&|hosts
+コマンドラインに、その時点で選択されているプロトコル、
+ホスト、ポートを表示します。無視されるホストとポートには
+`!' を前置します。もし
+.Ar ports
+か
+.Ar hosts
+が
+.Cm show
+の引数として与えられると、
+指定された情報だけが表示されます。
+.It Cm reset
+ポート、ホスト、プロトコルの選択メカニズムをデフォルト
+(あらゆるプロトコル、ポート、ホスト)の状態にリセットします。
+.El
+.El
+.Pp
+表示内容の切り替えコマンドは先頭からの一意に識別可能な
+文字数に短縮できます; 例えば ``iostat'' は ``io'' と省略できます。
+画面サイズが表示内容に不十分な時は情報が捨てられる可能性があります。
+例えば、10台のドライブがあるマシンでは
+.Ic iostat
+の棒グラフは 24行の端末では 3ドライブ分しか表示しません。
+棒グラフが割り当てられた画面のスペースに収まらない時は
+切り詰められて実際の値は棒の ``先端部分'' に表示されます。
+.Pp
+以下のコマンドはディスクドライブに関する情報を表示する物に
+共通です。これらのコマンドは、あなたのシステムに、通常
+画面に表示しきれない数のドライブがある場合に、情報を表示する
+ドライブのセットを選択するために使うためのものです。
+.Pp
+.Bl -tag -width Tx -compact
+.It Cm ignore Op Ar drives
+指定されたドライブに関する情報を表示しません。複数のドライブを
+空白で区切って指定できます。
+.It Cm display Op Ar drives
+指定されたドライブに関する情報を表示します。複数のドライブを
+空白で区切って指定できます。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /etc/networks -compact
+.It Pa /kernel
+ネームリストを読み出します。
+.It Pa /dev/kmem
+主記憶の情報を取ります。
+.It Pa /dev/drum
+スワップアウトされたプロセスの情報のために使います。
+.It Pa /etc/hosts
+ホスト名をひきます。
+.It Pa /etc/networks
+ネットワーク名をひきます。
+.It Pa /etc/services
+ポート名をひきます。
+.El
+.Sh 歴史
+.Nm systat
+プログラムは
+.Bx 4.3
+に初めて登場しました。
+.Sh バグ
+CPU の 2-10 パーセントを消費します。
+表示内容によっては 1行に最低で 80文字が表示できる事を想定しています。
+.Ic vmstat
+は表示領域が足りないようです。なぜなら (訳注: 原文が切れています)
+(新規のプログラムとしてではなく独立した表示画面として追加されました)。
+
+.Sh 日本語訳
+野首 寛高(h-nokubi@nmit.tmg.nec.co.jp): FreeBSD 用に翻訳
diff --git a/ja/man/man1/tail.1 b/ja/man/man1/tail.1
new file mode 100644
index 0000000000..d47ce600c9
--- /dev/null
+++ b/ja/man/man1/tail.1
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1980, 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tail.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: tail.1,v 1.2 1997/03/29 11:43:59 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt TAIL 1
+.Os BSD 4
+.Sh 名称
+.Nm tail
+.Nd ファイルの最後の部分を表示する
+.Sh 書式
+.Nm
+.Op Fl f Li | Fl r
+.Oo
+.Fl b Ar number |
+.Fl c Ar number |
+.Fl n Ar number
+.Oc
+.Op Ar
+.Sh 解説
+.Nm
+は、
+.Ar file
+が指定されていればそのファイルを、
+指定されていなければ標準入力を読み込み、
+バイト数、行数、もしくは、512 バイト単位のブロック数で指定された位置
+以降を表示します。
+.Pp
+.Ar number
+に ``+'' をつけた場合は、入力の先頭からの指定となります。たとえば、
+.Dq -c +2
+と指定すれば 2 バイト目から表示されます。
+.Ar number
+に ``-'' もしくは符号をつけていない場合は、入力の最後からの相対位置の
+指定となります。たとえば、
+.Dq -n 2
+では最後の 2 行が表示されます。デフォルトでは
+.Dq -n 10 ,
+で、入力の最後から 10 行分が表示されます。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl b Ar number
+512 バイト単位のブロック数で指定します。
+.It Fl c Ar number
+バイト単位で指定します。
+.It Fl f
+ファイルの最後に達しても終了せず、入力に追加されるデータを待つようにします。
+.Fl f
+オプションは、標準入力がパイプの場合は無視されますが、
+FIFO の場合は無視されません。
+.It Fl n Ar number
+行単位で指定します。
+.It Fl r
+行ごとに、逆順に表示します。また、
+.Fl b ,
+.Fl c ,
+.Fl n
+の各オプションの意味も変わり、
+それぞれ表示するブロック数、バイト数、行数の指定になります。
+デフォルトでは、入力したものがすべて逆に表示されます。
+.El
+.Pp
+もし一つ以上のファイルが指定されていると、それぞれのファイルを表示する前に
+.Dq ==> XXX <==
+という形式のヘッダを表示します。
+ただし
+.Dq XXX
+はファイル名です。
+.Pp
+.Nm
+は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 関連項目
+.Xr cat 1 ,
+.Xr head 1 ,
+.Xr sed 1
+.Sh 規格
+.Nm
+ユーティリティは
+.St -p1003.2-92
+のスーパーセットであると考えられています。特に
+.Fl b ,
+.Fl r
+オプションは拡張されたものです。
+.Pp
+以前の UNIX とのオプション書式の互換は保たれています。ただし、
+.Fl r
+オプションが
+.Fl b ,
+.Fl c ,
+.Fl n
+修飾オプションとなったため、完全には互換はありません。以前の
+.Nm
+では ``-4cr'' としても、
+.Fl c
+が無視されて最後の 4 行が逆順に表示されましたが、本バージョンの
+.Nm
+では
+``-r -c 4'' と解釈され、最後の 4 バイトが表示されます。
+.Sh 歴史
+.Nm
+コマンドは
+.At v7
+から登場しました。
diff --git a/ja/man/man1/talk.1 b/ja/man/man1/talk.1
new file mode 100644
index 0000000000..ebf9917a61
--- /dev/null
+++ b/ja/man/man1/talk.1
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)talk.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: talk.1,v 1.2 1997/05/04 13:39:47 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt TALK 1
+.Os BSD 4.2
+.Sh 名称
+.Nm talk
+.Nd 他のユーザと会話(筆談)を行う
+.Sh 書式
+.Nm
+.Ar person
+.Op Ar ttyname
+.Sh 解説
+.Nm
+は、視覚的な通信プログラムで、
+端末に入力された行を他のユーザの端末にコピーします。
+.Pp
+オプション:
+.Bl -tag -width ttyname
+.It Ar person
+ログイン名だけを指定したときは、同じマシンにいるユーザ
+と会話をすることができます。他のマシンのユーザと会話をしたい場合は、
+.Ql user@host
+または
+.Ql host!user
+または
+.Ql host:user
+という形で
+.Ar person
+を指定します。
+.It Ar ttyname
+複数の端末にログイン しているユーザと会話をしたい場合、端末名
+.Ar ttyname
+を指定することができます。
+.Ar ttyename
+は
+.Dq ttyXX
+という形で指定します。
+.El
+.Pp
+最初に呼び出しを行うとき、
+.Nm
+は以下のようなメッセージを
+.Ar person
+に送ります。
+.Bd -literal -offset indent -compact
+Message from TalkDaemon@his_machine...
+talk: connection requested by your_name@your_machine.
+talk: respond with: talk your_name@your_machine
+.Ed
+.Pp
+メッセージを送られた相手は、この時点で以下のように返事をする必要があります。
+.Pp
+.Dl talk \ your_name@your_machine
+.Pp
+ログイン名が同じであれば、相手はどのマシンから返事をしてもかまいません。
+一度、相手との接続が確立すると、2人のユーザは同時に書き込みを行うこと
+ができます。2人の書き込み結果は、異なったウィンドウに分割されて表示さ
+れます。control-L
+.Ql ^L
+を打ち込むと、画面を書き直します。また、erase, kill, word kill 文字
+は通常どおりの動作をします。会話を終了するには、中断 (interrupt) 文字を
+入力します。
+.Nm
+は、カーソルを画面の一番下に移動させ、端末を元の状態に戻します。
+.Pp
+.Nm
+から呼び出しを許すかどうかは、
+.Xr mesg 1
+で指定することができます。
+.Xr mesg 1
+で設定してないときは、
+.Nm
+からの呼び出しは許可されています。ただし、
+.Xr nroff 1
+や
+.Xr pr 1
+などのプログラムなどは、
+.Nm
+からの呼び出しで出力画面が見にくくならないように、メッセージを拒否します。
+.Pp
+.Sh 関連ファイル
+.Bl -tag -width /var/run/utmp -compact
+.It Pa /etc/hosts
+受信者のホスト名を知るために用いる
+.It Pa /var/run/utmp
+受信者の端末名を知るために用いる
+.El
+.Sh 関連項目
+.Xr mail 1 ,
+.Xr mesg 1 ,
+.Xr who 1 ,
+.Xr write 1
+.Sh バグ
+.Bx 4.3
+で使われているバージョンの
+.Xr talk 1
+のプロトコルは、
+.Bx 4.2
+のものとは互換性がありません。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.2
+から登場しました。
diff --git a/ja/man/man1/tar.1 b/ja/man/man1/tar.1
new file mode 100644
index 0000000000..7893d88b10
--- /dev/null
+++ b/ja/man/man1/tar.1
@@ -0,0 +1,439 @@
+.\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*-
+.\" See /usr/src/gnu/COPYING for conditions of redistribution
+.\"
+.\" Written by John F. Woods <jfw@jfwhome.funhouse.com>
+.\"
+.\" %Id: tar.1,v 1.6.2.1 1997/06/05 23:13:54 max Exp %
+.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab %
+.\"
+.Dd 6 August 1994
+.Os FreeBSD
+.Dt TAR 1
+.Sh 名称
+.Nm tar
+.Nd
+テープアーカイバ; "tar" アーカイブファイルの操作
+.Sh 書式
+.Nm
+.Op Cm Bq -
+.Op Cm bundled-options
+.Op Ar [gnu-style-flags]
+.Op Ar tarfile
+.Op Ar blocksize
+.Op Ar exclude-file
+.Op Ar filenames
+.Op Fl C Ar directory-name
+.Sh 解説
+.Nm
+は、歴史的な理由により
+.Dq tape archiver
+を省略して名付けられました。
+.Nm
+プログラムは、
+.Ar tarfile
+と呼ばれる
+.Dq tar
+フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、
+またアーカイブからファイルを抽出したりします。
+tarfile は通常磁気テープを指しますが、フロッピーディスケットや
+通常のファイルでも構いません。
+.Pp
+通常、
+.Nm
+コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、
+その前に ダッシュ(-)をつけてもつけなくてもいいようになっています。
+単語には、次の機能文字のうちちょうど 1 つを含んでいなければなりません:
+.Cm A ,
+.Cm c ,
+.Cm d ,
+.Cm r ,
+.Cm t ,
+.Cm u ,
+.Cm x ,
+これらはそれぞれ 追加 (append) 、作成 (create) 、差分 (difference) 、
+置換 (replace) 、リスト表示 (table of contents) 、更新 (update) 、
+そして抽出 (extract) を意味しています (下記に詳細があります) 。
+これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に
+含めることができます。それらのいくつかは、コマンド単語内と同じ順で
+コマンドライン引数を要求します (EXAMPLE セクションを参照) 。
+機能文字と機能変更文字は、GNU 形式の引数で指定することもできます
+(2 つのダッシュを最初につけ、1 つのコマンド単語ごとに機能文字か
+機能変更文字を 1 つだけ指定する) 。
+アーカイブから追加、抽出、またはリスト表示するためにコマンドライン指定する
+ファイル名には、シェルのパターンマッチ文字列を使用することができます。
+.Sh 機能
+以下の機能のいずれか1つだけを必ず指定しなければなりません。
+.Pp
+.Bl -tag -width "--concatenate" -compact
+.It Fl A
+.It Fl -catenate
+.It Fl "-concatenate"
+指定された(tar アーカイブ形式の)ファイルを tar アーカイブの末尾
+に追加します。(追加する前の古い end-of-archive ブロックは削除さ
+れます。)
+これは、指定されたファイルがアーカイブの中の1ファイルとなるので
+はなく、指定したファイルの中に含まれているファイルを、最初に指定
+したアーカイブに追加するという効果を持ちます。
+.Em 注:
+このオプションは tarfile を再書き込みする必要があるため、1/4 イ
+ンチカートリッジテープでは動作しません。
+.It Fl c
+.It Fl -create
+新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定
+されたファイルをアーカイブに書き込みます。
+.It Fl d
+.It Fl -diff
+.It Fl -compare
+アーカイブの中のファイルと、それに相当するファイルシステム内のファ
+イルとの違いを調査します。
+.It Fl -delete
+指定されたファイルをアーカイブから削除します。(1/4 インチテープ
+では動作しません。)
+.It Fl r
+.It Fl -append
+アーカイブの末尾にファイルを追加します。(1/4 インチテープでは動
+作しません。)
+.It Fl t
+.It Fl -list
+アーカイブ内容のリスト表示をします。もし引数としてファイル名が指
+定されていれば、そのファイルだけがリスト表示されます。そうでなけ
+れば、アーカイブに含まれるすべてのファイルリストが表示されます。
+.It Fl u
+.It Fl -update
+指定したファイルのうち、アーカイブ内のファイルよりもディスク上の
+ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ
+では動作しません。
+.It Fl x
+.It Fl -extract
+.It Fl -get
+アーカイブからファイルを抽出します。可能ならば、オーナー、変更時
+刻、ファイル属性はリストアされます。もし
+.Ar file
+引数が指定されていなければ、アーカイブ内の全ファイルが抽出されま
+す。もし
+.Ar filename
+引数がテープ上のディレクトリ名にマッチしていれば、そのディレクト
+リとディレクトリ内のファイルが抽出されます。(ディレクトリ内のす
+べてのディレクトリについても同様に抽出されます。)
+もしアーカイブ内に、相当する同じファイルが複数含まれていれば(上
+記の
+.Fl -append
+コマンドを参照)、最後に含まれているものが他のすべてのファイルを
+上書きする形で抽出されます。
+.Sh オプション
+.Nm
+の他のオプションは、組み合わせて使用することができます。
+1文字オプションは、コマンド単語の中で指定することができます。
+引数を与えるべきオプションの場合、オプションに続けて引数を指定し
+ます。1文字オプションであれば、したコマンドラインに続けて引数を
+指定することになるでしょう (以下の
+.Sx EXAMPLES
+を参照してください。)
+.Pp
+.Bl -tag -width "--preserve-permissions" -compact
+.It Fl -help
+tar のすべてのコマンドオプションについて一覧と解説を表示します。
+.It Fl -atime-preserve
+テープに書かれている、ファイルのアクセス時刻をリストアします。
+(inodeの変更時刻が変更されることに注意してください!)
+.It Fl b
+.It Fl -block-size Ar number
+読み書きするブロックサイズを512-byte ブロック N 個ぶんに設定します。
+.It Fl B
+.It Fl -read-full-blocks
+短い読みだしブロックを、完全なブロックに再組み立てします。
+(4.2BSD パイプの読み込み用。)
+.It Fl C Ar directory
+.It Fl -directory Ar directory
+抽出時に
+.Ar directory
+へ移動します。
+.It Fl -checkpoint
+アーカイブを読むときディレクトリ名を表示します。
+.It Fl f Ar [hostname:]file
+.It Fl -file Ar [hostname:]file
+指定された
+.Ar file
+(デフォルトは /dev/rst0) を読み書きします。
+もし
+.Ar hostname
+が指定されていれば、
+.Nm
+は
+.Xr rmt 8
+を使って、リモートマシン上の
+.Ar file
+を読み書きします。"-" はファイルネームとして使用されることもありますが、
+これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。
+.It Fl F Ar file
+.It Fl -info-script Ar file
+.It Fl -new-volume-script Ar file
+それぞれのアーカイブの最後にスクリプトを走らせます (暗黙の
+.Fl M
+指定が行なわれます。)
+.It Fl -fast-read
+ワイルドカードで指定されていないすべての抽出ターゲットが
+アーカイブ内に見つかったら、その時点で終了します。
+.It Fl G
+.It Fl -incremental
+古い GNU-format インクリメンタルバックアップファイルを作成/リス
+ト/抽出します。
+.It Fl g Ar file
+.It Fl -listed-incremental Ar file
+新しい GNU-format インクリメンタルバックアップファイルを作成/リ
+スト/抽出します。
+.It Fl h
+.It Fl -dereference
+シンボリックリンクをシンボリックのまま書き込みません。シンボリッ
+クリンクが指しているデータを書き込みます。
+.It Fl i
+.It Fl -ignore-zeros
+アーカイブの中のゼロブロック(通常、End-Of-File を意味する)を無視します。
+.It Fl -ignore-failed-read
+ファイルが読めなくても、非 0 のステータスで exit しません。
+.It Fl k
+.It Fl -keep-old-files
+ディスク上に既にあるファイルを保持します。つまり、アーカイブから
+抽出するファイルは、ディスク上のファイルへ上書きしません。
+.It Fl K Ar file
+.It Fl -starting-file Ar file
+アーカイブの中の
+.Ar file
+から(抽出、リストなどを)始めます。
+.It Fl l
+.It Fl -one-file-system
+あるファイルシステム内にあるファイルだけでアーカイブを作成します。
+(他ファイルシステムへのマウントポイントは使われません。)
+.It Fl L Ar number
+.It Fl -tape-length Ar number
+N*1024 バイトを書き込んだ後テープの交換を要求します。
+.It Fl m
+.It Fl -modification-time
+ファイルの変更時刻を抽出しません。
+.It Fl M
+.It Fl -multi-volume
+マルチボリュームアーカイブを作成/リスト/抽出します。
+.It Fl N Ar date
+.It Fl -after-date Ar date
+.It Fl -newer Ar date
+.Ar date
+より新しいファイルだけを抽出します。
+.It Fl o
+.It Fl -old-archive
+.It Fl -portability
+POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成し
+ます。
+.It Fl O
+.It Fl -to-stdout
+ファイルを標準出力に抽出します。
+.It Fl p
+.It Fl -same-permissions
+.It Fl -preserve-permissions
+保護情報を完全に抽出します。
+.It Fl -preserve
+.Fl p s
+の指定と同じ効果を持ちます。
+.It Fl P
+.It Fl -absolute-paths
+ファイル名から先頭の`/'をとりません。
+.It Fl R
+.It Fl -record-number
+メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。
+.It Fl -remove-files
+アーカイブに追加したファイルを、追加後に削除します。
+.It Fl s
+.It Fl -same-order
+.It Fl -preserve-order
+アーカイブ内から抽出するファイルを、指定された順のままにします。
+.It Fl S
+.It Fl -sparse
+「少ない」ファイルを効率的に扱うようにします。
+.It Fl T Ar file
+.It Fl -files-from Ar file
+.Ar file
+から抽出もしくは作成するファイル名を得ます。(1行1ファイル名。)
+.It Fl -null
+nullで終わっている名前を考慮し、
+.Fl T
+の振舞を変更します。
+これは
+.Fl C
+指定を無効にします。
+.It Fl -totals
+--create によって書かれたトータルバイト数を表示します。
+.It Fl v
+.It Fl -verbose
+--create でアーカイブに書くファイルや --extract でアーカイブから
+取り出すファイル名をリスト表示します。ファイルの保護情報をファイ
+ル名とともに表示させるには、--list を使います。
+.It Fl V Ar volume-name
+.It Fl -label Ar volume-name
+指定された
+.Ar volume-name
+を持ったアーカイブを作成します。
+.It Fl -version
+tar プログラムのバージョン番号を表示します。
+.It Fl w
+.It Fl -interactive
+.It Fl -confirmation
+すべての動作に対して、確認を求めるようになります。
+.It Fl W
+.It Fl -verify
+アーカイブを書き込んだ後、ベリファイを試みます。
+.It Fl -exclude Ar pattern
+.Ar pattern
+にマッチするファイルを除外します。
+(抽出しません。追加しません。リスト表示しません。)
+.It Fl X Ar file
+.It Fl -exclude-from Ar file
+.Ar file
+に一覧されているファイルを除外します。
+.It Fl Z
+.It Fl -compress
+.It Fl -uncompress
+アーカイブを
+.Xr compress 1
+でフィルタリングします。
+.It Fl z
+.It Fl -gzip
+.It Fl -gunzip
+アーカイブを
+.Xr gzip 1
+でフィルタリングします。
+.It Fl -use-compress-program Ar program
+アーカイブを
+.Ar program
+でフィルタリングします。
+(これは、
+.Fl d
+が指定されたときは ``decompress'' を意味しなければなりません。)
+.It Fl -block-compress
+テープもしくはフロッピーのために、圧縮プログラムの出力をブロック
+化します。(そうでないとき奇数長を書き込むと、デバイスドライバは
+それを拒絶するでしょう。)
+.It Fl [0-7][lmh]
+テープドライブと密度を指定します。
+.It Fl -norecurse
+作成時にサブディレクトリ内の内容を無視します。
+.It Fl -unlink
+ファイルを作成する前に、いったん削除します。
+.El
+.Sh 使用例
+"bert" と "ernie" というファイルを含む、ブロックサイズが 20 ブロッ
+クのアーカイブを、テープドライブ /dev/rst0 に作るには、
+.Pp
+.Dl tar cfb /dev/rst0 20 bert ernie
+.Pp
+もしくは
+.Pp
+.Dl tar --create --file /dev/rst0 --block-size 20 bert ernie
+.Pp
+と入力します。
+.Fl f
+および
+.Fl b
+フラグは両方とも引数を必要としていることに注意してください。
+この引数は、コマンド単語に書かれているのと同じ順序でコマンドライ
+ンから取得されます。
+.Pp
+/dev/rst0 はデフォルトのデバイスであり、20 はデフォルトのブロッ
+クサイズですので、上記の例は次のように単純化できます。
+.Pp
+.Dl tar c bert ernie
+.Pp
+"backup.tar" というアーカイブから、すべての C ソース及びヘッダを
+抽出するには、次のようにタイプします。
+.Pp
+.Dl tar xf backup.tar "*.[ch]"
+.Pp
+シェルがカレントディレクトリ内のファイル名に展開しないよう、パタ
+ーンをクォートしなければならないことに注意してください。(当然、
+シェルはアーカイブ内のファイル一覧にアクセスすることはできません。)
+.Pp
+ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください:
+.Bd -literal
+tar cf - -C srcdir . | tar xpf - -C destdir
+.Ed
+.Pp
+ディスケットに、gzip を使った圧縮アーカイブを作成するには、次の
+ようなコマンドラインを使うといいでしょう。
+.Pp
+.Dl tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar/
+.Pp
+まとめ指定フラグと --スタイルのフラグを混在させることができない
+ことに注意してください。次のようにタイプしなければならないわけで
+はなく、上記のような書き方で1文字フラグを使うことができます。
+.Pp
+.Dl tar --block-compress --gzip --verbose --file /dev/rfd1a --block-size 20 tar/
+.Pp
+上のようにして作成したディスクの内容は、次のようにすればリスト表
+示できます。
+.Pp
+.Dl tar tvfbz /dev/rfd1a 36
+.Pp
+2 つの tar アーカイブを 1 つのアーカイブにまとめるには、
+.Pp
+.Dl tar Af archive1.tar archive2.tar
+.Pp
+を使います。こうすると、archive2.tar に含まれているファイルが
+archive1.tar の末尾に追加されます。(単純に
+.Pp
+.Dl cat archive2.tar >> archive1.tar
+.Pp
+とタイプしてもうまくいかないことに注意してください。なぜなら、
+tar アーカイブの末尾には end-of-file ブロックがあるからです。)
+.Sh 環境変数
+tar プログラムは、以下の環境変数を参照します。
+.Bl -tag -width "POSIXLY-CORRECT"
+.It POSIXLY-CORRECT
+通常、tar はファイル指定の中に混ざったフラグを処理します。
+この環境変数を設定すると、tar は最初のフラグ以外の引数を見つける
+とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様
+に合わせた動作を行なうようになります。
+.It SHELL
+インタラクティブモードにおいて、サブシェルの起動が要求されたとき、
+SHELL 変数が設定されていればそれが、設定されていなければ
+"/bin/sh" が使用されます。
+.It TAPE
+tar のデフォルトのテープドライブを変更します。(これは、さらに
+.Fl f
+フラグによって変更することができます。)
+.El
+.Sh 関連ファイル
+.Bl -tag -width "/dev/rst0"
+.It Pa /dev/rst0
+デフォルトのテープドライブ
+.El
+.\" This next request is for sections 1, 6, 7 & 8 only
+.\" (command return values (to shell) and fprintf/stderr type diagnostics)
+.\" .Sh 診断
+.Sh 関連項目
+.Xr compress 1 ,
+.Xr gzip 1 ,
+.Xr pax 1 ,
+.Xr ft 8 ,
+.Xr rmt 8
+.\" .Sh 規格
+.Sh 歴史
+tar フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に
+原点があります。
+この tar の実装は GNU 実装であり、John Gilmore によって書かれた
+パブリックドメイン tar が元になっています。
+.Sh 作者
+次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記
+述されている人々] John Gilmore (オリジナルのパブリックドメイン版の
+作者), Fenlason (最初の GNU 作者), Joy Kendall, Jim Kingdon, David
+J. MacKenzie, Michael I Bushnell, Noah Friedman, そして
+バグフィックスや追加を貢献してくれた無数の人々。
+
+このマニュアルページは NetBSD 1.0 release から、FreeBSD グループが
+取り込んだものです。
+.Sh バグ
+特徴的な
+.Fl C
+オプションは、これまでの tar プログラムのようには動作しないため、
+おそらく信頼できません。
+.Pp
+-A コマンドは、任意の数の tar アーカイブを結合するよう動くべきで
+すが、そうは動作しません。2 番目やそれ以降のアーカイブの
+end-of-archive ブロックを取り除くことを試みます。
diff --git a/ja/man/man1/tbl.1 b/ja/man/man1/tbl.1
new file mode 100644
index 0000000000..caa031ba17
--- /dev/null
+++ b/ja/man/man1/tbl.1
@@ -0,0 +1,178 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: tbl.1,v 1.2 1997/05/15 15:23:39 horikawa Stab %
+.TH TBL 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+tbl \- troff のための表フォーマッタ
+.SH 書式
+.B tbl
+[
+.B \-Cv
+]
+[
+.IR files \|.\|.\|.
+]
+.SH 解説
+本マニュアルでは、groff ドキュメントフォーマットシステムの一部である
+GNU バージョンの
+.BR tbl
+について記述します。
+.B tbl
+は、
+.B troff
+ドキュメントに埋め込まれた表の記述を
+.BR troff
+が解釈できるコマンドに変換します。通常、
+.B tbl
+は
+.B groff
+に
+.B \-t
+オプションを指定することにより起動されます。
+.B tbl
+は Unix
+.B tbl
+と高い互換性を持ちますが、GNU
+.B tbl
+の出力は Unix
+.B troff
+で処理することはできません。それは GNU
+.B troff
+で処理する必要があります。
+コマンドラインにファイル名が指定されなかった場合、
+標準入力から読み込みます。
+ファイル名として
+.B \-
+を指定した場合も標準入力から読み込みます。
+.SH オプション
+.TP
+.B \-C
+.B .TS
+や
+.B .TE
+のあとに空白や改行以外の文字がきても、それを
+.B .TS
+や
+.B .TE
+であると解釈します。
+.TP
+.B \-v
+バージョン番号を表示します。
+.SH 使用法
+ここでは GNU の
+.B tbl
+と Unix の
+.B tbl
+の違いだけ説明します。
+.LP
+通常
+.B tbl
+は転換(diversion)を使用し、表内で望ましくないブレイクを抑止しようとします。
+これは、独自に転換を使用しているマクロパッケージ、例えばフットノートが
+使用された場合などに、干渉する場合があります。
+.B nokeep
+オプションは
+.B tbl
+に、こういったブレイクを使用させないようにします。
+.LP
+.B decimalpoint
+オプションはデフォルトのピリオドのかわりに小数点として認識される文字を
+指定します。
+これは
+.B tab
+オプションと同じように、括弧でくくられた一文字だけの引数をとります。
+.LP
+.B f
+フォーマット修飾子の後には、
+括弧でくくられた任意の長さのフォント名を指定することができます。
+.LP
+縦書きエントリをレンジの下部に整列させるという意味を持つ
+.B d
+フォーマット修飾子があります。
+.LP
+表のカラム数にもテキストブロックの数にも制限はありません。
+カラム幅の決定については、最初の 200 行だけではなく、
+すべての行が考慮されます。
+表の継続
+.RB ( .T& )
+行は最初の 200 行に制限されません。
+.LP
+数字と英字の項目を同じカラムに印字することもできます。
+.LP
+数字と英字の項目を水平方向にまたがらせることもできます。
+.LP
+.B tbl
+は
+.B 3
+で始まる名前のレジスタ、文字列、マクロ、転換名を使用します。
+.B tbl
+を使う際には
+.B 3
+で始まる名前の使用は避けるべきです。
+.SH バグ
+複数ページにまたがる枠付き表を表示する場合、それをサポートしている
+マクロパッケージと
+.BR .TS\ H / .TH
+を併用しなければなりません。
+表の各ページの上部に表示されるべきヘッダが出ない場合、
+そのフォーマットセクションの直後に
+.B .TH
+を置いて下さい。
+複数ページの表を keep/release マクロで囲んだり、その他の方法で
+迂回させないでください。
+.LP
+表中のテキストブロックは 1 ページに収まらなければなりません。
+.LP
+.B bp
+リクエストは複数ページの表でページブレイクを強制するために
+使用することはできません。
+.B bp
+のかわりに
+.B BP
+を以下のように定義して使用して下さい。
+.IP
+.B .de BP
+.br
+.B .ie '\e\en(.z'' .bp \e\e$1
+.br
+.B .el \e!.BP \e\e$1
+.br
+.B ..
+.br
+.LP
+表中で直接 \ea を使用しても、リーダはうまく得られません。
+これは正しい動作です: \ea は
+.B 解釈されない
+リーダです。
+リーダを得るためには、本物のリーダを使います。
+それには control A か以下を使用する必要があります:
+.IP
+.nf
+.ft B
+\&.ds a \ea
+\&.TS
+tab(;);
+lw(1i) l.
+A\e*a;B
+\&.TE
+.ft
+.fi
+.SH 関連項目
+.BR groff (1),
+.BR troff (1)
diff --git a/ja/man/man1/tconv.1 b/ja/man/man1/tconv.1
new file mode 100644
index 0000000000..5c1060c24f
--- /dev/null
+++ b/ja/man/man1/tconv.1
@@ -0,0 +1,168 @@
+.\" @(#) mytinfo tconv.1 3.2 92/02/01 public domain, By Ross Ridge
+.\" jpman %Id: tconv.1,v 1.3 1997/09/21 06:56:54 konuma Stab %
+.\" %Id: tconv.1,v 1.5.2.1 1997/08/14 06:37:58 charnier Exp %
+.\"
+.Dd February 1, 1992
+.Dt TCONV 1
+.Os
+.Sh 名称
+.Nm tconv
+.Nd termcap, terminfo ソースと terminfo バイナリを相互変換する
+.Sh 書式
+.Nm tconv
+.Op Fl b
+.Op Fl c Op Fl OUGd
+.Op Fl i
+.Op Fl B Op Fl D Ar dir
+.Op Fl I
+.Op Fl k
+.Op Fl V
+.Op Fl t Ar term
+.Op Ar file
+.Nm tic
+.Op Ar file
+.Nm captoinfo
+.Op Fl t Ar term
+.Op Fl OUGdk
+.Op Ar file
+.Sh 解説
+.Nm tconv
+は、termcap、terminfo ソースと
+.Em tinfo
+ライブラリが使用する terminfo バイナリ
+の 3 つの端末記述を互いに変換します。
+このプログラムは
+System V の
+.Xr captoinfo 1
+および
+.Xr tic 1
+と同じ機能を提供します。
+また、System V の
+.Xr infocmp 1
+の機能の 1 つと同じく、terminfo バイナリから terminfo ソース
+リスティングを出力するのに使うこともできます。
+.Pp
+翻訳オプション
+.Bl -tag -width indent
+.It Fl c
+termcap から変換します。
+.It Fl i
+terminfo ソースから変換します。
+.It Fl b
+terminfo バイナリから変換します。
+.It Fl B
+terminfo バイナリに変換します。
+.It Fl I
+terminfo ソースに変換します。
+.El
+.Pp
+ファイルを指定する場合、
+.Fl c
+または
+.Fl i
+オプションのどちらか一方と、翻訳されるファイルの完全な名前
+を指定する必要があります。
+ファイル名を指定しなかった場合、入力オプションは単に、
+翻訳されるべき端末がある、要求された型の記述がありそうな場所を
+検索するのを制限するだけに用いられます。
+(すなわち、
+.Fl c
+オプション指定時には
+.Ev TERMCAP
+環境変数と
+.Pa /usr/share/misc/termcap
+を、
+.Fl i
+オプション指定時には
+.Ev TERMINFO
+環境変数と
+.Pa /usr/lib/terminfo
+を検索します。) それ以外の時は
+.Nm
+は全ての利用可能なデータベースを検索します。
+もし、
+.Fl I
+と
+.Fl B
+のどちらのオプションも指定していない場合は、
+.Fl I
+オプションを指定したものと仮定します。
+.Fl B
+オプションを指定した場合、コンパイル結果の出力は terminfo データベースに
+出力され、指定していない場合は標準出力に出力されます。
+.Pp
+terminfo バイナリから terminfo バイナリへの翻訳はできません。
+terminfo ソースから terminfo ソースへの翻訳は可能ですが、
+.Em use=
+フィールドで参照している記述が、出力される端末記述に展開されるような場合を
+除いては、ほとんどの場合あまり役に立ちません。
+.Pp
+.Nm
+は標準 termcap の全てのパラメータ化された文字列を terminfo フォーマットに
+翻訳できるはずですが、GNU の %a コードを使った複雑な文字列は難しすぎて
+翻訳できません。
+もし、
+.Nm
+が、termcap 文字列が 既に terminfoフォーマットに翻訳されていると見なした場合
+(%p コードが文字列に含まれている場合)、
+それを翻訳しようと試みることはありません。
+パラメータを持たない文字列型機能記述は翻訳されません。
+.Pp
+Termcap オプション
+以下のオプションは、termcap エントリを翻訳するとき
+(
+.Fl c
+オプションを指定したとき) に利用可能です。
+.Bl -tag -width indent
+.It Fl d
+欠けている機能記述を、一切デフォルトで補いません。
+.It Fl O
+時代遅れの termcap 機能記述を含めます。
+.It Fl G
+GNU の機能記述を含めます。
+.It Fl U
+UW の機能記述を含めます。
+.El
+.Pp
+その他のオプション
+.Bl -tag -width indent
+.It Fl k
+ファイルを翻訳する時にコメントを保存します。
+.It Fl V
+バージョン情報を表示して終了します。
+.It Fl D Ar dir
+terminfo バイナリを置くディレクトリ。
+.It Fl t Ar term
+翻訳の対象となる端末の名前。
+.El
+.Pp
+もし
+.Fl t
+オプションで端末名を指定しなかった場合、翻訳の対象となる端末名は環境変数
+.Ev TERM
+から取られます。
+.Sh 関連ファイル
+.Bl -tag -width /usr/lib/terminfo/terminfo.src -compact
+.It Pa /usr/lib/terminfo
+terminfo バイナリを読み書きするデフォルトの場所。
+.It Pa /usr/lib/terminfo/terminfo.src
+terminfo ソースファイルのデフォルトのファイル名。
+.It Pa /etc/termcap
+termcap データベースのデフォルトのファイル名。
+.El
+.Sh 関連項目
+.Xr curses 3 ,
+.Xr termcap 3 ,
+.Xr term 5 ,
+.Xr termcap 5 ,
+.Xr terminfo 5 .
+.Sh 診断
+ファイルを翻訳しているときの警告メッセージの行番号は
+エントリ内の警告の原因となった行ではなく、そのエントリの最後の行の番号です。
+.Sh バグ
+もっと多くの警告を出力できるはずです。
+.Nm
+は termcap を翻訳できません。
+生成されたバイナリはキャンセルされた機能記述をキャンセルされた
+物とマークしたうえで含めていますが、これは
+System V Release 2.0 の terminfo と非互換です。
diff --git a/ja/man/man1/tcopy.1 b/ja/man/man1/tcopy.1
new file mode 100644
index 0000000000..050d324077
--- /dev/null
+++ b/ja/man/man1/tcopy.1
@@ -0,0 +1,90 @@
+.\" Copyright (c) 1985, 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tcopy.1 8.2 (Berkeley) 4/17/94
+.\" jpman %Id: tcopy.1,v 1.2 1997/03/29 11:44:52 horikawa Stab %
+.\"
+.Dd April 17, 1994
+.Dt TCOPY 1
+.Os BSD 4.3
+.Sh 名称
+.Nm tcopy
+.Nd 磁気テープのコピー、ベリファイを行う
+.Sh 書式
+.Nm
+.Op Fl cvx
+.Op Fl s Ar maxblk
+.Oo Ar src Op Ar dest
+.Oc
+.Sh 解説
+.Nm
+は、磁気テープのコピーのためのプログラムです。
+記録したデータの終わりに 2 つのテープマークがあるような
+磁気テープを想定しています。
+ソーステープ (デフォルトでは
+.Ar /dev/rst0 )
+だけが指定された場合は、
+レコードサイズとテープのファイルに関する情報を表示します。
+ディスティネーションが指定された場合は、ソーステープがコピーされます。
+ディスティネーションテープのブロッキングはソーステープと同じになります。
+テープをコピーすると、サイズを表示する場合と同様の表示が得られます。
+.Pp
+オプションには次のものがあります。
+.Bl -tag -width s_maxblk
+.It Fl c
+.Ar src
+から
+.Ar dest
+へコピーした後、両方のテープが同一であることを確認するためベリファイをします。
+.It Fl s Ar maxblk
+ブロックサイズの最大値を
+.Ar maxblk
+で指定した値にします。
+.It Fl v
+.Ar src
+と
+.Ar dest
+の両方のテープが同一であることを確認するためベリファイのみを行ないます。
+.It Fl x
+標準出力へ全メッセージを出力します。
+このオプションは
+.Ar dest
+が
+.Pa /dev/stdout
+の時に役に立ちます。
+.El
+.Sh 関連項目
+.Xr mtio 4
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3
+から登場しました。
diff --git a/ja/man/man1/tcpdump.1 b/ja/man/man1/tcpdump.1
new file mode 100644
index 0000000000..6a811b859f
--- /dev/null
+++ b/ja/man/man1/tcpdump.1
@@ -0,0 +1,1280 @@
+.\" @(#) $Header: /home/ncvs/doc/ja/man/man1/tcpdump.1,v 1.1.1.1 1998-02-25 04:54:16 hanai Exp $ (LBL)
+.\" jpman %Id: tcpdump.1,v 1.3 1997/05/23 22:18:59 yugawa Stab %
+.\"
+.\" Copyright (c) 1987, 1988, 1989, 1990, 1991, 1992, 1994, 1995, 1996
+.\" The Regents of the University of California. All rights reserved.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that: (1) source code distributions
+.\" retain the above copyright notice and this paragraph in its entirety, (2)
+.\" distributions including binary code include the above copyright notice and
+.\" this paragraph in its entirety in the documentation or other materials
+.\" provided with the distribution, and (3) all advertising materials mentioning
+.\" features or use of this software display the following acknowledgement:
+.\" ``This product includes software developed by the University of California,
+.\" Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
+.\" the University nor the names of its contributors may be used to endorse
+.\" or promote products derived from this software without specific prior
+.\" written permission.
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\"
+.TH TCPDUMP 1 "14 July 1996"
+.SH 名称
+tcpdump \- ネットワーク上のトラフィックデータをダンプします
+.SH 書式
+.na
+.B tcpdump
+[
+.B \-deflnNOpqStvx
+] [
+.B \-c
+.I count
+] [
+.B \-F
+.I file
+]
+.br
+.ti +8
+[
+.B \-i
+.I interface
+] [
+.B \-r
+.I file
+]
+[
+.B \-s
+.I snaplen
+]
+.br
+.ti +8
+[
+.B \-T
+.I type
+]
+[
+.B \-w
+.I file
+]
+[
+.I expression
+]
+.br
+.ad
+.SH 解説
+.LP
+\fItcpdump\fP は、オプションで指定されたネットワークインタフェース上で
+取得可能なパケットのヘッダのうち \fIexpression\fP にマッチするものを出力
+します。
+.B SunOS 上の nit ないし bpf の場合:
+.I tcpdump
+を実行するには、
+.I /dev/net
+ないし
+.IR /dev/bpf*
+への読み込みアクセス権が必要です。
+.B Solaris 上の dlpi の場合:
+.IR /dev/le
+等のネットワーク仮想デバイスへの読み込みアクセス権が必要です。
+.B HP-UX 上の dlpi の場合:
+root か root に setuid されてインストールされている場合のみ実行可能です。
+.B IRIX 上の snoop の場合:
+root か root に setuid されてインストールされている場合のみ実行可能です。
+.B Ultrix の場合:
+スーパユーザが、
+.IR pfconfig (8)
+を用いて promiscuous-mode での操作を許可していれば、どのユーザも
+.BR tcpdump
+を起動できます。
+.B BSD の場合:
+.IR /dev/bpf*
+への読み込みアクセス権が必要です。
+.SH オプション
+.TP
+.B \-c
+\fIcount\fP で指定した数のパケットを受信した後に終了します。
+.TP
+.B \-d
+解釈されたパケットマッチングコードを読みやすい形に整形した後、
+標準出力にダンプして停止します。
+.TP
+.B \-dd
+.B C
+プログラムの断片の形でパケットマッチングコードをダンプします。
+.TP
+.B \-ddd
+(先頭に個数を付加した)十進数の形でパケットマッチングコードをダンプします。
+.TP
+.B \-e
+各ダンプ行ごとに、リンクレベルのヘッダを出力します。
+.TP
+.B \-f
+外部ホストの IP アドレスについては、シンボルでなく数値で表示します。
+(本オプションは、Sun の yp サーバに重大な障害が発生するのを回避するこ
+とを意図してます。\(em 通常は、Sun の yp サーバは、ローカルに存在しない
+IP アドレスを永久に変換しつづけてハングします。)
+.TP
+.B \-F
+フィルタの表現として、\fIfile\fP に記述してある内容を用います。
+コマンドラインで指定された追加表現は、無視されます。
+.TP
+.B \-i
+\fIinterface\fP で指定されたインタフェースを監視します。
+指定されない場合には、\fItcpdump\fP はシステムインタフェースリストの中で
+最も小さい番号の稼働中のものを検索し、監視するインタフェースとして設定
+します(ループバックインタフェースは検索しません)。
+この動作は、最初にインタフェースが選択された時点で終了します。
+.TP
+.B \-l
+標準出力を行バッファリングにします。データを捕捉しつつ、
+そのデータを見たい場合には、本オプションは有効です。例えば
+.br
+``tcpdump\ \ \-l\ \ |\ \ tee dat'' や
+``tcpdump\ \ \-l \ \ > dat\ \ &\ \ tail\ \ \-f\ \ dat''
+のように使用します。
+.TP
+.B \-n
+アドレス(IP アドレスやポート番号など)を名前に変換しません。
+.TP
+.B \-N
+ホスト名のうち、ドメイン名の表示をしません。例えば、本オプションを
+指定すると、``nic.ddn.mil'' とは表示されず、かわりに ``nic'' とだけ表示し
+ます。
+.TP
+.B \-O
+パケットマッチングコードのオプティマイザを動かしません。本オプションは、
+オプティマイザ中のバグを疑う場合にのみ有効なものです。
+.TP
+.B \-p
+ネットワークインタフェースを、promiscuous mode に設定しません。
+ネットワークインタフェースは、何らかの理由により promiscuous mode に設定
+されることもあり得るということに注意してください。ゆえに `-p'
+オプションは、`ether host {local-hw-addr} or ether broadcast'
+の短縮形として使うことは出来ません。
+.TP
+.B \-q
+素早い(静かな?)出力を行ないます。出力する行を短くするために、通常出力
+されるプロトコル情報の一部は出力されません。
+.TP
+.B \-r
+パケットを、\fIfile\fR で指定したファイル (-w オプションで作成されます)か
+ら読み込みます。\fIfile\fR として``-''が指定された場合は標準入力が用いら
+れます。
+.TP
+.B \-s
+デフォルトの 68 バイト(SunOS の NIT では最小値は実際には 96)ではなくて、
+\fIsnaplen\fP だけのデータを各パケットから取得します。68 バイトという
+データ長は、IP, ICMP, TCP, UDP のパケットを取得する分には十分ですが、
+ネームサーバや NFS のパケットについてはプロトコル情報が切り詰められるこ
+とがあります(これについては、以後の説明を参照して下さい)。
+スナップショットが限られた量しかとれずに切り
+詰められたパケットは、出力に ``[|\fIproto\fP]'' という文字列がいっしょ
+に表示されます。 \fIproto\fP は、切り詰めが行われたプロトコルレベルの名
+前です。大きなスナップショットをとる場合には、それだけパケット処理の時
+間がかかるということと、パケットバッファリング用のバッファの量が減ると
+いうことに注意してください。これにより、パケットが消失するかもしれませ
+ん。\fIsnaplen\fP の大きさを、必要なプロトコル情報を取得できる最小の値に
+とどめるようにしてください。
+.TP
+.B \-T
+"\fIexpression\fP" により選択されたパケットを強制的に \fItype\fR で
+指定されたタイプと解釈します。有効なタイプは、
+\fBrpc\fR (リモートプロシージャコール)
+\fBrtp\fR (リアルタイムアプリケーションプロトコル)
+\fBrtcp\fR (リアルタイムアプリケーション制御プロトコル)
+\fBvat\fR (ビジュアルオーディオツール)
+\fBwb\fR (ディストリビューテッドホワイトボード)
+です。
+.TP
+.B \-S
+TCP シーケンス番号を相対番号ではなく、絶対番号で出力します。
+.TP
+.B \-t
+各ダンプ行のタイムスタンプを出力しません。
+.TP
+.B \-tt
+各行毎にタイムスタンプを人間が読みやすい形に変換せずに出力します。
+.TP
+.B \-v
+(少しではありますが)出力情報を増やします。例えば、IP パケット中の
+TTL や、サービス情報の型を出力します。
+.TP
+.B \-vv
+さらに多くの情報を出力します。例えば、NFS の返答パケットの追加
+フィールドを出力します。
+.TP
+.B \-w
+受信した生パケットを、解析したり画面に出力したりせずに \fIfile\fR で指定
+したファイルに出力します。本オプションを用いて取得したパケットは \-r
+オプションを用いることで情報を見ることができます。\fIfile\fR で指定す
+るファイル名が ``-'' の場合には、標準出力を用います。
+.TP
+.B \-x
+リンクレベルヘッダを除いた各パケットの内容を 16 進出力します。
+パケットサイズが
+.I snaplen
+バイトより小さい場合にはパケットの全部の内容を、それ以外の場合には、
+.I snaplen
+バイト分のデータをパケットごとに出力します。
+.IP "\fI expression\fP"
+.RS
+ダンプするパケットを選択します。\fIexpression\ が指定されない場合には、
+ネットワーク上のすべてのパケットがダンプ対象になります。それ以外の場
+合には、\fIexpression\fP の条件が真になるパケットのみダンプします。
+.LP
+\fIexpression\fP は、1 つ以上の
+.I プリミティブ
+から成り立ちます。
+プリミティブは通常 1 つ以上の限定子のついた
+.I id
+(名前もしくは番号)から成り立ちます。限定子は、3 種類あります。
+.IP \fI型\fP
+限定子は id 名や番号が参照するものの種類を指します。型には
+.BR host 、
+.B net 、
+.B port
+があります。例えば、`host foo', `net 128.3', `port 20' のように用います。
+型限定子が指定されない場合には、
+.B host
+が指定されたものとみなされます。
+.IP \fI方向\fP
+限定子は、
+パケットが
+.I id
+へ出ていく方向か、
+.I id
+から来る方向か、
+もしくはその両方かという、特定の転送方向を指定します。
+指定可能な方向は、
+.BR src、
+.BR dst、
+.B "src or dst"、
+.BR "src and dst"
+の 4 つです。
+例えば、`src foo'、 `dst net 128.3'、 `src or dst port ftp-data' のように
+指定します。もし方向限定子が指定されない場合には、
+.B "src or dst"
+が指定されたものとみなします。
+`null' リンクレイヤ
+(つまり、slip などポイント・トゥ・ポイント・プロトコル)
+では、
+必要な方向を指定するのに
+.B inbound
+や
+.B outbound
+限定子を用いる事ができます。
+.IP \fIプロトコル\fP
+限定子は、特定のプロトコルに一致するパケットのみに制限します。
+プロトコルとして指定可能なものは、
+.BR ether,
+.BR fddi,
+.BR ip,
+.BR arp,
+.BR rarp,
+.BR decnet,
+.BR lat,
+.BR sca,
+.BR moprc,
+.BR mopdl,
+.BR iso,
+.BR esis,
+.BR isis,
+.B tcp,
+.BR udp
+です。
+例えば `ether src foo'、 `arp net 128.3'、 `tcp port 21' のように使用
+します。もしプロトコル限定子が指定されない場合には、上記のプロトコルの
+うち、型に矛盾しないすべてのものが指定されたものとみなします。
+例えば `src foo' は、`(ip or arp or rarp) src foo' (これが正しい形式でな
+い事を除いて)と、`net bar' は `(ip or arp or rarp) net bar' と同義であ
+り、また `port 53' は `(tcp or udp) port 53' と同義です。
+.LP
+[`fddi' は実際には `ether' の別名になっています。解析ではこれらを``特定の
+ネットワークインタフェースで使われるデータリンクレベル''を意味するもの
+として同様に扱います。FDDI ヘッダはイーサネットに似た送信元と宛先
+アドレスを含み、そしてしばしばイーサネットに似たパケット型を含むので、
+イーサネットのフィールドと同じように FDDI のフィールドをフィルタリング
+できます。FDDI ヘッダは他のフィールドも含みますが、フィルタ表現の中で
+明示的にそれらを指定することはできません。]
+.LP
+上記に追加して、いくつかの特別な`プリミティブ'キーワードがあります。
+これらのキーワードは
+.BR gateway,
+.BR broadcast,
+.BR less,
+.B greater,
+と算術演算表現
+です。これらの後ろにパターンが続く事はありません。
+プリミティブキーワードについては後述します。
+.LP
+より複雑なフィルタの表現は、プリミティブの結合に
+.BR and,
+.B or,
+.B not
+を用いることで実現されます。例えば、
+`host foo and not port ftp and not port ftp-data'
+です。
+タイプ量を少なくするために、同一の限定子リストは、省略することが可能です。
+例えば、`tcp dst port ftp or ftp-data or domain' は、
+`tcp dst port ftp or tcp dst port ftp-data or tcp dst port domain'
+と同じ意味です。
+.LP
+許されるプリミティブは、以下の通りです。
+.IP "\fBdst host \fIhost\fR"
+IP パケットの宛先フィールドが \fIhost\fP で指定したものの場合に真となります。
+\fIhost\fP は、ホスト名もしくは IP アドレスです。
+.IP "\fBsrc host \fIhost\fR"
+IP パケットの送信元フィールドが \fIhost\fP で指定したものの場合に真となります。
+.IP "\fBhost \fIhost\fP
+IP パケットの送信元フィールドもしくは宛先フィールドが \fIhost\fP で指定した
+ものの場合に真となります。
+上記の host プリミティブの表現には、\fBip\fP, \fBarp\fP, \fBrarp\fP を
+以下のように付加することが可能です。
+.in +.5i
+.nf
+\fBip host \fIhost\fR
+.fi
+.in -.5i
+という表記は、
+.in +.5i
+.nf
+\fBether proto \fI\\ip\fB and host \fIhost\fR
+.fi
+.in -.5i
+と同じ意味です。
+\fIhost\fR が複数の IP アドレスを持つホスト名であった場合、それぞれのアドレス
+について照合を検査します。
+.IP "\fBether dst \fIehost\fP
+イーサネットパケットの宛先アドレスが \fIehost\fP だった場合に真となります。
+\fIehost\fP
+は、/etc/ethers に記述された名前もしくはイーサネットアドレスの値が用いられます
+(イーサネットアドレスの形式については、
+.IR ethers (3N)
+を参照)。
+.IP "\fBether src \fIehost\fP
+イーサネットパケットの送信元アドレスが \fIehost\fP だった場合に真となります。
+.IP "\fBether host \fIehost\fP
+イーサネットパケットの送信元アドレスもしくは宛先アドレスが \fIehost\fP だった
+場合に真となります。
+.IP "\fBgateway\fP \fIhost\fP
+パケットが \fIhost\fP で指定したアドレスのマシンをゲートウェイとしている場合に
+真となります。言い替えると、送信元もしくは宛先のイーサネットアドレスが
+\fIhost\fP であり、送信元と宛先のどちらの IP アドレスも \fIhost\fP でない
+ということです。
+\fIhost\fP は /etc/hosts ファイルと /etc/ethers の両方で定義されている名前を
+指定する必要があります(等価な表現は、
+.in +.5i
+.nf
+\fBether host \fIehost \fBand not host \fIhost\fR
+.fi
+.in -.5i
+です。この場合 \fIhost / ehost\fP のどちらにも名前もしくは値を用いることが
+可能になります。)
+.IP "\fBdst net \fInet\fR"
+パケットの宛先 IP アドレスが、\fInet\fP で指定されたネットワークに属するもので
+ある場合に真となります。\fInet\fP は、アドレス値もしくは /etc/networks で
+定義されたネットワーク名のいずれかを指定可能です(詳しくは、\fInetworks(4)\fP
+を参照)。
+.IP "\fBsrc net \fInet\fR"
+パケットの送信元 IP アドレスが、\fInet\fP で指定されたネットワークに属するもので
+ある場合に真となります。
+.IP "\fBnet \fInet\fR"
+送信元 IP アドレスもしくは宛先 IP アドレスが \fInet\fP で指定された
+ネットワークに属するものである場合に真となります。
+.IP "\fBnet \fInet\fR \fBmask \fImask\fR"
+IP アドレスが、指定された \fInet\fR および netmask の値で決まる
+ネットワークに属するものである場合に真となります。
+\fBsrc\fR や \fBdst\fR を指定する事も可能です。
+.IP "\fBnet \fInet\fR/\fIlen\fR"
+IP アドレスが、指定された \fInet\fR および \fIlen\fR のビット長のネットマスクで
+決まるネットワークに属するものである場合に真となります。
+\fBsrc\fR や \fBdst\fR を指定する事も可能です。
+.IP "\fBdst port \fIport\fR"
+パケットが ip/tcp (TCP パケット)もしくは ip/udp(UDP パケット)であり、宛先
+ポート番号が \fIport\fP の場合に真となります。
+\fIport\fP で指定されるポート番号は、値もしくは /etc/services で定義
+されているサービス名で指定可能です(
+.IR tcp (4P)
+や
+.IR udp (4P)
+を参照)。
+ポート番号がサービス名にて指定された場合、ポート番号とプロトコルの両方がチェック
+対象になります。ポート番号や、あいまいなサービス名が指定された場合には、
+ポート番号のみがチェック対象となります(例えば、\fBdst port 513\fR は、
+tcp/login と udp/who の両方を出力し、\fBport domain\fR は、tcp/domain
+と udp/domain の両方を出力します)。
+.IP "\fBsrc port \fIport\fR"
+パケットが \fIport\fP で指定した送信元ポート番号を保持している場合に
+真となります。
+.IP "\fBport \fIport\fR"
+パケットの送信元ポート番号もしくは宛先ポート番号が \fIport\fP の場合に真と
+なります。上記のポート番号の指定については、すべてキーワード \fBtcp\fP もし
+くは \fBudp\fP を用いて、ある程度候補を絞り込むことが可能です。例えば、
+.in +.5i
+.nf
+\fBtcp src port \fIport\fR
+.fi
+.in -.5i
+と指定した場合には、tcp パケットのみが条件一致の評価対象となります。
+.IP "\fBless \fIlength\fR"
+パケットが \fIlength\fP で指定した長さ以下の場合、真となります。
+これは、
+.in +.5i
+.nf
+\fBlen <= \fIlength\fR
+.fi
+.in -.5i
+の指定と等価です。
+.IP "\fBgreater \fIlength\fR"
+パケットが \fIlength\fP で指定した長さ以上の場合、真となります。
+これは、
+.in +.5i
+.nf
+\fBlen >= \fIlength\fR
+.fi
+.in -.5i
+と等価です。
+.IP "\fBip proto \fIprotocol\fR"
+パケットが \fIprotocol\fP で指定したプロトコル型の IP パケット(
+詳細は
+.IR ip (4P)
+を参照)の場合に真となります。
+\fIprotocol\fP は、数字もしくは
+\fIicmp\fP, \fIigrp\fP, \fIudp\fP, \fInd\fP, \fItcp\fP
+のいずれかの名前が指定可能です。\fItcp\fP, \fIudp\fP, \fIicmp\fP の
+各識別子はキーワードでもであり、バックスラッシュ(\\)(C-shell では \\\\)を用
+いてエスケープしなければならないことに注意してください。
+.IP "\fBether broadcast\fR"
+パケットがイーサネットブロードキャストパケットの場合に真となります。\fIether\fP
+キーワードは、省略可能です。
+.IP "\fBip broadcast\fR"
+パケットが IP ブロードキャストパケットの場合に真となります。オール 1 と
+オール 0 の二つの形式のブロードキャストアドレスを検査し、そして
+ローカルサブネットマスクを調べます。
+.IP "\fBether multicast\fR"
+パケットがイーサネットマルチキャストパケットの場合に真となります。\fIether\fP
+キーワードは、省略可能です。
+なお、この指定は、`\fBether[0] & 1 != 0\fP' の短縮系です。
+.IP "\fBip multicast\fR"
+パケットが IP マルチキャストパケットの場合に真となります。
+.IP "\fBether proto \fIprotocol\fR"
+パケットが \fIprotocol\fR で指定した ether 型の場合に真になります。
+\fIprotocol\fP は、数字もしくは \fIip\fP, \fIarp\fP, \fIrarp\fP のような
+名前を指定可能です。
+これらの識別子はキーワードでもあり、バックスラッシュ(\\)でエスケープし
+なければならないことに注意してください。
+[FDDI の場合(例えば `\fBfddi protocol arp\fR')、プロトコルの識別は
+IEEE802.2 の論理リンク制御(LLC)ヘッダによって行われます。通常これは FDDI
+ヘッダの上の層にあります。\fItcpdump\fP は、プロトコル識別子で
+フィルタリングするときは、すべての FDDI パケットは LLC ヘッダを含み、
+かつその LLC ヘッダがいわゆる SNAP 形式であると仮定します。]
+.IP "\fBdecnet src \fIhost\fR"
+DECNET パケットの送信元アドレスが
+.IR host
+の場合に真となります。これは ``10.123'' という形式のアドレスでも DECNET の
+ホスト名でも構いません。[DECNET のホスト名は DECNET を動かすように設定され
+た Ultrix システムのみでサポートされます。]
+.IP "\fBdecnet dst \fIhost\fR"
+DECNET パケットの宛先アドレスが
+.IR host
+の場合に真となります。
+.IP "\fBdecnet host \fIhost\fR"
+DECNET パケットの送信元あるいは宛先アドレスが
+.IR host
+の場合に真となります。
+.IP "\fBip\fR, \fBarp\fR, \fBrarp\fR, \fBdecnet\fR, \fBiso\fR"
+.in +.5i
+.nf
+\fBether proto \fIp\fR
+.fi
+.in -.5i
+の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
+.IP "\fBlat\fR, \fBmoprc\fR, \fBmopdl\fR"
+.in +.5i
+.nf
+\fBether proto \fIp\fR
+.fi
+.in -.5i
+の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
+\fItcpdump\fP は今のところこれらのプロトコルを解釈できない事に注意して
+ください。
+.IP "\fBtcp\fR, \fBudp\fR, \fBicmp\fR"
+.in +.5i
+.nf
+\fBip proto \fIp\fR
+.fi
+.in -.5i
+の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
+.IP "\fBesis\fR, \fBisis\fR"
+.in +.5i
+.nf
+\fBiso proto \fIp\fR
+.fi
+.in -.5i
+の短縮形です。\fIp\fR の部分には、上記のいずれかのプロトコル名が入ります。
+\fItcpdump\fR はこれらのプロトコルを完全には解釈できない事に注意して
+ください。
+.IP "\fIexpr relop expr\fR"
+\fIrelop\fRは、>, <, >=, <=, =, != のいずれかであり、\fIexpr\fR の部分に
+は、(標準 C 言語の構文で表現された)整数定数や通常の二項演算子 [+, -, *, /,
+&, |]、length 演算子、そして特殊なパケットデータへのアクセス演算子などか
+らなる算術表現が入って、その関係が成立する場合に真となります。
+パケット内部のデータにアクセスするためには、以下の構文を用います。
+.in +.5i
+.nf
+\fIproto\fB [ \fIexpr\fB : \fIsize\fB ]\fR
+.fi
+.in -.5i
+\fIproto\fRは、\fBether, fddi, ip, arp, rarp, tcp, udp, \fR, または
+\fBicmp\fR のいずれかであり、インデックス操作を行うプロトコル層を指示
+します。
+指示したプロトコル層からの相対バイトオフセットは、\fIexpr\fR で指定します。
+\fIsize\fR は省略可能で、取得するフィールドのデータ長を表します。
+データ長としては、1,2,4 のいずれかを指定することが可能であり、デフォルトでは
+1 が指定されたものとみなされます。
+キーワード \fBlen\fP で示されるデータ長演算子は、パケット長を与えます。
+
+例えば、`\fBether[0] & 1 != 0\fP' は、全てのマルチキャストパケットを捕捉します。
+`\fBip[0] & 0xf != 5\fP' という表現は、すべてのオプション付きIPパケットを捕捉す
+ることを意味します。`\fBip[6:2] & 0x1fff = 0\fP' という表現は、フラグメントのな
+いデータグラムパケット、もしくはフラグメント化されたデータグラムのうち
+最初のフラグメントを捕捉します。
+この検査は、\fBtcp\fP および \fBudp\fP のインデックス操作においては、暗黙のうち
+に適用されます。
+例えば、\fBtcp[0]\fP は常に TCP ヘッダの先頭バイトを指し、
+決して各フラグメントの先頭バイトを指すものではありません。
+.LP
+プリミティブは、以下のように組み合わせることが可能です。
+.IP
+括弧で括られた一連のプリミティブや演算子
+(括弧はシェルの特殊文字なのでエスケープする必要があります)。
+.IP
+否定 (`\fB!\fP' or `\fBnot\fP').
+.IP
+論理積 (`\fB&&\fP' or `\fBand\fP').
+.IP
+論理和 (`\fB||\fP' or `\fBor\fP').
+.LP
+否定は、最も高い演算優先度を持ちます。論理和と論理積は、同じ演算優先度を持ち、
+左から右へ評価されます。論理積の場合には、単に識別子を並べるのではなく、
+明示的に \fBand\fR を使用しなければならないことに注意して下さい。
+.LP
+キーワードなしで識別子が与えられている場合には、最も最近用いられたキーワードが
+付加されているものと仮定されます。
+例えば、
+.in +.5i
+.nf
+\fBnot host vs and ace\fR
+.fi
+.in -.5i
+は、
+.in +.5i
+.nf
+\fBnot host vs and host ace\fR
+.fi
+.in -.5i
+の短縮形ですが、
+.in +.5i
+.nf
+\fBnot ( host vs or ace )\fR
+.fi
+.in -.5i
+と混同してしまいがちなので気をつけましょう。
+.LP
+引数 expression は、単一の引数としても複数の引数としても、どちらか便利な
+方で、tcpdump に渡すことができます。
+一般的に、引数がシェルのメタキャラクタを含む場合、その引数をクォート
+された単一の引数としてプログラムに渡す方が容易です。
+複数の引数は、解析される前にスペースで連結されます。
+.SH 使用例
+.LP
+\fIsundown\fP に到達する、もしくはそこから送信されるパケットのすべてを
+表示する場合には、以下のように実行します。
+.RS
+.nf
+\fBtcpdump host sundown\fP
+.fi
+.RE
+.LP
+\fIhelios\fR と、\fIhot\fR もしくは \fIace\fR の間のトラフィックを表示する
+場合には、以下のように実行します。
+.RS
+.nf
+\fBtcpdump host helios and \\( hot or ace \\)\fP
+.fi
+.RE
+.LP
+\fIace\fR と、\fIhelios\fR 以外のホストとの間でやりとりされるすべての
+IP パケットを表示する場合には、以下のように実行します。
+.RS
+.nf
+\fBtcpdump ip host ace and not helios\fP
+.fi
+.RE
+.LP
+ローカルなホストと Berkeley のホストとの間でやりとりされるすべての
+トラフィックを表示する場合には、以下のように実行します。
+.RS
+.nf
+.B
+tcpdump net ucb-ether
+.fi
+.RE
+.LP
+インターネットゲートウェイ \fIsnup\fP を通過するすべての ftp
+トラフィックを表示する場合には、以下のように実行します
+(シェルが括弧を誤って解釈しないよう、フィルタを表現する引数がクォートさ
+れていることに注意して下さい)。
+.RS
+.nf
+.B
+tcpdump 'gateway snup and (port ftp or ftp-data)'
+.fi
+.RE
+.LP
+送信元アドレスと宛先アドレスの両方がローカルネットワーク内のホスト
+のものでないトラフィックについて表示する場合には、以下のように実行しま
+す
+(実行するホストが他のネットワークに対するゲートウェイの場合、そのホスト
+が属すローカルネットワークでは、このコマンドは成功しないでしょう)。
+.RS
+.nf
+.B
+tcpdump ip and not net \fIlocalnet\fP
+.fi
+.RE
+.LP
+ローカルネットワーク外のホストとの通信において、TCP による各通信単位
+のスタートパケットとエンドパケット(SYN と FIN パケット)を表示するには、以
+下のように実行します。
+.RS
+.nf
+.B
+tcpdump 'tcp[13] & 3 != 0 and not src and dst net \fIlocalnet\fP'
+.fi
+.RE
+.LP
+ゲートウェイ \fIsnup\fP を中継される IP パケットのうち、576 バイトより大きいもの
+を表示するには、以下のように実行します。
+.RS
+.nf
+.B
+tcpdump 'gateway snup and ip[2:2] > 576'
+.fi
+.RE
+.LP
+イーサネット上でブロードキャストもしくはマルチキャストを経由して送られる
+もの以外の IP ブロードキャストもしくはマルチキャストパケットを表示するには、
+以下のように実行します。
+.RS
+.nf
+.B
+tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'
+.fi
+.RE
+.LP
+echo 要求/応答以外(つまり ping パケット以外)の全ての ICMP パケットを
+表示するには、以下のように実行します。
+.RS
+.nf
+.B
+tcpdump 'icmp[0] != 8 and icmp[0] != 0"
+.fi
+.RE
+.SH 出力形式
+.LP
+\fItcpdump\fP の出力は、プロトコル依存です。以下の説明では、簡単な
+パラメータの記述と、おおよそのフォーマットの説明を行ないます。
+.de HD
+.sp 1.5
+.B
+..
+.HD
+リンクレベルヘッダ
+.LP
+もし '-e' オプションが指定されると、リンクレベルヘッダが出力されます。
+イーサネットにおいては、送信元と宛先のアドレス、プロトコル、そして
+パケット長が出力されます。
+.LP
+FDDI ネットワークにおいては、'-e' オプションが指定されると \fItcpdump\fP
+は、`フレーム制御'フィールド、発信元と宛先アドレス、そしてパケット長を
+出力します。`フレーム制御'フィールドはパケットの残りの部分の解釈を決定
+します。(IP データグラムを含むような)通常のパケットは `async' パケットで、
+0 から 7 の間の優先順位を持ちます。例えば、`\fBasync4\fR' です。こうした
+パケットは IEEE802.2 の論理リンク制御 (LLC) パケットを含むと仮定されます。
+LLC ヘッダは、それが ISO データグラムでない場合やいわゆる SNAP パケットのと
+きには出力されます。
+.LP
+\fI(注意:以下の記述は、利用者が RFC1144 に記述されている SLIP 圧縮ア
+ルゴリズムについての知識がある前提で書いてます。)\fP
+.LP
+SLIP によるリンクにおいては、方向指示子(``I'' が入力方向、``O''
+が出力方向)、パケット型、そして圧縮情報が出力されます。
+パケット型は、最初に出力されます。パケット型には \fIip\fP、\fIutcp\fP、そして
+\fIctcp\fP の 3 つがあります。
+\fIip\fR 型パケットの場合、上記以上のリンク情報は表示されません。
+TCP パケットの場合には、コネクション識別子がパケット型に続いて出力されます。
+パケットが圧縮されている場合、符号化されたヘッダが出力されます。
+特殊な場合は \fB*S+\fIn\fR や \fB*SA+\fIn\fR のように出力されます。ここ
+で \fIn\fR は、シーケンス番号(もしくはシーケンス番号および ack)が変更された回
+数です。特殊な場合でなければ、0 回以上の変更について出力されます。
+変更は、U (緊急(urgent)ポインタ)、W(ウィンドウ)、A(ack)、S(シーケンス番号)、
+そして I(パケット ID)で示され、変動量(+n or -n)もしくは新しい値(=n)が続きます。
+最後に、パケット内のデータの総量および圧縮ヘッダ長が出力されます。
+.LP
+例えば、以下の行は、出力方向の圧縮 TCP パケットを、暗黙のコネクション識別子
+とともに表示しています。ack は 6 変わり、シーケンス番号は 49 変わり、パケット
+ID は 6 変わってます。3 バイトのデータと6 バイトの圧縮ヘッダが存在します。
+.RS
+.nf
+\fBO ctcp * A+6 S+49 I+6 3 (6)\fP
+.fi
+.RE
+.HD
+ARP/RARP パケット
+.LP
+arp/rarp パケットの出力は、要求型とその引数を示してい
+ます。出力形式は、その出力のみで理解可能なように作られています。
+以下に、ホスト \fIrtsg\fP からホスト \fIcsam\fP への `rlogin' 開始時の
+パケットの実例を示します。
+.RS
+.nf
+.sp .5
+\f(CWarp who-has csam tell rtsg
+arp reply csam is-at CSAM\fP
+.sp .5
+.fi
+.RE
+1行目は、ホスト rtsg が、ホスト csam のイーサネットアドレスを問い合わせる
+目的で arp パケットを送信していることを意味します。ホスト csam は、自分自身
+のイーサネットアドレスを返答しています(この例では、イーサネットアドレス
+は大文字で、インタネットアドレス部は小文字で表記してます)。
+.LP
+\fBtcpdump \-n\fP として起動した場合には、少し冗長になります。
+.RS
+.nf
+.sp .5
+\f(CWarp who-has 128.3.254.6 tell 128.3.254.68
+arp reply 128.3.254.6 is-at 02:07:01:00:01:c4\fP
+.fi
+.RE
+.LP
+\fBtcpdump \-e\fP として起動した場合には、最初のパケットはブロードキャスト
+パケットであり、次のパケットはポイントツーポイントのパケットであることが
+わかります。
+.RS
+.nf
+.sp .5
+\f(CWRTSG Broadcast 0806 64: arp who-has csam tell rtsg
+CSAM RTSG 0806 64: arp reply csam is-at CSAM\fP
+.sp .5
+.fi
+.RE
+最初のパケットについては、送信元のイーサネットアドレスは RTSG であり、
+宛先はイーサネットブロードキャストアドレス、型フィールドには 16 進数の値
+0806(ETHER_ARP を意味します)が格納されており、総パケット長は 64 バイトである
+と表示してます。
+.HD
+TCP パケット
+.LP
+\fI(注意:以下の記述は、RFC793 に記述されている TCP プロトコルについての知識
+があることを前提に記述されてます。この知識がない場合、本記述と tcpdump の
+いずれもあなたには役に立たないでしょう。)\fP
+.LP
+TCP プロトコル行の一般的な形式は、以下の通りです。
+.RS
+.nf
+.sp .5
+\fIsrc > dst: flags data-seqno ack window urgent options\fP
+.sp .5
+.fi
+.RE
+\fIsrc\fP と \fIdst\fP は、それぞれ送信元と宛先の IP アドレスと
+ポート番号です。\fIflags\fP の部分には、S (SYN),F (FIN), P (PUSH) ,R (RST)
+の組合せ、もしくは単なる `.' (フラグなし)が入ります。
+\fIdata-seqno\fP は、このパケット内のデータがシーケンス空間のどの部分に
+あたるかを示します(以下の例を参照して下さい)。
+\fIack\fP は、本コネクション上を逆方向に次に流れるデータパケットの
+シーケンス番号です。
+\fIwindow\fP は、本コネクションの逆方向のパケットを格納するバッファサイズ
+です。
+\fIurg\fP は、パケット中に `urgent'(緊急)データが格納されていることを示しま
+す。
+\fIoptions\fP は、例えば <mss 1024> のように、アングルブラケット(大小記号)で
+くくられた tcp オプションです。
+.LP
+\fIsrc、dst\fP、そして \fIflags\fP は、常に表示されます。他のフィールドは、
+パケットの TCP ヘッダに依存し、表示できる場合だけ表示されます。
+.LP
+以下の例は、ホスト \fIrtsg\fP からホスト \fIcsam\fP への rlogin
+開設時のシーケンスの一部です。
+.RS
+.nf
+.sp .5
+\s-2\f(CWrtsg.1023 > csam.login: S 768512:768512(0) win 4096 <mss 1024>
+csam.login > rtsg.1023: S 947648:947648(0) ack 768513 win 4096 <mss 1024>
+rtsg.1023 > csam.login: . ack 1 win 4096
+rtsg.1023 > csam.login: P 1:2(1) ack 1 win 4096
+csam.login > rtsg.1023: . ack 2 win 4096
+rtsg.1023 > csam.login: P 2:21(19) ack 1 win 4096
+csam.login > rtsg.1023: P 1:2(1) ack 21 win 4077
+csam.login > rtsg.1023: P 2:3(1) ack 21 win 4077 urg 1
+csam.login > rtsg.1023: P 3:4(1) ack 21 win 4077 urg 1\fP\s+2
+.sp .5
+.fi
+.RE
+最初の行は、ホスト rtsg の TCP ポート 1023 番からホスト csam の \fIlogin\fP
+ポートに対してパケットを送信していることを意味します。\fBS\fP は、
+パケットの \fISYN\fP フラグが設定されていることを意味します。
+パケットのシーケンス番号は 768512 番であり、データは含みません。
+(表記は `first:last(nbytes)' であり、これは`シーケンス番号 \fIfirst\fP か
+ら \fIlast\fP までの \fIlast\fP を含まない \fInbytes\fP のユーザデータという
+こと'を意味しています。)
+このパケット中に ack はなく、有効な受信ウィンドウの大きさは 4096 バイトで
+あり、1024 バイトの最大セグメントサイズ要求を行なうオプションが付加され
+ています。
+.LP
+csam は、rtsg から送られたパケットと類似したパケットを送り返しますが、
+rtsg の送った SYN に対する ack が含まれるところが異なり
+ます。続いて、rtsg は csam の SYN に対する ack を返します。
+`.' は、S (SYN),F (FIN), P (PUSH) ,R (RST) のいずれのフラグも
+立っていないことを意味します。
+パケットはデータを含まないため、データシーケンス番号は入りません。
+ack シーケンス番号が小さい整数 (1) であることに注意して下さい。
+\fBtcpdump\fP は、初めて TCP の`通信'を検出すると、パケットから取得した
+シーケンス番号を表示します。通信のその後のパケットについては、現在の
+パケットシーケンス番号と、この最初のシーケンス番号の間の差を表示します。
+このことは、最初に取得した以降のシーケンス番号は、通信データストリーム
+の相対位置として解釈できることを意味します(最初の各方向のデータバイト
+は 1 です)。`-S' は、本機能を無効にし、元のシーケンス番号を表示します。
+.LP
+6 行目では、rtsg は csam に 19 バイトのデータを送信しています (rtsg \(-> csam の
+方向の通信における、2 バイト目から 20 バイト目までのデータ)。PUSH フラグが
+このパケットでは設定されています。
+7 行目では、csam は rtsg から 20 バイトまでのデータを受けとった旨の
+レスポンスを rtsg に返してます。csam の受信ウィンドウが19バイト小さくなっ
+たことから、これらのデータのほとんどは、ソケットバッファの中に存在する
+ことが分かります。
+csam は、rtsg に 1 バイトのデータを送信してます。
+8 行めと 9 行めでは、csam は緊急 (urgent) で PUSH フラグの設定された
+2 バイトデータを送信しています。
+.HD
+.B
+UDP パケット
+.LP
+UDP フォーマットは、以下の rwho パケットで例示します。
+.RS
+.nf
+.sp .5
+\f(CWactinide.who > broadcast.who: udp 84\fP
+.sp .5
+.fi
+.RE
+これは、ホスト \fIactinide\fP の \fIwho\fP ポートが UDP データグラムを
+インターネットブロードキャストアドレスであるホスト \fIbroadcast\fP の
+\fIwho\fP ポートに対して送信していることを意味します。本パケットは、
+84 バイトのユーザデータを含みます。
+.LP
+いくつかの UDP サービスは(送信元もしくは宛先のポート番号から)種
+類の判断が可能で、さらに上位レベルのプロトコル情報が出力されます。
+ドメインネームサービス要求 (RFC1034/1035)、そして、Sun RPC 呼びだし
+(RFC1050) を用いた NFS サービスなどがこの条件に該当します。
+.HD
+UDP ネームサーバ要求
+.LP
+\fI(注意:以下の記述は、RFC1035 に記述されている
+ドメインサービスプロトコルの知識があることを前提に書かれてます。もしこ
+れらの知識がない場合には、以下の記述は未知の言語で書かれているかのよう
+に見えるでしょう。)\fP
+.LP
+ネームサーバ要求は、以下のような表示になります。
+.RS
+.nf
+.sp .5
+\fIsrc > dst: id op? flags qtype qclass name (len)\fP
+.sp .5
+\f(CWh2opolo.1538 > helios.domain: 3+ A? ucbvax.berkeley.edu. (37)\fP
+.sp .5
+.fi
+.RE
+ホスト \fIh2opolo\fP は、\fIhelios\fP 上のドメインサーバに対して
+\fIucbvax.berkeley.edu\fP のホスト名に対応するアドレスレコード (qtype=A)
+を問い合わせてます。
+問い合わせの ID は `3' であり、`+' は\fI再帰要求\fPフラグが設定されて
+いることを意味します。問い合わせの長さは 37 バイトであり、この中に UDP および
+IP のプロトコルヘッダの長さは含みません。質問操作は普通の操作 (\fIQuery\fP)
+であり、op フィールドは省略されます。op が他のいずれかであった場合、
+その op は `3' と `+' の間に表示されます。
+これと同様に、qclass は普通のもの (\fIC_IN\fP) であり、省略されます。
+他の qclass が入った場合、`A' の直後に表示されます。
+.LP
+少数の変則的なパケットは検査され、カギカッコで囲まれた付加
+フィールドにその結果が表示されます。query が返答、ネームサーバ
+もしくはオーソリティセクションを含む場合、
+.IR ancount ,
+.IR nscount ,
+もしくは
+.I arcount
+が、`[\fIn\fPa]'、 `[\fIn\fPn]' 、もしくは `[\fIn\fPau]' のような形式で
+表示されます。\fIn\fP は、それぞれの個数です。
+応答ビットのいずれかが設定されている(AA, RA もしくは rcode)場合、
+もしくは`0 でなければならない'ビットが 2 バイト目と 3 バイト目に設定されてい
+る場合には、`[b2&3=\fIx\fP]' が出力されます。\fIx\fP は、ヘッダの 2 バイト
+目および 3 バイト目の値を 16 進で表したものです。
+.HD
+UDP ネームサーバ応答
+.LP
+ネームサーバ応答の形式は、以下の通りです。
+.RS
+.nf
+.sp .5
+\fIsrc > dst: id op rcode flags a/n/au type class data (len)\fP
+.sp .5
+\f(CWhelios.domain > h2opolo.1538: 3 3/3/7 A 128.32.137.3 (273)
+helios.domain > h2opolo.1537: 2 NXDomain* 0/1/0 (97)\fP
+.sp .5
+.fi
+.RE
+最初の例は、\fIh2opolo\fP からの質問 ID 3 の要求に対し、\fIhelios\fP が
+3 つのアンサーレコード、3 つのネームサーバレコード、そして 7 つの
+オーソリティレコードを持っているパケットで返答しているというものです。
+最初のアンサーレコードは、タイプ A(アドレス)であり、そのデータは
+IP アドレス 128.32.137.3 です。UDP と IP のヘッダを除いた総サイズは
+273 バイトです。
+A レコードのクラス (C_IN) と同様に, op (Query) および応答コード
+(NoError) は、省略されます。
+.LP
+2 つめの例は、\fIhelios\fP が質問 ID 2 の要求に対し、存在しない
+ドメイン (NXDomain) という返答コードとともに、0 個のアンサーレコード、1 つ
+のネームサーバレコード、そして 0 個のオーソリティレコードを含んだ
+レスポンスを返しています。`*' は、\fIauthoritative answer\fP ビットが設定され
+ていることを示します。
+アンサーレコードがないため、型、クラス、データは出力されません。
+.LP
+出力される可能性のある他のフラグキャラクタは、`\-' (再帰利用,RA,が
+設定されていない)および `|' (メッセージ切捨て, TC, が設定されてい
+る)です。
+`question' セクションに含まれるエントリがちょうど 1 つでない場合には、
+`[\fIn\fPq]' が出力されます。
+.LP
+ネームサーバ要求および応答は、大きくなる傾向にあり、デフォルトの
+\fIsnaplen\fP の値である 68 バイトの長さは、パケットを捕捉してその内容を
+表示するには十分でないかも知れないことに注意して下さい。
+もしネームサーバトラフィックの調査を真剣に
+行なおうとするならば、\fB\-s\fP オプションを用いて、\fIsnaplen\fP を増やし
+て下さい。自分の経験上、`\fB\-s 128\fP' で十分使い物になります。
+
+.HD
+NFS 要求と応答
+.LP
+Sun NFS (Network File System) 要求および応答は、以下のように
+表示されます。
+.RS
+.nf
+.sp .5
+\fIsrc.xid > dst.nfs: len op args\fP
+\fIsrc.nfs > dst.xid: reply stat len op results\fP
+.sp .5
+\f(CW
+sushi.6709 > wrl.nfs: 112 readlink fh 21,24/10.73165
+wrl.nfs > sushi.6709: reply ok 40 readlink "../var"
+sushi.201b > wrl.nfs:
+ 144 lookup fh 9,74/4096.6878 "xcolors"
+wrl.nfs > sushi.201b:
+ reply ok 128 lookup fh 9,74/4134.3150
+\fP
+.sp .5
+.fi
+.RE
+最初の行では、ホスト \fIsushi\fP が ID\fI6709\fP のトランザクションを
+\fIwrl\fP に送信します(送信元ホストに続く数字はトランザクション ID
+であり、送信元ポート番号で\fIない\fPことに注意して下さい)。要求
+サイズは、UDP および IP ヘッダのサイズを除いて 112 バイトです。操作は、
+ファイルハンドル (\fIfh\fP) 21,24/10.731657119 に対する \fIreadlink\fP
+(シンボリックリンク読み込み)です。
+(この例のように運が良ければ、ファイルハンドルはデバイスのメジャー、
+マイナー番号のペアと、それに続く i ノード番号と世代番号と解釈することがで
+きます。)
+\fIwrl\fP はリンクの内容とともに `ok' と返答しています。
+.LP
+3 行めでは、\fIsushi\fP は \fIwrl\fP に対し、ファイルハンドル
+9,74/4096.6878 のディレクトリ中の `xcolors' ファイルの検索を要求していま
+す。出力されたデータは、操作の型に依存することに注意して下さい。本形式
+は、NFS のプロトコル仕様とともに読めば、それ自身を見れば分かるよう
+に意図して作成されています。
+.LP
+\-v (verbose, 冗長) フラグがある場合、追加情報が出力されます。
+例えば
+.RS
+.nf
+.sp .5
+\f(CW
+sushi.1372a > wrl.nfs:
+ 148 read fh 21,11/12.195 8192 bytes @ 24576
+wrl.nfs > sushi.1372a:
+ reply ok 1472 read REG 100664 ids 417/0 sz 29388
+\fP
+.sp .5
+.fi
+.RE
+(\-v は IP ヘッダの TTL, ID, そしてフラグメンテーションフィールドも出力し
+ますが、この例では省略しています。)最初の行では、\fIsushi\fP は
+\fIwrl\fP に対してファイル 21,11/12.195 のオフセット 24576 バイト目か
+ら 8192 バイトを読むように要求しています。\fIwrl\fP は `ok' と返答してい
+ます。2 行めに示したパケットは応答の最初のフラグメントなので、1472
+バイトしかありません(その他のデータは継続するフラグメント中に続きます
+が、これらのフラグメントは NFS ヘッダも UDP ヘッダさえも持たないので、使わ
+れるフィルタリングの表現によっては出力されないでしょう)。\-v フラグがあ
+るのでいくつかのファイル属性(ファイルデータに追加されて返されてくる)が
+出力されます。それらはファイルの型(普通のファイルなら``REG'')、(8 進数
+表現の)ファイルモード、uid と gid、そしてファイルの大きさです。
+.LP
+\-v フラグが 2 回以上指定されると、さらに詳しい情報が出力されます。
+.LP
+NFS 要求は非常に大きなデータになるため、\fIsnaplen\fP を大きくし
+ないと詳しい出力は得られません。NFS トラフィックを監視するには、
+`\fB\-s 192\fP' と指定してみて下さい。
+.LP
+NFS 応答パケットは RPC 操作であることを明示的には示しません。その代わ
+り、\fItcpdump\fP は``最近の''要求を追跡して、トランザクション ID を用い
+て応答と照合します。応答が対応する要求のすぐ後に続かないと、解
+析することはできません。
+.HD
+KIP Appletalk (DDP in UDP)
+.LP
+UDP データグラムでカプセル化された Appletalk DDP パケットは、カプセル化
+を解かれ、DDP パケットとしてダンプされます(全ての UDP ヘッダ情報は破棄
+されます)。
+ファイル
+.I /etc/atalk.names
+が、Appletalk ネットワークおよびノード番号を名前に変換するのに用い
+られます。
+本ファイルの内容は、以下のように記述されます。
+.RS
+.nf
+.sp .5
+\fInumber name\fP
+
+\f(CW1.254 ether
+16.1 icsd-net
+1.254.110 ace\fP
+.sp .5
+.fi
+.RE
+最初の 2 行は、Appletalk ネットワーク名を決めています。3 行めは、
+特定のホストの名前を決めています(ホストは、3 オクテット目の有無で
+ネットワークと区別されます。ネットワーク番号は、2 オクテットの数字
+から、ホスト番号は 3 オクテットの数字から構成される必要があります。)
+数字と名前は、空白文字もしくはタブ文字で区切られます。この
+.I /etc/atalk.names
+ファイルは、空行もしくは、`#' 文字で始まるコメント行を含んでもかま
+いません。
+.LP
+Appletalk アドレスは、以下のように表示されます。
+.RS
+.nf
+.sp .5
+\fInet.host.port\fP
+
+\f(CW144.1.209.2 > icsd-net.112.220
+office.2 > icsd-net.112.220
+jssmag.149.235 > icsd-net.2\fP
+.sp .5
+.fi
+.RE
+(もし、この
+.I /etc/atalk.names
+がないか、このファイルの中にホスト番号及びネットワーク番号のエントリが
+存在しない場合には、アドレスは数字で表示されます。)
+最初の例は、ネットワーク 144.1 の中のノード 209
+の NBP(DDP port 2) が、ネットワーク icsd のノード 112 のホストの
+ポート 220 を開いている何者かにデータを送信しています。
+次の行は、1 行めとほぼ同じ例ですが、送信元のノード名が既知である
+(`office') ところが異なります。
+3 行目の例は、ネットワーク jssmag のノード 149 のポート 235 から、icsd-net の
+NBP ポートにブロードキャストでデータ送信をしています
+(ブロードキャストアドレス(255)は、ホスト番号なしでネットワーク番号のみ
+が表示されているところでわかります。このことから、/etc/atalk.names では
+ノード名とネットワーク名を区別する方がよいことが分かります)。
+.LP
+NBP (name binding protocol) および ATP (Appletalk transaction protocol)
+パケットでは、その内容は解釈されます。
+他のプロトコルは、プロトコル名(もしくは、プロトコルが登録されていない場
+合には、プロトコル番号)およびパケットサイズをダンプします。
+
+\fBNBP パケット\fP は、以下のような形式で表示されます。
+.RS
+.nf
+.sp .5
+\s-2\f(CWicsd-net.112.220 > jssmag.2: nbp-lkup 190: "=:LaserWriter@*"
+jssmag.209.2 > icsd-net.112.220: nbp-reply 190: "RM1140:LaserWriter@*" 250
+techpit.2 > icsd-net.112.220: nbp-reply 190: "techpit:LaserWriter@*" 186\fP\s+2
+.sp .5
+.fi
+.RE
+最初の行は、レーザライタの名前検索要求であり、ネットワーク icsd のホスト
+112 から送られ、ネットワーク jssmag へとブロードキャストされています。
+検索のための nbp の ID は 190 です。
+次の行は jssmag.209 からの、この要求の応答(同じ ID を持つことに注意して下さ
+い)で、 ポート 250 に登録された RM1140 という名前のレーザライタがあると答
+えています。
+3 行めは、同じ要求に対する他のホストからの応答で、
+ホスト techpit が、ポート 186 に登録されたレーザライタ "techpit" を持ってい
+ると答えています。
+
+\fBATP パケット\fP の形式は、以下のように表示されます。
+.RS
+.nf
+.sp .5
+\s-2\f(CWjssmag.209.165 > helios.132: atp-req 12266<0-7> 0xae030001
+helios.132 > jssmag.209.165: atp-resp 12266:0 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp 12266:1 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp 12266:2 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp 12266:4 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp 12266:6 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp*12266:7 (512) 0xae040000
+jssmag.209.165 > helios.132: atp-req 12266<3,5> 0xae030001
+helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
+helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
+jssmag.209.165 > helios.132: atp-rel 12266<0-7> 0xae030001
+jssmag.209.133 > helios.132: atp-req* 12267<0-7> 0xae030002\fP\s+2
+.sp .5
+.fi
+.RE
+jssmag.209 は、ホスト helios に対し最大8個 ('<0-7>') までのパケットを
+要求することで、トランザクション ID 12266 を開始します。行の最後の 16 進数は、
+要求の中の`ユーザデータ'のフィールドの値です。
+.LP
+helios は、8 つの 512 バイトのパケットで応答しています。トランザクション ID
+の後につづく`:数'は、パケットシーケンス番号を、括弧中の数値は ATP ヘッダ
+を除いたパケット中のデータ量を示してます。パケットシーケンス 7 のところ
+の `*' は、EOM ビットが設定されていることを示してます。
+.LP
+jssmag.209 は、パケットシーケンス番号 3 と 5 のパケットの再送要求をしてます。
+helios はそれらを再送し、その後 jssmag.209 はトランザクションを解放します。
+最後の行で、jssmag.209 は次の要求を開始します。この要求の表示
+で付加されている `*' は、XO(`exactly once') が設定されていないことを示します。
+
+.HD
+IP フラグメンテーション
+.LP
+フラグメントのあるインターネットデータグラムは、以下のように表示されます。
+.RS
+.nf
+.sp .5
+\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB+)\fR
+\fB(frag \fIid\fB:\fIsize\fB@\fIoffset\fB)\fR
+.sp .5
+.fi
+.RE
+(最初の形式では、まだフラグメントがあることを示し、2 番めの形式は、
+これが最後のフラグメントであることを示してます。)
+.LP
+\fIId\fP は、フラグメント ID です。\fIsize\fP は、フラグメントサイズを
+バイト単位であらわしたものです。ただし IP ヘッダサイズは含みません。
+\fIoffset\fP は、元のデータグラムでの本フラグメントのオフセットをバイト
+単位であらわしたものです。
+.LP
+フラグメント情報は、各フラグメントごとに表示されます。最初の
+フラグメントには、上位レベルのプロトコルヘッダが含まれるので、フラグ情
+報がプロトコル情報の後に表示されます。2 つ目以降のフラグメントについて
+は、上位レベルのプロトコルヘッダを含まないので、フラグ情報は送信元およ
+び宛先アドレスの後ろに表示されます。
+例えば、これは arizona.edu から lbl-rtsg.arpa への CSNET 接続での ftp
+の様子の一部分ですが、どうやら 576 バイト以上ののデータグラムを扱えないよ
+うです。
+.RS
+.nf
+.sp .5
+\s-2\f(CWarizona.ftp-data > rtsg.1170: . 1024:1332(308) ack 1 win 4096 (frag 595a:328@0+)
+arizona > rtsg: (frag 595a:204@328)
+rtsg.1170 > arizona.ftp-data: . ack 1536 win 2560\fP\s+2
+.sp .5
+.fi
+.RE
+注意すべきことがいくつかあります。まず最初に、2 行目は
+ポート番号を含みません。これは、TCP プロトコル情報は、最初のフラグメント
+に全て入っており、後のフラグメントを出力する時にはポート番号やシーケンス
+番号を知る術がないからです。
+次に、最初の行の TCP シーケンス情報は、パケットが 308 バイトのユーザデータ
+を持ってるかのように表示されますが、実際には 512 バイトのユーザデータを
+持ってます(308 バイトが最初のフラグ分で、204 バイトが 2 番目のフラグ分で
+す)。シーケンススペースの穴をさがしたり、パケットの ack の対応が正しい
+かをこのデータで見ようとしてはいけません。
+.LP
+フラグメント不可フラグが設定されたパケットは、最後の部分に \fB(DF)\fP と
+印が付けられます。
+.HD
+タイムスタンプ
+.LP
+デフォルトでは、すべての出力行は最初にタイムスタンプが出力されます。
+タイムスタンプは、以下の形式で、現在のクロックタイムを表示します
+.RS
+.nf
+\fIhh:mm:ss.frac\fP
+.fi
+.RE
+そして、クロックの精度は、カーネルクロックの精度に依存します。
+タイムスタンプは、カーネルが最初にパケットを見つけた時間を反映します。
+イーサネットインタフェースがケーブルからパケットを取り出してカーネルが
+`新規パケット'割り込みを受け付けるまでのタイムラグなどは補正されません
+.SH 関連項目
+traffic(1C), nit(4P), bpf(4), pcap(3)
+.SH 作者
+Van Jacobson (van@ee.lbl.gov),
+Craig Leres (leres@ee.lbl.gov) and
+Steven McCanne (mccanne@ee.lbl.gov), all of the
+Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
+.SH バグ
+バグレポートは、tcpdump@ee.lbl.gov または libpcap@ee.lbl.gov へ送って下さい。
+.LP
+NIT では、外に出ていくトラフィックを観察できません。BPF ならできます。
+tcpdump を用いる場合には、後者を用いることを推奨します。
+.LP
+Ultrix 上で \fItcpdump\fP を使う場合には、Ultrix のバージョンは 4.0 以降のもの
+を用いて下さい。この場合には、\fIpacketfilter\fP 仮想デバイスドライバ
+を追加して、カーネルの再構成を行なう必要があります。
+(
+.IR packetfilter (4)
+参照)。
+外に出るトラフィックもしくは入ってくるトラフィックのどちらかを監視する
+には、Ultrix のバージョン 4.2 以降が必要で、
+.IR pfconfig (8)
+コマンドを用いて ``copyall'' モードにしなければなりません。
+.LP
+SunOS 4.1 では、パケットキャプチャコード(もしくは Streams NIT)は効率良く
+ありません。トラフィックの多いネットワークを監視する場
+合には、そんなには多くのことを行なわないで下さい。
+.LP
+SunOS 3.2 以前のものは、NIT が非常に不安定(buggy)です。古いシステムで
+tcpdump を動作させた場合、システムがクラッシュする可能性があります。
+.LP
+IP フラグメントを再構成するか、もしくは少なくとも上位プロトコルの正し
+いデータサイズを計算するように設計しなおす必要があります。
+.LP
+ネームサーバについての逆引きについては、正しくダンプされません。
+実際の要求ではなく、(empty)クエスチョンセクションが、
+アンサーセクションに出力されます。
+逆引きについてはそれ自体がバグであると信じ、tcpdump ではなく逆引きを要求する
+プログラムを修正するべきと考える人達もいます。
+.LP
+Apple Ethertalk DDP パケットは、KIP DDP パケットと同様に簡単にダンプ出来
+るようにしたいのですが、実際はそうではありません。
+もし我々が、Ethertalk の利用を奨めるために何かやろうという気になったとし
+ても(そうではないのですが)、LBL(Lawrence Berkeley Laboratory) のどの
+ネットワーク上にも Ethertalk を通すことは許されていませんから、そのコード
+の試験は出来ません。
+.LP
+夏時間との変更の時にパケットトレースを行うと、タイムスタンプは変更後の
+時刻とはずれてしまいます(時間変化は無視されます)。
+.LP
+FDDI ヘッダを操作するようなフィルタの表現においては、全ての
+FDDI パケットはカプセル化された Ethernet パケットであると仮定します。
+これは、IP, ARP, DECNET フェーズ 4 については正しいですが、ISO の CLNS 等の
+プロトコルについては正しくありません。したがって、フィルタ表現に正しく
+マッチしないようなパケットを偶然に受け入れてしまうことがあります。
diff --git a/ja/man/man1/tcpslice.1 b/ja/man/man1/tcpslice.1
new file mode 100644
index 0000000000..3ddbf53f98
--- /dev/null
+++ b/ja/man/man1/tcpslice.1
@@ -0,0 +1,254 @@
+.\" @(#) $Header: /home/ncvs/doc/ja/man/man1/tcpslice.1,v 1.1.1.1 1998-02-25 04:54:16 hanai Exp $ (LBL)
+.\" jpman %Id: tcpslice.1,v 1.3 1997/09/07 14:12:55 horikawa Stab %
+.\"
+.\" Copyright (c) 1988-1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that: (1) source code distributions
+.\" retain the above copyright notice and this paragraph in its entirety, (2)
+.\" distributions including binary code include the above copyright notice and
+.\" this paragraph in its entirety in the documentation or other materials
+.\" provided with the distribution, and (3) all advertising materials mentioning
+.\" features or use of this software display the following acknowledgement:
+.\" ``This product includes software developed by the University of California,
+.\" Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
+.\" the University nor the names of its contributors may be used to endorse
+.\" or promote products derived from this software without specific prior
+.\" written permission.
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\"
+.TH TCPSLICE 1 "14 Oct 1991"
+.SH 名称
+tcpslice \- tcpdump ファイルの分割/結合
+.SH 書式
+.na
+.B tcpslice
+[
+.B \-dRrt
+] [
+.B \-w
+.I file
+]
+.br
+.ti +9
+[
+.I start-time
+[
+.I end-time
+] ]
+.I file ...
+.br
+.ad
+.SH 解説
+.LP
+.I tcpslice
+は、
+\fItcpdump(1)\fP
+の
+.B \-w
+フラグ
+を用いて作成されたパケットトレースファイルの一部を切り出すプログラムです。
+また、以下に示すように、複数のパケットトレースファイルを結合する事も
+できます。
+.LP
+.I tcpslice
+の基本機能は、入力となるファイルに含まれるパケットの時刻が与えられた範囲に
+あるものを
+.I stdout
+にコピーする事です。
+開始時刻および終了時刻の範囲は、コマンド行で指定できます。範囲は指定した
+時刻自身を含みます。開始時刻のデフォルトは最初の入力ファイルの最初の
+パケットの時刻で、これを
+.I first time
+と呼びます。終了時刻のデフォルトは開始時刻の 10 年後です。
+したがって、
+.I tcpslice trace-file
+というコマンドは単に
+.I trace-file
+を \fIstdout\fP にコピーします(ファイルには 10 年分のデータがない事を
+想定しています)。
+.LP
+時刻の指定にはいくつかの方法があります。ひとつは
+.I sssssssss.uuuuuu
+の形式の Unix 時刻形式を用いる方法です
+(これは、\fItcpdump\fP の
+.B \-tt
+フラグで指定される形式です)。
+例えば、
+.B 654321098.7654
+は、1990 年 9 月 25 日、午後 8 時 51 分 (PDT) から、
+38 秒と 765,400 マイクロ秒後の時刻を示します。
+.LP
+このマニュアルの例は全て PDT の時刻で示しますが、
+以下で示すように時刻を表示したり解釈したりする場合、
+.I tcpslice
+は、\fItcpdump\fP のファイルがどのタイムゾーンで生成されたかに関わらず、
+ローカルのタイムゾーンを使用します。
+夏時間の設定は、対象となる日のローカルのタイムゾーンで適切な物が用いられます。
+例えば、夏季の期間の時刻は、夏時間の影響を反映し、冬季の期間の時刻は
+影響しません。
+.LP
+時刻は
+秒数の前に `+' を付けて指定する事により、
+.I first time
+(開始時刻を指定する場合)
+や開始時刻(終了時刻を指定する場合)
+からの相対的な時刻として指定する事もできます。
+例えば、
+.B +200
+は
+.I first time
+から 200 秒後を示し、ふたつの引数
+.B +200 +300
+は
+.I first time
+から 200 秒後から、
+.I first time
+から 500 秒後までを示します。
+.LP
+時刻は、年 (y)、月 (m)、日 (d)、時 (h)、分 (m)、秒 (s)、マイクロ秒 (u) で
+指定する事もできます。例えば、上記で示した Unix 時刻 654321098.7654 は、
+.B 90y9m25d20h51m38s765400u
+と指定する事もできます。
+.LP
+この形式で時刻を指定した場合、省略されたフィールドのデフォルトは以下の様に
+なります。省略されたフィールドが最初に指定されたフィールドより
+.I 大きい
+単位ならば、そのデフォルト値は、
+.I first time
+(開始時刻を指定する場合) または開始時刻(終了時刻を指定する場合)と同じ
+値となります。
+省略されたフィールドが最初に指定されたフィールドより
+.I 小さい
+単位ならば、そのデフォルト値はゼロとなります。
+例えば、入力ファイルの
+.I first time
+の Unix 時刻が上記の値、すなわち、1990 年 9 月 25 日、午後 8 時 51 分 (PDT)
+から 38 秒と 765,400 マイクロ秒後としましょう。この時、同じ日の 午後 9 時
+36 分 (PDT) ちょうどを指定するには、
+.B 21h36m
+と表す事ができます。
+午後 9 時 36 分 (PDT) から翌日の午前 1 時 54 分 (PDT) までを指定するには、
+.B 21h36m 26d1h54m
+と表す事ができます。
+.LP
+.I ymdhmsu
+形式を使用する時にも相対時刻を指定する事ができます。
+この時、省略されたフィールドが指定された最初のフィールドより
+.I 大きい
+単位ならば、デフォルト値は 0 となり、
+省略されたフィールドが指定された最初のフィールドより
+.I 小さい
+単位ならば、デフォルト値は
+.I first time
+あるいは開始時刻と同じ値となります。
+.I first time
+が上記で示した Unix 時刻だった場合、
+.B 22h +1h10m
+はその日の午後 10 時 00 分 (PDT) から 午後 11 時 10 分 (PDT) までを示し、
+.B +1h +1h10m
+は午後 9 時 51 分 (PDT) の 38.7654 秒後から 午後 11 時 01 分 (PDT) の
+38.7654 秒後までを示します。
+.B +0 +1h
+と指定すれば、ファイルの最初から 1 時間分のデータを取り出す事ができます。
+.LP
+.I ymdhmsu
+形式を用いる場合、
+.I m
+が、`月' を示すのか `分' を示すのかが曖昧になります。
+この曖昧さは、以下のように決定されます。もし、
+.I m
+フィールドの後に
+.I d
+フィールドが来た場合、それは月であると判断され、それ以外の場合は、
+分であると判断されます。
+.LP
+複数の入力ファイルが指定された場合、
+.I tcpslice
+はまず、最初のファイルの与えられた時刻の範囲にあるパケットをコピーします。
+次に、範囲の開始時刻を最初のファイルの最後のパケットの時刻の直後に変更し、
+次のファイルを処理し、以降これを繰り返します。したがって、時間的に
+分散したパケットを含むような複数のファイルをまとめる事は
+.I できません。
+与えられたファイルのうち、先に処理されたファイルより新しいパケットに対して
+のみ処理されます。この機構によりひとつのパケットが複数回出力に現れる
+事を防ぐ事ができます。
+.SH オプション
+.LP
+.B \-R,
+.B \-r,
+.B \-t
+のいずれかが指定された場合、
+.I tcpslice
+は、各入力ファイルの最初および最後のパケットの時刻を表示して終了します。
+これらの 3 個のオプションのうち、ひとつだけを指定することができます。
+.TP
+.B \-d
+指定された範囲の開始時刻と終了時刻をダンプして終了します。
+このオプションは、指定した範囲が想定している時間と本当に一致しているかどうかを
+確認するのに有効です。
+.B \-R,
+.B \-r,
+.B \-t
+のいずれかが指定された場合、それらに相当する形式で時刻をダンプします。
+指定がない場合は、加工しない形式 (\fB \-R\fP) が使用されます。
+.TP
+.B \-R
+各入力ファイルの最初および最後のパケットの時刻を加工しない形式
+(つまり、\fI sssssssss.uuuuuu\fP の形式) でダンプします。
+.TP
+.B \-r
+.B \-R
+と同じですが、\fI date(1)\fP で使用される物と同様の、読みやすい形式で
+時刻をダンプします。
+.TP
+.B \-t
+.B \-R
+と同じですが、時刻を
+.I tcpslice
+形式、すなわち、上記に示した
+.I ymdhmsu
+の形でダンプします。
+.TP
+.B \-w
+結果を \fIstdout\fP ではなく、\fIfile\fR に出力します。
+.SH 関連項目
+tcpdump(1)
+.SH 作者
+Vern Paxson (vern@ee.lbl.gov), of
+Lawrence Berkeley Laboratory, University of California, Berkeley, CA.
+.SH バグ
+数字や `+' で始まるファイル名を入力ファイルとして指定すると、
+開始/終了時刻と区別できません。このようなファイル名は、たとえば、
+`04Jul76.trace' というファイル名ならば `./04Jul76.trace' のように、
+先頭に `./' をつけて指定して下さい。
+.LP
+.I tcpslice
+は、入力ファイルをくまなく探すためにランダムアクセスを使用するため、
+\fIstdin\fP から入力を読み込むことはできません。
+.LP
+.I tcpslice
+は、出力を (\fIisatty(3)\fP で示される) 端末へ出力しようとしません。
+これはバグではなく仕様で、ユーザの端末にバイナリデータをまき散らすことを
+防ぎます。つまり、\fIstdout\fP をリダイレクトするか、\fB\-w\fP により
+出力ファイルを指定する必要があります。
+.LP
+.I tcpslice
+は、1 年以上にわたる \fItcpdump\fP のファイルや、
+もともとのパケットの長さが 65,535 バイトを超えるようなパケットの一部を
+含むようなファイル、3 パケットより少ないパケットしかないファイル
+に対しては正しく働かないでしょう。
+これらのファイルを処理しようとすると、
+`couldn't find final packet in file' というエラーメッセージが出力されます。
+これらの問題は、大きなトレースファイルを扱う場合に、
+.I tcpslice
+が処理速度を大きく改善するために使用している補間機能に起因します。
+一方、
+.I tcpslice
+は、如何なるサイズのトレースファイルでも中央のスライスを効率的に取り出す
+ことができ、分断されたトレースファイル (ファイルの中の最後のパケットが
+一部しか存在しない様なファイル、\fItcpdump\fP が強制的に終了させられた
+場合にできる場合がある) に対しても正しく動作します。
diff --git a/ja/man/man1/tee.1 b/ja/man/man1/tee.1
new file mode 100644
index 0000000000..43b4778bbe
--- /dev/null
+++ b/ja/man/man1/tee.1
@@ -0,0 +1,85 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tee.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: tee.1,v 1.2 1997/03/29 11:45:44 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt TEE 1
+.Os
+.Sh 名称
+.Nm tee
+.Nd 標準入力を、標準出力とファイルにコピーする
+.Sh 書式
+.Nm
+.Op Fl ai
+.Op Ar
+.Sh 解説
+.Nm
+は、標準入力を標準出力にコピーするのと同時に、
+file で指定した 0 もしくはそれ以上のファイルにも書き込みます。
+その際、出力はバッファリングされません。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl a
+ファイルに書き込むとき、オーバーライトではなく、アペンドします。
+.It Fl i
+シグナル
+.Dv SIGINT
+を無視します。通常は、すべてのシグナルを受け取ります。
+.El
+.Pp
+以下のオペランドを使用可能です:
+.Bl -tag -width file
+.It Ar file
+出力
+.Ar file
+のパス名。
+.El
+.Pp
+.Nm
+ユーティリティは、
+.Fl i
+オプションを指定した場合を除いては、全てのシグナルに対してデフォルトの動作を
+します。
+.Pp
+.Nm
+ユーティリティは、成功した場合は 0 を、
+エラーが起きた場合は 1 以上の値を返します。
+.Sh 規格
+.Nm
+は
+.St -p1003.2
+互換であると考えられています。
diff --git a/ja/man/man1/telnet.1 b/ja/man/man1/telnet.1
new file mode 100644
index 0000000000..7b7931da57
--- /dev/null
+++ b/ja/man/man1/telnet.1
@@ -0,0 +1,1322 @@
+.\" Copyright (c) 1983, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)telnet.1 8.5 (Berkeley) 3/1/94
+.\" jpman %Id: telnet.1,v 1.2 1997/05/23 00:55:09 mutoh Stab %
+.\" %Id: telnet.1,v 1.3.2.2 1997/08/18 07:08:03 charnier Exp %
+.\"
+.Dd March 1, 1994
+.Dt TELNET 1
+.Os BSD 4.2
+.Sh 名称
+.Nm telnet
+.Nd
+.Tn TELNET
+プロトコルを用いて他のホストと通信する
+.Sh 書式
+.Nm
+.Op Fl 8EFKLacdfrx
+.Op Fl S Ar tos
+.Op Fl X Ar authtype
+.Op Fl e Ar escapechar
+.Op Fl k Ar realm
+.Op Fl l Ar user
+.Op Fl n Ar tracefile
+.Oo
+.Ar host
+.Op port
+.Oc
+.Sh 解説
+.Nm
+コマンドは、
+他のマシンとの間で
+.Tn TELNET
+プロトコルを用いた通信を行なう時に用いられます。
+.Nm
+が、
+.Ar host
+引数なしで起動された場合には、
+.Pq Nm telnet\&>
+プロンプトを表示して、コマンドを受け付けるモードに移行します。
+本モードでは、telnet は、後述のコマンドを解釈し、実行できます。
+.Nm
+が
+.Ar host
+引数を付加して起動された場合には、
+.Ic open
+コマンドをその引数で実行した場合と同様の動作を行ないます。
+.Pp
+.Nm
+コマンドでは、以下のオプションが使用可能です。
+.Bl -tag -width indent
+.It Fl 8
+8ビットデータをそのまま通すよう指示します。本オプションは、データ入出力時に
+.Dv TELNET BINARY
+オプションを使用することを意味します。
+.It Fl E
+エスケープ文字の解釈を禁止します。
+.It Fl F
+もし Kerberos V5 ユーザ認証を使用している場合
+.Fl F
+オプションはローカル credential をリモートシステムに送るのを許可します。
+すでにローカルに送られている全ての credential を含みます。
+.It Fl K
+リモートシステムへの自動ログインを行なわないよう指示します。
+.It Fl L
+出力を8ビットクリーンにします。
+本オプションは、データ出力時に
+.Dv BINARY
+オプションを使用することを意味します。
+.It Fl S Ar tos
+IPのサービス型(TOS)を設定します。 TOS は、数字で指定するか、システムが
+.Pa /etc/iptos
+ファイルをサポートしている場合には、そのファイル中で定義された
+値と対応するシンボルを指定します。
+.It Fl X Ar atype
+.Ar atype
+で指定されたユーザ認証を無効にします。
+.It Fl a
+自動ログインを行ないます。リモートシステムで ENVIRON オプションの
+サポートをしている場合には、
+.Ev ENVIRON
+オプションの
+.Ev USER
+変数をログイン名として用います。
+使用されるログイン名は、カレントユーザIDとログイン名の対応が
+一致する場合には、
+.Xr getlogin 2
+で取得される名前です。それ以外の場合は、 UID に対応する名前が
+用いられます。
+.It Fl c
+ユーザの
+.Pa \&.telnetrc
+ファイルを使いません
+(本マニュアル中の
+.Ic toggle skiprc
+コマンドを参照してください)。
+.It Fl d
+変数
+.Ic debug
+の初期値を
+.Dv TRUE
+に設定します。
+.It Fl e Ar escape char
+.Nm
+のエスケープ文字の初期値を
+.Ar escape char
+に設定します。
+.Ar escape char
+が省略された場合には、
+エスケープ文字は無いことになります。
+.It Fl f
+もし Kerberos V5 ユーザ認証を使用している場合
+.Fl f
+オプションはローカル credential をリモートシステムに送るのを許可します。
+.It Fl k Ar realm
+もし Kerberos ユーザ認証を使用している場合
+.Fl k
+オプションを指定すると、
+.Xr krb_realmofhost 3
+で決定されるリモートホストの realm の代わりに、
+.Ar realm
+からリモートホストに対するチケットが得られるように要求します。
+.It Fl l Ar user
+リモートシステムが
+.Ev ENVIRON
+オプションをサポートしている場合、リモートシステムへの接続時に
+リモートシステムに変数
+.Ev USER
+の値として
+.Ar user
+を送信します。
+本オプションは、
+.Fl a
+オプションとともに使用します。
+また、本オプションは、
+.Ic open
+コマンドととも一緒に使用します。
+.It Fl n Ar tracefile
+トレース情報を記録するために
+.Ar tracefile
+をオープンします。
+後述の
+.Ic set tracefile
+コマンドを参照して下さい。
+.It Fl r
+.Xr rlogin 1
+と似たインタフェースを提供します。
+本モードでは、エスケープ文字はチルダ文字(~)に設定されます。
+ただし、-eオプションで変更された場合には、この限りではありません。
+.It Fl x
+可能であれば、データストリームの暗号化を有効にします。本オプション
+は、米国およびカナダ以外の国では使用できません。
+.It Ar host
+リモートホストの公式な名前、別名、またはIPアドレスを指定し
+ます。
+.It Ar port
+telnetが叩くリモートホストのTCPポート番号を指定します。指定されない
+場合には、デフォルトの
+.Nm
+ポート番号が使われます。
+.El
+.Pp
+rlogin モードでは、~. をコマンドラインの先頭で入力すると、
+リモートホストとの接続が切れます。この時、 ~ は
+.Nm
+のエスケープ文字
+として働きます。
+また、~^Z をコマンドラインの先頭で入力すると、
+.Nm
+セッションはサスペンドされます。
+そして、~^] をコマンドラインの先頭で入力すると、通常の
+.Nm
+のエスケーププロンプトが出力され、コマンド入力モードに移行します。
+.Pp
+コネクションが開設されると、
+.Nm
+は
+.Dv TELNET LINEMODE
+を有効にしようとします。
+これが失敗すると、次に
+.Nm
+は \*(Lqcharacter at a time\*(Rq と \*(Lqold line by line\*(Rq の
+2つの入力モードのうち、どちらか1つを選択します。
+これは、リモートシステムがサポートするモードに依存します。
+.Pp
+.Dv LINEMODE
+が有効になった場合、
+文字処理は、
+リモートシステムの制御のもとでローカルシステムで行なわれます。
+入力行の編集や、文字エコーは無効になり、
+リモートシステムがそれらの操作情報を中継します。
+リモートシステムは、
+リモートシステムで生成された特殊文字をすべてローカルシステムに送ります。
+その結果、ローカルシステムの制御が可能になります。
+.Pp
+\*(Lqcharacter at a time\*(Rq モードでは、ほとんどのテキスト入力は、
+すぐにリモートシステムに送られて処理されます。
+.Pp
+\*(Lqold line by line\*(Rqモードでは、全てのテキストはローカルにエコーバック
+されます。そして、通常、完全な行のみがリモートホストに送信されます。
+.Pp
+\*(Lqold line by line\*(Rq モードでは、全てのテキストはローカルに
+エコーされ (普通は) 完全な行だけがリモートホストに送られます。
+\*(Lqlocal echo character\*(Rq (初期設定は\*(Lq^E\*(Rq)は、ローカルエコー
+の有効/無効を切り替えるのに用いられます(これは、パスワードをエコーバックし
+ないために、パスワード入力時によく用いられる機能です)。
+.Pp
+.Dv LINEMODE
+オプションが有効になっている場合、もしくは
+.Ic localchars
+が
+.Dv TRUE
+になっている場合には(デフォルトでは、\*(Lqold line by line\*(Lq に設定されて
+います。以下を参照)、ユーザの
+.Ic quit ,
+.Ic intr ,
+および
+.Ic flush
+文字はローカルでトラップされます。そして、
+.Tn TELNET
+プロトコルシーケンスとしてリモートホストに送信されます。
+.Dv LINEMODE
+が有効になっている場合には、
+ユーザの
+.Ic susp
+および
+.Ic eof
+もまた
+.Tn TELNET
+プロトコルシーケンスとしてリモートホストに送信されます。そして、
+.Ic quit
+は
+.Dv BREAK
+のかわりに
+.Dv TELNET ABORT
+として送信されます。
+また、
+(リモートホストが TELNET シーケンスを認識するまで)
+端末へのサブシーケンス出力をフラッシュするオプション(
+.Ic toggle ,
+.Ic autoflush ,
+.Ic toggle ,
+.Ic autosynch
+を参照して下さい)
+や、(
+.Ic quit ,
+.Ic intr
+の場合に)
+端末の先行入力をフラッシュするオプション
+もあります。
+.Pp
+リモートホストと接続中に \*(Lqescape character\*(Rq (初期値は
+\*(Lq^]\*(Rq です)を入力することで、
+.Nm
+コマンドモードに移行できます。
+コマンドモードに移行すると、通常の対話的画面編集が可能になります。
+.Pp
+.Nm
+のコマンドモードでは、以下のコマンドが使用できます。
+コマンドを入力する場合には、先頭からコマンドを特定できるだけの文字を入れ
+るだけでコマンドが認識されます。
+(
+.Ic mode ,
+.Ic set ,
+.Ic toggle ,
+.Ic unset ,
+.Ic slc ,
+.Ic environ ,
+そして
+.Ic display
+コマンドの引数についても同じことがいえます)。
+.Pp
+.Bl -tag -width "mode type"
+.It Ic auth Ar argument ...
+auth コマンドは、
+.Dv TELNET AUTHENTICATE
+オプションを用いて送られる認証情報を操作します。
+auth コマンドのとりうる引数は、以下の通りです。
+.Bl -tag -width "disable type"
+.It Ic disable Ar type
+指定した認証タイプを無効にします。認証タイプの一覧を見たい場合には、
+.Ic auth disable \&?
+とコマンドを実行して下さい。
+.It Ic enable Ar type
+指定された認証タイプを有効にします。
+認証タイプの一覧を見たい場合には、
+.Ic auth enable \&?
+とコマンドを実行して下さい。
+.It Ic status
+認証タイプの現在の状態一覧を表示します。
+.El
+.It Ic close
+.Tn TELNET
+セッションを終了し、コマンドモードに復帰します。
+.It Ic display Ar argument ...
+.Ic set
+および
+.Ic toggle
+で設定された値(後述)のすべて、もしくは一部を表示します。
+.It Ic encrypt Ar argument ...
+encrypt コマンドは、
+.Dv TELNET ENCRYPT
+オプションによって送られる情報を操作します。
+.Pp
+注意: 輸出規制の関係上、
+.Dv TELNET ENCRYPT
+オプションは、米国およびカナダ以外の国ではサポートされません。
+.Pp
+encrypt コマンドのとりうる引数は以下の通り:
+.Bl -tag -width Ar
+.It Ic disable Ar type Ic [input|output]
+指定されたタイプの暗号化を無効にします。
+input か output かが省略された場合、両方が無効になります。
+.Ic encrypt disable \&?
+コマンドを使えば type として何が使用できるかを表示できます。
+.It Ic enable Ar type Ic [input|output]
+指定されたタイプの暗号化を有効にします。
+input か output かが省略された場合、両方が無効になります。
+.Ic encrypt enable \&?
+コマンドを使えば type として何が使用できるかを表示できます。
+.It Ic input
+.Ic encrypt start input
+コマンドと同じです。
+.It Ic -input
+.Ic encrypt stop input
+コマンドと同じです。
+.It Ic output
+.Ic encrypt start output
+コマンドと同じです。
+.It Ic -output
+.Ic encrypt stop output
+コマンドと同じです。
+.It Ic start Ic [input|output]
+暗号化を開始します。
+.Ic input
+か
+.Ic output
+かが省略された場合、
+両方が暗号化されます。
+.Ic encrypt enable \&?
+コマンドを使えば type として何が使用できるかを表示できます。
+.It Ic status
+暗号化の現在の状態を表示します。
+.It Ic stop Ic [input|output]
+暗号化を中止します。
+input か output かを省略した場合は
+両方に対して作用します。
+.It Ic type Ar type
+.Ic encrypt start
+や
+.Ic encrypt stop
+が使われた時のデフォルトの暗号化タイプを設定します。
+.El
+.It Ic environ Ar arguments...
+.Ic environ
+コマンドは、
+.Dv TELNET ENVIRON
+オプションを用いて送られる変数を取り扱うのに用いられます。
+最初に設定される変数は、ユーザ環境変数から取られ、
+デフォルトでは
+.Ev DISPLAY
+および
+.Ev PRINTER
+のみ値が環境に取り込まれます。
+変数
+.Ev USER
+が環境に取り込まれるのは、
+.Fl a
+もしくは
+.Fl l
+オプションが起動時に指定された場合です。
+.br
+.Ic environ
+コマンドの取りうる引数は、以下の通りです。
+.Bl -tag -width Fl
+.It Ic define Ar variable value
+変数
+.Ar variable
+を
+.Ar value
+と定義します。
+本コマンドで定義された変数は、自動的に環境に取り込まれます。
+.Ar value
+については、スペースやタブを含む場合には、シングルクォーテー
+ション、もしくはダブルクォーテーションで囲んでも構いません。
+.It Ic undefine Ar variable
+環境変数
+.Ar variable
+の定義を無効にします。
+.It Ic export Ar variable
+変数
+.Ar variable
+が、リモートホストの環境に取り込まれるように設定します。
+.It Ic unexport Ar variable
+変数
+.Ar variable
+を、リモートホストに取り込まないように設定します。ただし、リモートホストへ
+明示的に取り込むよう指定された変数に関しては、意味を持ちません。
+.It Ic list
+現在設定されている環境変数の一覧を表示します。
+.Cm *
+マークが付加されている環境変数については、リモートホストに自動的に取り込ま
+れます。他の変数は、明示的に要求されない限り、取り込まれることはありません。
+.It Ic \&?
+.Ic environ
+コマンドのヘルプメッセージを表示します。
+.El
+.It Ic logout
+.Dv TELNET LOGOUT
+オプションをリモートホストに送信します。
+本コマンドは、
+.Ic close
+と似てますが、リモートホストが
+.Dv LOGOUT
+オプションをサポートしていない場合には、何も起きません。
+しかしながら、リモートホストが
+.Dv LOGOUT
+オプションをサポートしている場合には、本コマンドはリモートホストに
+.Tn TELNET
+コネクションの切断を指示します。
+リモートホストが再接続のためにセッションのサスペンドもサポートしている場合には、
+logout 引数は、セッションを即時切断することを示します。
+.It Ic mode Ar type
+.Ar type
+は、
+.Tn TELNET
+セッションの状態に依存するオプションの 1 つです。
+リモートホストはリクエストモードに入るための許可を求められます。
+リモートホストが許可を得られればリクエストモードに入ります。
+.Bl -tag -width Ar
+.It Ic character
+.Dv TELNET LINEMODE
+オプションを無効にする、
+あるいはリモートホストが
+.Dv LINEMODE
+オプションを解釈できない場合に
+\*(Lqcharacter at a time\*(Lq
+モードに入ります。
+.It Ic line
+.Dv TELNET LINEMODE
+オプションを有効にする、
+あるいはリモートホストが
+.Dv LINEMODE
+オプションを解釈できない場合に
+\*(Lqold-line-by-line\*(Lq
+モードに入ろうとします。
+.It Ic isig Pq Ic \-isig
+.Dv LINEMODE
+オプションの
+.Dv TRAPSIG
+モードを有効(無効)にします。
+.Dv LINEMODE
+オプションが有効になっている必要があります。
+.It Ic edit Pq Ic \-edit
+.Dv LINEMODE
+オプションの
+.Dv EDIT
+モードを有効(無効)にします。
+.Dv LINEMODE
+オプションが有効になっている必要があります。
+.It Ic softtabs Pq Ic \-softtabs
+.Dv LINEMODE
+オプションの
+.Dv SOFT_TAB
+モードを有効(無効)にします。
+.Dv LINEMODE
+オプションが有効になっている必要があります。
+.It Ic litecho Pq Ic \-litecho
+.Dv LINEMODE
+オプションの
+.Dv LIT_ECHO
+モードを有効(無効)にします。
+.Dv LINEMODE
+オプションが有効になっている必要があります。
+.It Ic \&?
+.Ic mode
+コマンドのヘルプメッセージを表示します。
+.El
+.It Xo
+.Ic open Ar host
+.Oo Op Fl l
+.Ar user
+.Oc Ns Oo Fl
+.Ar port Oc
+.Xc
+指定されたホストとの間で、コネクションを開設します。
+ポート番号が指定されない場合は、
+.Nm
+は、デフォルトのポート番号を用いて、指定されたホストの
+.Tn TELNET
+サーバとの接続を試みます。
+ホストの指定については、ホスト名(
+.Xr hosts 5
+を参照して下さい)もしくは、
+ドット表記のIPアドレス(
+.Xr inet 3
+を参照して下さい)で指定します。
+.Op Fl l
+オプションは
+.Ev ENVIRON
+オプションによってリモートシステムに渡されるユーザ名を指定するのに
+使われます。
+標準でないポートにつなげた時は
+.Nm
+は全ての
+.Tn TELNET
+オプションの自動初期化を省略します。
+マイナス記号の後にポート番号が指定されている場合は、
+初期オプション交渉 (initial option negotiation) が行なわれます。
+接続した後、ホームディレクトリの
+.Pa \&.telnetrc
+ファイルが読み込まれます。
+# で始まる行はコメントです。
+空行は無視されます。
+空白以外で始まっている行は
+マシンエントリの始まりです。
+最初の項目は接続しているマシンの名前です。
+その後の項目、およびそれに続く空白で始まっている
+行は
+.Nm
+コマンドであるとみなされ、
+.Nm
+コマンドプロンプトでそのコマンドを入力した場合と
+同じように処理されます。
+.It Ic quit
+.Tn TELNET
+セッションをただちに切断し、
+.Nm
+を終了します。
+コマンドモードにおいて、 EOF を入力した場合も同様です。
+.It Ic send Ar arguments
+1つ以上の特殊文字シーケンスをリモートホストに送信します。
+以下は指定可能な引数です
+(1度に複数の引数を指定できます)。
+.Pp
+.Bl -tag -width escape
+.It Ic abort
+.Dv TELNET ABORT
+(Abort
+processes)
+シーケンスを送ります。
+.It Ic ao
+.Dv TELNET AO
+(Abort Output)
+シーケンスを送ります。
+これはリモートシステム
+.Em に
+端末
+.Em へ
+全ての出力をフラッシュさせます。
+.It Ic ayt
+.Dv TELNET AYT
+(Are You There)
+シーケンスを送ります。
+リモートシステムはそれに応答するかしないかを選択できます。
+.It Ic brk
+.Dv TELNET BRK
+(Break)
+シーケンスを送ります。
+リモートシステムにとって
+重要な意味があるかもしれません。
+.It Ic ec
+.Dv TELNET EC
+(Erase Character)
+シーケンスを送ります。
+これはリモートシステムに最後に入力された文字を
+消去させます。
+.It Ic el
+.Dv TELNET EL
+(Erase Line)
+シーケンスを送ります。
+これはリモートシステムに現在入力中の行を
+消去させます。
+.It Ic eof
+.Dv TELNET EOF
+(End Of File)
+シーケンスを送ります。
+.It Ic eor
+.Dv TELNET EOR
+(End of Record)
+シーケンスを送ります。
+.It Ic escape
+現在の
+.Nm
+エスケープ文字を送ります
+(初期値は \*(Lq^\*(Rq です)。
+.It Ic ga
+.Dv TELNET GA
+(Go Ahead) シーケンスを送ります。
+おそらくリモートシステムにとってたいした意味は無いでしょう。
+.It Ic getstatus
+リモートシステムが
+.Dv TELNET STATUS
+コマンドをサポートしていれば、
+.Ic getstatus
+はサーバに現在のオプションステータスを送るように要求します。
+.It Ic ip
+.Dv TELNET IP
+(Interrupt Process)
+シーケンスを送ります。
+これはリモートシステムに現在実行中のプロセスを
+中断させます。
+.It Ic nop
+.Dv TELNET NOP
+(No OPeration)
+シーケンスを送ります。
+.It Ic susp
+.Dv TELNET SUSP
+(SUSPend process)
+シーケンスを送ります。
+.It Ic synch
+.Dv TELNET SYNCH
+シーケンスを送ります。
+このシーケンスはリモートシステムに、
+それまでに送られた(しかしまだ読み込まれていない)入力を
+捨てさせます。
+このシーケンスは
+.Tn TCP
+緊急データとして送られます
+(しかしリモートシステムが
+.Bx 4.2
+の場合、効かないかも知れません。
+もし効かなかった場合は端末に \*(Lqr\*(Rq が返される場合があります)。
+.It Ic do Ar cmd
+.It Ic dont Ar cmd
+.It Ic will Ar cmd
+.It Ic wont Ar cmd
+.Dv TELNET DO
+.Ar cmd
+シーケンスを送ります。
+.Ar cmd
+は 0 から 255 までの十進数か、
+特定の
+.Dv TELNET
+コマンドに対するシンボル名です。
+.Ar cmd
+として
+既知のシンボル名のリストを含むヘルプメッセージを表示する
+.Ic help
+または
+.Ic \&?
+を指定可能です。
+.It Ic \&?
+.Ic send
+コマンドのヘルプメッセージを表示します。
+.El
+.It Ic set Ar argument value
+.It Ic unset Ar argument value
+.Ic set
+コマンドは、指定した
+.Nm
+変数の1つを、特定の値を設定するか、
+.Dv TRUE
+にします。
+特別な値
+.Ic off
+は、変数に関連する機能を無効にします。これは、
+.Ic unset
+コマンドと同じです。
+.Ic unset
+コマンドは、指定された機能を無効にするか、
+.Dv FALSE
+に設定します。
+変数の値は
+.Ic display
+コマンドによって調べることができます。
+トグルでなく設定、無効にされる変数を以下に示します。
+また
+.Ic toggle
+コマンドに対する変数は
+.Ic set
+および
+.Ic unset
+コマンドによって明示的に
+設定および無効にすることができます。
+.Bl -tag -width escape
+.It Ic ayt
+.Tn TELNET
+がローカル文字モードになっているか、
+あるいは
+.Dv LINEMODE
+が有効になっていて、
+ステータス文字が入力された場合、
+.Dv TELNET AYT
+シーケンス(前述の
+.Ic send ayt
+参照)
+がリモートホストに送られます。
+"Are You There" 文字の初期値は
+ターミナルステータス文字です。
+.It Ic echo
+これは
+\*(Lqline by line\*(Rq モード時に
+入力された文字をローカルに表示する(通常処理)か
+しないか(たとえばパスワード入力時)を
+切替えるのに使われる値(初期値は \*(Lq^E\*(Rq )です。
+.It Ic eof
+.Nm
+が
+.Dv LINEMODE
+あるいは
+\*(Lqold line by line\*(Rq モードで動作していれば、
+行の最初の文字としてこの文字を入力すると、
+この文字をリモートシステムに送ります。
+初期値として、端末の
+.Ic eof
+文字が使われます。
+.It Ic erase
+.Nm
+が
+.Ic localchars
+モード(後述の
+.Ic toggle
+.Ic localchars
+を参照)
+になっていて、
+.Sy そして
+\*(Lqcharacter at a time\*(Rq モードで動作していれば、
+この文字が入力された時に
+.Dv TELNET EC
+シーケンス(前述の
+.Ic send
+.Ic ec
+を参照)が
+リモートシステムに送られます。
+初期値として、端末の
+.Ic erase
+文字が使われます。
+.It Ic escape
+これは
+(リモートシステムと接続している時に)
+.Nm
+コマンドモードに入る
+.Nm
+エスケープ文字(初期値 \*(Lq^[\*(Rq) です。
+.It Ic flushoutput
+.Nm
+が
+.Ic localchars
+モード(後述の
+.Ic toggle
+.Ic localchars
+を参照)
+になっていて、
+.Ic flushoutput
+文字が入力された時に
+.Dv TELNET AO
+シーケンス(前述の
+.Ic send
+.Ic ao
+を参照)が
+リモートシステムに送られます。
+初期値として、端末の
+.Ic flush
+文字が使われます。
+.It Ic forw1
+.It Ic forw2
+.Tn TELNET
+が
+.Dv LINEMODE
+で動作している時に
+この文字が入力されると
+行の一部がリモートシステムに送られます。
+初期値として、端末の eol および eol2 文字が
+使われます。
+.It Ic interrupt
+.Nm
+が
+.Ic localchars
+モード(後述の
+.Ic toggle
+.Ic localchars
+を参照)
+になっている時に、
+.Ic interrupt
+文字が入力されると
+.Dv TELNET IP
+シーケンス(前述の
+.Ic send
+.Ic ip
+を参照)が
+リモートホストに送られます。
+初期値として、端末の
+.Ic intr
+文字が使われます。
+.It Ic kill
+.Nm
+が
+.Ic localchars
+モード(後述の
+.Ic toggle
+.Ic localchars
+を参照)
+になっていて、
+.Ic そして
+\*(Lqcharacter at a time\*(Rq
+モードで動作していれば、この文字が入力された時に
+.Dv TELNET EL
+シーケンス(前述の
+.Ic send
+.Ic el
+を参照)がリモートシステムに送られます。
+初期値として、端末の
+.Ic kill
+文字が使われます。
+.It Ic lnext
+.Nm
+が
+.Dv LINEMODE
+か
+\*(Lqold line by line\*(Lq モードで動作している時に、端末の
+.Ic lnext
+文字がこの文字として使われます。
+初期値として、端末の
+.Ic lnext
+文字が使われます。
+.It Ic quit
+.Nm
+が
+.Ic localchars
+モード(後述の
+.Ic toggle
+.Ic localchars
+を参照)
+になっていて、
+.Ic quit
+文字が入力されると、
+.Dv TELNET BRK
+シーケンス(前述の
+.Ic send
+.Ic brk
+を参照)が
+リモートホストに送られます。
+初期値として、端末の
+.Ic quit
+文字が使われます。
+.It Ic reprint
+.Nm
+が
+.Dv LINEMODE
+あるいは
+\*(Lqold line by line\*(Rq モードで動作している時に、端末の
+.Ic reprint
+文字がこの文字として使われます。
+初期値として、端末の
+.Ic reprint
+文字が使われます。
+.It Ic rlogin
+これは rlogin エスケープ文字です。
+もし設定されていれば、行の最初でこの文字が入力されている場合を除き、
+通常の
+.Nm
+エスケープ文字は無視されます。
+行の最初でこの文字に続けて "." が入力された場合、
+接続が切れます。
+続けて ^Z が入力された場合、
+.Nm
+コマンドが中断されます。
+初期状態では
+.Nm rlogin
+エスケープ文字は
+無効になっています。
+.It Ic start
+もし
+.Dv TELNET TOGGLE-FLOW-CONTROL
+オプションが有効になっていれば、端末の
+.Ic start
+文字としてこの文字が使われます。
+初期値として、端末の
+.Ic start
+文字が使われます。
+.It Ic stop
+もし
+.Dv TELNET TOGGLE-FLOW-CONTROL
+オプションが有効になっていれば
+端末の
+.Ic stop
+文字がこの文字として使われます。
+初期値として、端末の
+.Ic stop
+文字が使われます。
+.It Ic susp
+.Nm
+が
+.Ic localchars
+モードになっているか、
+.Dv LINEMODE
+が有効になっている場合に
+.Ic suspend
+文字が入力されると、
+.Dv TELNET SUSP
+シーケンス(前述の
+.Ic send
+.Ic susp
+を参照)が
+リモートホストに送られます。
+初期値として、端末の
+.Ic suspend
+文字が使われます。
+.It Ic tracefile
+これは
+.Ic netdata
+あるいは
+.Ic option
+によって
+トレースが
+.Dv TRUE
+になっている場合に、出力が書き出されるファイルです。
+もし
+.Dq Fl
+に設定されていれば、
+トレース情報は標準出力(デフォルト)に書き出されます。
+.It Ic worderase
+.Nm
+が
+.Dv LINEMODE
+か
+\*(Lqold line by line\*(Lq モードで動作している時に、端末の
+.Ic worderase
+文字がこの文字として使われます。
+初期値として、端末の
+.Ic worderase
+文字が使われます。
+.It Ic \&?
+.Ic set
+.Pq Ic unset
+コマンドのヘルプメッセージを表示します。
+.El
+.It Ic slc Ar state
+.Ic slc
+(Set Local Characters) コマンドは、
+.Dv TELNET LINEMODE
+オプションが有効な時に働く特殊文字を設定したり変更したりします。
+特殊文字は(
+.Ic ip
+や
+.Ic quit
+のような)
+.Tn TELNET
+コマンドシーケンスや、(
+.Ic erase
+.Ic kill
+のような)
+ラインエディット文字に割り付けられます。
+特殊文字はデフォルトで環境に取り込まれます。
+.Bl -tag -width Fl
+.It Ic check
+現在の特殊文字の設定を確認します。
+現在の全ての特殊文字の設定を送るように
+リモートに要求を送り、
+もしローカルな設定と違いがあれば、
+ローカルな設定をリモートの値にします。
+.It Ic export
+ローカルの特殊文字のデフォルトを変えます。
+ローカルの特殊文字のデフォルトは
+.Nm
+を起動した時の端末の特殊文字です。
+.It Ic import
+リモートの特殊文字のデフォルトを変えます。
+リモートの特殊文字のデフォルトは
+.Tn TELNET
+接続が確立した時のリモートの特殊文字です。
+.It Ic \&?
+.Ic slc
+コマンドのヘルプメッセージを表示します。
+.El
+.It Ic status
+.Nm
+の現在のステータスを表示します。
+これには現在のモードと同じくらい接続先のモードについての状態が含まれています。
+.It Ic toggle Ar arguments ...
+.Nm
+の動作を制御するさまざまな変数の値(
+.Dv TRUE
+か
+.Dv FALSE
+) を切替えます。
+この変数は前述の
+.Ic set
+や
+.Ic unset
+を使って明示的に
+.Dv TRUE
+または
+.Dv FALSE
+に設定できます。複数の引数を指定可能です。
+これらの変数の値は
+.Ic display
+コマンドによって調べることができます。
+有効な引数の値は以下の通りです。
+.Bl -tag -width Ar
+.It Ic authdebug
+認証コードに対するデバッグ情報を有効にする。
+.It Ic autoflush
+.Ic autoflush
+と
+.Ic localchars
+が両方とも
+.Dv TRUE
+で、
+.Ic ao
+または
+.Ic quit
+文字が設定されている(そして
+.Tn TELNET
+シーケンスに変換されている;
+詳細は前述の
+.Ic set
+を参照)場合、
+リモートシステムが(
+.Dv TELNET TIMING MARK
+によって)
+それらの
+.Tn TELNET
+シーケンスを処理したと認められるまで、
+.Nm
+がどんなデータも端末に表示しないようにします。
+初期値は、端末で "stty noflsh" を実行していなければ
+.Dv TRUE
+、 していれば
+.Dv FALSE
+です(
+.Xr stty 1
+参照)。
+.It Ic autodecrypt
+.Dv TELNET ENCRYPT
+オプションが交渉 (negotiate) されている時、デフォルトでは
+データの暗号(復号)化は自動的には始まりません。
+autoencrypt (autodecrypt) コマンドは
+出力 (入力) の暗号化ができるだけ早く有効になるようにします。
+.Pp
+注意: 輸出規制の関係上、
+.Dv TELNET ENCRYPT
+オプションは、米国およびカナダ以外の国ではサポートされません。
+.It Ic autologin
+もしリモートで
+.Dv TELNET AUTHENTICATION
+オプションがサポートされている場合、
+.Nm
+は自動認証を行うために、それを使おうとします。
+.Dv AUTHENTICATION
+オプションがサポートされていない場合、
+ログイン名は
+.Dv TELNET ENVIRON
+オプションを使用して伝えられます。
+このコマンドは
+.Ic open
+コマンドで
+.Ar a
+オプションが指定された場合と同じです。
+.It Ic autosynch
+.Ic autosynch
+と
+.Ic localchars
+が両方とも
+.Dv TRUE
+になっている時に
+.Ic intr
+または
+.Ic quit
+文字が入力されると(
+.Ic intr
+および
+.Ic quit
+文字の詳細は前述の
+.Ic set
+を参照)、
+.Tn TELNET
+シーケンスが送られた結果は
+.Dv TELNET SYNCH
+に従います。
+これは、リモートシステムに、
+両方の
+.Tn TELNET
+シーケンスが読み込まれて作用するまで、
+それまでの全ての入力を捨てさせる
+.Ic べき
+です。
+初期値は
+.Dv FALSE
+です。
+.It Ic binary
+入力と出力の両方に対して、
+.Dv TELNET BINARY
+オプションを有効または無効にします。
+.It Ic inbinary
+入力に対する
+.Dv TELNET BINARY
+オプションを有効または無効にします。
+.It Ic outbinary
+出力に対する
+.Dv TELNET BINARY
+オプションを有効または無効にします。
+.It Ic crlf
+もし
+.Dv TRUE
+なら、キャリッジリターンが
+.Li <CR><LF>
+として送られます。
+.Dv FALSE
+なら
+.Li <CR><NUL>
+として送られます。
+初期値は
+.Dv FALSE
+です。
+.It Ic crmod
+キャリッジリターンモードを切替えます。
+このモードが有効なら
+リモートホストから受けとられたほとんどのキャリッジリターンは
+キャリッジリターンとラインフィードに割り当てられます。
+このモードはこれらの文字が入力された時には作用せず、
+受けとらえた時にだけ作用します。
+このモードはリモートホストがキャリッジリターンだけを送らなければ、
+ラインフィードしないので、必ず役に立つというわけではありません。
+初期値は
+.Dv FALSE
+です。
+.It Ic debug
+ソケットレベルデバッグ(
+.Ic スーパユーザ
+にのみ役立つ) を切替えます。
+初期値は
+.Dv FALSE
+です。
+.It Ic encdebug
+暗号化コードに対するデバッグ情報を有効にする。
+.It Ic localchars
+もし
+.Dv TRUE
+ならば、
+.Ic flush ,
+.Ic interrupt ,
+.Ic quit ,
+.Ic erase ,
+そして
+.Ic kill
+文字(前述の
+.Ic set
+参照)はローカルに認識され、(うまくいけば)適当な
+.Tn TELNET
+コントロールシーケンス(それぞれ
+.Ic ao ,
+.Ic ip ,
+.Ic brk ,
+.Ic ec ,
+および
+.Ic el ;
+前述の
+.Ic send
+参照)に変換されます。
+初期値は
+\*(Lqold line by line\*(Rq モードでは
+.Dv TRUE
+\*(Lqcharacter at a time\*(Rq モードでは
+.Dv FALSE
+です。
+.Dv LINEMODE
+オプションが有効の時は、
+.Ic localchars
+の値は無視されて、常に
+.Dv TRUE
+になります。
+もし
+.Dv LINEMODE
+が有効になったことがあれば、
+.Ic quit
+は
+.Ic abort
+として送られ、
+.Ic eof and
+.B suspend
+は
+.Ic eof and
+.Ic susp
+として送られます
+(前述の
+.Ic send
+参照)。
+.It Ic netdata
+(16進フォーマットによる)全てのネットワークデータの表示を切替えます。
+初期値は
+.Dv FALSE
+です。
+.It Ic options
+(
+.Tn TELNET
+オプションを処理する時の) 内部の
+.Nm
+プロトコルの処理の表示を切替えます。
+初期値は
+.Dv FALSE
+です。
+.It Ic prettydump
+.Ic netdata
+が有効になっている時、
+.Ic prettydump
+が有効になっていれば、
+.Ic netdata
+コマンドの出力を、より見やすいフォーマットにします。
+出力の各文字の間にはスペースがはさまれ、
+.Nm
+エスケープシーケンスの前には、
+探しやすいように '*' が置かれます。
+.It Ic skiprc
+skiprc が
+.Dv TRUE
+になっていると、
+.Tn TELNET
+はコネクションが開設される時に
+ホームディレクトリから
+.Pa \&.telnetrc
+を読まないようにします。
+初期値は
+.Dv FALSE
+です。
+.It Ic termdata
+(16進フォーマットによる)全ての端末データの表示を切替えます。
+初期値は
+.Dv FALSE
+です。
+.It Ic verbose_encrypt
+.Ic verbose_encrypt
+が
+.Dv TRUE
+になっていると、
+.Tn TELNET
+はメッセージを表示するたびに暗号化が有効か無効かを表示します。
+初期値は
+.Dv FALSE
+です。
+注意: 輸出規制の関係上、
+データの暗号化は、米国およびカナダ以外の国ではサポートされません。
+.It Ic \&?
+.Ic toggle
+コマンドのヘルプメッセージを表示します。
+.El
+.It Ic z
+.Nm
+コマンドをサスペンドします。このコマンドは、ユーザが
+.Xr csh 1
+を使用している時にのみ使用可能です。
+.It Ic \&! Op Ar command
+ローカルシステムのサブシェルで、コマンドを1つ実行できます。
+.Ic command
+が指定されなかった場合、サブシェルが対話モードで起動されます。
+.It Ic \&? Op Ar command
+ヘルプメッセージを表示します。
+引数が指定されなかった場合、
+.Nm
+はコマンド一覧を表示します。
+指定された場合、
+.Nm
+はそのコマンドのヘルプメッセージを表示します。
+.El
+.Sh 環境変数
+.Nm
+は、少なくとも
+.Ev HOME ,
+.Ev SHELL ,
+.Ev DISPLAY ,
+および
+.Ev TERM
+環境変数を用います。
+他の環境変数は、
+.Dv TELNET ENVIRON
+オプションによりリモートホストに送られます。
+.Sh 関連項目
+.Xr rlogin 1 ,
+.Xr rsh 1 ,
+.Xr hosts 5 ,
+.Xr nologin 5 ,
+.Xr telnetd 8
+.Sh 関連ファイル
+.Bl -tag -width ~/.telnetrc -compact
+.It Pa ~/.telnetrc
+ユーザカスタマイズ可能なtelnet初期設定ファイル
+.El
+.Sh 歴史
+.Nm
+コマンドは、
+.Bx 4.2
+ではじめて実装されました。
+.Sh 注意
+リモートシステムの中には、\*(Lqold line by line\*(Rq モードで
+手動でエコーバックを切り替えなければならない場合があります。
+.Pp
+\*(Lqold line by line\*(Rq モードもしくは
+.Dv LINEMODE
+では、端末の
+.Ic eof
+文字は、
+それが行の先頭にある時だけ
+認識され(リモートシステムに送られ)ます。
diff --git a/ja/man/man1/test.1 b/ja/man/man1/test.1
new file mode 100644
index 0000000000..ec33e41a09
--- /dev/null
+++ b/ja/man/man1/test.1
@@ -0,0 +1,220 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)test.1 8.1 (Berkeley) 5/31/93
+.\" jpman %Id: test.1,v 1.2 1997/03/31 03:43:49 ryo2 Stab %
+.\" %Id: test.1,v 1.2.8.1 1997/06/02 06:40:08 charnier Exp %
+.\"
+.Dd May 31, 1993
+.Dt TEST 1
+.Os
+.Sh 名称
+.Nm test
+.Nd 条件式を評価する
+.Sh 書式
+.Nm test
+.Ar expression
+.Sh 解説
+.Nm test
+ユーティリティは、式を評価し、結果が真なら 0 (true)を、
+偽なら 1 (false) を戻り値として返します。引数の式がない
+場合も 1 (false) を返します。
+.Pp
+演算子やフラグなどは、一つ一つ独立な引数として
+.Nm test
+ユーティリティに渡します。
+.Pp
+式は以下の基本要素から構成されます:
+.Bl -tag -width Ar
+.It Fl b Ar file
+.Ar file
+が存在し、それがブロック特殊ファイルであるならば真になります。
+.It Fl c Ar file
+.Ar file
+が存在し、それがキャラクタ特殊ファイルであるならば真になります。
+.It Fl d Ar file
+.Ar file
+が存在し、それがディレクトリであるならば真になります。
+.It Fl e Ar file
+.Ar file
+が存在すれば真になります (ファイルの種類に依りません)。
+.It Fl f Ar file
+.Ar file
+が存在し、それが通常ファイルであるならば真になります。
+.It Fl g Ar file
+.Ar file
+が存在し、それに setgid (フラグが立っていれば真になります。
+.It Fl h Ar file
+.Ar file
+が存在し、それがシンボリックリンクであるならば真になります。
+.It Fl n Ar string
+.Ar string
+の長さが 0 でなければ真になります。
+.It Fl p Ar file
+.Ar file
+が名前つきパイプ
+.Po Tn FIFO Pc
+であるならば真になります。
+.It Fl r Ar file
+.Ar file
+が存在し、それが読み込み可能であれば真になります。
+.It Fl s Ar file
+.Ar file
+が存在し、そのファイルサイズが 0 より大きければ真になります。
+.It Fl t Ar [file_descriptor]
+ファイルディスクリプタ番号が
+.Ar file_descriptor
+(デフォルトでは1) であるファイルがオープンされており、これが端末に
+結びつけられていれば
+真になります。
+.It Fl u Ar file
+.Ar file
+が存在し、それに setuid フラグが立っていれば真になります。
+.It Fl w Ar file
+.Ar file
+が存在し、書き込み可能であれば真になります。真ということは、
+書き込み可能フラグが立っていることを表すに過ぎません。
+ファイルが読み込み専用のファイルシステム上にあると、たとえ
+この判定が真であっても書き込みはできません。
+.It Fl x Ar file
+.Ar file
+が存在し、実行可能であれば真になります。真ということは、
+実行可能フラグが立っていることを表すに過ぎません。
+.Ar file
+がディレクトリの場合、真は
+.Ar file
+が検索可能であることを表します。
+.It Fl z Ar string
+.Ar string
+の長さが 0 であれば真になります。
+.It Ar string
+.Ar string
+がナル文字列でなければ真になります。
+.It Ar \&s\&1 Cm \&= Ar \&s\&2
+文字列
+.Ar \&s\&1
+と
+.Ar \&s\&2
+が同一であれば真になります。
+.It Ar \&s\&1 Cm \&!= Ar \&s\&2
+文字列
+.Ar \&s\&1
+と
+.Ar \&s\&2
+が同一でなければ真になります。
+.It Ar \&n\&1 Fl \&eq Ar \&n\&2
+整数
+.Ar \&n\&1
+と
+.Ar \&n\&2
+が等しければ真になります。
+.It Ar \&n\&1 Fl \&ne Ar \&n\&2
+整数
+.Ar \&n\&1
+と
+.Ar \&n\&2
+が等しくなければ真になります。
+.It Ar \&n\&1 Fl \&gt Ar \&n\&2
+整数
+.Ar \&n\&1
+が
+.Ar \&n\&2
+がより大きければ真になります。
+.It Ar \&n\&1 Fl \&ge Ar \&n\&2
+整数
+.Ar \&n\&1
+が
+.Ar \&n\&2
+より大きいか等しければ真になります。
+.It Ar \&n\&1 Fl \&lt Ar \&n\&2
+整数
+.Ar \&n\&1
+が
+.Ar \&n\&2
+より小さければ真になります。
+.It Ar \&n\&1 Fl \&le Ar \&n\&2
+整数
+.Ar \&n\&1
+が
+.Ar \&n\&2
+より小さいか等しければ真になります。
+.El
+.Pp
+これらの基本要素は以下の演算子と組み合わせることができます:
+.Bl -tag -width Ar
+.It Cm \&! Ar expression
+.Ar expression
+が偽ならば真になります。
+.It Ar expression1 Fl a Ar expression2
+.Ar expression1
+と
+.Ar expression2
+の両方が真ならば真になります。
+.It Ar expression1 Fl o Ar expression2
+.Ar expression1
+と
+.Ar expression2
+のどちらかが真ならば真になります。
+.It Cm \&( Ns Ar expression Ns Cm \&)
+.Ar expression
+が真ならば真になります。
+.El
+.Pp
+.Fl a
+演算子は
+.Fl o
+演算子より優先されます。
+.Sh 文法の曖昧性
+.Nm test
+に使用されている文法は本質的に曖昧です。ある程度の一貫性を確保するため、
+.St -p1003.2
+の D11.2/4.62.4 節で述べられているケースに関しては、この標準化文書が
+規定する規則に一貫して従った評価が行われます。しかしその他のケース
+では、コマンドの持つ意味の曖昧さに左右されます。
+.Sh 戻り値
+.Nm test
+ユーティリティは次のいずれかの値を返します。
+.Bl -tag -width Ds
+.It 0
+式を評価した結果が真である
+.It 1
+式を評価した結果が偽であるか、式がない
+.It >1
+エラーが発生した
+.El
+.Sh 標準
+.Nm test
+の機能は、
+.St -p1003.2
+互換を想定しています。
diff --git a/ja/man/man1/tfmtodit.1 b/ja/man/man1/tfmtodit.1
new file mode 100644
index 0000000000..47c9978e29
--- /dev/null
+++ b/ja/man/man1/tfmtodit.1
@@ -0,0 +1,156 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: tfmtodit.1,v 1.2 1997/03/29 11:46:40 horikawa Stab %
+.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+.el .ds tx TeX
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.TH TFMTODIT 1 "7 September 1996" "Groff Version 1.10"
+.SH 名称
+tfmtodit \- groff \-Tdvi で用いるフォントファイルを作成する
+.SH 書式
+.B tfmtodit
+[
+.B \-sv
+]
+[
+.BI \-g gf_file
+]
+[
+.BI \-k skewchar
+]
+.I tfm_file
+.I map_file
+.I font
+.SH 解説
+.B tfmtodit
+は、
+.B
+groff \-Tdvi\fR
+で用いるフォントファイルを作成します。
+.I tfm_file
+は、フォント作成に用いる \*(tx のフォントメトリックファイル名です。
+.I map_file
+は
+.B groff
+での文字名を記述したファイルです。このファイルは、以下
+の形式を持ちます。
+.IP
+.I
+n c1 c2 \fR.\|.\|.
+.LP
+.I n
+はフォント中での十進数で表した文字の位置、
+.IR c1 ,
+.IR c2 ,.\|.\|.
+は groff での文字名を示します。
+tfm ファイルに存在するが、groff では名前を持たない文字は groff
+フォントファイルに名前のない文字として出力されます。
+.I font
+は、出力する groff フォントファイル名です。
+.LP
+特殊なフォント(カレントフォントの中に文字が見つからない場合に
+検索されるフォントのこと)に対しては
+.B \-s
+オプションを指定する必要があります。
+特殊なフォントは DESC ファイルの
+.B fonts
+コマンドで列挙します。特殊なフォント以外は列挙する必要はありません。
+.B troff
+がそのフォントを最初に使用したときに自動的にマウントできるからです。
+.LP
+数式を適切に処理するために、groff は tfm には含まれない
+フォントメトリック情報を必要とします。
+\*(tx は数式用のイタリックフォントを使用しますが、groff では、
+通常のイタリックフォントを数式にも使用するからです。
+groff が必要とする情報は、Metafont の Computer Modern fonts に
+おける
+.B math_fit
+マクロの 2 つの引数によって与えることができます。
+Metafont は通常、テキストフォント(
+.B math_fitting
+が false)の処理中、これらの引数を無視します。
+.B cm.base
+を作成するときに以下の定義を
+.B cmbase
+のあとにロードすることによって、
+テキストフォントのフォントメトリック情報を
+gf ファイル中に出力するように Metafont に指示できます。
+.IP
+.nf
+.ft B
+def ignore_math_fit(expr left_adjustment,right_adjustment) =
+ special "adjustment";
+ numspecial left_adjustment*16/designsize;
+ numspecial right_adjustment*16/designsize;
+ enddef;
+.fi
+.ft R
+.LP
+この変更された
+.B cm.base
+を使って作成された gf ファイルは
+.B \-g
+オプションで指定します。
+.B \-g
+オプションは、
+.I math_fitting
+が true に設定されたフォントに対しては使用してはいけません。
+.SH オプション
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.B \-s
+特殊なフォントであることを指定します。フォントファイルに
+.B special
+コマンドを追加します。
+.TP
+.BI \-k n
+フォント中の skewchar (斜めになった文字) の位置を指定します。
+.I n
+は整数で、10 進数か、
+.B 0
+で始まる 8 進数か
+.B 0x
+で始まる 16 進数で指定します。本オプションで指定された文字が
+カーニング処理の 2 文字目にきた場合、
+カーニングを行わないようになります。
+.TP
+.BI \-g gf_file
+Metafont で生成された gf ファイル
+.I gf_file
+を指定します。
+この gf ファイルは special コマンドと numspecial コマンドを含み、
+追加のフォントメトリック情報を与えます。
+.SH 関連ファイル
+.Tp \w'\fB/usr/share/groff_font/devdvi/DESC'u+2n
+.B /usr/share/groff_font/devdvi/DESC
+デバイス記述ファイル
+.TP
+.BI /usr/share/groff_font/devdvi/ F
+フォント F のためのフォント記述ファイル
+.SH 関連項目
+.BR groff (1),
+.BR grodvi (1),
+.BR groff_font (5)
diff --git a/ja/man/man1/tftp.1 b/ja/man/man1/tftp.1
new file mode 100644
index 0000000000..8da1af1ead
--- /dev/null
+++ b/ja/man/man1/tftp.1
@@ -0,0 +1,171 @@
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tftp.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: tftp.1,v 1.2 1997/05/21 23:34:40 mutoh Stab %
+.\"
+.Dd April 18, 1994
+.Dt TFTP 1
+.Os BSD 4.3
+.Sh 名称
+.Nm tftp
+.Nd 簡単なファイル転送プログラム
+.Sh 書式
+.Nm
+.Op Ar host
+.Sh 解説
+.Nm
+は、インターネット
+.Tn TFTP
+(Trivial File Transfer Protocol) を用いて、リモートマシンとの間の
+ファイル転送を行なうためのユーザインタフェースです。
+リモートマシン名
+.Ar host
+は、
+.Nm
+起動時にコマンドラインで指定することが可能です。この場合、
+.Ar host
+はファイル転送を行なう際のデフォルトのホストとして使われます。
+(以下の
+.Cm connect
+コマンドを参照のこと)。
+.Sh コマンド
+.Nm
+起動後、コマンド入力を促すプロンプト
+.Nm tftp>
+が表示されます。この状態で使用できるコマン
+ドは以下の通りです。
+.Pp
+.Bl -tag -width verbose -compact
+.It Cm \&? Ar command-name ...
+ヘルプメッセージを出力します。
+.Pp
+.It Cm ascii
+``mode ascii'' の略です。
+.Pp
+.It Cm binary
+``mode binary'' の略です。
+.Pp
+.It Cm connect Ar host-name Op Ar port
+ファイル転送を行なう
+.Ar host
+を(必要あれば
+.Ar port
+番号も同時に)
+設定します。
+なお、
+.Tn TFTP
+プロトコルは、
+.Tn FTP
+プロトコルと違い、無通信状態においてはホスト間の
+コネクションを保持しないことに注意してください。
+つまり、
+.Cm connect
+コマンドはホスト
+間のコネクションを確立するのではなく、実際には転送を行なうホストを
+記憶するのに使用されます。
+使用者は
+.Cm connect
+コマンドを使用する必要はなく、
+.Cm get
+もしくは
+.Cm put
+コマンドを使用する時にリモートホストを指定することができます。
+.Pp
+.It Cm get Ar filename
+.It Cm get Ar remotename localname
+.It Cm get Ar file1 file2 ... fileN
+指定された形式でファイルを取得します。転送元の指定方法には 2 通りあります。
+.Ar host
+がすでに指定されている場合、リモートホスト上のファイル名を指定し
+ます。もしくは
+.Ar hosts:filename
+のようにリモートマシンとファイル名の両者を指
+定します。もし後者の形式が使用される場合、最後に指定されたリモートホスト名が
+以後のファイル転送の対象ホストとなります。
+.Pp
+.It Cm mode Ar transfer-mode
+転送モードを設定します。転送モードは
+.Em ascii
+と
+.Em binary
+の 2 通りがあります。デフォルトは
+.Em ascii
+となります。
+.Pp
+.It Cm put Ar file
+.It Cm put Ar localfile remotefile
+.It Cm put Ar file1 file2 ... fileN remote-directory
+指定されたファイルまたはディレクトリをリモートホストに転送します。
+転送先の指定方法は 2 通りあります。
+.Ar host
+がすでに
+指定されている場合、リモートホスト上に作成されるファイル名を指定します。もしく
+は
+.Ar hosts:filename
+のようにリモートホストとファイル名の両者を指定します。後者
+の形式が使用される場合、最後に指定されたリモートホスト名が以後のファイル転送の
+対象ホストとなります。また、ディレクトリを指定してリモートへのファイル転送を行
+なう場合、リモートホストは
+.Tn UNIX
+マシンとみなされます。
+.Pp
+.It Cm quit
+.Nm
+を終了します。EOF (^D)
+を入力した場合も同様です。
+.Pp
+.It Cm rexmt Ar retransmission-timeout
+パケット毎の再送タイムアウト時間を秒単位で設定します。
+.Pp
+.It Cm status
+現在の tftp の状態を表示します。
+.Pp
+.It Cm timeout Ar total-transmission-timeout
+全体の転送タイムアウト時間を、秒単位で設定します。
+.Pp
+.It Cm trace
+トグル動作でパケットトレース機能の ON/OFF を設定します。
+.Pp
+.It Cm verbose
+トグル動作でバーボーズモードの ON/OFF を設定します。
+.El
+.Sh バグ
+.Pp
+.Tn TFTP
+プロトコルには、ユーザ認証機構がないために、リモートマシン上のファイルには
+何らかの種類のアクセス制限が生じることがあります。それらに関してはいろいろな例
+があるため、ここには記述しません。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3
+から登場しました。
diff --git a/ja/man/man1/time.1 b/ja/man/man1/time.1
new file mode 100644
index 0000000000..c11bcac695
--- /dev/null
+++ b/ja/man/man1/time.1
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1980, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)time.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: time.1,v 1.3 1997/07/27 12:00:02 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt TIME 1
+.Os BSD 4
+.Sh 名称
+.Nm time
+.Nd コマンドの実行時間の計測
+.Sh 書式
+.Nm
+.Op Fl l
+.Ar command
+.Sh 解説
+.Nm
+は
+タイマーを初期化して、シェルに
+.Ar command
+を実行させ、処理に要した時間を計測します。
+.Ar command
+の実行を終えると、
+標準エラー出力に
+実行開始から実際に経過した時間、
+システムのオーバヘッドに費された時間、
+.Ar command
+の実行に要した時間を秒単位で
+出力します。
+.Pp
+使用可能なオプション:
+.Bl -tag -width Ds
+.It Fl l
+デフォルトの出力に加え、
+.Em rusage
+構造体の内容を表示します。
+.El
+.Pp
+.Xr csh 1
+は独自の
+.Nm
+をビルトインコマンドとして実装しています。
+シェルに
+.Xr csh
+を使用している場合、
+ここで説明されている
+.Nm
+を実行するときは
+.Pa /usr/bin/time
+とタイプして下さい。
+.Sh バグ
+マイクロプロセッサで扱える時間の精度は低く、
+また、表示される時間には、実行時間の報告自体に要する時間も含まれます。
+この誤差は、秒単位にしては大きすぎます。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr getrusage 2 ,
+.Xr wait 2
+.Sh 歴史
+.Nm
+は
+.At v6
+から登場しました。
diff --git a/ja/man/man1/tip.1 b/ja/man/man1/tip.1
new file mode 100644
index 0000000000..1f0ab2f5c5
--- /dev/null
+++ b/ja/man/man1/tip.1
@@ -0,0 +1,449 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tip.1 8.4 (Berkeley) 4/18/94
+.\" jpman %Id: tip.1,v 1.3 1997/07/26 21:48:01 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt TIP 1
+.Os BSD 4
+.Sh 名称
+.Nm tip
+.Nd リモートシステムとの接続を行なう
+.Sh 書式
+.Nm tip
+.Op Fl v
+.Fl Ns Ns Ar speed
+.Ar system\-name
+.Nm tip
+.Op Fl v
+.Fl Ns Ns Ar speed
+.Ar phone\-number
+.Sh 解説
+.Nm tip
+は、他のマシンとの間に全二重のコネクションを確立します。
+リモートマシンへのログインシーケンスを表示します。
+この時、コネクションを張りたいマシンに対して
+ログインアカウント(相当)を持つことが必要であるとは述べません。
+.Pp
+以下のオプションが使用可能です:
+.Bl -tag -width indent
+.It Fl v
+冗長モードを設定します。
+.El
+.Pp
+入力された文字は通常は直接リモートマシンに転送されます
+(それは同様にエコーされます)。
+行頭にチルダ文字 (`~') が入力された場合には、これはエスケープ文字として
+働きます; 以下の組合せが認識されます:
+.Bl -tag -width flag
+.It Ic \&~^D No または Ic \&~ .
+コネクションを切断し、プログラムを終了します
+(リモートマシンにはログインしたままでいることもできます)。
+.It Ic \&~c Op Ar name
+ローカルのカレントディレクトリを
+.Ar name
+で指定したものに変更します
+(引数が指定されない場合には、ホームディレクトリに移動します)。
+.It Ic \&~!
+シェルを起動します(シェルを終了すると、tip に戻ります)。
+.It Ic \&~>
+ローカルマシンのファイルをリモートマシンにコピーします。
+.Nm tip
+は、ローカルファイル名の入力プロンプトを出します。
+.It Ic \&~<
+リモートシステムのファイルをローカルマシンに転送します。
+.Nm tip
+は、まず転送されるファイル名の入力プロンプトを出し、
+それからリモートマシンで実行するコマンドのプロンプトを出します。
+.It Ic \&~p Ar from Op Ar to
+リモートの
+.Ux
+ホストにファイルを送ります。put コマンドは
+.Nm tip
+が ``from'' ファイルを送っている間、リモートの
+.Ux
+システム上で ``cat > 'to''' コマンドを実行します。
+``to'' ファイル名が指定されない場合には、
+このファイル名には ``from'' ファイル名を使用します。
+このコマンドは、実際には
+``~>''コマンドを
+.Ux
+システムに特定して実装したバージョンです。
+.It Ic \&~t Ar from Op Ar to
+リモートの
+.Ux
+ホストからファイルを受信します。put コマンドと同じく、``to'' ファイル名
+が指定されない場合には、このファイル名は ``from'' ファイル名と同じになります。
+リモートホストでは
+.Nm tip
+にファイル転送を行なうために ``cat 'from';echo ^A'' を実行します。
+.It Ic \&~|
+リモートコマンドからの出力を、ローカル
+.Ux
+プロセスへパイプを用いてリダイレクトします。
+ローカル
+.Ux
+システムに送られるコマンド文字列は、シェルで処理されます。
+.It Ic \&~$
+ローカル
+.Ux
+プロセスからパイプを介してリモートホストへ出力します。
+ローカル
+.Ux
+システムに送られるコマンド文字列は、シェルで処理されます。
+.It Ic \&~C
+ローカルシステム上で \s-1XMODEM\s+1 などの特別なプロトコルを扱うための
+子プロセスを起動します。この子プロセスは特別に用意された、次のような
+ファイルディスクリプタを用いて動作します。
+.nf
+.in +1i
+0 <-> 自側 tty 入力
+1 <-> 自側 tty 出力
+2 <-> 自側 tty 出力
+3 <-> 相手側 tty 入力
+4 <-> 相手側 tty 出力
+.in -1i
+.fi
+.It Ic \&~#
+.Dv BREAK
+信号をリモートホストに送信します。
+必要な
+.Ar ioctl
+システムコールをサポートしていないシステムの場合には、回線速度の
+変更と
+.Dv DEL
+文字の組合せでブレイクをシミュレートします。
+.It Ic \&~s
+変数をセットします (以下の記述を参照してください)。
+.It Ic \&~^Z
+.Nm tip
+を停止します
+(システムがジョブコントロールをサポートしている場合にのみ使用可能です)。
+.It Ic \&~^Y
+ローカル側の
+.Nm tip
+のみ停止します
+(システムがジョブコントロールをサポートしている場合にのみ使用可能です);
+.Nm tip
+の ``リモート側'' すなわちリモートホストの表示出力については引続き走行します。
+.It Ic \&~?
+チルダエスケープで使用できるコマンド一覧を表示します。
+.El
+.Pp
+.Nm tip
+は、
+.Pa /etc/remote
+ファイルを用いて特定システムへの接続方法を検索し、他システムと
+接続する際のパラメータを特定します;
+.Pa /etc/remote
+ファイルの完全な記述は
+.Xr remote 5
+を参照してください。
+各システムは、コネクションを確立する際にデフォルトの通信速度が決められて
+います。この通信速度が適当でない場合には、コマンドラインにて通信速度を
+指定することができます。例えば
+.Ql "tip -300 mds"
+です。
+.Pp
+.Nm tip
+がコネクションを確立すると、リモートホストにコネクションメッセージを
+送信します; デフォルトのメッセージが存在するならば
+.Pa /etc/remote
+に定義されています
+(
+.Xr remote 5
+を参照してください) 。
+.Pp
+.Nm tip
+に引数の入力を促されている場合(例えば、ファイル転送の設定の間)
+には、入力された行は標準の erase や kill 文字で編集することが許されています。
+入力を促されている時に空行を入力したり操作を中断
+した場合には、入力を促す画面から抜け出し、リモートマシンとの対話に戻ります。
+.Pp
+.Nm tip
+は、モデムや回線の排他制御や
+.Xr uucico 8
+で採用されているロックプロトコルを用いることで、複数のユーザが
+リモートシステムへ接続することを制限しています。
+.Pp
+ファイル転送時には
+.Nm tip
+は転送した行数を表示します。
+~> や ~< コマンドを使用した場合には、``eofread'' 変数や ``eofwrite''
+変数は、ファイル読み込時の end-of-file 文字の認識や、ファイル書き込み時
+の end-of-file 文字の指定に用いられます(後述)。ファイル転送時のフロー制御は、
+通常は tandem モードで行なわれます。リモートシステムが tandem
+モードをサポートしない場合には、``echocheck'' が設定され、
+.Nm tip
+が相手に転送した文字のエコーを用いてリモートシステムと同期します。
+.Pp
+.Nm tip
+が他システムとの接続のために電話をかける場合には、
+動作を示すさまざまな表示を行ないます。
+.Nm tip
+は AT コマンドセットを使用するモデムをサポートします。
+.Nm tip
+は特定のモデムを制御する方法を
+.Pa /etc/modems
+ファイルから見つけ出します;
+完全な記述は
+.Xr modems 5
+を参照してください。
+.Ss 変数
+.Nm tip
+は、自己を制御するために、
+.Ar 変数
+を取り扱います。
+いくつかの変数は、一般ユーザの権限では参照のみで変更することはできません
+(スーパユーザのみ、これらの変数の変更が許可されています)。変数は、
+``s'' エスケープにて、参照および変更が可能です。変数設定の書式は、
+.Xr vi 1
+や
+.Xr Mail 1
+での変数設定の書式と同様です。コマンドの引数に ``all'' を指定することで、
+ユーザが読み出し可能なすべての変数を表示することができます。また、ユーザは
+特定の変数について、変数名の最後に `?' を付加することにより、
+その値を表示することができます。
+例えば ``escape?'' とすることで、現在のエスケープ文字を表示します。
+.Pp
+変数値として採用されるものは、数値、文字列、文字、もしくは論理値です。
+論理変数の設定については、単に変数名を設定するだけで設定されます;
+これらは、変数名の前に `!' 文字をつけることにより偽に設定
+されます。他の変数型については、変数と値の間を `=' でつなぐことで設定
+できます。すべての設定について、その指定中に空白を入れてはいけません。
+単独の set コマンドは、変数の値を設定するだけでなく、変数の値を知るため
+にも用いられます。
+変数は実行時に set コマンドを実行することで初期化されます(
+ホームディレクトリの
+.Pa .tiprc
+ファイル中で、``~s'' プレフィックスがない場合です)。
+.Fl v
+オプションを指定することで、
+.Nm tip
+が初期化時に行なった設定を表示します。
+確実に共通変数と思われるものについては、略号表記されます。
+以下に共通変数およびその略号と、デフォルトの値の一覧を示します。
+.Bl -tag -width Ar
+.It Ar beautify
+(論理値) セッション確立時に受けとった表示不可の文字については無視します;
+.Ar be
+と略号表記されます。
+.It Ar baudrate
+(数値) コネクション確立時の通信速度を指定します;
+.Ar ba
+と略号表記されます。
+.It Ar dialtimeout
+(数値) 相手先に電話をかける際に、コネクション確立までの待ち時間(秒単位)を
+指定します;
+.Ar dial
+と略号表記されます。
+.It Ar echocheck
+(論理値) ファイル転送時のリモートホストとの同期を、
+送信された最後の文字のエコーを待つことで取ります;
+本変数のデフォルト値は
+.Ar off
+です。
+.It Ar eofread
+(文字列) ~< コマンドを用いてファイル転送した場合に、
+転送終了を示す文字群です;
+.Ar eofr
+と略号表記されます。
+.It Ar eofwrite
+(文字列) ~> コマンドを用いてファイル転送した場合に、
+転送終了を示すために送る文字列です;
+.Ar eofw
+と略号表記されます。
+.It Ar eol
+(文字列) 行末を示す文字群です。
+.Nm tip
+は行末文字の直後に現れたエスケープ文字のみ、エスケープ文字として認識します。
+.It Ar escape
+(文字) コマンドプレフィックス(エスケープ)文字です;
+.Ar es
+と略号表記されます;
+本変数のデフォルト値は `~' です。
+.It Ar exceptions
+(文字列) beautification の指定で無視されない文字群を指定します;
+.Ar ex
+と略号表記されます;
+本変数のデフォルト値は ``\et\en\ef\eb'' です。
+.It Ar force
+(文字) リテラルデータ送信を強制する文字です;
+.Ar fo
+と略号表記されます;
+本変数のデフォルト値は`^P'です。
+.It Ar framesize
+(数値) ファイルを受信した場合に、ファイルシステムとの間にあるバッファに
+バッファリングするデータ量(バイト単位)です;
+.Ar fr
+と略号表記されます。
+.It Ar host
+(文字列) 接続しているホスト名です;
+.Ar ho
+と略号表記されます。
+.It Ar login
+(文字列) 接続直後に実行されるログインシェルスクリプトのパス名です;
+標準入出力はリモートホストへリダイレクトされます。
+パス名の先頭のチルダ文字は展開されます;
+.Ar li
+と略号表記されます。
+.It Ar logout
+(文字列) 切断直前に実行されるシェルスクリプトのパス名です;
+標準入出力はリモートホストへリダイレクトされます。
+パス名の先頭のチルダ文字は展開されます;
+.Ar lo
+と略号表記されます。
+.It Ar prompt
+(文字) リモートホストの行末文字です;
+.Ar pr
+と略号表記されます;
+本変数のデフォルト値は `\en' です。本変数は、データ転送時の同期を取るのに
+用いられます。ファイル転送時に行なう転送行のカウントは、この文字を
+いくつ受けとったかということに基づきます。
+.It Ar raise
+(論理値) 大文字に変換するモードです;
+.Ar ra
+と略号表記されます;
+本変数のデフォルト値は
+.Ar off
+です。
+本モードが有効になると、すべての小文字の文字列は、リモートホストへの転送時に
+.Nm tip
+によって大文字に変更されます。
+.It Ar raisechar
+(文字) 大文字へ変換するモードの切替を行なう入力文字です;
+.Ar rc
+と略号表記されます;
+本変数のデフォルト値は `^A' です。
+.It Ar record
+(文字列) セッションの記録を取るファイル名です;
+.Ar rec
+と略号表記されます;
+本変数のデフォルト値は ``tip.record'' です。
+.It Ar script
+(論理値) セッションの記録を取るモードです;
+.Ar sc
+と略号表記されます;
+本変数のデフォルト値は
+.Ar off
+です。
+.Ar script
+が
+.Li true
+の場合には、
+.Nm tip
+はリモートホストから転送されたすべてのデータを
+.Ar record
+に指定されたファイルに記録します。
+.Ar beautify
+スイッチが有効になっている場合には、表示可能な
+.Tn ASCII
+文字(文字コードに換算して040から0177までの間)についてのみ記録されます。
+beautification 規則の例外を指定する
+.Ar exceptions
+変数による設定も有効となります。
+.It Ar tabexpand
+(論理値) ファイル転送時にタブ文字を空白文字に展開するモードです;
+.Ar tab
+と略号表記されます。
+本変数のデフォルト値は
+.Ar false
+です。
+本モードが有効になっている場合には、タブ文字は空白文字 8 つに展開されます。
+.It Ar verbose
+(論理値) 冗長モードです;
+.Ar verb
+と略号表記されます;
+本変数のデフォルト値は
+.Ar true
+です。
+冗長モードが有効になっている場合には、
+.Nm tip
+はダイヤル時にメッセージを出力したり、ファイル転送を行なっている際の
+現在の転送行数を指定したりします。
+.El
+.Sh 環境変数
+.Nm tip
+は、以下の環境変数を参照します:
+.Bl -tag -width Fl
+.It Ev SHELL
+(文字列) ~! コマンド実行時に使用するシェルの名前です; デフォルト値は
+``/bin/sh'' であり、環境変数に別の値が設定されている場合には、そちらの
+値を参照します。
+.It Ev HOME
+(文字列) ~c コマンド実行時に用いるホームディレクトリです; デフォルト値は、
+実行時の環境によります。
+.It Ev HOST
+指定がない場合のデフォルトの接続先を指定します。
+.El
+.Pp
+変数
+.Ev ${REMOTE}
+と
+.Ev ${PHONES}
+も、エクスポートされます。
+.Sh 関連ファイル
+.Bl -tag -width /var/spool/lock/LCK..* -compact
+.It Pa /etc/modems
+システムごとのモデム設定データベース。
+.It Pa /etc/remote
+システムごとのリモートシステム記述ファイル。
+.It Pa /etc/phones
+システムごとの電話番号データベース。
+.It ${REMOTE}
+ユーザごとに持てるリモートシステム記述ファイル。
+.It ${PHONES}
+ユーザごとに持てる電話番号データベース。
+.It ~/.tiprc
+初期化ファイル。
+.It Pa tip.record
+記録ファイル。
+.It /var/log/aculog
+回線アクセス記録。
+.It Pa /var/spool/lock/LCK..*
+.Xr uucp
+との回線競合を避けるための回線排他制御ファイル。
+.El
+.Sh 診断
+診断メッセージは、そのまま読んで解釈可能です。
+.Sh 関連項目
+.Xr cu 1 ,
+.Xr remote 5 ,
+.Xr phones 5
+.Sh 歴史
+.Nm tip
+は
+.Bx 4.2
+から登場しました。
+.Sh バグ
+すべての変数が文書化されているわけではありません。文書化されていないものは
+おそらく削除されるでしょう。
diff --git a/ja/man/man1/tn3270.1 b/ja/man/man1/tn3270.1
new file mode 100644
index 0000000000..fc4657ebbf
--- /dev/null
+++ b/ja/man/man1/tn3270.1
@@ -0,0 +1,320 @@
+.\" Copyright (c) 1986, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tn3270.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: tn3270.1,v 1.2 1997/03/29 11:48:07 horikawa Stab %
+.\"
+.Dd April 18, 1994
+.Dt TN3270 1
+.Os BSD 4.3
+.Sh 名称
+.Nm tn3270
+.Nd IBM の
+.Tn VM/CMS
+にフルスクリーンの端末としてログインする
+.Sh 書式
+.Nm
+.Op Fl d
+.Op Fl n Ar filename
+.Op Fl t Ar commandname
+.Op Ar sysname Op port
+.Sh 解説
+.Nm
+によって
+.Tn UNIX
+マシンから
+.Tn IBM
+(互換) マシンへ、フルスクリーンの全二重の接続が可能になります。
+.Nm
+は
+.Tn IBM
+3270 端末からリモートマシンにログインしたように見せかけます。もちろん、
+ログインするリモートマシンにアカウントを持っていなければなりません。
+.Nm
+はユーザにとっては多くの点で Yale
+.Tn ASCII
+Terminal Communication System II に似たように見えます。
+.Nm
+は実際は Arpanet
+.Tn TELNET
+ユーザインタフェース (
+.Xr telnet 1
+を参照) を変更したものであり、
+特定の状況下で生の 3270 コントロールストリームを解釈および生成します。
+.Pp
+.Nm
+のオプションは以下のものがあります:
+.Bl -tag -width Fl
+.It Fl d
+ソケットレベルのトレースを行なう (スーパーユーザ専用)。
+.It Fl n Ns Ar filename
+ネットワークトレースデータの出力 (コマンドの ``toggle netdate'' と
+``toggle options''による。
+.Xr telnet 1
+を参照) を保存するファイルを指定します。
+デフォルトは標準エラー出力です。
+.It Fl t Ns Ar commandname
+リモートの
+.Tn IBM
+マシンから受けた
+.Tn IBM
+4994 スタイルの透過モードのデータを処理する
+.Tn UNIX
+コマンドを指定します。
+.It Ar sysname
+リモートシステムの名前です。もしリモートマシンの名前が指定されなかった
+場合はコマンドを受け付けるためのプロンプトが出ます (下記参照)。
+.It Ar port
+リモートシステム上の接続ポートです。通常
+.Nm
+はリモートマシン上の標準的な
+.Tn TELNET
+ポート (ポート番号 23) に接続を試みます。
+.El
+.Pp
+.Nm
+は最初にリモートシステムに接続するときは 3270 モードでネゴシエーション
+を行います。
+このネゴシエーションでは、
+.Nm
+が 3270 のどのモデルをエミュレートしているかをリモートシステムへ伝える
+ことも行います
+どのような場合でも、
+.Nm
+は 3278 端末をエミュレートします。特定のどのモデルかを決定するために、
+.Nm
+は実際の端末 (環境変数
+.Ev TERM
+で定義したもの。
+.Xr termcap 5
+を参照 ) の行と列の数を見ます。
+端末 (もしくは、マルチウィンドウシステムの場合は
+.Nm
+が走っているウィンドウ) は少なくとも 80 列と 24 行以上の大きさがなけれ
+ばなりません。そうでないと
+.Nm
+はエミュレーションモードになりません。もしその端末が
+80 x 24 以上の大きさを持っていれば、
+以下の表にしたがってエミュレーションを行います。
+.Pp
+.ne 7v
+.Bd -filled -offset center
+.Bl -column (rows*columns)
+.It 最小サイズ エミュレートする
+.It (行*列) 端末
+.It -------------- ------------
+.It 27*132 3278 model 5
+.It 43*80 3278 model 4
+.It 32*80 3278 model 3
+.It 24*80 3278 model 2
+.El
+.Ed
+.Pp
+3270 端末のエミュレーションは
+.Tn UNIX
+プロセス内で行われます。
+このエミュレーションではホストからの 3270 スタイルのコマンドを
+ユーザの端末画面を制御するための適切なシーケンスにマッピングします。
+.Nm
+はこれを行うために
+.Xr curses 3
+と
+.Pa /usr/share/misc/termcap
+ファイルを利用します。
+3270 キーボードの特殊なキー (プログラムファンクションキーなど) の
+エミュレーションも、
+.Tn ASCII
+キーボードからのキーストロークのコントロールシーケンスを
+適切な 3270 制御文字列へマッピングすることで実現しています。
+このマッピングは端末依存であり、定義ファイルである
+.Pa /usr/share/misc/map3270 ,
+(
+.Xr map3270 5
+参照)
+かもしくは環境変数
+.Ev MAP3270
+(必要であれば
+.Ev MAP3270A ,
+.Ev MAP3270B
+なども。
+.Xr mset 1
+参照) で定義されます。
+.Tn ASCII
+キーボードの特殊なファンクションキーはどれでもいつでも利用可能です。
+ユーザの端末用のエントリがない場合は、
+.Nm
+は端末タイプ
+.Em unknown
+を探します。
+もしこのエントリが見付からない場合は、デフォルトのキーマッピングを用います
+.Nm
+(
+.Xr map3270 5
+参照)。
+.Pp
+特殊なキーボードマッピングシーケンスの最初の文字は
+.Tn ASCII
+escape
+.Pq Tn ESC
+、制御文字、もしくは
+.Tn ASCII
+delete
+.Pq Tn DEL
+のいずれかです。もしユーザが解釈不能なキーシーケンスをタイプした場合
+は、
+.Nm
+は
+.Tn ASCII
+bell
+.Pq Tn BEL
+、もしくはビジュアルベルがユーザの termcap エントリ内に定義されている
+ならばこれをユーザの端末に送り、
+.Tn IBM
+のホストマシンには何も送りません。
+.Pp
+もし
+.Nm
+がリモートホストシステムの名前を指定せずに起動された場合、
+.Nm
+はプロンプト
+.Dq Li tn3270>\
+を出してローカルコマンドモードにはいります。このモードでは
+.Nm
+は
+.Xr telnet 1
+のすべてのコマンドを受け付け、さらに一つのコマンドが追加されます。
+.Pp
+.Bl -tag -width Ar
+.It Ic transcom
+.Tn IBM
+4994 スタイルの透過モード処理のための
+.Tn UNIX
+コマンドを指定します。
+.El
+.Pp
+.Nm
+はホストに接続した後でも特殊なエスケープシーケンスをタイプすることで
+コマンドモードに入ることができます。
+.Nm
+がリモートホストとの間で 3270 モードのネゴシエーションに成功した場合、
+コマンドモードに入るためのエスケープシーケンスは、
+ユーザの端末に適合した map3270
+エントリ (
+.Xr map3270 5 参照)
+によって定義されたものになります (通常はコントロール-C)。
+エントリによって定義されていなければ単一文字
+.Sq Li \&^]
+(コントロール右角括弧) に初期設定されます。
+.Pp
+コマンドモードの時にはどのようなホストログインセッションも生きています
+が一時的にサスペンドされます。そのホストログインセッションは
+コマンドプロンプトに対して空行を返す (
+.Tn RETURN
+キーを押す) ことで復帰できます。
+セッションは、リモートホストからログオフするか、ローカルコマンドモードで
+``quit'' もしくは ``close'' とタイプすることで切断されます。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/misc/termcap -compact
+.It Pa /usr/share/misc/termcap
+.It Pa /usr/share/misc/map3270
+.El
+.\" .Sh AUTHOR
+.\" Greg Minshall
+.Sh 注釈
+.Tn IBM
+4994 スタイル透過出力をリモートホストから
+.Nm
+が受け取る時に
+.Tn IBM
+4994 スタイルの透過モードコマンドが起動されます。入出力のパイプは二つ
+のプロセスの間のコミュニケーションのために生成されます。透過モード出力
+の終了を送ることによって、リモートホストから 3270 クリアコマンドを受け
+取ったときに、そのパイプはクローズされます。
+透過モードは、3270 端末接続を介して
+.Tn ASCII
+制御文字を送るために必要です。
+.Tn ASCII
+グラフィック端末サポートはこの方法によって行われます。
+.Ic transcom
+コマンドの開発者は、
+.Ic transcom
+の標準入力パイプを閉じる時には
+.Dv ECHO
+と
+.Dv CRMOD
+をオフにして
+.Dv CBREAK
+モードとなるようにすべきです。
+.Sh 環境変数
+.Nm
+は以下の環境変数をチェックします:
+.Ev TERM ,
+.Ev MAP3270 ,
+.Ev MAP3270[A...]
+。
+これらに関する情報は
+.Xr mset 1
+に記載されています。
+.Nm
+は、さらに
+.Ev SHELL ,
+.Ev KEYBD
+および
+.Ev API3270
+もチェックします。
+.Sh 関連項目
+.Xr mset 1 ,
+.Xr telnet 1 ,
+.Xr curses 3 ,
+.Xr termcap 3 ,
+.Xr map3270 5 ,
+.Xr termcap 5
+.Rs
+.%T "Yale ASCII Terminal Communication"
+.%B "System II Program Description/Operator's Manual"
+.%R IBM SB30-1911
+.Re
+.Sh 歴史
+.Nm
+は
+.Bx 4.3
+から現れました。
+.Sh バグ
+.Nm
+は遅く、けた外れにシステム資源を使います。
+.Pp
+すべての 3270 ファンクションをサポートしているわけでも、
+すべての Yale 拡張をサポートしているわけでもありません。
+.Pp
+エラー状態
+(保護領域にデータを入力する等)
+はベルを鳴らすだけではなくユーザの端末にメッセージを送るよう
+にするべきです。
diff --git a/ja/man/man1/top.1 b/ja/man/man1/top.1
new file mode 100644
index 0000000000..c0a344c128
--- /dev/null
+++ b/ja/man/man1/top.1
@@ -0,0 +1,373 @@
+.\" NOTE: changes to the manual page for "top" should be made in the
+.\" file "top.X" and NOT in the file "top.1".
+.\" jpman %Id: top.1,v 1.3 1997/08/19 03:06:41 h-nokubi Stab %
+.nr N %topn%
+.nr D %delay%
+.TH TOP 1 Local
+.UC 4
+.SH 名称
+top \- CPU プロセスの上位リストに関する情報を表示/更新する
+.SH 書式
+.B top
+[
+.B \-SbiInqu
+] [
+.BI \-d count
+] [
+.BI \-s time
+] [
+.BI \-o field
+] [
+.BI \-U username
+] [
+.I number
+]
+.SH 解説
+.\" This defines appropriate quote strings for nroff and troff
+.ds lq \&"
+.ds rq \&"
+.if t .ds lq ``
+.if t .ds rq ''
+.\" Just in case these number registers aren't set yet...
+.if \nN==0 .nr N 10
+.if \nD==0 .nr D 5
+.I top
+はシステム内の上位
+.if !\nN==-1 \nN
+プロセスを表示し、その情報を定期的に更新します。
+.if \nN==-1 \
+\{\
+標準出力がインテリジェント端末 (以下を参照) なら、
+デフォルトでは端末画面に合わせて表示プロセス数を決定します。
+それ以外の場合、適切な数のプロセス (約 20 プロセス) が表示されます。
+.\}
+生の CPU パーセンテージを用いてプロセス順位を決めます。もし
+.I number
+が指定されると、デフォルト値に代えて、上位
+.I number
+プロセスが表示されます。
+.PP
+.I top
+の動作は高機能端末とそうでない端末とで異なります。
+この差異によって、いくつかのオプションのデフォルト値も変わってきます。
+以下の部分では、\*(lqインテリジェント\*(rq 端末とは、
+カーソルアドレシング、画面クリアおよび行末までのクリアをサポートしている
+端末のことを指します。
+逆に \*(lqダム\*(rq 端末とは、そのような機能をサポートしていないものを
+いいます。
+.I top
+の出力をファイルにリダイレクトすると、
+あたかもダム端末上で動作しているように振る舞います。
+.SH オプション
+.TP
+.B \-S
+システムプロセスも画面に表示します。
+pager や swapper といったシステムプロセスは通常、表示されませんが、
+このオプションによりそれらも見えるようになります。
+.TP
+.B \-b
+\*(lqバッチ\*(rq モードにします。
+バッチモードでは、端末からの入力は全て無視されます。
+ただし割り込みキャラクタ (^C や ^\e など) は有効です。
+ダム端末上で実行する場合や出力先が端末以外の場合は、これがデフォルトです。
+.TP
+.B \-i
+\*(lq対話的実行\*(rq モードにします。
+対話的実行モードでは、あらゆる入力は直ちに読み込んで処理されます。
+どのキーがどういう機能をもっているかについては、
+\*(lq対話的実行モード\*(rq のセクションを参照して下さい。
+コマンドが処理されると、そのコマンドが理解されなかった場合でも、
+画面は直ちに更新されます。
+出力先がインテリジェント端末の場合は、これがデフォルトです。
+.TP
+.B \-I
+アイドル状態のプロセスを表示しません。
+デフォルトでは、
+top はアクティブプロセスもアイドルプロセスも両方とも表示します。
+.TP
+.B \-n
+\*(lq非対話的実行\*(rq モードにします。
+これは \*(lqバッチ\*(rq モードと同じです。
+.TP
+.B \-q
+.I top
+を -20 に renice し、より高速に実行されるようにします。
+この機能は、システムが大変重い場合に、問題箇所を発見する可能性を高めるために
+用いられます。
+このオプションは root のみ使用可能です。
+.TP
+.B \-u
+uid 値をユーザ名に変換する時間を割かないようにします。
+通常、
+.I top
+は必要に応じてファイル \*(lq/etc/passwd\*(rq を読み、
+出現する全てのユーザ id 値をログイン名に変換します。
+このオプションはその変換を全て止め、できるだけ実行時間を低減させます。
+ログイン名の代わりに uid 値が表示されます。
+.TP
+.BI \-d count
+.I count
+回だけ表示し、その後終了します。
+1 回の表示とは、1 回の画面更新のことです。
+このオプションにより、ユーザは希望する回数だけ状況を表示し、
+その後自動的に
+.I top
+を終了させることができます。
+インテリジェント端末では、表示回数の上限は設定されていません。
+ダム端末ではデフォルト値は 1 回です。
+.TP
+.BI \-s time
+画面更新間隔を
+.I time
+秒に設定します。デフォルトの画面更新間隔は \nD 秒です。
+.TP
+.BI \-o field
+プロセス表示領域を指定したフィールドによってソートします。
+フィールド名には出力で示されているカラム名を用いますが、小文字で指定します。
+しばしば用いられる値は \*(lqcpu\*(rq, \*(lqsize\*(rq,
+\*(lqres\*(rq, \*(lqtime\*(rq ですが、これは OS によっても異なります。
+必ずしも全ての OS でこのオプションがサポートされているわけではないことに
+注意して下さい。
+.TP
+.BI \-U username
+ユーザ
+.IR username
+が所有しているプロセスのみ表示します。
+現在のところ、このオプションはユーザ名指定のみ可能で、uid 値は指定できません。
+.PP
+.I count
+と
+.I number
+はいずれも \*(lq無限\*(rq を指定でき、
+その場合、それらは可能な限り引き延ばされます。
+これは、キーワード
+\*(lqinfinity\*(rq,
+\*(lqmaximum\*(rq,
+\*(lqall\*(rq
+のいずれかの、
+一意に識別可能な先頭からの部分文字列を指定することで行われます。
+実際、インテリジェント端末での
+.I count
+のデフォルト値は
+.BI infinity
+となっています。
+.PP
+コマンドラインのオプションを調べる前に、
+環境変数
+.B TOP
+が調べられます。これによりユーザ自身のデフォルト値を設定できます。
+表示プロセス数も環境変数
+.BR TOP
+で指定可能です。
+オプション
+.BR \-I ,
+.BR \-S ,
+.B \-u
+は実際はトグルオプションです。これらのオプションを 2 回指定すると、
+最初の指定を無効にします。
+ですから、環境変数
+.B TOP
+を \*(lq\-I\*(rq と設定しているユーザは、
+\*(lqtop \-I\*(rq とすることでアイドルプロセスの状況を見ることができます。
+.SH 対話的実行モード
+\*(lq対話的実行モード\*(rq で動作している場合、
+.I top
+は端末からコマンドを読み込み、それに応じて動作を行います。
+このモードでは端末は \*(lqCBREAK\*(rq モードに設定され、
+入力文字が速やかに処理されるようになります。
+.I top
+の表示と表示の間、
+つまり
+.I top
+が
+.I time
+秒が経過するのを待っている間、ほとんどいつでもキー入力可能です。
+実際キーが押されると、そのコマンドは直ちに処理され、
+画面が更新されます (そのコマンドが指示した変更も反映されます)。
+これはコマンドが正しくない場合にも行われます。
+画面を更新している最中にキーが押されると、
+.I top
+は画面更新を終らせて、そのコマンドを処理します。
+コマンドによっては更に情報の指定が必要になるものもありますが、
+その場合、それに応じてユーザに入力が求められます。
+その情報を入力する間、ユーザの削除キーと行削除キー (
+.IR stty コマンドで設定される) が利用でき、改行により入力が完了します。
+.PP
+現在のところ、以下のコマンドが利用可能です (^L は control-L を表します):
+.TP
+.B ^L
+画面を再描画します。
+.IP "\fBh\fP\ or\ \fB?\fP"
+コマンド一覧 (ヘルプ画面) を表示します。
+.TP
+.B q
+.I top
+を終了します。
+.TP
+.B d
+表示する画面数を変更します (新しい数値入力が求められます)。
+次回の表示が 1 回目となります。ですから
+.B d1
+と入力すると、
+.I top
+は 1 回表示して直ちに終了します。
+.TP
+.B n or #
+表示するプロセス数を変更します (新しい数値入力が求められます)。
+.TP
+.B s
+表示間隔の秒数を変更します (新しい数値入力が求められます)。
+.TP
+.B k
+プロセスリストにシグナル (デフォルトでは \*(lqkill\*(rq) を送ります。
+.IR kill (1) コマンドと同様の働きをします。
+.TP
+.B r
+プロセスリストの優先度 (\*(lqnice\*(rq 値) を変更します。
+.IR renice (8) コマンドと同様の働きをします。
+.TP
+.B u
+指定したユーザ名のユーザが所有するプロセスのみ表示します (ユーザ名入力
+が求められます)。
+ユーザ名として単に \*(lq+\*(rq が指定された場合、
+全ユーザのプロセスが表示されます。
+.TP
+.B e
+前回の
+.BR k ill
+または
+.BR r enice
+コマンドで生じたシステムエラーがあれば、そのリストを表示します。
+.TP
+.B i
+(または
+.BR I )
+アイドルプロセスの表示有無を切替えます。
+.SH 表示
+実際の表示画面は、そのマシンで動作している Unix の種類によって異なります。
+ここでの説明は、この特定マシンで動作する top コマンドの出力と
+厳密には合っていないかもしれません。
+相違点はこのマニュアルの終りに示してあります。
+.PP
+表示画面の先頭数行にはシステム状態に関する情報として、
+プロセスに割り当てられた最終プロセス ID (ほとんどのシステム)、
+3 種のロードアベレージ、現在時刻、存在するプロセス数、
+各状態 (sleep 中、実行中、実行開始中、ゾンビ、停止中) のプロセス数、
+各プロセッサ状態 (ユーザ, nice, システム, アイドル) で消費した時間の割合
+等が表示されます。
+物理メモリおよび仮想メモリの割り当てに関する情報も表示されます。
+.PP
+画面の残りの部分には各プロセスに関する情報が表示されます。
+表示項目は、内容的には
+.IR ps (1)
+に似ていますが、正確には同じではありません。
+PID はプロセス id、USERNAME はプロセス所有者名 (
+.B \-u
+指定時は UID カラムが USERNAME に取って替わる)、
+PRI は現在のプロセス優先度、
+NICE は nice 値 (\-20 から 20 までの範囲)、
+SIZE はプロセスサイズの合計 (text, data, stack)、
+RES は現在のメモリ常駐量 (SIZE と RES はいずれもキロバイト単位)、
+STATE は現在の状態 (\*(lqsleep\*(rq, \*(lqWAIT\*(rq,
+\*(lqrun\*(rq, \*(lqidl\*(rq, \*(lqzomb\*(rq, \*(lqstop\*(rq のいずれか)、
+TIME はプロセスが消費したシステム時間およびユーザ時間の秒数、
+WCPU は (もしあれば) 重み付き CPU パーセンテージ (これは
+.IR ps (1)
+が CPU として表示するものと同じ)、
+CPU は生のパーセンテージで、プロセス順序を決めるソート処理に用いられるもの、
+そして COMMAND はプロセスが現在実行しているコマンド名です (もしプロセスが
+スワップアウト中なら、このカラムには \*(lq<swapped>\*(rq という印がつく)。
+.SH 注意
+\*(lqABANDONED\*(rq 状態 (カーネル中では \*(lqSWAIT\*(rq 状態として
+知られています) は捨て去られたものゆえ、この名称がついています。
+プロセスはこの状態で終るべきではありません。
+.SH 作者
+William LeFebvre, EECS Department, Northwestern University
+.SH 環境変数
+.DT
+TOP ユーザが設定できるオプションのデフォルト値
+.SH 関連ファイル
+.DT
+/dev/kmem カーネルメモリ
+.br
+/dev/mem 物理メモリ
+.br
+/etc/passwd uid 値をユーザ名に変換するのに使用
+.br
+/vmunix システムイメージ
+.SH バグ
+.B \-I
+のデフォルト値が もう一度変更されましたが、私を責めないで下さい。
+.I top
+が全プロセスを表示するわけではないことで大変多くの人が混乱したため、
+バージョン 2 の頃と同様、デフォルトでアイドルプロセスも表示することに
+決めました。
+しかしこの動作に耐えられない人々のために、環境変数
+.B TOP
+に \*(lqデフォルト\*(rq オプションを設定しておく機能を
+追加しました (オプションのセクションを参照)。
+バージョン 3.0 が持っている振る舞いが必要な人は、環境変数
+.B TOP
+に値 \*(lq\-I\*(rq を設定するだけで OK です。
+.PP
+スワップされたプロセスに対するコマンド名は追跡すべきですが、
+それを行うとプログラムの動作が遅くなるでしょう。
+.PP
+.IR ps (1)
+と同様、
+.I top
+が更新情報を収集している間に事態が変化する可能性があります。
+表示内容は現実に近い近似値に過ぎません。
+.SH 関連項目
+kill(1),
+ps(1),
+stty(1),
+mem(4),
+renice(8)
+.SH FreeBSD 2.x 版
+
+.SH メモリに関する説明
+Mem: 9220K Active, 1032K Inact, 3284K Wired, 1MB Cache, 2M Buf, 1320K Free
+Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104 K Out
+
+.B K:
+キロバイト。
+.TP
+.B M:
+メガバイト。
+.TP
+.B %:
+1/100。
+.TP
+.B Active:
+アクティブなページ数。
+.TP
+.B Inact:
+アクティブでないページ数。
+.TP
+.B Wired:
+固定されているページ数。キャッシュされたファイルデータページを含む。
+.TP
+.B Cache:
+VM レベルのディスクキャッシュに使用しているページ数。
+.TP
+.B Buf:
+BIO レベルのディスクキャッシュに使用しているページ数。
+.TP
+.B Free:
+未使用ページ数。
+.TP
+.B Total:
+使用可能なスワップ合計。
+.TP
+.B Free:
+未使用スワップ合計。
+.TP
+.B Inuse:
+使用中スワップ。
+.TP
+.B In:
+(直前の表示間隔において) スワップデバイスからページインしたページ数
+.TP
+.B Out:
+(直前の表示間隔において) スワップデバイスにページアウトしたページ数
diff --git a/ja/man/man1/touch.1 b/ja/man/man1/touch.1
new file mode 100644
index 0000000000..5f2a8e34b6
--- /dev/null
+++ b/ja/man/man1/touch.1
@@ -0,0 +1,151 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)touch.1 8.3 (Berkeley) 4/28/95
+.\" jpman %Id: touch.1,v 1.2 1997/04/01 05:52:35 mutoh Stab %
+.\"
+.Dd April 28, 1995
+.Dt TOUCH 1
+.Os
+.Sh 名称
+.Nm touch
+.Nd ファイルのアクセス時刻と変更時刻を変える
+.Sh 書式
+.Nm
+.Op Fl acfm
+.Op Fl r Ar file
+.Op Fl t Ar [[CC]YY]MMDDhhmm[.SS]
+.Ar
+.Sh 解説
+.Nm
+は、
+.Ar file
+で指定したファイルのアクセス時刻と変更時刻を、現
+在の時刻に変えるものです。ファイルが存在しなかった場合は、デフォルトの
+ファイルのパーミッションで、サイズ 0 のファイルが作成されます。
+.Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl a
+ファイルのアクセス時刻を変えます。
+同時に
+.Fl m
+が指定されていなければ修正時刻は変えません。
+.It Fl c
+ファイルが存在しなかった場合のファイル作成を行いません。
+.Nm
+はこれをエラー扱いしません。
+エラーメッセージは表示せず、
+戻り値にも影響しません。
+.It Fl f
+ファイルのアクセス許可がない場合でも、強制的に実行します。
+.It Fl m
+ファイルの修正時刻を変えます。
+同時に
+.Fl a
+が指定されていなければアクセス時刻は変えません。
+.It Fl r
+アクセス時刻や修正時刻を設定する際、現在時刻ではなく、
+.Ar file
+のアクセス時刻/修正時刻を用います。
+.It Fl t
+.Ar file
+のアクセス時刻と変更時刻を、指定した時刻に設定します。
+引数は
+.Dq [[CC]YY]MMDDhhmm[.SS]
+で指定します。
+.Bl -tag -width Ds -compact -offset indent
+.It Ar CC
+西暦の千と百の位 (世紀)
+.It Ar YY
+西暦の十と一の位
+(もし
+.Dq YY
+を指定して
+.Dq CC
+を省略した場合、
+.Dq YY
+が 69 から 99 の
+間なら 1969年 から 1999 年が、それ以外は 2000年 から
+2068 年とみなされます)
+.It Ar MM
+月。1から12
+.It Ar DD
+日。1から31
+.It Ar hh
+時間。0から23
+.It Ar mm
+分。0から59
+.It Ar SS
+秒。0から61
+.El
+.Pp
+.Dq CC
+と
+.Dq YY
+が指定されていないと、現在の年になります。
+.Dq SS
+が指定されていないと、値は0となります。
+.Pp
+.Nm
+は成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 関連項目
+.Xr utimes 2
+.Sh 互換性
+旧形式、つまり、第一引数で日付の指定を行なう方式も受け付けます。
+.Fl r
+や
+.Fl t
+がない場合で、
+少なくとも引数が
+2 つあり、最初の引数が 10 進数の文字列で 8 文字か 10 文字の場合に、
+.Dq MMDDhhmm[YY]
+の形式で日付が指定されたものとみなします。
+それぞれの記号の扱いは
+.Fl t
+オプションと同様です。
+.Dq YY
+が 69 から 99 の
+間なら 1969 年 から 1999 年が、それ以外は 2000 年 から
+2068 年とみなされます。
+.Sh 歴史
+.Nm
+ユーティリティは
+.At v7
+から現れました。
+.Sh 規格
+.Nm
+ユーティリティは
+.St -p1003.2
+のスーパセットです。
diff --git a/ja/man/man1/tput.1 b/ja/man/man1/tput.1
new file mode 100644
index 0000000000..4197fbe615
--- /dev/null
+++ b/ja/man/man1/tput.1
@@ -0,0 +1,119 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tput.1 8.2 (Berkeley) 3/19/94
+.\" jpman %Id: tput.1,v 1.3 1997/08/11 14:35:00 horikawa Stab %
+.\"
+.Dd March 19, 1994
+.Dt TPUT 1
+.Os BSD 4.4
+.Sh 名称
+.Nm tput
+.Nd 端末属性を利用するためのインターフェース
+.Sh 書式
+.Nm tput
+.Op Fl T Ar term
+.Ar attribute
+.Sh 解説
+.Nm tput
+は、端末の属性情報を取り出して、ユーザやシェルアプリケーションから
+利用できるようにします。
+オプションは、次の通りです。
+.Bl -tag -width Ds
+.It Fl T
+.Xr termcap
+データベースの中の端末名 (``vt100'' や ``xterm'') を指定します。
+端末名が指定されない場合には、環境変数
+.Dq Ev TERM
+の内容を参照します。
+.El
+.Pp
+.Ar attribute
+で指定する端末属性が文字列型の場合、
+.Nm tput
+はその文字列を出力します。
+端末属性が整数型の場合、その数値を出力します。
+どちらでもなければ
+.Nm tput
+は余分な動作をせずに、
+端末が属性を持っているなら 0 、そうでないなら 1 を
+終了コードにして終了します。
+.Pp
+.Ar attribute
+が文字列型で引数を取る場合 (例えばカーソル移動 : termcap の
+.Dq cm
+シーケンス) には、引数は属性名 (attribute) のすぐ後ろから取られます。
+.Pp
+次の属性は、特別な意味を持っています。
+.Bl -tag -width Ar
+.It clear
+画面をクリアします (
+.Xr termcap
+の ``cl'' シーケンス)
+.It init
+端末を初期化します (
+.Xr termcap
+の ``is'' シーケンス)
+.It longname
+ユーザの端末タイプの詳細名称を表示します。
+.It reset
+端末をリセットする (
+.Xr termcap
+の ``rs'' シーケンス)
+.Sh 診断
+.Nm tput
+の終了コードは、最後に指定された属性 (attribute) によります。
+属性が文字列型か整数型なら、
+端末に属性が定義されていたら 0 、定義されていなければ 1 で終了します。
+属性が論理型なら、
+端末がこの属性を持っていたら 0 、持っていなければ 1 で終了します。
+何かエラーが起きた場合、
+.Nm tput
+は 2 で終了します。
+.Sh 関連項目
+.Xr termcap 3 ,
+.Xr termcap 5
+.Sh バグ
+.Nm tput
+は属性毎の正しい型を知っているわけではありません。
+.Pp
+termcap エントリによっては
+.Sq %
+のみからなる
+.Sq %
+を持つことに依存しているものがあります。
+現在、有効なタイプ宣言を持たないものに関しては警告を発っします。
+これらの警告は標準エラー出力へと送られます。
+.Sh 歴史
+.Nm
+コマンドは、
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/tr.1 b/ja/man/man1/tr.1
new file mode 100644
index 0000000000..ff9f1e26f9
--- /dev/null
+++ b/ja/man/man1/tr.1
@@ -0,0 +1,288 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tr.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: tr.1,v 1.4 1997/06/13 00:21:44 jsakai Stab %
+.\"
+.Dd June 6, 1993
+.Dt TR 1
+.Os
+.Sh 名称
+.Nm tr
+.Nd 文字の置換
+.Sh 書式
+.Nm tr
+.Op Fl cs
+.Ar string1 string2
+.br
+.Nm tr
+.Op Fl c
+.Fl d
+.Ar string1
+.br
+.Nm tr
+.Op Fl c
+.Fl s
+.Ar string1
+.br
+.Nm tr
+.Op Fl c
+.Fl ds
+.Ar string1 string2
+.Sh 解説
+.Nm
+ユーティリティは、選択された文字を置き換え、または削除しながら
+標準入力を標準出力にコピーします。
+.Pp
+以下のオプションが利用できます:
+.Bl -tag -width Ds
+.It Fl c
+.Ar string1
+に含まれる文字の補集合を表します。つまり、``-c ab'' は、
+``a'' と ``b'' を除く全ての文字を含みます。
+.It Fl d
+.Fl d
+オプションは、入力から指定した文字を削除します。
+.It Fl s
+.Fl s
+オプションは、最後の引数 (
+.Ar string1
+か
+.Ar string2
+のどちらか) に含まれている同一の文字が、入力の中に連続して現れるとき、
+それを 1 つの文字に圧縮します。この圧縮は、全ての削除や変換が終わった
+後に行われます。
+.El
+.Pp
+書式の最初の形式では、
+.Ar string1
+に含まれる文字は、
+.Ar string1
+の 1 文字目は
+.Ar string2
+の 1 文字目と置き換え...というように
+.Ar string2
+に置き換えられます。もし
+.Ar string1
+が
+.Ar string2
+よりも長い場合は、
+.Ar string2
+の最後の文字が、
+.Ar string1
+と対応させるのに足りない分だけ続いているものとみなされます。
+.Pp
+書式の 2 番目の形式では、
+.Ar string1
+に含まれる文字は、入力から削除されます。
+.Pp
+書式の 3 番目の形式では、
+.Ar string1
+に含まれる文字は、
+.Fl s
+オプションの解説の通りに圧縮されます。
+.Pp
+書式の 4 番目の形式では、
+.Ar string1
+に含まれる文字は入力から削除され、
+.Ar string2
+に含まれる文字は
+.Fl s
+オプションの解説の通りに圧縮されます。
+.Pp
+.Ar string1 ,
+.Ar string2
+の文字の集合を指定するのに、以下のような記述方法が利用できます:
+.Bl -tag -width [:equiv:]
+.It character
+以下で示したものを除く、その文字自身を表す
+通常の文字 (キャラクタ) です。
+.It \eoctal
+バックスラッシュに続き、1〜3 桁の 8 進数が続いたものは、
+その値を符号化した文字を表現します。この 8 進数の並びに続いて
+数字を文字として指定したい場合には、8 進数の並びが 3 桁と
+なるように、8 進数の上位桁 (左) に 0 を埋めてください。
+.It \echaracter
+バックスラッシュに続く、特定の特殊な文字は、特殊な値に対応しています。
+.sp
+.Bl -column
+.It \ea <ベル文字>
+.It \eb <バックスペース>
+.It \ef <フォームフィード>
+.It \en <改行>
+.It \er <復帰>
+.It \et <水平タブ>
+.It \ev <垂直タブ>
+.El
+.sp
+これら以外のバックスラッシュに続く文字は、その文字自身に対応します。
+.It c-c
+両端を指定することにより、文字の範囲を表します。両端を含みます。
+.It [:class:]
+定義された文字クラスに属する、全ての文字を表します。
+クラス名は以下の通りです:
+.sp
+.Bl -column
+.It alnum <英数字>
+.It alpha <英字>
+.It cntrl <コントロール文字>
+.It digit <数字>
+.It graph <グラフィック文字>
+.It lower <英小文字>
+.It print <表示可能文字>
+.It punct <句読点>
+.It space <空白文字>
+.It upper <英大文字>
+.It xdigit <16進数>
+.El
+.Pp
+\." .Fl d
+\." と
+\." .Fl s
+\." の両方のオプションが指定された場合には、
+\." すべてのクラスを
+\." .Ar string1
+\." および
+\." .Ar string2
+\." に使うことができます。
+\." そうでない場合には、
+\." .Ar string2
+\." には、``upper'' もしくは ``lower''
+\." しか指定できません。
+\." しかも、対応するクラス (``upper'' に対する ``lower''、逆も同様)が
+\." .Ar string1
+\." に指定されているとき限ります。
+\." .Pp
+``upper'' と ``lower'' を除いたクラスでは、クラスに含まれる文字の
+順序は特定されていません。``upper'' と ``lower'' では、
+文字は昇順に並んでいます。
+.Pp
+どのような ASCII 文字が、これらのクラスに含まれているのかという情報を
+調べたい場合には、
+.Xr ctype 3
+および関連マニュアルを参照してください。
+.It [=equiv=]
+全ての文字、もしくは
+.Ar equiv
+と同じ同値関係クラスに属する区分要素を表します。もし、
+同値関係クラス内で、2 次的な順序付けが存在する場合、
+文字は昇順に並べられます。存在しない場合には、
+符号化された値に従った順序付けがなされます。
+同値関係クラスの例としては、スペイン語における ``c'' と ``ch'' などが
+あげられます。しかし、英語にはこのような同値関係クラスはありません。
+.It [#*n]
+.Ar #
+で指定された
+.Ar n
+個の文字の繰り返しを表現します。この表現は、
+.Ar string2
+で指定されたときのみ有効です。
+もし
+.Ar n
+が省略された場合、または 0 の場合は、
+.Ar string2
+が
+.Ar string1
+の長さを満たすような、十分大きな値として解釈されます。
+.Ar n
+は、0 で始まる場合には 8 進数として、そうでない場合には 10 進数として
+解釈されます。
+.El
+.Pp
+.Nm
+ユーティリティは、成功の場合には 0、エラーが発生した
+場合には 0 より大きい値を返します。
+.Sh 使用例
+以下の例は、シェルに対して与えられたものです:
+.sp
+file1 に含まれる単語 (文字の最大長の並び) のリストを、
+各行につき 1 つずつ出力します。
+.sp
+.D1 Li "tr -cs \*q[:alpha:]\*q \*q\en\*q < file1"
+.sp
+file1 の内容を大文字に変換します。
+.sp
+.D1 Li "tr \*q[:lower:]\*q \*q[:upper:]\*q < file1"
+.sp
+表示できない文字を file1 から削除します。
+.sp
+.D1 Li "tr -cd \*q[:print:]\*q < file1"
+.Sh 互換性
+古くからの BSD の実装および POSIX 標準では、文字の
+範囲指定には ``c-c'' という文法を用いますが、
+古い System V の実装では ``[c-c]'' を用いています。
+System V のシェルスクリプトは、文字の置換を行おうとする
+場合にはうまく動作するはずです。つまり、``tr [a-z] [A-Z]'' と
+指定した場合には、
+.Ar string1
+の ``['' が
+.Ar string2
+の ``['' に変換されるため、うまく動作します。
+しかし、シェルスクリプトが、``tr -d [a-z]'' というコマンドのように
+文字の削除や圧縮を行う場合には、``['' と ``]'' の文字が
+削除や圧縮の対象に含まれてしまいます。古い実装の System V では
+このようには動作しません。さらに、``a'', ``-'', ``z'' と
+いう 3 つの文字を表現するのに、``a-z'' と記述するような、
+その並びに依存しているあらゆるスクリプトは、``a\e-z'' と書き
+直す必要があります。
+.Pp
+.Nm
+ユーティリティは昔から、入力における NUL バイトの操作を
+禁止されていました。さらに、入力から NUL を取り除いていました。
+この実装では、この振る舞いはバグとみなされ、削除されました。
+.Pp
+
+.Nm
+ユーティリティは昔から、たとえば、2 つの文字列が指定されない限り
+.Fl c
+および
+.Fl s
+オプションを無視する、などの文法上の誤りを
+極端なまでに許していました。この実装では、不正な文法は
+許されなくなっているはずです。
+.Sh 規格
+.Nm
+ユーティリティは、
+.St -p1003.2
+と互換です。
+.Ar string2
+が
+.Ar string1
+よりも短い場合に
+.Ar string2
+の最後の文字が複製される機能は、
+POSIX では許されていますが必須ではないことに注意して下さい。
+他の POSIX システムへの可搬性のあるシェルスクリプトを
+作ろうとするならば、この振る舞いを当てにせずに、``[#*]'' と
+いう表現を使うべきです。
diff --git a/ja/man/man1/troff.1 b/ja/man/man1/troff.1
new file mode 100644
index 0000000000..4b9a7bcea5
--- /dev/null
+++ b/ja/man/man1/troff.1
@@ -0,0 +1,2022 @@
+.ig \"-*- nroff -*-
+Copyright (C) 1989-1995 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.\" jpman %Id: troff.1,v 1.4 1997/07/26 21:50:12 horikawa Stab %
+.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
+.el .ds tx TeX
+.\" Like TP, but if specified indent is more than half
+.\" the current line-length - indent, use the default indent.
+.de Tp
+.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
+.el .TP "\\$1"
+..
+.\" The BSD man macros can't handle " in arguments to font change macros,
+.\" so use \(ts instead of ".
+.tr \(ts"
+.TH TFMTODIT 1 "8 September 1996" "Groff Version 1.10"
+.SH 名称
+troff \- 文書をフォーマットする
+.SH 書式
+.nr a \n(.j
+.ad l
+.nr i \n(.i
+.in +\w'\fBtroff 'u
+.ti \niu
+.B troff
+.de OP
+.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
+.el .RB "[\ " "\\$1" "\ ]"
+..
+.OP \-abivzCER
+.OP \-w name
+.OP \-W name
+.OP \-d cs
+.OP \-f fam
+.OP \-m name
+.OP \-n num
+.OP \-o list
+.OP \-r cn
+.OP \-T name
+.OP \-F dir
+.OP \-M dir
+.RI "[\ " files\|.\|.\|. "\ ]"
+.br
+.ad \na
+.SH 解説
+本マニュアルでは、groff ドキュメントフォーマットシステムの一部である
+GNU バージョンの
+.B troff
+について記述します。本コマンドは UNIX troff と
+高い互換性を持ちます。通常 troff は groff コマンドから起動されます。
+groff はまた、適切な前処理プログラムと後処理プログラムを適切なオプショ
+ンで、適切な順序で起動します。
+.SH オプション
+.TP \w'\-dname=s'u+2n
+.B \-a
+.SM ASCII
+文字のみの近似的な出力を行います。
+.TP
+.B \-b
+各警告とエラーメッセージに対するバックトレースを表示します。これは、
+警告やエラーの原因を調べるのに有用です。出力される行番号は必ずしも正し
+くはありません。
+.B as
+や
+.B am
+リクエストにより行番号を誤認する可能性がある
+からです。
+.TP
+.B \-i
+指定されたファイルをすべて処理したあとに、標準入力も読み込み、処理します。
+.TP
+.B \-v
+バージョン番号を表示します。
+.TP
+.BI \-w name
+.I name
+で指定した分類の警告を行います。指定できる
+.I name
+は、後述の警告のサブセクションを参照してください。
+.B \-w
+オプションは複数指定できます。
+.TP
+.BI \-W name
+.I name で指定した分類の警告を行いません。
+.B \-W
+オプションは複数指定することが
+できます。
+.TP
+.B \-E
+エラーメッセージを一切出力しません。
+.TP
+.B \-z
+フォーマットした結果を出力しません。
+.TP
+.B \-C
+互換モードにします。
+.TP
+.BI \-d cs
+.TQ
+.BI \-d name = s
+マクロ
+.I c
+または
+.I name
+を文字列
+.I s
+と定義します。
+.I c
+は 1 文字のマクロ名です。
+.TP
+.BI \-f fam
+.I fam
+をデフォルトのフォントファミリとして使用します。
+.TP
+.BI \-m name
+マクロファイル
+.BI tmac. name
+を読み込みます。通常、ディレクトリ
+.B /usr/share/tmac
+が検索されます。
+.TP
+.B \-R
+.B troffrc
+を読みません。
+.TP
+.BI \-n num
+最初のページ番号を
+.I num
+とします。
+.TP
+.BI \-o list
+.I list
+で指定したページのみを出力します。
+.I list
+は、コンマで区切られ
+たページ範囲の列です。ページ範囲の指定方法は以下のとおりです:
+.I n
+は
+.I n
+ペー
+ジの出力、
+.IB m \- n
+は
+.I m
+ページから
+.I n
+ページまでの出力、
+.B \-n
+は
+.I n
+ページまでの
+出力、
+. IB n \-
+は
+.I n
+ページ以降の出力を意味します。
+.B troff
+はリストの最後のページを印刷し終えると終了します。
+.TP
+.BI \-r cn
+.TQ
+.BI \-r name = n
+数値レジスタ
+.I c
+または
+.I name
+の値を
+.I n
+とします。
+.I c
+は 1 文字の名前です。
+.I n
+は troff で扱える数式です。
+.TP
+.BI \-T name
+デバイス
+.I name
+用の出力を生成します。デフォルトは ps です。
+.TP
+.BI \-F dir
+フォントファイルと
+.B DESC
+ファイルを検索するのに、ディレクトリ
+.I dir
+以下の
+.BI dev name
+.RI ( name
+は出力デバイス名) を探します。通常フォントは
+.B /usr/share/groff_font
+から検索されますが、本オプションで指定したディレ
+クトリのほうが先に検索されます。
+.TP
+.BI \-M dir
+.B /usr/share/tmac
+の前に、指定したディレクトリ
+.I dir
+からマクロファイルを検索します。
+.SH 使用例
+ここでは Unix troff には無い機能のみを説明します。
+.SS 長い名前
+数値レジスタ、フォント、文字列/マクロ/転換、
+特殊文字のそれぞれの名前の長さは任意です。
+エスケープシーケンス中、すなわち
+2 文字の名前
+.BI ( xx
+を使用可能な場所で、
+任意の長さの名前
+.BI [ xxx ]
+を使用可能です。
+.TP
+.BI \e[ xxx ]
+.IR xxx
+で呼ばれる特殊文字を表示します。
+.TP
+.BI \ef[ xxx ]
+フォント
+.IR xxx
+を設定します。
+.TP
+.BI \e*[ xxx ]
+文字列
+.IR xxx
+を挿入する。
+.TP
+.BI \en[ xxx ]
+数値レジスタ
+.IR xxx
+を挿入する。
+.SS 分数のポイントサイズ
+.I
+スケールドポイントは 1/sizescale
+ポイントです。ここで
+sizescale は
+.B DESC
+ファイルで指定されます (デフォルト値は 1です)。
+また、新しいスケールインジケータ
+.B z
+があります。
+これは sizescale 倍する効果があります。
+troff におけるリクエストおよびエスケープシーケンスは
+ポイントサイズを表す引数をスケールドポイント単位で表されているとして
+解釈しますが、
+このような引数の評価はデフォルトのスケールインジケータ
+.BR z
+にて行います。
+このように取り扱われる引数には、
+.B ps
+リクエストの引数、
+.B cs
+リクエストの 3 番目の引数、
+.B tkf
+リクエストの 2 番目および 4 番目の引数、
+.B \eH
+エスケープシーケンスの引数、
+.B \es
+エスケープシーケンスの変形で数値式を引数として取るものとがあります。
+.LP
+.\" 例えばサイズスケールを 1000 とします;
+例えば sizescale を 1000 とします;
+この場合スケールドポイントはミリポイントとなります;
+リクエスト
+.B .ps 10.25
+は
+.B .ps 10.25z
+と同じですし、ポイントサイズは 10250 スケールドポイントに設定されます。
+これは 10.25 ポイントと等しい値です。
+.LP
+数値レジスタ
+.B \en(.s
+はポイントサイズを 10 進数分数のポイント単位で返します。
+新しい数値レジスタ
+.B \en[.ps]
+もあり、これはスケールドポイント単位でのポイントサイズを返します。
+.LP
+デフォルトのスケールインジケータが
+.BR u ,
+.B z
+のどちらでもない数式中で
+.B z
+スケールインジケータを使用するのは無意味でしょう。
+.B troff
+はこのようなことを禁止します。
+同様に、
+.BR z
+がデフォルトのスケールインジケータであった数式において
+.BR z ,
+.B u
+のどちらでもないスケールインジケータを使用するのは無意味でしょう。
+.B troff
+はこのようなことを禁止します。
+.LP
+また、新しいスケールインジケータ
+.B s
+があります。これはもとの値をスケールドポイントの単位数で逓倍します。
+例えば、
+.B \en[.ps]s
+は
+.B 1m
+と同じです。
+.BI s,
+.B z
+スケールインジケータを混同しないようにして下さい。
+.SS 数値式
+.LP
+括弧内の数式中に空白を含めることが許されます。
+.LP
+.B M
+は em の 1/100 を意味します。
+.TP
+.IB e1 >? e2
+.I e1
+と
+.I e2
+とで小さくない方。
+.TP
+.IB e1 <? e2
+.I e1
+と
+.IR e2
+とで大きくない方。
+.TP
+.BI ( c ; e )
+.I c
+をデフォルトのスケールインジケータとして
+.I e
+を評価します。
+.I c
+が指定されない場合は
+.I e
+の評価においてスケールインジケータは無視されます。
+.SS 新しいエスケープシーケンス
+.TP
+.BI \eA' anything '
+.B 1
+または
+.B 0
+に展開されます。
+これは
+.I anything
+が文字列、マクロ、展開、数値レジスタ、環境、フォントのいずれかとして
+受理可能か否かに依存します。
+.I anything
+が空の場合には
+.B 0
+が返されます。
+連想表のようなものからユーザの入力を取り出すような場合に有効です。
+.TP
+.BI \eC' xxx '
+.IR xxx
+という名前の文字をタイプセットします。
+通常、
+.BI \e[ xxx ]\fR
+を使用する方が便利です。
+しかし
+.B \eC
+の優位点は、最近の
+.SM UNIX
+と互換性があり
+互換モードにおいて使用可能であることです。
+.TP
+.B \eE
+エスケープ文字と等価ですが、コピーモードでは解釈されません。
+例えば、上付き文字の始まりと終りの文字列は次のように定義できます:
+.RS
+.IP
+\&.ds { \ev'\-.3m'\es'\eEn[.s]*6u/10u'
+.br
+\&.ds } \es0\ev'.3m'
+.LP
+.B \eE
+を使用すると、
+例え
+.B \e*{
+がコピーモードにおいて解釈されるような場合でも、
+これらの定義がうまく作用することを保証できます。
+(例えばマクロの引数で使用される場合。)
+.RE
+.TP
+.BI \eN' n '
+コード
+.I n
+の文字を現在のフォントでタイプセットします。
+.I n
+は任意の整数値です。
+ほとんどのデバイスは文字コードが 0 から 255 までしかありません。
+現在のフォントが対応するコードの文字を持たない場合、
+スペシャルフォントは探されません。
+.B \eN
+エスケープシーケンスは
+.B char
+リクエストとの組合せにより便利に使えます:
+.RS
+.IP
+.B
+\&.char \e[phone] \ef(ZD\eN'37'
+.RE
+.IP
+各文字のコードは、フォント記述ファイルで、
+.B charset
+コマンドの後の 4 番目のカラムに書かれています。
+文字の名前として
+.BR \-\-\-
+を使うことで、名前の無い文字をフォント記述ファイルに組み込むことが可能です。
+これらの文字を使用するには、
+.B \eN
+エスケープシーケンスを使う方法しかありません。
+.TP
+.BI \eR' name\ \(+-n '
+これは、次のものと同じ効果です。
+.RS
+.IP
+.BI .nr\ name\ \(+-n
+.RE
+.TP
+.BI \es( nn
+.TQ
+.BI \es\(+-( nn
+ポイントサイズを
+.I nn
+ポイントに設定します;
+.I nn
+は正確に 2 桁の 10 進数である必要があります。
+.TP
+.BI \es[\(+- n ]
+.TQ
+.BI \es\(+-[ n ]
+.TQ
+.BI \es'\(+- n '
+.TQ
+.BI \es\(+-' n '
+ポイントサイズを
+.I n
+スケールドポイントにします;
+.I n
+は数値式であり、デフォルトスケールインジケータは
+.BR z
+です。
+.TP
+.BI \eV x
+.TQ
+.BI \eV( xx
+.TQ
+.BI \eV[ xxx ]
+.BR getenv (3)
+で返される環境変数
+.I xxx
+の内容を挿入します。
+.B \eV
+はコピーモードで解釈されます。
+.TP
+.BI \eY x
+.TQ
+.BI \eY( xx
+.TQ
+.BI \eY[ xxx ]
+これは
+.BI \eX'\e*[ xxx ]'\fR
+とほとんど同一です。
+しかし文字列/マクロ
+.I xxx
+は解釈されません;
+また
+.I xxx
+がマクロととして定義されることが許されており、改行文字を含んでも良いです
+(
+.B \eX
+の引数は改行文字を含んではなりません)。
+改行文字を含む場合には Unix troff 出力フォーマットが
+拡張されている必要があります。
+また、この拡張を知らないドライバーを混乱させてしまいます。
+.TP
+.BI \eZ' anything '
+anything を表示したあと水平位置及び垂直位置を元に戻します;
+.I anything
+はタブやリーダーを含んではなりません。
+.TP
+.B \e$0
+現在のマクロが呼び出された名前です。
+.B als
+リクエストはマクロに複数の名前を持たせることができます。
+.TP
+.B \e$*
+.\" マクロ中で、全ての引数を空白で区切って結合します。
+マクロ中で、全ての引数を空白で区切って結合した文字列になります。
+.TP
+.B \e$@
+.\" マクロ中で、各引数をダブルクオート括り、
+.\" その全てを空白で区切って結合します。
+マクロ中で、各引数をダブルクオートで括り、
+その全てを空白で区切って結合した文字列になります。
+.TP
+.BI \e$( nn
+.TQ
+.BI \e$[ nnn ]
+マクロ中で、
+.IR nn 番目
+もしくは
+.IR nnn 番目の
+引数を与えます。
+マクロの取りうる引数の数には制限はありません。
+.TP
+.BI \e? anything \e?
+転換中で使用すると、
+.I anything
+を転換中に透過的に埋め込みます。
+.I anything
+はコピーモードで読まれます。
+転換の内容が後で読み込まれる時、
+.I anything
+は解釈されます。
+.I anything
+は改行文字を含んではなりません;
+転換中に改行文字を埋め込みたい場合には
+.B \e!
+を使用して下さい。
+エスケープシーケンス
+.B \e?
+はコピーモードにおいて認識され、単一の内部コードに変換されます;
+.IR anything
+の終了を表すのがこのコードです。
+それゆえ、
+.RS
+.RS
+.ft B
+.nf
+.ne 15
+\&.nr x 1
+\&.nf
+\&.di d
+\e?\e\e?\e\e\e\e?\e\e\e\e\e\e\e\enx\e\e\e\e?\e\e?\e?
+\&.di
+\&.nr x 2
+\&.di e
+\&.d
+\&.di
+\&.nr x 3
+\&.di f
+\&.e
+\&.di
+\&.nr x 4
+\&.f
+.fi
+.ft
+.RE
+.RE
+.IP
+は
+.BR 4
+を表示します。
+.TP
+.B \e/
+先行する文字の幅を増やします。
+その結果、継続する文字がローマン文字の場合、
+先行する文字と継続する文字との間隔が正しくなります。
+例えば、イタリックの f の直後にローマンの右括弧が続く場合、
+ほとんどのフォントにおいて f の右上の部分が右括弧の左上の部分とが重なり
+\fIf\fR)\fR となります。
+これは醜いです。
+.B \e/
+を挿入することにより
+.ie \n(.g \fIf\/\fR)\fR
+.el \fIf\|\fR)\fR
+となりこの問題を防ぎます。
+このエスケープシーケンスを、
+イタリック文字の直後に空白をはさまずにローマン文字が続く場合には
+常に使用することは良い考えです。
+.TP
+.B \e,
+後続する文字の空白を修正します。
+その結果、先行する文字がローマン文字の場合、
+その文字と先行する文字との間の空白が正しくなります。
+例えば
+.B \e,
+を括弧と f の間に挿入することにより、
+\fR(\fIf\fR は
+.ie \n(.g \fR(\,\fIf\fR
+.el \fR(\^\fIf\fR
+となります。
+ローマン文字の直後に空白をはさまずにイタリック文字が続く場合には
+常に使用することは良い考えです。
+.TP
+.B \e)
+.B \e&
+に似ていますが、
+.B cflags
+リクエストにより宣言された文字として動作します。
+このは文の終了判定のために使用します。
+.TP
+.B \e~
+行分割されないが、行内部の空白調整において普通の単語間空白と同様に伸び
+縮みする空白を生成します。
+.TP
+.B \e#
+次の改行文字(これを含みます)までの全てを無視します。
+コピーモードで解釈されています。
+これは
+.B \e"
+に似ていますが、
+.B \e"
+は最後の改行文字を無視しないところが違います。
+.SS 新しいリクエスト
+.TP
+.BI .aln\ xx\ yy
+数値レジスタオブジェクトで名前が
+.IR yy
+のものへのエイリアス
+.I xx
+を作成します。
+新しい名前と古い名前は完全に等価になります。
+もし
+.I yy
+が未定義の場合、タイプ
+.B reg
+.\" のが生成され、リクエストは無視されます。
+の警告が生成され、リクエストは無視されます。
+.TP
+.BI .als\ xx\ yy
+.IR yy
+という名前のリクエスト/文字列/マクロ/転換の各オブジェクトに対する
+エイリアス
+.I xx
+を作成します。
+新しい名前と古い名前は完全に等価になります
+(ソフトリンクに対するハードリンクのようなものです)。
+.I yy
+が未定義なら、タイプ
+.B mac
+の警告が生成され、リクエストは無視されます。
+マクロ/転換/文字列転換が現在未定義である場合、
+もしくはリクエストとして定義されている場合には、
+.BR de ,
+.BR am ,
+.BR di ,
+.BR da ,
+.BR ds ,
+.B as
+リクエストは新しいオブジェクトを生成するだけです;
+これらは通常は既に存在するオブジェクトの値を変更します。
+.TP
+.BI .asciify\ xx
+このリクエストが存在する理由は
+GNU troff に関する大きなハックを可能とするためだけです。
+フォーマットされ
+.I xx
+に転換格納された
+.SM ASCII
+文字が、
+.I xx
+が再度読み込まれる時に、普通に入力された文字として扱われるように、
+転換
+.I xx
+を`アンフォーマット'します。
+例えば、
+.RS
+.IP
+.ne 7v+\n(.Vu
+.ft B
+.nf
+.ss 24
+\&.tr @.
+\&.di x
+\&@nr\e n\e 1
+\&.br
+\&.di
+\&.tr @@
+\&.asciify x
+\&.x
+.ss 12
+.fi
+.RE
+.IP
+はレジスタ
+.B n
+を 1 に設定します。
+.TP
+.B .backtrace
+入力スタックのバックトレースを標準エラー出力に出力します。
+.TP
+.BI .blm\ xx
+空行マクロを
+.IR xx
+に設定します。
+空行マクロが存在する場合、
+空行に出会った時に、
+通常の troff の振舞とは異なり、
+このマクロを呼び出します。
+.TP
+.B .break
+while ループを抜けます。
+.BR while ,
+.B continue
+リクエストも見て下さい。
+.B br
+リクエストと混同しないようにして下さい。
+.TP
+.BI .cflags\ n\ c1\ c2\|.\|.\|.
+文字
+.IR c1 ,
+.IR c2 ,\|.\|.\|.
+は、
+.I n
+で定義されるプロパティを持ちます。
+ここで
+.I n
+は以下のものを OR したものです。
+.RS
+.TP
+1
+この文字で文が終ります。
+(初期状態では文字
+.B .?!
+がこのプロパティを持ちます);
+.TP
+2
+この文字の前でラインブレイク可能です
+(初期状態ではこのプロパティを持つ文字はありません);
+両側の文字が非 0 のハイフネーションコードを持つ場合を除き、
+このプロパティを持つ文字の場所で
+ラインブレイクはしません。
+.TP
+4
+この文字の後でラインブレイク可能です
+(初期状態では文字
+.B \-\e(hy\e(em
+がこのプロパティを持ちます);
+両側の文字が非 0 のハイフネーションコードを持つ場合を除き、
+このプロパティを持つ文字の場所で
+ラインブレイクはしません。
+.TP
+8
+この文字は水平にオーバラップします。
+(初期状態では文字
+.B \e(ul\e(rn\e(ru
+がこのプロパティを持ちます);
+.TP
+16
+この文字は垂直にオーバラップします。
+(初期状態では文字
+.B \e(br
+がこのプロパティを持ちます);
+.TP
+32
+このプロパティを持つ文字が任意数後続し
+その後に改行もしくは 2 つの空白が後続するような文の終りを表す文字は、
+文の終りとして扱われます;
+言い替えると、この文字は文の終りの認識において透過です;
+\*(tx においてゼロ空白ファクタを持つのと同じです
+(初期状態では文字
+.B \(ts')]*\e(dg\e(rq
+がこのプロパティを持ちます)。
+.RE
+.TP
+.BI .char\ c\ string
+文字
+.I c
+を
+.IR string
+と定義します。
+文字
+.I c
+が表示される必要がある時はいつでも、
+一時的な環境で
+.I string
+が処理され、結果が単一のオブジェクトして生成されます。
+.I string
+の処理中は、
+互換モードはオフにされ
+エスケープ文字は
+.B \e
+に設定されます。
+太字化/定空白化/カーニングは、
+.IR string
+の各文字ではなくこのオブジェクトに対して適用されます。
+このリクエストによって定義された文字は、
+出力デバイスによって提供される通常の文字のように使用できます。
+特に、他の文字はこの文字に
+.B tr
+リクエストによって変換可能です;
+この文字は
+.B lc
+リクエストによってリーダ文字とすることが可能です;
+.BR \el ,
+.B \eL
+エスケープシーケンスによって、この文字を繰り返しパタンで
+使用することが可能です;
+.B hcode
+リクエストによってこの文字がハイフネーションコードを持てば、
+この文字を含む語は正確にハイフネーション可能です。
+また特殊な非再帰機能があります:
+文字の定義中にいて使用される文字は、
+通常の文字として扱われ、
+.B char
+では定義されたものではありません。
+文字の定義は
+.B rchar
+リクエストにて除去可能です。
+.TP
+.BI .chop\ xx
+マクロ/文字列/転換
+.IR xx
+から最後の文字を切り落とします。
+文字列として挿入される転換から最後の改行文字を除去するのに有効です。
+.TP
+.BI .close\ stream
+.I stream
+という名前のストリームをクローズします;
+.I stream
+は
+.B write
+リクエストの引数とはなりえなくなります。
+.B open
+リクエストを見て下さい。
+.TP
+.B .continue
+while ループの現在の繰り返しを終了します。
+.BR while ,
+.B break
+リクエストも見て下さい。
+.TP
+.BI .cp\ n
+.I n
+が非ゼロか存在しない場合、
+互換モードを有効にします。
+そうでない場合は互換モードを無効にします。
+互換モードでは、長い名前は理解されず、
+長い名前に起因する非互換性の問題は発生しません。
+.TP
+.BI .do\ xxx
+.I .xxx
+を互換モードを無効にして解釈します。
+例えば
+.RS
+.IP
+.B
+\&.do fam T
+.LP
+は、互換モードが有効であっても機能することを除けば、
+.IP
+.B
+\&.fam T
+.LP
+と同じ効果を持ちます。
+.I xxx
+で使用するファイルを解釈する前に互換モードは元に戻されることに注意して
+下さい。
+.RE
+.TP
+.BI .fam\ xx
+現在のフォントファミリを
+.IR xx
+に設定します。
+現在のフォントファミリは現在の環境の一部です。
+フォントファミリに関するさらなる情報は、
+.B sty
+リクエストの解説を見て下さい。
+.TP
+.BI .fspecial\ f\ s1\ s2\|.\|.\|.
+現在のフォントが
+.IR f
+の場合、
+フォント
+.IR s1 ,
+.IR s2 ,\|.\|.\|.
+がスペシャルとなります。
+すなわち、現在のフォントで存在しない文字が
+スペシャルフォントにおいて探されます。
+.B special
+リクエストで指定されたフォントは
+.B fspecial
+リクエストで指定されたフォントの後に探されます。
+.TP
+.BI .ftr\ f\ g
+フォント
+.I f
+を
+.IR g
+に変換します。
+.B \ef
+エスケープシーケンス中、
+.BR ft ,
+.BR ul ,
+.BR bd ,
+.BR cs ,
+.BR tkf ,
+.BR special ,
+.BR fspecial ,
+.BR fp ,
+.BR sty
+リクエスト中で、
+名前
+.I f
+で参照されるフォントに関して、フォント
+.I g
+が使用されます。
+.I g
+が指定されない場合および
+.I f
+と等しい場合は、
+フォント
+.I f
+は変換されません。
+.TP
+.BI .hcode \ c1\ code1\ c2\ code2\|.\|.\|.
+ハイフネーションコードの設定を、
+文字
+.I c1
+に対し
+.I code1
+、文字
+.I c2
+に対し
+.IR code2
+というふうに行います。
+ハイフネーションコードは、
+数字もしくは空白以外の単一入力文字(非スペシャルな文字)である必要があります。
+初期状態では、
+各小文字はハイフネーションコードをそれ自体の文字として持ち、
+各大文字はハイフネーションコードを各小文字として持ちます。
+.B hpf
+リクエストも見て下さい。
+.TP
+.BI .hla\ lang
+現在のハイフネーション言語を
+.IR lang
+に設定します。
+.B hw
+リクエストで指定されるハイフネーション例外
+および
+.B hpf
+リクエストで指定されるハイフネーションパタンは
+現在のハイフネーション言語に関連づけられます。
+.B hla
+リクエストは通常
+.B troffrc
+ファイルから起動されます。
+.TP
+.BI .hlm\ n
+ハイフネーションされた行が連続できる行数の最大値を
+.IR n
+に設定します。
+.I n
+が負の場合、最大値はありません。
+デフォルト値は \-1 です。
+この値は現在の環境と関連づけられています。
+行数のカウントは、一つの環境の中でその環境での最大値まで行われます。
+.B \e%
+の結果のハイフンはカウントされます; 明示的なハイフンはカウントされません。
+.TP
+.BI .hpf\ file
+ハイフネーションパタンを
+.IR file
+から読み込みます;
+ファイルの探索は、
+.BI \-m name
+オプションが指定された時に
+.BI tmac. name
+が探されるのと同じ方法で行われます。
+このパタンは
+\*(tx における \epatterns プリミティブの引数と
+同じフォーマットである必要があります;
+このファイル中の文字はハイフネーションコードとして解釈されます。
+パタンファイル中の
+.B %
+文字は行末までのコメントを表します。
+ハイフネーションパタンのセットは
+.B hla
+リクエストにより指定される言語に関連づけられます。
+.B hpf
+リクエストは通常
+.B troffrc
+ファイルにより起動されます。
+.TP
+.BI .hym\ n
+.I ハイフネーションマージン
+を
+.IR n
+に設定します:
+現在の修正モードが
+.BR b
+ではない時、
+行が
+.I n
+より短い場合には行はハイフネーションされません。
+デフォルトのハイフネーションマージンは 0 です。
+このリクエストに対するデフォルトのスケーリングインジケータは
+.IR m
+です。
+ハイフネーションマージンは現在の環境と関連づけられています。
+現在のハイフネーションマージンは
+.B \en[.hym]
+レジスタを介して利用可能です。
+.TP
+.BI .hys\ n
+.I ハイフネーション空白を
+.IR n
+に設定します:
+現在の修正モードが
+.B b
+の場合、
+各単語の間の間隔に追加する間隔の幅を
+.I n
+.\" 以下のエクストラ空白を追加することで行を調整できる場合、
+以下で行調整が済ませられる場合、その
+行はハイフネーションされません。
+デフォルトのハイフネーション空白は 0 です。
+このリクエストに対するデフォルトのスケーリングインジケータは
+.BR m
+です。
+ハイフネーション空白は現在の環境と関連づけられています。
+現在のハイフネーション空白は
+.B \en[.hys]
+レジスタを介して利用可能です。
+.TP
+.BI .kern\ n
+.I n
+が非 0 か指定されない場合、文字ペア間カーニングを有効にします。
+そうでない場合は文字ペア間のカーニングを無効にします。
+.TP
+.BI .mso\ file
+.I file
+の探索に際し、
+.BI \-m name
+オプションが指定されたときに
+.BI tmac. name
+が探されるのと同じように探されることを除けば、
+.B so
+リクエストと同じ挙動を示します。
+.TP
+.B .nroff
+.B n
+ビルトイン条件を真にし、
+.B t
+ビルトイン条件を偽にします。
+.B troff
+リクエストを使用することで、逆にできます。
+.TP
+.BI .open\ stream\ filename
+.I filename
+を書き込みのためにオープンし、
+.I stream
+という名前のストリームと関連づけます。
+.BR close ,
+.B write
+リクエストも見て下さい。
+.TP
+.BI .opena\ stream\ filename
+.BR open
+と同様ですが、
+.I filename
+が存在する場合、縮小することはせずに、アペンドします。
+.TP
+.B .pnr
+現在定義されている数値レジスタの名前と内容を標準エラー出力に出力します。
+.TP
+.BI .pso \ command
+入力が
+.IR command
+の標準出力であることを除けば、
+.B so
+リクエストのように動作します。
+.TP
+.B .ptr
+全てのトラップ(入力行のトラップと転換のトラップは除きます)
+の名前と位置を標準エラー出力に出力します。
+ページトラップリストの空のスロットも出力されます。
+なぜなら、後で設置されるトラップの優先度に影響を与え得るからです。
+.TP
+.BI .rchar\ c1\ c2\|.\|.\|.
+文字
+.IR c1 ,
+.IR c2 ,\|.\|.\|.
+の定義を取り除きます。
+.B char
+リクエストの影響を取り除きます。
+.TP
+.B .rj
+.TQ
+.BI .rj\ n
+後続する
+.I n
+入力行を右揃えします。
+引数が無い場合、次の行を右揃えします。
+右揃えされる行の数は
+.B \en[.rj]
+レジスタを介して利用可能です。
+本リクエストにより暗黙的に
+.BR .ce\ 0
+となります。
+.B ce
+リクエストは暗黙的に
+.BR .rj\ 0
+します。
+.TP
+.BI .rnn \ xx\ yy
+数値レジスタ
+.I xx
+を
+.IR yy
+にリネームします。
+.TP
+.BI .shc\ c
+ソフトハイフン文字を
+.IR c
+にします。
+.I c
+が省略された場合、
+ソフトハイフン文字はデフォルトの
+.BR \e(hy
+になります。
+ソフトハイフン文字は、語がラインブレイクによってハイフネーションされる時に
+挿入される文字です。
+ブレイクすべき位置の直前の文字のフォントにソフトハイフン文字が存在しない場合、
+そのような位置ではブレイクしません。
+ソフトハイフン文字を見付ける時には、
+定義(
+.B char
+リクエストで指定)も変換(
+.B tr
+リクエストで指定)も解釈されません。
+.TP
+.BI .shift\ n
+マクロ中で引数を
+.I n
+ポジションだけシフトします:
+引数
+.I i
+は引数
+.IR i \- n
+となります;
+引数 1 から
+.I n
+は使用不能となります。
+.I n
+が指定されない場合、
+引数は 1 シフトされます。
+負のシフトは現在未定義です。
+.TP
+.BI .special\ s1\ s2\|.\|.\|.
+フォント
+.IR s1 ,
+.IR s2 ,
+はスペシャルであり、
+現在のフォントには無い文字が探されます。
+.TP
+.BI .sty\ n\ f
+スタイル
+.I f
+をフォント位置
+.IR n
+と関連づけます。
+フォント位置はフォントもしくはスタイルと関連づけ可能です。
+現在のフォントはフォント位置のインデックスであり、
+つまり、フォントもしくはスタイルです。
+現在のフォントがスタイルである場合、
+実際に使用されるフォントは、
+現在のファミリ名と現在のスタイル名とを結合した名前をもつものとなります。
+例えば現在のフォントが 1 であり、フォント位置 1 がスタイル
+.B R
+と関連づけられており、
+現在のフォントファミリが
+.BR T
+である場合、
+フォント
+.BR TR
+が使用されます。
+現在のフォントがスタイルではない場合、
+現在のファミリは無視されます。
+リクエスト
+.BR cs ,
+.BR bd ,
+.BR tkf ,
+.BR uf ,
+.B fspecial
+がスタイルに適用される場合、
+実際は当該スタイルに対応する現在のファミリのメンバに対して適用されます。
+デフォルトファミリは
+.B \-f
+オプションで設定できます。
+.SM DESC
+ファイル中のスタイルコマンドが、
+(もし存在すれば)どのフォント位置が初期状態において
+フォントではなくスタイルに関連づけられているのかを制御します。
+.TP
+.BI .tkf\ f\ s1\ n1\ s2\ n2
+フォント
+.IR f
+に対しトラックカーニングを有効にします。
+現在のフォントが
+.I f
+である場合、
+全ての文字の幅が
+.I n1
+から
+.IR n2
+の範囲で増加します;
+現在のポイントサイズが
+.I s1
+以下の場合、幅は
+.IR n1
+増えます;
+現在のポイントサイズが
+.I s2
+以上の場合、幅は
+.IR n2
+増えます;
+ポイントサイズが
+.I s1
+以上かつ
+.I s2
+以下の場合は、
+増加する幅はポイントサイズの線形関数となります。
+.TP
+.BI .trf\ filename
+透過的にファイル
+.IR filename
+の内容を出力します。
+各行の出力は各行の先頭に
+.BR \e!
+ついたものとして出力されます。
+しかし、
+行はコピーモードにおける解釈の対象とはなりません。
+ファイルが改行文字で終らない場合、改行文字が追加されます。
+例えば、ファイル
+.IR f
+の内容を含むマクロ
+.I x
+を定義するには、
+.RS
+.IP
+.BI .di\ x
+.br
+.BI .trf\ f
+.br
+.B .di
+.LP
+とします。
+.B cf
+リクエストとは異なり、
+ファイル中には
+.SM NUL
+といった troff 入力文字として不正なものを含むことはできません。
+.RE
+.TP
+.B .trnt abcd
+.BR \e!
+により転換へ透過的に取り込まれるテキストに対して適用されないことを除いて、
+.B tr
+リクエストと同じです。
+例えば、
+.RS
+.LP
+.nf
+.ft B
+\&.tr ab
+\&.di x
+\e!.tm a
+\&.di
+\&.x
+.fi
+.ft
+.LP
+は
+.BR b
+を表示します;
+.B trnt
+が
+.B tr
+のかわりに使われた場合、
+.BR a
+を表示します。
+.RE
+.TP
+.B .troff
+.B n
+ビルトイン状態を偽に、
+.B t
+ビルトイン状態を真にします。
+.B nroff
+リクエストの効果を打ち消します。
+.TP
+.BI .vpt\ n
+.I n
+が非 0 の場合
+垂直位置トラップを有効にします。
+そうでない場合、垂直位置トラップを無効にします。
+垂直位置トラップは
+.B wh ,
+.B dt
+リクエストにより設定されるトラップです。
+.B it
+リクエストにより設定されるトラップは垂直位置トラップではありません。
+垂直位置トラップが発生するか否かを制御するこのパラメータは大域的です。
+初期状態では垂直位置トラップは有効です。
+.TP
+.BI .warn\ n
+警告を制御します。
+.I n
+は有効とされるべき警告と関連づけられた数の和です;
+その他の警告は無効となります。
+警告と関連づけられる数のリストは`警告'の章に記載します。
+例えば
+.B .warn 0
+は全ての警告を無効にします。
+また、
+.B .warn 1
+は存在しない文字に関する警告のみを有効にします。
+.I n
+が与えられない場合、
+全ての警告が有効になります。
+.TP
+.BI .while \ c\ anything
+条件
+.I c
+が真の間、
+.I anything
+を入力として受け付けます;
+.I c
+は
+.B if
+リクエストとして受理可能な任意の条件です;
+最初の行が
+.B \e{
+で開始され最後の行が
+.BR \e}
+で終了する場合、
+.I anything
+は複数行となり得ます。
+.BR break ,
+.B continue
+リクエストも見て下さい。
+.TP
+.BI .write\ stream\ anything
+.I anything
+を
+.IR stream
+という名前のストリームに書き込みます。
+.I stream
+はすでに
+.B open
+リクエストの対象であったはずです。
+.I anything
+がコピーモードで読まれます;
+先行する
+.B \(ts
+は取り除かれます。
+.SS 拡張されたリクエスト
+.TP
+.BI .cf\ filename
+転換の中で使用された場合は、後でその転換が読み込まれるときに、
+.I filename
+の内容が透過的に出力にコピーされるようなオブジェクトを
+その転換の中に埋め込みます。
+Unix troff では、
+現在、転換の中かどうかにかかわらず
+.I filename
+の内容はすぐに出力にコピーされます;
+この動作は変則的でありバグに違いありません。
+.TP
+.BI .ev\ xx
+.I xx
+が数でない場合、
+.IR xx
+で呼ばれる名前付き環境に切替えます。
+引数なしの
+.B ev
+リクエストに対しては、番号付き環境の場合と同様に、
+対応する環境がポップされます。
+名前のある環境の数には制限はありません;
+最初に参照される時に生成されます。
+.TP
+.BI .fp\ n\ f1\ f2
+.B fp
+リクエストはオプションで 3 番目の引数を取ります。
+この引数はフォントの外部名を与えます。
+この名前でフォント記述ファイルを探します。
+2 番目の引数はフォントの内部名であり、
+フォントをマウントした後に troff 中でフォントを参照するのに使用します。
+3 番目の引数が無い場合は内部名を外部名として使用します。
+この機能により、互換モードにて長い名前のフォントを使用できます。
+.TP
+.BI .ss\ m\ n
+.B ss
+リクエストに対し 2 つの引数が与えられる場合、
+2 番目の引数は
+.IR "文の空白サイズ"
+を与えます。
+2 番目の引数が与えられない場合、
+文の空白サイズは語の空白サイズと同じになります。
+語の空白サイズと同様、文の空白サイズは
+現在のフォントの空白幅パラメータの 1/12 を単位とします。
+語の空白サイズと文の空白サイズの初期値はともに 12 です。
+文の空白サイズは 2 つの状況にて使用されます:
+行詰めモードにて文の終りとなった場合、
+語間の空白と文の空白がともに追加されます;
+行の途中にて、文の終りに引続き 2 つの空白が後続する場合、
+2 番目の空白は文の空白となります。
+.ss
+リクエストの 2 番目の引数を与えなければ、
+GNU troff の動作は Unix troff の動作と完全に同じになります。
+GNU troff では Unix troff と同様、
+改行及び 2 つの空白にて文を追跡します。
+.TP
+.BI .ta\ n1\ n2\|.\|.\|.nn \ T\ r1\ r2\|.\|.\|.\|rn
+タブ位置を
+.IR n1 ,
+.IR n2 ,\|.\|.\|.\|,
+.I nn
+とし、その後タブ位置を
+.IR nn + r1 ,
+.IR nn + r2 ,\|.\|.\|.\|.\|,
+.IR nn + rn
+とし、その後タブ位置を
+.IR nn + rn + r1 ,
+.IR nn + rn + r2 ,\|.\|.\|.\|,
+.IR nn + rn + rn ,
+とし…ということを繰り返します。
+例えば、
+.RS
+.IP
+.B
+\&.ta T .5i
+.LP
+は 1/2 インチ毎にタブ位置とします。
+.RE
+.SS 新しい数値レジスタ
+以下の読み取り専用レジスタが利用可能です:
+.TP
+.B \en[.C]
+互換モード時に 1 に、そうでない場合は 0 になります。
+.TP
+.B \en[.cdp]
+現在の環境に付加されている最後の文字の深さ。
+文字がベースラインより下にいく場合に正になります。
+.TP
+.B \en[.ce]
+中央寄せされるべき残りの行数。
+この値は
+.B ce
+リクエストでセットされます。
+.TP
+.B \en[.cht]
+現在の環境に付加されている最後の文字の高さ。
+文字がベースラインの上にいく場合に正になります。
+.TP
+.B \en[.csk]
+現在の環境に付加されている最後の文字のスキュー値。
+文字の
+.I スキュー
+は、その文字の上に付くアクセントが
+その文字の中央からどれだけ右によって配置されるかを表します。
+.TP
+.B \en[.ev]
+現在の環境の名前もしくは番号。
+これは文字列で値を保持するレジスタです。
+.TP
+.B \en[.fam]
+現在のフォントファミリ。
+これは文字列で値を保持するレジスタです。
+.TP
+.B \en[.fp]
+次のフリーフォント位置の数を表します。
+.TP
+.B \en[.g]
+常に 1 です。
+マクロ中で GNU troff 下で動作しているかどうかを判定するには、この値を
+使用すること。
+.TP
+.B \en[.hla]
+.B hla
+リクエストにより設定された現在のハイフネーション言語。
+.TP
+.B \en[.hlc]
+連続してハイフネーション処理した行数。
+.TP
+.B \en[.hlm]
+連続してハイフネーション処理して良い最大値。
+この値は、
+.B hlm
+リクエストで設定されます。
+.TP
+.B \en[.hy]
+現在のハイフネーションフラグ(
+.B hy
+リクエストにて設定されます)。
+.TP
+.B \en[.hym]
+現在のハイフネーションマージン(
+.B hym
+リクエストにて設定されます)。
+.TP
+.B \en[.hys]
+現在のハイフネーション空白(
+.B hys
+リクエストにて設定されます)。
+.TP
+.B \en[.in]
+現在の出力行に適用されているインデント。
+.TP
+.B \en[.kern]
+文字ペア間カーニングが有効なら
+.B 1、
+そうでないなら
+.B 0
+です。
+.TP
+.B \en[.lg]
+現在のリガチャモードを表します(
+.B lg
+リクエストにて設定されます)。
+.TP
+.B \en[.ll]
+現在の出力行に適用する行の長さ。
+.TP
+.B \en[.lt]
+.B lt
+リクエストにより設定されたタイトル長。
+.TP
+.B \en[.ne]
+最後にトラップを起こした
+.B ne
+リクエストに必要だった空白の量。
+.B \en[.trunc]
+レジスタとともに使用します。
+.TP
+.B \en[.pn]
+次のページ番号:
+.B pn
+リクエストにて設定されるか、現在のページ番号に 1 を加えたものです。
+.TP
+.B \en[.ps]
+スケールドポイント単位で表した現在のポイントサイズです。
+.TP
+.B \en[.psr]
+スケールドポイント単位で表した最後にリクエストされたポイントサイズです。
+.TP
+.B \en[.rj]
+右揃えすべき行数。
+.B rj
+リクエストにより設定されます。
+.TP
+.B \en[.sr]
+最後にリクエストされた10進数分数ポイントで表すポイントサイズ。
+これは文字列で値を保持するレジスタです。
+.TP
+.B \en[.tabs]
+現在のタブ設定の文字列表記であり、
+.B ta
+リクエストの引数としてそのまま利用可能です。
+.TP
+.B \en[.trunc]
+最後に発生した垂直位置トラップにより縮められた垂直空白の量。
+トラップが
+.B ne
+リクエストにて生じた場合、
+.B ne
+リクエストにより垂直位置位置の移動分は差し引かれます。
+言い替えるなら、
+トラップが発生した場所で、トラップがなかったとした場合の垂直位置と、
+実際の垂直位置との差を表します。
+.B \en[.ne]
+レジスタとともに使用すると効果があります。
+.TP
+.B \en[.ss]
+.TQ
+.B \en[.sss]
+.B ss
+リクエストの最初の引数および 2 番目の引数により設定された値を与えます。
+.TP
+.B \en[.vpt]
+垂直位置トラップが有効の場合 1、そうでない場合は 0 です。
+.TP
+.B \en[.warn]
+現在有効となっている警告に関連づけられている数の和です。
+警告に関連づけられている数字のリストは`警告'節に記載されています。
+.TP
+.B \en(.x
+メジャーバージョン番号。
+例えばバージョン番号が
+.B 1.03
+の場合、
+.B \en(.x
+は
+.BR 1
+です。
+.TP
+.B \en(.y
+マイナーバージョン番号。
+例えばバージョン番号が
+.B 1.03
+の場合、
+.B \en(.y
+は
+.BR 03
+です。
+.LP
+以下のレジスタは
+.B \ew
+エスケープシーケンスで設定されます:
+.TP
+.B \en[rst]
+.TQ
+.B \en[rsb]
+.BR st ,
+.B sb
+レジスタと同様ですが、文字の高さと深さも考慮に入れます。
+.TP
+.B \en[ssc]
+最後の文字から下付き文字までに加えられる水平空白の量。
+負も取り得ます。
+.TP
+.B \en[skw]
+.B \ew
+引数における最後の文字の中央からどれほど右にずれて、
+ローマンフォントのアクセントの中央がその文字上に配置されるかを表します。
+.LP
+以下の読み書き可能な数値レジスタが利用可能です:
+.TP
+.B \en[systat]
+.B sy
+リクエストにより
+最後に実行された system() の戻り値。
+.TP
+.B \en[slimit]
+0 より大きい場合、入力スタックの最大オブジェクト数を表します。
+0 以下の場合、入力スタック上のオブジェクト数に制限はありません。
+制限が無い場合、仮想記憶を使い果たすまで再帰が続くことがあります。
+.SS その他
+.LP
+.SM DESC
+ファイルに記述されていないフォントは、
+参照された時点で自動的に次の利用可能なフォント位置にマウントされます。
+フォントを明示的に
+.B fp
+リクエストにて未使用のフォント位置にマウントする場合、
+最初の未使用のフォント位置にマウントしなければなりません。
+この位置は
+.B \en[.fp]
+レジスタにて参照できます;
+しかしながら、
+.B troff
+はこれを厳密には強いません。
+現在使用されている位置よりも
+多大に大きくずれる位置にマウントされることは許されません。
+.LP
+文字列の挿入は既に存在するマクロ引数を隠しはしません。
+それゆえマクロ中で
+.IP
+.BI . xx\ \e\e$@
+.LP
+をより効率良く行うためには、
+.IP
+.BI \e\e*[ xx ]\e\e
+.LP
+とします。
+.LP
+フォント記述ファイルに文字ペア間カーニング情報が含まれる場合、
+このフォントから出力される文字はカーニングされます。
+.B \e&
+を 2 つの文字間に置くことで、その文字間のカーニングを禁止できます。
+.LP
+条件において文字列を比較する場合、
+最初のデリミタと異なる入力レベルにおいて出現する文字は
+2 番目 3 番目のデリミタとして認識されません。
+これは
+.B tl
+リクエストにも当てはまります。
+.B \ew
+エスケープシーケンスにおいて、
+最初のデリミタ文字とは異なる入力レベルにある閉じる方のデリミタ文字は、
+認識されません。
+マクロ引数をデコードする時に、
+マクロ引数がダブルクオートで区切られる場合、
+最初のデリミタ文字とは異なる入力レベルにある文字は、
+閉じる方のデリミタ文字とは認識されません。
+.B \e$@
+の実装では、引数を括るダブルクオートは同じレベルとなることが保証されています。
+このレベルは引数の入力レベルとは異なります。
+長いエスケープ名中では
+.B ]
+は
+開く方の
+.BR ]
+の入力レベルと同じである場合を除き、
+閉じる方のデリミタとは認識されません。
+互換モードでは入力レベルに対する注意は払われません。
+.LP
+条件が増えました:
+.TP
+.BI .if\ r xxx
+数値レジスタ
+.IR xxx
+が存在する場合に真となります。
+.TP
+.BI .if\ d xxx
+文字列/マクロ/転換/リクエストに
+.IR xxx
+という名前のものがあった場合に真になります。
+.TP
+.BI .if\ c ch
+文字
+.IR ch
+が使用可能な場合に真になります;
+.I ch
+は
+.SM ASCII
+文字でもスペシャル文字
+.BI \e( xx \fR,
+.BI \e[ xxx ]\fR
+でもかまいません;
+.I ch
+が
+.B char
+リクエストにて定義された場合にも真になります。
+.SS 警告
+.B troff
+が出力する警告は以下のカテゴリに分類されます。
+各警告に関連する名前は
+.BI \-w ,
+.B \-W
+オプションで使用可能です;
+また番号は、
+.B warn
+リクエストおよび
+.B .warn
+レジスタが使用します。
+.nr x \w'\fBright-brace'+1n+\w'0000'u
+.ta \nxuR
+.TP \nxu+3n
+.BR char \t1
+存在しない文字。
+デフォルトで有効です。
+.TP
+.BR number \t2
+不正な数式。
+デフォルトで有効です。
+.TP
+.BR break \t4
+行詰めモードにて、行を分割できなかったため、
+行の長さよりも短くなってしまいました。
+デフォルトで有効です。
+.TP
+.BR delim \t8
+閉じる方のデリミタが無いもしくはマッチしません。
+.TP
+.BR el \t16
+対応する
+.B ie
+リクエストの無い、
+.B el
+リクエスト。
+.TP
+.BR scale \t32
+意味の無いスケーリングインジゲータ。
+.TP
+.BR range \t64
+引数が範囲を越えています。
+.TP
+.BR syntax \t128
+数式中の曖昧な文法。
+.TP
+.BR di \t256
+現在転換が無いにもかかわらず、
+引数無しで
+.BR di ,
+.B da
+を使用した。
+.TP
+.BR mac \t512
+未定義の文字列、マクロ、転換を使用した。
+未定義の文字列、マクロ、転換を使用した場合、
+文字列が自動的に空に定義されます。
+このため各名前に対する警告は大概最大 1 回だけです。
+.TP
+.BR reg \t1024
+未定義の数値レジスタを使用した。
+未定義の数値レジスタを使用した場合、
+レジスタが自動的に値 0 に定義されます。
+定義は自動的に値 0 にて行われます。
+このため各名前に対する警告は大概最大 1 回だけです。
+.TP
+.BR tab \t2048
+タブ文字の使用が不適切でした。
+数字が期待される場所でタブを使用したか、
+クオートされいてないマクロの引数中でタブ文字を使用したかの
+どちらかでしょう。
+.TP
+.BR right-brace \t4096
+数字が期待される場所で
+.B \e}
+が使用された。
+.TP
+.BR missing \t8192
+非オプション引数が足りないリクエスト。
+.TP
+.BR input \t16384
+不正な入力文字。
+.TP
+.BR escape \t32768
+認識できないエスケープシーケンス。
+認識できないエスケープシーケンスに会った場合は、
+そのエスケープ文字は無視されます。
+.TP
+.BR space \t65536
+リクエストもしくはマクロとそれらの引数の間に空白がありません。
+この警告は、2 文字より長い未定義の文字に会った場合で
+最初の 2 文字が定義された名前のときに起こり得ます。
+このときリクエストもしくはマクロは起動されません。
+この警告が発せられる時、どのようなマクロも自動的には定義されません。
+デフォルトで有効です。
+この警告は互換モードでは起こり得ません。
+.TP
+.BR font \t131072
+存在しないフォント。
+デフォルトで有効です。
+.TP
+.BR ig \t262144
+.B ig
+リクエストにより無視されたテキストの中にある不正なエスケープ。
+これらは無視されたテキストの中では発生しないエラーです。
+.LP
+警告のグループを指定する名前もあります:
+.TP
+.B all
+すべて、ただし
+.BR di ,
+.BR mac ,
+.BR reg
+を除きます。
+伝統的なマクロパッケージを使用する際に有用な警告の全てをカバーする
+ように導入されました。
+.TP
+.B w
+全ての警告。
+.SS 非互換性
+.LP
+長い名前を使用すると非互換性の問題が起こる場合があります。
+Unix troff は
+.IP
+.B
+\&.dsabcd
+.LP
+を文字列
+.B ab
+の定義であり、その内容が
+.BR cd
+であると解釈します。
+通常、GNU troff はこれをマクロ
+.BR dsabcd
+の呼び出しであると解釈します。
+また、Unix troff は
+.B \e*[
+と
+.B \en[
+を、文字列/数値レジスタ
+.BR [
+の参照であると解釈します。
+しかし、GNU troff では、これは通常長い名前の始まりであると解釈します。
+.I 互換モード
+では
+GNU troff はこれらを伝統的な方法で解釈します。
+また長い名前は認識されません。
+互換モードは
+.B \-C
+コマンドラインオプションにて有効に出来、
+.B cp
+リクエストにて有効無効の切替えが出来ます。
+互換モードが有効の場合には数値レジスタ
+.B \en(.C
+が 1 となり、そうでない場合は 0 となります。
+.LP
+GNU troff は文字列/マクロ/展開/数値レジスタ/フォント/環境の名前において、
+エスケープシーケンス
+.BR \\e\e|\e^\e&\e}\e{\e (space) \e'\e`\e-\e_\e!\e%\ec
+を使用することを許しません; 一方 Unix troff では出来ます。
+名前中でのこれらのエスケープシーケンスの使用を避けるには、
+.B \eA
+エスケープシーケンスが役に立つかもしれません。
+.LP
+分数のポイントサイズは顕著な非互換性を引き起こします。
+Unix troff では
+.B ps
+リクエストはスケールインジケータを無視するため
+.IP
+.B .ps\ 10u
+.LP
+はポイントサイズを 10 ポイントに設定しますが、
+GNU troff ではポイントサイズを 10 スケールドポイントに設定します。
+.LP
+GNU torff では、
+フォーマットされていない入力文字と
+フォーマットされた出力文字との間に基本的な違いがあります。
+出力文字がどのように出力されるのかに影響することがらは全て、
+その文字に記録されています。
+一度出力文字が構成されたならば、
+その出力文字はその後に実行されるリクエストの影響を受けません。
+このリクエストには
+.BR bd ,
+.BR cs ,
+.BR tkf ,
+.BR tr ,
+.B fp
+リクエストが含まれます。
+通常、
+出力文字が入力文字から構成されるのは、
+出力文字が現在の出力行に追加される直前です。
+マクロ/転換/文字列は実際同じタイプのオブジェクトです;
+すなわち入力文字のリストと出力の文字の任意の組合せのリストを保持しています。
+マクロ処理においては出力文字は入力文字のようには振舞いません;
+出力文字は、その元の入力文字が持っていた特殊なプロパティを
+一切継承しません。
+例えば、
+.IP
+.nf
+.ft B
+\&.di x
+\e\e\e\e
+\&.br
+\&.di
+\&.x
+.ft
+.fi
+.LP
+は GNU groff では
+.B \e\e
+を表示します;
+各
+.BR \e
+のペアは単一の出力
+.B \e
+になり、出力結果の複数の
+.BR \e
+は、再読み込みの時にはエスケープ文字としては解釈されません。
+Unix troff では再読み込みの時にはエスケープ文字として解釈されるため、
+最終的な結果は単一の
+.BR \e
+となります。
+表示可能な
+.B \e
+を得る正しい方法は、
+.B \ee
+エスケープシーケンスを使用することです:
+このエスケープシーケンスは、
+転換の中であるか否にかかわらず、
+常に現在のエスケープ文字実体を一つ表示します;
+これは GNU troff でも Unix troff でも動作します。
+転換中に、
+転換が再読み込みされた時に解釈されるような
+エスケープシーケンスを埋め込みたい場合、
+伝統的な
+.B \e!
+透過出力機構を使用するか、これが適当でないなら新しい
+.B \e?
+エスケープシーケンスを使用して下さい。
+.SH 環境変数
+.TP
+.SM
+.B GROFF_TMAC_PATH
+.B \&:
+で区切られた、マクロファイルを検索すべきディレクトリ名のリスト。
+.TP
+.SM
+.B GROFF_TYPESETTER
+デフォルトの出力デバイス
+.TP
+.SM
+.B GROFF_FONT_PATH
+.B \&:
+で区切られた、フォントを検索すべきディレクトリ名のリスト。
+troff は、まず -F オプションで指定されたディレクトリを検索し、次に本環
+境変数で指定されたディレクトリ、最後に標準のディレクトリ
+(
+.B /usr/share/groff_font
+)を検索します。
+.SH 関連ファイル
+.Tp \w'/usr/share/groff_font/devname/DESC'u+3n
+.B /usr/share/tmac/troffrc
+初期化ファイル
+.TP
+.BI /usr/share/tmac/tmac. name
+マクロファイル
+.TP
+.BI /usr/share/groff_font/dev name /DESC
+デバイス
+.I name
+のデバイス記述ファイル
+.TP
+.BI /usr/share/groff_font/dev name / F
+デバイス
+.I name
+におけるフォント
+.I F
+のフォント記述ファイル
+.SH 関連項目
+.BR groff (1)
+.BR tbl (1),
+.BR pic (1),
+.BR eqn (1),
+.BR grops (1),
+.BR grodvi (1),
+.BR grotty (1),
+.BR groff_font (5),
+.BR groff_out (5),
+.BR groff_char (7)
+.\" Kazuo HORIKAWA <horikawa@jp.freebsd.org>
+.\" USAGE から Incompatibilities まで訳出 (Dec 23, 1996)
+.\" Norihiro Kumagai <kuma@slab.tnr.sharp.co.jp>
+.\" 訳チェック (Jan 5, 1997)
diff --git a/ja/man/man1/true.1 b/ja/man/man1/true.1
new file mode 100644
index 0000000000..3d8a4d1b0c
--- /dev/null
+++ b/ja/man/man1/true.1
@@ -0,0 +1,61 @@
+.\" Copyright (c) 1983, 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)true.1 8.1 (Berkeley) 6/9/93
+.\" jpman %Id: true.1,v 1.2 1997/04/01 05:59:08 mutoh Stab %
+.\"
+.Dd June 9, 1993
+.Dt TRUE 1
+.Os
+.Sh 名称
+.Nm true
+.Nd 「真」の値を返す
+.Sh 書式
+.Nm
+.Sh 解説
+.Nm
+は、通常 Bourne シェルスクリプトで使われます。
+.Nm
+は、一連のコマンドを実行(あるいは実行に失敗)する前に、
+適切な状態であるかどうかの判定を行います。
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr false 1 ,
+.Xr sh 1
+.Sh 診断
+.Nm
+ユーティリティは常に終了コード0を返します。
+.Sh 規格
+.Nm true
+は POSIX 1003.2 互換であるはずです。
diff --git a/ja/man/man1/tset.1 b/ja/man/man1/tset.1
new file mode 100644
index 0000000000..01cbdd4c5d
--- /dev/null
+++ b/ja/man/man1/tset.1
@@ -0,0 +1,389 @@
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tset.1 8.1 (Berkeley) 6/9/93
+.\" jpman %Id: tset.1,v 1.2 1997/04/18 10:42:28 kuriyama Stab %
+.\"
+.Dd June 9, 1993
+.Dt TSET 1
+.Os BSD 4
+.Sh 名称
+.Nm tset
+.Nd 端末を初期化する
+.Sh 書式
+.Nm tset
+.Op Fl IQrSs
+.Op Fl
+.Op Fl e Ar ch
+.Op Fl i Ar ch
+.Op Fl k Ar ch
+.Op Fl m Ar mapping
+.Op Ar terminal
+.br
+.Nm reset
+.Op Fl IQrSs
+.Op Fl
+.Op Fl e Ar ch
+.Op Fl i Ar ch
+.Op Fl k Ar ch
+.Op Fl m Ar mapping
+.Op Ar terminal
+.Sh 解説
+.Nm
+は端末を初期化します。まず最初に
+.Nm
+は使用中の端末タイプを判別
+します。判別方法は、以下の値を順番に調べ、最初に見つかった端末タイプを
+利用するという方法です。
+.sp
+.Bl -bullet -compact -offset indent
+.It
+コマンドライン上で指定した
+.Ar terminal
+引数
+.It
+環境変数
+.Ev TERM
+の値
+.It
+利用中の標準エラー出力デバイスに対応する、
+.Pa /etc/ttys
+内のエントリで定義している端末タイプ
+.It
+デフォルトの端末タイプである ``unknown''
+.El
+.Pp
+端末タイプがコマンドラインで指定されない時は、
+.Fl m
+オプションのマッピングはその後に適用されます (詳細は下を参照)。
+その後、もし端末タイプの前に ``?''
+がついていたならば、端末タイプの確認用のプロンプトが出ます。空行を
+与えるとその端末タイプになりますが、別の新しい端末タイプを入力することも
+可能です。いったん端末タイプが決定すれば、その端末用の termcap エントリが
+検索されます。termcap エントリが見つからない場合は、もう一度プロンプトが
+出ます。
+.Pp
+いったん termcap エントリが見つかれば、(他にもたくさんある中で)
+画面サイズ、バックスペース、インタラプト、行消去のキャラクタがセットされ、
+端末の初期化およびタブの初期化の文字列が標準エラー出力に送られます。
+最後に、もし、消去、インタラプト、行削除のキャラクタが変更される、もしくは
+そのデフォルト値が未設定であれば、その値が標準エラー出力に表示されます。
+.Pp
+.Nm
+が
+.Nm reset
+として起動された時は、上で述べた端末初期化が行なわ
+れる前に、端末を cooked モード、echo モードにセットし、cbreak モード、
+raw モードをオフにし、newline 変換を有効にし、
+未設定の特殊キャラクタをデフォルト値でリセットします。
+これは、プログラムが端末を異常な状態にしたまま死んだ時に有用です。
+端末が異常な状態にあるときにはキャリッジリターンが働かないことがあるので、
+端末を正常に戻すためには
+.Dq Li <LF>reset<LF>
+(ラインフィードキャラクタは通常 コントロール-J です)
+とタイプしなければいけないかもしれないということに
+注意して下さい。また、端末がコマンドのエコーを行なわなくなっているかも
+しれません。
+.Pp
+オプションは以下のものがあります:
+.Bl -tag -width flag
+.It Fl
+端末タイプが標準出力に表示されます。端末は初期化されません。
+.It Fl e
+erase キャラクタを
+.Ar ch
+にします。
+.It Fl I
+端末初期化文字列もしくはタブ初期化文字列を端末に送りません。
+.It Fl i
+インタラプトキャラクタを
+.Ar ch
+にします。
+.It Fl k
+行削除のキャラクタを
+.Ar ch
+にします。
+.It Fl m
+ポートタイプから端末へのマッピングを指定します。詳細は下を参照して下さい。
+.It Fl Q
+消去、インタラプト、行削除の値を表示しません。
+.It Fl r
+端末タイプを標準エラー出力に表示します。
+.It Fl S
+端末タイプと termcap エントリを標準出力に表示します。
+環境設定についての詳細は以下のセクションを参照して下さい。
+.It Fl s
+環境変数
+.Ev TERM
+と
+.Ev TERMCAP
+を初期化する shell コマンド列を標準出力に書きます。
+環境変数の設定についての詳細は以下のセクションを参照して下さい。
+.El
+.Pp
+.Fl e ,
+.Fl i ,
+.Fl k
+オプションの引数は、実際のキャラクタを
+書くか、もしくは
+.Dq ハット記号
+を使って (すなわち コントロール-h なら
+.Dq Li ^H
+もしくは
+.Dq Li ^h
+) 記述して下さい。
+.Sh 環境設定
+しばしば、端末タイプと端末の能力についての情報を shell の環境変数に設定する
+必要がでてきます。これは
+.Fl S
+と
+.Fl s
+のオプションで行ないます。
+.Fl S
+オプションが指定された時、端末タイプと termcap エントリが
+標準出力に表示されます。この出力はスペースで区切られており、最後に
+改行がつきません。また、この出力は
+.Nm csh ,
+.Nm ksh
+やその他の shell の配列に
+代入できます。
+.Pp
+.Fl s
+オプションが指定された場合は shell の環境変数を設定するための
+コマンドが標準出力に書かれます。このコマンドは、環境変数
+.Ev SHELL
+の設定値が ``csh'' で終っていれば
+.Nm csh
+用の、それ以外は
+.Nm sh
+用のものとなります。
+.Nm csh
+用のコマンドの場合は
+.Dq noglob
+シェル変数の set と unset が行なわれ、
+unset したままになることに注意して下さい。以下の行を
+.Pa .login
+や
+.Pa .profile
+に記述すれば環境変数を正しく初期化できます:
+.Bd -literal -offset indent
+eval \`tset -s options ... \`
+.Ed
+.Pp
+.Fl S
+オプションの使い方を簡単に説明すると、
+.Pa .login
+に以下のような記述をすると上と同じような効果が得られます:
+.Bd -literal -offset indent
+set noglob
+set term=(`tset -S options ...`)
+setenv TERM $term[1]
+setenv TERMCAP "$term[2]"
+unset term
+unset noglob
+.Ed
+.Sh 端末タイプへのマッピング
+端末がシステムに組み込まれていない場合 (或は現在のシス
+テム情報が正しくない場合)
+.Pa /etc/ttys
+ファイル 或は
+.Ev TERM
+環境変数から得た端末タイプは
+.Dq network ,
+.Dq dialup ,
+.Dq unknown
+のような generic になることがあります。
+.Nm
+がスタートアップスクリプト
+(
+.Xr sh 1
+を使う場合は
+.Pa .profile
+、
+.Xr csh 1
+を使う場合は
+.Pa .login
+) で使われる場合は、しばしば、そのようなポートで使われる端末のタイプ
+の情報を提供する必要があります。
+.Fl m
+オプションの目的は、端末タイプの状態リストから
+.Dq map
+すること、すなわち
+.Nm
+に
+``もしこのポートがある特定のスピードであるならば、ある種の端末であることを
+推定しなさい''という情報を伝えることです。
+.Pp
+.Fl m
+オプションの引数は、ポートタイプ、オペレータ、ボーレート、コロン(``:'')
+と端末タイプからなります。
+ポートタイプは (オペレータ或はコロン文字によって区切られた) 文字列で表し
+ます。オペレータは、
+.Dq Li \&> ,
+.Dq Li \&< ,
+.Dq Li \&@ ,
+.Dq Li \&!
+の組合せになります。
+.Dq Li \&>
+は「より大きい」を意味し、
+.Dq Li \&<
+は「より小さい」を意味し、
+.Dq Li \&@
+は「等しい」を意味し、
+そして
+.Dq Li \&!
+は「 test の評価結果の反対」を意味します。
+ボーレートは数値として表され、 (コントロール端末である
+べき) 標準エラー出力のスピードと比較されます。
+端末タイプは文字列です。
+.Pp
+もし端末タイプがコマンドラインで示されなければ、
+.Fl m
+マッピングが端末タイプに適用されます。
+もしポートタイプとボーレートがマッピングと一致すると、マッピングで示された端
+末タイプでカレントタイプを置き換えます。もし、一つ以上のマッピングが示さ
+れた場合には、最初に適合したマッピングを使います。
+.Pp
+例えば、
+.Dq Li dialup>9600:vt100
+というマッピングを考えます。
+ポートタイプは
+.Dq Li dialup
+、オペレータは
+.Dq Li >
+、ボーレートは
+.Dq Li 9600
+、そして端末タイプは
+.Dq Li vt100
+です。
+このマッピングの結果、ターミナルタイプが
+.Dq Li dialup
+で、ボーレートが 9600 ボーより大きければ、端末タイプ
+.Dq Li vt100
+が使われます。
+.Pp
+ポートタイプがない場合は、端末タイプは任意のポートタイプに一致します。
+例えば、
+.Dq Li -m dialup:vt100 -m :?xterm
+では、任意のダイアルアップポートにおいて、
+ボーレートを無視してターミナルタイプを
+.Dq Li vt100
+に一致させます。そして、ダイアルアップ以外のポートをターミナルタイプ
+.Dq Li ?xterm
+に一致させます。
+?xterm はクエスチョンマークが先頭に付いているので、実際に
+.Ar xterm
+ターミナルを使っているかどうかについてデフォルトポートで
+確認を求められことに注意して下さい。
+.Pp
+.Fl m
+オプションでの引数に空白は許されません。
+メタキャラクタの問題を避けるために、
+.Fl m
+オプションの引数全体はシングルコーテーションで囲むこと、そして
+.Nm csh
+を使っている場合は、すべてのイクスクラメーションマーク (``!'') の前に
+バックスラッシュ (``\e'') をいれることを推奨します。
+.Sh 環境変数
+.Nm
+コマンドは、環境変数
+.Ev SHELL
+および
+.Ev TERM
+を利用します。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/misc/termcap -compact
+.It Pa /etc/ttys
+システムポート名から端末タイプへのマッピングを記述したデータベース
+.It Pa /usr/share/misc/termcap
+termcap データベース
+.El
+.Sh 関連項目
+.Xr csh 1 ,
+.Xr sh 1 ,
+.Xr stty 1 ,
+.Xr tty 4 ,
+.Xr termcap 5 ,
+.Xr ttys 5 ,
+.Xr environ 7
+.Sh 歴史
+.Nm
+は
+.Bx 3.0
+から現れました。
+.Sh 互換性
+.Fl A ,
+.Fl E ,
+.Fl h ,
+.Fl u ,
+.Fl v
+オプションは
+.Nm
+ユーティリティから削除されました。
+これらは 4.3BSD のドキュメントにはなく、限られた用途しかありません。
+.Fl a ,
+.Fl d ,
+.Fl p
+オプションも同様に、ドキュメントにないか有用ではありませんが、
+広く使われるので残されています。これら3つのオプショ
+ンの代わりに、
+.Fl m
+オプションを使うことが強く推奨されています。
+.Fl n
+オプションは残っていますが、無効です。
+.Fl e ,
+.Fl i ,
+.Fl k
+オプションは引数なしに使うことがまだ許されていますが、
+このような使用法は、 文字を明示的に指定するよう修正されることが
+強く推奨されています。
+.Pp
+.Nm reset
+として
+.Nm
+を実行する場合には、
+.Fl Q
+オプションは使いません。
+.Nm
+の幾つかの歴史的な実装上での
+.Fl
+オプションと
+引数
+.Ar terminal
+の間の干渉は排除されています。
+.Pp
+最後に,
+.Nm
+の実装は (
+.St -p1003.1-88
+に従うシステムへの追加の一部として ) 完全にやり直されました。
+もはや古い端末インターフェースのシステムの上では
+コンパイルはされないでしょう。
diff --git a/ja/man/man1/tsort.1 b/ja/man/man1/tsort.1
new file mode 100644
index 0000000000..779b81c723
--- /dev/null
+++ b/ja/man/man1/tsort.1
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This manual is derived from one contributed to Berkeley by
+.\" Michael Rendell of Memorial University of Newfoundland.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tsort.1 8.3 (Berkeley) 4/1/94
+.\" jpman %Id: tsort.1,v 1.3 1997/08/20 12:50:46 horikawa Stab %
+.\"
+.Dd April 1, 1994
+.Dt TSORT 1
+.Os
+.Sh 名称
+.Nm tsort
+.Nd 有向グラフのトポロジカルソートを行う
+.Sh 書式
+.Nm
+.Op Fl d
+.Op Fl l
+.Op Fl q
+.Op Ar file
+.Sh 解説
+.Nm
+はグラフの有向アークを表現するノード名の対を列挙したもの入力とし、
+トポロジカルな順序でノード名を標準出力に出力します。
+入力は指定されたファイル
+.Ar file
+から、あるいは指定がない場合は標準入力から読み込みます。
+.Pp
+入力においてノード名は空白で区切ります。
+ノード対の数は偶数個でなければなりません。
+.Pp
+グラフ中のノードは
+自分自身へのアークを持つノードとして記述することができます。
+これはノードが他のノードと接続されていない場合に有用です。
+.Pp
+グラフがサイクルを含んでいる(そのままではソートできない)場合、
+サイクル上の 1 つのアークを無視してソートを続行します。
+サイクルは標準エラー出力に報告されます。
+.Pp
+オプションは以下の通り:
+.Bl -tag -width Ds
+.It Fl d
+デバッグ機能を有効にします。
+.It Fl l
+最長サイクルを検索して表示します。
+かなり時間がかかる場合があります。
+.It Fl q
+サイクルに関して詳しい情報を表示しません。
+これは主としてライブラリ構築向けです。
+その場合必ずしも最適な順序を求める必要はなく、
+サイクルもしばしば含まれます。
+.El
+.Sh 関連項目
+.Xr ar 1
+.Sh 歴史
+.Nm
+コマンドは
+.At v7
+で登場しました。
+本
+.Nm tsort
+コマンドとマニュアルは Memorial University of Newfoundland の
+Michael Rendell による Berkeley に提供されたコードをベースにしています。
diff --git a/ja/man/man1/tty.1 b/ja/man/man1/tty.1
new file mode 100644
index 0000000000..bb0cfa11d4
--- /dev/null
+++ b/ja/man/man1/tty.1
@@ -0,0 +1,78 @@
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)tty.1 8.1 (Berkeley) 6/6/93
+.\" %Id: tty.1,v 1.2.2.1 1997/08/20 07:22:28 charnier Exp %
+.\" jpman %Id: tty.1,v 1.2 1997/03/29 11:52:12 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt TTY 1
+.Os
+.Sh 名称
+.Nm tty
+.Nd 端末名を返す
+.Sh 書式
+.Nm
+.Op Fl s
+.Sh 解説
+.Nm
+は、標準入力になっている端末の名前を標準出力へ出力します。この名前は、
+.Xr ttyname 3
+で得られる文字列です。標準入力が端末でない場合は、
+``not a tty'' と出力します。
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl s
+端末名を表示しません。結果は終了コードだけに反映されます。ただし、この
+オプションを使うよりは
+.Dq Li "test -t 0"
+コマンドを使ったほうがよりよいでしょう。
+.El
+.Pp
+.Nm
+は標準入力が端末だった場合は 0 を、端末でなかった場合
+は 1 を、エラーが起きた場合は 2 以上の値を返します。
+.Sh 関連項目
+.Xr test 1 ,
+.Xr ttyname 3
+.Sh 規格
+.Nm
+ユーティリティは
+.St -p1003.2-92
+準拠であると考えられています。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/ul.1 b/ja/man/man1/ul.1
new file mode 100644
index 0000000000..9a86e29fa4
--- /dev/null
+++ b/ja/man/man1/ul.1
@@ -0,0 +1,112 @@
+.\" %NetBSD: ul.1,v 1.3 1994/12/07 00:28:23 jtc Exp %
+.\"
+.\" Copyright (c) 1980, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ul.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: ul.1,v 1.2 1997/03/29 11:53:44 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt UL 1
+.Os BSD 4
+.Sh 名称
+.Nm ul
+.Nd 入力中のアンダライン生成コードを端末のシーケンスに変換する
+.Sh 書式
+.Nm
+.Op Fl i
+.Op Fl t Ar terminal
+.Op Ar name Ar ...
+.Sh 解説
+.Nm
+は、
+.Ar file
+が指定されていればそのファイルを、指定されていなければ標準入力を読み
+込み、アンダラインを表示すべき部分を、環境変数
+.Ev TERM
+で定義されている
+端末にあわせてアンダラインを表示するシーケンスに変換します。
+アンダラインのシーケンスを決定するために、
+.Pa /etc/termcap
+が読み込まれます。
+端末がアンダライン機能を持たず、強調表示機能を持っている場合に
+は、強調表示をかわりに使用します。もし端末が二重印字できる場合、
+すなわち端末自体にアンダラインを扱う機能がある場合には、
+.Nm
+は
+.Xr cat 1
+と同じになります。
+端末がアンダラインを扱えない場合は、アンダラインを無視します。
+.Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl i
+アンダラインのかわりに、次の行の当該位置にダッシュ `\-' を表示し
+ます。画面上で
+.Xr nroff
+出力でアンダラインを見たいときには有効です。
+.It Fl t Ar terminal
+.Ar terminal
+で端末を指定します。デフォルトでは環境変数
+.Ev TERM
+の値が使用されます。
+.Sh 環境変数
+.Bl -tag -width TERM
+.It Ev TERM
+tty デバイスの能力を表します (
+.Xr termcap 5
+参照)。
+通常、環境変数
+.Ev TERM
+は、ログイン時に、
+.Pa /etc/ttys
+に指定されたデフォルト端末タイプか、ユーザのログインプロセ
+スのなかで
+.Pa login
+ファイル (
+.Xr environ 7
+参照) によって設定されます。
+.Sh 関連項目
+.Xr colcrt 1 ,
+.Xr man 1 ,
+.Xr nroff 1
+.Sh バグ
+.Xr nroff 1
+は、通常、
+バックスペースとアンダライン文字の組とテキストとを交互に出力し、
+アンダラインを表します。
+.Nm
+は、このカーソルの逆方向への移動の最適化までは行ないません。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/uname.1 b/ja/man/man1/uname.1
new file mode 100644
index 0000000000..6bf9a27ce9
--- /dev/null
+++ b/ja/man/man1/uname.1
@@ -0,0 +1,92 @@
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)uname.1 8.3 (Berkeley) 4/8/94
+.\" jpman %Id: uname.1,v 1.2 1997/03/29 11:54:31 horikawa Stab %
+.\"
+.Dd "April 8, 1994"
+.Dt UNAME 1
+.Os
+.Sh 名称
+.Nm uname
+.Nd システムに関する情報を表示する
+.Sh 書式
+.Nm
+.Op Fl amnrsv
+.Sh 解説
+.Nm
+は、オペレーティングシステム実装の名前を標準出力へ出力します。
+オプションがあると、システムの特徴を標準出力へ出力します。
+.Pp
+オプション:
+.Bl -tag -width Ds
+.It Fl a
+は、
+.Fl m ,
+.Fl n ,
+.Fl r ,
+.Fl s ,
+.Fl v
+をすべて指定した場合と同一です。
+.It Fl m
+現在のハードウェアプラットフォームのタイプを標準出力に出力します。
+.It Fl n
+システム名を標準出力に出力します。
+.It Fl r
+現在のオペレーティングシステムのリリースレベルを標準出力へ出力します。
+.It Fl s
+オペレーティングシステム実装の名前を標準出力へ出力します。
+.It Fl v
+このリリースのオペレーティングシステムにおける
+バージョンレベルを標準出力へ出力します。
+.El
+.Pp
+もし
+.Fl a
+オプションが指定されるか、複数のオプションが指定されれば、
+出力はすべて一行にスペースで区切られて表示します。
+.Pp
+.Nm
+は、成功時に 0 を、エラー時は >0 を返します。
+.Sh 関連項目
+.Xr sysctl 3 ,
+.Xr uname 3 ,
+.Xr sysctl 8
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
+.Sh 規格
+.Nm
+コマンドは
+.St -p1003.2
+準拠であると考えられています。
diff --git a/ja/man/man1/unifdef.1 b/ja/man/man1/unifdef.1
new file mode 100644
index 0000000000..2b9b5dcbed
--- /dev/null
+++ b/ja/man/man1/unifdef.1
@@ -0,0 +1,138 @@
+.\" Copyright (c) 1985, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Dave Yost.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)unifdef.1 8.2 (Berkeley) 4/1/94
+.\" jpman %Id: unifdef.1,v 1.2 1997/03/29 11:55:37 horikawa Stab %
+.\"
+.Dd April 1, 1994
+.Dt UNIFDEF 1
+.Os BSD 4.3
+.Sh 名称
+.Nm unifdef
+.Nd #ifdef 行を取り除く
+.Sh 書式
+.Nm
+.Op Fl clt
+.Oo
+.Fl D Ns Ar sym
+.Fl U Ns Ar sym
+.Fl iD Ns Ar sym
+.Fl iD Ns Ar sym
+.Oc
+.Ar ...
+.Op Ar file
+.Sh 解説
+.Nm
+はファイルから #ifdef された行を削除する場合に用いられます。
+.Nm
+は #ifdef, #ifndef, #else, #endif 行を解釈します。
+.Nm
+にはコメント、クォート(シングルクォートとダブルクォート)で
+無効になるこれらのプリプロセッサマクロを
+判断するために必要な最小限の C 言語の知識しかありません。
+クォートの解析は非常に単純です。クォートに遭遇すると
+.Pq エスケープされたクォートを除いて
+対応するクォートが
+出現するまでの部分を全て無視します。途中でエスケープされていない
+改行が存在しても警告はしません。
+.Sh オプション
+.Bl -tag -width Ds -compact
+.It Fl D Ns Ar sym
+.It Fl U Ns Ar sym
+指定したシンボルを定義する、または未定義にすることを指定します。
+シンボルを定義するように指定した場合 ifdef で囲まれたブロックは
+出力され、未定義を指定した場合は削除されます。
+指定されたシンボル
+.Ar sym
+に対応する ifdef、ifndef、else、endif 行は削除されます。
+指定しなかったシンボルに関する ifdef や if 行は、対応
+する ifdef、else、endif 行とともに、そのまま出力されます。
+ifdef X が別の ifdef X 中に出現した場合、内側の ifdef は指定しなかった
+シンボルに関する ifdef と同等に扱われます。同じシンボルを複数指定した
+場合は最後の指定が有効となります。
+.Pp
+.It Fl c
+.Nm
+の効果を逆転します。すなわち、通常削除されるべき行を残し、
+残されるべき行を削除します。
+.Pp
+.It Fl l
+削除される部分を空行で置き換えます。
+.It Fl t
+C 言語のコメントとクォートの解釈を禁止します。通
+常のテキストファイル等に
+.Nm
+を適用する場合に有用です。
+.Pp
+.It Fl iD Ns Ar sym
+.It Fl iU Ns Ar sym
+無視すべき ifdef を指定します。C 言語コードで、ifdef を C 言語ではない
+部分やコメントや作りかけのコードを区切るために用いている場合は、その内
+部のクォートやコメントを無視するように指示する必要があります。無視すべき ifdef
+は
+.Fl D Ns Ar sym
+や
+.Fl U Ns Ar sym
+と同様の方法で指定します。
+.El
+.Pp
+.Nm
+は標準出力に出力を行い、ファイル名が指定されなかった場合は標準
+入力を使用します。
+.Pp
+.Nm
+は、4.1 BSD の
+.Xr diff 1
+の
+.Fl D Ns Ar sym
+オプションとともに使用することができます。
+.Sh 関連項目
+.Xr diff 1
+.Sh 診断
+不適切な else または endif を検出します。
+.br
+#ifdef に対応する #endif が現れる前にファイルが終了したとき、
+その #ifdef のある行番号を検出します。
+.Pp
+入力と出力が同一になる場合 0、そうでなければ 1、エラー時には 2
+を終了ステータスとして返します。
+.Sh バグ
+unifdef が `#if' を処理できるようにするべきです。
+.Pp
+ヌル文字を含む入力の場合には正しく動作しません。
+.Sh 歴史
+.Nm
+は
+.Bx 4.3
+から登場しました。
diff --git a/ja/man/man1/uniq.1 b/ja/man/man1/uniq.1
new file mode 100644
index 0000000000..069badac9e
--- /dev/null
+++ b/ja/man/man1/uniq.1
@@ -0,0 +1,128 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)uniq.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: uniq.1,v 1.2 1997/03/29 11:56:16 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt UNIQ 1
+.Os
+.Sh 名称
+.Nm uniq
+.Nd ファイル内の重複行の報告または、フィルタ出力
+.Sh 書式
+.Nm
+.Op Fl c | Fl d | Fl u
+.Op Fl f Ar fields
+.Op Fl s Ar chars
+.Oo
+.Ar input_file
+.Op Ar output_file
+.Oc
+.Sh 解説
+.Nm
+ユーティリティは、標準入力を読み込み、隣り合う行同士を比較し、
+重複した行を取り除いて標準出力へ書き込みます。
+隣り合った行が同じ内容だったら 2 行目以降を出力しません。
+同じ内容でも行が隣り合っていない場合は比較の対象になりませんので、
+まずファイルをソートする事が必要になるかもしれません。
+.Pp
+オプションとしては以下のものがあります:
+.Bl -tag -width Ds
+.It Fl c
+各出力行の先頭に、行が入力中に続けて出現した回数を表示し、空白一つあけて
+その行の内容を表示します。
+.It Fl d
+重複した行のみを出力します。
+.It Fl f Ar fields
+比較する時に、各入力行の先頭から
+.Ar fields
+個のフィールドを無視します。
+フィールドとは、空白文字で区切られた、空白以外の文字からなる文字列です。
+.Ar fields
+を指定するときは、最初のフィールドを 1 として数えます。
+.It Fl s Ar chars
+比較する時に、各入力行の先頭から
+.Ar chars
+文字を無視します。
+本オプションを
+.Fl f
+オプションと一緒に指定した場合は、
+.Ar fields
+個のフィールドに続く
+.Ar chars
+文字が無視されます。
+.Ar chars
+を指定するときは、最初の文字を 1 として数えます。
+.It Fl u
+入力の重複がなかった行のみを出力します。
+.\".It Fl Ns Ar n
+.\"(Deprecated; replaced by
+.\".Fl f ) .
+.\"Ignore the first n
+.\"fields on each input line when doing comparisons,
+.\"where n is a number.
+.\"A field is a string of non-blank
+.\"characters separated from adjacent fields
+.\"by blanks.
+.\".It Cm \&\(pl Ns Ar n
+.\"(Deprecated; replaced by
+.\".Fl s ) .
+.\"Ignore the first
+.\".Ar m
+.\"characters when doing comparisons, where
+.\".Ar m
+.\"is a
+.\"number.
+.El
+.Pp
+コマンドラインにさらに引数が指定されると、その最初の引数を入力ファイルの
+名前として使用し、その次の引数を出力ファイルの名前として使用します。
+.Pp
+.Nm
+ユーティリティは、成功した場合は 0 を、
+エラーが発生した場合は 0 より大きな値を返します。
+.Sh 互換性
+古くからある
+.Cm \&\(pl Ns Ar number
+と
+.Fl Ns Ar number
+のオプションは時代遅れですが、この実装ではまだサポートしています。
+.Sh 関連項目
+.Xr sort 1
+.Sh 規格
+.Nm
+ユーティリティは、
+.St -p1003.2
+互換であるはずです。
diff --git a/ja/man/man1/units.1 b/ja/man/man1/units.1
new file mode 100644
index 0000000000..43546397db
--- /dev/null
+++ b/ja/man/man1/units.1
@@ -0,0 +1,160 @@
+.\" %Id: units.1,v 1.2.2.1 1997/08/22 06:43:23 charnier Exp %
+.\" jpman %Id: units.1,v 1.3 1997/07/21 09:42:33 konuma Stab %
+.Dd July 14, 1993
+.Dt UNITS 1
+.Os
+.Sh 名称
+.Nm units
+.Nd いろいろな単位の換算を行う
+.Sh 書式
+.Nm
+.Op Fl f Ar filename
+.Op Fl qv
+.Op Ar to-unit from-unit
+.Sh まとめ
+.Bl -tag -width indent
+.It Fl f Ar filename
+単位換算用のデータファイル名を指定します。
+.It Fl q
+求める単位の入力プロンプトと、
+換算する単位の入力プロンプトの表示を抑制します。
+.It Fl v
+バージョン番号を表示します。
+.It Ar from-unit to-unit
+コマンドラインから直接、単位換算を行ないます。
+プロンプトは表示せず、
+指定した換算結果を表示し終了します。
+.Sh 解説
+.Nm
+プログラムは様々な単位で表された量を他の単位に換算します。
+乗算で求められる単位の換算のみ行なえますが、
+摂氏から華氏への変換などはできません。
+入力プロンプトを介して、対話的に動作します。
+.Bd -literal
+
+ You have: meters
+ You want: feet
+ * 3.2808399
+ / 0.3048
+
+ You have: cm^3
+ You want: gallons
+ * 0.00026417205
+ / 3785.4118
+
+ You have: meters/s
+ You want: furlongs/fortnight
+ * 6012.8848
+ / 0.00016630952
+
+ You have: 1|2 inch
+ You want: cm
+ * 1.27
+ / 0.78740157
+.Ed
+.Pp
+単位の中で累乗を表す部分は、上の例のように `^' を用いて表すか、
+あるいは単に連結して表記します。例えば `cm3' は `cm^3' と等価です。
+単位の掛け算を表すには、空白、ダッシュあるいはアスタリスクを用います。
+単位の割り算には `/' を用います。
+掛け算は割り算より高い優先度を持ちますから、
+`m/s/s' は `m/s^2' あるいは `m/s s' と同じ意味になります。
+数値の割り算には縦棒(`|')を用いなければなりません。
+例えば 1 メートルの半分を変換するには、`1|2 meter' と書きます。
+もし `1/2 meter' と書くと、
+.Nm
+はそれを `0.5/meter' と解釈します。
+換算できない単位型を指定すると、
+.Nm
+はそれに対応していない旨の
+メッセージを表示し、各単位の簡略形を示します。
+.Bd -literal
+
+ You have: ergs/hour
+ You want: fathoms kg^2 / day
+ conformability error
+ 2.7777778e-11 kg m^2 / sec^3
+ 2.1166667e-05 kg^2 m / sec
+.Ed
+.Pp
+換算に必要な情報は、換算用データベースファイルから読み込まれます。
+デフォルトのファイルには、よく用いられる単位のほとんど、
+省略形、メートル法の接頭語、などの定義が含まれています。
+以下のような自然定数もいくつか含まれています:
+.Pp
+.Bl -inset -offset indent -compact
+.It pi 円周率
+.It c 光速
+.It e 電子の電荷
+.It g 重力加速度
+.It force g と同じ
+.It mole アボガドロ数
+.It water 単位水柱の圧力
+.It mercury 単位水銀柱の圧力
+.It au 天文単位
+.El
+.Pp
+`pound' (ポンド) は質量の単位です。
+複合した単位名は連結して記述します。
+`poundforce' は力の単位です。
+`ounce' (オンス) もまた質量の単位です。
+液体のオンスは `floz' です。
+英米で同じ単位の値が異なる場合、英国式単位の前に `br' を付けます。
+通貨単位の場合には `belgiumfranc' や `britainpound' のように頭に国名を付けて区
+別します。
+単位を探す際に指定された文字列そのものが単位名として見つからない場合、
+.Nm
+は末尾の `s' や `es' を取り除いて再度チェックします。
+.Pp
+どのような単位が利用可能か、については、標準の単位ファイルを参照して
+下さい。
+独自の単位を追加したいなら、独自のファイルを指定できます。
+単位の指定は、1 行に名前とそれに相当する量を書きます。
+新しい単位は古い単位に基づいて定義し、
+単位を変換していくと `!' 印を付した原始単位にたどりつく
+ように注意してください。
+不注意で単位定義に無限ループがあっても
+.Nm
+はそれを検知しません。
+単位定義ファイル中において `/' で始まる行はコメントです。
+.Pp
+接頭語の定義も標準的な単位と同形式で行ないますが、
+接頭語名の末尾にダッシュをつけます。
+末尾の `s' や `es' を取り除いても、単位名として見つからない場合は、
+接頭語かどうかがチェックされ、
+接頭語を取り除くと有効な基本単位名となるかを調べます。
+.Pp
+基本的な単位を定義する簡単な単位ファイルの例を以下に示します。
+.Pp
+.Bl -inset -offset indent -compact
+.It m !a!
+.It sec !b!
+.It micro- 1e-6
+.It minute 60 sec
+.It hour 60 min
+.It inch 0.0254 m
+.It ft 12 inches
+.It mile 5280 ft
+.El
+.Sh バグ
+.Pp
+接頭語に `/' が含まれるとびっくりする結果を生みます。
+.Pp
+ユーザが入力する累乗部分は 1 桁でなければなりません。
+必要なら何度か掛け合わせて下さい。
+.Pp
+数の除算には `|' を用い、シンボルの除算には `/' を用いなければなりませんが、
+このような区別は不要にすべきです。
+.Pp
+このプログラムは、換算した表示桁数の制限がばらばらですし、
+データファイルの長さにも制限があります。
+.Pp
+単位を格納するのにハッシュ表を用い、
+単位表のロードと重複チェックの時間を軽減すべきです。
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/misc/units.lib -compact
+.It Pa /usr/share/misc/units.lib
+標準単位ライブラリ
+.El
+.Sh 作者
+.An Adrian Mariano Aq adrian@cam.cornell.edu
diff --git a/ja/man/man1/unvis.1 b/ja/man/man1/unvis.1
new file mode 100644
index 0000000000..4a6b18c5e9
--- /dev/null
+++ b/ja/man/man1/unvis.1
@@ -0,0 +1,59 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)unvis.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: unvis.1,v 1.2 1997/05/22 07:50:21 mitchy Stab %
+.\"
+.Dd June 6, 1993
+.Dt UNVIS 1
+.Os BSD 4.4
+.Sh 名称
+.Nm unvis
+.Nd "表示できるように変換されたデータを元の形式に戻す"
+.Sh 書式
+.Nm
+.Op Ar
+.Sh 解説
+.Nm unvis
+は、
+.Xr vis 1
+の逆関数です。
+表示できるように変換されたデータを
+元の形式に戻し、標準出力に出力します。
+.Sh 関連項目
+.Xr vis 1 ,
+.Xr unvis 3 ,
+.Xr vis 3
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/uptime.1 b/ja/man/man1/uptime.1
new file mode 100644
index 0000000000..21b57adc40
--- /dev/null
+++ b/ja/man/man1/uptime.1
@@ -0,0 +1,58 @@
+.\" Copyright (c) 1980, 1990, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)uptime.1 8.2 (Berkeley) 4/18/94
+.\" jpman %Id: uptime.1,v 1.2 1997/04/24 03:55:26 mitchy Stab %
+.\"
+.Dd April 18, 1994
+.Dt UPTIME 1
+.Os BSD 3
+.Sh 名称
+.Nm uptime
+.Nd システムの稼働時間を表示する
+.Sh 書式
+.Nm
+.Sh 解説
+.Nm
+は現在の時刻、システムが起動してからの時間、システム上の
+ユーザ数、システムの最近の1, 5, 15分間の平均負荷を表示します。
+.Sh 関連ファイル
+.Bl -tag -width /kernel
+.It Pa /kernel
+システムの名前リスト
+.El
+.Sh 関連項目
+.Xr w 1
+.Sh 歴史
+.Nm
+は
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/users.1 b/ja/man/man1/users.1
new file mode 100644
index 0000000000..d9be8fa76b
--- /dev/null
+++ b/ja/man/man1/users.1
@@ -0,0 +1,60 @@
+.\" Copyright (c) 1980, 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)users.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: users.1,v 1.2 1997/05/04 13:40:28 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt USERS 1
+.Os BSD 3
+.Sh 名称
+.Nm users
+.Nd 現在のユーザのリスト
+.Sh 書式
+.Nm
+.Sh 解説
+.Nm
+は、システムに現在いるユーザのログイン名のリストを表示しま
+す。リストは、空白で区切られ、ソートされて、1 行で表示されます。
+.Sh 関連ファイル
+.Bl -tag -width /var/run/utmp
+.It Pa /var/run/utmp
+.El
+.Sh 関連項目
+.Xr finger 1 ,
+.Xr last 1 ,
+.Xr who 1 ,
+.Xr utmp 5
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 3.0
+から登場しました。
diff --git a/ja/man/man1/uucp.1 b/ja/man/man1/uucp.1
new file mode 100644
index 0000000000..0e5019e19f
--- /dev/null
+++ b/ja/man/man1/uucp.1
@@ -0,0 +1,218 @@
+''' %Id: uucp.1,v 1.4 1995/08/19 21:30:08 ache Exp %
+.\" jpman %Id: uucp.1,v 1.3 1997/08/19 00:44:58 h-nokubi Stab %
+.TH uucp 1 "Taylor UUCP 1.06"
+.SH 名称
+uucp \- Unix 間のコピー
+.SH 書式
+.B uucp
+[ options ] source-file destination-file
+.PP
+.B uucp
+[ options ] source-file... destination-directory
+.SH 解説
+.I uucp
+コマンドはシステム間でのファイルのコピーを行います。各
+.I file
+引数は、ローカルマシンのパス名か、
+.IP
+system!path
+.LP
+の形式のリモートシステムのファイル名のどちらかになります。
+第一の書式では、最初のファイルの内容が二番目のファイルにコピーされます。
+第二の書式では、全てのソースファイルが宛先ディレクトリにコピーされます。
+
+.I system1
+経由で
+.I system2
+へ、あるいは、
+.I system1
+経由で
+.I system2
+から転送されるファイルは、
+.IP
+system1!system2!path
+.LP
+という形で表す事ができます。
+
+.B \-W
+あるいは
+.B \--noexpand
+オプションがなければ、/ あるいは ~ で始まらないパス名はその前に
+カレントディレクトリのパス名が付けられます。
+このパスはリモートシステムに存在している必要はありません。~ のみで始まる
+パス名は UUCP パブリックディレクトリと解釈され、~name で始まる
+パス名は name というユーザのホームディレクトリと
+解釈されます。~ は、適切なシステムで解釈されます。ある種のシェルは、~ を
+.I uucp
+が解釈する前にローカルのホームディレクトリと解釈してしまいます。
+これを避けるためには、~ をクォートしなければいけません。
+
+シェルのメタキャラクタの ? * [ ] は、ローカルのシェルが解釈して
+しまわない様にクォートされていれば、適切なシステムで解釈されます。
+
+実際のコピーはすぐには実行されず、
+.I uucico
+(8) デーモンのキューに蓄積されます。
+.B \-r
+あるいは
+.B \-\-nouucico
+オプションがなければ、デーモンはすぐに実行されます。いずれの場合も、
+次にリモートシステムが呼び出された時にファイルがコピーされます。
+.SH オプション
+以下のオプションが
+.I uucp
+で使用可能です。
+.TP 5
+.B \-c, \-\-nocopy
+ローカルファイルをスプールディレクトリにコピーしません。
+もし、
+.I uucico
+(8) デーモンにより実際のコピーを行う前に、そのローカルファイルが
+消去されてしまった場合、コピーは失敗します。
+ファイルは
+.I uucico
+(8) デーモンと
+.I uucp
+を起動したユーザの両者から read 可能でなければなりません。
+.TP 5
+.B \-C, \-\-copy
+ローカルファイルをスプールディレクトリにコピーします。
+デフォルトはこの設定です。
+.TP 5
+.B \-d, \-\-directories
+コピーを行う際に、必要な全てのディレクトリを作成します。
+デフォルトはこの設定です。
+.TP 5
+.B \-f, \-\-nodirectories
+もし、宛先パスに必要なディレクトリが存在しなければコピーを中止します。
+.TP 5
+.B \-R, \-\-recursive
+ソースファイルにひとつでもディレクトリが含まれていた場合、その中身を
+再帰的に宛先にコピーします。宛先は、ディレクトリでなければいけません。
+.TP 5
+.B \-g grade, \-\-grade grade
+ファイル転送の優先度を指定します。高い優先度を持つジョブが
+先に実行されます。優先度は、高い方から 0 ... 9 A ... Z a ... z
+となっています。
+.TP 5
+.B \-m, \-\-mail
+.I mail
+(1) を使用して、ファイル転送の完了あるいは失敗を通知します。
+.TP 5
+.B \-n user, \-\-notify user
+.I mail
+(1) を使用して、リモートシステムの指定されたユーザに
+ファイル転送の完了あるいは失敗を通知します。
+.TP 5
+.B \-r, \-\-nouucico
+.I uucico
+(8) デーモンを即時実行しません。後で処理されるように単にファイル転送をキューに
+貯めるだけです。
+.TP 5
+.B \-j, \-\-jobid
+ジョブの id を標準出力に表示します。ジョブの id を
+.I uustat
+(1) コマンドの
+.B \-k
+スイッチとともに指定する事により、ジョブを取り消す事ができます。
+複雑な操作をした場合、複数のジョブ id がそれぞれ独立の行として
+表示される場合があります。例えば、
+.br
+.in +0.5i
+.nf
+uucp sys1!~user1/file1 sys2!~user2/file2 ~user3
+.fi
+.in -0.5i
+を実行するとシステム
+.I sys1
+向けのジョブと、システム
+.I sys2
+向けのジョブの二つのジョブが発生します。
+.TP 5
+.B \-W, \-\-noexpand
+リモートの相対ファイル名の前にカレントディレクトリを補完しません。
+.TP 5
+.B \-t, \-\-uuto
+このオプションは
+.I uuto
+シェルスクリプトにより使用されます。このオプションがあると、
+.I uucp
+は、最後の引数を
+.I system!user
+と解釈します。
+ファイルはリモートシステムの
+.I ~/receive/USER/LOCAL
+に送られます。ここで、
+.I USER
+は最後の引数の user で、
+.I LOCAL
+は、ローカルの UUCP システム名です。
+更に、
+.I uucp
+は
+.I \-\-notify user
+オプションが指定されたとみなして動作します。
+.TP 5
+.B \-x type, \-\-debug type
+特定のデバッグタイプを指定します。タイプとしては、
+abnormal、chat、handshake、uucp-proto、proto、port、
+config、spooldir、execute、incoming、outgoing があります。
+.I uucp
+では、
+abnormal、config、spooldir および execute だけが意味を持ちます。
+
+コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
+.B \-\-debug
+オプションは、1回のコマンド起動で複数回指定可能です。
+また、タイプとして数字を指定することも可能で、前述のリストから
+指定した数のデバッグタイプを有効にします。
+例えば、
+.B \-\-debug 2
+は、
+.B \-\-debug abnormal,chat
+と同じ意味です。
+.TP 5
+.B \-I file, \-\-config file
+使用する初期設定ファイルを指定します。
+ただし、本オプションが使用可能かどうかは、
+.I uucp
+がどのようにコンパイルされたかによります。
+.TP 5
+.B \-v, \-\-version
+バージョンを表示し、終了します。
+.TP 5
+.B \-\-help
+ヘルプを表示し、終了します。
+.SH 関連ファイル
+関連ファイル名は、コンパイル時の指定ないしは初期設定ファイルにより
+変化します。以下に挙げるものは、その一例です。
+
+.br
+/etc/uucp/config - 初期設定ファイル
+.br
+/var/spool/uucp -
+UUCP スプールディレクトリ
+.br
+/var/spool/uucp/Log -
+UUCP ログファイル
+.br
+/var/spool/uucppublic -
+デフォルトの UUCP パブリックディレクトリ
+.SH 関連項目
+mail(1), uux(1), uustat(1), uucico(8)
+.SH バグ
+オプションのいくつかは、リモートシステムの
+.I uucico
+(8) デーモンによっては使用できません。
+
+.I \-n
+および
+.I \-m
+オプションは、ファイルをリモートシステムから別のリモートシステムへ
+転送する場合は動作しません。
+
+実行ビットを除いて、ファイルのモードは保存されません。転送されたファイルの
+所有者は uucp ユーザになります。
+.SH 作者
+Ian Lance Taylor
+<ian@airs.com>
diff --git a/ja/man/man1/uuencode.1 b/ja/man/man1/uuencode.1
new file mode 100644
index 0000000000..13e7c3ee8f
--- /dev/null
+++ b/ja/man/man1/uuencode.1
@@ -0,0 +1,137 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)uuencode.1 8.1 (Berkeley) 6/6/93
+.\" %Id: uuencode.1,v 1.3.2.1 1997/08/25 06:29:53 charnier Exp %
+.\" jpman %Id: uuencode.1,v 1.2 1997/03/29 11:57:08 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt UUENCODE 1
+.Os BSD 4
+.Sh 名称
+.Nm uuencode ,
+.Nm uudecode
+.Nd バイナリファイルのエンコード、デコード
+.Sh 書式
+.Nm uuencode
+.Op Ar file
+.Ar name
+.Nm uudecode
+.Op Fl cp
+.Op Ar
+.Sh 解説
+.Nm uuencode
+および
+.Nm uudecode
+は
+.Tn ASCII
+データ以外のデータ転送をサポートしてない伝送路を用いてバイナリファイル
+を送る場合に用いられます。
+.Pp
+.Nm uuencode
+は
+.Ar file
+(無指定時には標準入力) よりデータを読み込み、符号化されたデータを標準
+出力へ出力します。出力データには、
+.Tn ASCII
+キャラクタしか含まれません。また、このデータには、
+.Nm uudecode
+を用いて元のファイルを復元する時に必要となるファイルのモードと
+.Ar name
+が含まれます。
+.Pp
+.Nm uudecode
+は
+.Em uuencode
+によって生成されたファイル (もしくは、標準入力からのデータ) を元の形式
+に変換します。生成されるファイルは、
+.Nm uudecode
+時に指定された名前 (
+.Ar name
+) になり、ファイルモードなどは変換前のものが採用されま
+すが、setuid ビットと実行ビットは引き継がれません。本プログラムは
+.Nm uuencode
+された部分の前および後ろにいかなる情報が付加されていようと、それらを無視して
+.Nm uuencode
+された部分にのみ処理をかけます。
+.Pp
+以下のオプションを
+.Nm uudecode
+で使用可能です:
+.Bl -tag -width ident
+.It Fl c
+.Ar file
+から、可能であるならば複数の uuencode されたファイルをデコードします。
+.It Fl p
+.Ar file
+をデコードし、標準出力に出力します。
+.Sh 使用例
+ソースツリーを compress し、uuencode し、別のシステムにメールで送る例を
+以下に示します。
+.Nm uudecode
+が転送される側のシステムで実行されると、
+``src_tree.tar.Z'' が生成されます。
+このファイルはその後 uncompress され、元のツリーが展開されるでしょう。
+.Pp
+.Bd -literal -offset indent -compact
+tar cf \- src_tree \&| compress \&|
+uuencode src_tree.tar.Z \&| mail sys1!sys2!user
+.Ed
+
+以下の例では、すべての uuencode されたファイルを、
+あなたのメールボックスから現在の作業ディレクトリへ展開します。
+.Pp
+.Bd -literal -offset indent -compact
+uudecode -c < $MAIL
+.Ed
+
+以下の例では、compress された tar アーカイブをあなたのメールボックスから
+展開します。
+.Pp
+.Bd -literal -offset indent -compact
+uudecode -p < $MAIL | zcat | tar xfv -
+.Ed
+.Sh 関連項目
+.Xr compress 1 ,
+.Xr mail 1 ,
+.Xr uucp 1 ,
+.Xr uuencode 5
+.Sh バグ
+符号化されたファイルの大きさは、元のファイルの大きさに比較して 35% ほ
+ど大きくなります。これは、3byte のデータを 4byte + 制御符号に変換する
+ためです。
+.Sh 歴史
+.Nm uuencode
+および
+.Nm uudecode
+は
+.Bx 4.0
+から登場しました。
diff --git a/ja/man/man1/uustat.1 b/ja/man/man1/uustat.1
new file mode 100644
index 0000000000..9820922806
--- /dev/null
+++ b/ja/man/man1/uustat.1
@@ -0,0 +1,555 @@
+''' %Id: uustat.1,v 1.6 1996/02/02 00:26:06 mpp Exp %
+.\" jpman %Id: uustat.1,v 1.2 1997/03/29 11:58:00 horikawa Stab %
+.TH uustat 1 "Taylor UUCP 1.06"
+.SH 名称
+uustat \- UUCP システム状態のチェックや制御を行なう
+.SH 書式
+.B uustat \-a
+.PP
+.B uustat \-\-all
+.PP
+.B uustat
+[
+.B \-eKRiMNQ ] [
+.B \-sS
+system ] [
+.B \-uU
+user ] [
+.B \-cC
+command ] [
+.B \-oy
+hours ] [
+.B \-B
+lines ] [
+.B \-\-executions
+] [
+.B \-\-kill-all
+] [
+.B \-\-rejuvenate-all
+] [
+.B \-\-prompt
+] [
+.B \-\-mail
+] [
+.B \-\-notify
+] [
+.B \-\-no-list
+] [
+.B \-\-system
+system ] [
+.B \-\-not-system
+system ] [
+.B \-\-user
+user ] [
+.B \-\-not-user
+user ] [
+.B \-\-command
+command ] [
+.B \-\-not-command
+command ] [
+.B \-\-older-than
+hours ] [
+.B \-\-younger-than
+hours ] [
+.B \-\-mail-lines
+lines ]
+.PP
+.B uustat
+[
+.B \-kr
+jobid ] [
+.B \-\-kill
+jobid ] [
+.B \-\-rejuvenate
+jobid ]
+.PP
+.B uustat \-q [
+.B \-sS
+system ] [
+.B \-oy
+hours ] [
+.B \-\-system
+system ] [
+.B \-\-not-system
+system ] [
+.B \-\-older-than
+hours ] [
+.B \-\-younger-than
+hours ]
+.PP
+.B uustat \-\-list [
+.B \-sS
+system ] [
+.B \-oy
+hours ] [
+.B \-\-system
+system ] [
+.B \-\-not-system
+system ] [
+.B \-\-older-than
+hours ] [
+.B \-\-younger-than
+hours ]
+.PP
+.B uustat \-m
+.PP
+.B uustat \-\-status
+.PP
+.B uustat \-p
+.PP
+.B uustat \-\-ps
+.SH 解説
+.I uustat
+コマンドは、UUCPシステムに関するいろんな情報を表示します。また、
+本コマンドを用いることで、
+.I uucp
+(1) や
+.I uux
+(1)で作成されたジョブを取り消したり、ジョブのタイムスタンプの若返りを行なったりすることが
+出来ます。
+
+デフォルトでは、
+.I uustat
+は、コマンド
+を起動したユーザが要求したジョブをすべて表示します。これは、
+.B \-\-user
+オプションで自分を指定した場合の動作と同じです。
+
+.B \-a,
+.B \-\-all,
+.B \-e,
+.B \-\-executions,
+.B \-s,
+.B \-\-system,
+.B \-S,
+.B \-\-not-system,
+.B \-u,
+.B \-\-user,
+.B \-U,
+.B \-\-not-user,
+.B \-c,
+.B \-\-command,
+.B \-C,
+.B \-\-not-command,
+.B \-o,
+.B \-\-older-than,
+.B \-y,
+.B \-\-younger-than
+のいずれかのオプションが指定されると、指定条件の組合せに合致するすべてのジョブを
+表示します。
+
+.B \-K
+または
+.B \-\-kill-all
+オプションは、要求してから7日間経過した全てのジョブのような、選択したグルー
+プのジョブを削除出来ます。
+.SH オプション
+.I uustat
+では、以下のオプションが使用可能です。
+.TP 5
+.B \-a, \-\-all
+キューイングされたすべてのファイル転送要求を表示します。
+.TP 5
+.B \-e, \-\-executions
+ファイル転送要求ではなく、
+コマンド実行要求を表示します。キューイングされた
+コマンド実行要求は、
+.I uucico
+(8) ではなく
+.I uuxqt
+(8) にて処理されます。
+キューイング中のコマンド実行要求には、リモートシステムから転送される
+ファイルを待っているものもあります。これらの要求は、
+.I uux
+(1)を起動することで作成されます。
+.TP 5
+.B \-s system, \-\-system system
+指定したシステムに対するジョブをすべて表示します。本オプションは、
+1回のコマンド起動時に複数指定することが可能です。
+この場合、指定したシステムに対応するジョブが全て表示されます。
+.B \-\-list
+オプションと共に指定したときは、指定したシステムのジョブだけが表示されます。
+.TP 5
+.B \-S system, \-\-not-system system
+指定したシステム向け以外のジョブをすべて表示します。本オプションは、
+1回のコマンド起動時に複数指定することが可能です。
+この場合、指定しなかったシステムのジョブが全て表示されます。
+.B \-\-list
+オプションと共に指定したときは、指定しなかったシステムのジョブだけが表示されます。
+なお、本オプションは、
+.B \-s
+や
+.B \-\-system
+とは同時に指定してはいけません。
+.TP 5
+.B \-u user, \-\-user user
+指定したユーザのジョブをすべて表示します。本オプションは、
+1回のコマンド起動時に複数指定することが可能です。
+この場合、指定したユーザのジョブが全て表示されます。
+.TP 5
+.B \-U user, \-\-not-user user
+指定したユーザのジョブを除くジョブをすべて表示します。本オプションは、
+1回のコマンド起動時に複数指定することが可能です。
+この場合、指定しなかったユーザのジョブが全て表示されます。
+なお、本オプションは、
+.B \-u
+や
+.B \-\-user
+とは同時に指定してはいけません。
+.TP 5
+.B \-c command, \-\-command command
+指定したコマンドの実行を要求するジョブをすべて表示します。
+.B command
+を
+.I ALL
+と指定した場合、すべての(単なる
+.I uucp
+ファイル転送ではない)コマンドの実行を要求するジョブ
+を表示します。本オプションは、1回のコマンド起動時に複数指定することが
+可能です。
+この場合、指定したコマンドの実行を要求するジョブが全て表示されます。
+.TP 5
+.B \-C command, \-\-not-command command
+指定したコマンド以外の実行を要求するジョブをすべて表示します。
+.B command
+が
+.I ALL
+と指定した場合、
+単なる
+.I uucp
+ファイル転送要求がすべて表示されます。
+本オプションは、1回のコマンド起動時に複数指定することが
+可能です。
+この場合、指定したコマンドの実行を要求しないジョブが全て表示されます。
+なお、本オプションは、
+.B \-c
+や
+.B \-\-command
+と同時に指定してはいけません。
+.TP 5
+.B \-o hours, \-\-older-than hours
+キューイングされてから指定した時間(単位:時間)以上超過した
+ジョブを全て表示します。
+.B \-\-list
+オプションと共に指定した場合は、
+そのシステムに関するもっとも古いジョブが、指定した時間より
+古いという条件を満たすシステムの名前だけを表示します。
+.TP 5
+.B \-y hours, \-\-younger-than hours
+キューイングされてから経過した時間が指定した時間(単位:時間)を
+超過していないジョブを全て表示します。
+.B \-\-list
+オプションと共に指定した場合は、
+そのシステムに関するもっとも古いジョブが指定した時間より
+新しいという条件を満たすシステムの名前だけを表示します。
+.TP 5
+.B \-k jobid, \-\-kill jobid
+指定したジョブを削除します。jobidは、デフォルトの出力結果から取得可能
+です。また、
+.I uucp
+(1) や
+.I uux
+(1)にて
+.B \-j
+や
+.B \-\-jobid
+オプションを付加して実行することで、当該ジョブのジョブidを取得する
+ことも出来ます。
+ジョブの削除を行なうことが出来るのは、ジョブを要求したユーザ、UUCP
+システム管理者、もしくはスーパーユーザです。
+.B \-k
+や
+.B \-\-kill
+オプションは、1回のコマンド実行で複数回指定することが可能です。
+.TP 5
+.B \-r jobid, \-\-rejuvenate jobid
+指定したジョブのジョブ時刻を、本コマンドを起動した時刻に変更します。
+このことにより、
+.B \-o,
+.B \-\-older-than,
+.B \-y,
+.B \-\-younger-than
+の各オプションの出力結果に影響が出ます。
+このオプションの使用により、
+クリーンアップデーモンにより削除されるのを免れることができます。
+jobidは、デフォルトの出力結果から取得可能
+です。また、
+.I uucp
+(1) や
+.I uux
+(1)にて
+.B \-j
+や
+.B \-\-jobid
+オプションを付加して実行することで、当該ジョブのジョブidを取得する
+ことも出来ます。
+本操作を行なうことが出来るのは、ジョブを要求したユーザ、UUCPシステム管
+理者、もしくはスーパーユーザです。
+.B \-r
+や
+.B \-\-rejuvenate
+オプションは、1回のコマンド実行で複数回指定することが可能です。
+.TP 5
+.B \-q, \-\-list
+要求がキューイングされている全てのリモートシステムに対する要求の
+ステータス、そして対話のステータスを表示します。
+.B \-s,
+.B \-\-system,
+.B \-S,
+.B \-\-not-system,
+.B \-o,
+.B \-\-older-than,
+.B \-y,
+.B \-\-younger-than
+の各オプションはシステムの表示を制限するために用います。要求がキューイングさ
+れていないシステムは表示されません。
+.TP 5
+.B \-m, \-\-status
+すべてのリモートシステムとの対話のステータスを表示します。
+.TP 5
+.B \-p, \-\-ps
+UUCPロックまたはポートを保持するすべての処理のステータスを表示します。
+.TP 5
+.B \-i, \-\-prompt
+各ジョブについて、削除するかどうかを問い合わせるよう指示します。その
+問い合わせに対してユーザが
+.I y
+もしくは
+.I Y
+を先頭に含む文字列を入力した場合(y もしくは Y だけでも)、そのジョブ
+は削除されます。
+.TP 5
+.B \-K, \-\-kill-all
+各ジョブを自動的に削除します。本機能は、
+.B \-\-mail
+や
+.B \-\-notify
+オプションと組み合わせて使用することで、自動メンテナンスを行なう
+スクリプトを作成するのに役立ちます。
+.TP 5
+.B \-R, \-\-rejuvenate-all
+指定したジョブを自動的に若返らせます。本オプションは
+.B \-\-kill-all
+と同時に指定できません。
+.TP 5
+.B \-M, \-\-mail
+各ジョブについて、UUCPシステム管理者に対してメールを送ります。もし
+ジョブが(
+.B \-\-kill-all
+や
+.B \-\-prompt
+を用いることで)削除された場合、その旨がメールに明記されます。
+.B \-\-comment
+オプションで指定したコメントについても、そのメールの中に含まれます。
+ジョブが実行された場合、標準入力から入力された最初の部分がメールの
+メッセージに含まれます。
+メールに含まれる行数は、
+.B \-\-mail-lines
+オプションで設定可能です(デフォルトでは100行です)。
+標準入力からの入力データがNULLキャラクタを含む場合、そのファイルはバイナリ
+ファイルであるとみなされ、メールには含まれません。
+.TP 5
+.B \-N, \-\-notify
+各ジョブについて、要求を行なったユーザに対してメールを送ります。メール
+の内容については、
+.B \-M
+や
+.B \-\-mail
+オプションで説明したものと同一です。
+.TP 5
+.B \-W comment, \-\-comment comment
+.B \-M,
+.B \-\-mail,
+.B \-N,
+.B \-\-notify
+の各オプションでメールを送る際に、そのメールに含めるコメントを指定します。
+.TP 5
+.B \-B lines, \-\-mail-lines lines
+.B \-M,
+.B \-\-mail,
+.B \-N,
+.B \-\-notify
+のいずれかのオプションで、
+標準入力を用いるコマンドを実行するジョブの結果をメールで送るように
+指定している場合、メールに含める標準入力の行数を指定します。
+デフォルトは 100行です。
+.TP 5
+.B \-Q, \-\-no-list
+.B \-i,
+.B \-\-prompt,
+.B \-K,
+.B \-\-kill-all,
+.B \-M,
+.B \-\-mail,
+.B \-N
+.B \-\-notify
+オプションと同時に使用します。ジョブの表示を行なわず、
+指定した動作のみ行います。
+.TP 5
+.B \-x type, \-\-debug type
+特定のデバッグタイプを指定します。タイプとしては、abnormal, chat,
+handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
+outgoing がありますが、
+.I uustat
+では、abnormal, config, spooldir ,execute のみが意味を持ちます。
+本オプションでは、コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
+.B \-\-debug
+オプションは、1回のコマンド起動で複数回指定可能です。
+また、タイプとして数字を指定することも可能です。例えば、
+.B \-\-debug 2
+という指定は、
+.B \-\-debug abnormal,chat
+と同じ意味です。
+.TP 5
+.B \-I file, \-\-config file
+使用するコンフィギュレーションファイルの指定を行ないます。ただし、本
+オプションは、本コマンドの
+コンパイル条件によっては使用できないことがあります。
+.TP 5
+.B \-v, \-\-version
+バージョン情報を表示します。実行は行ないません。
+.TP 5
+.B \-\-help
+ヘルプメッセージを表示します。実行は行ないません。
+.SH 使用例
+.br
+.nf
+uustat --all
+.fi
+全てのジョブのステータスを表示します。出力例を以下に示します。
+.br
+.in +0.5i
+.nf
+bugsA027h bugs ian 04-01 13:50 Executing rmail ian@airs.com (sending 1283 bytes)
+.fi
+.in -0.5i
+フォーマットは、以下の通りです。
+.br
+.in +0.5i
+.nf
+jobid system user queue-date command (size)
+.fi
+.in -0.5i
+jobid は、
+.B \-\-kill
+もしくは
+.B \-\-rejuvenate
+オプションで主に使用します。
+size は、リモートシステムにどれだけのデータが転送されるかを示します。
+また、ファイル受信要求の場合は表示されません。
+.B \-\-system,
+.B \-\-not-system,
+.B \-\-user,
+.B \-\-not-user,
+.B \-\-command,
+.B \-\-not-command,
+.B \-\-older-than,
+.B \-\-younger-than
+オプションは、ジョブの表示制御のために用いられます。
+
+.br
+.nf
+uustat --executions
+.fi
+キューイングされたコマンド実行ジョブのステータスを表示します。出力
+例を以下に示します。
+.br
+.in +0.5i
+.nf
+bugs bugs!ian 05-20 12:51 rmail ian
+.fi
+.in -0.5i
+フォーマットは以下の通りです。
+.br
+.in +0.5i
+.nf
+system requestor queue-date command
+.fi
+.in -0.5i
+.B \-\-system,
+.B \-\-not-system,
+.B \-\-user,
+.B \-\-not-user,
+.B \-\-command,
+.B \-\-not-command,
+.B \-\-older-than,
+.B \-\-younger-than
+オプションは、ジョブの表示制御のために用いられます。
+
+.br
+.nf
+uustat --list
+.fi
+全てのシステムについてキューイングされたコマンドのステータスを表示します。以
+下に出力例を示します。
+.br
+.in +0.5i
+.nf
+bugs 4C (1 hour) 0X (0 secs) 04-01 14:45 Dial failed
+.fi
+.in -0.5i
+システム、キューイングされたコマンド数、
+もっとも古いコマンドがキューイングされてからの時間、
+キューイングされたローカル実行数と
+もっとも古いコマンドがローカル実行キューイングされてからの時間、
+最後の対話の日時とステータスが表示されています。
+
+.br
+.nf
+uustat --status
+.fi
+全てのリモートシステムについて対話のステータスを表示します。出力例を以下に示
+します。
+.br
+.in +0.5i
+.nf
+bugs 04-01 15:51 Conversation complete
+.fi
+.in -0.5i
+システム、最後の対話の日時とステータスが示されています。最後の対話が失敗した
+場合、
+.I uustat
+はシステムを呼び出そうとした回数を表示します。
+次のリトライ間隔までシステムを呼び出せないときには
+.I uustat
+は次にコールできる時刻を表示します。
+
+.br
+.nf
+uustat --ps
+.fi
+UUCPロックしている全てのプロセスのステータスを表示します。
+.I uustat
+は単にロックしている各プロセス上で
+.I ps
+(1) を起動するだけなので、出力書式はシステムにより異なります。
+
+.br
+.in +0.5i
+.nf
+uustat --command rmail --older-than 168 --kill-all --no-list --mail --notify --comment "Queued for over 1 week"
+.fi
+.in -0.5i
+これは一週間(168 時間)以上配送待ちになっているキューイングされている全ての
+.I rmail
+コマンドの実行を取り止めます。各コマンドに対し、UUCP 管理者と rmail の実行を
+要求したユーザの双方にメールが送られます。メールには
+.B \-\-comment
+オプションで指定した文字列が含まれています。
+.B \-\-no-list
+オプションはジョブの出力を端末に出力しません。このときプログラムから出力される
+のはエラーメッセージだけです。
+.SH 関連ファイル
+関連ファイル名は、コンパイル時の指定により変化します。以下に挙げるものは、
+一例です。
+
+.br
+/usr/lib/uucp/config - 初期化ファイル
+.br
+/usr/spool/uucp -
+UUCP スプールディレクトリ
+.SH 関連項目
+ps(1), rmail(8), uucp(1), uux(1), uucico(8), uuxqt(8)
+.SH 作者
+Ian Lance Taylor
+(ian@airs.com)
diff --git a/ja/man/man1/uux.1 b/ja/man/man1/uux.1
new file mode 100644
index 0000000000..9bf6fd31e0
--- /dev/null
+++ b/ja/man/man1/uux.1
@@ -0,0 +1,265 @@
+''' %Id: uux.1,v 1.4 1995/08/19 21:30:25 ache Exp %
+.\" jpman %Id: uux.1,v 1.2 1997/03/29 11:58:56 horikawa Stab %
+.TH uux 1 "Taylor UUCP 1.06"
+.SH 名称
+uux \- UUCP を用いて、リモートマシン上でコマンドを実行する
+.SH 書式
+.B uux
+[ options ] command
+.SH 解説
+リモートシステム上でコマンドを実行する時、
+またはリモートシステム上のファイルを用いて、
+ローカルシステム上でコマンドを実行する時に
+.I uux
+コマンドを用います。
+コマンドは即座に実行される訳ではなく、
+.I uucico
+(8) デーモンがシステムを呼び出し、ジョブを実行するまではキューイングされます。
+デーモンは、
+.B \-r
+または、
+.B \-\-nouucico
+オプションを指定して本コマンドを実行しない限り、自動的に呼び出されます。
+
+実際のコマンド実行は、
+.I uuxqt
+(8) デーモンが行います。
+
+引数に指定されたファイルは、リモートシステムから実際にコマンド実行を行う
+システムに集めることができます。
+標準入力についても同様です。標準出力は、
+リモートシステム上のファイルに出力することができます。
+
+リモートシステムでコマンドを実行する場合は、[システム名] ! の後に、
+[コマンド名] を記述します。
+システム名が空白の場合には、
+ローカルシステム上でのコマンドの実行であるとみなされます。
+
+"!" マークを含む引数は、ファイル名を示しているものとみなされます。
+"!" マークの前にはファイルが存在するシステム名を、
+後にはファイルへのパス名を記
+述します。
+システム名が空白の場合には、ローカルシステム上のファイルであるとされます。
+この場合、コマンドの実行されるリモートシステムへファイル転送が発生します。
+ファイル名が絶対パス名でない場合、
+現在のローカルシステム上の作業ディレクトリ名がその前に付加されます。
+この場合、リモートシステム上で無効なパスとなってしまうかも知れません。
+また、パス名として ~/ が先頭に付加される場合、
+これはUUCPパブリックディレクトリ(通常は/usr/spool/uucppublic)からの
+相対パスであるとみなされます。一般的に、~name/ で始まるディレクトリは、
+ユーザ name のホームディレクトリであるとして処理されます。
+
+標準入出力は普通にリダイレクトされます。パス名の中に "!" を含む時は、
+そのファイルがリモートシステム上にあるものとして扱われます。
+リダイレクトキャラクタを引数の一部として扱う時には、
+シェルに解釈されずに
+.I uux
+に渡すことが出来るようにクオートしなくてはなりません。また、追加書き込み
+のリダイレクション (>>) は使用できません。
+
+指定された全てのファイルは、
+コマンド実行前に1つのディレクトリに集められます。
+このため、各ファイルは異なるベースネームを持つ必要があります。
+例えば
+.br
+.in +0.5i
+.nf
+uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff'
+.fi
+.in -0.5i
+は、コマンド実行時に失敗します。なぜなら、sys2 の ~user1/foo と、sys3 の
+~usr2/foo の両方のファイルを、
+sys1 の同一の名前のファイル foo にコピーするためです。
+
+括弧で囲むことで "!" が解釈されるのをエスケープできます。これは
+.I uucp
+コマンドをリモートシステム上で実行する際に有用です。
+
+コマンド名なしで実行(例:
+.I uux sys!)
+すると、システム sys の記録ファイル (原文: poll file) を作ります。
+.SH オプション
+以下のオプションが
+.I uux
+で使用可能です。
+.TP 5
+.B \-, \-p, \-\-stdin
+標準入力から読み込んで、それを実行するコマンドの標準入力の内容とします。
+.TP 5
+.B \-c, \-\-nocopy
+ローカルファイルをスプールディレクトリにコピーしません。デフォルトはこの
+設定です。もし、
+.I uucico
+(8) デーモン実行前にそのローカルファイルが消去されてしまった場合、コピー
+は失敗します。ファイルは、
+.I uucico
+(8) デーモンと
+.I uux
+を起動したユーザの両者から read 可能でなければなりません。
+.TP 5
+.B \-C, \-\-copy
+ローカルファイルをスプールディレクトリにコピーします。
+.TP 5
+.B \-l, \-\-link
+ローカルファイルをスプールディレクトリの下にハードリンクします。ファイル
+がスプールディレクトリとは異なる物理デバイス上に存在する場合、
+リンクは張れません。この場合、
+.B \-c
+か、
+.B \-\-nocopy
+オプションが指定されていない限り、スプールディレクトリの下に対象ファイル
+がコピーされます(これは、
+.B \-\-link
+が
+.B \-\-nocopy
+のかわりに
+.B \-\-copy
+をデフォルト設定すると言うことです)。
+ファイルが
+.I uucico
+(8) デーモンの処理前に変更された場合、
+転送されるファイルは変更後のファイルです。ファイルは、
+.I uucico
+(8) デーモンと、
+.I uux
+を起動したユーザの両者から read 可能でなければなりません。
+.TP 5
+.B \-g grade, \-\-grade grade
+ファイル転送の優先度を設定します。高い優先度を持つジョブが先に実行されます。
+優先度は、高い方から 0 ... 9 A ... Z a ... z となっています。
+.TP 5
+.B \-n, \-\-notification=no
+ジョブの結果を通知するメールを送りません。例えジョブが失敗してもです。
+.TP 5
+.B \-z, \-\-notification=error
+エラー発生時に、ジョブの結果についてメールを送ります。
+Taylor UUCP
+.I uuxqt
+を含む多くの
+.I uuxqt
+デーモンでは、これがデフォルトの動作であり、
+.B \-\-notification=error
+は何の効果もありません。しかし、
+.B \-\-notification=error
+オプションを設定していないと、ジョブが成功した場合にメール
+を送る
+.I uuxqt
+デーモンもあれば、
+.B \-\-notification=error
+オプションを指定しないと、ジョブが失敗した時にメールを送ってくれないとい
+う
+.I uuxqt
+デーモンもあります。
+.TP 5
+.B \-r, \-\-nouucico
+.I uucico
+(8) デーモンを即時実行しません。
+後で処理されるように要求をキューに貯めるだけです。
+.TP 5
+.B \-j, \-\-jobid
+ジョブの id を標準出力に表示します。
+ジョブの id は、各ファイルコピー操作が実際に処理を開始するように要求された時、
+生成されます。これらのファイルコピー操作は、
+.B \-\-kill
+スイッチとともに
+.I uustat
+(1)に ジョブ id を渡すことで取消可能かも知れませんが、
+そうするとジョブは完了不能となります。
+.TP 5
+.B \-a address, \-\-requestor address
+指定したE-mailアドレスに対してジョブの結果報告を送ります。
+.TP 5
+.B \-x type, \-\-debug type
+特定のデバッグタイプを指定します。タイプとしては、abnormal, chat,
+handshake, uucp-proto, proto, port, config, spooldir, execute, incoming,
+outgoing がありますが、
+.I uux
+では、abnormal, config, spooldir, execute の4つだけが意味を持ちます。
+
+コンマで区切ることで複数のデバッグタイプが指定可能です。そして、
+.B \-\-debug
+オプションは、1回のコマンド起動で複数回指定可能です。
+また、タイプとして数字を指定することも可能です。例えば、
+.B \-\-debug 2
+という指定は、
+.B \-\-debug abnormal,chat
+と同じ意味です。
+.TP 5
+.B \-I file, \-\-config file
+使用する初期設定ファイルの指定を行ないます。
+ただし、本オプションが使用可能かどうかは、
+.I uux
+がどのようにコンパイルされたかによります。
+.TP 5
+.B \-v, \-\-version
+バージョンを表示し、終了します。
+.TP 5
+.B \-\-help
+ヘルプを表示し、終了します。
+.SH 使用例
+.br
+.nf
+uux -z - sys1!rmail user1
+.fi
+コマンド``rmail user1'' を、システム sys1 上で実行します。コマンドへの入力
+データは、標準入力が用いられます。ジョブが失敗した場合、
+.I mail
+(1) コマンドによって通知します。
+
+.br
+.nf
+uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff'
+.fi
+システム sys1 とシステム sys2 上にあるファイルを取得し、
+.I diff
+を実行した上で、カレントディレクトリのファイル file.diff に結果を
+出力します。カレントディレクトリは、
+.I uuxqt
+(8) デーモンによって write 可能である必要があります。
+
+.br
+.nf
+uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)'
+.fi
+.I uucp
+を、sys1 上で実行し、sys1 上のファイル file1 を sys2 上にコピーします。
+この例では、引数をクオートするために括弧を用いる方法を示しています。
+.SH 制限
+リモートシステムでは、実行が許可されないコマンドがあるかもしれません。
+多くのリモートシステムでは、
+.I rmail
+と
+.I rnews
+に限って実行を許可しています。
+
+実行されるかどうかは、リモートシステムの
+.I uuxqt
+(8) デーモンに依存するオプションがあります。
+.SH 関連ファイル
+関連ファイル名は、
+コンパイル時の指定ないしは初期設定ファイルにより変化します。
+以下に挙げるものは、その一例です。
+
+.br
+/usr/lib/uucp/config - 初期設定ファイル
+.br
+/usr/spool/uucp -
+UUCP スプールディレクトリ
+.br
+/usr/spool/uucp/Log -
+UUCP ログファイル
+.br
+/usr/spool/uucppublic -
+デフォルトの UUCP パブリックディレクトリ
+.SH 関連項目
+mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)
+.SH バグ
+複数のシステムにまたがって、ファイル参照をすることは出来ません。
+
+.B \-\-jobid
+オプションを使うと、ジョブ id が非常に多く出力されてしまいます。
+また、リモートファイルを必要とするローカルなコマンドの実行を
+キャンセルする良い方法は存在しません。
+.SH 作者
+Ian Lance Taylor
+(ian@airs.com)
diff --git a/ja/man/man1/vacation.1 b/ja/man/man1/vacation.1
new file mode 100644
index 0000000000..ba38a547c9
--- /dev/null
+++ b/ja/man/man1/vacation.1
@@ -0,0 +1,187 @@
+.\" Copyright (c) 1985, 1987, 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" From: @(#)vacation.1 8.1 (Berkeley) 6/16/93
+.\" jpman %Id: vacation.1,v 1.3 1997/08/19 03:07:07 h-nokubi Stab %
+.\" %Id: vacation.1,v 1.4 1996/09/28 13:37:36 joerg Exp %
+.\"
+.Dd June 16, 1993
+.Dt VACATION 1
+.Os BSD 4.3
+.Sh 名称
+.Nm vacation
+.Nd 不在の通知を返送する
+.Sh 書式
+.Nm vacation
+.Fl i
+.Op Fl r Ar interval
+.Nm vacation
+.Fl l
+.Nm vacation
+.Op Fl a Ar alias
+.Ar login
+.Sh 解説
+.Nm vacation
+は、メールの送信者に対して、あなたが現在メールを
+読んでいない旨を通知するメッセージを返送します。通常、
+.Pa .forward
+ファイルの中で使われます。
+例えば、あなたの
+.Pa .forward
+ファイルの中で次のように記述します。
+.Bd -literal -offset indent
+\eeric, "|/usr/bin/vacation -a allman eric"
+
+.Ed
+これで、あなた自身(ここではログイン名がericであるとします)にメッセージを送るとともに、
+.Dq eric
+もしくは
+.Dq allman
+に宛てられたメッセージに自動応答します。
+.Pp
+以下のオプションを指定することができます。
+.Bl -tag -width Ds
+.It Fl a Ar alias
+.Ar alias
+宛てのメッセージをユーザのログイン名に送られたメールと同様に処理します。
+.It Fl i
+Vacationデータベースを初期化します。
+これは、
+.Pa .forward
+ファイルを変更する前に行なっておく必要があります。
+.It Fl r
+自動応答の間隔を
+.Ar interval
+日に設定します。デフォルトは1週間です。間隔を
+.Dq 0
+に設定すると、全てのメッセージに対して自動応答を行ないます。
+.Dq Li infinite
+(実際には数字以外の文字ならなんでも)を設定すると、同じ送信者には一度しか自動応答を
+行ないません。間隔を
+.Dq Li \&0
+に設定すると
+.Dq I am on vacation
+メールがループすることがあり、非常に危険です。
+.It Fl l
+Vacationデータベースファイルの内容を表示します。
+それぞれのエントリについて自動応答が送られたアドレスとその時間が
+標準出力に表示されます。
+.El
+.Pp
+
+.Ar login
+(もしくは
+.Fl a
+オプションによって指定された
+.Ar alias
+) がメールの
+.Dq To:
+もしくは
+.Dq Cc:
+ヘッダになければ、自動応答は送られません。また、
+.Dq ???-REQUEST
+、
+.Dq Postmaster
+、
+.Dq Tn UUCP
+、
+.Dq MAILER
+、
+.Dq MAILER-DAEMON
+から(大文字、小文字は区別されません)のメールや、
+.Dq Precedence: bulk
+や
+.Dq Precedence: junk
+の行がヘッダに含まれているメールに対しても自動応答は送られません。
+あなたへのメールの送信者のアドレスは
+ホームディレクトリの
+.Pa .vacation.db
+ファイル中で
+.Xr hash 3
+を使用して管理されます。
+.Pp
+.Nm Vacation
+ではホームディレクトリに
+.Pa .vacation.msg
+ファイルを置くことによって、
+あなたへのメールの送信者へのメッセージを指定します。
+このファイルは(ヘッダを含む)完全なメッセージでなければなりません。
+以下に例を示します。
+.Pp
+.Bd -unfilled -offset indent -compact
+From: eric@CS.Berkeley.EDU (Eric Allman)
+Subject: I am on vacation
+Delivered-By-The-Graces-Of: The Vacation program
+Precedence: bulk
+
+わたしは7月22日まで休暇をとっています。緊急の場合は
+Keith Bostic <bostic@CS.Berkeley.EDU> に連絡願います。
+--eric
+.Ed
+
+(訳註)返答メッセージに日本語を使う場合には、
+漢字コードは JIS (ISO-2022-JP) でなければいけません。
+.\" 上記(訳註)は日本語対応のために追加しました。
+.\" 2.2.1-RELEASE 対象
+.\" by mihara@prd.fc.nec.co.jp (Apr. 4, 1997)
+.Pp
+.Nm Vacation
+はメールの送信者を決定するために標準入力の1行目の
+.Ux
+.Dq From
+行を読みます。この
+.Dq From
+行は
+.Xr sendmail 8
+が自答的に付加するものです。
+.Pp
+.Nm vacation
+が不正な引数で呼ばれたり、
+.Ar login
+名が存在しないような致命的なエラーはシステムのログファイルに
+.Xr syslog 3
+を使って記録されます。
+.Sh 関連ファイル
+.Bl -tag -width "vacation.dirxxx" -compact
+.It Pa ~/.vacation.db
+データベースファイル
+.It Pa ~/.vacation.msg
+送信するメッセージ
+.El
+.Sh 関連項目
+.Xr syslog 3 ,
+.Xr sendmail 8 ,
+.Xr syslogd 8
+.Sh 歴史
+.Nm vacation
+コマンドは
+.Bx 4.3
+から登場しました。
diff --git a/ja/man/man1/vgrind.1 b/ja/man/man1/vgrind.1
new file mode 100644
index 0000000000..1853765398
--- /dev/null
+++ b/ja/man/man1/vgrind.1
@@ -0,0 +1,239 @@
+.\" Copyright (c) 1980, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)vgrind.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: vgrind.1,v 1.3 1997/06/30 16:47:04 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt VGRIND 1
+.Os BSD 4
+.Sh 名称
+.Nm vgrind
+.Nd プログラムのソースを清書する
+.Sh 書式
+.Nm
+.Op Fl
+.Op Fl W
+.Op Fl d Ar file
+.Op Fl f
+.Op Fl h Ar header
+.Op Fl l Ns Ar language
+.Op Fl n
+.Op Fl p Ar postproc
+.Op Fl sn
+.Op Fl t
+.Op Fl x
+.Ar name Ar ...
+.Sh 解説
+.Nm
+は、プログラムのソースを
+.Xr troff 1
+を使って清書します。コメント
+はイタリック体で、キーワードはボールド体で、現在印刷中の関数名は、
+各ページの余白部分に列挙されます。
+.Pp
+.Nm
+には 2 つの基本的なモード、フィルタモード(
+.Fl f
+オプションの項を参照)と
+標準モードがあります。フィルタモードでは、
+.Nm
+は
+.Xr tbl 1
+と同様
+に振る舞います。すなわち、以下の
+.Em "troff ライク"
+なマクロに囲まれた部分以外
+は素通しします。
+.Bl -tag -width Ds
+.It \&.vS
+処理領域開始
+.It \&.vE
+処理領域終了
+.El
+.Pp
+マクロに囲まれた行は既に示したように清書されます。
+.Nm
+からの出力を
+.Xr troff
+に渡すことにより印刷することができます。
+.Xr eqn 1
+や
+.Xr tbl 1
+との呼び出し順序には特別な制限はありません。
+.Pp
+通常モードでは、
+.Nm
+は入力ファイル全体を処理し、
+ポストプロセッサを起動して出力処理を行わせます。
+ポストプロセッサのデフォルトは
+.Xr psroff 1
+です
+.Pp
+どちらのモードでも、
+.Nm
+はピリオドで開始する行は変更せずに出力します。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width Ar
+.It Fl
+標準入力から読み込みます(
+.Fl f
+オプションが指定された場合はデフォルトです)。
+.It Fl W
+(ナロー)バリアン用ではなく、(ワイド)バーサテックプリンタの出力を
+行います。
+.It Fl d Ar file
+プログラミング言語定義ファイルを指定します(デフォルトでは
+.Pa /usr/share/misc/vgrindefs
+を使用します)。
+.It Fl f
+フィルタモードで動作します。
+.It Fl h Ar header
+各ページのヘッダ文字列を指定します(デフォルトは入力ファイル名です)。
+.It Fl l
+入力ファイルのプログラミング言語を指定します。現在使用可能なものは以下
+のとおりです:
+.Tn PASCAL
+.Pq Fl l Ns Ar p ,
+.Tn MODEL
+.Pq Fl l Ns Ar m ,
+C
+.Pf ( Fl l Ns Ar c
+もしくはデフォルト),
+.Tn C++
+.Pq Fl l Ns Ar c++ ,
+.Tn CSH
+.Pq Fl l Ns Ar csh ,
+.Tn SHELL
+.Pq Fl l Ns Ar sh ,
+.Tn RATFOR
+.Pq Fl l Ns Ar r ,
+.Tn MODULA2
+.Pq Fl l Ns Ar mod2 ,
+.Tn YACC
+.Pq Fl l Ns Ar yacc ,
+.Tn LISP
+.Pq Fl l Ns Ar isp ,
+.Tn ICON
+.Pq Fl l Ns Ar I ,
+.Tn TCL
+.Pq Fl l Ns Ar Tcl ,
+.Tn PERL
+.Pq Fl l Ns Ar perl
+。
+.It Fl n
+キーワードのボールド化を行いません。
+.It Fl p Ar postproc
+.Ar postproc
+を出力のポストプロセッサとして使用します。
+.Xr psroff 1
+がデフォルトです。
+.It Fl s
+出力文字のポイントサイズを指定します(troff の .ps と同じ引数です)。
+.It Fl t
+.Xr troff
+の同一のオプションと同じく、
+フォーマット後、標準出力に書き出します。
+.It Fl x
+インデックスファイルを清書します。
+.Nm
+は、カレントディレクトリに
+.Pa index
+という名前のファイルがあればつねにインデックスを
+出力します。このインデックスファイルを
+.Nm
+に
+.Fl x
+オプションととも
+に指定することで、清書することができます。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/misc/vgrindefsxx -compact
+.It Pa index
+インデックスファイル
+.It Pa /usr/share/tmac/tmac.vgrind
+マクロパッケージ
+.It Pa /usr/libexec/vfontedpr
+プリプロセッサ
+.It Pa /usr/share/misc/vgrindefs
+言語記述ファイル
+.El
+.Sh 関連項目
+.Xr getcap 3 ,
+.Xr vgrindefs 5
+.Sh バグ
+vfontedpr は、以下のプログラミングスタイルを仮定しています:
+.Pp
+.Tn C 言語
+\- 関数名は、空白またはアスタリスクのみからなる行の直後にあり、括
+弧でくくられた引数リストが同じ行にある。
+.Pp
+.Tn PASCAL
+\- 関数名は、キーワード
+.Em function
+または
+.Em procedure
+と同じ行にある。
+.Pp
+.Tn MODEL
+\- 関数名は、キーワード
+.Em is beginproc
+と同じ行にある。
+.Pp
+もし以上に従っていない場合、インデックスと余白への関数名印刷が不正確な
+ものになります。
+.Pp
+その他、いくつかのプログラミングスタイルはきれいに清書されません:
+ブランクによってソースコードの先頭などを揃えた場合、正しくフォーマットされ
+ません。
+.Nm
+を使って清書する場合は、タブによってソースコードを揃える
+ようにします。これは
+.Nm
+が可変幅フォントを使用するからです。
+.Pp
+.Nm
+は、
+.Xr ctags 1
+が関数を検出する方式を採用すべきです。
+.Pp
+フィルタモードは
+.Fl me
+または
+.Fl ms
+マクロを用いたドキュメントで、正しく動作しません。
+(このモードは一体どこで使うのでしょう)
+.Sh 歴史
+.Nm
+は
+.Bx 3.0
+で追加されました。
diff --git a/ja/man/man1/vi.1 b/ja/man/man1/vi.1
new file mode 100644
index 0000000000..de76bbc796
--- /dev/null
+++ b/ja/man/man1/vi.1
@@ -0,0 +1,1585 @@
+.\" Copyright (c) 1994
+.\" The Regents of the University of California. All rights reserved.
+.\" Copyright (c) 1994, 1995, 1996
+.\" Keith Bostic. All rights reserved.
+.\"
+.\" This document may not be republished without written permission from
+.\" Keith Bostic.
+.\"
+.\" See the LICENSE file for redistribution information.
+.\"
+.\" @(#)vi.1 8.51 (Berkeley) 10/10/96
+.\" jpman %Id: vi.1,v 1.3 1997/05/19 16:53:25 horikawa Stab %
+.\"
+.TH VI 1 "October 10, 1996"
+.UC
+.SH 名称
+ex, vi, view \- テキストエディタ
+.SH 書式
+.B ex
+[\c
+.B -eFGRrSsv\c
+] [\c
+.BI -c " cmd"\c
+] [\c
+.BI -t " tag"\c
+] [\c
+.BI -w " size"\c
+] [file ...]
+.br
+.B vi
+[\c
+.B -eFGlRrSv\c
+] [\c
+.BI -c " cmd"\c
+] [\c
+.BI -t " tag"\c
+] [\c
+.BI -w " size"\c
+] [file ...]
+.br
+.B view
+[\c
+.B -eFGRrSv\c
+] [\c
+.BI -c " cmd"\c
+] [\c
+.BI -t " tag"\c
+] [\c
+.BI -w " size"\c
+] [file ...]
+.SH ライセンス
+vi プログラムは自由に再配布できます。ライセンスファイルに挙げた条件の
+基で、コピー、改変、他者との共有は自由にして下さい。どこかの会社(個人
+ではありません!)で vi が購入を希望するほど十分有用であると認めた場合、
+または会社で再配布を希望する場合、作者へ寄付をいただければ幸いです。
+.SH 解説
+.I \&vi
+はスクリーン指向のテキストエディタです。
+.I \&ex
+は行指向のエディタです。
+.I \&ex
+と
+.I \&vi
+は同じプログラムで別のインタフェースを提供し、
+エディット中に切替えることが可能です。
+.I view
+は
+.IR \&vi .
+に
+.B \-R
+(リードオンリー) オプション
+をつけて実行した場合と同じです。
+.PP
+このマニュアルは
+.I ex/vi
+テキストエディタから派生した
+.I nex/nvi
+用として提供されています。
+.I nex/nvi
+は Fourth Berkeley Software Distibution (4BSD) オリジナルの
+.I \&ex
+と
+.I \&vi
+のバグ一つ一つの互換性も含めて置き換えたつもりです。
+このマニュアルでは、以後、伝統的な
+.IR ex/vi
+の実装と区別する必要がある時だけ、
+.I nex/nvi
+という表現を使います。
+.PP
+このマニュアルページは、
+.IR ex/vi
+を既に良く知っているユーザのためのものです。それ以外の人は、このマニュアルを
+読む前に良いチュートリアルをしっかりと読んでおくべきです。あなたが不慣れな
+環境のもとで、否応無く、しかも直ちに仕事を片付けなければならないなら、
+オプションの一覧の後にある、 ``ファースト スタートアップ'' という
+タイトルのセクションを読んで下さい。
+あなたがその仕事をこなすには、おそらくこれで十分でしょう。
+.PP
+以下のオプションが利用できます:
+.TP
+.B \-c
+エディットセッションがスタートした後ですぐに
+.B cmd
+を実行します。特にファイル中の最初の位置を決定するのに非常に役立ちますが、
+.B cmd
+はポジジョニングコマンドに限定されません。これは、伝統的な ``+cmd''
+構文に代わる、POSIX 1003.2 で規定されたインターフェイスです。
+.I nex/nvi
+は新旧どちらの構文もサポートしています。
+.TP
+.B \-e
+コマンド名が
+.IR \&ex
+であるかのように、ex モードで編集を開始します。
+.TP
+.B \-F
+編集を開始する時にファイル全体のコピーを作成しません
+(デフォルトでは、あなたの編集作業中に他の誰かがファイルを変更
+する場合に備えてコピーを作成します)。
+.TP
+.B \-l
+lisp オプションと showmatch オプションをセットして編集を始めます。
+.TP
+.B \-G
+gtagsmode オプションがセットされている時と同じように、
+gtags モードで編集を開始します。
+.TP
+.B \-R
+コマンド名が
+.IR view ,
+であるかのように、もしくは
+.B readonly
+オプション付きで起動されたかのように、
+リードオンリーモードで編集を開始します。
+.TP
+.B \-r
+指定したファイルの復旧を行ないます。もしファイルが指定されなかった場合は、
+復旧可能なファイルの一覧を表示します。もし、復旧可能なファイルの中に
+指定した名前のものがなかった場合は、
+.B \-r
+オプションが指定されなかったかのように、そのファイルの編集を行ないます。
+.TP
+.B \-S
+外部プログラムへのすべてのアクセスを許さない
+.B secure
+エディットオプションをセットして起動します。
+.TP
+.B \-s
+バッチモードに入ります。バッチモードは
+.I \&ex
+エディットセッションの時しか使えません。バッチモードは
+.I \&ex
+スクリプトを実行する時に便利です。このモードでは、プロンプトや、
+情報を伝えるメッセージや、その他のユーザ向けのメッセージは出力されず、
+スタートアップファイルや環境変数は読み込まれません。これは、伝統的な
+``\-'' 引数に代わる、POSIX 1003.2 で規定されたインターフェイスです。
+.I \&nex/nvi
+は新旧どちらの構文もサポートしています。
+.TP
+.B \-t
+指定したタグの位置でエディットを開始します。 (
+.IR ctags (1)
+参照)
+.TP
+.B \-w
+起動時のウィンドウの大きさを指定した行数にします。
+.TP
+.B \-v
+コマンド名が
+.I \&vi
+か
+.IR view
+であるかのように、 vi モードでエディットを開始します。
+.PP
+.I ex/vi
+へのコマンド入力は、標準入力から行なわれます。
+.I \&vi
+のインターフェースは、標準入力が端末でない場合にはエラーになります。
+.I \&ex
+のインターフェースでは、
+.I \&ex
+は、標準入力が端末でなくても、
+ちょうど
+.B \-s
+オプションが指定されている場合のようにセッションがバッチモード
+であっても、とにかく読み込みます。
+.PP
+.I ex/vi
+は成功時に 0 を、エラーが起こった時には 0 より大きな値を返します。
+.SH ファーストスタートアップ
+このセクションは、
+.IR \&vi
+を使って簡単な編集作業を行なうのに必要な最低限のことを教えてくれるでしょう。
+あなたが以前に一度もスクリーンエディタを使ったことがないなら、この簡単な紹介
+の章でさえも問題になるかも知れません。この場合は、すでに
+.I \&vi
+を知っている人を探して、その人と一緒にこのセクションを読むべきです。
+.PP
+.I \&vi
+はスクリーンエディタです。つまり、
+.I \&vi
+は常に画面全体を使い、ファイルの一部分を画面上の (最終行以外の)
+それぞれの行に表示します。
+画面の最終行は、あなたが
+.IR \&vi
+にコマンドを与えたり、
+.I \&vi
+があなたに情報を与えたりするのに使われます。
+.PP
+もうひとつ知っておくべきこととして、
+.I \&vi
+はモードを持ったエディタであることがあります。
+つまり、テキストを入力したり、コマンドを実行したりするには、
+それぞれの作業を正しいモードで実行しなければなりません。
+ファイル編集の最初はコマンドモードになっています。入力モードにする
+コマンドが幾つかあります。入力モードから抜けるキーはただ一つで、
+それは <escape> キーです。
+(キーの名前は、<,> ではさんで書くことにします。
+例えば、<escape> は ``エスケープ''
+``esc'' キーのことを示し、通常キーボードでは、
+と表示してあります。)
+どのモードにいるのかが判らなくなったならば、
+.I \&vi
+が、ビープ音を出すまで、<escape> キーを押し続けて下さい。
+(一般的に、
+.I \&vi
+は、許されていないことを何か試みたり、行なったりするとビープ音を鳴らします。
+エラーメッセージも表示します。)
+.PP
+ファイルの編集を始めるには、 ``vi file_name<carriage-return>''
+という具合に、コマンドを入れます。
+編集を始めると、まず直ちに、
+``:set verbose showmode<carriage-return>''
+とコマンドを入れましょう。
+そうすることによって、エディタは、
+画面の最終行に詳細なエラーメッセージを出すようになりますし、
+現在のモードも表示するようになります。
+.PP
+ファイル内を移動するコマンド :
+.TP
+.B h
+カーソルを 1 文字左へ動かす。
+.TP
+.B j
+カーソルを 1 行下へ動かす。
+.TP
+.B k
+カーソルを 1 行上へ動かす。
+.TP
+.B l
+カーソルを1文字右へ動かす。
+.TP
+.B <cursor-arrows>
+カーソルを矢印が示す方へ動かす。
+.TP
+.B /text<carriage-return>
+ファイル中の ``text'' を検索し、その最初の文字へカーソルを移動します。
+.PP
+新しく文書入力するコマンド :
+.TP
+.B a
+入力した文書カーソルの
+.I 後ろへ
+追加します。
+.TP
+.B i
+入力した文書カーソルの
+.I 前に
+挿入します。
+.TP
+.B o
+カーソルの下に新しい行を設けて、文書の入力を開始します。
+.TP
+.B O
+カーソルの上に行を設けて、文書の入力を開始します。
+.TP
+.B <escape>
+一旦、
+.BR \&a ,
+.BR \&i ,
+.BR \&O
+ないし
+.B \&o
+などのコマンドで入力モードに入ってからは、
+文書の入力を終了しコマンドモードへ戻るためには、
+.B <escape>
+コマンドを用います。
+.PP
+文書をコピーするコマンド :
+.TP
+.B yy
+カーソルのある行をコピーします。
+.TP
+.B p
+カーソルのある行の下にコピーした行を追加します。
+.PP
+文書を削除するコマンド :
+.TP
+.B dd
+カーソルのある行を削除します。
+.TP
+.B x
+カーソルのある文字を削除します。
+.PP
+ファイルに書き込むコマンド :
+.TP
+.B :w<carriage-return>
+もともと
+.I \&vi
+のコマンドラインで指定したファイルに、ファイルの内容を書き戻します。
+.TP
+.B ":w file_name<carriage-return>"
+指定された ``file_name'' に、ファイルの内容を書き出します。
+.PP
+編集を終了し、エディタを抜けるコマンド :
+.TP
+.B :q<carriage-return>
+エディットを終了し、 vi から抜けます。
+(ファイル内容が変更されていてまだ保存されていなければ、
+.I \&vi
+は、終了指示を拒否します)
+.TP
+.B :q!<carriage-return>
+変更した内容を放棄し、終了します。
+.PP
+最後に注意していただきたいこととして、
+通常の文字ではない文字は、画面上で複数カラムを占めることがあります。また、
+長い行は、画面上の1行に収まらないこともあります。
+上記のコマンドは、 ``物理的な'' 行や文字に対して作用します。
+つまり、行関係のコマンドはその行が画面上で
+何行になろうと行全体に影響を及ぼしますし、文字関係のコマンドはその文字が
+画面上で何カラムを占めていても、その文字全体に影響を及ぼします。
+.SH VI コマンド
+以下の章では、
+.I \&vi
+のコマンドモードで現れるコマンドについて説明します。
+それぞれの記述では、見出し行にコマンドの使用書式を一覧表示します。
+.PP
+.TP
+.B "[count] <control-A>"
+.I count
+で指定した回数だけ、前方へ現在の単語を検索します。
+.TP
+.B "[count] <control-B>"
+.I count
+で指定した回数だけ、画面を後方へ戻します。
+.TP
+.B "[count] <control-D>"
+.I count
+で指定した行数だけ、画面を前方へスクロールします。
+.TP
+.B "[count] <control-E>"
+.I count
+で指定した行数だけ、画面を前方へスクロールします。
+カーソルは現在行から離れますが、可能な場合は元のカラムに留まります。
+.TP
+.B "[count] <control-F>"
+.I count
+で指定した回数だけ、画面を前方へスクロールします。
+.TP
+.B "<control-G>"
+ファイル情報を表示します。
+.TP
+.B "<control-H>"
+.TP
+.B "[count] h"
+.I count
+で指定した文字数だけ、カーソルを現在行中で戻します。
+.TP
+.B "[count] <control-J>"
+.TP
+.B "[count] <control-N>"
+.TP
+.B "[count] j"
+.I count
+で指定した行数だけ、カラム位置を変えずにカーソルを
+下へ移動します。
+.TP
+.B "<control-L>"
+.TP
+.B "<control-R>"
+画面を再表示します。
+.TP
+.B "[count] <control-M>"
+.TP
+.B "[count] +"
+.I count
+で指定した行数だけ下の行の、
+最初の空白以外の文字の位置へカーソルを
+移動します。
+.TP
+.B "[count] <control-P>"
+.TP
+.B "[count] k"
+.I count
+で指定した行数だけ、
+カラム位置を変えずにカーソルを上へ移動します。
+.TP
+.B "<control-T>"
+最近のタグの状態へと戻ります。
+.TP
+.B "<control-U>"
+.I count
+で指定した行数だけ、画面を後方へスクロールします。
+.TP
+.B "<control-W>"
+編集中の次の下位のスクリーンに切り替わります。
+編集中の下位のスクリーンが他に無い場合には、最初のスクリーンへ切り替えます。
+.TP
+.B "<control-Y>"
+.I count
+で指定した行数だけ、画面を後方にスクロールします。
+できるかぎり現在の行、カラムにカーソルを残します。
+.TP
+.B "<control-Z>"
+現在の処理を中断 (suspend) します。
+.TP
+.B "<escape>"
+.I \&ex
+コマンドを実行します。もしくは、実行中のコマンドを部分的にキャンセルします。
+.TP
+.B "<control-]>"
+タグ参照の内容をタグスタックへプッシュします。
+gtagsmode では、行の最初のカラムにいる時は関数の参照位置を探し、
+そうでない時は関数の定義位置を探します。
+.TP
+.B "<control-^>"
+最後に編集したファイルへ切り替えます。
+.TP
+.B "[count] <space>"
+.TP
+.B "[count] l"
+.I count
+で指定した文字数だけ、カーソルを前方へ行を変えずに移動します。
+.TP
+.B "[count] ! motion shell-argument(s)"
+シェルコマンドの結果を用いて文書を置き換えます。
+.TP
+.B "[count] # #|+|-"
+カーソルが指す場所の数を増減します。
+.TP
+.B "[count] $"
+カーソルを現在の行の末尾に移動します。
+.TP
+.B "%"
+対となる文字へカーソルを移動します。
+.TP
+.B "&"
+現在行で、前回実行した置換コマンドを再び実行します。
+.TP
+.B "'<character>"
+.TP
+.B "`<character>"
+マークした文字 <character> の場所へ戻ります。
+.IR <character> .
+.TP
+.B "[count] ("
+.I count
+で指定された数だけ、前の文へ戻ります。
+.TP
+.B "[count] )"
+.I count
+で指定された数だけ、後ろの文へ移動します。
+.TP
+.B "[count] ,"
+.I count
+で指定された回数だけ、逆方向へ文字を検索します。
+.TP
+.B "[count] -"
+.I count
+で指定された回数だけ、
+直前の行で最初に現れる空白でない文字への移動を行ないます。
+.TP
+.B "[count] ."
+直前の
+.I \&vi
+編集コマンドを繰り返します。
+.TP
+.B "/RE<carriage-return>"
+.TP
+.B "/RE/ [offset]<carriage-return>"
+.TP
+.B "?RE<carriage-return>"
+.TP
+.B "?RE? [offset]<carriage-return>"
+.TP
+.B "N"
+.TP
+.B "n"
+前方/後方に向かって、正規表現による検索を行ないます。
+.TP
+.B "0"
+現在行の最初の文字に移動します。
+.TP
+.B ":"
+ex コマンドを実行します。
+.TP
+.B "[count] ;"
+文字検索を
+.I count
+で指定された回数だけ繰り返します。
+.TP
+.B "[count] < motion"
+.TP
+.B "[count] > motion"
+現在行を、左/右にシフトします。
+.TP
+.B "@ buffer"
+バッファに保存されたコマンドを実行します。
+.TP
+.B "[count] A"
+入力モードに入り、文書を行の最後に追加します。
+.TP
+.B "[count] B"
+.I count
+で指定された回数だけ、大単語(bigword)の先頭文字への移動を繰り返します。
+.TP
+.B "[buffer] [count] C"
+現在位置から行末までを変更します。
+.TP
+.B "[buffer] D"
+現在位置から行末まで削除します。
+.TP
+.B "[count] E"
+.I count
+で指定された回数だけ、大単語の末尾の文字への移動を繰り返します。
+.TP
+.B "[count] F <character>"
+.I count
+で指定された回数だけ、行の先頭から逆方向に文字
+.IR <character>
+を検索/移動を繰り返します。
+.TP
+.B "[count] G"
+ファイルの最初から数えて
+.IR count
+行目へ、もしくは
+.I count
+を指定しなかったときはファイルの末尾の行へ、カーソルを移動します。
+.TP
+.B "[count] H"
+画面の最初から数えて
+.I "count - 1"
+行目に移動します。
+.TP
+.B "[count] I"
+入力モードに入り、行の先頭へ文書を挿入します。
+.TP
+.B "[count] J"
+現在行と次の行を結合します。
+.TP
+.B "[count] L"
+画面の下から数えて
+.I "count - 1"
+行目に移動します。
+.TP
+.B " M"
+画面中央の行へ移動します。
+.TP
+.B "[count] O"
+入力モードに入ります。現在行の直前に新しい行を作り、文書を追加します。
+.TP
+.B "[buffer] P"
+バッファに保存した文書を挿入します。
+.TP
+.B "Q"
+.I \&vi
+(もしくは visual)モードを終了し、
+.I \&ex
+モードへ切り替わります。
+.TP
+.B "[count] R"
+入力モードに入り、現在行の内容を置き換えます。
+.TP
+.B "[buffer] [count] S"
+.I count
+で指定した行数だけ、行を置き換えます。
+.TP
+.B "[count] T <character>"
+.I count
+で指定した回数だけ、現在行で逆方向に検索し、指定された文字
+.IR <character>
+の
+.I 後ろ
+の文字に移動します。
+.TP
+.B "U"
+現在行を、カーソルが最後に入ってきた時の直前の状況に復元します。
+.TP
+.B "[count] W"
+.I count
+で指定した回数だけ、大単語単位で移動します。
+.TP
+.B "[buffer] [count] X"
+.I count
+で指定した回数だけ、カーソルの前の文字を削除します。
+.TP
+.B "[buffer] [count] Y"
+行のコピー、 (もしくは ``ヤンク'') を
+.I count
+で指定した行数だけ、指定したバッファに取り込みます。
+.TP
+.B "ZZ"
+ファイルに書き込み、
+.IR \&vi
+を終了します。
+.TP
+.B "[count] [["
+.I count
+で指定した回数だけ、後方のセクションの先頭へ移動します。
+.TP
+.B "[count] ]]"
+.I count
+で指定した回数だけ、前方のセクションの末尾へ移動します。
+.TP
+.B "\&^"
+現在行の空白でない最初の文字へ移動します。
+.TP
+.B "[count] _"
+.I "count - 1"
+で指定した行数だけ、下の行の最初の空白でない文字へ移動します。
+.TP
+.B "[count] a"
+入力モードに入り、カーソルの後ろに文書を追加します。
+.TP
+.B "[count] b"
+.I count
+で指定した回数だけ、後方へ単語単位で移動します。
+.TP
+.B "[buffer] [count] c motion"
+範囲指定した文書を変更します。
+.TP
+.B "[buffer] [count] d motion"
+範囲指定した文書を削除します。
+.TP
+.B "[count] e"
+.I count
+で指定した数だけ前方の単語の終りに移動します。
+.TP
+.B "[count] f<character>"
+現在行の中で、行末まで
+.I count
+で指定した回数だけ、
+.IR <character>
+を検索します。
+.TP
+.B "[count] i"
+入力モードに入り、カーソルの前に文書を挿入します。
+.TP
+.B "m <character>"
+現在の状態 (行とカラム) を
+.IR <character>
+へ、保存します。
+.TP
+.B "[count] o"
+入力モードに入ります。現在行の下に新しい行を作り、文章を追加します。
+.TP
+.B "[buffer] p"
+バッファから文章を取り出し、追加します。
+.TP
+.B "[count] r <character>"
+.I count
+で指定した文字数だけ、文字を置換します。
+.TP
+.B "[buffer] [count] s"
+現在行の中で、カーソルのある文字から
+.I count
+で指定する回数だけ、文字を入れ換えます。
+.TP
+.B "[count] t <character>"
+現在行の中で、前方へ
+.I count
+で指定する回数だけ、
+.IR <character>
+を検索し、その文字の
+.I 直前
+へ移動します。
+.TP
+.B "u"
+ファイルに最後に行なった変更を取り消します。
+.TP
+.B "[count] w"
+.I count
+で指定した回数だけ、前方へ単語単位で移動します。
+.TP
+.B "[buffer] [count] x"
+.I count
+で指定した回数だけ、文字を削除します。
+.TP
+.B "[buffer] [count] y motion"
+.I count
+と motion で指定された範囲をバッファへコピー(もしくは ``yank'')します。
+.TP
+.B "[count1] z [count2] -|.|+|^|<carriage-return>"
+画面を再表示します。あわせてカーソル位置や画面のサイズを変更することも
+できます。
+.TP
+.B "[count] {"
+.I count
+で指定した回数だけ、後方へ段落単位で移動します。
+.TP
+.B "[count] |"
+現在行の中で
+.I count
+で指定した
+.I column
+位置に移動します。
+.TP
+.B "[count] }"
+.I count
+で指定した回数だけ、前方へ段落単位で移動します。
+.TP
+.B "[count] ~"
+.I count
+で指定した回数だけ、文字(列)の大文字、小文字を入れ換えます。
+.TP
+.B "[count] ~ motion"
+.I count
+と
+.IR motion
+で指定された範囲の文字列の大文字小文字を入れ換えます。
+.TP
+.B "<interrupt>"
+現在の作業を中断します。
+.SH VI の文書入力コマンド
+以下のセクションでは、
+.I \&vi
+エディタの文書入力に用するコマンドに関して記します。
+.PP
+.TP
+.B "<nul>"
+直前の入力を繰り返します。
+.TP
+.B "<control-D>"
+直前の
+.B shiftwidth
+のカラム境界まで消去します。
+.TP
+.B "^<control-D>"
+オートインデント文字を全部消し、インデント状態を解除します。
+.TP
+.B "0<control-D>"
+オートインデント文字を全部消します。
+.TP
+.B "<control-T>"
+カーソルが
+.B shiftwidth
+オプションの偶数倍のカラム数の直後に来るまで、適当な数の
+.I <tab>
+と
+.I <space>
+文字を挿入します。
+.TP
+.B "<erase>
+.TP
+.B "<control-H>"
+最後に入力した文字を消します。
+.TP
+.B "<literal next>"
+次の文字を引用します。
+.TP
+.B "<escape>
+文書を全部ファイルに格納し、コマンドモードへ戻ります。
+.TP
+.B "<line erase>"
+現在行を消します。
+.TP
+.B "<control-W>"
+.TP
+.B "<word erase>"
+最後に入力した単語を消します。
+単語の定義は、
+.B altwerase
+と
+.B ttywerase
+のオプションに依存します。
+.TP
+.B "<control-X>[0-9A-Fa-f]+"
+指定した 16 進の値を持つ文字を挿入します。
+.TP
+.B "<interrupt>"
+文書入力モードを中断し、コマンドモードへと戻ります。
+.SH EX コマンド
+以下のセクションでは、
+.I \&ex
+エディタで用いられるコマンドに関して記します。
+以下のエントリのうち、見出し行にはコマンドの使用書式を記載してあります。
+.PP
+.TP
+.B "<end-of-file>"
+画面をスクロールします。
+.TP
+.B "! argument(s)"
+.TP
+.B "[range]! argument(s)"
+シェルコマンドを実行するか、もしくはシェルコマンドを用いて
+指定範囲の行にフィルタをかけます。
+.TP
+.B \&"
+コメントです。
+.TP
+.B "[range] nu[mber] [count] [flags]"
+.TP
+.B "[range] # [count] [flags]"
+指定行を、その行番号を前に付けて表示します。
+.TP
+.B "@ buffer"
+.TP
+.B "* buffer"
+バッファの中身を実行します。
+.TP
+.B "[line] a[ppend][!]"
+指定行の後に、入力文字を追加します。
+.TP
+.B "[range] c[hange][!] [count]"
+.I range
+で指定した範囲を入力文字で置き換えます。
+.TP
+.B "cs[cope] add | find | help | kill | reset"
+cscope コマンドを実行する。
+.TP
+.B "[range] d[elete] [buffer] [count] [flags]"
+ファイルから行を削除します。
+.TP
+.B "di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]"
+バッファ、cscope接続、画面、タグを表示します。
+.TP
+.B "[Ee][dit][!] [+cmd] [file]"
+.TP
+.B "[Ee]x[!] [+cmd] [file]"
+別のファイルを編集します。
+.TP
+.B "exu[sage] [command]"
+指定した
+.I \&ex
+コマンドの使い方を表示します。
+.TP
+.B "f[ile] [file]"
+ファイル名を表示し、指定があればファイル名を変更します。
+.TP
+.B "[Ff]g [name]"
+.I \&vi
+モードのみ。
+指定した画面をフォアグランドに表示します。
+.TP
+.B "[range] g[lobal] /pattern/ [commands]"
+.TP
+.B "[range] v /pattern/ [commands]"
+パターンに合致した(しない)行にコマンドを適用します。
+.TP
+.B "he[lp]"
+ヘルプメッセージを表示します。
+.TP
+.B "[line] i[nsert][!]"
+入力文書を指定した行の前に挿入されます。
+.TP
+.B "[range] j[oin][!] [count] [flags]"
+行を結合します。
+.TP
+.B "[range] l[ist] [count] [flags]"
+行を曖昧さがないように表示します。
+.TP
+.B "map[!] [lhs rhs]"
+マップを定義もしくは表示します。(
+.I \&vi
+のみ)
+.TP
+.B "[line] ma[rk] <character>"
+.TP
+.B "[line] k <character>"
+行を
+.IR <character>
+としてマークします。
+.TP
+.B "[range] m[ove] line"
+指定した行を目標行の後ろに移動します。
+.TP
+.B "mk[exrc][!] file"
+略語、エディタのオプション、マップを指定したファイルに書き込みます。
+.TP
+.B "[Nn][ext][!] [file ...]"
+引数リストで指定した次のファイルの編集に移行します。
+.TP
+.B "[line] o[pen] /pattern/ [flags]"
+オープンモードに入ります。
+.TP
+.B "pre[serve]"
+後で
+.I \&ex
+.B \-r
+オプションを用いてファイルを復元できる形式にして保存します。
+.TP
+.B "[Pp]rev[ious][!]"
+引数リストで指定した一つ前のファイルを編集します。
+.TP
+.B "[range] p[rint] [count] [flags]"
+指定した行を表示します。
+.TP
+.B "[line] pu[t] [buffer]"
+バッファの内容を現在行に追加します。
+.TP
+.B "q[uit][!]"
+編集を終了します。
+.TP
+.B "[line] r[ead][!] [file]"
+ファイルを読み込みます。
+.TP
+.B "rec[over] file"
+事前に保存されている場合に、
+.I file
+を復元します。
+.TP
+.B "res[ize] [+|-]size"
+.I \&vi
+モードのみ。
+現在の画面を大きくするか、もしくは小さくします。
+.TP
+.B "rew[ind][!]"
+引数リストを巻き戻し、最初の引数のファイルの編集に移行します。
+.TP
+.B "rta[g][!] tagstring"
+指定したタグを参照しているファイルを編集します。(gtagsmode でのみ有効)
+.TP
+.B "se[t] [option[=[value]] ...] [nooption ...] [option? ...] [all]"
+エディタのオプションを表示、もしくは設定します。
+.TP
+.B "sh[ell]"
+シェルプログラムを実行します。
+.TP
+.B "so[urce] file"
+ファイルから
+.I \&ex
+コマンドを読み込み、実行します。
+.TP
+.B "[range] s[ubstitute] [/pattern/replace/] [options] [count] [flags]"
+.TP
+.B "[range] & [options] [count] [flags]"
+.TP
+.B "[range] ~ [options] [count] [flags]"
+置換を行ないます。
+.TP
+.B "su[spend][!]"
+.TP
+.B "st[op][!]"
+.TP
+.B <suspend>
+編集を一時中断します。
+.TP
+.B "[Tt]a[g][!] tagstring"
+指定のタグを含むファイルを編集します。
+.TP
+.B "tagn[ext][!]"
+現在のタグの次のタグを含むファイルを編集します。
+.TP
+.B "tagp[op][!] [file | number]"
+スタックから指定したタグを取り出します。
+.TP
+.B "tagp[rev][!]"
+現在のタグの前のタグを含むファイルを編集します。
+.TP
+.B "unm[ap][!] lhs"
+指定した文字列のマップ定義を解除します。
+.TP
+.B "ve[rsion]"
+.I \&ex/vi
+のバージョンを表示します。
+.TP
+.B "[line] vi[sual] [type] [count] [flags]"
+.I \&ex
+モードのみ。
+.IR \&vi
+モードに入ります。
+.TP
+.B "[Vi]i[sual][!] [+cmd] [file]"
+.I \&vi
+モードのみ。
+新しいファイルを編集します。
+.TP
+.B "viu[sage] [command]"
+.I \&vi
+コマンドの使い方を表示します。
+.TP
+.B "[range] w[rite][!] [>>] [file]"
+.TP
+.B "[range] w[rite] [!] [file]"
+.TP
+.B "[range] wn[!] [>>] [file]"
+.TP
+.B "[range] wq[!] [>>] [file]"
+ファイルに書き出します。
+.TP
+.B "[range] x[it][!] [file]"
+修正されていれば、ファイルに書きだします。
+.TP
+.B "[range] ya[nk] [buffer] [count]"
+指定行をバッファにコピーします。
+.TP
+.B "[line] z [type] [count] [flags]"
+ウィンドウのサイズを調節します。
+.SH SET オプション
+set (または unset)することによりエディターの動作を変更することができる
+オプションが非常にたくさんあります。このセクションでは、
+これらのオプションとその短縮形とデフォルト値を説明します。
+.PP
+以下の各項目では、最初にオプションをフルネームで、
+その次に同じ意味を持つ短縮形が続きます。
+角括弧の部分は、デフォルト値です。
+ほとんどのオプションは on または off のような bool 値で、
+関連する値は持ちません。
+.PP
+これらのオプションは、特に断りがない場合は
+.I \&ex
+と
+.I \&vi
+の両方のモードに適用されます。
+.PP
+.TP
+.B "altwerase [off]"
+.I \&vi
+のみ。
+別の単語削除アルゴリズムを選択します。
+.TP
+.B "autoindent, ai [off]"
+改行時に自動的にインデントします。
+.TP
+.B "autoprint, ap [off]"
+.I \&ex
+のみ。
+自動的に現在の行を表示します。
+.TP
+.B "autowrite, aw [off]"
+別のファイルに切替える際に、ファイルが変更されているなら自動的にセーブします。
+.\" I cannot get a double quote to print between the square brackets
+.\" to save my life. The ONLY way I've been able to get this to work
+.\" is with the .tr command.
+.tr Q"
+.ds ms backup [QQ]
+.TP
+.B "\*(ms"
+.tr QQ
+ファイルが上書きされる前にバックアップファイルを作成します。
+.TP
+.B "beautify, bf [off]"
+コントロール・キャラクタを切り捨てます。
+.TP
+.B "cdpath [環境変数 CDPATH 、またはカレントディレクトリ]"
+.B cd
+コマンドのパス接頭子として使われるディレクトリパスです。
+.TP
+.B "cedit [no default]"
+コロンコマンドライン履歴を編集する文字をセットします。
+.TP
+.B "columns, co [80]"
+画面のカラム数をセットします。
+.TP
+.B "comment [off]"
+.I \&vi
+のみ。
+シェルスクリプト、C、C++言語ファイル先頭のコメントの読み込みをスキップします。
+.TP
+.B "directory, dir [環境変数 TMPDIR 、または /tmp]"
+テンポラリファイルを作成するディレクトリです。
+.TP
+.B "edcompatible, ed [off]"
+.B 置換
+コマンドの接尾子の ``c'' と ``g'' の値を記憶するようにします。
+通常は新しくコマンドを実行するたびに初期化します。
+.TP
+.B "errorbells, eb [off]"
+.I \&ex
+のみ。
+エラーメッセージをベルとともに知らせます。
+.TP
+.B "exrc, ex [off]"
+ローカルディレクトリのスタートアップファイルを読み込みます。
+.TP
+.B "extended [off]"
+正規表現を
+.IR egrep (1)\-\c
+スタイルに拡張します。
+.TP
+.B "filec [no default]"
+コロンコマンドライン上のファイルパス補間を行なう文字をセットします。
+.TP
+.B "flash [on]"
+エラー時にビープを鳴らすのではなく、画面をフラッシュします。
+.TP
+.B "gtagsmode, gt [off]"
+tags の代わりに GTAGS と GRTAGS を使います。
+.TP
+.B "hardtabs, ht [8]"
+スペースをハードウェアタブ設定に合わせて設定します。
+.TP
+.B "iclower [off]"
+検索文字列に大文字が現れなければ、すべての正規表現を大文字小文字の
+区別なく行なうようにします。
+.TP
+.B "ignorecase, ic [off]"
+正規表現検索で大文字小文字の違いを無視します。
+.TP
+.B "keytime [6]"
+.I ex/vi
+は、後に続くキーを先のキーに続けて解釈しキーマッピングを行ないますが、
+後に続くキー入力の待ち時間を1/10秒単位で指定します。
+.TP
+.B "leftright [off]"
+.I \&vi
+のみ。
+左右のスクロールを行ないます。
+.TP
+.B "lines, li [24]"
+.I \&vi
+のみ。
+画面の行数を設定します。
+.TP
+.B "lisp [off]"
+.I \&vi
+のみ。
+さまざまなサーチコマンドとオプションの動作を Lisp 言語編集用に
+修正します。
+.I "このオプションはまだ実装されていません。"
+.TP
+.B "list [off]"
+行を曖昧でない形式で表示します。
+.TP
+.B "lock [on]"
+どのファイルの編集、読み込み、書き込みに関しても、排他的ロックをする
+ように試みます。
+.TP
+.B "magic [on]"
+ある種の文字を正規表現中で特殊扱いします。
+.TP
+.B "matchtime [7]"
+.I \&vi
+のみ。
+.B showmatch
+オプションが設定されている場合、
+.I ex/vi
+は対になる括弧の上で一時停止しますが、その停止時間を1/10秒単位で指定します。
+.TP
+.B "mesg [on]"
+他のユーザーからのメッセージ着信を許可します。
+.TP
+.B "modelines, modeline [off]"
+それぞれのファイルの最初と最後の数行を
+.I ex
+コマンドとして読み込みます。
+.I "このオプションが実装されることは決してありません。"
+.\" I cannot get a double quote to print between the square brackets
+.\" to save my life. The ONLY way I've been able to get this to work
+.\" is with the .tr command.
+.tr Q"
+.ds ms noprint [QQ]
+.TP
+.B "\*(ms"
+.tr QQ
+表示可能な文字として扱われない文字を指定します。
+.TP
+.B "number, nu [off]"
+各行先頭に行番号を付けて表示します。
+.TP
+.B "octal [off]"
+表示出来ない文字を 8 進数で表示します。デフォルトでは 16 進表示です。
+.TP
+.B "open [on]"
+.I \&ex
+のみ。
+このオプションが設定されていなければ、
+.B open
+と
+.B visual
+コマンドは許されません。
+.TP
+.B "optimize, opt [on]"
+.I \&vi
+のみ。
+ダム端末へのテキスト出力速度を最適化します。
+.I "このオプションはまだ実装されていません。"
+.TP
+.B "paragraphs, para [IPLPPPQPP LIpplpipbp]"
+.I \&vi
+のみ。
+.B \&{
+と
+.B \&}
+コマンドで使用する段落境界の定義を追加します。
+.TP
+.B "path []"
+編集するファイルを探すディレクトリの追加分を定義します。
+Define additional directories to search for files being edited.
+.\" I cannot get a double quote to print between the square brackets
+.\" to save my life. The ONLY way I've been able to get this to work
+.\" is with the .tr command.
+.tr Q"
+.ds ms print [QQ]
+.TP
+.B "\*(ms"
+.tr QQ
+常に表示可能な文字として扱われる文字を指定します。
+.TP
+.B "prompt [on]"
+.I \&ex
+のみ。
+コマンドプロンプトを表示します。
+.TP
+.B "readonly, ro [off]"
+ファイルとそのセッションを読み込み専用とします。
+.TP
+.B "recdir [/var/tmp/vi.recover]"
+復元用のファイルを置くディレクトリです。
+.TP
+.B "redraw, re [off]"
+.I \&vi
+のみ。
+ダム端末上で、インテリジェント端末をシミュレートします。
+.I "このオプションはまだ実装されていません。"
+.TP
+.B "remap [on]"
+解決されるまで、キーマップを解釈します。
+.TP
+.B "report [5]"
+変更ないしヤンクについて、エディタが報告する行数を設定します。
+.TP
+.B "ruler [off]"
+.I \&vi
+のみ。
+最下行に行/カラムを示す罫を表示します。
+.TP
+.B "scroll, scr [window / 2]"
+スクロールする行数を設定します。
+.TP
+.B "searchincr [off]"
+.B \&/
+と
+.B \&?
+コマンドをインクリメンタルにセットします。
+.TP
+.B "sections, sect [NHSHH HUnhsh]"
+.I \&vi
+のみ。
+.B \&[[
+と
+.B \&]]
+コマンドで使用するセクション境界の定義を追加します。
+.TP
+.B "secure [off]"
+外部プログラムへのすべてのアクセスを止めます。
+.TP
+.B "shell, sh [環境変数 SHELL 、または /bin/sh]"
+エディタ上から使われるシェルを選択します。
+.\" I cannot get a double quote to print between the square brackets
+.\" to save my life. The ONLY way I've been able to get this to work
+.\" is with the .tr command.
+.tr Q"
+.ds ms shellmeta [~{[*?$`'Q\e]
+.TP
+.B "\*(ms"
+.tr QQ
+ファイル名の拡張が必要なとき、その決定をするメタキャラクタを
+セットします。
+.TP
+.B "shiftwidth, sw [8]"
+オートインデント、シフトコマンドで用いる幅を設定します。
+.TP
+.B "showmatch, sm [off]"
+.I \&vi
+のみ。
+``{'' と ``('' に対し ``}'' and ``)'' の括弧の対応を表示します。
+.TP
+.B "showmode, smd [off]"
+.I \&vi
+のみ。
+現在のエディタのモードと ``変更'' フラグを表示します。
+.TP
+.B "sidescroll [16]"
+.I \&vi
+のみ。
+左右スクロールで動く幅を設定します。
+.TP
+.B "slowopen, slow [off]"
+文書を入力中、画面更新を遅らせて表示します。
+.I "このオプションはまだ実装されていません。"
+.TP
+.B "sourceany [off]"
+現在のユーザの所有でないスタートアップファイルを読み込みます。
+.I "このオプションが実装されることは決してありません。"
+.TP
+.B "tabstop, ts [8]"
+このオプションは、表示で使用されるタブの幅を設定します。
+.TP
+.B "taglength, tl [0]"
+タグの名前を判別可能な最大文字数を設定します。
+.TP
+.B "tags, tag [tags /var/db/libc.tags /sys/kern/tags]"
+タグファイルのリストを設定します。
+.TP
+.B "term, ttytype, tty [環境変数 TERM]"
+端末の型を設定します。
+.TP
+.B "terse [off]"
+このオプションは伝統的にエディタの示すメッセージをより簡潔なものにする
+ために作られています。
+この実装では何の影響も与えません。
+.TP
+.B "tildeop [off]"
+.B \&~
+コマンドが連係動作をするように修正します。
+.TP
+.B "timeout, to [on]"
+キーをマップする際のタイムアウト。
+.TP
+.B "ttywerase [off]"
+.I \&vi
+のみ。
+別の削除アルゴリズムを選択します。
+.TP
+.B "verbose [off]"
+.I \&vi
+のみ。
+エラーが起こる度にエラーメッセージを表示します。
+.TP
+.B "w300 [no default]"
+.I \&vi
+のみ。
+転送レートが1200ボー以下の場合に設定するウィンドウサイズ。
+.TP
+.B "w1200 [no default]"
+.I \&vi
+のみ。
+転送レートが1200ボーの場合に設定するウィンドウサイズ。
+.TP
+.B "w9600 [no default]"
+.I \&vi
+のみ。
+転送レートが1200ボー以上の場合に設定するウィンドウサイズ。
+.TP
+.B "warn [on]"
+.I \&ex
+のみ。
+このオプションは、
+ファイルが最後に書き込まれた後でファイルが修正されている場合、
+.B \&!
+コマンドが実行される前に端末に警告メッセージ
+を出すようにします。
+.TP
+.B "window, w, wi [環境変数 LINES]"
+画面のウィンドウサイズを設定します。
+.TP
+.B "windowname [off]"
+アイコン名、ウインドウ名を、たとえエディタ終了時に戻すことができなく
+なるとしても、現在作業中のファイル名に変えます。
+.TP
+.B "wraplen, wl [0]"
+.I \&vi
+のみ。
+左マージンから指定したカラム数で、行を自動的に折り返します。
+もし、
+.B wraplen
+と
+.B wrapmargin
+の両方の編集オプションがセットされると、
+.B wrapmargin
+の値が使われます。
+.TP
+.B "wrapmargin, wm [0]"
+.I \&vi
+のみ。
+右マージンから指定したカラム数で、行を折り返します。
+.B wraplen
+と
+.B wrapmargin
+編集オプションの両方が指定されると、
+.B wrapmargin
+の値が使われます。
+.TP
+.B "wrapscan, ws [on]"
+検索が、ファイルの最後に達したら最初へと戻ります。
+.TP
+.B "writeany, wa [off]"
+ファイルの上書きチェックを切り替えます。
+.SH 環境変数
+.TP
+.I COLUMNS
+画面のカラム数。
+この値は、システムや端末固有のどの値をも上書きします。
+.I ex/vi
+の起動時に環境変数
+.I COLUMNS
+が設定されていない場合、または
+.B columns
+オプションによりユーザが明示的に値をリセットした場合は、
+.I ex/vi
+は環境変数
+.I COLUMNS
+にこの値を設定します。
+.TP
+.I EXINIT
+.I \&ex
+のスタートアップコマンドのリスト。
+.I NEXINIT
+が設定されていない場合に読み込まれます。
+.TP
+.I HOME
+ユーザのホームディレクトリ。
+起動時に ``$\fIHOME\fP/.nexrc'' と ``$\fIHOME\fP/.exrc''
+を読み込むための初期ディレクトリパスとして使われます。
+この値は、
+.I \&vi
+の
+.B \&cd
+コマンドのデフォルトディレクトリとしても使われます。
+.TP
+.I LINES
+画面の行数。
+この値は、システムや端末固有のどの値をも上書きします。
+.I ex/vi
+起動時に、環境変数
+.I LINES
+が設定されていないか、
+.B lines
+オプションによりユーザが明示的に値をリセットした場合は、
+.I ex/vi
+は環境変数
+.I LINES
+にこの値を設定します。
+.TP
+.I NEXINIT
+.I \&ex
+のスタートアップコマンドのリスト。
+.TP
+.I SHELL
+ユーザが選んだシェル 。 (
+.B shell
+オプションを参照)
+.TP
+.I TERM
+ユーザの端末の型。デフォルトの型は ``unknown'' です。
+.I ex/vi
+起動時に環境変数
+.I TERM
+の値が設定されていないか、または、
+.B term
+オプションによりユーザが明示的に値をリセットした場合は、
+.I ex/vi
+は環境変数
+.I TERM
+にこの値を設定します。
+.TP
+.I TMPDIR
+テンポラリファイルの作成される場所。 (
+.B directory
+オプションを参照)
+.SH 非同期イベント
+.TP
+SIGALRM
+.I \&vi/ex
+は、ファイル編集時の定期的なバックアップを行なうためと、
+処理に長い時間がかかりそうな時に画面に ``busy'' のメッセージを
+表示するために、このシグナルを使います。
+.TP
+SIGHUP
+.TP
+SIGTERM
+最後にファイル全体を書き込んだ後、現在のバッファを変更した場合、
+後に復旧できるように編集中のファイルを保存しようと試みます。
+詳細は、
+.I \&vi/ex
+リファレンスマニュアルの ``Recovery'' のセクションを参照して下さい。
+.TP
+SIGINT
+この割り込みが発生した場合、現在の操作は停止され、コマンドレベルに戻ります。
+テキスト入力中にこの割り込みが発生した場合は、テキスト入力を正常に終了させた
+かのように、ファイルに入力中のテキストを書き込みます。
+.TP
+SIGWINCH
+スクリーンのサイズ変更を行ないます。
+詳しくは、
+.I \&vi/ex
+リファレンスマニュアルの ``Sizing the Screen'' のセクションを参照して下さい。
+.TP
+SIGCONT
+.TP
+SIGQUIT
+.TP
+SIGTSTP
+.I \&vi/ex
+はこれらのシグナルを無視します。
+.SH 関連ファイル
+.TP
+/bin/sh
+デフォルトのユーザシェル。
+.TP
+/etc/vi.exrc
+システム全体における vi のスタートアップファイル。
+.TP
+/tmp
+テンポラリファイルのディレクトリ。
+.TP
+/var/tmp/vi.recover
+デフォルトの復元ファイルのディレクトリ。
+.TP
+$HOME/.nexrc
+ユーザのホームディレクトリにあるスタートアップファイルで、
+1 番最初に読まれるファイル。
+.TP
+$HOME/.exrc
+ユーザのホームディレクトリにあるスタートアップファイルで、
+2 番目に読まれるファイル。
+.TP
+\&.nexrc
+ローカルディレクトリにあるスタートアップファイルで、
+1 番最初に読まれるファイル。
+.TP
+\&.exrc
+ローカルディレクトリにあるスタートアップファイルで、
+2 番目に読まれるファイル。
+.SH 関連項目
+.IR ctags (1),
+.IR more (3),
+.IR curses (3),
+.IR dbopen (3)
+.sp
+``Vi Quick Reference'' カード。
+.sp
+``An Introduction to Display Editing with Vi'' のセクション。
+4.3BSD と 4.4BSD のマニュアルセットの
+``UNIX User's Manual Supplementary Documents''
+の中で見つかります。
+これは、手に入るものの中で
+.I \&vi
+スクリーンエディタの入門書にもっとも近いものです。
+.sp
+``Ex Reference Manual (Version 3.7)'' のセクション。
+4.3BSD と 4.4BSD のマニュアルセットの
+``UNIX User's Manual Supplementary Documents'' の中で見つかります。
+これは、
+.I \&ex
+エディタのドキュメントで、伝統的な 4BSD と System V で配布された
+最終的なリファレンスです。
+.sp
+``Edit: A tutorial'' セクション。
+4.3BSD のマニュアルセットの
+``UNIX User's Manual Supplementary Documents'' の中で見つかります。
+これは、
+.I \&ex
+スクリーンエディタの単純な版の入門用ドキュメントです。
+.sp
+``Ex/Vi Reference Manual'' セクション。
+4.4BSD のマニュアルセットの
+``UNIX User's Manual Supplementary Documents'' の中で見つかります。
+これは、
+.I \&nex/nvi
+テキストエディタのために 4.4BSD と 4.4BSD-Lite で配布された
+最終的なリファレンスです。
+.PP
+.I nex/nvi
+ドキュメントの
+.I roff
+ソース。
+これらは
+.I nex/nvi
+のソースコードが置かれているディレクトリの
+.I nvi/USD.doc
+ディレクトリの中に一緒に配布されています。
+.sp
+.I nex/nvi
+のソースコードが置かれている
+.I nvi/docs/internals
+ディレクトリの
+``autowrite'', ``input'', ``quoting'' , ``structures''
+といったファイル群。
+.SH 歴史
+.I ex/vi
+エディタに代わる
+.I nex/nvi
+コマンドは、4.4BSD から登場しました。
+.SH 標準
+.I \&nex/nvi
+は、IEEE Std1003.2 (``POSIX'') に近いです。
+この文書は、幾つかの点で従来の
+.I ex/vi
+の実際の動作とは異なります。
+.I \&nex/nvi
+には、両方の面に則って作られたという違いがあります。
diff --git a/ja/man/man1/vidcontrol.1 b/ja/man/man1/vidcontrol.1
new file mode 100644
index 0000000000..057886c952
--- /dev/null
+++ b/ja/man/man1/vidcontrol.1
@@ -0,0 +1,121 @@
+.\"
+.\" vidcontrol - a utility for manipulating the syscons video driver
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" @(#)vidcontrol.1
+.\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab %
+.\"
+.Dd May 22, 1994
+.Dt VIDCONTROL 1
+.Os
+.Sh 名称
+.Nm vidcontrol
+.Nd syscons 画面ドライバの操作ユーティリティ
+.Sh 書式
+.Nm
+.Ar options ...
+.Sh 解説
+.Nm vidcontrol
+コマンドを用いて syscons 画面ドライバの様々なオプション、例えば、
+画面モード、色、カーソル、画面マップ(scrnmap)、
+フォント、スクリーンセーバタイムアウトを設定することができます。
+.Pp
+新しい画面モードを選択するには、
+.Nm vidcontrol
+の引数に画面モードを指定します。
+例えば:
+.Bd -literal
+vidcontrol VGA_80x25
+.Ed
+.Pp
+現在サポートしているモードは以下の通りです:
+.Ar VGA_40x25 ,
+.Ar VGA_80x25 ,
+.Ar VGA_80x50 ,
+.Ar EGA_80x25 ,
+.Ar EGA_80x43 .
+ラップトップによっては画面モード
+.Ar VGA_80x30
+および
+.Ar VGA_80x60
+も使用できます。また、グラフィックモード
+.Ar VGA_320x200
+も選択できます。
+.Pp
+テキストを表示する際の色は、
+前景色(例: "vidcontrol white")、あるいは
+前景色および背景色(例: "vidcontrol yellow blue")を指定することにより
+変更できます。
+.Pp
+現在のプラットフォーム上でサポートされている色を見るには
+"vidcontrol show"
+とします。
+.Pp
+以下のコマンドラインオプションがサポートされています:
+.Bl -tag -width Fl
+.It Fl r Ar foreground Ar background
+反転表示モードで用いる色を前景色
+.Ar foreground
+および背景色
+.Ar background
+に変更します。
+.It Fl b Ar color
+ボーダ色を
+.Ar color
+に設定します(VGA ハードウェアでのみサポートされています)。
+.It Fl c Ar normal|blink|destructive
+カーソルの外観を変更します。
+カーソルは、反転ブロック(normal)、反転ブロックの点滅(blink)、
+あるいは古いハードウェアカーソル様のもの(destructive)のいずれかです。
+後者は実際にはシミュレートしています。
+.It Fl d
+現在の画面出力マップを表示します。
+.It Fl l Ar scrmap
+画面出力マップをファイル
+.Ar scrmap
+から読み込んで設定します。
+.It Fl L
+画面出力マップをデフォルトに設定します。
+.It Fl m Ar on|off
+マウスポインタをオン/オフします。
+テキストモードでのカット&ペースト機能を利用するために moused デーモンと共に
+使用します。
+.It Fl f Ar size Ar file
+サイズ
+.Ar size
+用のフォントをファイル
+.Ar file
+から読み込みます。
+現在のところ
+.Ar size
+には 8x8, 8x14, 8x16 のみが指定できます。
+フォントファイルは uuencode された形式でも
+生のバイナリフォーマットでも構いません。
+.It Fl t Ar N|off
+スクリーンセーバのタイムアウト値を
+.Ar N
+秒に設定、あるいはスクリーンセーバを無効(
+.Ar off
+)にします。
+.It Fl x
+出力に 16 進数を用います。
+.El
+.Sh 関連ファイル
+.Bl -tag -width /usr/share/syscons/scrnmaps -compact
+.It Pa /usr/share/syscons/fonts
+.It Pa /usr/share/syscons/scrnmaps
+.El
+.Sh 関連項目
+.Xr kbdcontrol 1 ,
+.Xr keyboard 4 ,
+.Xr screen 4
+.Sh 作者
+Sen Schmidt (sos@FreeBSD.org)
diff --git a/ja/man/man1/vis.1 b/ja/man/man1/vis.1
new file mode 100644
index 0000000000..20c117ea78
--- /dev/null
+++ b/ja/man/man1/vis.1
@@ -0,0 +1,123 @@
+.\" Copyright (c) 1989, 1991, 1993, 1994
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)vis.1 8.4 (Berkeley) 4/19/94
+.\" jpman %Id: vis.1,v 1.2 1997/05/27 00:46:26 mutoh Stab %
+.\"
+.Dd April 19, 1994
+.Dt VIS 1
+.Os BSD 4.4
+.Sh 名称
+.Nm vis
+.Nd 表示不可能なキャラクタを、表示可能なフォーマットで出力する
+.Sh 書式
+.Nm
+.Op Fl cbflnostw
+.Op Fl F Ar foldwidth
+.Op Ar
+.Sh 解説
+.Nm
+は表示不可能なキャラクタをビジュアルに表現に変換するフィルタです。
+.Ql cat -v
+と異なり、変換した出力はユニークで、逆変換可能です。
+デフォルトでは、空白文字、タブ、および改行 (ニューライン) を除く
+表示不可能な全キャラクタがエンコードされます。エンコードのフォーマットの
+詳細は、
+.Xr vis 3
+で与えられます。
+.Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl b
+デフォルトのエンコードは、バックスラッシュと上矢印(キャレット)
+とメタキャラクタの組み合わせですが、これにバックスラッシュを入れないようにし
+ます。この出力は正確ではなく、逆変換もできませんが、
+入力に対して最も変更が少ない表現です。出力は、
+.Dq Li cat -v
+によく似たものとなります。
+.It Fl c
+一部の表示不可能なキャラクタに、C 言語のバックスラッシュシーケンスを
+使って表示します。
+.It Fl F Ar foldwidth
+.Xr fold 1
+同様、1 行の表示幅を
+.Ar foldwidth
+に収めます(デフォルトは 80桁)。ただし
+.Xr fold 1
+と異なり、特別な見えない改行シーケンスを用います。
+この改行は
+.Xr unvis 1
+で元のファイルに戻す際に取り除かれます。
+もしファイルの最後の文字が改行で終ってない場合には、出力に
+見えない改行シーケンスを付加します。
+不完全な行があるとうまく動作しない数々のエディタやユーティリティでも
+正しく扱える形式の出力が得られます。
+.It Fl f
+.Fl F
+と同じです。
+.It Fl l
+改行位置が見えるように、改行の前に
+.Ql \e$
+を挿入します。
+.It Fl n
+バックスラッシュの二重化と
+.Fl f
+もしくは
+.Fl F
+指定時に挿入される見えない改行シーケンス以外はエンコードしないように
+します。
+.Fl f
+フラグと組み合わせたときの動作は、
+逆変換可能な
+.Xr fold 1
+ユーティリティと考えることができます。
+つまり、出力を
+.Xr unvis 1
+にかけることで fold 状態を元に戻すことができます。
+.It Fl o
+表示不可能なキャラクタ \eddd というように、バックスラッシュ
+と8進数表現で表示します。
+.It Fl s
+端末に送るのが適切ではないキャラクタだけをエンコードします。
+デフォルトの空白文字やタブ、改行に加え、
+バックスペースやベル、復帰 (carriage return) もそのまま出力されます。
+.It Fl t
+タブをエンコード対象にします。
+.It Fl w
+空白、タブ、改行もエンコード対象にします。
+.Sh 関連項目
+.Xr unvis 1 ,
+.Xr vis 3
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/vt220keys.1 b/ja/man/man1/vt220keys.1
new file mode 100644
index 0000000000..ac06c1e518
--- /dev/null
+++ b/ja/man/man1/vt220keys.1
@@ -0,0 +1,131 @@
+.TH VT220KEYS 1
+.\" jpman %Id: vt220keys.1,v 1.3 1997/07/22 18:00:12 horikawa Stab %
+.UC 4
+.SH 名称
+vt220keys \- VT220 端末上のシフトファンクションキーを定義
+.SH 書式
+.B vt220keys
+[
+.B \-cil
+]
+[ keyname keystring ] ...
+.SH 解説
+.I vt220keys
+は、ユーザにシフトファンクションキーを定義させるために、
+vt200 モード中の "vt220 端末" を設定します。
+コマンドラインで指定される各 \f2keyname\f1 は、特定の \f2keystring\f1
+がロードされます。
+\f2keyname\f1 は、以下の語句のうちのどれかです。
+.br
+F6 F7 F8 F9 F10 F11 ESC F12 BS F13 LF F14 HELP DO F17 F18 F19 F20
+.br
+\f2keystrings\f1
+は、空白やタブ、シェルのメタキャラクタを含む時には、クオートしなければ
+なりません。
+.PP
+.B vt220keys
+は、いくつかのオプションフラグの組み合わせや引数のペアを受け取ることを
+期待しています。そうでない場合には、利用方法メッセージが表示されます。
+.PP
+オプションは以下の通りです。
+.TP
+.B \-c
+ユーザによる定義を行う前に、全てのシフトファンクションキーの定義を
+消去します。
+.TP
+.B \-i
+シフトファンクションキー定義のための初期化ファイル
+.I $HOME/.vt220rc
+を読み込みます。これは、コマンドラインのどんな引数ペアを処理するよりも
+前に行われます。このファイルの各行は、(空白かタブで
+分けられた) 二つのフィールドから構成されていなければなりません。
+最初のフィールドは \f2keyname\f1 で、二番目のフィールドは
+\f2keystring\f1 です。
+二番目のフィールドは行末まで続きます。したがって、
+\f2keystring\f1 には空白やタブを含むかもしれません。
+改行 (リターン) は、C 言語での改行表現 (\\n) を使うことで、文字列中に
+含めることができます。
+.TP
+.B \-l
+ファンクションキーを以降の定義からロックします。
+ロックは、("i" オプションが指定されている時は、)初期化ファイルを
+処理し、全ての引数ペアを処理した後で起こります。
+ロックを解除するための唯一の方法は、電源を切ることです。
+.SH 使用例
+vt220keys -ci
+.br
+vt220keys F6 'nroff -ms '
+.br
+vt220keys -i F20 'cc -O -c '
+.br
+vt220keys -l HELP man
+.SH "その他の特徴"
+シフトキーを使わずにファンクションキーを押すと、文字列を生成します。
+\f2csh\f1(1) では、この文字列をいくつかのコマンドに別名づけ(エイリアス)
+することができます。例えば以下のようにしてください。
+.br
+ alias ^[[17~ "ls -CR | more"
+.br
+ここで、 ^[[17~ は、 F6 キーを押したことによって生成された文字列です。
+したがって、 F6 は、シフトキーを押すか、押さないかに依存して、
+二つのコマンドを生成することができます。
+.PP
+.B vt220keys
+は、 .login や .profile から呼び出すことができます。典型的には、ユーザ
+は初期化ファイルを生成して、以下のようなコマンドで行を読み込みます。
+.br
+ vt220keys -ci
+.br
+または、
+.br
+ vt220keys -cil
+.br
+この方法では、シフトファンクションキーはログインした時にあなたの
+好きなように設定されるでしょう。
+.SH 警告
+シフトファンクションキーがロックされていない時には、
+シフトファンクションキーの再定義は、以前の定義を上書きします。
+.PP
+シフトファンクションキーには 256 バイトが利用可能です。
+この領域は、最初に来たものに最初に与える方式で利用されます。
+256 バイトが使われた後では、領域を解放しなければ他のキーを
+定義することはできません。これは、より少ないバイトの文字列でキーを
+再定義することで可能です。
+.PP
+全てのキー定義は、 揮発性の RAM に記憶されます。したがって、端末の
+電源を切った時にはその定義は失われます。
+.PP
+(シフトを押さない) ESC キーはもはや正しいエスケープ文字を生成しません。
+これは、たくさんのエディタが ESC キーの使用を要求するため、
+特に重要です。ここでは、いくつかの利用可能な別の方法を紹介します。
+.sp
+.in +.5i
+エスケープ文字は、 ^[ (control-[) を入力することで生成できます。
+.sp
+.B vt220keys
+を以下のように利用してください(^[ は、 control-[ です)。
+.br
+.in +.5i
+vt220keys ESC '^['
+.in
+.br
+この方法では、エスケープ文字を生成するために、SHIFT キーと ESC キーを
+押さなければなりません。
+.sp
+いくつかのエディタでは、他の文字をエスケープ文字と置き換えることが
+できます。例えば、
+.B emacs
+では以下の行をあなたの .emacs_pro に挿入してください。
+.br
+ (bind-to-key "ESC-prefix" "\\033[23~")
+.br
+ESC キーが押された時、 emacs は生成された文字列 (^[[23~) によって
+エスケープ文字が押された時と同じ機能を提供します。
+.in
+.SH 関連ファイル
+$HOME/.vt220rc \- 初期化ファイル
+.SH "関連項目"
+VT220 Programmer Reference Manual
+.br
+VT220 Programmer Pocket Guide
+
diff --git a/ja/man/man1/vttest.1 b/ja/man/man1/vttest.1
new file mode 100644
index 0000000000..53772dcd6c
--- /dev/null
+++ b/ja/man/man1/vttest.1
@@ -0,0 +1,16 @@
+.TH VTTEST 1 "ローカル"
+.\" jpman %Id: vttest.1,v 1.3 1997/04/11 12:03:21 george Stab %
+.SH 名称
+vttest \- VT100 タイプターミナルのテスト
+.SH 書式
+.B vttest
+.SH 解説
+.I vttest
+は、
+VT100 ターミナル ( またはエミュレータ )
+の機能をテストするためにデザインされたプログラムです。
+ディスプレイ ( エスケープシーケンスの取り扱い )
+とキーボードをテストします。
+.PP
+プログラムはメニュー方式であり、
+十分なオンライン操作指示を含んでいます。
diff --git a/ja/man/man1/w.1 b/ja/man/man1/w.1
new file mode 100644
index 0000000000..a9cc70e68b
--- /dev/null
+++ b/ja/man/man1/w.1
@@ -0,0 +1,143 @@
+.\" Copyright (c) 1980, 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)w.1 8.1 (Berkeley) 6/6/93
+.\" %Id: w.1,v 1.2.8.3 1997/08/26 06:47:43 charnier Exp %
+.\" jpman %Id: w.1,v 1.2 1997/04/16 01:03:05 mitchy Stab %
+.\"
+.Dd June 6, 1993
+.Dt W 1
+.Os BSD 4
+.Sh 名称
+.Nm w
+.Nd ログインしているユーザと、その作業内容を表示する
+.Sh 書式
+.Nm w
+.Op Fl hin
+.Op Fl M Ar core
+.Op Fl N Ar system
+.Op Ar user
+.Sh 解説
+.Nm
+は、システムの現在の動作状況や、ユーザの作業内容を表示します。
+最初の行は現在時刻、システムの稼働時間、ログインしているユーザ数、
+システムの平均負荷を表示します。
+平均負荷は、最近の1分、5分、15分間における実行キュー内の
+ジョブ数の平均値を表します。
+.Pp
+出力項目は、ユーザのログイン名とユーザが現在いる端末の名前、ユーザが
+ログイン してきたホスト、ユーザがログイン している時間、ユーザが
+最後にコマンドを入力してからの経過時間、現在実行しているプロセスの
+名前と引数です。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width Ds
+.It Fl h
+最初の行を出力しません。
+.It Fl i
+アイドル時間の順に出力します。
+.It Fl M
+デフォルトの
+.Dq /dev/kmem
+のかわりに、指定された
+.Ar core
+か
+ら名前のリストに関係する値を取り出します。
+.It Fl N
+デフォルトの
+.Dq /kernel
+のかわりに、指定された
+.Ar system
+から
+名前のリストを取り出します。
+.It Fl n
+ネットワークアドレスを数字で表示します
+(通常
+.Nm
+は、アドレスを解釈してホスト名で表示しようとします)。
+.El
+.Pp
+.Ar ユーザ名
+が指定されると、指定されたユーザのものだけ出力を行います。
+.Sh 関連ファイル
+.Bl -tag -width /var/run/utmp -compact
+.It Pa /var/run/utmp
+システム上のユーザのリスト
+.El
+.Sh 関連項目
+.Xr finger 1 ,
+.Xr ps 1 ,
+.Xr uptime 1 ,
+.Xr who 1
+.Sh バグ
+.Dq 現在実行しているプロセス
+の意味はかなりいい加減なものです。現在のアルゴリズムは、
+.Dq 端末の割り込みを無視していない、もっともプロセス-ID の大きいプロセス、それが見つからなければ、その端末のもっともプロセス-IDの大きいプロセスを見つける
+という仕組みになっています。
+これは失敗する場合があります。たとえば、シェルやエディタのように
+プログラムがクリティカルセクション(ほかからの割り込みを受け付けるべき
+ではないような重要な操作をする状態)にいる場合や、
+不完全なプログラムがバックグラウンドで動いていて、割り込みを無視する
+のに失敗しているような場合です (プロセスを見つけることができなかった
+場合、
+.Nm
+は
+.Dq Fl
+を表示します) 。
+.Pp
+.Tn CPU
+時間は推定でしかありません。特に、誰かがバックグラウンドでプロセスを
+動かしたままログアウトすると、そのプロセスの時間が、
+現在その端末を使用している人の
+.Tn CPU
+時間に加算されます。
+.Pp
+バックグラウンドで動いているプロセスは、たとえその負荷が非常に
+大きくても出力されません。
+.Pp
+バックグラウンドである場合に典型的ですが、プロセスに空白やゴミの引数が
+ついて表示されることがあります。このような場合、コマンドの名前は丸括弧で
+括られて表示されます。
+.Pp
+.Nm
+はバックグラウンドジョブを発見する新しい、便利な法則を知りません。そのため、
+正しいものでなく、バックグラウンドジョブを見つけてしまうことがあります。
+.Sh 互換性
+.Fl f ,
+.Fl l ,
+.Fl s ,
+.Fl w
+オプションはサポートされなくなりました。
+.Sh 歴史
+.Nm
+は
+.Ux 3.0
+から登場しました。
diff --git a/ja/man/man1/wait.1 b/ja/man/man1/wait.1
new file mode 100644
index 0000000000..9eee9847d2
--- /dev/null
+++ b/ja/man/man1/wait.1
@@ -0,0 +1,89 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)wait.1 8.1 (Berkeley) 6/5/93
+.\" jpman %Id: wait.1,v 1.3 1997/07/20 08:00:43 konuma Stab %
+.\" %Id: wait.1,v 1.1.1.1.8.1 1997/03/07 04:17:49 mpp Exp %
+.\"
+.Dd June 5, 1993
+.Dt WAIT 1
+.Os FreeBSD
+.Sh 名称
+.Nm wait
+.Nd プロセスの終了を待つ
+.Sh 書式
+.Nm wait
+.Op Ar pid
+.Sh 解説
+
+引数なしで起動された場合、
+.Nm wait
+はバックグラウンドで実行されている子プロセスが全て終了するまで待ちます。
+.Pp
+オプションは以下のとおりです。
+.Bl -tag -width Ds
+.It Ar pid
+.Ar pid
+が指定され、それがバックグラウンドで実行されている
+子プロセスのプロセスIDであった場合、
+.Nm wait
+はそのプロセスが終了するまで待ち、そのプロセスの
+ステータス情報を取得します。他のプロセスのステータス情報は
+取得しません。
+.Pp
+pidが指定され、そのプロセスIDがバックグラウンドで
+実行されている子プロセスのものでなかったら、
+.Nm wait
+はプロセスの終了を待たず終了します。
+.El
+.Pp
+.Nm wait
+は以下のうちのいずれかの戻り値を返します。
+.Bl -tag -width Ds
+.It \&0
+.Nm wait
+が引数なしで起動されて、全てのバックグラウンドの
+子プロセスが終了するか、pidによって指定されたプロセスが
+0を返して正常に終了した場合。
+.It \&>\&0
+指定されたプロセスが存在せず、その終了ステータスが無効で
+あるか、または、指定されたプロセスが存在するかその終了ステータス
+が有効で、戻り値が0でない場合。
+.El
+.Pp
+指定されたプロセスがシグナルを受けて異常終了した場合は
+.Nm wait
+はそのプロセスの戻り値を返します。
+.Sh 規格
+.Nm wait
+は
+.St -p1003.2
+互換となるように作られています。
diff --git a/ja/man/man1/wall.1 b/ja/man/man1/wall.1
new file mode 100644
index 0000000000..94bcdf01c9
--- /dev/null
+++ b/ja/man/man1/wall.1
@@ -0,0 +1,63 @@
+.\" Copyright (c) 1989, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)wall.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: wall.1,v 1.2 1997/05/04 13:41:31 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt WALL 1
+.Os BSD 4
+.Sh 名称
+.Nm wall
+.Nd ログインしているユーザにメッセージを送る
+.Sh 書式
+.Nm wall
+.Op Ar file
+.Sh 解説
+.Nm wall
+は、デフォルトでは、標準入力の内容を現在ログインしているすべての
+ユーザの端末に表示します。
+.Ar file
+を指定すれば、その内容が表示されます。
+.Pp
+スーパユーザだけが、メッセージを拒否しているユーザや
+自動的にメッセージを拒否するプログラムを使っているユーザの端末にメッセージ
+を送ることができます。
+.Sh 関連項目
+.Xr mesg 1 ,
+.Xr talk 1 ,
+.Xr write 1 ,
+.Xr shutdown 8
+.Sh 歴史
+.Nm
+コマンドは
+.At v7
+ではじめて実装されました。
diff --git a/ja/man/man1/wc.1 b/ja/man/man1/wc.1
new file mode 100644
index 0000000000..1b6e7d9394
--- /dev/null
+++ b/ja/man/man1/wc.1
@@ -0,0 +1,108 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" the Institute of Electrical and Electronics Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)wc.1 8.2 (Berkeley) 4/19/94
+.\" %Id: wc.1,v 1.2.2.1 1997/08/26 06:52:00 charnier Exp %
+.\" jpman %Id: wc.1,v 1.2 1997/03/29 20:55:21 iwasaki Stab %
+.\"
+.Dd April 19, 1994
+.Dt WC 1
+.Os
+.Sh 名称
+.Nm wc
+.Nd 行数、単語数、バイト数を数える。
+.Sh 書式
+.Nm wc
+.Op Fl clw
+.Op Ar
+.Sh 解説
+.Nm
+は各入力ファイル
+.Ar file
+(デフォルトでは標準入力)
+に含まれる行数、単語数、バイト数を数えて標準出力に表示します。
+行は改行文字で区切られた文字列、
+単語は空白文字で区切られた文字列、と定義されます。
+ここで空白文字とは
+.Xr isspace 3
+が真を返すような文字をいいます。
+複数のファイルが指定された場合は、
+最後に行数、単語数、バイト数の各項目別の合計も表示します。
+.Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl c
+各入力ファイルのバイト数を標準出力に表示します。
+.It Fl l
+各入力ファイルの行数を標準出力に表示します。
+.It Fl w
+各入力ファイルの単語数を標準出力に表示します。
+.El
+.Pp
+オプションが指定された場合、
+.Nm
+は要求された情報のみを表示します。
+デフォルトの動作はすべてのオプションが指定された場合と同じです。
+.Pp
+.Ar file
+が指定されなかった場合は、標準入力から読み込まれ、
+ファイル名は出力されません。
+.Pp
+.Nm
+は、成功した場合は 0 を、エラーが起きた場合は 1 以上の値を返します。
+.Sh 関連項目
+.Xr isspace 3
+.Sh 互換性
+歴史的には、
+.Nm
+では単語は「スペース、タブ、改行文字で区切られる最長の文字列」として
+定義する、とドキュメントに記述されていました。
+しかしこの実装は非表示文字を正しく扱いませんでした。
+例えば ``foo^D^Ebar'' を 8 文字と数える一方、`` ^D^E '' を 6 つの空白と
+数えたのでした。4.3BSD 以降の 4BSD では
+ドキュメントと矛盾のないよう修正され、
+.St -p1003.2
+で要求されているように、
+.Xr isspace 3
+を用いて「単語」を定義するよう実装し直されました。
+.Sh 規格
+.Nm
+は
+.St -p1003.2
+準拠です。
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/what.1 b/ja/man/man1/what.1
new file mode 100644
index 0000000000..229133c261
--- /dev/null
+++ b/ja/man/man1/what.1
@@ -0,0 +1,77 @@
+.\" Copyright (c) 1980, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)what.1 8.1 (Berkeley) 6/6/93
+.\"
+.\" %Id: what.1,v 1.2.2.2 1997/08/26 06:53:44 charnier Exp %
+.\" jpman %Id: what.1,v 1.3 1997/06/14 16:05:25 kubo Stab %
+.\"
+.Dd June 6, 1993
+.Dt WHAT 1
+.Os BSD 4
+.Sh 名称
+.Nm what
+.Nd ファイルを構成するオブジェクトモジュールのバージョンを表示する
+.Sh 書式
+.Nm what
+.Ar name Ar ...
+.Sh 解説
+.Nm
+は、
+.Ar name
+で指定されたファイルを読み込み、SCCS (source code control
+system) が挿入した
+.Dq \&@(#)
+形式のシーケンスを検索し、このマークのあと
+に挿入されている文字列をヌル文字か、改行か、ダブルクォート (") か、
+.Dq \&>
+文字が現れるまで表示します。
+.Sh バグ
+.Bx
+は、
+.Tn SCCS
+の配布ライセンスを受けていませんので、
+.Bx
+の
+.Nm
+コマンドは、本来の
+.Tn SCCS
+のシステムに属する
+.Nm
+コマンドをリライトしたものです。
+このため、正確には同じ動作をしないかもしれません。
+.Sh 関連項目
+.Xr ident 1
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.0
+から登場しました。
diff --git a/ja/man/man1/whereis.1 b/ja/man/man1/whereis.1
new file mode 100644
index 0000000000..15c36d4f1e
--- /dev/null
+++ b/ja/man/man1/whereis.1
@@ -0,0 +1,132 @@
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)whereis.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: whereis.1,v 1.3 1997/06/14 16:06:45 kubo Stab %
+.\" %Id: whereis.1,v 1.2 1996/06/15 12:29:47 joerg Exp %
+.\"
+.Dd June 15, 1996
+.Dt WHEREIS 1
+.Os FreeBSD
+.Sh 名称
+.Nm whereis
+.Nd プログラムのパスを表示します
+.Sh 書式
+.Nm whereis
+.Op Fl bms
+.Op Fl u
+.Op Fl BMS dir ... Fl f
+.Ar program ...
+.Sh 解説
+.Nm whereis
+は標準のバイナリディレクトリやマニュアルページそして、特定のプログラム
+のソースファイルディレクトリを検索し、指定されたプログラムのパスが
+見つかれば表示します。与えられた名前は、はじめに
+.Ql .ext
+形式のプレフィックスをひとつはずし、
+ソースコード制御システムのためのファイル名のはじめの
+.Ql s.
+や最後の
+.Ql ,v
+を外し、パス名にされます。
+.Pp
+検索されるディレクトリは
+.Xr sysctl 8
+に文字列
+.Dq user.cs_path
+を与えた時に返される文字列と
+.Pa /usr/libexec
+および現在のユーザの
+.Ev $PATH
+です。マニュアルは、デフォルトでは
+.Ev $MANPATH
+にしたがって検索されます。プログラムソースは、
+.Pa /usr/src
+や
+.Pa /usr/ports
+の全てのサブディレクトリを含む、標準の場所のリストにあるものとされます。
+.Pp
+以下のようなオプションが利用可能です。
+.Bl -tag -width indent
+.It Fl B
+バイナリを検索するためのディレクトリを指定します。
+.Fl f
+オプションが必要です。
+.It Fl M
+マニュアルページを検索するためのディレクトリを指定します。
+.Fl f
+オプションが必要です。
+.It Fl S
+プログラムソースを検索するためのディレクトリを指定します。
+.Fl f
+オプションが必要です。
+.It Fl b
+バイナリを検索します。
+.It Fl f
+.Fl B ,
+.Fl M ,
+.Fl S
+オプションが指定された後で、ディレクトリのリストの境界を設定し、
+.Ar name
+リストのはじめを指定します。
+.It Fl m
+マニュアルページを検索します。
+.It Fl s
+ソースディレクトリを検索します。
+.It Fl u
+.Dq unusual
+エントリを検索します。ファイルは、要求されたそれぞれのタイプのエントリがない場合に
+普通でない (unusual) といわれます。
+.El
+.Sh 実行例
+以下では、
+.Pa /usr/bin
+以下のドキュメントがない全てのユーティリティを見つけます。
+.Dl whereis -m -u /usr/bin/*
+.Sh 関連項目
+.Xr locate 1 ,
+.Xr man 1 ,
+.Xr sysctl 8
+.Sh バグ
+ソースの検索は、ソースディレクトリのリストの各要素の第一レベルの
+サブディレクトリを検索するクイック検索で実装されています。
+これが成功しない場合、
+.Xr locate 1
+ユーティリティがサブディレクトリのより深いところまで検索するために
+呼び出されます。これは、時間がかかりますし、ロケートデーターベースが
+更新されている時にだけ成功します。
+.Sh 歴史
+.Nm whereis
+コマンドは、
+.Bx 3.0
+で導入されました。この版は
+.Bx 4.4
+で失われた歴史的な機能を再実装しました。
diff --git a/ja/man/man1/which.1 b/ja/man/man1/which.1
new file mode 100644
index 0000000000..aa9361d61b
--- /dev/null
+++ b/ja/man/man1/which.1
@@ -0,0 +1,67 @@
+.\" Manpage Copyright (c) 1995, Jordan Hubbard <jkh@freebsd.org>
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the FreeBSD Project
+.\" its contributors.
+.\" 4. Neither the name of the FreeBSD Project nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+.\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: which.1,v 1.6.2.1 1997/08/27 06:18:05 charnier Exp %
+.\" jpman %Id: which.1,v 1.3 1997/06/14 16:24:02 kubo Stab %
+.Dd January 26, 1995
+.Dt WHICH 1
+.Os FreeBSD
+.Sh 名称
+.Nm which
+.Nd "ユーザパスからプログラムを見つける"
+.Sh 書式
+.Nm which
+.Op Fl as
+.Op Ar command
+.Ar ...
+.Sh 解説
+.Nm
+は、コマンド名のリストを受け取り、
+実際に起動したならば実行できる実行形式ファイルを探します。
+.Pp
+オプションには以下のものがあります:
+.Bl -tag -width indent
+.It Fl a
+(最初に見つけたものだけでなく) みつけたすべての実行形式を表示します。
+.It Fl s
+実行形式が見つかれば 0 を返し、見つからなければ 1 を返します。
+表示はしません。
+.Sh 歴史
+.Nm
+コマンドは
+.Fx 2.1
+から登場しました。
+.Sh 関連ファイル
+.Xr perl 1
+.Sh 作者
+新しいバージョンの
+.Nm
+PERL スクリプトは
+.An Wolfram Schneider Aq wosch@FreeBSD.org
+によって書かれました。
diff --git a/ja/man/man1/who.1 b/ja/man/man1/who.1
new file mode 100644
index 0000000000..832b596a1c
--- /dev/null
+++ b/ja/man/man1/who.1
@@ -0,0 +1,104 @@
+.\" Copyright (c) 1986, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)who.1 8.2 (Berkeley) 12/30/93
+.\" %Id: who.1,v 1.2.2.1 1997/08/27 06:19:30 charnier Exp %
+.\" jpman %Id: who.1,v 1.3 1997/06/14 16:25:35 kubo Stab %
+.\"
+.Dd December 30, 1993
+.Dt WHO 1
+.Os
+.Sh 名称
+.Nm who
+.Nd 誰がログインしているかを表示する
+.Sh 書式
+.Nm who
+.Op Ar am I
+.Op Ar file
+.Sh 解説
+.Nm
+ユーティリティは、現在ログインしている全ユーザについて、ユーザごとに
+ログイン名、端末名、ログインした日時、ホスト名 (リモートログイン
+しているときのみ) を表示します。
+.Pp
+オプションは以下の通りです:
+.Bl -tag -width file
+.It Ar \&am I
+このコマンドを起動したユーザの本当のユーザ名 (real user name) を表示します。
+.It Ar file
+.Nm
+はデフォルトで
+.Pa /var/run/utmp
+を調べますが、
+.Ar file
+が指定された場合、そのファイルからユーザ情報を得るようにします。
+.Ar file
+には、普通、
+.Pa /var/run/wtmp
+を指定します (あるいは、サイトの方針次第ですが、
+.Pa /var/run/wtmp.[0-6]
+であるかもしれません。というのも、
+.Pa wtmp
+ファイルは大変大きくなるかもしれないので、
+.Xr ac 8
+によって圧縮した後には、
+日毎のファイルを保存していない場合もあるからです)。
+.Pa wtmp
+には、最後に
+.Pa wtmp
+を作成するか、またはそのファイルサイズをゼロにして以来の
+全てのログイン、ログアウト、クラッシュ、シャットダウン、および
+date コマンドでの日時の変更が記録されています。
+.El
+.Pp
+.Pa /var/log/wtmp
+ファイルが記録ファイルとして使用されている場合には、
+ユーザ名は空、あるいは特殊文字 '|', '}', '~' のうちの
+ひとつであるかもしれません。その際には、ログアウトすることで、ユーザ名
+が記録されていない出力行を生成します。より詳しくは、
+.Xr utmp 5
+を参照してください。
+.Sh 関連ファイル
+.Bl -tag -width /var/log/wtmp.[0-6] -compact
+.It Pa /var/run/utmp
+.It Pa /var/log/wtmp
+.It Pa /var/log/wtmp.[0-6]
+.El
+.Sh 関連項目
+.Xr last 1 ,
+.Xr users 1 ,
+.Xr getuid 2 ,
+.Xr utmp 5
+.Sh 歴史
+.Nm
+ユーティリティは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/whoami.1 b/ja/man/man1/whoami.1
new file mode 100644
index 0000000000..1fb0ab7fa1
--- /dev/null
+++ b/ja/man/man1/whoami.1
@@ -0,0 +1,61 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)whoami.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: whoami.1,v 1.3 1997/06/14 04:31:06 kubo Stab %
+.\"
+.Dd June 6, 1993
+.Dt WHOAMI 1
+.UC
+.Sh 名称
+.Nm whoami
+.Nd 実効ユーザ ID を表示する
+.Sh 書式
+.Nm whoami
+.Sh 解説
+.Nm whoami
+は、
+.Xr id 1
+が登場したために時代遅れとなりました。
+これは、
+.Dq Nm id Fl un
+と等価です。
+通常、対話的に使うには、
+.Dq Nm id Fl p
+を推奨します。
+.Pp
+.Nm whoami
+は、自分の実効ユーザ ID を名前で表示します。
+.Pp
+.Nm whoami
+は、成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。
+.Sh 関連項目
+.Xr id 1
diff --git a/ja/man/man1/whois.1 b/ja/man/man1/whois.1
new file mode 100644
index 0000000000..42d6bbd6dc
--- /dev/null
+++ b/ja/man/man1/whois.1
@@ -0,0 +1,87 @@
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)whois.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: whois.1,v 1.3 1997/06/14 04:30:33 kubo Stab %
+.\"
+.Dd June 6, 1993
+.Dt WHOIS 1
+.Os BSD 4.3
+.Sh 名称
+.Nm whois
+.Nd インターネットのユーザ名簿 (user name directory) サービス
+.Sh 書式
+.Nm whois
+.Op Fl h Ar hostname
+.Ar name ...
+.Sh 解説
+.Nm
+はネットワークインフォメーションセンター
+.Pq Tn NIC
+のデータベースの検索を行ないます。
+.Pp
+オプションとしては以下のものがあります。
+.Bl -tag -width Ds
+.It Fl h Ar hostname
+NIC に代えて
+.Ar hostname
+で指定したホスト用います。デフォルトのホストは whois.internic.net です。
+.El
+.Pp
+.Nm
+コマンドに指定されたオペランドは空白をはさんで結合され、
+指定された
+.Nm
+サーバに渡されます。
+.Pp
+特に
+.Ar name
+で指定されなければ、デフォルトでは
+データベース中のすべてのレコードのほとんどの
+フィールド (名前、通称 (nicknames)、ホスト名、ネットアドレス、その他) に
+ついて
+.Ar name
+に一致するものを探すという、広範囲な検索を実行します。
+.Ar name
+オペランドの持つ特別な意味や
+検索の進め方に関してさらに情報を得るには、
+特別な名前
+.Dq Ar help
+を
+.Ar name
+に指定して下さい。
+.Sh 関連項目
+RFC 812: Nicname/Whois
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.3
+から登場しました。
diff --git a/ja/man/man1/window.1 b/ja/man/man1/window.1
new file mode 100644
index 0000000000..911439bc69
--- /dev/null
+++ b/ja/man/man1/window.1
@@ -0,0 +1,887 @@
+.\" Copyright (c) 1985, 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Edward Wang at The University of California, Berkeley.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)window.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: window.1,v 1.3 1997/08/31 14:19:38 horikawa Stab %
+.\"
+.Dd December 30, 1993
+.Dt WINDOW 1
+.Os BSD 4.3
+.Sh 名称
+.Nm window
+.Nd ウインドウ環境を実現します
+.Sh 書式
+.Nm window
+.Op Fl t
+.Op Fl f
+.Op Fl d
+.Op Fl e Ar escape-char
+.Op Fl c Ar command
+.Sh 解説
+.Nm window
+は、
+.Tn ASCII
+端末上でウインドウ環境を実装します。
+.Pp
+ウインドウとは物理的な端末スクリーンの中の部分的な長方形部分を指し、
+ここをプロセスの集合が利用します。その大きさと位置はユーザがいつでも
+変更できます。プロセスは
+標準入力、標準出力、標準エラー出力を通して端末と通信する通常の方法と
+同じ方法で、そのウインドウと通信します。
+ウインドウプログラムはそのウインドウに対する入力と出力のリダイレクトに関する
+細かい処理を行います。どんな時でも、 1 つのウインドウだけがキーボードからの
+入力を受けることが出来ますが、全てのウインドウが同時にディスプレイへの出力を
+送ることが可能です。
+.Pp
+.Nm window
+が立ち上がった時、ユーザのホームディレクトリにある
+.Pa .windowrc
+内のコマンドが実行されます。もしこのファイルが存在しない時は、
+デフォルトとして同じ大きさのウインドウが 2 つ作成されます。
+.Pp
+コマンドラインオプションには以下のものがあります。
+.Bl -tag -width Fl
+.It Fl t
+terse モードをオンにします
+(以下の
+.Ic terse
+コマンドを参照)。
+.It Fl f
+高速モードです。スタートアップ動作は何もしません。
+.It Fl d
+.Pa .windowrc
+を無視する代わりに 2 つのデフォルトウインドウを作成します。
+.It Fl e Ar escape-char
+エスケープ文字を
+.Ar escape-char
+にします。
+.Ar escape-char
+は文字 1 つか、もしくは
+.Ic ^X
+.Ns ( No control\- Ns Ar X
+) のような形式です
+.Ns ( Ar X
+はどんな文字でも構いません)。
+.It Fl c Ar command
+.Ar command
+をロングコマンド(以下参照)として最初に実行します。
+.El
+.Pp
+ウインドウはオーバラップ可能で、枠が必要です。
+各ウインドウには、``1'' から ``9'' の数字のうちの一つの名前が
+付いています。この一文字の識別子は、ユーザが定義できるラベル文字と
+同じように、ウインドウのフレームの上の辺に表示されます。
+ウインドウは
+.Ar フォアグラウンド
+にあるように設計されています。フォアグランドウインドウは、
+普通の他のフォアグラウンドではないウインドウよりもつねに上にあります。
+このウインドウより上になるのは、他のフォアグランドウインドウだけです。
+ウインドウは、端末画面の辺内に完全に入っている必要はありません。
+したがって、(画面よりも大きくても良い)大きいウインドウは、その全画面の
+一部分だけが表示されるでしょう。
+.Pp
+各ウインドウは、カーソルと制御機能を持っています。最も知的な端末操作、
+すなわち行や文字消去や挿入が提供されています。下線を引いたり反転表示等の
+ディスプレイモードは、端末によって提供されている場合には、利用可能です。
+更に、複数ページ分のメモリがある端末と同じように、各ウインドウは
+ウインドウ画面に表示されるよりも多くの行を保持できるテキストバッファを
+持っています。
+.Ss プロセス環境
+新しく作成されたウインドウでは、
+呼び出されたウインドウからプロセス環境を引き継いで、
+シェルプログラムが実行されます。
+標準入力・出力・エラー出力は、仮想端末 (
+.Xr pty 4
+参照) または、
+.Ux
+ドメインのソケット (
+.Xr socketpair 2
+参照)と結びつけられます。
+仮想端末が使われている場合、特別な文字やモード(
+.Xr stty 1
+参照)は、物理端末から複製されます。
+このウインドウに対する
+.Xr termcap 5
+のエントリが作成されて、環境として(
+.Xr environ 7
+参照)変数
+.Ev TERMCAP
+に渡されます。
+termcap エントリには、下線・反転表示・その他の表示モード・
+可能であれば端末のファンクションキーによって生み出されるコード等の
+物理端末からの情報と同じように、ウインドウの大きさや特徴が含まれています。
+更に、仮想端末のウインドウサイズ属性は、ウインドウの大きさを反映するように
+設定され、その大きさが変更された場合はその情報が更新されます。
+特に、エディタ
+.Xr vi 1
+は、この情報を画面を再表示するために利用します。
+.Ss 操作
+普通の実行中には、
+.Nm window
+は、二つの状態の内の一つの状態にあります。
+この二つの状態は、会話モードとコマンドモードです。
+会話モードでは、端末の実際のカーソルは、特定のウインドウのカーソル位置
+に位置します。この特定のウインドウはカレントウインドウと呼ばれます。
+そして、キーボードからの入力は、そのウインドウにあるプロセスに
+送られます。カレントウインドウは、他のウインドウがフォアグランドに
+ある時を除いて、いつも他のウインドウよりも上にあります。
+更に、その識別子とラベルは反転表示で強調されています。
+.Pp
+.Nm window
+のエスケープ文字 (通常は、
+.Ic ^P
+です) を入力することで、会話モードからコマンドモードへ移行します。
+コマンドモードでは、端末画面の一番上の行は
+コマンドプロンプトウインドウに変わり、
+.Nm window
+はキーボードからの入力をウインドウを操作するコマンドであると解釈します。
+.Pp
+二つの種類のコマンドがあります。短いコマンドは普通 1文字ないし 2文字
+から構成されます。長いコマンドはコマンドウインドウ (以下の
+.Dq Ic \&:
+コマンドを参照) で入力される文字列もしくは、ファイル (以下の
+.Ic source
+参照) から読み込まれます。
+.Ss 短いコマンド
+以下では、
+.Ar \&#
+は、ウインドウ 1 から 9 に結びつけられた、
+数字の ``1'' から ``9'' のひとつを表現します。
+.Ic ^X
+は、
+.No control\- Ns Ar X
+を意味します。ここで、
+.Ar X
+は任意の文字です。
+特に、
+.Ic ^^
+は、
+.Li control\-^
+です。
+.Ar escape
+はエスケープキーもしくは、
+.Ic ^\&[
+です。
+.Bl -tag -width Ds
+.It Ar #
+ウインドウ
+.Ar #
+をカレントウインドウとして選択し、会話モードに戻ります。
+.It Ic \&% Ns Ar #
+ウインドウ
+.Ar #
+を選択しますが、コマンドモードのままです。
+.It Ic ^^
+一つ前のウインドウを選択し、会話モードに戻ります。
+これは、二つのウインドウの間を交互に移動する時に便利です。
+.It Ic escape
+会話モードに戻ります。
+.It Ic ^P
+会話モードに戻り、現在のウインドウに
+.Ic ^P
+を書き込みます。したがって、会話モード中で二つの
+.Ic ^P
+を入力することで、一つを現在のウインドウに送ることができます。
+.Nm window
+のエスケープを別の文字に変更している場合には、その文字がここでいう
+.Ic ^P
+と同じ動作をします。
+.It Ic ?
+コマンドの短いまとめを表示します。
+.It Ic ^L
+画面を再描画します。
+.It Ic q
+.Nm window
+を終了します。
+確認が行われます。
+.It Ic ^Z
+.Nm window
+を中断します。
+.It Ic w
+新しいウインドウを作成します。ユーザはウインドウの左上の場所と
+右下の場所を指定します。カーソルが画面上に表示され、
+``h'', ``j'', ``k'', ``l'' キーでカーソルをそれぞれ 左 , 下 , 上 , 右
+に移動します。
+``H'', ``J'', ``K'', ``L'' キーでは、カーソルはそれぞれの方向の
+画面の限界まで移動します。移動キーの前に数字を入力することで、
+移動を数字の回数だけ繰り返します。リターンでカーソル位置をウインドウの
+左上の位置として入力します。右下の角も同じような方法で入力します。
+この手続き中には、新しいウインドウの位置は画面に表示される長方形の
+箱として示されます。この枠が、新しいウインドウが表示される枠です。
+エスケープキーを入力することで、どの時点でも、このコマンドを
+キャンセルします。
+.Pp
+このウインドウはカレントウインドウになります。そして、最初に利用可能な
+ID が与えられます。また、デフォルトのバッファサイズが使われます (以下の
+.Ar default_nline
+コマンドを参照) 。
+.Pp
+完全に見ることのできるウインドウだけがこの方法で作成できます。
+.It Ic c Ns Ar #
+ウインドウ
+.Ar #
+を閉じます。
+ウインドウ中のプロセスには、ハングアップシグナル (
+.Xr kill 1
+参照) が送られます。
+.Xr csh 1
+は、このシグナルを正しく扱うべきで、そうであれば問題は起こりません。
+.It Ic m Ns Ar #
+ウインドウ
+.Ar #
+を別の位置に移動します。
+ウインドウの形をした箱が新しい位置を示すために画面に表示され、
+.Ic w
+コマンドで使われたのと同じようなキーで箱の位置を指定できます。
+ウインドウは一部が画面の外にでても構いません。
+.It Ic M Ns Ar #
+ウインドウ
+.Ar #
+を以前の位置に動かします。
+.It Ic s Ns Ar #
+ウインドウ
+.Ar #
+の大きさを変更します。
+ウインドウの新しい右下の角を指定する必要があります。
+新しいウインドウの大きさを示すために、箱が書かれます。
+.Ic w
+や
+.Ic m
+コマンドで使われたのと同じキーが位置を入力するために使われます。
+.It Ic S Ns Ar #
+ウインドウ
+.Ar #
+を以前の大きさに変更します。
+.It Ic ^Y
+カレントウインドウを一行上にスクロールします。
+.It Ic ^E
+カレントウインドウを一行下にスクロールします。
+.It Ic ^U
+カレントウインドウを画面の半分上にスクロールします。
+.It Ic ^D
+カレントウインドウを画面の半分下にスクロールします。
+.It Ic ^B
+カレントウインドウを一画面分、上にスクロールします。
+.It Ic ^F
+カレントウインドウを一画面分、下にスクロールします。
+.It Ic h
+カレントウインドウのカーソルを一カラム左に動かします。
+.It Ic j
+カレントウインドウのカーソルを一行下に動かします。
+.It Ic k
+カレントウインドウのカーソルを一行上に動かします。
+.It Ic l
+カレントウインドウのカーソルを一カラム右に動かします。
+.It Ic y
+ヤンクします。ユーザはカレントウインドウの 2点を指定します。
+この 2点で示される内容がヤンクバッファに保存されます。
+.It Ic p
+プットです。ヤンクバッファの内容を、現在のウインドウに入力として
+書き込みます。
+.It Ic ^S
+カレントウインドウの出力を停止します。
+.It Ic ^Q
+カレントウインドウの出力を開始します。
+.It Ic :
+長いコマンドとして実行する行を入力します。
+通常の行編集文字 (エスケープ文字、単語の消去、行の消去) が提供されます。
+.El
+.Ss 長いコマンド
+ロングコマンドはプログラム言語の様に解釈される文の列です。
+この文法は C 言語に似ています。数字や文字列の表現や変数が、
+条件分岐と同じように提供されています。
+.Pp
+二つのデータ型があります。文字列と数字です。
+文字列は、文字で始まる文字や数字の列です。 ``_'' と ``.'' は文字と
+考えられます。別の方法として、アルファベットや数字に含まれない文字を
+``"''で括るか、``\\''でエスケープすることで、文字列に含めることもできます。
+更に、 C言語で提供されている ``\\'' シーケンスがクオートの内外で
+利用可能です
+(例えば、 ``\\n'' は改行を、``\\r'' はキャリッジリターンを表現します)。
+以下の例は規則にあった文字列です。
+abcde01234, "&#$^*&#", ab"$#"cd, ab\\$\\#cd, "/usr/ucb/window"
+.Pp
+数字は、以下の3つの形式のうちの一つの整数値です。
+10進数・``0'' に続いて表現される 8 進数・``0x'' もしくは ``0X'' に続いて
+表現される 16 進数です。機械にとって自然な整数サイズが使われます
+(つまり、 Cコンパイラの符号付き整数型です)。 C 言語と同じように、
+非ゼロの表現が論理的な真をあらわします。
+.Pp
+文字 ``#'' は、行末までのコメントの始まりを表現します。
+.Pp
+文は条件式もしくは式です。式文は改行
+もしくは ``;'' で終りになります。式を次の行に継続するためには、
+最初の行を ``\\'' で終らせます。
+.Ss 条件文
+.Nm window
+は、単一の制御構造を持ちます:
+それは完全にまとめられた if 文で、以下の形式です
+.Pp
+.Bd -literal -offset indent -compact
+if <expr> then
+\t<statement>
+\t...
+elsif <expr> then
+\t<statement>
+\t...
+else
+\t<statement>
+\t...
+endif
+.Ed
+.Pp
+.Ic else
+や
+.Ic elsif
+部分はオプションです。
+.Ic elsif
+は、必要なだけ繰り返して利用することができます。
+<expr>
+は数値である必要が有ります。
+.Ss 式
+.Nm window
+における式は、 C 言語中のものと似ており、ほとんどの C の演算子が
+数値オペランドとして提供されています。更に、いくつかの演算子は、
+文字列を操作するために拡張されています。
+.Pp
+ある式が文として使われている時、その値は評価の後で
+捨てられます。したがって、(代入や関数呼び出しの様な)
+副作用を持った式のみが文として有用です。
+.Pp
+(配列でない) 一つの値の変数が、数値と文字列に対して提供されています。
+いくつかの変数は、あらかじめ定義されています。
+これらは後でに示してあります。
+.Pp
+優先順序が増加していくように、演算子を以下に示します。
+.Bl -tag -width Fl
+.It Xo
+.Aq Va expr1
+.Ic =
+.Aq Va expr2
+.Xc
+代入です。名前が
+.Aq Va expr1
+で文字列を値として持つ変数に、
+.Aq Va expr2
+の結果が代入されます。
+.Aq Va expr2
+の値を返します。
+.It Xo
+.Aq Va expr1
+.Ic ?
+.Aq Va expr2
+.Ic :
+.Aq Va expr3
+.Xc
+.Aq Va expr1
+の評価値が真 (非 0 数値) である時、
+.Aq Va expr2
+の値を返します。そうでない場合は、
+.Aq Va expr3
+の値を返します。
+.Aq Va expr2
+と
+.Aq Va expr3
+のどちらか一方だけが、評価されます。
+.Aq Va expr1
+は数値表現でなくてはなりません。
+.It Xo
+.Aq Va expr1
+.Ic \&|\&|
+.Aq Va expr2
+.Xc
+論理的和 (or) です。数値だけが使えます。短絡評価が提供されています
+(つまり、
+.Aq Va expr1
+が評価されて真である場合は、
+.Aq Va expr2
+は評価されません) 。
+.It Xo
+.Aq Va expr1
+.Ic \&&\&&
+.Aq Va expr2
+.Xc
+短絡評価付きの論理的積 (and) です。数値だけが使えます。
+.It Xo
+.Aq Va expr1
+.Ic \&|
+.Aq Va expr2
+.Xc
+ビット毎の論理和 (or) です。数値だけが使えます。
+.It Xo
+.Aq Va expr1
+.Ic ^
+.Aq Va expr2
+.Xc
+ビット毎の排他的論理和 (xor) です。数値だけが使えます。
+.It Xo
+.Aq Va expr1
+.Ic \&&
+.Aq Va expr2
+.Xc
+ビット毎の論理積 (and) です。数値だけが使えます。
+.It Xo
+.Aq Va expr1
+.Ic ==
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic !=
+.Aq expr2
+.Xc
+(それぞれ、等価と非等価の) 比較です。ブール値の結果 (1 か 0 のどちらか)
+が比較の結果として返されます。
+オペランドは、数値もしくは文字列です。片一方が文字列の場合、
+他のオペランドも必要であれば変換されます。
+.It Xo
+.Aq Va expr1
+.Ic <
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic >
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic <=
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic >=
+.Aq Va expr2
+.\" >= を補足
+.\" Aug 31 1997 <horikawa@jp.freebsd.org>
+.Xc
+それぞれ、より小さい・より大きい・以下・以上をあらわします。
+数値と文字列の両方が利用可能です。
+上で述べたように、自動的な変換が行われます。
+.It Xo
+.Aq Va expr1
+.Ic <<
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic >>
+.Aq Va expr2
+.Xc
+両方のオペランドが数値である場合、
+.Aq Va expr1
+は、左 (もしくは、右) に
+.Aq Va expr2
+ビットシフトされます。
+.Aq Va expr1
+が文字列で、最初 (もしくは、最後) の
+.Aq Va expr2
+文字が返されます(
+.Aq Va expr2
+も文字列の場合、その長さがその値として利用されます)。
+.It Xo
+.Aq Va expr1
+.Ic +
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic -
+.Aq Va expr2
+.Xc
+数値においては、加算と減算です。
+``+'' に対して、片方が文字列の場合、他方は文字列に変換され、
+結果は二つの文字列の結合となります。
+.It Xo
+.Aq Va expr1
+.Ic \&*
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic \&/
+.Aq Va expr2 ,
+.Aq Va expr1
+.Ic \&%
+.Aq Va expr2
+.Xc
+かけ算・割算・モジュロ演算 (余りの計算) です。 数字だけが利用可能です。
+.\".(訳注)モジュロ演算の後ろのカッコは訳で付け加えました。
+.\" 2.2.1R 対象(1997/06/02) Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
+.It Xo
+.Ic \- Ns Aq Va expr ,
+.Ic ~ Ns Aq Va expr ,
+.Ic \&! Ns Aq Va expr ,
+.Ic \&$ Ns Aq Va expr ,
+.Ic \&$? Ns Aq Va expr
+.Xc
+最初の 3つは、単項演算子のマイナス・ビット毎の補をとる (ビットの反転)
+・論理的な否定であり、数値だけを取ります。
+演算子 ``$'' は
+.Aq Va expr
+を取り、その名前の変数の値を返します。
+.Aq Va expr
+が値
+.Ar n
+を持った数値で、それが (後述の) 別名マクロ中に現れた場合、
+別名呼び出しの n 番目の引数を参照します。
+``$?'' は変数
+.Aq Va expr
+の存在を調べ、存在する場合は 1 を、それ以外では 0 を返します。
+.It Xo
+.Ao Va expr Ac Ns Pq Aq Ar arglist
+.Xc
+関数呼び出しです。
+.Aq Va expr
+は文字列でなくてはならず、
+.Nm window
+の組み込み関数名の区別できる範囲でのプレフィックスであるか、
+ユーザ定義の別名マクロの完全な名前でなくてはなりません。
+組み込み関数の場合、
+.Aq Ar arglist
+は以下の 2つの形式のどちらか一方です。
+.Bd -literal -offset indent
+<expr1>, <expr2>, ...
+argname1 = <expr1>, argname2 = <expr2>, ...
+.Ed
+.Pp
+実際、両方の形式はお互い混ぜて使うことができますが、その結果は
+予想できません。ほとんどの引数は省略可能です。デフォルトの値が
+それらに対しては適用されます。
+.Ar argnames
+は、引数名を区別できる範囲でのプレフィックスとすることができます。
+引数を分離するコンマは、曖昧さを避けるためだけに用いられ、
+通常は省略できます。
+.Pp
+最初の引数の形式は、ユーザ定義別名のために有効です。別名は、
+.Ic alias
+組み込み関数を使うことで定義されます(以下参照)。
+引数は、変数機能の変種を使ってアクセスされます (前述の ``$''
+演算子を参照) 。
+.Pp
+ほとんどの関数は値を返しますが、いくつかは副作用のためだけに
+使われるため文として使われなければなりません。
+関数や別名が文として使われた時、引数リストを囲むカッコは
+省略可能です。別名は値を返しません。
+.El
+.Ss 組み込み関数
+引数は自然な順番で名前で並べられます。
+オプション引数は、四角カッコ
+.Sq Op
+で囲みます。名前の無い引数は、角カッコ
+.Sq <>
+内に書きます。
+ブール値のフラグを意味する引数 (しばしば
+.Ar flag
+という名前を付けられます) は、意味が明らかである
+.Ar on ,
+.Ar off ,
+.Ar yes ,
+.Ar no ,
+.Ar true ,
+.Ar false ,
+の内の一つの値をもつか、数値表現においては非ゼロの値が真となります。
+.Bl -tag -width Fl
+.It Xo
+.Ic alias Ns ( Bq Aq Ar string ,
+.Bq Aq Ar string\-list )
+.Xc
+.\" マクロが誤っているので修正
+.\" Aug 31 1997 <horikawa@jp.freebsd.org>
+引数が与えられない場合は、全ての現在定義されている別名マクロが
+表示されます。そうでない場合、
+.Aq Ar string
+が表現
+.Aq Ar string\-list
+の別名として定義されます。もし存在すれば、以前の
+.Aq Ar string
+の定義が返されます。デフォルトでは、
+.Aq Ar string\-list
+は変更されません。
+.It Ic close Ns Pq Aq Ar window\-list
+.Aq Ar window\-list
+で指定されたウインドウを閉じます。
+.Aq Ar window\-list
+が単語
+.Ar all
+の場合、全てのウインドウが閉じられます。値は返しません。
+.It Ic cursormodes Ns Pq Bq Ar modes
+ウインドウカーソルを
+.Ar modes
+に設定します。
+.Ar modes
+は、変数
+.Ar m_ul
+(下線)・
+.Ar m_rev
+(反転表示)・
+.Ar m_blk
+(点滅)・
+.Ar m_grp
+(グラフィック、端末依存です。)で示される
+モードビットのビット毎の論理和です。
+以前のモードの値が返されます。引数に何も指定しないと変更を行いません。
+例えば、
+.Li cursor($m_rev$m_blk)
+は、ウインドウカーソルを点滅する反転表示に設定します。
+.It Ic default_nline Ns Pq Bq Ar nline
+デフォルトバッファサイズを
+.Ar nline
+に設定します。
+初期設定では、 48 行になっています。古いデフォルトバッファサイズが
+返されます。引数に何も指定しないと変更は行いません。とても大きなバッファを
+使うと、プログラムの速度が低下します。
+.It Ic default_shell Ns Pq Bq Aq Ar string\-list
+デフォルトのウインドウシェルプログラムを
+.Aq Ar string\-list
+に設定します。
+最初の文字列として古いシェル設定が返されます。
+引数に何も指定しないと変更を行いません。
+初期設定では、デフォルトシェルは環境変数
+.Ev SHELL
+から取られます。
+.It Ic default_smooth Ns Pq Bq Ar flag
+コマンド
+.Nm window
+(以下参照)への
+.Ar smooth
+引数のデフォルトの値を設定します。
+引数はブール値フラグ (上記の
+.Ar on ,
+.Ar off ,
+.Ar yes ,
+.Ar no ,
+.Ar true ,
+.Ar false
+または数字のうちの一つ) です。引数に何も指定しないと変更を行いません。
+古い値が (数字として) 返されます。
+初期値は 1 (true) です。
+.It Xo
+.Ic echo Ns ( Op Ar window ,
+.Bq Aq Ar string\-list )
+.Xc
+文字列のリスト
+.Aq Ar string-list
+を、空白で分割し最後に改行を付けて
+.Nm window
+へ書き出します。
+文字列はウインドウにだけ表示され、ウインドウ中のプロセスには
+影響を与えません (以下の
+.Ic write
+を参照) 。 値は返されません。デフォルトはカレントウインドウです。
+.It Ic escape Ns Pq Bq Ar escapec
+エスケープ文字を
+.Ar escape-char
+に設定します。古いエスケープ文字を一文字の文字列として返します。
+引数に何も指定しないと変更を行いません。
+.Ar escapec
+は、一文字の文字列か、
+.No control\- Ns Ar X
+を意味する
+.Fl ^X
+という形式です。
+.It Xo
+.Ic foreground Ns ( Bq Ar window ,
+.Bq Ar flag )
+.Xc
+.Nm window
+をフォアグラウンドに動かしたり、フォアグラウンドから外したりします。
+.Ar flag
+はブール値です。古いフォアグランドフラグが返されます。
+.Nm window
+に対するデフォルトはカレントウインドウで、
+.Ar flag
+に対するデフォルトは無変更です。
+.It Xo
+.Ic label Ns ( Bq Ar window ,
+.Bq Ar label )
+.Xc
+.Nm window
+のラベルを
+.Ar label
+に設定します。
+古いラベル文字列が返されます。
+.Nm window
+に対するデフォルトはカレントウインドウで、
+.Ar label
+に対するデフォルトは無変更です。ラベルを無くすためには、
+空文字列 ("") を設定します。
+.It Ic list Ns Pq
+引数はありません。 全てのウインドウの ID と ラベルが表示されます。
+値は返されません。
+.It Ic select Ns Pq Bq Ar window
+.Nm window
+をカレントウインドウとします。以前のカレントウインドウが返されます。
+引数を指定しないと変更を行いません。
+.It Ic source Ns Pq Ar filename
+.Ar filename
+内の長いコマンドを読み込み、実行します。
+ファイルが読み込めない場合には -1 を返し、それ以外では 0 を返します。
+.It Ic terse Ns Pq Bq flag
+簡素 (terse) モードを
+.Ar flag
+に設定します。簡素モードでは、コマンドウインドウはコマンドモード中
+でさえ隠されたままで、エラーは端末のベルをならすことで報告されます。
+.Ar flag
+は、上記の
+.Ar foreground
+中の値と同じです。
+古い簡素フラグが返されます。
+引数を指定しないと変更は行いません。
+.It Ic unalias Ns Pq Ar alias
+別名定義
+.Ar alias
+を消去します。
+別名がない場合には -1 を返します。それ以外の場合は 0 を返します。
+.It Ic unset Ns Pq Ar variable
+.Ar variable
+変数の定義を消去します。
+.Ar variable
+が存在しない場合には -1 を返します。それ以外の場合は 0 を返します。
+.It Ic variables Ns Pq
+引数はありません。全ての変数を表示します。値は返されません。
+.It Xo
+.Ic window Ns ( Bq Ar row ,
+.Bq Ar column ,
+.Bq Ar nrow ,
+.Bq Ar ncol ,
+.Bq Ar nline ,
+.Bq Ar label ,
+.Bq Ar pty ,
+.Bq Ar frame ,
+.Bq Ar mapnl ,
+.Bq Ar keepopen ,
+.Bq Ar smooth ,
+.Bq Ar shell ) .
+.Xc
+左上の角が
+.Ar row ,
+.Ar column
+で、大きさが
+.Ar nrow ,
+.Ar ncol
+のウインドウを開きます。
+.Ar nline
+が指定された場合、テキストバッファにその行が割り当てられます。
+そうでない場合は、デフォルトのバッファサイズが使われます。
+.Ar row ,
+.Ar column ,
+.Ar nrow ,
+.Ar ncol
+に対するデフォルトの値は、それぞれ画面の一番上, 一番左, 一番下, 一番右
+になります。
+.Ar label
+は、ウインドウのラベル文字列です。
+.Ar frame ,
+.Ar pty ,
+.Ar mapnl
+は、 (上記の)
+.Ar foreground
+への引数と同じ方法で解釈されるフラグの値です。
+これはそれぞれ、このウインドウの周りに枠を付けるか (デフォルトでは真)、
+ウインドウのためにソケットペアではなく仮想端末を割り当てるか
+(デフォルトでは真)、改行文字をこのウインドウでは 復帰と行送りに
+マップするか (デフォルトではソケットペアの場合は真、それ以外は偽) です。
+一般に、ウインドウは、プロセスが終了した時に、自動的に閉じられます。
+.Ar keepopen
+を真に設定する (デフォルトでは偽) ことでこの動作は妨げられます。
+.Ar smooth
+が真である時、より端末らしい振舞いを実現するために、
+画面は (このウインドウに対して) より頻繁に更新されます。
+.Ar smooth
+のデフォルトの値は、 (上記)
+.Ar default_smooth
+コマンドで設定します。
+.Ar shell
+は、このウインドウ内でシェルプログラムとして使われる文字列のリストです
+(デフォルトは、上記
+.Ar default_shell
+で指定されたプログラムです)。 作成されたウインドウの ID が数字で
+返されます。
+.It Xo
+.Ic write Ns ( Bq Ar window ,
+.Bq Aq Ar string\-list )
+.Xc
+.Nm window
+に空白で分割されているが最後に改行の無い文字列リスト
+.Aq Ar string-list
+を送ります。 文字列は、実際にウインドウの入力として使われます。
+値は返しません。 デフォルトはカレントウインドウです。
+.El
+.Ss 定義済み変数
+これらの変数は、情報のためだけにあります。これらを再定義しても、
+.Nm window
+の内部操作には影響ありません。
+.Bl -tag -width modes
+.It Ar baud
+50 から 38400の間のボーレートです。
+.It Ar modes
+物理端末で提供されている(反転表示・下線・点滅・グラフィック等の)
+表示モードです。
+.Ar modes
+の値は、1 ビット値
+.Ar m_blk ,
+.Ar m_grp ,
+.Ar m_rev ,
+.Ar m_ul
+(以下参照)のビット毎の論理和になっています。
+これらの値は、ウインドウのカーソルモードを設定する時に便利です (上の
+.Ar cursormodes
+参照) 。
+.It Ar m_blk
+点滅モードのビットです。
+.It Ar m_grp
+グラフィックモードのビットです (それほど有用ではありません)。
+.It Ar m_rev
+反転表示モードのビットです。
+.It Ar m_ul
+下線モードのビットです。
+.It Ar ncol
+物理端末の列数です。
+.It Ar nrow
+物理端末の行数です。
+.It Ar term
+端末の形式です。
+端末の
+.Ev TERMCAP
+エントリの 2番目のフィールドに書かれている標準名が使われます。
+.Sh 環境変数
+.Nm window
+は、以下のような環境変数を利用します。
+.Ev HOME ,
+.Ev SHELL ,
+.Ev TERM ,
+.Ev TERMCAP ,
+.Ev WINDOW_ID
+.Sh 関連ファイル
+.Bl -tag -width /dev/[pt]ty[pq]? -compact
+.It Pa ~/.windowrc
+スタートアップコマンドファイル
+.It Pa /dev/[pt]ty[pq]?
+仮想端末デバイス
+.El
+.Sh 歴史
+.Nm window
+コマンドは、
+.Bx 4.3
+から導入されました。
+.Sh 診断
+自己説明的な診断メッセージになっています。
diff --git a/ja/man/man1/write.1 b/ja/man/man1/write.1
new file mode 100644
index 0000000000..4205cbb8de
--- /dev/null
+++ b/ja/man/man1/write.1
@@ -0,0 +1,100 @@
+.\" Copyright (c) 1989, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Jef Poskanzer and Craig Leres of the Lawrence Berkeley Laboratory.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)write.1 8.1 (Berkeley) 6/6/93
+.\" %Id: write.1,v 1.2.2.2 1997/08/27 06:23:09 charnier Exp %
+.\" jpman %Id: write.1,v 1.3 1997/05/19 16:54:42 horikawa Stab %
+.\"
+.Dd June 6, 1993
+.Dt WRITE 1
+.Os
+.Sh 名称
+.Nm write
+.Nd 別のユーザにメッセージを送る
+.Sh 書式
+.Nm
+.Ar user
+.Op Ar ttyname
+.Sh 解説
+.Nm
+は、あなたの端末入力行を他の端末に送ることで、
+他のユーザとのコミュニケーションを可能にします。
+.Pp
+.Nm
+を使ってメッセージを書くと、指定されたユーザは次のような
+書き出しで始まるメッセージを受け取ります:
+.Pp
+.Dl Message from yourname@yourhost on yourtty at hh:mm ...
+.Pp
+この後の行は、1行入力するたびにその内容が相手の端末にコピーされます。
+もし相手が返事をしたいと思ったら、その人も
+.Nm
+を実行して同じようにメッセージを送る必要があります。
+.Pp
+メッセージを送り終わったら、ファイルの終り文字か割り込み文字を入力します。
+相手には、通信の終りを表す
+.Ql EOF
+が表示されます。
+.Pp
+他のユーザからのメッセージを拒否したいときは
+(ただしスーパユーザからのメッセージは拒否できません)、
+.Xr mesg 1
+を使います。
+.Pp
+2つ以上の端末にログインしているユーザにメッセージを送りたい場合には、
+どの端末にメッセージを送るかを、
+.Nm
+の2番目の引数で指定することができます。
+端末名を指定しなければ、もっともアイドル時間の短い端末が選択されます。
+事務所でログインしたままになっているユーザが、今は自宅からモデムでログイン
+している場合などは、これによって正しい端末が選択されるでしょう。
+.Pp
+.Nm
+コマンドで人とやりとりする時には、次のようなプロトコルが使われてきました。
+行末の
+.Ql \-o
+や、
+.Ql \-o
+だけの行は、あなたが話す番ですよ、という意味であり、
+.Ql oo
+は、会話を終りにしましょうという意味になります。
+.Sh 関連項目
+.Xr mesg 1 ,
+.Xr talk 1 ,
+.Xr who 1
+.Sh 歴史
+.Nm
+コマンドは
+.At v1
+から登場しました。
diff --git a/ja/man/man1/xargs.1 b/ja/man/man1/xargs.1
new file mode 100644
index 0000000000..c6590b7609
--- /dev/null
+++ b/ja/man/man1/xargs.1
@@ -0,0 +1,159 @@
+.\" Copyright (c) 1990, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" John B. Roll Jr. and the Institute of Electrical and Electronics
+.\" Engineers, Inc.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)xargs.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: xargs.1,v 1.3 1997/06/12 18:15:08 kubo Stab %
+.\"
+.Dd June 6, 1993
+.Dt XARGS 1
+.Os
+.Sh 名称
+.Nm xargs
+.Nd "標準入力から引数を読み、コマンドを実行する"
+.Sh 書式
+.Nm xargs
+.Op Fl 0
+.Op Fl t
+.Oo Op Fl x
+.Fl n Ar number
+.Oc
+.Op Fl s Ar size
+.Op Ar utility Op Ar arguments ...
+.Sh 解説
+.Nm
+コマンドは空白、タブ、改行、EOF (end-of-file) で区切られた引数を標準入力
+から読み込み、指定した
+.Ar utility
+にその引数をつけて実行します。
+.Pp
+コマンドラインで指定されたユーティリティ名と引数は、
+.Ar utility
+コマンドに渡されます。
+ユーティリティに続く引数は標準入力から得られます。
+.Ar utility
+は標準入力を読み切るまで繰り返し実行されます。
+.Pp
+空白、タブ、改行はシングルクオート
+(``\ '\ '')
+.Ek
+やダブルクオート (``"'') やバックスラッシュ (``\e'')
+を使って埋め込むことができます。
+シングルクオートは次のシングルクオートにマッチするまで、
+改行とシングルクオートを除く全ての文字をエスケープします。
+ダブルクオートは次のダブルクオートにマッチするまで
+改行とダブルクオートを除く全ての文字をエスケープします。
+改行を含む全ての文字はバックスラッシュでエスケープされます。
+.Pp
+オプションは以下のものがあります:
+.Bl -tag -width indent
+.It Fl 0
+空白と改行ではなくヌル文字 (``\\0'') を区切りとするように
+.Nm
+に指示します。
+.Nm find
+の
+.Fl print0
+とともに用います。
+.It Fl n Ar number
+各
+.Ar utility
+実行時に標準入力から拾う引数の最大数を設定します。
+もし計算されたバイト数が、指定された
+.Ar size
+を越えた場合 (
+.Fl s
+オプション参照) や
+.Ar utility
+の最後の実行時に残った引数が
+.Ar number
+個以下の場合、
+.Ar utility
+は、標準入力から読み込んだ引数のうち
+.Ar number
+より少数しか使いません。
+.Ar number
+の現在のデフォルト値は 5000 です。
+.It Fl s Ar size
+.Ar utility
+に渡すコマンドラインの最大バイト数をセットします。
+.Ar utility
+名の長さと
+.Ar utility
+に渡される引数の長さの和 (終端の
+.Dv NULL
+も含む) がこの値以下になります。
+.Ar size
+の現在のデフォルト値は
+.Dv ARG_MAX
+- 2048 です。
+.It Fl t
+実行されるコマンドをその実行の直前に標準エラー出力にエコーします。
+.It Fl x
+引数の個数が指定した (もしくはデフォルトの) コマンドライン長と
+合わない場合、
+.Nm
+を強制終了します。
+.El
+.Pp
+もし
+.Ar utility
+が指定されていなければ、
+.Xr echo 1
+が使われます。
+.Pp
+.Ar utility
+が標準入力を読むプログラムの場合は予期せぬ動作をするかもしれません。
+.Pp
+コマンドラインを集められなかったときや
+.Ar utility
+を起動できなかったとき、ユーティリティがシグナルで終了したとき、もしく
+はユーティリティが戻り値 255 で終了したときは、
+.Nm
+は (それ以上の読み込みはせずに) ただちに終了します。
+.Pp
+.Sh 戻り値
+.Nm
+は、何もエラーが起こらなければ、戻り値 0 で終了します。
+.Ar utility
+が起動できなかった場合は 、
+戻り値 127 で終了します。その他のエラーでは戻り値 1 で終了します。
+.Sh 関連項目
+.Xr echo 1 ,
+.Xr find 1
+.Sh 規格
+.Nm
+ユーティリティは
+.St -p1003.2
+互換です。
diff --git a/ja/man/man1/xstr.1 b/ja/man/man1/xstr.1
new file mode 100644
index 0000000000..72a659e664
--- /dev/null
+++ b/ja/man/man1/xstr.1
@@ -0,0 +1,151 @@
+.\" Copyright (c) 1980, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)xstr.1 8.2 (Berkeley) 12/30/93
+.\" jpman %Id: xstr.1,v 1.3 1997/06/12 17:50:50 kubo Stab %
+.\"
+.Dd December 30, 1993
+.Dt XSTR 1
+.Os BSD 3
+.Sh 名称
+.Nm xstr
+.Nd 共有文字列を実現するために C 言語プログラムから文字列を抽出する
+.Sh 書式
+.Nm xstr
+.Op Fl c
+.Op Fl
+.Op Fl v
+.Op Ar file
+.Sh 解説
+.Nm
+は、巨大なプログラムの文字列部分を保持するデータベースファイル
+.Pa strings
+をメンテナンスします。プログラム中の文字列は共通文字列
+エリアへの参照に置換されます。これにより、共有文字列定数が実現できます。
+これは特に read-only な文字列に有効です。
+.Pp
+オプションは、以下のものが利用可能です:
+.Bl -tag -width Ds
+.It Fl
+.Nm
+は標準入力からソースを読み込みます。
+.It Fl c
+.Nm
+は、指定された C 言語ソースまたは標準入力から文字列を抽出し、
+文字列を (&xstr[number]) 形式に変換し、適当な number を割り当てます。
+適切な xstr の宣言がファイルの先頭に挿入されます。変換した C 言語ソース
+はファイル
+.Pa x.c
+に出力されます。文字列は文字列データベースファイル
+.Pa strings
+に格納されます。
+すでに同じ文字列がデータベース中に存在している場合、
+および既に存在する文字列のサフィックスの場合、
+データベースは変更されません。
+.It Fl v
+冗長モード。
+.El
+.Pp
+プログラムの全ソースファイルをコンパイルした後、
+共通文字列領域を宣言するファイル
+.Pa xs.c
+を、以下のようにコマンドを実行して作成できます。
+.Bd -literal -offset indent
+xstr
+.Ed
+.Pp
+このあとでファイル
+.Pa xs.c
+をコンパイルし、他のオブジェクトファイルとリンク
+します。
+.Pa xs.c
+内の文字列配列を read-only にできるならば、必要な領域とスワップ
+によるオーバヘッドを少なくすることができます。
+.Pp
+.Nm
+はまた、1 つのファイルにのみ適用することもできます。次のコマンド
+.Bd -literal -offset indent
+xstr name
+.Ed
+.Pp
+によって、同じディレクトリ内のファイル
+.Pa strings
+を変更したり、参照することなく、
+.Pa x.c
+と
+.Pa xs.c
+を
+作成します。
+.Pp
+C 言語プリプロセッサのあとで
+.Nm
+を実行するのが便利な場合、あるいはそうすることが必要な場合があります。
+マクロによって文字列が生成される時などがそうです。
+このときは以下のようなコマンド列を実行します。
+.Pp
+.Bd -literal -offset indent -compact
+cc \-E name.c | xstr \-c \-
+cc \-c x.c
+mv x.o name.o
+.Ed
+.Pp
+.Nm
+は新しい文字列を追加する必要がないかぎり、ファイル
+.Pa strings
+を更新しません。このため、
+.Xr make 1
+が不必要に
+.Pa xs.o
+を作り直すことをなくすことができます。
+.Sh 関連ファイル
+.Bl -tag -width /tmp/xsxx* -compact
+.It Pa strings
+文字列データベース
+.It Pa x.c
+変換後のソースファイル
+.It Pa xs.c
+配列 `xstr' を定義した C ソースコード
+.It Pa /tmp/xs*
+中間ファイル
+.El
+.Sh 関連項目
+.Xr mkstr 1
+.Sh バグ
+ある文字列が他の文字列のサフィックスであり、かつ短いほうの文字列のほうが先に
+.Nm
+によって処理されたなら、
+たとえ、長いほうの文字列のみを格納すればよい場合にも、
+両方の文字列がデータベース strings に格納されます。
+.Sh 歴史
+.Nm
+は
+.Bx 3.0
+で追加されました。
diff --git a/ja/man/man1/xten.1 b/ja/man/man1/xten.1
new file mode 100644
index 0000000000..12511045f9
--- /dev/null
+++ b/ja/man/man1/xten.1
@@ -0,0 +1,97 @@
+.\" Copyright (c) 1992, 1993 Eugene W. Stark
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Eugene W. Stark.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %Id: xten.1,v 1.2.2.1 1997/03/06 08:00:52 mpp Exp %
+.\" jpman %Id: xten.1,v 1.3 1997/06/12 17:21:13 kubo Stab %
+.\"
+.Th XTEN 8 "30 Oct 1993"
+.Dd Oct 30, 1993
+.Dt XTEN 1
+.Os BSD FreeBSD
+.Sh 名称
+xten \- X-10 コマンドを転送する
+.Sh 書式
+.Nm xten
+[ - ] house key[:cnt] [ [ house ] key[:cnt] .\|.\|. ]
+.Sh 解説
+.Nm xten
+は、 X-10 デーモンへのコマンドラインインタフェースです。
+一文字のハウスコード (A-P) と一連のキー/ユニットコードが引数として
+与えられて呼び出された時、X-10 デーモンへ対応する一連の X-10
+パケットの転送を要求します。
+コマンドが実際に受け取られて実行されるかどうかをリモートの X-10 デバイスによって
+知ることは一般的にできませんが、X-10 デーモンは、パケットがすべて正しく転送されるように、
+最大限努力します。
+.Pp
+一つの引数 \- 付きで呼び出された時は、
+.Nm xten
+は、インタラクティブモードに入ります。ここでは、標準入力を繰り返し
+読み込み、X-10 デーモンに送り、デーモンからの一行の応答が標準出力に表示されます。
+.Sh オプション
+ハウス引数は、 A-P の範囲の一文字のハウスコードです。
+全ての X-10 リクエストは、ハウスコードを参照します。
+各キーは 1-16 の数値コードか、X-10 機能を指定する文字列です。
+可能な機能コード文字列は以下の通りです。
+.Bl -diag
+.It AllUnitsOff
+.It AllLightsOn
+.It On
+.It Off
+.It Dim
+.It Bright
+.It AllLightsOff
+.It ExtendedCode
+.It HailRequest
+.It HailAcknowledge
+.It PreSetDim0
+.It PreSetDim1
+.It ExtendedData
+.It StatusOn
+.It StatusOff
+.It StatusRequest
+.El
+.Pp
+各キーにはオプションの数字が続きます。この数字は、間隙がないキーコード
+によっておくられるパケットの数を指定します。
+この引数が省略された時、二つのパケットが転送されます。
+X-10 の
+.I Dim
+と
+.I Bright
+コマンドでは、二つ以外のパケット数を指定して使うことができます。
+.Sh 関連項目
+.Xr tw 4 ,
+.Xr xtend 8
+.Sh 関連ファイル
+.Bl -tag -width /var/spool/xten/Status -compact
+.It Pa /dev/tw0
+TW523 スペシャルファイル
+.El
+.Sh 作者
+Eugene W. Stark (stark@cs.sunysb.edu)
diff --git a/ja/man/man1/yacc.1 b/ja/man/man1/yacc.1
new file mode 100644
index 0000000000..9dbc9f15ad
--- /dev/null
+++ b/ja/man/man1/yacc.1
@@ -0,0 +1,134 @@
+.\" Copyright (c) 1989, 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Robert Paul Corbett.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)yacc.1 5.8 (Berkeley) 5/24/93
+.\" jpman %Id: yacc.1,v 1.3 1997/06/12 16:37:49 kubo Stab %
+.\"
+.Dd May 24, 1993
+.Dt YACC 1
+.Os
+.Sh 名称
+.Nm yacc
+.Nd LALR(1) パーサジェネレータ
+.Sh 書式
+.Nm
+.Op Fl dlrtv
+.Op Fl b Ar file_prefix
+.Op Fl p Ar symbol_prefix
+.Ar filename
+.Sh 解説
+.Nm
+は、
+.Ar filename
+から文法仕様を読み取り、その仕様から LR(1) パーサを生成します。
+パーサは、C 言語で書かれた LALR(1)
+解析テーブルとドライバルーチンのセットから構成されています。
+.Nm
+は通常、
+.Pa y.tab.c
+というファイルに解析テーブルとドライバルーチンを書き込みます。
+.Pp
+以下のオプションが使えます:
+.Bl -tag -width indent
+.It Fl b Ar file_prefix
+出力ファイル名の先頭に加えるプレフィックス文字列を
+.Ar file_prefix
+に変更します。
+デフォルトのプレフィックスは
+.Pa y
+です。
+.It Fl d
+ヘッダファイル
+.Pa y.tab.h
+を生成するよう指示します。
+.It Fl l
+もし
+.Fl l
+オプションが指定されていなければ、
+.Nm
+は生成コードに #line ディレクティブを挿入します。
+#line ディレクティブは、生成されたコードの中のエラーと
+ユーザのオリジナルコードとの関連づけを C コンパイラに行わせます。
+もし
+.Fl l
+オプションが指定されていれば、
+.Nm
+は #line ディレクティブを挿入しません。
+ユーザによって指定された #line ディレクティブはそのまま残されます。
+.It Fl p Ar symbol_prefix
+yacc によって生成されたシンボルの先頭につけるプレフィックスを
+.Ar symbol_prefix
+で指定された文字列に変更します。
+デフォルトのプレフィックスは、文字列
+.Pa yy
+です。
+.It Fl r
+.Nm
+はコードとテーブルを別々のファイルに出力します。コードファイル名は
+.Pa y.code.c
+となり、テーブルファイル名は
+.Pa y.tab.c
+となります。
+.It Fl t
+.Nm
+によって生成されるプリプロセッサディレクティブを変更し、デバッグ
+用の文をコンパイルされたコードの中に埋め込みます。
+.It Fl v
+生成されたパーザの詳細を人間に読める形式で、
+ファイル
+.Pa y.output
+に出力します。
+.El
+.Pp
+もし環境変数
+.Ev TMPDIR
+が設定されていれば、
+.Ev TMPDIR
+に設定されている文字列はテンポラリファイルが作られる
+ディレクトリ名として使用されます。
+.Sh 関連ファイル
+.Bl -tag -width /tmp/yacc.aXXXXXX -compact
+.It Pa y.code.c
+.It Pa y.tab.c
+.It Pa y.tab.h
+.It Pa y.output
+.It Pa /tmp/yacc.aXXXXXX
+.It Pa /tmp/yacc.tXXXXXX
+.It Pa /tmp/yacc.uXXXXXX
+.El
+.Sh 診断
+もし還元できないルールがあった場合、そのルール数が標準エラー
+出力に表示されます。
+もし何らかの LALR(1) の衝突があった場合、衝突数も標準エラー出力に表
+示されます。
diff --git a/ja/man/man1/yes.1 b/ja/man/man1/yes.1
new file mode 100644
index 0000000000..130d239ca9
--- /dev/null
+++ b/ja/man/man1/yes.1
@@ -0,0 +1,55 @@
+.\" Copyright (c) 1980, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)yes.1 8.1 (Berkeley) 6/6/93
+.\" jpman %Id: yes.1,v 1.3 1997/06/12 16:20:10 kubo Stab %
+.\"
+.Dd June 6, 1993
+.Dt YES 1
+.Os BSD 4
+.Sh 名称
+.Nm yes
+.Nd 繰り返し肯定する
+.Sh 書式
+.Nm yes
+.Op Ar expletive
+.Sh 解説
+.Nm yes
+は指定した文字列
+.Ar expletive
+、もしくはデフォルトの
+.Dq y
+を永久に出力します。
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.0
+から登場しました。
diff --git a/ja/man/man1/ypcat.1 b/ja/man/man1/ypcat.1
new file mode 100644
index 0000000000..634134f4b4
--- /dev/null
+++ b/ja/man/man1/ypcat.1
@@ -0,0 +1,72 @@
+.\" Copyright (c) 1993 Winning Strategies, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Winning Strategies, Inc.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: ypcat.1,v 1.3.2.1 1997/09/01 06:04:21 charnier Exp %
+.\" jpman %Id: ypcat.1,v 1.3 1997/06/12 16:24:33 kubo Stab %
+.\"
+.Dd December 3, 1993
+.Dt YPCAT 1
+.Os
+.Sh 名称
+.Nm ypcat
+.Nd "YP データベースのすべてのキーの値を表示する"
+.Sh 書式
+.Nm ypcat
+.Op Fl kt
+.Op Fl d Ar domainname
+.Ar mapname
+.Nm ypcat
+.Fl x
+.Sh 解説
+.Nm ypcat
+は、
+.Ar mapname
+(マップの名前またはニックネーム) で指定された
+.Tn YP
+データベース中のすべてのキーに関連付けられた値を表示します。
+.Pp
+オプションは以下のとおりです:
+.Bl -tag -width indent
+.It Fl d Ar domainname
+デフォルトとは異なったドメイン名を用いたいときに指定します。
+.It Fl k
+指定したマップのキーも表示します。値が空のマップや、値にキーが含ま
+れていないマップの内容を表示するのに便利です。
+.It Fl t
+マップのニックネームを、対応したマップ名に変換することを禁止します。
+.It Fl x
+マップのニックネームテーブルを表示します。
+.El
+.Sh 関連項目
+.Xr domainname 1 ,
+.Xr ypmatch 1 ,
+.Xr yp 4 ,
+.Xr ypbind 8 ,
+.Xr ypset 8
+.Sh 作者
+.An Theo De Raadt .Aq deraadt@theos.com .
diff --git a/ja/man/man1/ypmatch.1 b/ja/man/man1/ypmatch.1
new file mode 100644
index 0000000000..9d4b239770
--- /dev/null
+++ b/ja/man/man1/ypmatch.1
@@ -0,0 +1,74 @@
+.\" Copyright (c) 1993 Winning Strategies, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Winning Strategies, Inc.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" %Id: ypmatch.1,v 1.3.2.1 1997/09/01 06:06:23 charnier Exp %
+.\" jpman %Id: ypmatch.1,v 1.3 1997/06/12 15:46:11 kubo Stab %
+.\"
+.Dd December 3, 1993
+.Dt YPMATCH 1
+.Os
+.Sh 名称
+.Nm ypmatch
+.Nd "YP データベースのキーの値を表示する"
+.Sh 書式
+.Nm ypmatch
+.Op Fl kt
+.Op Fl d Ar domainname
+.Ar key ...
+.Ar mapname
+.Nm ypmatch
+.Fl x
+.Sh 解説
+.Nm ypmatch
+は、
+.Ar mapname
+(マップの名前またはニックネーム) で指定された
+.Tn YP
+データベースを、
+指定された 1 つまたは複数のキーで検索し、キーに対応する値を表示します。
+.Pp
+オプションは以下のとおりです:
+.Bl -tag -width indent
+.It Fl d Ar domainname
+デフォルトとは異なったドメイン名を用いたいときに指定します。
+.It Fl k
+指定したマップのキーも表示します。値が空のマップや、値にキーが含ま
+れていないマップの内容を表示するのに便利です。
+.It Fl t
+マップのニックネームを、対応したマップ名に変換することを禁止します。
+.It Fl x
+マップのニックネームテーブルを表示します。
+.El
+.Sh 関連項目
+.Xr domainname 1 ,
+.Xr ypcat 1 ,
+.Xr yp 4 ,
+.Xr ypbind 8 ,
+.Xr ypset 8
+.Sh 作者
+.An Theo De Raadt Aq deraadt@theos.com .
diff --git a/ja/man/man1/yyfix.1 b/ja/man/man1/yyfix.1
new file mode 100644
index 0000000000..f0f7c0bf27
--- /dev/null
+++ b/ja/man/man1/yyfix.1
@@ -0,0 +1,113 @@
+.\" Copyright (c) 1990, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)yyfix.1 5.4 (Berkeley) 3/23/93
+.\" jpman %Id: yyfix.1,v 1.3 1997/06/12 14:39:52 kubo Stab %
+.\"
+.Dd March 23, 1993
+.Dt YYFIX 1
+.Os BSD 4.4
+.Sh 名称
+.Nm yyfix
+.Nd y.tab.c ファイルからテーブルを取り出す
+.Sh 書式
+.Nm yyfix
+.Ar file
+.Op Ar tables
+.Sh 解説
+歴史的には、
+.Xr yacc 1
+が生成したファイル
+.Pa y.tab.c
+からテーブルを取り出すために、
+あるスクリプト (大抵は ``:yyfix'' という名前のもの) が用いられてきました。
+現在のバージョンの
+.Xr yacc
+が生成するテーブル名は、これまでのバージョンの
+.Xr yacc
+が生成するものと異なるので、
+この変換を簡単にするためにシェルスクリプト
+.Nm yyfix
+が提供されています。
+.Pp
+.Nm yyfix
+の最初の (そして必須の) 引数は、
+取り出したテーブルを格納するファイルの名前です。
+.Pp
+コマンドライン引数が更に指定された場合、
+それらは取り出すテーブルのリストと解釈されます。
+それ以外の場合、
+.Nm yyfix
+はファイル
+.Pa y.tab.c
+が新旧いずれの
+.Xr yacc
+から生成されたものかを判定し、
+適切なテーブルを取り出そうとします。
+.Pp
+以前の
+.Xr yacc
+から取り出されるテーブルは以下の通りです:
+.Dq yyexca ,
+.Dq yyact ,
+.Dq yypact ,
+.Dq yypgo ,
+.Dq yyr1 ,
+.Dq yyr2 ,
+.Dq yychk ,
+.Dq yydef
+.Pp
+現バージョンの
+.Xr yacc
+から取り出されるテーブルは以下の通りです:
+.Dq yylhs ,
+.Dq yylen ,
+.Dq yydefred ,
+.Dq yydgoto ,
+.Dq yysindex ,
+.Dq yyrindex ,
+.Dq yygindex ,
+.Dq yytable ,
+.Dq yyname ,
+.Dq yyrule ,
+.Dq yycheck
+.Sh 関連ファイル
+.Bl -tag -width y.tab.c
+.It Pa y.tab.c
+テーブルを取り出す元となるファイル
+.El
+.Sh 関連項目
+.Xr yacc 1
+.Sh 歴史
+.Nm
+コマンドは
+.Bx 4.4
+から登場しました。
diff --git a/ja/man/man1/zdiff.1 b/ja/man/man1/zdiff.1
new file mode 100644
index 0000000000..37d7bb1bb6
--- /dev/null
+++ b/ja/man/man1/zdiff.1
@@ -0,0 +1,47 @@
+.\" jpman %Id: zdiff.1,v 1.4 1997/06/12 11:18:50 jsakai Stab %
+.TH ZDIFF 1
+.SH 名称
+zcmp, zdiff \- 圧縮されたファイルの比較を行なう
+.SH 書式
+.B zcmp
+[ cmp_options ] file1
+[ file2 ]
+.br
+.B zdiff
+[ diff_options ] file1
+[ file2 ]
+.SH 解説
+.I zcmp
+と
+.I zdiff
+は、圧縮されたファイルに対して
+.I cmp
+や
+.I diff
+を実行します。
+指定されたオプションはすべて
+.I cmp
+や
+.I diff
+に渡されます。
+もしファイルが 1 つしか指定されなかった場合、
+.I file1
+と
+.IR file1 ".gz"
+を伸長したものとの間で diff による比較が行なわれます。
+ファイルが 2 つ指定された場合は、(必要があれば) ファイルの伸長が行なわれて
+.I cmp
+や
+.I diff
+に渡されます。終了ステータスは、
+.I cmp
+や
+.I diff
+のものが採用されます。
+.SH 関連項目
+cmp(1), diff(1), zmore(1), zgrep(1), znew(1), zforce(1), gzip(1), gzexe(1)
+.SH バグ
+.I cmp
+や
+.I diff
+は指定されたファイルの代わりに一時的なファイルを参照します。
diff --git a/ja/man/man1/zforce.1 b/ja/man/man1/zforce.1
new file mode 100644
index 0000000000..4bad5eddd7
--- /dev/null
+++ b/ja/man/man1/zforce.1
@@ -0,0 +1,28 @@
+.\" this file based on that translated to japanese on NetBSD Japanese Reference
+.\" Manual Project, and modefied to fit FreeBSD Reference Manual
+.\" by Mochida Shuji 1995/03/31
+.\" jpman %Id: zforce.1,v 1.4 1997/06/12 11:17:49 jsakai Stab %
+.\"
+.TH ZFORCE 1
+.SH 名称
+zforce \- gzip(1) で圧縮されている全てのファイル名の末尾に `.gz' を
+強制的に付加する
+.SH 書式
+.B zforce
+[ name ... ]
+.SH 解説
+.I zforce
+は、
+.I gzip
+で圧縮されたファイルを再び
+.I gzip
+で圧縮しないようにするために、
+.I gzip
+で圧縮されたすべてのファイル名の末尾に .gz を強制的に付加します。
+転送等でファイル名が変わってしまったファイルに有用です。
+ファイル名の長さが 14 文字までに制限されているシステムでは、
+もとのファイル名を .gz 拡張子が入る長さまで縮めます。
+例えば、12345678901234 は 12345678901.gz にファイル名が変更されます。foo.tgz の
+ようなファイル名はそのまま残されます。
+.SH 関連項目
+gzip(1), znew(1), zmore(1), zgrep(1), zdiff(1), gzexe(1)
diff --git a/ja/man/man1/zgrep.1 b/ja/man/man1/zgrep.1
new file mode 100644
index 0000000000..fbe04f9368
--- /dev/null
+++ b/ja/man/man1/zgrep.1
@@ -0,0 +1,50 @@
+.\" jpman %Id: zgrep.1,v 1.4 1997/06/12 11:19:37 jsakai Stab %
+.TH ZGREP 1
+.SH 名称
+zgrep \- 圧縮されたファイルに対し正規表現による検索を行う
+.SH 書式
+.B zgrep
+[ grep_options ]
+.BI [\ -e\ ] " pattern"
+.IR filename ".\|.\|."
+.SH 解説
+.IR zgrep
+は、gzip, compress などで圧縮されたファイルに対し
+.I grep
+します。
+指定したオプションは全て
+.I grep
+に渡されます。
+ファイルを指定しないと、
+標準入力が (必要であれば) 伸長され、
+.I grep
+への入力となります。
+ファイルを指定した場合は、指定したファイルが (必要であれば) 伸長され、
+.I grep
+への入力となります。
+.PP
+.I zgrep
+の代わりに
+.I zegrep
+や
+.I zfgrep
+として起動された場合は、
+.I grep
+の代わりに
+.I egrep
+や
+.I fgrep
+が起動されます。
+GREP 環境変数が設定されている場合は、
+.I zgrep
+はそれを起動する
+.I grep
+プログラムとします。例えば、以下のように使用します。
+
+ sh では: GREP=fgrep zgrep string files
+ csh では: (setenv GREP fgrep; zgrep string files)
+.SH 作者
+Charles Levert (charles@comm.polymtl.ca)
+.SH 関連項目
+grep(1), egrep(1), fgrep(1), zdiff(1), zmore(1), znew(1), zforce(1),
+gzip(1), gzexe(1)
diff --git a/ja/man/man1/zmore.1 b/ja/man/man1/zmore.1
new file mode 100644
index 0000000000..6b0c8f0166
--- /dev/null
+++ b/ja/man/man1/zmore.1
@@ -0,0 +1,138 @@
+.\" jpman %Id: zmore.1,v 1.4 1997/06/12 11:20:32 jsakai Stab %
+.TH ZMORE 1
+.SH 名称
+zmore \- 圧縮したままファイルを閲覧する
+.SH 書式
+.B zmore
+[ name ... ]
+.SH 解説
+.I zmore
+は、圧縮を施したファイルもしくはプレーンテキストファイルの
+閲覧に使用するフィルタです。
+.I zmore
+は、
+.I compress, pack, gzip
+によって圧縮されたファイルを閲覧することが出来ますが、
+非圧縮ファイルも閲覧することが出来ます。
+もし、ファイルが見つからない時には
+.I zmore
+は同じ名前に .gz, .z, .Z が付いたファイルを探します。
+.PP
+.I zmore
+は各々の画面の一番下に --More-- と表示をして停止します。
+リターンキーを押すともう一行表示されます。
+スペースキーを押すと次の画面が表示されます。
+他の操作は後で説明します。
+.PP
+.zmore
+は端末の性質やデフォルトのウィンドウの大きさを決めるために
+.I /etc/termcap
+を見ます。
+ターミナルが 24 ライン表示できる時には、
+デフォルトのウィンドウのサイズは 22 ラインとなります。
+.I zmore
+は、通常はページャとして
+.I more
+を用いますが 環境変数 PAGER を指定することで
+.I less
+のような他のページャを使用することが出来ます。
+.PP
+.I zmore
+が停止した時に使える他の文字とその効果は以下の通りです。
+(\fIi\fP は整数の引数である。デフォルトは 1 です):
+.PP
+.IP \fIi\|\fP<space>
+さらに
+.I i
+行表示します。
+(引数が与えられなければ次の画面を表示します)
+.PP
+.IP ^D
+さらに11行表示します(``スクロールする'')。
+.I i
+が与えられていれば、スクロールする大きさは \fIi\|\fP になります。
+.PP
+.IP d
+^D (control-D)と同じです。
+.PP
+.IP \fIi\|\fPz
+\fIi\|\fP が与えられた時に
+新しいウィンドウの大きさになる以外は、スペースキーを押すのと同じです。
+ウィンドウの大きさは現在のファイルが終了した時にデフォルトに戻ります。
+.PP
+.IP \fIi\|\fPs
+\fIi\|\fP 行飛ばして画面に表示します。
+.PP
+.IP \fIi\|\fPf
+\fIi\fP 画面分飛ばして画面に表示します。
+.PP
+.IP "q または Q"
+現在のファイルを読むのを終了します。もしあるならば次のファイルに行きます。
+.PP
+.IP "e または q"
+--More--(Next file:
+.IR file )
+が表示された時に、このコマンドは zmore を終了させます。
+.PP
+.IP s
+--More--(Next file:
+.IR file )
+が表示された時に、このコマンドは次のファイルをスキップし、続けます。
+.PP
+.IP =
+現在の行番号を表示します。
+.PP
+.IP \fIi\|\fP/expr
+入力した正規表現 \fIexpr\fP の \fIi\|\fP 番目に現れるものを検索します。
+もし、それが見付からなかったら、
+.I zmore
+は(あるならば)次のファイルに行きます。
+そうでなければ、その正規表現が見付かった場所の前 2 行を先頭として、
+検索結果を表示します。
+ユーザが文字を消す事は正規表現の編集の時に用いられるかもしれません。
+最初のカラムの前の文字を消す事は検索コマンドをキャンセルする事になります。
+.PP
+.IP \fIi\|\fPn
+最後に入力した正規表現の \fIi\|\fP 番目に現れるものを検索します。
+.PP
+.IP !command
+シェルをよびだし、\fIcommand\|\fP を実行します。
+コマンドに出て来る `!' は直前に行ったシェルのコマンドに置き換えられます。
+"\\!" の文字列が "!" に置き換えられます。
+.PP
+.IP ":q or :Q"
+現在のファイルを読むのを終了します。もしあるならば次のファイルに行きます。
+(q や Q と同じです)。
+.PP
+.IP .
+(ドット) 直前のコマンドを繰り返します。
+.PP
+コマンドはすぐに効果が現れます。つまり、リターンキーを押す必要がありません。
+コマンド文字列を与えるまでに、ユーザは行消去文字を入力し、
+数字の引数を消去するかも知れません。
+また、ユーザは消去文字を入力し、
+--More-- メッセージを再表示するかもしれません。
+.PP
+出力は端末画面に送られている時はいつでも、
+ユーザは終了キーを押す事ができます。(普通はcontrol\-\\)
+.I zmore
+は出力を止め、いつもの --More-- を表示します。
+ユーザはそこで通常の形式で上記のコマンドの 1 つを入力します。
+終了信号が送られると端末画面の出力を待っていたキューの中の文字は
+消去されるために、いくつかの出力はこれが行われると失われてしまいます。
+.PP
+端末出力が連続して行われるように、端末はプログラムによって
+.I noecho
+モードにセットされます。
+あなたがタイプした / と ! 以外のコマンドは端末に表示されません。
+.PP
+標準出力がテレタイプで無い時は、
+.I zmore
+はヘッダー各々のファイルの前に印刷される以外は
+.I zcat
+のように働きます。
+.SH 関連ファイル
+.DT
+/etc/termcap ターミナル・データ・ベース
+.SH 関連項目
+more(1), gzip(1), zdiff(1), zgrep(1), znew(1), zforce(1), gzexe(1)
diff --git a/ja/man/man1/znew.1 b/ja/man/man1/znew.1
new file mode 100644
index 0000000000..6f1374d2c5
--- /dev/null
+++ b/ja/man/man1/znew.1
@@ -0,0 +1,43 @@
+.\" jpman %Id: znew.1,v 1.4 1997/06/12 22:06:09 horikawa Stab %
+.TH ZNEW 1
+.SH 名称
+znew \- .Z ファイル(compress) を .gz ファイル(gzip) に再圧縮する
+.SH 書式
+.B znew
+[ -ftv9PK] [ name.Z ... ]
+.SH 解説
+.I znew
+は、compress 形式のファイル (ファイル名末尾に .Z が付加されているファイル) を
+gzip 形式のファイル (ファイル名末尾に .gz が付加されているファイル) に
+再圧縮します。すでに gzip 形式になっているファイル に znew を適用する場合は、
+当該ファイルの名前の拡張子を .Z に変更してから znew を適用して下さい。
+.SH オプション
+.TP
+.B \-f
+すでに .gz 形式のファイルが存在したとしても、.Z 形式のファイルからの再圧縮を
+強制的に実行します。
+.TP
+.B \-t
+元ファイルを削除する前に、新たに生成されたファイルをテストします。
+.TP
+.B \-v
+詳細表示。圧縮されたそれぞれのファイル名と圧縮率を表示します。
+.TP
+.B \-9
+最も速度の遅い圧縮法を用います。圧縮率は最適化されます。
+.TP
+.B \-P
+ディスクの使用量を押えるために、パイプを用いて変換します。
+.TP
+.B \-K
+\&.gz 形式のファイルよりも .Z 形式のファイルの方がサイズが小さい場合には
+\&.Z 形式のファイルを保存します。
+.SH 関連ファイル
+gzip(1), zmore(1), zdiff(1), zgrep(1), zforce(1), gzexe(1), compress(1)
+.SH バグ
+.I znew
+は -P オプションを指定した場合、
+.I cpmod(1)
+が存在せず、
+.I touch(1)
+が -r オプションをサポートしていなければタイムスタンプを保存しません。