toybox : [ acpi arch ascii base32 base64 basename blkdiscard blkid blockdev bunzip2 bzcat cal cat chattr chgrp chmod chown chroot chrt chvt cksum clear cmp comm count cp cpio crc32 cut date dd deallocvt devmem df dirname dmesg dnsdomainname dos2unix du echo egrep eject env expand factor fallocate false fgrep file find flock fmt fold free freeramdisk fsfreeze fstype fsync ftpget ftpput getconf getopt gpiodetect gpiofind gpioget gpioinfo gpioset grep groups gunzip halt head help hexedit host hostname httpd hwclock i2cdetect i2cdump i2cget i2cset i2ctransfer iconv id ifconfig inotifyd insmod install ionice iorenice iotop kill killall killall5 link linux32 ln logger login logname losetup ls lsattr lsmod lspci lsusb makedevs mcookie md5sum memeater microcom mix mkdir mkfifo mknod mkpasswd mkswap mktemp modinfo mount mountpoint mv nbd-client nbd-server nc netcat netstat nice nl nohup nproc nsenter od oneit openvt partprobe paste patch pgrep pidof ping ping6 pivot_root pkill pmap poweroff printenv printf prlimit ps pwd pwdx pwgen readahead readelf readlink realpath reboot renice reset rev rfkill rm rmdir rmmod rtcwake sed seq setfattr setsid sha1sum sha224sum sha256sum sha384sum sha3sum sha512sum shred shuf sleep sntp sort split stat strings su swapoff swapon switch_root sync sysctl tac tail tar taskset tee test time timeout top touch true truncate ts tsort tty tunctl uclampset ulimit umount uname unicode uniq unix2dos unlink unshare uptime usleep uudecode uuencode uuidgen vconfig vmstat w watch watchdog wc wget which who whoami xargs xxd yes zcat
toybox
usage: toybox [--long | --help | --version | [COMMAND] [ARGUMENTS...]] With no arguments, "toybox" shows available COMMAND names. Add --long to include suggested install path for each command, see https://landley.net/toybox/faq.html#install for details. First argument is name of a COMMAND to run, followed by any ARGUMENTS to that command. Most toybox commands also understand: --help Show command help (only) --version Show toybox version (only) The filename "-" means stdin/stdout, and "--" stops argument parsing. Numerical arguments accept a single letter suffix for kilo, mega, giga, tera, peta, and exabytes, plus an additional "d" to indicate decimal 1000's instead of 1024. Durations can be decimal fractions and accept minute ("m"), hour ("h"), or day ("d") suffixes (so 0.1m = 6s).
:
See true
[
See test
acpi
usage: acpi [-abctV] Show status of power sources and thermal devices. -a Show power adapters -b Show batteries -c Show cooling device state -t Show temperatures -V Show everything
arch
usage: arch Print machine (hardware) name, same as uname -m.
ascii
usage: ascii Display ascii character set.
base32
usage: base32 [-di] [-w COLUMNS] [FILE...] Encode or decode in base32. -d Decode -i Ignore non-alphabetic characters -w Wrap output at COLUMNS (default 76 or 0 for no wrap)
base64
usage: base64 [-di] [-w COLUMNS] [FILE...] Encode or decode in base64. -d Decode -i Ignore non-alphabetic characters -w Wrap output at COLUMNS (default 76 or 0 for no wrap)
basename
usage: basename [-a] [-s SUFFIX] NAME... | NAME [SUFFIX] Return non-directory portion of a pathname removing suffix. -a All arguments are names -s SUFFIX Remove suffix (implies -a)
blkdiscard
usage: blkdiscard [-szf] [-o OFFSET] [-l LENGTH] DEVICE Discard device sectors (permanetly deleting data). Free space can improve flash performance and lifetime by wear leveling and collating data. (Some filesystem/driver combinations can do this automatically.) -o Start at OFFSET (--offset, default 0) -l LENGTH to discard (--length, default all) -s Overwrite discarded data (--secure) -z Zero-fill rather than discard (--zeroout) -f Disable check for mounted filesystem (--force) OFFSET and LENGTH must be aligned to the device sector size. Default without -o/-l discards the entire device. (You have been warned.)
blkid
usage: blkid [-o TYPE] [-s TAG] [-UL] DEV... Print type, label and UUID of filesystem on a block device or image. -U Show UUID only (or device with that UUID) -L Show LABEL only (or device with that LABEL) -o TYPE Output format (full, value, export) -s TAG Only show matching tags (default all)
blockdev
usage: blockdev --OPTION... BLOCKDEV... Call ioctl(s) on each listed block device --setro Set read only --setrw Set read write --getro Get read only --getss Get sector size --getbsz Get block size --setbsz BYTES Set block size --getsz Get device size in 512-byte sectors --getsize Get device size in sectors (deprecated) --getsize64 Get device size in bytes --getra Get readahead in 512-byte sectors --setra SECTORS Set readahead --flushbufs Flush buffers --rereadpt Reread partition table
bunzip2
usage: bunzip2 [-cftkv] [FILE...] Decompress listed files (file.bz becomes file) deleting archive file(s). Read from stdin if no files listed. -c Force output to stdout -f Force decompression (if FILE doesn't end in .bz, replace original) -k Keep input files (-c and -t imply this) -t Test integrity -v Verbose
bzcat
usage: bzcat [FILE...] Decompress listed files to stdout. Use stdin if no files listed.
cal
usage: cal [-h] [[[DAY] MONTH] YEAR] Print a calendar. With one argument, prints all months of the specified year. With two arguments, prints calendar for month and year. With three arguments, highlights day within month and year. -h Don't highlight today
cat
usage: cat [-etuv] [FILE...] Copy (concatenate) files to stdout. If no files listed, copy from stdin. Filename "-" is a synonym for stdin. -e Mark each newline with $ -t Show tabs as ^I -u Copy one byte at a time (slow) -v Display nonprinting characters as escape sequences with M-x for high ascii characters (>127), and ^x for other nonprinting chars
chattr
usage: chattr [-R] [-+=AacDdijsStTu] [-p PROJID] [-v VERSION] [FILE...] Change file attributes on a Linux file system. -R Recurse -p Set the file's project number -v Set the file's version/generation number Operators: '-' Remove attributes '+' Add attributes '=' Set attributes Attributes: A No atime a Append only C No COW c Compression D Synchronous dir updates d No dump E Encrypted e Extents F Case-insensitive (casefold) I Indexed directory i Immutable j Journal data N Inline data in inode P Project hierarchy S Synchronous file updates s Secure delete T Top of dir hierarchy t No tail-merging u Allow undelete V Verity
chgrp
usage: chgrp/chown [-RHLP] [-fvh] GROUP FILE... Change group of one or more files. -f Suppress most error messages -h Change symlinks instead of what they point to -R Recurse into subdirectories (implies -h) -H With -R change target of symlink, follow command line symlinks -L With -R change target of symlink, follow all symlinks -P With -R change symlink, do not follow symlinks (default) -v Verbose
chmod
usage: chmod [-R] MODE FILE... Change mode of listed file[s] (recursively with -R). MODE can be (comma-separated) stanzas: [ugoa][+-=][rwxstXugo] Stanzas are applied in order: For each category (u = user, g = group, o = other, a = all three, if none specified default is a), set (+), clear (-), or copy (=), r = read, w = write, x = execute. s = u+s = suid, g+s = sgid, +t = sticky. (o+s ignored so a+s doesn't set +t) suid/sgid: execute as the user/group who owns the file. sticky: can't delete files you don't own out of this directory X = x for directories or if any category already has x set. Or MODE can be an octal value up to 7777 ug uuugggooo top + bit 1 = o+x, bit 1<<8 = u+w, 1<<11 = g+1 sstrwxrwxrwx bottom Examples: chmod u+w file - allow owner of "file" to write to it. chmod 744 file - user can read/write/execute, everyone else read only
chown
See chgrp
chroot
usage: chroot NEWROOT [COMMAND [ARG...]] Run command within a new root directory. If no command, run /bin/sh.
chrt
usage: chrt [-Rmofrbi] {-p PID [PRIORITY] | [PRIORITY COMMAND...]} Get/set a process' real-time scheduling policy and priority. -p Set/query given pid (instead of running COMMAND) -R Set SCHED_RESET_ON_FORK -m Show min/max priorities available Set policy (default -r): -o SCHED_OTHER -f SCHED_FIFO -r SCHED_RR -b SCHED_BATCH -i SCHED_IDLE
chvt
usage: chvt NUM Change to virtual terminal number NUM. (This only works in text mode.) Virtual terminals are the Linux VGA text mode (or framebuffer) displays, switched between via alt-F1, alt-F2, etc. Use ctrl-alt-F1 to switch from X11 to a virtual terminal, and alt-F6 (or F7, or F8) to get back.
cksum
usage: cksum [-HIPLN] [FILE...] For each file, output crc32 checksum value, length and name of file. If no files listed, copy from stdin. Filename "-" is a synonym for stdin. -H Hexadecimal checksum (defaults to decimal) -I Skip post-inversion -P Pre-inversion -L Little endian (defaults to big endian) -N Do not include length in CRC calculation (or output)
clear
Clear the screen.
cmp
usage: cmp [-ls] [-n LEN] FILE1 [FILE2 [SKIP1 [SKIP2]]] Compare the contents of files (vs stdin if only one given), optionally skipping bytes at start. -l Show all differing bytes -n LEN Compare at most LEN bytes -s Silent
comm
usage: comm [-123] FILE1 FILE2 Read FILE1 and FILE2, which should be ordered, and produce three text columns as output: lines only in FILE1; lines only in FILE2; and lines in both files. Filename "-" is a synonym for stdin. -1 Suppress the output column of lines unique to FILE1 -2 Suppress the output column of lines unique to FILE2 -3 Suppress the output column of lines duplicated in FILE1 and FILE2
count
usage: count [-l] -l Long output (total bytes, human readable, transfer rate, elapsed time) Copy stdin to stdout, displaying simple progress indicator to stderr.
cp
usage: cp [-aDdFfHiLlnPpRrsTuv] [--preserve=motcxa] [-t TARGET] SOURCE... [DEST] Copy files from SOURCE to DEST. If more than one SOURCE, DEST must be a directory. -a Same as -dpr -D Create leading dirs under DEST (--parents) -d Don't dereference symlinks -F Delete any existing DEST first (--remove-destination) -f Delete destination files we can't write to -H Follow symlinks listed on command line -i Interactive, prompt before overwriting existing DEST -L Follow all symlinks -l Hard link instead of copy -n No clobber (don't overwrite DEST) -P Do not follow symlinks -p Preserve timestamps, ownership, and mode -R Recurse into subdirectories (DEST must be a directory) -r Synonym for -R -s Symlink instead of copy -T DEST always treated as file, max 2 arguments -t Copy to TARGET dir (no DEST) -u Update (keep newest mtime) -v Verbose Arguments to --preserve are the first letter(s) of: mode - permissions (ignore umask for rwx, copy suid and sticky bit) ownership - user and group timestamps - file creation, modification, and access times. context - security context xattr - extended attributes all - all of the above
cpio
usage: cpio -{o|t|i|p DEST} [-dLtuv] [--verbose] [-F FILE] [-R [USER][:GROUP] [--no-preserve-owner] Copy files into and out of a "newc" format cpio archive. -d Create directories if needed -F FILE Use archive FILE instead of stdin/stdout -i Extract from archive into file system (stdin=archive) -L Follow symlinks -o Create archive (stdin=list of files, stdout=archive) -p DEST Copy-pass mode, copy stdin file list to directory DEST -R USER Replace owner with USER[:GROUP] -t Test files (list only, stdin=archive, stdout=list of files) -u Unlink existing files when extracting -v Verbose --no-preserve-owner Don't set ownership during extract
crc32
usage: crc32 [file...] Output crc32 checksum for each file.
cut
usage: cut [-Ds] [-bcCfF LIST] [-dO DELIM] [FILE...] Print selected parts of lines from each FILE to standard output. Each selection LIST is comma separated, either numbers (counting from 1) or dash separated ranges (inclusive, with X- meaning to end of line and -X from start). By default selection ranges are sorted and collated, use -D to prevent that. -b Select bytes (with -n round start/end down to start of utf8 char) -c Select UTF-8 characters -C Select unicode columns -d Input delimiter (default is TAB for -f, run of whitespace for -F) -D Don't sort/collate selections or match -fF lines without delimiter -f Select fields (words) separated by single DELIM character -F Select fields separated by DELIM regex -O Output separator (default one space for -F, input delim for -f) -s Skip lines without delimiters
date
usage: date [-u] [-I RES] [-r FILE] [-d DATE] [+DISPLAY_FORMAT] [-D SET_FORMAT] [SET] Set/get the current date/time. With no SET shows the current date. -d Show DATE instead of current time (convert date format) -D +FORMAT for SET or -d (instead of MMDDhhmm[[CC]YY][.ss]) -I RES ISO 8601 with RESolution d=date/h=hours/m=minutes/s=seconds/n=ns -r Use modification time of FILE instead of current date -s DATE Set the system clock to DATE. -u Use UTC instead of current timezone Supported input formats: MMDDhhmm[[CC]YY][.ss] POSIX @UNIXTIME[.FRACTION] seconds since midnight 1970-01-01 YYYY-MM-DD [hh:mm[:ss]] ISO 8601 hh:mm[:ss] 24-hour time today All input formats can be followed by fractional seconds, and/or a UTC offset such as -0800. All input formats can be preceded by TZ="id" to set the input time zone separately from the output time zone. Otherwise $TZ sets both. +FORMAT specifies display format string using strftime(3) syntax: %% literal % %n newline %t tab %S seconds (00-60) %M minute (00-59) %m month (01-12) %H hour (0-23) %I hour (01-12) %p AM/PM %y short year (00-99) %Y year %C century %a short weekday name %A weekday name %u day of week (1-7, 1=mon) %b short month name %B month name %Z timezone name %j day of year (001-366) %d day of month (01-31) %e day of month ( 1-31) %N nanosec (output only) %U Week of year (0-53 start Sunday) %W Week of year (0-53 start Monday) %V Week of year (1-53 start Monday, week < 4 days not part of this year) %F "%Y-%m-%d" %R "%H:%M" %T "%H:%M:%S" %z timezone (-0800) %D "%m/%d/%y" %r "%I:%M:%S %p" %h "%b" %:z timezone (-08:00) %x locale date %X locale time %c locale date/time %s unix epoch time
dd
usage: dd [if|of=FILE] [ibs|obs|bs|count|seek|skip=N] [conv|status|iflag|oflag=FLAG[,FLAG...]] Copy/convert blocks of data from input to output, with the following keyword=value modifiers (and their default values): if=FILE Read FILE (stdin) of=FILE Write to FILE (stdout) bs=N Block size in bytes (512) count=N Stop after copying N blocks (all) ibs=N Input block size (bs=) obs=N Output block size (bs=) skip=N Skip N input blocks (0) seek=N Skip N output blocks (0) Each =N value accepts the normal unit suffixes (see toybox --help). These modifiers take a comma separated list of potential options: iflag=count_bytes,skip_bytes count=N or skip=N is in bytes not blocks oflag=seek_bytes,append seek=N is in bytes, append output to file status=noxfer,none don't show transfer rate, no summary info conv= notrunc Don't truncate output noerror Continue after read errors sync Zero pad short reads fsync Flush output to disk at end sparse Seek past zeroed output excl Fail if output file exists nocreat Fail if of=FILE missing
deallocvt
usage: deallocvt [NUM] Deallocate unused virtual terminals, either a specific /dev/ttyNUM, or all.
devmem
usage: devmem ADDR [WIDTH [DATA]] Read/write physical address. WIDTH is 1, 2, 4, or 8 bytes (default 4). Prefix ADDR with 0x for hexadecimal, output is in same base as address.
df
usage: df [-aHhikP] [-t TYPE] [FILE...] The "disk free" command shows total/used/available disk space for each filesystem listed on the command line, or all currently mounted filesystems. -a Show all (including /proc and friends) -H Human readable (k=1000) -h Human readable (K=1024) -i Show inodes instead of blocks -k Sets units back to 1024 bytes (the default without -P) -P The SUSv3 "Pedantic" option (512 byte blocks) -t TYPE Display only filesystems of this type Pedantic provides a slightly less useful output format dictated by POSIX, and sets the units to 512 bytes instead of the default 1024 bytes.
dirname
usage: dirname PATH... Show directory portion of path.
dmesg
usage: dmesg [-Cc] [-r|-t|-T] [-n LEVEL] [-s SIZE] [-w] Print or control the kernel ring buffer. -C Clear ring buffer without printing -c Clear ring buffer after printing -n Set kernel logging LEVEL (1-8) -r Raw output (with) -S Use syslog(2) rather than /dev/kmsg -s Show the last SIZE many bytes -T Human readable timestamps -t Don't print timestamps -w Keep waiting for more output (aka --follow)
dnsdomainname
usage: dnsdomainname Show domain this system belongs to (same as hostname -d).
dos2unix
usage: dos2unix [FILE...] Convert newline format from dos "\r\n" to unix "\n". If no files listed copy from stdin, "-" is a synonym for stdin.
du
usage: du [-d N] [-abcHKkLlmsx] [FILE...] Show disk usage, space consumed by files and directories. Size in: -b Apparent bytes (directory listing size, not space used) -h Human readable (e.g., 1K 243M 2G) -k 1024 byte blocks (default) -K 512 byte blocks (posix) -m Megabytes What to show: -a All files, not just directories -c Cumulative total -d N Only depth < N -H Follow symlinks on cmdline -L Follow all symlinks -l Disable hardlink filter -s Only total size of each argument -x Don't leave this filesystem
echo
usage: echo [-Een] [ARG...] Write each argument to stdout, one space between each, followed by a newline. -E Print escape sequences literally (default) -e Process the following escape sequences: \\ Backslash \0NNN Octal (1-3 digit) \xHH Hex (1-2 digit) \a Alert (beep/flash) \b Backspace \c Stop here (no \n) \f Form feed \n Newline \r Carriage return \t Horizontal tab \v Vertical tab -n No trailing newline
egrep
See grep
eject
usage: eject [-stT] [DEVICE] Eject DEVICE or default /dev/cdrom -s SCSI device -t Close tray -T Open/close tray (toggle)
env
usage: env [-0i] [-e FILE] [-u NAME] [NAME=VALUE...] [COMMAND...] Set the environment for command invocation, or list environment variables. -e Execute FILE instead of argv[0] in COMMAND list -i Clear existing environment -u NAME Remove NAME from the environment -0 Use null instead of newline in output
expand
usage: expand [-t TABLIST] [FILE...] Expand tabs to spaces according to tabstops. -t TABLIST Specify tab stops, either a single number instead of the default 8, or a comma separated list of increasing numbers representing tabstop positions (absolute, not increments) with each additional tab beyond that becoming one space.
factor
usage: factor [-hx] NUMBER... Factor integers. -h Human readable: show repeated factors as x^n -x Hexadecimal output
fallocate
usage: fallocate [-o OFFSET] -l SIZE FILE Tell the filesystem to allocate space for a range in a file. -l Number of bytes in range -o Start offset of range (default 0)
false
usage: false Return nonzero.
fgrep
See grep
file
usage: file [-bhLs] [FILE...] Examine the given files and describe their content types. -b Brief (no filename) -h Don't follow symlinks (default) -L Follow symlinks -s Show block/char device contents
find
usage: find [-HL] [DIR...] [] Search directories for matching files. Default: search ".", match all, -print matches. -H Follow command line symlinks -L Follow all symlinks Match filters: -name PATTERN filename with wildcards -iname ignore case -name -path PATTERN path name with wildcards -ipath ignore case -path -user UNAME belongs to user UNAME -nouser user ID not known -group GROUP belongs to group GROUP -nogroup group ID not known -perm [-/]MODE permissions (-=min /=any) -prune ignore dir contents -size N[c] 512 byte blocks (c=bytes) -xdev only this filesystem -links N hardlink count -empty empty files and dirs -atime N[u] accessed N units ago -true always true -ctime N[u] created N units ago -false always false -mtime N[u] modified N units ago -executable access(X_OK) perm+ACL -inum N inode number N -readable access(R_OK) perm+ACL -context PATTERN security context -depth contents before dir -samefile FILE hardlink to FILE -maxdepth N at most N dirs down -newer FILE newer mtime than FILE -mindepth N at least N dirs down -newerXY FILE X=acm time > FILE's Y=acm time (Y=t: FILE is literal time) -type [bcdflps] type is (block, char, dir, file, symlink, pipe, socket) Numbers N may be prefixed by - (less than) or + (greater than). Units for -[acm]time are d (days, default), h (hours), m (minutes), or s (seconds). Combine matches with: !, -a, -o, ( ) not, and, or, group expressions Actions: -print Print match with newline -print0 Print match with null -exec Run command with path -execdir Run command in file's dir -ok Ask before exec -okdir Ask before execdir -delete Remove matching file/dir -printf FORMAT Print using format string -quit Exit immediately Commands substitute "{}" with matched file. End with ";" to run each file, or "+" (next argument after "{}") to collect and run with multiple files. -printf FORMAT characters are \ escapes and: %b 512 byte blocks used %f basename %g textual gid %G numeric gid %i decimal inode %l target of symlink %m octal mode %M ls format type/mode %p path to file %P path to file minus DIR %s size in bytes %T@ mod time as unixtime %u username %U numeric uid %Z security context
flock
usage: flock [-sxun] fd Manage advisory file locks. -s Shared lock -x Exclusive lock (default) -u Unlock -n Non-blocking: fail rather than wait for the lock
fmt
usage: fmt [-w WIDTH] [FILE...] Reformat input to wordwrap at a given line length, preserving existing indentation level, writing to stdout. -w WIDTH Maximum characters per line (default 75)
fold
usage: fold [-bs] [-w WIDTH] [FILE...] Break long lines by inserting newlines. -b Count bytes instead of utf-8 unicode columns -s Wrap at whitespace when possible -w Break at WIDTH columns (default 80)
free
usage: free [-bkmgt] Display the total, free and used amount of physical memory and swap space. -bkmg Output units (default is bytes) -h Human readable (K=1024)
freeramdisk
usage: freeramdisk [RAM device] Free all memory allocated to specified ramdisk
fsfreeze
usage: fsfreeze {-f | -u} MOUNTPOINT Freeze or unfreeze a filesystem. -f Freeze -u Unfreeze
fstype
usage: fstype DEV... Print type of filesystem on a block device or image.
fsync
usage: fsync [-d] [FILE...] Flush disk cache for FILE(s), writing cached data to storage device. -d Skip directory info (sync file contents only).
ftpget
usage: ftpget [-cvgslLmMdD] [-P PORT] [-p PASSWORD] [-u USER] HOST [LOCAL] REMOTE Talk to ftp server. By default get REMOTE file via passive anonymous transfer, optionally saving under a LOCAL name. Can also send, list, etc. -c Continue partial transfer -p Use PORT instead of "21" -P Use PASSWORD instead of "ftpget@" -u Use USER instead of "anonymous" -v Verbose Ways to interact with FTP server: -d Delete file -D Remove directory -g Get file (default) -l List directory -L List (filenames only) -m Move file on server from LOCAL to REMOTE -M mkdir -s Send file
ftpput
See ftpget
getconf
usage: getconf -a [PATH] | -l | NAME [PATH] Get system configuration values. Values from pathconf(3) require a path. -a Show all (defaults to "/" if no path given) -l List available value names (grouped by source)
getopt
usage: getopt [-aTu] [-lo OPTIONS] [-n NAME] [OPTIONS] ARG... Outputs command line with recognized OPTIONS character arguments moved to front, then "--", then non-option arguments. Returns 1 if unknown options. OPTIONS followed by : take an argument, or :: for optional arguments (which must be attached, ala -xblah or --long=blah). -a Allow long options starting with a single - -l Long OPTIONS (repeated or comma separated) -n Command NAME for error messages -o Short OPTIONS (instead of using first argument) -T Test whether this is a modern getopt -u Unquoted output (default if no other options set) Example: $ getopt -l long:,arg:: abc command --long -b there --arg --long '-b' --arg '' -- 'command' 'there'
gpiodetect
usage: gpiodetect Show all gpio chips' names, labels, and number of lines.
gpiofind
usage: gpiofind NAME Show the chip and line number for the given line name.
gpioget
usage: gpioget [-l] CHIP LINE... Gets the values of the given lines on CHIP. Use gpiofind to convert line names to numbers. -l Active low
gpioinfo
usage: gpioinfo [CHIP...] Show gpio chips' lines.
gpioset
usage: gpioset [-l] CHIP LINE=VALUE... Set the lines on CHIP to the given values. Use gpiofind to convert line names to numbers. -l Active low
grep
usage: grep [-abcEFHhIiLlnoqrsvwxZz] [-ABC NUM] [-m MAX] [-e REGEX]... [-MS PATTERN]... [-f REGFILE]... [FILE]... Show lines matching regular expressions. If no -e, first argument is regular expression to match. With no files (or "-" filename) read stdin. Returns 0 if matched, 1 if no match found, 2 for command errors. -e Regex(es) to match. -f File(s) of regexes to match (1 per line). file search: -r Recurse into subdirs -R Recurse following symlinks -M Match files (--include) -S Skip files (--exclude) -I Ignore binary files --exclude-dir=PATTERN Skip directories match type: -A Show NUM lines after -B Show NUM lines before match -C NUM lines context (A+B) -E extended regex syntax -F fixed (literal match) -a always text (not binary) -i case insensitive -m match MAX many lines -v invert match -w whole word (implies -E) -x whole line -z input NUL terminated display modes: (default: matched line) -L filenames with no match -Z output is NUL terminated -c count of matching lines -l filenames with a match -o only matching part -q quiet (errors only) -s silent (no error msg) output prefix (default: filename if checking more than 1 file) -H force filename -b byte offset of match -h hide filename -n line number of match
groups
usage: groups [user] Print the groups a user is in.
gunzip
usage: gunzip [-cfkt] [FILE...] Decompress files. With no files, decompresses stdin to stdout. On success, the input files are removed and replaced by new files without the .gz suffix. -c Output to stdout (act as zcat) -f Force: allow read from tty -k Keep input files (default is to remove) -t Test integrity
halt
See reboot
head
usage: head [-cn NUM] [-qv] [FILE...] Copy first lines from files to stdout. If no files listed, copy from stdin. Filename "-" is a synonym for stdin. -n Number of lines to copy -c Number of bytes to copy -q Never print headers -v Always print headers
help
usage: help [-ahu] [COMMAND] -a All commands -u Usage only -h HTML output Show usage information for toybox commands. Run "toybox" with no arguments for a list of available commands.
hexedit
usage: hexedit [-r] FILE Hexadecimal file editor/viewer. All changes are written to disk immediately. -r Read only (display but don't edit) Keys: Arrows Move left/right/up/down by one line/column PgUp/PgDn Move up/down by one page Home/End Start/end of line (start/end of file with ctrl) 0-9, a-f Change current half-byte to hexadecimal value ^J or : Jump (+/- for relative offset, otherwise absolute address) ^F or / Find string (^G/n: next, ^D/p: previous match) u Undo x Toggle bw/color display q/^C/^Q/Esc Quit
host
usage: host [-v] [-t TYPE] NAME [SERVER] Look up DNS records for NAME, either domain name or IPv4/IPv6 address to reverse lookup, from SERVER or default DNS server(s). -a All records -t TYPE Record TYPE (number or ANY A AAAA CNAME MX NS PTR SOA SRV TXT) -v Verbose
hostname
usage: hostname [-bdsf] [-F FILENAME] [newname] Get/set the current hostname. -b Set hostname to 'localhost' if otherwise unset -d Show DNS domain name (no host) -f Show fully-qualified name (host+domain, FQDN) -F Set hostname to contents of FILENAME -s Show short host name (no domain)
httpd
usage: httpd [-de STR] [-v] [DIR] Serve contents of directory as static web pages. -e Escape STR as URL, printing result and exiting. -d Decode escaped STR, printing result and exiting. -v Verbose
hwclock
usage: hwclock [-rswtluf] Get/set the hardware clock. -f FILE Use specified device file instead of /dev/rtc0 (--rtc) -l Hardware clock uses localtime (--localtime) -r Show hardware clock time (--show) -s Set system time from hardware clock (--hctosys) -t Set the system time based on the current timezone (--systz) -u Hardware clock uses UTC (--utc) -w Set hardware clock from system time (--systohc)
i2cdetect
usage: i2cdetect [-aqry] BUS [FIRST LAST] usage: i2cdetect -F BUS usage: i2cdetect -l Detect i2c devices. -a All addresses (0x00-0x7f rather than 0x03-0x77 or FIRST-LAST) -F Show functionality -l List available buses -q Probe with SMBus Quick Write (default) -r Probe with SMBus Read Byte -y Skip confirmation prompts (yes to all)
i2cdump
usage: i2cdump [-fy] BUS CHIP Dump i2c registers. -f Force access to busy devices -y Skip confirmation prompts (yes to all)
i2cget
usage: i2cget [-fy] BUS CHIP [ADDR] Read an i2c register. -f Force access to busy devices -y Skip confirmation prompts (yes to all)
i2cset
usage: i2cset [-fy] BUS CHIP ADDR VALUE... MODE Write an i2c register. MODE is b for byte, w for 16-bit word, i for I2C block. -f Force access to busy devices -y Skip confirmation prompts (yes to all)
i2ctransfer
usage: i2ctransfer [-fy] BUS DESC [DATA...]... Make i2c transfers. DESC is 'r' for read or 'w' for write, followed by the number of bytes to read or write, followed by '@' and a 7-bit address. For any message after the first, the '@' and address can be omitted to reuse the previous address. A 'w' DESC must be followed by the number of DATA bytes that was specified in the DESC. -f Force access to busy devices -v Verbose (show messages sent, not just received) -y Skip confirmation prompts (yes to all)
iconv
usage: iconv [-f FROM] [-t TO] [FILE...] Convert character encoding of files. -c Omit invalid chars -f Convert from (default UTF-8) -t Convert to (default UTF-8)
id
usage: id [-Ggnru] [USER...] Print user and group ID. -G Show all group IDs -g Show only the effective group ID -n Print names instead of numeric IDs (to be used with -Ggu) -r Show real ID instead of effective ID -u Show only the effective user ID
ifconfig
usage: ifconfig [-aS] [INTERFACE [ACTION...]] Display or configure network interface. With no arguments, display active interfaces. First argument is interface to operate on, one argument by itself displays that interface. -a All interfaces displayed, not just active ones -S Short view, one line per interface Standard ACTIONs to perform on an INTERFACE: ADDR[/MASK] - set IPv4 address (1.2.3.4/5) and activate interface add|del ADDR[/LEN] - add/remove IPv6 address (1111::8888/128) up|down - activate or deactivate interface Advanced ACTIONs (default values usually suffice): default - remove IPv4 address netmask ADDR - set IPv4 netmask via 255.255.255.0 instead of /24 txqueuelen LEN - number of buffered packets before output blocks mtu LEN - size of outgoing packets (Maximum Transmission Unit) broadcast ADDR - Set broadcast address pointopoint ADDR - PPP and PPPOE use this instead of "route add default gw" hw TYPE ADDR - set hardware (mac) address (type = ether|infiniband) rename NEWNAME - rename interface Flags you can set on an interface (or -remove by prefixing with -): arp - don't use Address Resolution Protocol to map LAN routes promisc - don't discard packets that aren't to this LAN hardware address multicast - force interface into multicast mode if the driver doesn't allmulti - promisc for multicast packets
inotifyd
usage: inotifyd PROG FILE[:MASK] ... When a filesystem event matching MASK occurs to a FILE, run PROG as: PROG EVENTS FILE [DIRFILE] If PROG is "-" events are sent to stdout. This file is: a accessed c modified e metadata change w closed (writable) r opened D deleted M moved 0 closed (unwritable) u unmounted o overflow x unwatchable A file in this directory is: m moved in y moved out n created d deleted When x event happens for all FILEs, inotifyd exits (after waiting for PROG).
insmod
usage: insmod MODULE [OPTION...] Load the module named MODULE passing options if given.
install
usage: install [-dDpsv] [-o USER] [-g GROUP] [-m MODE] [-t TARGET] [SOURCE...] [DEST] Copy files and set attributes. -d Act like mkdir -p -D Create leading directories for DEST -g Make copy belong to GROUP -m Set permissions to MODE -o Make copy belong to USER -p Preserve timestamps -s Call "strip -p" -t Copy files to TARGET dir (no DEST) -v Verbose
ionice
usage: ionice [-t] [-c CLASS] [-n LEVEL] [COMMAND...|-p PID] Change the I/O scheduling priority of a process. With no arguments (or just -p), display process' existing I/O class/priority. -c CLASS = 1-3: 1(realtime), 2(best-effort, default), 3(when-idle) -n LEVEL = 0-7: (0 is highest priority, default = 5) -p Affect existing PID instead of spawning new child -t Ignore failure to set I/O priority System default iopriority is generally -c 2 -n 4.
iorenice
usage: iorenice PID [CLASS] [PRIORITY] Display or change I/O priority of existing process. CLASS can be "rt" for realtime, "be" for best effort, "idle" for only when idle, or "none" to leave it alone. PRIORITY can be 0-7 (0 is highest, default 4).
iotop
usage: iotop [-AaKObq] [-n NUMBER] [-d SECONDS] [-p PID,] [-u USER,] Rank processes by I/O. -A All I/O, not just disk -a Accumulated I/O (not percentage) -H Show threads -K Kilobytes -k Fallback sort FIELDS (default -[D]IO,-ETIME,-PID) -m Maximum number of tasks to show -O Only show processes doing I/O -o Show FIELDS (default PID,PR,USER,[D]READ,[D]WRITE,SWAP,[D]IO,COMM) -s Sort by field number (0-X, default 6) -b Batch mode (no tty) -d Delay SECONDS between each cycle (default 3) -n Exit after NUMBER iterations -p Show these PIDs -u Show these USERs -q Quiet (no header lines) Cursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force update, R to reverse sort, Q to exit.
kill
usage: kill [-l [SIGNAL] | -s SIGNAL | -SIGNAL] PID... Send signal to process(es). -l List signal name(s) and number(s) -s Send SIGNAL (default SIGTERM)
killall
usage: killall [-l] [-iqv] [-SIGNAL|-s SIGNAL] PROCESS_NAME... Send a signal (default: TERM) to all processes with the given names. -i Ask for confirmation before killing -l Print list of all available signals -q Don't print any warnings or error messages -s Send SIGNAL instead of SIGTERM -v Report if the signal was successfully sent -w Wait until all signaled processes are dead
killall5
usage: killall5 [-l [SIGNAL]] [-SIGNAL|-s SIGNAL] [-o PID]... Send a signal to all processes outside current session. -l List signal name(s) and number(s) -o PID Omit PID -s Send SIGNAL (default SIGTERM)
link
usage: link FILE NEWLINK Create hardlink to a file.
linux32
usage: linux32 [COMMAND...] Tell uname -m to lie to autoconf (to build 32 bit binaries on 64 bit kernel).
ln
usage: ln [-fnrsTv] [-t DIR] [FROM...] TO Create a link between FROM and TO. One/two/many arguments work like "mv" or "cp". -f Force the creation of the link, even if TO already exists -n Symlink at TO treated as file -r Create relative symlink from -> to -s Create a symbolic link -t Create links in DIR -T TO always treated as file, max 2 arguments -v Verbose
logger
usage: logger [-s] [-t TAG] [-p [FACILITY.]PRIORITY] [MESSAGE...] Log message (or stdin) to syslog. -s Also write message to stderr -t Use TAG instead of username to identify message source -p Specify PRIORITY with optional FACILITY. Default is "user.notice"
login
usage: login [-p] [-h host] [-f USERNAME] [USERNAME] Log in as a user, prompting for username and password if necessary. -p Preserve environment -h The name of the remote host for this login -f login as USERNAME without authentication
logname
usage: logname Print the current user name.
losetup
usage: losetup [-cdrs] [-o OFFSET] [-S SIZE] {-d DEVICE...|-j FILE|-af|{DEVICE FILE}} Associate a loopback device with a file, or show current file (if any) associated with a loop device. Instead of a device: -a Iterate through all loopback devices -f Find first unused loop device (may create one) -j FILE Iterate through all loopback devices associated with FILE existing: -c Check capacity (file size changed) -d DEV Detach loopback device -D Detach all loopback devices new: -s Show device name (alias --show) -o OFF Start association at offset OFF into FILE -r Read only -S SIZE Limit SIZE of loopback association (alias --sizelimit)
ls
usage: ls [-1ACFHLNRSUXZabcdfghilmnopqrstuwx] [--color[=auto]] [FILE...] List files what to show: -A all files except . and .. -a all files including .hidden -b escape nongraphic chars -d directory, not contents -F append /dir *exe @sym |FIFO -f files (no sort/filter/format) -H follow command line symlinks -i inode number -L follow symlinks -N no escaping, even on tty -p put '/' after dir names -q unprintable chars as '?' -R recursively list in subdirs -s storage used (in --block-size) -Z security context output formats: -1 list one file per line -C columns (sorted vertically) -g like -l but no owner -h human readable sizes -k reset --block-size to default -l long (show full details) -m comma separated -ll long with nanoseconds (--full-time) -n long with numeric uid/gid -o long without group column -r reverse order -w set column width -x columns (horizontal sort) sort by: (also --sort=longname,longname... ends with alphabetical) -c ctime -r reverse -S size -t time -u atime -U none -X extension -! dirfirst -~ nocase --block-size N block size (default 1024, -k resets to 1024) --color =always (default) =auto (when stdout is tty) =never exe=green suid=red suidfile=redback stickydir=greenback device=yellow symlink=turquoise/red dir=blue socket=purple Long output uses -cu for display, use -ltc/-ltu to also sort by ctime/atime.
lsattr
usage: lsattr [-Radlpv] [FILE...] List file attributes on a Linux file system. Flag letters are defined in chattr help. -R Recursively list attributes of directories and their contents -a List all files in directories, including files that start with '.' -d List directories like other files, rather than listing their contents -l List long flag names -p List the file's project number -v List the file's version/generation number
lsmod
usage: lsmod Display the currently loaded modules, their sizes and their dependencies.
lspci
usage: lspci [-ekmn] [-i FILE] List PCI devices. -e Extended (6 digit) class -i ID database (default /etc/pci.ids[.gz]) -k Show kernel driver -m Machine readable -n Numeric output (-nn for both) -x Hex dump of config space (64 bytes; -xxx for 256, -xxxx for 4096)
lsusb
usage: lsusb [-i] List USB hosts/devices. -i ID database (default /etc/usb.ids[.gz])
makedevs
usage: makedevs [-d device_table] rootdir Create a range of special files as specified in a device table. -d File containing device table (default reads from stdin) Each line of the device table has the fields:Where name is the file name, and type is one of the following: b Block device c Character device d Directory f Regular file p Named pipe (fifo) Other fields specify permissions, user and group id owning the file, and additional fields for device special files. Use '-' for blank entries, unspecified fields are treated as '-'.
mcookie
usage: mcookie [-vV] Generate a 128-bit strong random number. -v show entropy source (verbose) -V show version
md5sum
usage: ???sum [-bcs] [FILE]... Calculate hash for each input file, reading from stdin if none, writing hexadecimal digits to stdout for each input file (md5=32 hex digits, sha1=40, sha224=56, sha256=64, sha384=96, sha512=128) followed by filename. -b Brief (hash only, no filename) -c Check each line of each FILE is the same hash+filename we'd output -s No output, exit status 0 if all hashes match, 1 otherwise
memeater
usage: memeater [-M] BYTES Consume the specified amount of memory and wait to be killed. -M Don't mlock() the memory (let it swap out).
microcom
usage: microcom [-s SPEED] [-X] DEVICE Simple serial console. Hit CTRL-] for menu. -s Set baud rate to SPEED (default 115200) -X Ignore ^] menu escape
mix
usage: mix [-d DEV] [-c CHANNEL] [-l VOL] [-r RIGHT] List OSS sound channels (module snd-mixer-oss), or set volume(s). -c CHANNEL Set/show volume of CHANNEL (default first channel found) -d DEV Device node (default /dev/mixer) -l VOL Volume level -r RIGHT Volume of right stereo channel (with -r, -l sets left volume)
mkdir
usage: mkdir [-vp] [-m MODE] [DIR...] Create one or more directories. -m Set permissions of directory to mode -p Make parent directories as needed -v Verbose
mkfifo
usage: mkfifo [NAME...] Create FIFOs (named pipes).
mknod
usage: mknod [-m MODE] NAME TYPE [MAJOR MINOR] Create a special file NAME with a given type. TYPE is b for block device, c or u for character device, p for named pipe (which ignores MAJOR/MINOR). -m Mode (file permissions) of new device, in octal or u+x format
mkpasswd
usage: mkpasswd [-P FD] [-m TYPE] [-S SALT] [PASSWORD] [SALT] Encrypt PASSWORD using crypt(3), with either random or provided SALT. -P FD Read password from file descriptor FD -m TYPE Encryption method (des, md5, sha256, or sha512; default is des)
mkswap
usage: mkswap [-L LABEL] DEVICE Set up a Linux swap area on a device or file.
mktemp
usage: mktemp [-dqtu] [-p DIR] [TEMPLATE] Safely create a new file "DIR/TEMPLATE" and print its name. -d Create directory instead of file (--directory) -p Put new file in DIR (--tmpdir) -q Quiet, no error messages -t Prefer $TMPDIR > DIR > /tmp (default DIR > $TMPDIR > /tmp) -u Don't create anything, just print what would be created Each X in TEMPLATE is replaced with a random printable character. The default TEMPLATE is tmp.XXXXXXXXXX.
modinfo
usage: modinfo [-0] [-b basedir] [-k kernel] [-F field] [module|file...] Display module fields for modules specified by name or .ko path. -F Only show the given field -0 Separate fields with NUL rather than newline -b Useas root for /lib/modules/ -k Look in given directory under /lib/modules/
mount
usage: mount [-afFrsvw] [-t TYPE] [-o OPTION,] [[DEVICE] DIR] Mount new filesystem(s) on directories. With no arguments, display existing mounts. -a Mount all entries in /etc/fstab (with -t, only entries of that TYPE) -O Only mount -a entries that have this option -f Fake it (don't actually mount) -r Read only (same as -o ro) -w Read/write (default, same as -o rw) -t Specify filesystem type -v Verbose OPTIONS is a comma separated list of options, which can also be supplied as --longopts. Autodetects loopback mounts (a file on a directory) and bind mounts (file on file, directory on directory), so you don't need to say --bind or --loop. You can also "mount -a /path" to mount everything in /etc/fstab under /path, even if it's noauto. DEVICE starting with UUID= is identified by blkid -U.
mountpoint
usage: mountpoint [-qd] DIR mountpoint [-qx] DEVICE Check whether the directory or device is a mountpoint. -q Be quiet, return zero if directory is a mountpoint -d Print major/minor device number of the directory -x Print major/minor device number of the block device
mv
usage: mv [-FfinTvx] [-t TARGET] SOURCE... [DEST] -F Delete any existing DEST first (--remove-destination) -f Force copy by deleting destination file -i Interactive, prompt before overwriting existing DEST -n No clobber (don't overwrite DEST) -t Move to TARGET dir (no DEST) -T DEST always treated as file, max 2 arguments -v Verbose -x Atomically exchange source/dest (--swap)
nbd-client
usage: nbd-client [-ns] [-b BLKSZ] HOST PORT DEVICE -b Block size (default 4096) -n Do not daemonize -s nbd swap support (lock server into memory)
nbd-server
usage: nbd-server [-r] FILE Serve a Network Block Device from FILE on stdin/out (ala inetd). -r Read only export
nc
See netcat
netcat
usage: netcat [-46ELlntUu] [-pqWw #] [-s addr] {IPADDR PORTNUM|-f FILENAME|COMMAND...} Forward stdin/stdout to a file or network connection. -4 Force IPv4 -6 Force IPv6 -E Forward stderr -f Use FILENAME (ala /dev/ttyS0) instead of network -L Listen and background each incoming connection (server mode) -l Listen for one incoming connection, then exit -n No DNS lookup -p Local port number -q Quit SECONDS after EOF on stdin, even if stdout hasn't closed yet -s Local source address -t Allocate tty -v Verbose -u Use UDP -U Use a UNIX domain socket -W SECONDS timeout for more data on an idle connection -w SECONDS timeout to establish connection -z zero-I/O mode [used for scanning] When listening the COMMAND line is executed as a child process to handle an incoming connection. With no COMMAND -l forwards the connection to stdin/stdout. If no -p specified, -l prints the port it bound to and backgrounds itself (returning immediately). For a quick-and-dirty server, try something like: netcat -s 127.0.0.1 -p 1234 -tL sh -l Or use "stty 115200 -F /dev/ttyS0 && stty raw -echo -ctlecho" with netcat -f to connect to a serial port.
netstat
usage: netstat [-pWrxwutneal] Display networking information. Default is netstat -tuwx -r Routing table -a All sockets (not just connected) -l Listening server sockets -t TCP sockets -u UDP sockets -w Raw sockets -x Unix sockets -e Extended info -n Don't resolve names -W Wide display -p Show PID/program name of sockets
nice
usage: nice [-n PRIORITY] COMMAND... Run a command line at an increased or decreased scheduling priority. Higher numbers make a program yield more CPU time, from -20 (highest priority) to 19 (lowest). By default processes inherit their parent's niceness (usually 0). By default this command adds 10 to the parent's priority. Only root can set a negative niceness level. -n Add given adjustment to priority (default 10)
nl
usage: nl [-E] [-l #] [-b MODE] [-n STYLE] [-s SEPARATOR] [-v #] [-w WIDTH] [FILE...] Number lines of input. -E Use extended regex syntax (when doing -b pREGEX) -b Which lines to number: a (all) t (non-empty, default) pREGEX (pattern) -l Only count last of this many consecutive blank lines -n Number STYLE: ln (left justified) rn (right justified) rz (zero pad) -s Separator to use between number and line (instead of TAB) -v Starting line number for each section (default 1) -w Width of line numbers (default 6)
nohup
usage: nohup COMMAND... Run a command that survives the end of its terminal. Redirect tty on stdin to /dev/null, tty on stdout to "nohup.out".
nproc
usage: nproc [--all] Print number of processors. --all Show all processors, not just ones this task can run on
nsenter
usage: nsenter [-t pid] [-F] [-i] [-m] [-n] [-p] [-u] [-U] COMMAND... Run COMMAND in an existing (set of) namespace(s). -a Enter all supported namespaces (--all) -F don't fork, even if -p is used (--no-fork) -t PID to take namespaces from (--target) The namespaces to switch are: -C Control groups (--cgroup) -i SysV IPC: message queues, semaphores, shared memory (--ipc) -m Mount/unmount tree (--mount) -n Network address, sockets, routing, iptables (--net) -p Process IDs and init, will fork unless -F is used (--pid) -u Host and domain names (--uts) -U UIDs, GIDs, capabilities (--user) If -t isn't specified, each namespace argument must provide a path to a namespace file, ala "-i=/proc/$PID/ns/ipc"
od
usage: od [-bcdosxv] [-j #] [-N #] [-w #] [-A doxn] [-t acdfoux[#]] Dump data in octal/hex. -A Address base (decimal, octal, hexadecimal, none) -j Skip this many bytes of input -N Stop dumping after this many bytes -t Output type a(scii) c(har) d(ecimal) f(loat) o(ctal) u(nsigned) (he)x plus optional size in bytes aliases: -b=-t o1, -c=-t c, -d=-t u2, -o=-t o2, -s=-t d2, -x=-t x2 -v Don't collapse repeated lines together -w Total line width in bytes (default 16)
oneit
usage: oneit [-prn3] [-c CONSOLE] [COMMAND...] Simple init program that runs a single supplied command line with a controlling tty (so CTRL-C can kill it). -c Which console device to use (/dev/console doesn't do CTRL-C, etc) -p Power off instead of rebooting when command exits -r Restart child when it exits -n No reboot, just relaunch command line -3 Write 32 bit PID of each exiting reparented process to fd 3 of child (Blocking writes, child must read to avoid eventual deadlock.) Spawns a single child process (because PID 1 has signals blocked) in its own session, reaps zombies until the child exits, then reboots the system (or powers off with -p, or restarts the child with -r). Responds to SIGUSR1 by halting the system, SIGUSR2 by powering off, and SIGTERM or SIGINT reboot.
openvt
usage: openvt [-c NUM] [-sw] COMMAND... Run COMMAND on a new virtual terminal. -c NUM Use VT NUM -s Switch to the new VT -w Wait for command to exit (with -s, deallocates VT on exit)
partprobe
usage: partprobe DEVICE... Tell the kernel about partition table changes Ask the kernel to re-read the partition table on the specified devices.
paste
usage: paste [-s] [-d DELIMITERS] [FILE...] Merge corresponding lines from each input file. -d List of delimiter characters to separate fields with (default is \t) -s Sequential mode: turn each input file into one line of output
patch
usage: patch [-Rlsuv] [-d DIR] [-i FILE] [-p DEPTH] [-F FUZZ] [--dry-run] [FILE [PATCH]] Apply a unified diff to one or more files. -d Modify files in DIR -F Fuzz factor (number of non-matching context lines allowed per hunk) -i Input patch from FILE (default=stdin) -l Loose match (ignore whitespace) -p Number of '/' to strip from start of file paths (default=all) -R Reverse patch -s Silent except for errors -v Verbose (-vv to see decisions) --dry-run Don't change files, just confirm patch applies Only handles "unified" diff format (-u is assumed and ignored). Only modifies files when all hunks to that file apply. Prints failed hunks to stderr, and exits with nonzero status if any hunks fail. Files compared against /dev/null (or with a date <= the unix epoch) are created/deleted as appropriate. Default -F value is the number of leading/trailing context lines minus one (usually 2).
pgrep
usage: pgrep [-clfnovx] [-d DELIM] [-L SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,] Search for process(es). PATTERN is an extended regular expression checked against command names. -c Show only count of matches -d Use DELIM instead of newline -L Send SIGNAL instead of printing name -l Show command name -f Check full command line for PATTERN -G Match real Group ID(s) -g Match Process Group(s) (0 is current user) -n Newest match only -o Oldest match only -P Match Parent Process ID(s) -s Match Session ID(s) (0 for current) -t Match Terminal(s) -U Match real User ID(s) -u Match effective User ID(s) -v Negate the match -x Match whole command (not substring)
pidof
usage: pidof [-s] [-o omitpid[,omitpid...]] [NAME...] Print the PIDs of all processes with the given names. -o Omit PID(s) -s Single shot, only return one pid -x Match shell scripts too
ping
usage: ping [OPTIONS] HOST Check network connectivity by sending packets to a host and reporting its response. Send ICMP ECHO_REQUEST packets to ipv4 or ipv6 addresses and prints each echo it receives back, with round trip time. Returns true if host alive. Options: -4, -6 Force IPv4 or IPv6 -c CNT Send CNT many packets (default 3, 0 = infinite) -f Flood (print . and \b to show drops, default -c 15 -i 0.2) -i TIME Interval between packets (default 1, need root for < .2) -I IFACE/IP Source interface or address -m MARK Tag outgoing packets using SO_MARK -q Quiet (stops after one returns true if host is alive) -s SIZE Data SIZE in bytes (default 56) -t TTL Set Time To Live (number of hops) -W SEC Seconds to wait for response after last -c packet (default 3) -w SEC Exit after this many seconds
ping6
See ping
pivot_root
usage: pivot_root OLD NEW Swap OLD and NEW filesystems (as if by simultaneous mount --move), and move all processes with chdir or chroot under OLD into NEW (including kernel threads) so OLD may be unmounted. The directory NEW must exist under OLD. This doesn't work on initramfs, which can't be moved (about the same way PID 1 can't be killed; see switch_root instead).
pkill
usage: pkill [-fnovx] [-SIGNAL|-l SIGNAL] [PATTERN] [-G GID,] [-g PGRP,] [-P PPID,] [-s SID,] [-t TERM,] [-U UID,] [-u EUID,] -l Send SIGNAL (default SIGTERM) -V Verbose -f Check full command line for PATTERN -G Match real Group ID(s) -g Match Process Group(s) (0 is current user) -n Newest match only -o Oldest match only -P Match Parent Process ID(s) -s Match Session ID(s) (0 for current) -t Match Terminal(s) -U Match real User ID(s) -u Match effective User ID(s) -v Negate the match -x Match whole command (not substring)
pmap
usage: pmap [-pqx] PID... Report the memory map of a process or processes. -p Show full paths -q Do not show header or footer -x Show the extended format
poweroff
See reboot
printenv
usage: printenv [-0] [env_var...] Print environment variables. -0 Use \0 as delimiter instead of \n
printf
usage: printf FORMAT [ARGUMENT...] Format and print ARGUMENT(s) according to FORMAT, using C printf syntax (% escapes for cdeEfgGiosuxX, \ escapes for abefnrtv0 or \OCTAL or \xHEX).
prlimit
See ulimit
ps
usage: ps [-AadefLlnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,] List processes. Which processes to show (-gGuUpPt selections may be comma separated lists): -A All -a Has terminal not session leader -d All but session leaders -e Synonym for -A -g In GROUPs -G In real GROUPs (before sgid) -p PIDs (--pid) -P Parent PIDs (--ppid) -s In session IDs -t Attached to selected TTYs -T Show threads also -u Owned by selected USERs -U Real USERs (before suid) Output modifiers: -k Sort FIELDs (-FIELD to reverse) -M Measure/pad future field widths -n Show numeric USER and GROUP -w Wide output (don't truncate fields) Which FIELDs to show. (-o HELP for list, default = -o PID,TTY,TIME,CMD) -f Full listing (-o USER:12=UID,PID,PPID,C,STIME,TTY,TIME,ARGS=CMD) -l Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD) -o Output FIELDs instead of defaults, each with optional :size and =title -O Add FIELDS to defaults -Z Include LABEL
pwd
usage: pwd [-L|-P] Print working (current) directory. -L Use shell's path from $PWD (when applicable) -P Print canonical absolute path
pwdx
usage: pwdx PID... Print working directory of processes listed on command line.
pwgen
usage: pwgen [-cAn0yrsBC1v] [-r CHARS] [LENGTH] [COUNT] Generate human-readable random passwords. Default output to tty fills screen with passwords to defeat shoulder surfing (pick one and clear the screen). -0 No numbers (--no-numerals) -1 Output one per line -A No capital letters (--no-capitalize) -B Avoid ambiguous characters like 0O and 1lI (--ambiguous) -C Output in columns -c Add capital letters (--capitalize) -n Add numbers (--numerals) -r Don't include the given CHARS (--remove) -v No vowels. -y Add punctuation (--symbols)
readahead
usage: readahead FILE... Preload files into disk cache.
readelf
usage: readelf [-AadehlnSs] [-p SECTION] [-x SECTION] [file...] Displays information about ELF files. -A Show architecture-specific info -a Equivalent to -AdhlnSs -d Show dynamic section -e Headers (equivalent to -hlS) -h Show ELF header -l Show program headers -n Show notes -p S Dump strings found in named/numbered section -S Show section headers -s Show symbol tables (.dynsym and .symtab) -x S Hex dump of named/numbered section --dyn-syms Show just .dynsym symbol table
readlink
usage: readlink [-efmnqz] FILE... With no options, show what symlink points to, return error if not symlink. Options for producing canonical paths (all symlinks/./.. resolved): -e Canonical path to existing entry (fail if missing) -f Full path (fail if directory missing) -m Ignore missing entries, show where it would be -n No trailing newline -q Quiet (no error messages) -z NUL instead of newline
realpath
usage: realpath [-LPemqsz] [--relative-base DIR] [-R DIR] FILE... Display the canonical absolute pathname -R Show ../path relative to DIR (--relative-to) -L Logical path (resolve .. before symlinks) -P Physical path (default) -e Canonical path to existing entry (fail if missing) -m Ignore missing entries, show where it would be -q Quiet (no error messages) -s Don't expand symlinks -z NUL instead of newline --relative-base If path under DIR trim off prefix
reboot
usage: reboot/halt/poweroff [-fn] [-d DELAY] Restart, halt, or power off the system. -d Wait DELAY before proceeding (in seconds or m/h/d suffix: -d 1.5m = 90s) -f Force reboot (don't signal init, reboot directly) -n Don't sync filesystems before reboot
renice
usage: renice [-gpu] -n INCREMENT ID... -g Group ids -p Process ids (default) -u User ids
reset
usage: reset Reset the terminal.
rev
usage: rev [FILE...] Output each line reversed, when no files are given stdin is used.
rfkill
usage: rfkill COMMAND [DEVICE] Enable/disable wireless devices. Commands: list [DEVICE] List current state block DEVICE Disable device unblock DEVICE Enable device DEVICE is an index number, or one of: all, wlan(wifi), bluetooth, uwb(ultrawideband), wimax, wwan, gps, fm.
rm
usage: rm [-fiRrv] FILE... Remove each argument from the filesystem. -f Force: remove without confirmation, no error if it doesn't exist -i Interactive: prompt for confirmation -rR Recursive: remove directory contents -v Verbose
rmdir
usage: rmdir [-p] [DIR...] Remove one or more directories. -p Remove path --ignore-fail-on-non-empty Ignore failures caused by non-empty directories
rmmod
usage: rmmod [-wf] MODULE... Unload the given kernel modules. -f Force unload of a module -w Wait until the module is no longer used
rtcwake
usage: rtcwake [-aluv] [-d FILE] [-m MODE] [-s SECS] [-t UNIX] Enter the given sleep state until the given time. -a RTC uses time specified in /etc/adjtime -d FILE Device to use (default /dev/rtc) -l RTC uses local time -m Mode (--list-modes to see those supported by your kernel): standby S1: default mem S3: suspend to RAM disk S4: suspend to disk off S5: power off disable Cancel current alarm freeze stop processes/processors no just set wakeup time on just poll RTC for alarm show just show current alarm -s SECS Wake SECS seconds from now -t UNIX Wake UNIX seconds from epoch -u RTC uses UTC -v Verbose
sed
usage: sed [-inrszE] [-e SCRIPT]...|SCRIPT [-f SCRIPT_FILE]... [FILE...] Stream editor. Apply editing SCRIPTs to lines of input. -e Add SCRIPT to list -f Add contents of SCRIPT_FILE to list -i Edit each file in place (-iEXT keeps backup file with extension EXT) -n No default output (use the p command to output matched lines) -r Use extended regular expression syntax -E POSIX alias for -r -s Treat input files separately (implied by -i) -z Use \0 rather than \n as input line separator A SCRIPT is one or more COMMANDs separated by newlines or semicolons. All -e SCRIPTs and -f SCRIPT_FILE contents are combined in order as if separated by newlines. If no -e or -f then first argument is the SCRIPT. COMMANDs apply to every line unless prefixed with an ADDRESS of the form: [ADDRESS[,ADDRESS]][!]COMMAND ADDRESS is a line number (starting at 1), a /REGULAR EXPRESSION/, or $ for last line (-s or -i makes it last line of each file). One address matches one line, ADDRESS,ADDRESS matches from first to second inclusive. Two regexes can match multiple ranges. ADDRESS,+N ends N lines later. ! inverts the match. REGULAR EXPRESSIONS start and end with the same character (anything but backslash or newline). To use the delimiter in the regex escape it with a backslash, and printf escapes (\abcefnrtv and octal, hex, and unicode) work. An empty regex repeats the previous one. ADDRESS regexes require any first delimiter except / to be \escaped to distinguish it from COMMANDs. Sed reads each line of input, processes it, and writes it out or discards it before reading the next. Sed can remember one additional line in a separate buffer (the h, H, g, G, and x commands), and can read the next line of input early (the n and N commands), but otherwise operates on individual lines. Each COMMAND starts with a single character. Commands with no arguments are: ! Run this command when the ADDRESS _didn't_ match. { Start new command block, continuing until a corresponding "}". Command blocks nest and can have ADDRESSes applying to the whole block. } End command block (this COMMAND cannot have an address) d Delete this line and move on to the next one (ignores remaining COMMANDs) D Delete one line of input and restart command SCRIPT (same as "d" unless you've glued lines together with "N" or similar) g Get remembered line (overwriting current line) G Get remembered line (appending to current line) h Remember this line (overwriting remembered line) H Remember this line (appending to remembered line, if any) l Print line escaping \abfrtvn, octal escape other nonprintng chars, wrap lines to terminal width with \, append $ to end of line. n Print default output and read next line over current line (quit at EOF) N Append \n and next line of input to this line. Quit at EOF without default output. Advances line counter for ADDRESS and "=". p Print this line P Print this line up to first newline (from "N") q Quit (print default output, no more commands processed or lines read) x Exchange this line with remembered line (overwrite in both directions) = Print the current line number (plus newline) # Comment, ignores rest of this line of SCRIPT (until newline) Commands that take an argument: : LABEL Target for jump commands a TEXT Append text to output before reading next line b LABEL Branch, jumps to :LABEL (with no LABEL to end of SCRIPT) c TEXT Delete matching ADDRESS range and output TEXT instead i TEXT Insert text (output immediately) r FILE Append contents of FILE to output before reading next line. s/S/R/F Search for regex S replace match with R using flags F. Delimiter is anything but \n or \, escape with \ to use in S or R. Printf escapes work. Unescaped & in R becomes full matched text, \1 through \9 = parenthetical subexpression from S. \ at end of line appends next line of SCRIPT. The flags in F are: [0-9] A number N, substitute only Nth match g Global, substitute all matches i/I Ignore case when matching p Print resulting line when match found and replaced w [file] Write (append) line to file when match replaced t LABEL Test, jump if s/// command matched this line since last test T LABEL Test false, jump to :LABEL only if no s/// found a match w FILE Write (append) line to file y/old/new/ Change each character in 'old' to corresponding character in 'new' (with standard backslash escapes, delimiter can be any repeated character except \ or \n) The TEXT arguments (to a c i) may end with an unescaped "\" to append the next line (leading whitespace is not skipped), and treat ";" as a literal character (use "\;" instead).
seq
usage: seq [-w|-f fmt_str] [-s sep_str] [first] [increment] last Count from first to last, by increment. Omitted arguments default to 1. Two arguments are used as first and last. Arguments can be negative or floating point. -f Use fmt_str as a printf-style floating point format string -s Use sep_str as separator, default is a newline character -w Pad to equal width with leading zeroes
setfattr
usage: setfattr [-h] [-x|-n NAME] [-v VALUE] FILE... Write POSIX extended attributes. -h Do not dereference symlink -n Set given attribute -x Remove given attribute -v Set value for attribute -n (default is empty)
setsid
usage: setsid [-cdw] command [args...] Run process in a new session. -d Detach from tty -c Control tty (repeat to steal) -w Wait for child (and exit with its status)
sha1sum
See md5sum
sha224sum
See md5sum
sha256sum
See md5sum
sha384sum
See md5sum
sha3sum
usage: sha3sum [-bS] [-a BITS] [FILE...] Hash function du jour. -a Produce a hash BITS long (default 224) -b Brief (hash only, no filename) -S Use SHAKE termination byte instead of SHA3 (ask FIPS why)
sha512sum
See md5sum
shred
usage: shred [-fuxz] [-n COUNT] [-o OFFSET] [-s SIZE] FILE... Securely delete a file by overwriting its contents with random data. -f Force (chmod if necessary) -n COUNT Random overwrite iterations (default 1) -o OFFSET Start at OFFSET -s SIZE Use SIZE instead of detecting file size -u Unlink (actually delete file when done) -x Use exact size (default without -s rounds up to next 4k) -z Zero at end Note: data journaling filesystems render this command useless, you must overwrite all free space (fill up disk) to erase old data on those.
shuf
usage: shuf [-ze] [-n COUNT] [FILE...] Write lines of input to output in random order. -z Input/output lines are NUL terminated. -n Stop after COUNT many output lines. -e Echo mode: arguments are inputs to shuffle, not files to read.
sleep
usage: sleep DURATION... Wait before exiting. DURATION can be a decimal fraction. An optional suffix can be "m" (minutes), "h" (hours), "d" (days), or "s" (seconds, the default).
sntp
usage: sntp [-saSdDq] [-r SHIFT] [-mM[ADDRESS]] [-p PORT] [SERVER] Simple Network Time Protocol client. Query SERVER and display time. -p Use PORT (default 123) -s Set system clock suddenly -a Adjust system clock gradually -S Serve time instead of querying (bind to SERVER address if specified) -m Wait for updates from multicast ADDRESS (RFC 4330 suggests 224.0.1.1) -M Multicast server on ADDRESS (RFC 4330 suggests 224.0.1.1) -t TTL (multicast only, default 1) -d Daemonize (run in background re-querying) -D Daemonize but stay in foreground: re-query time every 1000 seconds -r Retry shift (every 1<
sort
usage: sort [-CMVbcdfginrsuxz] [FILE...] [-k#[,#[x]] [-t X]] [-o FILE] Sort all lines of text from input files (or stdin) to stdout. -g General numeric sort (double precision with nan and inf) -n Numeric order (instead of alphabetical) -r Reverse -u Unique lines only -b Ignore leading blanks (or trailing blanks in second part of key) -C Check whether input is sorted -c Warn if input is unsorted -d Dictionary order (use alphanumeric and whitespace chars only) -f Force uppercase (case insensitive sort) -i Ignore nonprinting characters -k Sort by "key" (see below) -M Month sort (jan, feb, etc) -o Output to FILE instead of stdout -s Skip fallback sort (only sort with keys) -t Use a key separator other than whitespace -x Hexadecimal numerical sort -V Version numbers (name-1.234-rc6.5b.tgz) -z Zero (null) terminated lines Sorting by key looks at a subset of the words on each line. -k2 uses the second word to the end of the line, -k2,2 looks at only the second word, -k2,4 looks from the start of the second to the end of the fourth word. -k2.4,5 starts from the fourth character of the second word, to the end of the fifth word. Negative values count from the end. Specifying multiple keys uses the later keys as tie breakers, in order. A type specifier appended to a sort key (such as -2,2n) applies only to sorting that key.
split
usage: split [-a SUFFIX_LEN] [-b BYTES] [-l LINES] [-n PARTS] [INPUT [OUTPUT]] Copy INPUT (or stdin) data to a series of OUTPUT (or "x") files with alphabetically increasing suffix (aa, ab, ac... az, ba, bb...). -a Suffix length (default 2) -b BYTES/file (10, 10k, 10m, 10g...) -l LINES/file (default 1000) -n PARTS many equal length files
stat
usage: stat [-tfL] [-c FORMAT] FILE... Display status of files or filesystems. -c Output specified FORMAT string instead of default -f Display filesystem status instead of file status -L Follow symlinks -t terse (-c "%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %o") (with -f = -c "%n %i %l %t %s %S %b %f %a %c %d") The valid format escape sequences for files: %a Access bits (octal) |%A Access bits (flags)|%b Size/512 %B Bytes per %b (512) |%C Security context |%d Device ID (dec) %D Device ID (hex) |%f All mode bits (hex)|%F File type %g Group ID |%G Group name |%h Hard links %i Inode |%m Mount point |%n Filename %N Long filename |%o I/O block size |%s Size (bytes) %t Devtype major (hex) |%T Devtype minor (hex)|%u User ID %U User name |%x Access time |%X Access unix time %y Modification time |%Y Mod unix time |%z Creation time %Z Creation unix time The valid format escape sequences for filesystems: %a Available blocks |%b Total blocks |%c Total inodes %d Free inodes |%f Free blocks |%i File system ID %l Max filename length |%n File name |%s Best transfer size %S Actual block size |%t FS type (hex) |%T FS type (driver name)
strings
usage: strings [-fo] [-t oxd] [-n LEN] [FILE...] Display printable strings in a binary file -f Show filename -n At least LEN characters form a string (default 4) -o Show offset (ala -t d) -t Show offset type (o=octal, d=decimal, x=hexadecimal)
su
usage: su [-lp] [-u UID] [-g GID,...] [-s SHELL] [-c CMD] [USER [COMMAND...]] Switch user, prompting for password of new user when not run as root. With one argument, switch to USER and run user's shell from /etc/passwd. With no arguments, USER is root. If COMMAND line provided after USER, exec() it as new USER (bypassing shell). If -u or -g specified, first argument (if any) isn't USER (it's COMMAND). first argument is USER name to switch to (which must exist). Non-root users are prompted for new user's password. -s Shell to use (default is user's shell from /etc/passwd) -c Command line to pass to -s shell (ala sh -c "CMD") -l Reset environment as if new login. -u Switch to UID instead of USER -g Switch to GID (only root allowed, can be comma separated list) -p Preserve environment (except for $PATH and $IFS)
swapoff
usage: swapoff FILE Disable swapping on a device or file.
swapon
usage: swapon [-d] [-p priority] filename Enable swapping on a given device/file. -d Discard freed SSD pages -p Priority (highest priority areas allocated first)
switch_root
usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT... Use from PID 1 under initramfs to free initramfs, chroot to NEW_ROOT, and exec NEW_INIT. -c Redirect console to device in NEW_ROOT -h Hang instead of exiting on failure (avoids kernel panic)
sync
usage: sync Write pending cached data to disk (synchronize), blocking until done.
sysctl
usage: sysctl [-aAeNnqw] [-p [FILE] | KEY[=VALUE]...] Read/write system control data (under /proc/sys). -a,A Show all values -e Don't warn about unknown keys -N Don't print key values -n Don't print key names -p Read values from FILE (default /etc/sysctl.conf) -q Don't show value after write -w Only write values (object to reading)
tac
usage: tac [FILE...] Output lines in reverse order.
tail
usage: tail [-n|c NUMBER] [-f|F] [-s SECONDS] [FILE...] Copy last lines from files to stdout. If no files listed, copy from stdin. Filename "-" is a synonym for stdin. -n Output the last NUMBER lines (default 10), +X counts from start -c Output the last NUMBER bytes, +NUMBER counts from start -f Follow FILE(s) by descriptor, waiting for more data to be appended -F Follow FILE(s) by filename, waiting for more data, and retrying -s Used with -F, sleep SECONDS between retries (default 1)
tar
usage: tar [-cxt] [-fvohmjkOS] [-XTCf NAME] [--selinux] [FILE...] Create, extract, or list files in a .tar (or compressed t?z) file. Options: c Create x Extract t Test (list) f tar FILE (default -) C Change to DIR first v Verbose display J xz compression j bzip2 compression z gzip compression o Ignore owner h Follow symlinks m Ignore mtime O Extract to stdout X exclude names in FILE T include names in FILE s Sort dirs (--sort) --exclude FILENAME to exclude --full-time Show seconds with -tv --mode MODE Adjust permissions --owner NAME[:UID] Set file ownership --mtime TIME Override timestamps --group NAME[:GID] Set file group --sparse Record sparse files --selinux Save/restore labels --restrict All under one dir --no-recursion Skip dir contents --numeric-owner Use numeric uid/gid, not user/group names --null Filenames in -T FILE are null-separated, not newline --strip-components NUM Ignore first NUM directory components when extracting --xform=SED Modify filenames via SED expression (ala s/find/replace/g) -I PROG Filter through PROG to compress or PROG -d to decompress Filename filter types. Create command line args aren't filtered, extract defaults to --anchored, --exclude defaults to --wildcards-match-slash, use no- prefix to disable: --anchored Match name not path --ignore-case Case insensitive --wildcards Expand *?[] like shell --wildcards-match-slash
taskset
usage: taskset [-ap] [mask] [PID | cmd [args...]] Launch a new task which may only run on certain processors, or change the processor affinity of an existing PID. Mask is a hex string where each bit represents a processor the process is allowed to run on. PID without a mask displays existing affinity. -p Set/get the affinity of given PID instead of a new command -a Set/get the affinity of all threads of the PID
tee
usage: tee [-ai] [FILE...] Copy stdin to each listed file, and also to stdout. Filename "-" is a synonym for stdout. -a Append to files -i Ignore SIGINT
test
usage: test [-bcdefghkLprSsuwx PATH] [-nz STRING] [-t FD] [X ?? Y] Return true or false by performing tests. No arguments is false, one argument is true if not empty string. --- Tests with a single argument (after the option): PATH is/has: -b block device -f regular file -p fifo -u setuid bit -c char device -g setgid -r readable -w writable -d directory -h symlink -S socket -x executable -e exists -L symlink -s nonzero size -k sticky bit STRING is: -n nonzero size -z zero size FD (integer file descriptor) is: -t a TTY --- Tests with one argument on each side of an operator: Two strings: = are identical != differ =~ string matches regex Alphabetical sort: < first is lower > first higher Two integers: -eq equal -gt first > second -lt first < second -ne not equal -ge first >= second -le first <= second --- Modify or combine tests: ! EXPR not (swap true/false) EXPR -a EXPR and (are both true) ( EXPR ) evaluate this first EXPR -o EXPR or (is either true)
time
usage: time [-pv] COMMAND... Run command line and report real, user, and system time elapsed in seconds. (real = clock on the wall, user = cpu used by command's code, system = cpu used by OS on behalf of command.) -p POSIX format output -v Verbose
timeout
usage: timeout [-iv] [-k DURATION] [-s SIGNAL] DURATION COMMAND... Run command line as a child process, sending child a signal if the command doesn't exit soon enough. DURATION can be a decimal fraction. An optional suffix can be "m" (minutes), "h" (hours), "d" (days), or "s" (seconds, the default). -i Only kill for inactivity (restart timeout when command produces output) -k Send KILL signal if child still running this long after first signal -s Send specified signal (default TERM) -v Verbose --foreground Don't create new process group --preserve-status Exit with the child's exit status
top
usage: top [-Hhbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-m LINES] [-d SECONDS] [-p PID,] [-u USER,] Show process activity in real time. -H Show threads -h Usage graphs instead of text -k Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID) -o Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE) -O Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default) -s Sort by field number (1-X, default 9) -b Batch mode (no tty) -d Delay SECONDS between each cycle (default 3) -m Maximum number of tasks to show -n Exit after NUMBER iterations -p Show these PIDs -u Show these USERs -q Quiet (no header lines) Cursor UP/DOWN or LEFT/RIGHT to move list, SHIFT LEFT/RIGHT to change sort, space to force update, R to reverse sort, Q to exit.
touch
usage: touch [-amch] [-d DATE] [-t TIME] [-r FILE] FILE... Update the access and modification times of each FILE to the current time. -a Change access time -m Change modification time -c Don't create file -h Change symlink -d Set time to DATE (in YYYY-MM-DDThh:mm:SS[.frac][tz] format) -t Set time to TIME (in [[CC]YY]MMDDhhmm[.ss][frac] format) -r Set time same as reference FILE
true
usage: true Return zero.
truncate
usage: truncate [-c] -s SIZE file... Set length of file(s), extending sparsely if necessary. -c Don't create file if it doesn't exist -s New size (with optional prefix and suffix) SIZE prefix: + add, - subtract, < shrink to, > expand to, / multiple rounding down, % multiple rounding up SIZE suffix: k=1024, m=1024^2, g=1024^3, t=1024^4, p=1024^5, e=1024^6
ts
usage: ts [-is] [FORMAT] Add timestamps to each line in pipeline. Default format without options "%b %d %H:%M:%S", with -i or -s "%H:%M:%S". -i Incremental (since previous line) -m Add milliseconds -s Since start
tsort
usage: tsort [FILE] Topological sort dependency resolver. Read pairs of input strings indicating before/after dependency relationships and find an ordering that respects all dependencies. On success output each string once to stdout, on failure print error and output cycle pairs.
tty
usage: tty [-s] Show filename of terminal connected to stdin. If none print "not a tty" and exit with nonzero status. -s Silent, exit code only
tunctl
usage: tunctl [-dtT] [-u USER] NAME Create and delete tun/tap virtual ethernet devices. -T Use tap (ethernet frames) instead of tun (ip packets) -d Delete tun/tap device -t Create tun/tap device -u Set owner (user who can read/write device without root access)
uclampset
usage: uclampset [-m MIN] [-M MAX] {-p PID | COMMAND...} Set or query process utilization limits ranging from 0 to 1024, or -1 to reset to system default. With no arguments, prints current values. -m MIN Reserve at least this much CPU utilization for task -M MAX Limit task to at most this much CPU utilization -p PID Apply to PID rather than new COMMAND -R Reset child processes to default values on fork -a Apply to all threads for the given PID
ulimit
usage: ulimit [-P PID] [-SHRacdefilmnpqrstuv] [LIMIT] Print or set resource limits for process number PID. If no LIMIT specified (or read-only -ap selected) display current value (sizes in bytes). Default is ulimit -P $PPID -Sf" (show soft filesize of your shell). -P PID to affect (default $PPID) -a Show all limits -S Set/show soft limit -H Set/show hard (maximum) limit -c Core file size (blocks) -d Process data segment (KiB) -e Max scheduling priority -f File size (KiB) -i Pending signal count -l Locked memory (KiB) -m Resident Set Size (KiB) -n Number of open files -p Pipe buffer (512 bytes) -q POSIX message queues -r Max realtime priority -R Realtime latency (us) -s Stack size (KiB) -t Total CPU time (s) -u Maximum processes (this UID) -v Virtual memory size (KiB)
umount
usage: umount [-a [-t TYPE[,TYPE...]]] [-vrfD] [DIR...] Unmount the listed filesystems. -a Unmount all mounts in /proc/mounts instead of command line list -D Don't free loopback device(s) -f Force unmount -l Lazy unmount (detach from filesystem now, close when last user does) -n Don't use /proc/mounts -r Remount read only if unmounting fails -t Restrict "all" to mounts of TYPE (or use "noTYPE" to skip) -v Verbose
uname
usage: uname [-asnrvmo] Print system information. -s System name -n Network (domain) name -r Kernel Release number -v Kernel Version -m Machine (hardware) name -a All of the above (in order) -o Userspace type
unicode
usage: unicode CODE[-END]... Convert between Unicode code points and UTF-8, in both directions. CODE can be one or more characters (show U+XXXX), hex numbers (show character), or dash separated range.
uniq
usage: uniq [-cduiz] [-w MAXCHARS] [-f FIELDS] [-s CHAR] [INFILE [OUTFILE]] Report or filter out repeated lines in a file -c Show counts before each line -d Show only lines that are repeated -u Show only lines that are unique -i Ignore case when comparing lines -z Lines end with \0 not \n -w Compare maximum X chars per line -f Ignore first X fields -s Ignore first X chars
unix2dos
usage: unix2dos [FILE...] Convert newline format from unix "\n" to dos "\r\n". If no files listed copy from stdin, "-" is a synonym for stdin.
unlink
usage: unlink FILE Delete one file.
unshare
usage: unshare [-imnpuUr] COMMAND... Create new container namespace(s) for this process and its children, allowing the new set of processes to have a different view of the system than the parent process. -a Unshare all supported namespaces -f Fork command in the background (--fork) -r Become root (map current euid/egid to 0/0, implies -U) (--map-root-user) Available namespaces: -C Control groups (--cgroup) -i SysV IPC (message queues, semaphores, shared memory) (--ipc) -m Mount/unmount tree (--mount) -n Network address, sockets, routing, iptables (--net) -p Process IDs and init (--pid) -u Host and domain names (--uts) -U UIDs, GIDs, capabilities (--user) Each namespace can take an optional argument, a persistent mountpoint usable by the nsenter command to add new processes to that the namespace. (Specify multiple namespaces to unshare separately, ala -c -i -m because -cim is -c with persistent mount "im".)
uptime
usage: uptime [-ps] Tell the current time, how long the system has been running, the number of users, and the system load averages for the past 1, 5 and 15 minutes. -p Pretty (human readable) uptime -s Since when has the system been up?
usleep
usage: usleep MICROSECONDS Pause for MICROSECONDS microseconds.
uudecode
usage: uudecode [-o OUTFILE] [INFILE] Decode file from stdin (or INFILE). -o Write to OUTFILE instead of filename in header
uuencode
usage: uuencode [-m] [INFILE] ENCODE_FILENAME Uuencode stdin (or INFILE) to stdout, with ENCODE_FILENAME in the output. -m Base64
uuidgen
usage: uuidgen Create and print a new RFC4122 random UUID.
vconfig
usage: vconfig COMMAND [OPTIONS] Create and remove virtual ethernet devices add [interface-name] [vlan_id] rem [vlan-name] set_flag [interface-name] [flag-num] [0 | 1] set_egress_map [vlan-name] [skb_priority] [vlan_qos] set_ingress_map [vlan-name] [skb_priority] [vlan_qos] set_name_type [name-type]
vmstat
usage: vmstat [-n] [DELAY [COUNT]] Print virtual memory statistics, repeating each DELAY seconds, COUNT times. (With no DELAY, prints one line. With no COUNT, repeats until killed.) Show processes running and blocked, kilobytes swapped, free, buffered, and cached, kilobytes swapped in and out per second, file disk blocks input and output per second, interrupts and context switches per second, percent of CPU time spent running user code, system code, idle, and awaiting I/O. First line is since system started, later lines are since last line. -n Display the header only once
w
usage: w Show who is logged on and since how long they logged in.
watch
usage: watch [-tebx] [-n SEC] COMMAND... Run COMMAND every -n seconds, showing output that fits terminal, q to quit. -n Number of seconds between repeats (default 2.0) -t Don't print header -e Exit on error -b Beep on command error -x Exec command directly (without "sh -c")
watchdog
usage: watchdog [-F] [-t UPDATE] [-T DEADLINE] DEV Start the watchdog timer at DEV with optional timeout parameters. -F run in the foreground (do not daemonize) -t poke watchdog every UPDATE seconds (default 4) -T reboot if not poked for DEADLINE seconds (default 60)
wc
usage: wc [-Llwcm] [FILE...] Count lines, words, and characters in input. -L Show max line length -l Show lines -w Show words -c Show bytes -m Show characters By default outputs lines, words, bytes, and filename for each argument (or from stdin if none). Displays only either bytes or characters.
wget
usage: wget [OPTIONS]... [URL] --max-redirect maximum redirections allowed -d, --debug print lots of debugging information -O, --output-document=FILE specify output filename -p, --post-data=DATA send data in body of POST request examples: wget http://www.example.com
which
usage: which [-a] filename ... Search $PATH for executable files matching filename(s). -a Show all matches
who
usage: who Print information about logged in users.
whoami
See logname
xargs
usage: xargs [-0Pprt] [-snE STR] COMMAND... Run command line one or more times, appending arguments from stdin. If COMMAND exits with 255, don't launch another even if arguments remain. -0 Each argument is NULL terminated, no whitespace or quote processing -E Stop at line matching string -n Max number of arguments per command -o Open tty for COMMAND's stdin (default /dev/null) -P Parallel processes (default 1) -p Prompt for y/n from tty before running each command -r Don't run with empty input (otherwise always run command once) -s Size in bytes per command line -t Trace, print command line to stderr
xxd
usage: xxd [-eipr] [-cglos N] [file] Hexdump a file to stdout. If no file is listed, copy from stdin. Filename "-" is a synonym for stdin. -c N Show N bytes per line (default 16) -e Little-endian -g N Group bytes by adding a ' ' every N bytes (default 2) -i Output include file (CSV hex bytes, plus C header/footer if not stdin) -l N Limit of N bytes before stopping (default is no limit) -o N Add N to display offset -p Plain hexdump (30 bytes/line, no grouping. With -c 0 no wrap/group) -r Reverse operation: turn a hexdump into a binary file -s N Skip to offset N
yes
usage: yes [args...] Repeatedly output line until killed. If no args, output 'y'.
zcat
usage: zcat [-f] [FILE...] Decompress files to stdout. Like `gzip -dc`. -f Force: allow read from tty