Hello community, here is the log from the commit of package sysvinit for openSUSE:Factory checked in at 2019-09-27 14:43:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sysvinit (Old) and /work/SRC/openSUSE:Factory/.sysvinit.new.2352 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysvinit" Fri Sep 27 14:43:02 2019 rev:171 rq:731661 version:2.96 Changes: -------- --- /work/SRC/openSUSE:Factory/sysvinit/sysvinit.changes 2019-06-25 22:16:50.772664400 +0200 +++ /work/SRC/openSUSE:Factory/.sysvinit.new.2352/sysvinit.changes 2019-09-27 14:43:03.589605494 +0200 @@ -1,0 +2,24 @@ +Wed Sep 18 07:45:38 UTC 2019 - Dr. Werner Fink <wer...@suse.de> + +- Update to sysvinit 2.96 + * Added -z command line paramter to pidof which tells pidof to + try to find processes in uninterruptable (D) or zombie (Z) states. + This can cause pidof to hang, but produces a more complete process + list. + * Reformatted init code to make if/while logic more clear. + * Make sure src/Makefile cleans up all executable files + when parent Makefile calls "make clean". + +------------------------------------------------------------------- +Thu Aug 29 13:25:34 UTC 2019 - Dr. Werner Fink <wer...@suse.de> + +- Update to killproc 2.23 + * killproc has its upstream at https://github.com/bitstreamout/killproc + * Use new system call statx(2) to replace old stat(2)/lstat(2) +- Remove patches now upstream: + * killproc-2.18-open_flags.dif + * killproc-2.21.dif + * killproc-sysmacros.patch + * killproc-mntinf-optional.patch + +------------------------------------------------------------------- Old: ---- killproc-2.18-open_flags.dif killproc-2.21.dif killproc-2.21.tar.bz2 killproc-mntinf-optional.patch killproc-sysmacros.patch sysvinit-2.95.tar.xz New: ---- killproc-2.23.tar.gz sysvinit-2.96.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sysvinit.spec ++++++ --- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.493603143 +0200 +++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.493603143 +0200 @@ -17,9 +17,9 @@ Name: sysvinit -%define KPVER 2.21 +%define KPVER 2.23 %define SCVER 1.20 -%define SIVER 2.95 +%define SIVER 2.96 %define START 0.63 Version: %{SIVER} Release: 0 @@ -31,15 +31,11 @@ #!BuildIgnore: sysvinit-tools Url: https://savannah.nongnu.org/projects/sysvinit/ Source: sysvinit-%{SIVER}.tar.xz -Source1: killproc-%{KPVER}.tar.bz2 +Source1: https://github.com/bitstreamout/killproc/archive/v%{KPVER}.tar.gz#/killproc-%{KPVER}.tar.gz Source2: startpar-%{START}.tar.xz Patch: %{name}-2.90.dif Patch2: %{name}-2.88dsf-suse.patch Patch9: %{name}-2.90-no-kill.patch -Patch30: killproc-%{KPVER}.dif -Patch31: killproc-2.18-open_flags.dif -Patch32: killproc-sysmacros.patch -Patch33: killproc-mntinf-optional.patch Patch50: startpar-0.58.dif Patch51: startpar-sysmacros.patch @@ -76,11 +72,7 @@ mkdir killproc popd pushd ../killproc-%{KPVER} -%patch30 -%patch31 -p0 -b .dialog -%patch32 -p1 -%patch33 -p0 -ln -t../%{name}-%{SIVER}/doc/killproc README +ln -t../%{name}-%{SIVER}/doc/killproc README.md popd pushd ../startpar-%{START} %patch50 ++++++ sysvinit-2.88dsf-suse.patch ++++++ --- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.533603039 +0200 +++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.533603039 +0200 @@ -4,7 +4,7 @@ 2 files changed, 3 insertions(+), 1 deletion(-) --- man/killall5.8 -+++ man/killall5.8 2019-06-17 12:05:21.101622374 +0000 ++++ man/killall5.8 2019-09-18 07:39:31.188377719 +0000 @@ -44,6 +44,7 @@ process were killed, and 1 if it was una .SH SEE ALSO .BR halt (8), @@ -15,9 +15,9 @@ .SH AUTHOR Miquel van Smoorenburg, miqu...@cistron.nl --- man/pidof.8 -+++ man/pidof.8 2019-06-17 12:06:25.816419988 +0000 -@@ -94,6 +94,7 @@ Zombie processes or processes in disk sl - are ignored, as attempts to access the stats of these will sometimes fail. ++++ man/pidof.8 2019-09-18 07:40:18.859489726 +0000 +@@ -101,6 +101,7 @@ The \-z flag (see above) tells pidof to + processes, at the risk of failing or hanging. .SH SEE ALSO +.BR pidofproc (8), ++++++ sysvinit-2.90-no-kill.patch ++++++ --- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.541603018 +0200 +++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.545603008 +0200 @@ -3,8 +3,8 @@ 1 file changed, 52 insertions(+) --- src/killall5.c -+++ src/killall5.c 2018-08-06 12:45:03.832836347 +0000 -@@ -470,6 +470,38 @@ int readarg(FILE *fp, char *buf, int sz) ++++ src/killall5.c 2019-09-18 07:41:29.094181373 +0000 +@@ -478,6 +478,38 @@ int readarg(FILE *fp, char *buf, int sz) } /* @@ -43,7 +43,7 @@ * Read the proc filesystem. * CWD must be /proc to avoid problems if / is affected by the killing (ie depend on fuse). */ -@@ -674,6 +706,26 @@ int readproc(int do_stat) +@@ -683,6 +715,26 @@ int readproc(int do_stat) p->nfs = 0; switch (do_stat) { ++++++ sysvinit-2.90.dif ++++++ --- /var/tmp/diff_new_pack.i3fHIp/_old 2019-09-27 14:43:04.549602997 +0200 +++ /var/tmp/diff_new_pack.i3fHIp/_new 2019-09-27 14:43:04.549602997 +0200 @@ -44,7 +44,7 @@ MANDB := endif -@@ -203,13 +199,8 @@ install: all +@@ -202,13 +198,8 @@ install: all done # $(INSTALL_DIR) $(ROOT)/etc/ # $(INSTALL_EXEC) ../doc/initscript.sample $(ROOT)/etc/ ++++++ sysvinit-2.95.tar.xz -> sysvinit-2.96.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/doc/Changelog new/sysvinit-2.96/doc/Changelog --- old/sysvinit-2.95/doc/Changelog 2019-06-15 19:02:34.000000000 +0200 +++ new/sysvinit-2.96/doc/Changelog 2019-09-11 19:43:12.000000000 +0200 @@ -1,3 +1,30 @@ +sysvinit (2.96) released; urgency=low + + [ Jesse Smith ] + + * Added -z command line paramter to pidof which tells pidof to + try to find processes in uninterruptable (D) or zombie (Z) states. + This can cause pidof to hang, but produces a more complete process + list. + Closes Savannah bug #56534 + + * Reformatted init code to make if/while logic more clear. + + * Cleaned up some output from readbootlog. + + * Added -e flag to bootlogd. When -e is used, data saved + to the boot log file does not have escape characters + removed. This means colour and cursor movement codes + stay in the log file. The may then look nicer when + read with "less -R', but may appear cluttered or + out of alignment when viewed with other, plain-text tools. + When -e is not used, escape characters are removed/filtered. + Closes Debian bug #672361. + + * Make sure src/Makefile cleans up all executable files + when parent Makefile calls "make clean". + + sysvinit (2.95) released; urgency=low [ Jesse Smith ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/man/bootlogd.8 new/sysvinit-2.96/man/bootlogd.8 --- old/sysvinit-2.95/man/bootlogd.8 2019-06-15 19:02:34.000000000 +0200 +++ new/sysvinit-2.96/man/bootlogd.8 2019-09-11 19:43:12.000000000 +0200 @@ -22,6 +22,7 @@ .B /sbin/bootlogd .RB [ \-c ] .RB [ \-d ] +.RB [ \-e ] .RB [ \-r ] .RB [ \-s ] .RB [ \-v ] @@ -34,6 +35,10 @@ .SH OPTIONS .IP \fB\-d\fP Do not fork and run in the background. +.IP \fB\-e\fP +Print escape characters to the boot log file. This turns off filtering of +escape characters and allows tools like GNU Less to see and use colour control +characters (show the log in colour). .IP \fB\-c\fP Attempt to write to the logfile even if it does not yet exist. Without this option, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/man/pidof.8 new/sysvinit-2.96/man/pidof.8 --- old/sysvinit-2.95/man/pidof.8 2019-06-15 19:02:34.000000000 +0200 +++ new/sysvinit-2.96/man/pidof.8 2019-09-11 19:43:12.000000000 +0200 @@ -24,6 +24,7 @@ .RB [ \-c ] .RB [ \-n ] .RB [ \-x ] +.RB [ \-z ] .RB [ \-o .IR omitpid[,omitpid...] ] .RB [ \-o @@ -64,6 +65,10 @@ .IP \-x Scripts too - this causes the program to also return process id's of shells running the named scripts. +.IP \-z +Try to detect processes which are stuck in uninterruptible (D) or zombie (Z) +status. Usually these processes are skipped as trying to deal with them can cause +pidof to hang. .IP "-d \fIsep\fP" Tells \fIpidof\fP to use \fIsep\fP as an output separator if more than one PID is shown. The default separator is a space. @@ -92,6 +97,8 @@ .PP Zombie processes or processes in disk sleep (states Z and D, respectively) are ignored, as attempts to access the stats of these will sometimes fail. +The \-z flag (see above) tells pidof to try to detect these sleeping and zombie +processes, at the risk of failing or hanging. .SH SEE ALSO .BR shutdown (8), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/Makefile new/sysvinit-2.96/src/Makefile --- old/sysvinit-2.95/src/Makefile 2019-06-15 19:02:34.000000000 +0200 +++ new/sysvinit-2.96/src/Makefile 2019-09-11 19:43:12.000000000 +0200 @@ -181,8 +181,7 @@ cleanobjs: rm -f *.o *.bak -clean: cleanobjs - @echo Type \"make clobber\" to really clean up. +clean: cleanobjs clobber clobber: cleanobjs rm -f $(BIN) $(SBIN) $(USRBIN) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/bootlogd.c new/sysvinit-2.96/src/bootlogd.c --- old/sysvinit-2.95/src/bootlogd.c 2019-06-15 19:02:34.000000000 +0200 +++ new/sysvinit-2.96/src/bootlogd.c 2019-09-11 19:43:12.000000000 +0200 @@ -340,7 +340,7 @@ /* * Write data and make sure it's on disk. */ -void writelog(FILE *fp, unsigned char *ptr, int len) +void writelog(FILE *fp, unsigned char *ptr, int len, int print_escape_characters) { int dosync = 0; int i; @@ -363,7 +363,9 @@ /* remove escape sequences, but do it in a way that allows us to stop * in the middle in case the string was cut off */ - if (inside_esc == 1) { + if (! print_escape_characters) + { + if (inside_esc == 1) { /* first '[' is special because if we encounter it again, it should be considered the final byte */ if (*ptr == '[') { /* multi char sequence */ @@ -376,7 +378,7 @@ } inside_esc = 0; } - } else if (inside_esc == 2) { + } else if (inside_esc == 2) { switch (*ptr) { case '0' ... '9': /* intermediate chars of escape sequence */ case ';': @@ -391,8 +393,8 @@ inside_esc = 0; } break; - } - } else { + } + } else { switch (*ptr) { case '\r': ignore = 1; @@ -402,8 +404,8 @@ inside_esc = 1; break; } - } - + } + } /* end of if we should filter escape characters */ if (!ignore) { fwrite(ptr, sizeof(char), 1, fp); @@ -430,7 +432,7 @@ */ void usage(void) { - fprintf(stderr, "Usage: bootlogd [-v] [-r] [-d] [-s] [-c] [-p pidfile] [-l logfile]\n"); + fprintf(stderr, "Usage: bootlogd [-v] [-r] [-d] [-e] [-s] [-c] [-p pidfile] [-l logfile]\n"); exit(1); } @@ -490,14 +492,14 @@ int considx; struct real_cons cons[MAX_CONSOLES]; int num_consoles, consoles_left; - + int print_escape_sequence = 0; fp = NULL; logfile = LOGFILE; pidfile = NULL; rotate = 0; dontfork = 0; - while ((i = getopt(argc, argv, "cdsl:p:rv")) != EOF) switch(i) { + while ((i = getopt(argc, argv, "cdesl:p:rv")) != EOF) switch(i) { case 'l': logfile = optarg; break; @@ -517,6 +519,9 @@ case 'd': dontfork = 1; break; + case 'e': + print_escape_sequence = 1; + break; case 's': syncalot = 1; break; @@ -678,8 +683,8 @@ */ if (--consoles_left <= 0) got_signal = 1; break; - } - } + } /* end of while */ + } /* end of going through all consoles */ /* * Increment buffer position. Handle @@ -693,8 +698,8 @@ inptr = ringbuf; if (outptr >= endptr) outptr = ringbuf; - } - } + } /* end of got data from read */ + } /* end of checking select for new data */ /* * Perhaps we need to open the logfile. @@ -714,8 +719,8 @@ else todo = endptr - outptr; if (fp && todo) - writelog(fp, (unsigned char *)outptr, todo); - } + writelog(fp, (unsigned char *)outptr, todo, print_escape_sequence); + } /* end of while waiting for signal */ if (fp) { if (!didnl) fputc('\n', fp); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/init.c new/sysvinit-2.96/src/init.c --- old/sysvinit-2.95/src/init.c 2019-06-15 19:02:35.000000000 +0200 +++ new/sysvinit-2.96/src/init.c 2019-09-11 19:43:12.000000000 +0200 @@ -2433,7 +2433,8 @@ } /* Wait for data to appear, _if_ the pipe was opened. */ - if (pipe_fd >= 0) while(!quit) { + if (pipe_fd >= 0) { + while(!quit) { /* Do select, return on EINTR. */ FD_ZERO(&fds); @@ -2504,9 +2505,9 @@ default: initlog(L_VB, "got unimplemented initrequest."); break; - } - } - + } /* end of switch */ + } /* end of while loop not quitting */ + } /* end of if the pipe is open */ /* * We come here if the pipe couldn't be opened. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/killall5.c new/sysvinit-2.96/src/killall5.c --- old/sysvinit-2.95/src/killall5.c 2019-06-15 19:02:35.000000000 +0200 +++ new/sysvinit-2.96/src/killall5.c 2019-09-11 19:43:12.000000000 +0200 @@ -135,9 +135,17 @@ /* Did we stop all processes ? */ int sent_sigstop; - int scripts_too = 0; +/* Should pidof try to list processes in I/O wait (D) and zombie (Z) states? */ +#ifndef FALSE +#define FALSE 0 +#endif +#ifndef TRUE +#define TRUE 1 +#endif +int list_dz_processes = FALSE; + char *progname; /* the name of the running program */ #ifdef __GNUC__ __attribute__ ((format (printf, 2, 3))) @@ -598,8 +606,9 @@ if (startcode == 0 && endcode == 0) p->kernel = 1; fclose(fp); - if ( (strchr(process_status, 'D') != NULL) || - (strchr(process_status, 'Z') != NULL) ){ + if ( (! list_dz_processes) && + ( (strchr(process_status, 'D') != NULL) || + (strchr(process_status, 'Z') != NULL) ) ){ /* Ignore zombie processes or processes in disk sleep, as attempts to access the stats of these will @@ -955,6 +964,7 @@ printf(" -q Quiet mode. Do not display output\n"); printf(" -s Only return one PID\n"); printf(" -x Return PIDs of shells running scripts with a matching name\n"); + printf(" -z List zombie and I/O waiting processes. May cause pidof to hang.\n"); printf("\n"); } @@ -1008,7 +1018,7 @@ if ((token = getenv("PIDOF_NETFS")) && (strcmp(token,"no") != 0)) flags |= PIDOF_NETFS; - while ((opt = getopt(argc,argv,"qhco:d:sxn")) != EOF) switch (opt) { + while ((opt = getopt(argc,argv,"qhco:d:sxzn")) != EOF) switch (opt) { case '?': nsyslog(LOG_ERR,"invalid options on command line!\n"); closelog(); @@ -1056,6 +1066,9 @@ case 'x': scripts_too++; break; + case 'z': + list_dz_processes = TRUE; + break; case 'n': flags |= PIDOF_NETFS; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysvinit-2.95/src/readbootlog.c new/sysvinit-2.96/src/readbootlog.c --- old/sysvinit-2.95/src/readbootlog.c 2019-06-15 19:02:35.000000000 +0200 +++ new/sysvinit-2.96/src/readbootlog.c 2019-09-11 19:43:12.000000000 +0200 @@ -58,6 +58,20 @@ } } } /* done found character to scrub */ + else if ( (a_letter == '?') && (source_line[source_index + 1] == '?') && + (source_line[source_index + 2] == '7') ) + { + source_index += 3; + output_line[target_index] = ' '; + target_index++; + } + else if ( (a_letter == '8') && (source_line[source_index + 1] == '?') && + (source_line[source_index + 2] == '?') ) + { + source_index += 3; + output_line[target_index] = ']'; + target_index++; + } else { output_line[target_index] = a_letter; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' "old/sysvinit-2.95/src/would be changed upstream, and that there are likely other" "new/sysvinit-2.96/src/would be changed upstream, and that there are likely other" --- "old/sysvinit-2.95/src/would be changed upstream, and that there are likely other" 2019-06-15 19:02:35.000000000 +0200 +++ "new/sysvinit-2.96/src/would be changed upstream, and that there are likely other" 1970-01-01 01:00:00.000000000 +0100 @@ -1,233 +0,0 @@ - - SSUUMMMMAARRYY OOFF LLEESSSS CCOOMMMMAANNDDSS - - Commands marked with * may be preceded by a number, _N. - Notes in parentheses indicate the behavior if _N is given. - A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K. - - h H Display this help. - q :q Q :Q ZZ Exit. - --------------------------------------------------------------------------- - - MMOOVVIINNGG - - e ^E j ^N CR * Forward one line (or _N lines). - y ^Y k ^K ^P * Backward one line (or _N lines). - f ^F ^V SPACE * Forward one window (or _N lines). - b ^B ESC-v * Backward one window (or _N lines). - z * Forward one window (and set window to _N). - w * Backward one window (and set window to _N). - ESC-SPACE * Forward one window, but don't stop at end-of-file. - d ^D * Forward one half-window (and set half-window to _N). - u ^U * Backward one half-window (and set half-window to _N). - ESC-) RightArrow * Left one half screen width (or _N positions). - ESC-( LeftArrow * Right one half screen width (or _N positions). - F Forward forever; like "tail -f". - ESC-F Like F but stop when search pattern is found. - r ^R ^L Repaint screen. - R Repaint screen, discarding buffered input. - --------------------------------------------------- - Default "window" is the screen height. - Default "half-window" is half of the screen height. - --------------------------------------------------------------------------- - - SSEEAARRCCHHIINNGG - - /_p_a_t_t_e_r_n * Search forward for (_N-th) matching line. - ?_p_a_t_t_e_r_n * Search backward for (_N-th) matching line. - n * Repeat previous search (for _N-th occurrence). - N * Repeat previous search in reverse direction. - ESC-n * Repeat previous search, spanning files. - ESC-N * Repeat previous search, reverse dir. & spanning files. - ESC-u Undo (toggle) search highlighting. - &_p_a_t_t_e_r_n * Display only matching lines - --------------------------------------------------- - A search pattern may be preceded by one or more of: - ^N or ! Search for NON-matching lines. - ^E or * Search multiple files (pass thru END OF FILE). - ^F or @ Start search at FIRST file (for /) or last file (for ?). - ^K Highlight matches, but don't move (KEEP position). - ^R Don't use REGULAR EXPRESSIONS. - --------------------------------------------------------------------------- - - JJUUMMPPIINNGG - - g < ESC-< * Go to first line in file (or line _N). - G > ESC-> * Go to last line in file (or line _N). - p % * Go to beginning of file (or _N percent into file). - t * Go to the (_N-th) next tag. - T * Go to the (_N-th) previous tag. - { ( [ * Find close bracket } ) ]. - } ) ] * Find open bracket { ( [. - ESC-^F _<_c_1_> _<_c_2_> * Find close bracket _<_c_2_>. - ESC-^B _<_c_1_> _<_c_2_> * Find open bracket _<_c_1_> - --------------------------------------------------- - Each "find close bracket" command goes forward to the close bracket - matching the (_N-th) open bracket in the top line. - Each "find open bracket" command goes backward to the open bracket - matching the (_N-th) close bracket in the bottom line. - - m_<_l_e_t_t_e_r_> Mark the current position with <letter>. - '_<_l_e_t_t_e_r_> Go to a previously marked position. - '' Go to the previous position. - ^X^X Same as '. - --------------------------------------------------- - A mark is any upper-case or lower-case letter. - Certain marks are predefined: - ^ means beginning of the file - $ means end of the file - --------------------------------------------------------------------------- - - CCHHAANNGGIINNGG FFIILLEESS - - :e [_f_i_l_e] Examine a new file. - ^X^V Same as :e. - :n * Examine the (_N-th) next file from the command line. - :p * Examine the (_N-th) previous file from the command line. - :x * Examine the first (or _N-th) file from the command line. - :d Delete the current file from the command line list. - = ^G :f Print current file name. - --------------------------------------------------------------------------- - - MMIISSCCEELLLLAANNEEOOUUSS CCOOMMMMAANNDDSS - - -_<_f_l_a_g_> Toggle a command line option [see OPTIONS below]. - --_<_n_a_m_e_> Toggle a command line option, by name. - __<_f_l_a_g_> Display the setting of a command line option. - ___<_n_a_m_e_> Display the setting of an option, by name. - +_c_m_d Execute the less cmd each time a new file is examined. - - !_c_o_m_m_a_n_d Execute the shell command with $SHELL. - |XX_c_o_m_m_a_n_d Pipe file between current pos & mark XX to shell command. - v Edit the current file with $VISUAL or $EDITOR. - V Print version number of "less". - --------------------------------------------------------------------------- - - OOPPTTIIOONNSS - - Most options may be changed either on the command line, - or from within less by using the - or -- command. - Options may be given in one of two forms: either a single - character preceded by a -, or a name preceded by --. - - -? ........ --help - Display help (from command line). - -a ........ --search-skip-screen - Search skips current screen. - -A ........ --SEARCH-SKIP-SCREEN - Search starts just after target line. - -b [_N] .... --buffers=[_N] - Number of buffers. - -B ........ --auto-buffers - Don't automatically allocate buffers for pipes. - -c ........ --clear-screen - Repaint by clearing rather than scrolling. - -d ........ --dumb - Dumb terminal. - -D [_x_n_._n] . --color=_x_n_._n - Set screen colors. (MS-DOS only) - -e -E .... --quit-at-eof --QUIT-AT-EOF - Quit at end of file. - -f ........ --force - Force open non-regular files. - -F ........ --quit-if-one-screen - Quit if entire file fits on first screen. - -g ........ --hilite-search - Highlight only last match for searches. - -G ........ --HILITE-SEARCH - Don't highlight any matches for searches. - -h [_N] .... --max-back-scroll=[_N] - Backward scroll limit. - -i ........ --ignore-case - Ignore case in searches that do not contain uppercase. - -I ........ --IGNORE-CASE - Ignore case in all searches. - -j [_N] .... --jump-target=[_N] - Screen position of target lines. - -J ........ --status-column - Display a status column at left edge of screen. - -k [_f_i_l_e] . --lesskey-file=[_f_i_l_e] - Use a lesskey file. - -K --quit-on-intr - Exit less in response to ctrl-C. - -L ........ --no-lessopen - Ignore the LESSOPEN environment variable. - -m -M .... --long-prompt --LONG-PROMPT - Set prompt style. - -n -N .... --line-numbers --LINE-NUMBERS - Don't use line numbers. - -o [_f_i_l_e] . --log-file=[_f_i_l_e] - Copy to log file (standard input only). - -O [_f_i_l_e] . --LOG-FILE=[_f_i_l_e] - Copy to log file (unconditionally overwrite). - -p [_p_a_t_t_e_r_n] --pattern=[_p_a_t_t_e_r_n] - Start at pattern (from command line). - -P [_p_r_o_m_p_t] --prompt=[_p_r_o_m_p_t] - Define new prompt. - -q -Q .... --quiet --QUIET --silent --SILENT - Quiet the terminal bell. - -r -R .... --raw-control-chars --RAW-CONTROL-CHARS - Output "raw" control characters. - -s ........ --squeeze-blank-lines - Squeeze multiple blank lines. - -S ........ --chop-long-lines - Chop (truncate) long lines rather than wrapping. - -t [_t_a_g] .. --tag=[_t_a_g] - Find a tag. - -T [_t_a_g_s_f_i_l_e] --tag-file=[_t_a_g_s_f_i_l_e] - Use an alternate tags file. - -u -U .... --underline-special --UNDERLINE-SPECIAL - Change handling of backspaces. - -V ........ --version - Display the version number of "less". - -w ........ --hilite-unread - Highlight first new line after forward-screen. - -W ........ --HILITE-UNREAD - Highlight first new line after any forward movement. - -x [_N[,...]] --tabs=[_N[,...]] - Set tab stops. - -X ........ --no-init - Don't use termcap init/deinit strings. - -y [_N] .... --max-forw-scroll=[_N] - Forward scroll limit. - -z [_N] .... --window=[_N] - Set size of window. - -" [_c[_c]] . --quotes=[_c[_c]] - Set shell quote characters. - -~ ........ --tilde - Don't display tildes after end of file. - -# [_N] .... --shift=[_N] - Horizontal scroll amount (0 = one half screen width) - ........ --no-keypad - Don't send termcap keypad init/deinit strings. - ........ --follow-name - The F command changes files if the input file is renamed. - ........ --use-backslash - Subsequent options use backslash as escape char. - - - --------------------------------------------------------------------------- - - LLIINNEE EEDDIITTIINNGG - - These keys can be used to edit text being entered - on the "command line" at the bottom of the screen. - - RightArrow ..................... ESC-l ... Move cursor right one character. - LeftArrow ...................... ESC-h ... Move cursor left one character. - ctrl-RightArrow ESC-RightArrow ESC-w ... Move cursor right one word. - ctrl-LeftArrow ESC-LeftArrow ESC-b ... Move cursor left one word. - HOME ........................... ESC-0 ... Move cursor to start of line. - END ............................ ESC-$ ... Move cursor to end of line. - BACKSPACE ................................ Delete char to left of cursor. - DELETE ......................... ESC-x ... Delete char under cursor. - ctrl-BACKSPACE ESC-BACKSPACE ........... Delete word to left of cursor. - ctrl-DELETE .... ESC-DELETE .... ESC-X ... Delete word under cursor. - ctrl-U ......... ESC (MS-DOS only) ....... Delete entire line. - UpArrow ........................ ESC-k ... Retrieve previous command line. - DownArrow ...................... ESC-j ... Retrieve next command line. - TAB ...................................... Complete filename & cycle. - SHIFT-TAB ...................... ESC-TAB Complete filename & reverse cycle. - ctrl-L ................................... Complete filename, list all. - -