neulab/tldr huggingface dataset:
-F FILE Read files to process from FILE, one filename per line.  If FILE is ´-´ then read filenames from standard input instead of a file. You can create this file using something like ´find . -name "*.c" > list.txt´. This cannot be combined with -f.
--prefix PFX Prepend PFX to the output filename path. This cannot be combined with -f, --replace, or --no-backup.
--suffix SFX Append SFX to the output filename. The default is '.uncrustify' if neither SFX or PFX are specified. This cannot be combined with -f, --replace, or --no-backup.
--frag Assume the input is a code fragment and the first line is properly indented.
--replace Replace source files (creates a backup). This cannot be combined with -f, --prefix, or --suffix.
--no-backup Replace files, no backup. Useful if files are under source control This cannot be combined with -f, --prefix, or --suffix.
--mtime Preserve mtime on replaced files.
-l     Language override: C, CPP, D, CS, JAVA, PAWN, VALA, OC, OC+
-t     Load a file with types (usually not needed)
-q     Quiet mode - no output on stderr (-L will override)
Config/Help Options: -h -? --help --usage Print this message and exit
--version Print the version and exit
--count-options Print the number of available options and exit
--show-config Print out option documentation and exit
--update-config Output a new config file.
--update-config-with-doc Output a new config file with embedded usage comments.
--universalindent Output a config file for Universal Indent GUI.
--detect Detects the config from a source file. Use with '-f FILE'. Detection is currently fairly limited.
Debug Options: -p FILE Dump debug info into FILE, or to stdout if FILE is set to '-'. Must be used in combination with '-f FILE'.
-ds FILE --dump-steps FILE Dump parsing info at various moments of the formatting process. This creates a series of files named 'FILE_nnn.log', each corresponding to a formatting step in uncrustify. The file 'FILE_000.log' lists the formatting options in use. Must be used in combination with '-f FILE'.
-L SEV Set the log severity (see log_levels.h)
-s     Show the log severity in the logs
--decode FLAG Print FLAG as text and exit
Read a D file from stdin, output to stdout. cat foo.d | uncrustify -q -c my.cfg -l d
Process a file, output to stdout. uncrustify -c my.cfg -d foo.d
Process a source tree, output to a different tree. find src -name "*.[ch]" > files.txt uncrustify -c my.cfg -F files.txt --prefix out
Process a source tree in‐place. uncrustify -c my.cfg --no-backup $(find src -name "*.[ch]")
Use comments containing ' *INDENT-OFF*' and ' *INDENT-ON*' to disable processing of parts of the source file.
Written by Ben Gardner
Use the issue tracker at <http://sourceforge.net/projects/uncrustify>
Copyright (C) 2006‐2014 Ben Gardner Copyright (C) 2015, 2016 Guy Maurel
GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
NOP(1)                       General Commands Manual                      NOP(1)
nop - pretty-print graph file
nop [ -p?  ] [ files ]
nop reads a stream of graphs and prints each in pretty-printed (canonical) format on stdout. If no files are given, it reads from stdin.
-p     Produce no output - just check the input for valid DOT.
-?     Print usage information.
If any errors occurred while processing any input, such as a file not found or a file containing illegal DOT, EXIT_FAILURE is returned. Otherwise EXIT_SUCCESS is returned.
wc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
GIT-ALIAS(1)                       Git Extras                       GIT-ALIAS(1)
git-alias - Define, search and show aliases
git-alias git-alias <search-pattern> git-alias <alias-name> <command>
List all aliases, show one alias, or set one (global) alias.
<search-pattern>
The pattern used to search aliases.
<alias-name>
The name of the alias to create.
The command for which you are creating an alias.
Defining a new alias:
$ git alias last "cat-file commit HEAD"
Providing only one argument, git-alias searches for aliases matching the given value:
$ git alias ^la last = cat-file commit HEAD
git-alias will show all aliases if no argument is given:
$ git alias s = status amend = commit --amend rank = shortlog -sn --no-merges whatis = show -s --pretty=´tformat:%h (%s, %ad)´ --date=short whois = !sh -c ´git log -i -1 --pretty="format:%an <%ae>
Written by Jonhnny Weslley <jw@jonhnnyweslley.net>
XGETTEXT(1)                       User Commands                      XGETTEXT(1)
xgettext - extract gettext strings from source
xgettext [OPTION] [INPUTFILE]...
Extract translatable strings from given input files.
Mandatory arguments to long options are mandatory for short options too. Similarly for optional arguments.
Input file location: INPUTFILE ... input files
-f, --files-from=FILE get list of input files from FILE
-D, --directory=DIRECTORY add DIRECTORY to list for input files search
If input file is -, standard input is read.
Output file location: -d, --default-domain=NAME use NAME.po for output (instead of messages.po)
-o, --output=FILE write output to specified file
-p, --output-dir=DIR output files will be placed in directory DIR
If output file is -, output is written to standard output.
Choice of input file language: -L, --language=NAME recognise the specified language (C, C++, ObjectiveC, PO, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Smalltalk, Java, JavaProperties, C#, awk, YCP, Tcl, Perl, PHP, Ruby, GCC-source, NXStringTable, RST, RSJ, Glade, Lua, JavaScript, Vala, Desktop)
-C, --c++ shorthand for --language=C++
By default the language is guessed depending on the input file name extension.
Input file interpretation: --from-code=NAME encoding of input files (except for Python, Tcl, Glade)
By default the input files are assumed to be in ASCII.
Operation mode: -j, --join-existing join messages with existing file
-x, --exclude-file=FILE.po entries from FILE.po are not extracted
-cTAG, --add-comments=TAG place comment blocks starting with TAG and preceding keyword lines in output file
-c, --add-comments place all comment blocks preceding keyword lines in output file
--check=NAME perform syntax check on messages (ellipsis-unicode, space-ellipsis,
quote-unicode, bullet-unicode)
--sentence-end=TYPE type describing the end of sentence (single-space, which is the default,
or double-space)
Language specific options: -a, --extract-all extract all strings (only languages C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade, Lua, JavaScript, Vala)
-kWORD, --keyword=WORD look for WORD as an additional keyword
-k, --keyword do not to use default keywords (only languages C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade, Lua, JavaScript, Vala, Desktop)
--flag=WORD:ARG:FLAG additional flag for strings inside the argument number ARG of keyword WORD
(only languages C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, YCP, Tcl, Perl, PHP, GCC-source, Lua, JavaScript, Vala)
-T, --trigraphs understand ANSI C trigraphs for input (only languages C, C++, ObjectiveC)
--its=FILE apply ITS rules from FILE (only XML based languages)
--qt   recognize Qt format strings (only language C++)
--kde  recognize KDE 4 format strings (only language C++)
--boost recognize Boost format strings (only language C++)
--debug more detailed formatstring recognition result
Output details: --color use colors and other text attributes always
--color=WHEN use colors and other text attributes if WHEN.  WHEN may be 'always', 'never', 'auto', or 'html'.
--style=STYLEFILE specify CSS style rule file for --color
-e, --no-escape do not use C escapes in output (default)
-E, --escape use C escapes in output, no extended chars
--force-po write PO file even if empty
-i, --indent write the .po file using indented style
--no-location do not write '#: filename:line' lines
-n, --add-location generate '#: filename:line' lines (default)
--strict write out strict Uniforum conforming .po file
--properties-output write out a Java .properties file
--stringtable-output write out a NeXTstep/GNUstep .strings file
--itstool write out itstool comments
-w, --width=NUMBER set output page width
--no-wrap do not break long message lines, longer than the output page width, into several lines
-s, --sort-output generate sorted output
-F, --sort-by-file sort output by file location
--omit-header don't write header with 'msgid ""' entry
--copyright-holder=STRING set copyright holder in output
--foreign-user omit FSF copyright in output for foreign user
--package-name=PACKAGE set package name in output
--package-version=VERSION set package version in output
--msgid-bugs-address=EMAIL@ADDRESS set report address for msgid bugs
-m[STRING], --msgstr-prefix[=STRING] use STRING or "" as prefix for msgstr values
-M[STRING], --msgstr-suffix[=STRING] use STRING or "" as suffix for msgstr values
Informative output: -h, --help display this help and exit
-V, --version output version information and exit
-v, --verbose increase verbosity level
Written by Ulrich Drepper.
Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org>.
Copyright Â© 1995-2020 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.
The full documentation for xgettext is maintained as a Texinfo manual. If the info and xgettext programs are properly installed at your site, the command
info xgettext
LOGSAVE(8)                   System Manager's Manual                  LOGSAVE(8)
logsave - save the output of a command in a logfile
logsave [ -asv ] logfile cmd_prog [ ... ]
The logsave program will execute cmd_prog with the specified argument(s), and save a copy of its output to logfile.  If the containing directory for logfile does not exist, logsave will accumulate the output in memory until it can be written out.  A copy of the output will also be written to standard output.
If cmd_prog is a single hyphen ('-'), then instead of executing a program, logsave will take its input from standard input and save it in logfile
logsave is useful for saving the output of initial boot scripts until the /var partition is mounted, so the output can be written to /var/log.
-a     This option will cause the output to be appended to logfile, instead of replacing its current contents.
-s     This option will cause logsave to skip writing to the log file text which is bracketed with a control-A (ASCII 001 or Start of Header) and control-B (ASCII 002 or Start of Text).  This allows progress bar information to be visible to the user on the console, while not being written to the log file.
-v     This option will make logsave to be more verbose in its output to the user.
Theodore Ts'o (tytso@mit.edu)
fsck(8)
daemonize(1)                      User Manuals                      daemonize(1)
daemonize - run a program as a Unix daemon
daemonize [-a] [-c directory] [-e stderr] [-o stdout] [-p pidfile] [-l lockfile] [-u user] [-v] path [arg] ...
daemonize runs a command as a Unix daemon.  As defined in W. Richard Stevens' 1990 book, Unix Network Programming (Addison-Wesley, 1990), a daemon is “a process that executes `in the background' (i.e., without an associated terminal or login shell) either waiting for some event to occur, or waiting to perform some specified task on a periodic basis.” Upon startup, a typical daemon program will:
o Close all open file descriptors (especially standard input, standard output and standard error)
o Change its working directory to the root filesystem, to ensure that it doesn't tie up another filesystem and prevent it from being unmounted
o Reset its umask value
o Run in the background (i.e., fork)
o Disassociate from its process group (usually a shell), to insulate itself from signals (such as HUP) sent to the process group
o Ignore all terminal I/O signals
o Disassociate from the control terminal (and take steps not to reacquire one)
o Handle any SIGCLD signals
Most programs that are designed to be run as daemons do that work for themselves. However, you'll occasionally run across one that does not. When you must run a daemon program that does not properly make itself into a true Unix daemon, you can use daemonize to force it to run as a true daemon.
-a     Append to the output files, rather than overwriting them (which is the default). Only applicable if -e and/or -o are specified.
-c directory Specifies the directory to which to change before running the program.  Defaults to "/". The choice for this option is important. The file system containing the daemon's working directory cannot be unmounted while the daemon is running. That's why most daemons are careful to use a working directory on the root file system.
-e stderr Redirect standard error to the specified file, instead of "/dev/null".
Warning: Be careful where you redirect the output! The file system containing the open file cannot be unmounted as long as the file is open. For best results, make sure that this output file is on the same file system as the daemon's working directory. (See the -c option.)
-E name=value Add an environment variable to the environment the daemon will see. The parameter must be of the form name=value.  This parameter may be specified multiple times.
-o stdout Redirect standard output to the specified file, instead of "/dev/null".
-p pidfile Causes daemonize to write the numeric process ID (PID) of the running daemon to the specified file. This option is useful when the program being daemonized doesn't create its own PID file.
-l lockfile Single-instance checking. Causes daemonize to ensure that no more than one instance of the daemon is running by placing an exclusive lock on given lockfile. If another process already has a lock on the lockfile, daemonize exits.
It is possible to use the pidfile as the lock file (e.g., "-p /var/run/foo -l /var/run/foo"), though typical daemons use separate files.
NOTE: If the executed program decides to close all file descriptors, the single-instance locking will not work, since the lock depends on an open file descriptor. (The operating system kernel removes the lock once the process holding the lock closes the file or exits.)  Normal processes that do not daemonize themselves do not usually close all file descriptors.
-u user Run the program as the specified user. This option only works if daemonize is invoked by the superuser.  Note: For obvious reasons, it's very dangerous to install daemonize as a setuid-to-root executable. For that reason, daemonize will refuse to run if it detects that it has been installed that way.
-v     Cause daemonize to write verbose messages to standard error, telling what it's doing as it daemonizes the program.
If the host operating system provides the daemon(3) library routine, daemonize will use it. Otherwise, daemonize uses its own version of daemon(3).  This choice is made at compile time. (BSD 4.4-derived operating systems tend to provide their own daemon(3) routine.)
FreeBSD 5.0 introduced a daemon(1) command that is similar to, but less functional, than daemonize.
This program released under a BSD-style license. For more details, consult the LICENSE file accompanying the source distribution, or visit "http://software.clapper.org/daemonize/LICENSE".
daemon(3), setsid(2), flock(2)
daemonize Home Page: http://software.clapper.org/daemonize/
Brian M. Clapper, bmc <at> clapper <dot> org
Support for the -e and -o options is based on a patch submitted by Tim Starling (tstarling <at> wikimedia <dot> org).
Support for the -l option is based on a patch submitted by Yakov Lerner (iler.ml <at> gmail <dot> com).
dotnet-cli(1)                                                      dotnet-cli(1)
dotnet -- general driver for running the command-line commands
dotnet [--version] [--help] [--verbose] < command > [< args >]
dotnet is a generic driver for the CLI toolchain.  Invoked on its own, it will give out brief usage instructions.
Each specific feature is implemented as a command.  In order to use the feature, it is specified after dotnet, i.e.  dotnet compile.  All of the arguments following the command are command's own arguments.
-v, --verbose
Enable verbose output.
Print out the version of the CLI tooling
-h, --help
Print out a short help and a list of current commands.
The following commands exist for dotnet.
dotnet-compile(1)
Compile the application to either an intermidiate language (IL) or to a native binary.
dotnet-restore(1)
Restores the dependencies for a given application.
dotnet-run(1)
Runs the application from source.
dotnet-publish(1)
Publishes a flat directory that contains the application and its dependencies, including the runtime binaries.
dotnet-test(1)
Runs tests using a test runner specified in project.json.
dotnet-new(1)
Initializes a sample .NET Core console application.
dotnew new
Initializes a sample .NET Core console application that can be compiled and ran.
Restores dependencies for a given application.
dotnet compile
Compiles the application in a given directory.
DOTNET_PACKAGES
The primary package cache. If not set, defaults to $HOME/.nuget/packages on Unix or %LOCALAPPDATA%\NuGet\Packages (TBD) on Windows.
DOTNET_PACKAGES_CACHE
The secondary cache. This is used by shared hosters (such as Azure) to provide a cache of pre-downloaded common packages on a faster disk. If not set it is not used.
DOTNET_SERVICING
Specifies the location of the servicing index to use by the shared host when loading the runtime.
dotnet-compile(1), dotnet-run(1), dotnet-publish(1), dotnet-restore(1)
Zlatko Knezevic zlakne@microsoft.com.
WORDGRINDER(1)   Simple word processor for writing first drafts   WORDGRINDER(1)
wordgrinder - console-based word processor
wordgrinder [options] [filename]
wordgrinder is a simple character cell word processor that runs on the console. It is primarily designed for text entry. It's designed to get the hell out of your way and let you write; it does very little, but what it does it does well.
It supports Unicode, basic paragraph styles, basic character styles, basic screen markup, a menu interface that means you don't have to remember complex key sequences, HTML import and export, and some other useful features.
When running, pressing ESC (or ALT + menu shortcut key) will open the menu.
These options follow the usual GNU command line syntax, with long options starting with two dashes (`-').
--lua filename Loads and executes a Lua file instead of starting normally.
--convert srcfile destfile Converts from srcfile to destfile and then exits.
The type of the file is autodetected from the extension of the filename. The source file may have a document name suffixed with a : for use when importing or exporting WordGrinder files.
--config file.lua Sets the name of the user config file.
The user config file is a Lua file which is loaded and executed before the program starts up. It defaults to:
~/.wordgrinder/startup.lua
wordgrinder was written by David Given. http://cowlark.com/wordgrinder
SENSIBLE-EDITOR(1)           General Commands Manual          SENSIBLE-EDITOR(1)
sensible-editor, sensible-pager, sensible-browser - sensible editing, paging, and web browsing
sensible-editor [OPTIONS...] sensible-pager [OPTIONS...] sensible-browser url
sensible-editor, sensible-pager and sensible-browser make sensible decisions on which editor, pager, and web browser to call, respectively. Programs in Debian can use these scripts as their default editor, pager, or web browser or emulate their behavior.
Documentation of the EDITOR, VISUAL and PAGER variables in environ(7) and select-editor(1) for changing a user's default editor
Documentation of behavior of sensible-utils under a debian system is available under section 11.4 of debian-policy usually installed under /usr/share/doc/debian-policy (you might need to install debian-policy)
NETHOGS(8)                   System Manager's Manual                  NETHOGS(8)
nethogs - Net top tool grouping bandwidth per process
nethogs [-h] [-V] [-d] [-v] [-t] [-c] [-p] [-a] [-s] [-l] [device(s)]
NetHogs is a small 'net top' tool. Instead of breaking the traffic down per protocol or per subnet, like most such tools do, it groups bandwidth by process - and does not rely on a special kernel module to be loaded. So if there's suddenly a lot of network traffic, you can fire up NetHogs and immediately see which PID is causing this, and if it's some kind of spinning process, kill it.
Options -h     display available commands usage
-V     print version info
-d     delay for refresh rate
-v     select view mode
-p     sniff in promiscuous mode (not recommended)
-a     monitor all devices, even loopback/stopped ones
-t     tracemode
-c     limit number of refreshes
-s     sort by traffic sent
-l     display command line
device(s) to monitor. By default eth0 is being used
m      cycle between display modes (KB/s, KB, B, MB, MB/s, GB/s)
l      display command line
r      sort by 'received'
s      sort by 'sent'
q      quit
In order to be run by an unprivileged user, nethogs needs the cap_net_admin and cap_net_raw capabilities. These can be set on the executable by using the setcap(8) command, as follows:
sudo setcap "cap_net_admin,cap_net_raw+pe" /usr/local/sbin/nethogs
netstat(8) tcpdump(1) pcap(3)
Written by Arnout Engelen <arnouten@bzzt.net>.
PR(1)                             User Commands                            PR(1)
pr - convert text files for printing
pr [OPTION]... [FILE]...
Paginate or columnate FILE(s) for printing.
+FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE] begin [stop] printing with page FIRST_[LAST_]PAGE
-COLUMN, --columns=COLUMN output COLUMN columns and print columns down, unless -a is used. Balance number of lines in the columns on each page
-a, --across print columns across rather than down, used together with -COLUMN
-c, --show-control-chars use hat notation (^G) and octal backslash notation
-d, --double-space double space the output
-D, --date-format=FORMAT use FORMAT for the header date
-e[CHAR[WIDTH]], --expand-tabs[=CHAR[WIDTH]] expand input CHARs (TABs) to tab WIDTH (8)
-F, -f, --form-feed use form feeds instead of newlines to separate pages (by a 3-line page header with -F or a 5-line header and trailer without -F)
-h, --header=HEADER use a centered HEADER instead of filename in page header, -h "" prints a blank line, don't use -h""
-i[CHAR[WIDTH]], --output-tabs[=CHAR[WIDTH]] replace spaces with CHARs (TABs) to tab WIDTH (8)
-J, --join-lines merge full lines, turns off -W line truncation, no column alignment, --sep-string[=STRING] sets separators
-l, --length=PAGE_LENGTH set the page length to PAGE_LENGTH (66) lines (default number of lines of text 56, and with -F 63).  implies -t if PAGE_LENGTH <= 10
-m, --merge print all files in parallel, one in each column, truncate lines, but join lines of full length with -J
-n[SEP[DIGITS]], --number-lines[=SEP[DIGITS]] number lines, use DIGITS (5) digits, then SEP (TAB), default counting starts with 1st line of input file
-N, --first-line-number=NUMBER start counting with NUMBER at 1st line of first page printed (see +FIRST_PAGE)
-o, --indent=MARGIN offset each line with MARGIN (zero) spaces, do not affect -w or -W, MARGIN will be added to PAGE_WIDTH
-r, --no-file-warnings omit warning when a file cannot be opened
-s[CHAR], --separator[=CHAR] separate columns by a single character, default for CHAR is the <TAB> character without -w and 'no char' with -w.  -s[CHAR] turns off line truncation of all 3 column options (-COLUMN|-a -COLUMN|-m) except -w is set
-S[STRING], --sep-string[=STRING] separate columns by STRING, without -S: Default separator <TAB> with -J and <space> otherwise (same as -S" "), no effect on column options
-t, --omit-header omit page headers and trailers; implied if PAGE_LENGTH <= 10
-T, --omit-pagination omit page headers and trailers, eliminate any pagination by form feeds set in input files
-v, --show-nonprinting use octal backslash notation
-w, --width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters for multiple text-column output only, -s[char] turns off (72)
-W, --page-width=PAGE_WIDTH set page width to PAGE_WIDTH (72) characters always, truncate lines, except -J option is set, no interference with -S or -s
Written by Pete TerMaat and Roland Huebner.
Full documentation <https://www.gnu.org/software/coreutils/pr> or available locally via: info '(coreutils) pr invocation'
REDSHIFT(1)                  General Commands Manual                 REDSHIFT(1)
redshift - set color temperature of display according to time of day
redshift [-l LAT:LON | -l PROVIDER:OPTIONS] [-t DAY:NIGHT] [OPTIONS...]
redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less or reduce the risk for delayed sleep phase syndrome if you are working in front of the screen at night.
The color temperature is set according to the position of the sun. A different color temperature is set during night and daytime. During twilight and early morning, the color temperature transitions smoothly from night to daytime temperature to allow your eyes to slowly adapt over a period of about an hour. At night the color temperature should be set to match the lamps in your room. This is typically a low temperature at around 3000K-4000K (default is 4500K). During the day, the color temperature should match the light from outside, typically around 5500K-6500K (default is 6500K). The light has a higher temperature on an overcast day.
In addition to the command-line tool redshift, the GUI redshift-gtk provides an alternative interface that shows up as a notification icon in the desktop environment.
-h     Display help message.
-v     Enable verbose output.
-V     Show program version.
-b DAY:NIGHT Screen brightness to apply (between 0.1 and 1.0).
-c FILE Load settings from specified configuration file.
-g R:G:B Additional gamma correction to apply.
-l LAT:LON Your current location, in degrees, given as floating point numbers, towards north and east, with negative numbers representing south and west, respectively.
-l PROVIDER[:OPTIONS] Select provider for automatic location updates (Use "-l list" to see available providers).
-m METHOD[:OPTIONS] Method to use to set color temperature (Use "-m list" to see available methods).
-o     One-shot mode (do not continuously adjust color temperature). Use this with the -P option to clear the existing gamma ramps before applying the new color temperature.
-O TEMP One-shot manual mode (set color temperature).  Use this with the -P option to clear the existing gamma ramps before applying the new color temperature.
-p     Print mode (only print parameters and exit).
-P     Reset existing gamma ramps before applying new color effect.
-x     Reset mode (remove adjustment from screen).
-r     Disable fading between color temperatures.
-t DAY:NIGHT Color temperature to set at daytime/night.
The neutral temperature is 6500K. Using this value will not change the color temperature of the display. Setting the color temperature to a value higher than this results in more blue light, and setting a lower value will result in more red light.
Default temperature values:
Daytime: 6500K, night: 4500K
A configuration file with the name redshift.conf can optionally be placed in ~/.config/. The file has standard INI format. General program options are placed under the redshift header, while options for location providers and adjustment methods are placed under a header with the name of that provider or method. General options are:
temp-day = integer Daytime temperature
temp-night = integer Night temperature
fade = 0 or 1 Disable or enable fading between color temperatures when Redshift starts or stops
brightness-day = 0.1-1.0 Screen brightness at daytime
brightness-night = 0.1-1.0 Screen brightness at night
elevation-high = decimal The solar elevation in degrees for the transition to daytime
elevation-low = decimal The solar elevation in degrees for the transition to night
dawn-time = HH:MM[-HH:MM] The custom time interval for the transition from night to day in the morning.  When specified, the solar elevation will not be used to determine the current daytime/night period. If this option is set, dusk-time must also be specified.
dusk-time = HH:MM[-HH:MM] The custom time interval for the transition from day to night in the evening.  When specified, the solar elevation will not be used to determine the current daytime/night period. If this option is set, dawn-time must also be specified.
gamma = R:G:B Gamma adjustment to apply (day and night)
gamma-day = R:G:B Gamma adjustment to apply at daytime
gamma-night = R:G:B Gamma adjustment to apply at night
adjustment-method = name Select adjustment method. Options for the adjustment method can be given under the configuration file heading of the same name.
location-provider = name Select location provider. Options for the location provider can be given under the configuration file heading of the same name.
Options for location providers and adjustment methods can be found in the help output of the providers and methods.
Example for Copenhagen, Denmark:
$ redshift -l 55.7:12.6 -t 5700:3600 -g 0.8 -m randr -v
An example configuration file with the same effect as the above command line:
[redshift] temp-day=5700 temp-night=3600 gamma=0.8 adjustment-method=randr location-provider=manual
[manual] lat=55.7 lon=12.6
Executables (e.g. scripts) placed in folder ~/.config/redshift/hooks will be run when a certain event happens. The first parameter to the script indicates the event and further parameters may indicate more details about the event. The event period-changed is indicated when the period changes (night, daytime, transition). The second parameter is the old period and the third is the new period. The event is also signaled when Redshift starts up with the old period set to none. Any dotfiles in the folder are skipped.
A simple script to handle these events can be written like this:
#!/bin/sh case $1 in period-changed) exec notify-send "Redshift" "Period changed to $3" esac
redshift was written by Jon Lund Steffensen <jonlst@gmail.com>.
Both redshift and this manual page are released under the GNU General Public License, version 3.
Please report bugs to <https://github.com/jonls/redshift/issues>
redshift will not affect the color of your cursor when your graphics driver is configured to use hardware cursors. Some graphics drivers have an option to disable hardware cursors.
LDD(1)                      Linux Programmer's Manual                     LDD(1)
ldd - print shared object dependencies
ldd [option]... file...
ldd prints the shared objects (shared libraries) required by each program or shared object specified on the command line.  An example of its use and output is the following:
$ ldd /bin/ls linux-vdso.so.1 (0x00007ffcc3563000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f87e5459000) libcap.so.2 => /lib64/libcap.so.2 (0x00007f87e5254000) libc.so.6 => /lib64/libc.so.6 (0x00007f87e4e92000) libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f87e4c22000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f87e4a1e000) /lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f87e4817000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f87e45fa000)
In the usual case, ldd invokes the standard dynamic linker (see ld.so(8)) with the LD_TRACE_LOADED_OBJECTS environment variable set to 1.  This causes the dynamic linker to inspect the program's dynamic dependencies, and find (according to the rules described in ld.so(8)) and load the objects that satisfy those dependencies.  For each dependency, ldd displays the location of the matching object and the (hexadecimal) address at which it is loaded.  (The linux-vdso and ld-linux shared dependencies are special; see vdso(7) and ld.so(8).)
Security Be aware that in some circumstances (e.g., where the program specifies an ELF interpreter other than ld-linux.so), some versions of ldd may attempt to obtain the dependency information by attempting to directly execute the program, which may lead to the execution of whatever code is defined in the program's ELF interpreter, and perhaps to execution of the program itself.  (In glibc versions before 2.27, the upstream ldd implementation did this for example, although most distributions provided a modified version that did not.)
Thus, you should never employ ldd on an untrusted executable, since this may result in the execution of arbitrary code.  A safer alternative when dealing with untrusted executables is:
$ objdump -p /path/to/program | grep NEEDED
Note, however, that this alternative shows only the direct dependencies of the executable, while ldd shows the entire dependency tree of the executable.
--version Print the version number of ldd.
-v, --verbose Print all information, including, for example, symbol versioning information.
-u, --unused Print unused direct dependencies.  (Since glibc 2.3.4.)
-d, --data-relocs Perform relocations and report any missing objects (ELF only).
-r, --function-relocs Perform relocations for both data objects and functions, and report any missing objects or functions (ELF only).
--help Usage information.
ldd does not work on a.out shared libraries.
ldd does not work with some extremely old a.out programs which were built before ldd support was added to the compiler releases.  If you use ldd on one of these programs, the program will attempt to run with argc = 0 and the results will be unpredictable.
pldd(1), sprof(1), ld.so(8), ldconfig(8)
ACK(1)                 User Contributed Perl Documentation                ACK(1)
ack - grep-like text finder
ack [options] PATTERN [FILE...] ack -f [options] [DIRECTORY...]
ack is designed as an alternative to grep for programmers.
ack searches the named input FILEs or DIRECTORYs for lines containing a match to the given PATTERN.  By default, ack prints the matching lines. If no FILE or DIRECTORY is given, the current directory will be searched.
PATTERN is a Perl regular expression.  Perl regular expressions are commonly found in other programming languages, but for the particulars of their behavior, please consult perlreref <https://perldoc.perl.org/perlreref.html>.  If you don't know how to use regular expression but are interested in learning, you may consult perlretut <https://perldoc.perl.org/perlretut.html>.  If you do not need or want ack to use regular expressions, please see the "-Q"/"--literal" option.
Ack can also list files that would be searched, without actually searching them, to let you take advantage of ack's file-type filtering capabilities.
If files are not specified for searching, either on the command line or piped in with the "-x" option, ack delves into subdirectories selecting files for searching.
ack is intelligent about the files it searches.  It knows about certain file types, based on both the extension on the file and, in some cases, the contents of the file.  These selections can be made with the --type option.
With no file selection, ack searches through regular files that are not explicitly excluded by --ignore-dir and --ignore-file options, either present in ackrc files or on the command line.
The default options for ack ignore certain files and directories.  These include:
•   Backup files: Files matching #*# or ending with ~.
•   Coredumps: Files matching core.\d+
•   Version control directories like .svn and .git.
Run ack with the "--dump" option to see what settings are set.
However, ack always searches the files given on the command line, no matter what type.  If you tell ack to search in a coredump, it will search in a coredump.
ack descends through the directory tree of the starting directories specified.  If no directories are specified, the current working directory is used.  However, it will ignore the shadow directories used by many version control systems, and the build directories used by the Perl MakeMaker system.  You may add or remove a directory from this list with the --[no]ignore-dir option. The option may be repeated to add/remove multiple directories from the ignore list.
For a complete list of directories that do not get searched, run "ack --dump".
The "--range-start" and "--range-end" options let you specify ranges of lines to search within each file.
Say you had the following file, called testfile:
# This function calls print on "foo". sub foo { print 'foo'; } my $print = 1; sub bar { print 'bar'; } my $task = 'print';
Calling "ack print" will give us five matches:
$ ack print testfile # This function calls print on "foo". print 'foo'; my $print = 1; print 'bar'; my $task = 'print';
What if we only want to search for "print" within the subroutines?  We can specify ranges of lines that we want ack to search.  The range starts with any line that matches the pattern "^sub \w+", and stops with any line that matches "^}".
$ ack --range-start='^sub \w+' --range-end='^}' print testfile print 'foo'; print 'bar';
Note that ack searched two ranges of lines.  The listing below shows which lines were in a range and which were out of the range.
Out # This function calls print on "foo". In  sub foo { In      print 'foo'; In  } Out my $print = 1; In  sub bar { In      print 'bar'; In  } Out my $task = 'print';
You don't have to specify both "--range-start" and "--range-end".  IF "--range-start" is omitted, then the range runs from the first line in the file unitl the first line that matches "--range-end".  Similarly, if "--range-end" is omitted, the range runs from the first line matching "--range-start" to the end of the file.
For example, if you wanted to search all HTML files up until the first instance of the "<body>", you could do
ack foo --range-end='<body>'
Or to search after Perl's `__DATA__` or `__END__` markers, you would do
ack pattern --range-end='^__(END|DATA)__'
It's possible for a range to start and stop on the same line.  For example
--range-start='<title>' --range-end='</title>'
would match this line as both the start and end of the range, making a one-line range.
<title>Page title</title>
Note that the patterns in "--range-start" and "--range-end" are not affected by options like "-i", "-w" and "-Q" that modify the behavior of the main pattern being matched.
Again, ranges only affect where matches are looked for.  Everything else in ack works the same way.  Using "-c" option with a range will give a count of all the matches that appear within those ranges.  The "-l" shows those files that have a match within a range, and the "-L" option shows files that do not have a match within a range.
The "-v" option for negating a match works inside the range, too.  To see lines that don't match "google" within the "<head>" section of your HTML files, you could do:
ack google -v --html --range-start='<head' --range-end='</head>'
Specifying a range to search does not affect how matches are displayed. The context for a match will still be the same, and
Using the context options work the same way, and will show context lines for matches even if the context lines fall outside the range.  Similarly, "--passthru" will show all lines in the file, but only show matches for lines within the range.
--ackrc Specifies an ackrc file to load after all others; see "ACKRC LOCATION SEMANTICS".
-A NUM, --after-context=NUM Print NUM lines of trailing context after matching lines.
-B NUM, --before-context=NUM Print NUM lines of leading context before matching lines.
--[no]break Print a break between results from different files. On by default when used interactively.
-C [NUM], --context[=NUM] Print NUM lines (default 2) of context around matching lines.  You can specify zero lines of context to override another context specified in an ackrc.
-c, --count Suppress normal output; instead print a count of matching lines for each input file.  If -l is in effect, it will only show the number of lines for each file that has lines matching.  Without -l, some line counts may be zeroes.
If combined with -h (--no-filename) ack outputs only one total count.
--[no]color, --[no]colour --color highlights the matching text.  --nocolor suppresses the color.  This is on by default unless the output is redirected.
On Windows, this option is off by default unless the Win32::Console::ANSI module is installed or the "ACK_PAGER_COLOR" environment variable is used.
--color-filename=color Sets the color to be used for filenames.
--color-match=color Sets the color to be used for matches.
--color-colno=color Sets the color to be used for column numbers.
--color-lineno=color Sets the color to be used for line numbers.
--[no]column Show the column number of the first match.  This is helpful for editors that can place your cursor at a given position.
--create-ackrc Dumps the default ack options to standard output.  This is useful for when you want to customize the defaults.
--dump Writes the list of options loaded and where they came from to standard output.  Handy for debugging.
--[no]env --noenv disables all environment processing. No .ackrc is read and all environment variables are ignored. By default, ack considers .ackrc and settings in the environment.
--flush --flush flushes output immediately.  This is off by default unless ack is running interactively (when output goes to a pipe or file).
-f  Only print the files that would be searched, without actually doing any searching.  PATTERN must not be specified, or it will be taken as a path to search.
--files-from=FILE The list of files to be searched is specified in FILE.  The list of files are separated by newlines.  If FILE is "-", the list is loaded from standard input.
Note that the list of files is not filtered in any way.  If you add "--type=html" in addition to "--files-from", the "--type" will be ignored.
--[no]filter Forces ack to act as if it were receiving input via a pipe.
--[no]follow Follow or don't follow symlinks, other than whatever starting files or directories were specified on the command line.
This is off by default.
-g PATTERN Print searchable files where the relative path + filename matches PATTERN.
ack -g foo
is exactly the same as
ack -f | ack foo
This means that just as ack will not search, for example, .jpg files, "-g" will not list .jpg files either.  ack is not intended to be a general-purpose file finder.
Note also that if you have "-i" in your .ackrc that the filenames to be matched will be case-insensitive as well.
This option can be combined with --color to make it easier to spot the match.
--[no]group --group groups matches by file name.  This is the default when used interactively.
--nogroup prints one result per line, like grep.  This is the default when output is redirected.
-H, --with-filename Print the filename for each match. This is the default unless searching a single explicitly specified file.
-h, --no-filename Suppress the prefixing of filenames on output when multiple files are searched.
--[no]heading Print a filename heading above each file's results.  This is the default when used interactively.
--help Print a short help statement.
--help-types Print all known types.
--help-colors Print a chart of various color combinations.
--help-rgb-colors Like --help-colors but with more precise RGB colors.
-i, --ignore-case Ignore case distinctions in PATTERN.  Overrides --smart-case and -I.
-I, --no-ignore-case Turns on case distinctions in PATTERN.  Overrides --smart-case and -i.
--ignore-ack-defaults Tells ack to completely ignore the default definitions provided with ack.  This is useful in combination with --create-ackrc if you really want to customize ack.
--[no]ignore-dir=DIRNAME, --[no]ignore-directory=DIRNAME Ignore directory (as CVS, .svn, etc are ignored). May be used multiple times to ignore multiple directories. For example, mason users may wish to include --ignore-dir=data. The --noignore-dir option allows users to search directories which would normally be ignored (perhaps to research the contents of .svn/props directories).
The DIRNAME must always be a simple directory name. Nested directories like foo/bar are NOT supported. You would need to specify --ignore-dir=foo and then no files from any foo directory are taken into account by ack unless given explicitly on the command line.
--ignore-file=FILTER:ARGS Ignore files matching FILTER:ARGS.  The filters are specified identically to file type filters as seen in "Defining your own types".
-k, --known-types Limit selected files to those with types that ack knows about.
-l, --files-with-matches Only print the filenames of matching files, instead of the matching text.
-L, --files-without-matches Only print the filenames of files that do NOT match.
--match PATTERN Specify the PATTERN explicitly. This is helpful if you don't want to put the regex as your first argument, e.g. when executing multiple searches over the same set of files.
# search for foo and bar in given files ack file1 t/file* --match foo ack file1 t/file* --match bar
-m=NUM, --max-count=NUM Print only NUM matches out of each file.  If you want to stop ack after printing the first match of any kind, use the -1 options.
--man Print this manual page.
-n, --no-recurse No descending into subdirectories.
-o  Show only the part of each line matching PATTERN (turns off text highlighting).  This is exactly the same as "--output=$&".
--output=expr Output the evaluation of expr for each line (turns off text highlighting). If PATTERN matches more than once then a line is output for each non-overlapping match.
expr may contain the strings "\n", "\r" and "\t", which will be expanded to their corresponding characters line feed, carriage return and tab, respectively.
expr may also contain the following Perl special variables:
$1 through $9 The subpattern from the corresponding set of capturing parentheses.  If your pattern is "(.+) and (.+)", and the string is "this and that', then $1 is "this" and $2 is "that".
$_  The contents of the line in the file.
$.  The number of the line in the file.
$&, "$`" and "$'" $& is the the string matched by the pattern, "$`" is what precedes the match, and "$'" is what follows it.  If the pattern is "gra(ph|nd)" and the string is "lexicographic", then $& is "graph", "$`" is "lexico" and "$'" is "ic".
Use of these variables in your output will slow down the pattern matching.
$+  The match made by the last parentheses that matched in the pattern.  For example, if your pattern is "Version: (.+)|Revision: (.+)", then $+ will contain whichever set of parentheses matched.
$f  $f is available, in "--output" only, to insert the filename. This is a stand-in for the discovered $filename usage in old "ack2 --output", which is disallowed with "ack3" improved security.
The intended usage is to provide the grep or compile-error syntax needed for editor/IDE go-to-line integration, e.g. "--output=$f:$.:$_" or "--output=$f\t$.\t$&"
--pager=program, --nopager --pager directs ack's output through program.  This can also be specified via the "ACK_PAGER" and "ACK_PAGER_COLOR" environment variables.
Using --pager does not suppress grouping and coloring like piping output on the command-line does.
--nopager cancels any setting in ~/.ackrc, "ACK_PAGER" or "ACK_PAGER_COLOR".  No output will be sent through a pager.
--passthru Prints all lines, whether or not they match the expression. Highlighting will still work, though, so it can be used to highlight matches while still seeing the entire file, as in:
# Watch a log file, and highlight a certain IP address. $ tail -f ~/access.log | ack --passthru 123.45.67.89
--print0 Only works in conjunction with -f, -g, -l or -c, options that only list filenames.  The filenames are output separated with a null byte instead of the usual newline. This is helpful when dealing with filenames that contain whitespace, e.g.
# Remove all files of type HTML. ack -f --html --print0 | xargs -0 rm -f
-p[N], --proximate[=N] Groups together match lines that are within N lines of each other. This is useful for visually picking out matches that appear close to other matches.
For example, if you got these results without the "--proximate" option,
15: First match 18: Second match 19: Third match 37: Fourth match
they would look like this with "--proximate=1"
15: First match
18: Second match 19: Third match
37: Fourth match
and this with "--proximate=3".
15: First match 18: Second match 19: Third match
If N is omitted, N is set to 1.
-P  Negates the effect of the --proximate option.  Shortcut for --proximate=0.
-Q, --literal Quote all metacharacters in PATTERN, it is treated as a literal.
-r, -R, --recurse Recurse into sub-directories. This is the default and just here for compatibility with grep. You can also use it for turning --no-recurse off.