neulab/tldr huggingface dataset:
The full documentation for m4 is maintained as a Texinfo manual.  If the info and m4 programs are properly installed at your site, the command
info m4
MEDIAINFO(1)                      User Commands                     MEDIAINFO(1)
MediaInfo - command line utility to display information about audio/video files
MediaInfo-Gui - graphical utility to display information about audio/video files
mediainfo [-Options...] FileName1 [Filename2...] mediainfo --Inform=FMT FileName mediainfo-gui [-Options...] FileName1 [Filename2...] mediainfo-gui --Inform=FMT FileName
MediaInfo supplies technical and tag information about a video or audio file
What information can I get from MediaInfo?
- General: title, author, director, album, track number, date, duration... - Video: codec, aspect, fps, bitrate... - Audio: codec, sample rate, channels, language, bitrate... - Text: language of subtitle - Chapters: number of chapters, list of chapters
What format does MediaInfo support?
- Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1, MPEG-2, MPEG-4, DVD (VOB)... - Video Codecs: DivX, XviD, MSMPEG4, ASP, H.264, AVC... - Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF... - Subtitles: SRT, SSA, ASS, SAMI...
- Read many video and audio file formats - View information in different formats (text, sheet, tree, HTML...) - Customise these viewing formats - Export information as text, CSV, HTML... - Graphical Interface, Command Line, or library versions available
MediaInfo supports the following case-insensitive options:
--Help, -h Display help and exit
--Help-Inform Display help for --Inform option
--Help-AnOption Display help for "AnOption"
--Version Display MediaInfo version and exit
--Full, -f Full information Display (all internal tags)
--Output=HTML Full information Display with HTML tags
--Output=XML Full information Display with XML tags
--Inform=FMT Template defined information display.
FMT is "[xxx;]Text", where xxx can be any one of General, Video, Audio, Text, Chapter, Image, or Menu. Text can be the template text, or a filename in the form of file:///path
See --Info-Parameters for available parameters in the text. Parameters must be surrounded by "%".
--Info-Parameters Display list of --Inform parameters
--Language=raw Display non-translated unique identifiers (internal text)
--LogFile=LogFile Save the output in LogFile
Display information about a video file $ mediainfo foo.mkv
Display aspect ratio $ mediainfo --Inform="Video;%DisplayAspectRatio%" foo.mkv $ mediainfo --Inform="Video;file://Video.txt" foo.mkv
Both forms are equivalent if Video.txt contains: %DisplayAspectRatio%
Display aspect ration and audio format $ mediainfo --Inform="file://Text.txt foo.mkv
If Text.txt contains:
- "Video;%DisplayAspectRatio%" Then the display aspect ratio is printed out.
- "Audio;%Format%" Then the audio format is printed out.
This manual page was written by Chow Loong Jin <hyperair@debian.org> for the Debian system (but may be used by others). Permissions is granted to copy, distribute, and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation.
On Debian systems, the full text of the GNU General Public License, Version 3 can be found in /usr/share/common-licenses/GPL-3.
FPING(8)                                                                FPING(8)
fping - send ICMP ECHO_REQUEST packets to network hosts
fping [ options ] [ systems... ]
fping is a program like ping which uses the Internet Control Message Protocol (ICMP) echo request to determine if a target host is responding. fping differs from ping in that you can specify any number of targets on the command line, or specify a file containing the lists of targets to ping.  Instead of sending to one target until it times out or replies, fping will send out a ping packet and move on to the next target in a round-robin fashion.  In the default mode, if a target replies, it is noted and removed from the list of targets to check; if a target does not respond within a certain time limit and/or retry limit it is designated as unreachable. fping also supports sending a specified number of pings to a target, or looping indefinitely (as in ping ). Unlike ping, fping is meant to be used in scripts, so its output is designed to be easy to parse.  Current statistics can be obtained without termination of process with signal SIGQUIT (^\ from the keyboard on most systems).
-4, --ipv4 Restrict name resolution and IPs to IPv4 addresses.
-6, --ipv6 Restrict name resolution and IPs to IPv6 addresses.
-a, --alive Show systems that are alive.
-A, --addr Display targets by address rather than DNS name. Combined with -d, the output will be both the ip and (if available) the hostname.
-b, --size=BYTES Number of bytes of ping data to send.  The minimum size (normally 12) allows room for the data that fping needs to do its work (sequence number, timestamp).  The reported received data size includes the IP header (normally 20 bytes) and ICMP header (8 bytes), so the minimum total size is 40 bytes.  Default is 56, as in ping. Maximum is the theoretical maximum IP datagram size (64K), though most systems limit this to a smaller, system-dependent number.
-B, --backoff=N Backoff factor. In the default mode, fping sends several requests to a target before giving up, waiting longer for a reply on each successive request.  This parameter is the value by which the wait time (-t) is multiplied on each successive request; it must be entered as a floating-point number (x.y). The default is 1.5.
-c, --count=N Number of request packets to send to each target.  In this mode, a line is displayed for each received response (this can suppressed with -q or -Q).  Also, statistics about responses for each target are displayed when all requests have been sent (or when interrupted).
-C, --vcount=N Similar to -c, but the per-target statistics are displayed in a format designed for automated response-time statistics gathering. For example:
$ fping -C 5 -q somehost somehost : 91.7 37.0 29.2 - 36.8
shows the response time in milliseconds for each of the five requests, with the "-" indicating that no response was received to the fourth request.
-d, --rdns Use DNS to lookup address of return ping packet. This allows you to give fping a list of IP addresses as input and print hostnames in the output. This is similar to option -n/--name, but will force a reverse-DNS lookup even if you give hostnames as target (NAME->IP->NAME).
-D, --timestamp Add Unix timestamps in front of output lines generated with in looping or counting modes (-l, -c, or -C).
-e, --elapsed Show elapsed (round-trip) time of packets.
-f, --file Read list of targets from a file.  This option can only be used by the root user. Regular users should pipe in the file via stdin:
$ fping < targets_file
-g, --generate addr/mask Generate a target list from a supplied IP netmask, or a starting and ending IP.  Specify the netmask or start/end in the targets portion of the command line. If a network with netmask is given, the network and broadcast addresses will be excluded. ex. To ping the network 192.168.1.0/24, the specified command line could look like either:
$ fping -g 192.168.1.0/24
$ fping -g 192.168.1.1 192.168.1.254
-h, --help Print usage message.
-H, --ttl=N Set the IP TTL field (time to live hops).
-i, --interval=MSEC The minimum amount of time (in milliseconds) between sending a ping packet to any target (default is 10, minimum is 1).
-I, --iface=IFACE Set the interface (requires SO_BINDTODEVICE support).
-l, --loop Loop sending packets to each target indefinitely. Can be interrupted with Ctrl-C; statistics about responses for each target are then displayed.
-m, --all Send pings to each of a target host's multiple IP addresses (use of option '-A' is recommended).
-M, --dontfrag Set the "Don't Fragment" bit in the IP header (used to determine/test the MTU).
-n, --name If targets are specified as IP addresses, do a reverse-DNS lookup on them to
-N, --netdata Format output for netdata (-l -Q are required). See: <http://my-netdata.io/>
-o, --outage Calculate "outage time" based on the number of lost pings and the interval used (useful for network convergence tests).
-O, --tos=N Set the typ of service flag (TOS). N can be either decimal or hexadecimal (0xh) format.
-p, --period=MSEC In looping or counting modes (-l, -c, or -C), this parameter sets the time in milliseconds that fping waits between successive packets to an individual target. Default is 1000 and minimum is 10.
-q, --quiet Quiet. Don't show per-probe results, but only the final summary. Also don't show ICMP error messages.
-Q, --squiet=SECS Like -q, but show summary results every n seconds.
-r, --retry=N Retry limit (default 3). This is the number of times an attempt at pinging a target will be made, not including the first try.
-R, --random Instead of using all-zeros as the packet data, generate random bytes.  Use to defeat, e.g., link data compression.
-s, --stats Print cumulative statistics upon exit.
-S, --src=addr Set source address.
-t, --timeout=MSEC Initial target timeout in milliseconds. In the default, non-loop mode, the default timeout is 500ms, and it represents the amount of time that fping waits for a response to its first request. Successive timeouts are multiplied by the backoff factor specified with -B.
In loop/count mode, the default timeout is automatically adjusted to match the "period" value (but not more than 2000ms). You can still adjust the timeout value with this option, if you wish to, but note that setting a value larger than "period" produces inconsistent results, because the timeout value can be respected only for the last ping.
Also note that any received replies that are larger than the timeout value, will be discarded.
-T n Ignored (for compatibility with fping 2.4).
-u, --unreach Show targets that are unreachable.
-v, --version Print fping version information.
-x, --reachable=N Given a list of hosts, this mode checks if number of reachable hosts is >= N and exits true in that case.
Generate 20 pings to two hosts in ca. 1 second (i.e. one ping every 50 ms to each host), and report every ping RTT at the end:
$ fping --quiet --interval=1 --vcount=20 --period=50 127.0.0.1 127.0.0.2
•   Roland J. Schemers III, Stanford University, concept and versions 1.x
•   RL "Bob" Morgan, Stanford University, versions 2.x
•   David Papp, versions 2.3x and up
•   David Schweikert, versions 3.0 and up
fping website: <http://www.fping.org>
Exit status is 0 if all the hosts are reachable, 1 if some hosts were unreachable, 2 if any IP addresses were not found, 3 for invalid command line arguments, and 4 for a system call failure.
If fping was configured with "--enable-safe-limits", the following values are not allowed for non-root users:
•   -i n, where n < 1 msec
•   -p n, where n < 10 msec
ping(8)
VRMS(1)                      General Commands Manual                     VRMS(1)
vrms - report of installed non-free software
vrms [OPTION] ...
This program began as an attempt to create a "virtual Richard M. Stallman" for Debian GNU/Linux.  Thus the choice of name.
This program analyzes the currently-installed package list on a Debian GNU/Linux system, and reports the non-free and contrib packages that are currently installed to stdout.  In some cases, such as regarding documentation licensed under the GNU Free Documentation License with invariant sections, the opinions of Richard M.  Stallman and the Debian project have diverged since this program was originally written.  In such cases, this program follows the definition of freedom embodied in the Debian Free Software Guidelines.
The packages in the non-free tree have restrictions on their use and/or distribution which cause them to fail to meet the terms of the Debian Free Software Guidelines included as part of the Debian Social Contract. However, some are sufficiently useful that their presence is often tolerated by Debian users despite their licensing.
The packages in the contrib tree are themselves free software but have some dependency on non-free software for their use that make them worthy of reporting so that their use can also be consciously considered.
Richard is the most vocal among us on the issue of software morality, and we agree with Richard that Debian users should have an easy way to know when they are running non-free software on their systems.  This program is our attempt to fill that need.
All options can be prefixed with -- (eg: --noexplain) to turn them off.
-q, --quiet Do nothing if there are no non-free packages installed.
-e, --explain Give a brief explanation of why each package is non-free, if available. This is the default.
-s, --sparse Just output a list of non-free packages.
--reason-dir=DIR Use DIR as the reason directory, instead of /usr/share/vrms/reasons/.
-h, --help Display help.
-d, --debug Generate debugging information.
/usr/share/vrms/reasons Default source of explanations for why packages are non-free.
This program was written by Bdale Garbee and Bill Geddes for the Debian GNU/Linux system, in response to an open discussion with Richard Stallman about the issues surrounding the availability/desirability of the 'non- free' package tree in Debian.
fzf(1)                  fzf - a command-line fuzzy finder                 fzf(1)
fzf - a command-line fuzzy finder
fzf [options]
fzf is a general-purpose command-line fuzzy finder.
Search mode -x, --extended Extended-search mode. Since 0.10.9, this is enabled by default. You can disable it with +x or --no-extended.
-e, --exact Enable exact-match
-i     Case-insensitive match (default: smart-case match)
+i     Case-sensitive match
--literal Do not normalize latin script letters for matching.
--algo=TYPE Fuzzy matching algorithm (default: v2)
v2     Optimal scoring algorithm (quality) v1     Faster but not guaranteed to find the optimal result (performance)
-n, --nth=N[,..] Comma-separated list of field index expressions for limiting search scope.  See FIELD INDEX EXPRESSION for the details.
--with-nth=N[,..] Transform the presentation of each line using field index expressions
-d, --delimiter=STR Field delimiter regex for --nth and --with-nth (default: AWK- style)
--disabled Do not perform search. With this option, fzf becomes a simple selector interface rather than a "fuzzy finder". You can later enable the search using enable-search or toggle-search action.
Search result +s, --no-sort Do not sort the result
--tac  Reverse the order of the input
e.g. history | fzf --tac --no-sort
--tiebreak=CRI[,..] Comma-separated list of sort criteria to apply when the scores are tied.
length  Prefers line with shorter length begin   Prefers line with matched substring closer to the beginning end     Prefers line with matched substring closer to the end index   Prefers line that appeared earlier in the input stream
- Each criterion should appear only once in the list - index is only allowed at the end of the list - index is implicitly appended to the list when not specified - Default is length (or equivalently length,index) - If end is found in the list, fzf will scan each line backwards
Interface -m, --multi Enable multi-select with tab/shift-tab. It optionally takes an integer argument which denotes the maximum number of items that can be selected.
+m, --no-multi Disable multi-select
--no-mouse Disable mouse
--bind=KEYBINDS Comma-separated list of custom key bindings. See KEY/EVENT BINDINGS for the details.
--cycle Enable cyclic scroll
--keep-right Keep the right end of the line visible when it's too long. Effective only when the query string is empty.
--scroll-off=LINES Number of screen lines to keep above or below when scrolling to the top or to the bottom (default: 0).
--no-hscroll Disable horizontal scroll
--hscroll-off=COLS Number of screen columns to keep to the right of the highlighted substring (default: 10). Setting it to a large value will cause the text to be positioned on the center of the screen.
--filepath-word Make word-wise movements and actions respect path separators. The following actions are affected:
backward-kill-word backward-word forward-word kill-word
--jump-labels=CHARS Label characters for jump and jump-accept
Layout --height=HEIGHT[%] Display fzf window below the cursor with the given height instead of using the full screen.
--min-height=HEIGHT Minimum height when --height is given in percent (default: 10). Ignored when --height is not specified.
--layout=LAYOUT Choose the layout (default: default)
default       Display from the bottom of the screen reverse       Display from the top of the screen reverse-list  Display from the top of the screen, prompt at the bottom
--reverse A synonym for --layout=reverse
--border[=STYLE] Draw border around the finder
rounded     Border with rounded corners (default) sharp       Border with sharp corners horizontal  Horizontal lines above and below the finder vertical    Vertical lines on each side of the finder top bottom left right none
--no-unicode Use ASCII characters instead of Unicode box drawing characters to draw border
--margin=MARGIN Comma-separated expression for margins around the finder.
TRBL     Same margin for top, right, bottom, and left TB,RL    Vertical, horizontal margin T,RL,B   Top, horizontal, bottom margin T,R,B,L  Top, right, bottom, left margin
Each part can be given in absolute number or in percentage relative to the terminal size with % suffix.
e.g. fzf --margin 10% fzf --margin 1,5%
--padding=PADDING Comma-separated expression for padding inside the border. Padding is distinguishable from margin only when --border option is used.
e.g. fzf --margin 5% --padding 5% --border --preview 'cat {}' \ --color bg:#222222,preview-bg:#333333
TRBL     Same padding for top, right, bottom, and left TB,RL    Vertical, horizontal padding T,RL,B   Top, horizontal, bottom padding T,R,B,L  Top, right, bottom, left padding
--info=STYLE Determines the display style of finder info.
default       Display on the next line to the prompt inline        Display on the same line hidden        Do not display finder info
--no-info A synonym for --info=hidden
--prompt=STR Input prompt (default: '> ')
--pointer=STR Pointer to the current line (default: '>')
--marker=STR Multi-select marker (default: '>')
--header=STR The given string will be printed as the sticky header. The lines are displayed in the given order from top to bottom regardless of --layout option, and are not affected by --with-nth. ANSI color codes are processed even when --ansi is not set.
--header-lines=N The first N lines of the input are treated as the sticky header. When --with-nth is set, the lines are transformed just like the other lines that follow.
--header-first Print header before the prompt line
Display --ansi Enable processing of ANSI color codes
--tabstop=SPACES Number of spaces for a tab character (default: 8)
--color=[BASE_SCHEME][,COLOR_NAME[:ANSI_COLOR][:ANSI_ATTRIBUTES]]... Color configuration. The name of the base color scheme is followed by custom color mappings.
BASE SCHEME: (default: dark on 256-color terminal, otherwise 16)
dark    Color scheme for dark 256-color terminal light   Color scheme for light 256-color terminal 16      Color scheme for 16-color terminal bw      No colors (equivalent to --no-color)
COLOR NAMES: fg         Text bg         Background preview-fg Preview window text preview-bg Preview window background hl         Highlighted substrings fg+        Text (current line) bg+        Background (current line) gutter     Gutter on the left (defaults to bg+) hl+        Highlighted substrings (current line) query      Query string disabled   Query string when search is disabled info       Info line (match counters) border     Border around the window (--border and --preview) prompt     Prompt pointer    Pointer to the current line marker     Multi-select marker spinner    Streaming input indicator header     Header
ANSI COLORS: -1         Default terminal foreground/background color (or the original color of the text) 0 ~ 15     16 base colors black red green yellow blue magenta cyan white bright-black (gray | grey) bright-red bright-green bright-yellow bright-blue bright-magenta bright-cyan bright-white 16 ~ 255   ANSI 256 colors #rrggbb    24-bit colors
ANSI ATTRIBUTES: (Only applies to foreground colors) regular    Clears previously set attributes; should precede the other ones bold underline reverse dim italic
EXAMPLES:
# Seoul256 theme with 8-bit colors # (https://github.com/junegunn/seoul256.vim) fzf --color='bg:237,bg+:236,info:143,border:240,spinner:108' \ --color='hl:65,fg:252,header:65,fg+:252' \ --color='pointer:161,marker:168,prompt:110,hl+:108'
# Seoul256 theme with 24-bit colors fzf --color='bg:#4B4B4B,bg+:#3F3F3F,info:#BDBB72,border:#6B6B6B,spinner:#98BC99' \ --color='hl:#719872,fg:#D9D9D9,header:#719872,fg+:#D9D9D9' \ --color='pointer:#E12672,marker:#E17899,prompt:#98BEDE,hl+:#98BC99'
--no-bold Do not use bold text
--black Use black background
History --history=HISTORY_FILE Load search history from the specified file and update the file on completion.  When enabled, CTRL-N and CTRL-P are automatically remapped to next-history and previous-history.
--history-size=N Maximum number of entries in the history file (default: 1000). The file is automatically truncated when the number of the lines exceeds the value.
Preview --preview=COMMAND Execute the given command for the current line and display the result on the preview window. {} in the command is the placeholder that is replaced to the single-quoted string of the current line. To transform the replacement string, specify field index expressions between the braces (See FIELD INDEX EXPRESSION for the details).
e.g. fzf --preview='head -$LINES {}' ls -l | fzf --preview="echo user={3} when={-4..-2}; cat {-1}" --header-lines=1
fzf exports $FZF_PREVIEW_LINES and $FZF_PREVIEW_COLUMNS so that they represent the exact size of the preview window. (It also overrides $LINES and $COLUMNS with the same values but they can be reset by the default shell, so prefer to refer to the ones with FZF_PREVIEW_ prefix.)
A placeholder expression starting with + flag will be replaced to the space-separated list of the selected lines (or the current line if no selection was made) individually quoted.
e.g. fzf --multi --preview='head -10 {+}' git log --oneline | fzf --multi --preview 'git show {+1}'
When using a field index expression, leading and trailing whitespace is stripped from the replacement string. To preserve the whitespace, use the s flag.
Also, {q} is replaced to the current query string, and {n} is replaced to zero-based ordinal index of the line. Use {+n} if you want all index numbers when multiple lines are selected.
A placeholder expression with f flag is replaced to the path of a temporary file that holds the evaluated list. This is useful when you multi-select a large number of items and the length of the evaluated string may exceed ARG_MAX.
e.g. # Press CTRL-A to select 100K items and see the sum of all the numbers. # This won't work properly without 'f' flag due to ARG_MAX limit. seq 100000 | fzf --multi --bind ctrl-a:select-all \ --preview "awk '{sum+=} END {print sum}' {+f}"
Note that you can escape a placeholder pattern by prepending a backslash.
Preview window will be updated even when there is no match for the current query if any of the placeholder expressions evaluates to a non-empty string.
Since 0.24.0, fzf can render partial preview content before the preview command completes. ANSI escape sequence for clearing the display (CSI 2 J) is supported, so you can use it to implement preview window that is constantly updating.
e.g. fzf --preview 'for i in $(seq 100000); do (( i % 200 == 0 )) && printf "\033[2J" echo "$i" sleep 0.01 done'
--preview-window=[POSITION][,SIZE[%]][,border- BORDER_OPT][,[no]wrap][,[no]follow][,[no]cycle][,[no]hidden][,+SCROLL[OFFSETS][/DENOM]][,~HEADER_LINES][,default]
POSITION: (default: right) up down left right
Determines the layout of the preview window.
* If the argument contains :hidden, the preview window will be hidden by default until toggle-preview action is triggered.
* If size is given as 0, preview window will not be visible, but fzf will still execute the command in the background.
* Long lines are truncated by default. Line wrap can be enabled with :wrap flag.
* Preview window will automatically scroll to the bottom when :follow flag is set, similarly to how tail -f works.
e.g. fzf --preview-window follow --preview 'for i in $(seq 100000); do echo "$i" sleep 0.01 (( i % 300 == 0 )) && printf "\033[2J" done'
* Cyclic scrolling is enabled with :cycle flag.
* To change the style of the border of the preview window, specify one of the options for --border with border- prefix.  e.g. border- rounded (border with rounded edges, default), border-sharp (border with sharp edges), border-left, border-none, etc.
* [:+SCROLL[OFFSETS][/DENOM]] determines the initial scroll offset of the preview window.
- SCROLL can be either a numeric integer or a single-field index expression that refers to a numeric integer.
- The optional OFFSETS part is for adjusting the base offset. It should be given as a series of signed integers (-INTEGER or +INTEGER).
- The final /DENOM part is for specifying a fraction of the preview window height.
* ~HEADER_LINES keeps the top N lines as the fixed header so that they are always visible.
* default resets all options previously set to the default.
e.g. # Non-default scroll window positions and sizes fzf --preview="head {}" --preview-window=up,30% fzf --preview="file {}" --preview-window=down,1
# Initial scroll offset is set to the line number of each line of # git grep output *minus* 5 lines (-5) git grep --line-number '' | fzf --delimiter : --preview 'nl {1}' --preview- window '+{2}-5'
# Preview with bat, matching line in the middle of the window below # the fixed header of the top 3 lines # #   ~3    Top 3 lines as the fixed header #   +{2}  Base scroll offset extracted from the second field #   +3    Extra offset to compensate for the 3-line header #   /2    Put in the middle of the preview area # git grep --line-number '' | fzf --delimiter : \ --preview 'bat --style=full --color=always --highlight-line {2} {1}' \ --preview-window '~3,+{2}+3/2'
# Display top 3 lines as the fixed header fzf --preview 'bat --style=full --color=always {}' --preview-window '~3'
Scripting -q, --query=STR Start the finder with the given query
-1, --select-1 If there is only one match for the initial query (--query), do not start interactive finder and automatically select the only match
-0, --exit-0 If there is no match for the initial query (--query), do not start interactive finder and exit immediately
-f, --filter=STR Filter mode. Do not start interactive finder. When used with --no- sort, fzf becomes a fuzzy-version of grep.
--print-query Print query as the first line
--expect=KEY[,..] Comma-separated list of keys that can be used to complete fzf in addition to the default enter key. When this option is set, fzf will print the name of the key pressed as the first line of its output (or as the second line if --print-query is also used). The line will be empty if fzf is completed with the default enter key. If --expect option is specified multiple times, fzf will expect the union of the keys. --no-expect will clear the list.
e.g. fzf --expect=ctrl-v,ctrl-t,alt-s --expect=f1,f2,~,@
--read0 Read input delimited by ASCII NUL characters instead of newline characters
--print0 Print output delimited by ASCII NUL characters instead of newline characters
--no-clear Do not clear finder interface on exit. If fzf was started in full screen mode, it will not switch back to the original screen, so you'll have to manually run tput rmcup to return. This option can be used to avoid flickering of the screen when your application needs to start fzf multiple times in order.
--sync Synchronous search for multi-staged filtering. If specified, fzf will launch ncurses finder only after the input stream is complete.
e.g. fzf --multi | fzf --sync
--version Display version information and exit
Note that most options have the opposite versions with --no- prefix.
FZF_DEFAULT_COMMAND Default command to use when input is tty. On *nix systems, fzf runs the command with $SHELL -c if SHELL is set, otherwise with sh -c, so in this case make sure that the command is POSIX-compliant.
FZF_DEFAULT_OPTS Default options. e.g. export FZF_DEFAULT_OPTS="--extended --cycle"
0      Normal exit 1      No match 2      Error 130    Interrupted with CTRL-C or ESC
A field index expression can be a non-zero integer or a range expression ([BEGIN]..[END]). --nth and --with-nth take a comma-separated list of field index expressions.
Examples 1      The 1st field 2      The 2nd field -1     The last field -2     The 2nd to last field 3..5   From the 3rd field to the 5th field 2..    From the 2nd field to the last field ..-3   From the 1st field to the 3rd to the last field ..     All the fields
Unless specified otherwise, fzf will start in "extended-search mode". In this mode, you can specify multiple patterns delimited by spaces, such as: 'wild ^music .mp3$ sbtrkt !rmx
You can prepend a backslash to a space (\ ) to match a literal space character.
Exact-match (quoted) A term that is prefixed by a single-quote character (') is interpreted as an "exact-match" (or "non-fuzzy") term. fzf will search for the exact occurrences of the string.
Anchored-match A term can be prefixed by ^, or suffixed by $ to become an anchored-match term. Then fzf will search for the lines that start with or end with the given string. An anchored-match term is also an exact-match term.
Negation If a term is prefixed by !, fzf will exclude the lines that satisfy the term from the result. In this case, fzf performs exact match by default.
Exact-match by default If you don't prefer fuzzy matching and do not wish to "quote" (prefixing with ') every word, start fzf with -e or --exact option. Note that when --exact is set, '-prefix "unquotes" the term.
OR operator A single bar character term acts as an OR operator. For example, the following query matches entries that start with core and end with either go, rb, or py.
e.g. ^core go$ | rb$ | py$
KEY/EVENT BINDINGS --bind option allows you to bind a key or an event to one or more actions. You can use it to customize key bindings or implement dynamic behaviors.
--bind takes a comma-separated list of binding expressions. Each binding expression is KEY:ACTION or EVENT:ACTION.
e.g. fzf --bind=ctrl-j:accept,ctrl-k:kill-line
AVAILABLE KEYS: (SYNONYMS) ctrl-[a-z] ctrl-space ctrl-\ ctrl-] ctrl-^      (ctrl-6) ctrl-/      (ctrl-_) ctrl-alt-[a-z] alt-[*]     (Any case-sensitive single character is allowed) f[1-12] enter       (return ctrl-m) space bspace      (bs) alt-up alt-down alt-left alt-right alt-enter alt-space alt-bspace  (alt-bs) tab btab        (shift-tab) esc del up down left right home end insert pgup        (page-up) pgdn        (page-down) shift-up shift-down shift-left shift-right alt-shift-up alt-shift-down alt-shift-left alt-shift-right left-click right-click double-click or any single character
AVAILABLE EVENTS: change Triggered whenever the query string is changed
e.g. # Move cursor to the first entry whenever the query is changed fzf --bind change:first
backward-eof Triggered when the query string is already empty and you try to delete it backward.
e.g. fzf --bind backward-eof:abort
AVAILABLE ACTIONS: A key or an event can be bound to one or more of the following actions.
ACTION:                   DEFAULT BINDINGS (NOTES): abort                     ctrl-c  ctrl-g  ctrl-q  esc accept                    enter   double-click accept-non-empty          (same as accept except that it prevents fzf from exiting without selection) backward-char             ctrl-b  left backward-delete-char      ctrl-h  bspace backward-delete-char/eof  (same as backward-delete-char except aborts fzf if query is empty) backward-kill-word        alt-bs backward-word             alt-b   shift-left beginning-of-line         ctrl-a  home cancel                    (clear query string if not empty, abort fzf otherwise) change-prompt(...)        (change prompt to the given string) clear-screen              ctrl-l clear-selection           (clear multi-selection) close                     (close preview window if open, abort fzf otherwise) clear-query               (clear query string) delete-char               del delete-char/eof           ctrl-d (same as delete-char except aborts fzf if query is empty) deselect deselect-all              (deselect all matches) disable-search            (disable search functionality) down                      ctrl-j  ctrl-n  down enable-search             (enable search functionality) end-of-line               ctrl-e  end execute(...)              (see below for the details) execute-silent(...)       (see below for the details) first                     (move to the first match) forward-char              ctrl-f  right forward-word              alt-f   shift-right ignore jump                      (EasyMotion-like 2-keystroke movement) jump-accept               (jump and accept) kill-line kill-word                 alt-d last                      (move to the last match) next-history              (ctrl-n on --history) page-down                 pgdn page-up                   pgup half-page-down half-page-up preview(...)              (see below for the details) preview-down              shift-down preview-up                shift-up preview-page-down preview-page-up preview-half-page-down preview-half-page-up preview-bottom preview-top previous-history          (ctrl-p on --history) print-query               (print query and exit) put                       (put the character to the prompt) refresh-preview reload(...)               (see below for the details) replace-query             (replace query string with the current selection) select select-all                (select all matches) toggle                    (right-click) toggle-all                (toggle all matches) toggle+down               ctrl-i  (tab) toggle-in                 (--layout=reverse* ? toggle+up : toggle+down) toggle-out                (--layout=reverse* ? toggle+down : toggle+up) toggle-preview toggle-preview-wrap toggle-search             (toggle search functionality) toggle-sort toggle+up                 btab    (shift-tab) unbind(...)               (unbind bindings) unix-line-discard         ctrl-u unix-word-rubout          ctrl-w up                        ctrl-k  ctrl-p  up yank                      ctrl-y
ACTION COMPOSITION Multiple actions can be chained using + separator.
e.g. fzf --multi --bind 'ctrl-a:select-all+accept' fzf --multi --bind 'ctrl-a:select-all' --bind 'ctrl-a:+accept'
ACTION ARGUMENT An action denoted with (...) suffix takes an argument.
e.g. fzf --bind 'ctrl-a:change-prompt(NewPrompt> )' fzf --bind 'ctrl-v:preview(cat {})' --preview-window hidden
If the argument contains parentheses, fzf may fail to parse the expression. In that case, you can use any of the following alternative notations to avoid parse errors.
action-name[...] action-name~...~ action-name!...! action-name@...@ action-name#...# action-name$...$ action-name%...% action-name^...^ action-name&...& action-name*...* action-name;...; action-name/.../ action-name|...| action-name:... The last one is the special form that frees you from parse errors as it does not expect the closing character. The catch is that it should be the last one in the comma-separated list of key-action pairs.
COMMAND EXECUTION With execute(...) action, you can execute arbitrary commands without leaving fzf. For example, you can turn fzf into a simple file browser by binding enter key to less command like follows.
fzf --bind "enter:execute(less {})"
You can use the same placeholder expressions as in --preview.
fzf switches to the alternate screen when executing a command. However, if the command is expected to complete quickly, and you are not interested in its output, you might want to use execute-silent instead, which silently executes the command without the switching. Note that fzf will not be responsive until the command is complete. For asynchronous execution, start your command as a background process (i.e. appending &).
On *nix systems, fzf runs the command with $SHELL -c if SHELL is set, otherwise with sh -c, so in this case make sure that the command is POSIX-compliant.
RELOAD INPUT reload(...) action is used to dynamically update the input list without restarting fzf. It takes the same command template with placeholder expressions as execute(...).
See https://github.com/junegunn/fzf/issues/1750 for more info.
e.g. # Update the list of processes by pressing CTRL-R ps -ef | fzf --bind 'ctrl-r:reload(ps -ef)' --header 'Press CTRL-R to reload' \ --header-lines=1 --layout=reverse
# Integration with ripgrep RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case " INITIAL_QUERY="foobar" FZF_DEFAULT_COMMAND="$RG_PREFIX '$INITIAL_QUERY'" \ fzf --bind "change:reload:$RG_PREFIX {q} || true" \ --ansi --disabled --query "$INITIAL_QUERY"
PREVIEW BINDING With preview(...) action, you can specify multiple different preview commands in addition to the default preview command given by --preview option.
# Default preview command with an extra preview binding fzf --preview 'file {}' --bind '?:preview:cat {}'
# A preview binding with no default preview command # (Preview window is initially empty) fzf --bind '?:preview:cat {}'
# Preview window hidden by default, it appears when you first hit '?' fzf --bind '?:preview:cat {}' --preview-window hidden
Junegunn Choi (junegunn.c@gmail.com)
Project homepage: https://github.com/junegunn/fzf
Extra Vim plugin: https://github.com/junegunn/fzf.vim
MYTOP(1)               User Contributed Perl Documentation              MYTOP(1)
mytop - display MySQL server performance info like `top'
mytop [options]
The latest version of mytop is available from http://jeremy.zawodny.com/mysql/mytop/ it might also be on CPAN as well.
In order for mytop to function properly, you must have the following:
* Perl 5.005 or newer * Getopt::Long * DBI and DBD::mysql * Term::ReadKey from CPAN
Most systems are likely to have all of those installed--except for Term::ReadKey. You will need to pick that up from the CPAN. You can pick up Term::ReadKey here:
http://search.cpan.org/search?dist=TermReadKey
And you obviously need access to a MySQL server (version 3.22.x or 3.23.x) with the necessary security to run the SHOW PROCESSLIST and SHOW GLOBAL STATUS commands.
If you are a Windows user, using ActiveState's Perl, you can use PPM (the Perl Package Manager) to install the MySQL and Term::ReadKey modules.
Optional Color Support In additon, if you want a color mytop (recommended), install Term::ANSIColor from the CPAN:
http://search.cpan.org/search?dist=ANSIColor
Once you do, mytop will automatically use it. However, color is not yet working on Windows. Patches welcome. :-)
Optional Hi-Res Timing If you want mytop to provide more accurate real-time queries-per-second statistics, install the Time::HiRes module from CPAN.  mytop will automatically notice that you have it and use it rather than the standard timing mechanism.
Platforms mytop is known to work on:
* Linux (2.2.x, 2.4.x) * FreeBSD (2.2, 3.x, 4.x) * Mac OS X * BSDI 4.x * Solaris 2.x * Windows NT 4.x (ActivePerl)
If you find that it works on another platform, please let me know. Given that it is all Perl code, I expect it to be rather portable to Unix and Unix-like systems. Heck, it might even work on Win32 systems.
Help is always welcome in improving this software. Feel free to contact the author (see "AUTHOR" below) with bug reports, fixes, suggestions, and comments. Additionally "BUGS" will provide a list of things this software is not able to do yet.
Having said that, here are the details on how it works and what you can do with it.
The Basics mytop was inspired by the system monitoring tool top. I routinely use top on Linux, FreeBSD, and Solaris. You are likely to notice features from each of them here.
mytop will connect to a MySQL server and periodically run the SHOW PROCESSLIST and SHOW GLOBAL STATUS commands and attempt to summarize the information from them in a useful format.
The Display The mytop display screen is really broken into two parts. The top 4 lines (header) contain summary information about your MySQL server. For example, you might see something like:
MySQL on localhost (4.0.13-log)                        up 1+11:13:00 [23:29:11] Queries: 19.3M  qps:  160 Slow:     1.0         Se/In/Up/De(%): 00/80/03/17 qps now:  219 Slow qps: 0.0  Threads:    1 (   1/  16) 00/74/00/25 Key Efficiency: 99.3%  Bps in/out: 30.5k/162.8   Now in/out: 32.7k/ 3.3k
The first line identifies the hostname of the server (localhost) and the version of MySQL it is running. The right had side shows the uptime of the MySQL server process in days+hours:minutes:seconds format (much like FreeBSD's top) as well as the current time.
The second line displays the total number of queries the server has processed, the average number of queries per second, the number of slow queries, and the percentage of Select, Insert, Update, and Delete queries.
The third real-time values. First is the number of queries per second, then the number of slow queries, followed by query precentages (like on the previous line).
And the fourth line displays key buffer efficiency (how often keys are read from the buffer rather than disk) and the number of bytes that MySQL has sent and received, both over all and in the last cycle.
You can toggle the header by hitting h when running mytop.
The second part of the display lists as many threads as can fit on screen. By default they are sorted according to their idle time (least idle first). The display looks like:
Id     User       Host      Dbase   Time      Cmd Query or State --     ----       ----      -----   ----      --- -------------- 61  jzawodn  localhost      music      0    Query show processlist
As you can see, the thread id, username, host from which the user is connecting, database to which the user is connected, number of seconds of idle time, the command the thread is executing, and the query info are all displayed.
Often times the query info is what you are really interested in, so it is good to run mytop in an xterm that is wider than the normal 80 columns if possible.
The thread display color-codes the threads if you have installed color support. The current color scheme only works well in a window with a dark (like black) background. The colors are selected according to the "Command" column of the display:
Query   -  Yellow Sleep   -  White Connect -  Green
Those are purely arbitrary and will be customizable in a future release. If they annoy you just start mytop with the -nocolor flag or adjust your config file appropriately.
Arguments mytop handles long and short command-line arguments. Not all options have both long and short formats, however. The long arguments can start with one or two dashes `-' or `--'. They are shown here with just one.
-u or -user username Username to use when logging in to the MySQL server. Default: ``root''.
-p or -pass or -password password Password to use when logging in to the MySQL server. Default: none.
-h or -host hostname[:port] Hostname of the MySQL server. The hostname may be followed by an option port number. Note that the port is specified separate from the host when using a config file. Default: ``localhost''.
-port or -P port If you're running MySQL on a non-standard port, use this to specify the port number. Default: 3306.
-s or -delay seconds How long between display refreshes. Default: 5
-d or -db or -database database Use if you'd like mytop to connect to a specific database by default. Default: ``test''.
-b or -batch or -batchmode In batch mode, mytop runs only once, does not clear the screen, and places no limit on the number of lines it will print. This is suitable for running periodically (perhaps from cron) to capture the information into a file for later viewing. You might use batch mode in a CGI script to occasionally display your MySQL server status on the web.
Default: unset.
-S or -socket /path/to/socket If you're running mytop on the same host as MySQL, you may wish to have it use the MySQL socket directly rather than a standard TCP/IP connection. If you do,just specify one.
Note that specifying a socket will make mytop ignore any host and/or port that you might have specified. If the socket does not exist (or the file specified is not a socket), this option will be ignored and mytop will use the hostname and port number instead.
Default: none.
-header or -noheader Sepcify if you want the header to display or not. You can toggle this with the h key while mytop is running.
Default: header.
-color or -nocolor Specify if you want a color display. This has no effect if you don't have color support available.
Default: If you have color support, mytop will try color unless you tell it not to.
-i or -idle or -noidle Specify if you want idle (sleeping) threads to appear in the list. If sleeping threads are omitted, the default sorting order is reversed so that the longest running queries appear at the top of the list.
Default: idle.
-prompt or -noprompt Specify if you want to be prompted to type in your database password. This provides a little bit more security since it not only prevents the password from viewable in a process list, but also doesn't require the password to be stored in plain text in your ~/.mytop config file.  You will only be prompted if a password has not been specified in your config file or through another command line option.
Default: noprompt.
-resolve If you have skip-resolve set on MySQL (to keep it from doing a reverse DNS lookup on each inbound connection), mytop can replace IP addresses with hostnames but toggling this option.
Default: noresolve
Command-line arguments will always take precedence over config file options. That happens because the config file is read BEFORE the command- line arguments are applied.
Config File Instead of always using bulky command-line parameters, you can also use a config file in your home directory ("~/.mytop"). If present, mytop will read it automatically. It is read before any of your command-line arguments are processed, so your command-line arguments will override directives in the config file.
Here is a sample config file "~/.mytop" which implements the defaults described above.
user=root pass= host=localhost db=test delay=5 port=3306 socket= batchmode=0 header=1 color=1 idle=1
Using a config file will help to ensure that your database password isn't visible to users on the command-line. Just make sure that the permissions on "~/.mytop" are such that others cannot read it (unless you want them to, of course).
You may have white space on either side of the "=" in lines of the config file.
Shortcut Keys The following keys perform various actions while mytop is running. Those which have not been implemented are listed as such. They are included to give the user idea of what is coming.
?   Display help.
c   Show "command counters" based on the Com_* values in SHOW GLOBAL STATUS.  This is a new feature.  Feedback welcome.
d   Show only threads connected to a particular database.
f   Given a thread id, display the entire query that thread was (and still may be) running.
F   Disable all filtering (host, user, and db).
h   Only show queries from a particular host.
H   Toggle the header display. You can also specify either "header=0" or "header=1" in your config file to set the default behavior.
i   Toggle the display of idle (sleeping) threads. If sleeping threads are filtered, the default sorting order is reversed so that the longest running queries appear at the top of the list.
I   Switch to InnoDB Status mode.  The output of "SHOW INNODB STATUS" will be displayed every cycle.  In a future version, this may actually summarize that data rather than producing raw output.
k   Kill a thread.
m   Toggle modes. Currently this switches from `top' mode to `qps' (Queries Per Second Mode). In this mode, mytop will write out one integer per second. The number written reflects the number of queries executed by the server in the previous one second interval.
More modes may be added in the future.
o   Reverse the default sort order.
p   Pause display.
q   Quit mytop
r   Reset the server's status counters via a FLUSH STATUS command.
s   Change the sleep time (number of seconds between display refreshes).
u   Show only threads owned by a giver user.
The s key has a command-line counterpart: -s.
The h key has two command-line counterparts: -header and -noheader.
This is more of a BUGS + WishList.