]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - term-utils/script.1
scriptreplay: make data log file optional for --summary
[thirdparty/util-linux.git] / term-utils / script.1
index 34ef62498c7ef24805d7827628cc38bd1d22bf47..b73420267b6945b3cbd5b92a6fc1729fb4edbc00 100644 (file)
@@ -40,20 +40,39 @@ script \- make typescript of terminal session
 .RI [ file ]
 .SH DESCRIPTION
 .B script
-makes a typescript of everything displayed on your terminal.  It is useful for
-students who need a hardcopy record of an interactive session as proof of an
-assignment, as the typescript file can be printed out later with
-.BR lpr (1).
+makes a typescript of everything on your terminal session.  The terminal
+data are stored in raw form to the log file and information about timing
+to another (optional) structured log file.  The timing log file is necessary to replay
+the session later by
+.B scriptreplay (1)
+and to store additional information about the session.
+.PP
+Since version 2.35
+.B script
+supports multiple streams and allows to log input and output to separate
+files or all the one file.  This version also supports new timing file 
+which records additional information. The command
+.B scriptreplay \-\-summary
+then provides all the information.
+
 .PP
 If the argument
 .I file
-is given,
+or option \fB\-\-log\-out\fR \fIfile\fR is given,
 .B script
 saves the dialogue in this
 .IR file .
 If no filename is given, the dialogue is saved in the file
 .BR typescript .
+.PP
+Note that log input by \fB\-\-log\-in\fR or \fB\-\-log\-io\fR may be security
+sensitive operation as the log file contains all terminal session input (it
+means also passwords) independently on the terminal echo flag setting.
 .SH OPTIONS
+Below, the \fIsize\fR argument may be followed by the multiplicative
+suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB
+(the "iB" is optional, e.g. "K" has the same meaning as "KiB"), or the suffixes
+KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.
 .TP
 \fB\-a\fR, \fB\-\-append\fR
 Append the output to
@@ -71,7 +90,8 @@ tty.
 .TP
 \fB\-e\fR, \fB\-\-return\fR
 Return the exit code of the child process.  Uses the same format as bash
-termination on signal termination exit code is 128+n.
+termination on signal termination exit code is 128+n.  The exit code of
+the child process is always stored in type script file too.
 .TP
 \fB\-f\fR, \fB\-\-flush\fR
 Flush output after each write.  This is nice for telecooperation: one person
@@ -82,17 +102,66 @@ being done using `cat foo'.
 Allow the default output destination, i.e. the typescript file, to be a hard
 or symbolic link.  The command will follow a symbolic link.
 .TP
+\fB\-B\fR, \fB\-\-log\-io\fR \fIfile\fR
+Log input and output to the same
+\fIfile\fR.  Note, this option makes sense only if \fB\-\-log\-timing\fR is
+also specified, otherwise it's impossible to separate output and input streams from
+the log \fIfile\fR.
+.TP
+\fB\-I\fR, \fB\-\-log\-in\fR \fIfile\fR
+Log input to the \fIfile\fR.  The log output is disabled if only \fB\-\-log\-in\fR
+specified.
+.sp
+Use this logging functionality carefully as it logs all input, including input 
+when terminal has disabled echo flag (for example it log passwords in the input).
+.TP
+\fB\-O\fR, \fB\-\-log\-out\fR \fIfile\fR
+Log output to the \fIfile\fR. The default is to log output to the file with
+name 'typescript' if the option \fB\-\-log\-out\fR or \fB\-\-log\-in\fR is not
+given.  The log output is disabled if only \fB\-\-log\-in\fR specified.
+.TP
+\fB\-T\fR, \fB\-\-log\-timing\fR \fIfile\fR
+Log timing information to the \fIfile\fR. Two timing file formats are supporte
+now.  The classic format is used when only one stream (input or output) logging
+is enabled. The multi-stream format is used on \fB\-\-log\-io\fR or when
+\fB\-\-log\-in\fR and \fB\-\-log\-out\fR are used together.
+See also \fB\-\-logging\-format\fR.
+.TP
+\fB\-m\fR, \fB\-\-logging\-format\fR \fIformat\fR
+Force use 'advanced' or 'classic' format.  The default is the classic format to
+log only output and the advanced format when input as well as output logging is
+requested.
+.sp
+.RS
+.B Classic format
+.PP
+The log contains two fields, separated by a space.  The first
+field indicates how much time elapsed since the previous output.  The second
+field indicates how many characters were output this time.
+.sp
+.B Advanced (multi-stream) format
+.PP
+The first field is entry type itentifier ('I'nput, 'O'utput, 'H'eader, 'S'ignal).
+The socond field is how much time elapsed since the previous entry, and rest of the entry is type specific data.
+.RE
+.TP
+\fB\-o\fR, \fB\-\-output-limit\fR \fIsize\fR
+Limit the size of the typescript and timing files to
+.I size
+and stop the child process after this size is exceeded.  The calculated
+file size does not include the start and done messages that the
+.B script
+command prepends and appends to the child process output.
+Due to buffering, the resulting output file might be larger than the specified value.
+.TP
 \fB\-q\fR, \fB\-\-quiet\fR
-Be quiet (do not write start and done messages to either standard output
-or the typescript file).
+Be quiet (do not write start and done messages to standard output).
 .TP
-\fB\-t\fR, \fB\-\-timing\fR[=\fIfile\fR]
+\fB\-t\fR[\fIfile\fR], \fB\-\-timing\fR[=\fIfile\fR]
 Output timing data to standard error, or to
 .I file
-when given.  This data contains two fields, separated by a space.  The first
-field indicates how much time elapsed since the previous output.  The second
-field indicates how many characters were output this time.  This information
-can be used to replay typescripts with realistic typing and output delays.
+when given.  This option is deprecated in favour of \fB\-\-log\-timing\fR where
+the \fIfile\fR argument is not optional.
 .TP
 \fB\-V\fR, \fB\-\-version\fR
 Display version information and exit.
@@ -103,7 +172,7 @@ Display help text and exit.
 The script ends when the forked shell exits (a
 .I control-D
 for the Bourne shell
-.RB ( sh (1)),
+.RB ( sh (1p)),
 and
 .IR exit ,
 .I logout
@@ -187,6 +256,6 @@ can hang, because the interactive shell within the script session misses EOF and
 has no clue when to close the session.  See the \fBNOTES\fR section for more information.
 .SH AVAILABILITY
 The script command is part of the util-linux package and is available from
-.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
+.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
 Linux Kernel Archive
 .UE .