commit a8f5410688f1a60c7a564be82c42f259706ca950
Author: trinib
Date: Tue Nov 8 08:59:51 2022 -0400
¯\(°_o)/¯
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d13cc4b
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,19 @@
+The MIT License (MIT)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..be508c0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,4055 @@
+
+
+
+
+
+
+# Ultimate list of Linux bash commands
+
+_Bash is the Unix command-line interface (CLI). Also called the terminal, the command line, or the shell. It's a command language that allows us to work with files on our computers in a way that's far more efficient and powerful than using a GUI (graphical user interface)_
+
+A to Z command list 📚
+
+
+> **Note**
+> Use `Ctrl+f` to search in browsers🔎
+
+
+
+
Table
+
+#### │ [A](#-a) │ [B](#-b) │ [C](#-c) │ [D](#-d) │ [E](#-e) │ [F](#-f) │ [G](#-g) │ [H](#-h) │ [I](#-i) │ [J](#-j) │ [K](#-k) │ [L](#-l) │ [M](#-m) │ [N](#-n) │ [O](#-o) │ [P](#-p) │ [Q](#-q) │ [R](#-r) │ [S](#-s) │ [T](#-t) │ [U](#-u) │ [V](#-v) │ [W](#-w) │ [X](#-x) │ [Y](#-y) │ [Z](#-z) │
+
+
+
+ A
+
+
+
+
+Command |
+Description |
+
+
+accept |
+Accept or Reject jobs to a destination, such as a printer. |
+
+
+access |
+Check a user’s RWX permission for a file. |
+
+
+aclocal |
+GNU autoconf tool. |
+
+
+aconnect |
+ALSA sequencer connection manager. |
+
+
+acpi |
+Show information about the Advanced Configuration and Power Interface. |
+
+
+acpi_available |
+Check if ACPI functionality exists on the system. |
+
+
+acpid |
+Informs user-space programs about ACPI events. |
+
+
+addr2line |
+Used to convert addresses into file names and line numbers. |
+
+
+addresses |
+Formats for internet mail addresses. |
+
+
+agetty |
+An alternative Linux Getty. |
+
+
+alias |
+Create an alias for Linux commands. |
+
+
+alsactl |
+Access advanced controls for ALSA soundcard driver. |
+
+
+amidi |
+Perform read/write operation for ALSA RawMIDI ports. |
+
+
+amixer |
+Access CLI-based mixer for ALSA soundcard driver. |
+
+
+anacron |
+Used to run commands periodically. |
+
+
+aplay |
+Sound recorder and player for CLI. |
+
+
+aplaymidi |
+CLI utility used to play MIDI files. |
+
+
+apm |
+Show Advanced Power Management (APM) hardware info on older systems. |
+
+
+apmd |
+Used to handle events reported by APM BIOS drivers. |
+
+
+apropos |
+Shows the list of all man pages containing a specific keyword. |
+
+
+apt |
+Advanced Package Tool, a package management system for Debian and derivatives. |
+
+
+apt-get |
+Command-line utility to install/remove/update packages based on APT system. |
+
+
+aptitude |
+Another utility to add/remove/upgrade packages based on the APT system. |
+
+
+ar |
+A utility to create/modify/extract from archives. |
+
+
+arch |
+Display print machine hardware name. |
+
+
+arecord |
+Just like aplay, it’s a sound recorder and player for ALSA soundcard driver. |
+
+
+arecordmidi |
+Record standard MIDI files. |
+
+
+arp |
+Used to make changes to the system’s ARP cache. |
+
+
+as |
+A portable GNU assembler. |
+
+
+aspell |
+An interactive spell checker utility. |
+
+
+at |
+Used to schedule command execution at specified date & time, reading commands from an input file. |
+
+
+atd |
+Used to execute jobs queued by the at command. |
+
+
+atq |
+List a user’s pending jobs for the at command. |
+
+
+atrm |
+Delete jobs queued by the at command. |
+
+
+audiosend |
+Used to send an audio recording as an email. |
+
+
+aumix |
+An audio mixer utility. |
+
+
+autoconf |
+Generate configuration scripts from a TEMPLATE-FILE and send the output to standard output. |
+
+
+autoheader |
+Create a template header for configure. |
+
+
+automake |
+Creates GNU standards-compliant Makefiles from template files. |
+
+
+autoreconf |
+Update generated configuration files. |
+
+
+autoscan |
+Generate a preliminary configure.in file. |
+
+
+autoupdate |
+Update a configure.in file to newer autoconf. |
+
+
+awk |
+Used to find and replace text in a file(s). |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ B
+
+
+
+
+
+Command |
+Description |
+
+
+badblocks |
+Search a disk partition for bad sectors. |
+
+
+banner |
+Used to print characters as a poster. |
+
+
+basename |
+Used to display filenames with directory or suffix. |
+
+
+bash |
+GNU Bourne-Again Shell. |
+
+
+batch |
+Used to run commands entered on a standard input. |
+
+
+bc |
+Access the GNU bc calculator utility. |
+
+
+bg |
+Send processes to the background. |
+
+
+biff |
+Notify about incoming mail and sender’s name on a system running comsat server. |
+
+
+bind |
+Used to attach a name to a socket. |
+
+
+bison |
+A GNU parser generator, compatible with yacc. |
+
+
+break |
+Used to exit from a loop (eg: for, while, select). |
+
+
+builtin |
+Used to run shell builtin commands, make custom functions for commands extending their functionality. |
+
+
+bzcmp |
+Used to call the cmp program forbzip2 compressed files. |
+
+
+bzdiff |
+Used to call the diff program for bzip2 compressed files. |
+
+
+bzgrep |
+Used to call grep for bzip2 compressed files. |
+
+
+bzip2 |
+A block-sorting file compressor used to shrink given files. |
+
+
+bzless |
+Used to apply ‘less’ (show info one page at a time) to bzip2 compressed files. |
+
+
+bzmore |
+Used to apply ‘more’ (an inferior version of less) to bzip2 compressed files. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ C
+
+
+
+
+
+Command |
+Description |
+
+
+cal |
+Show calendar. |
+
+
+cardctl |
+Used to control PCMCIA sockets and select configuration schemes. |
+
+
+cardmgr |
+Keeps an eye on the added/removes sockets for PCMCIA devices. |
+
+
+case |
+Execute a command conditionally by matching a pattern. |
+
+
+cat |
+Used to concatenate files and print them on the screen. |
+
+
+cc |
+GNU C and C++ compiler. |
+
+
+cd |
+Used to change directory. |
+
+
+cdda2wav |
+Used to rip a CD-ROM and make WAV file. |
+
+
+cdparanoia |
+Record audio from CD more reliably using data-verification algorithms. |
+
+
+cdrdao |
+Used to write all the content specified to a file to a CD all at once. |
+
+
+cdrecord |
+Used to record data or audio compact discs. |
+
+
+cfdisk |
+Show or change the disk partition table. |
+
+
+chage |
+Used to change user password information. |
+
+
+chattr |
+Used to change file attributes. |
+
+
+chdir |
+Used to change active working directory. |
+
+
+chfn |
+Used to change real user name and information. |
+
+
+chgrp |
+Used to change group ownership for file. |
+
+
+chkconfig |
+Manage execution of runlevel services. |
+
+
+chmod |
+Change access permission for a file(s). |
+
+
+chown |
+Change the owner or group for a file. |
+
+
+chpasswd |
+Update password in a batch. |
+
+
+chroot |
+Run a command with root directory. |
+
+
+chrt |
+Alter process attributed in real-time. |
+
+
+chsh |
+Switch login shell. |
+
+
+chvt |
+Change foreground virtual terminal. |
+
+
+cksum |
+Perform a CRC checksum for files. |
+
+
+clear |
+Used to clear the terminal window. |
+
+
+cmp |
+Compare two files (byte by byte). |
+
+
+col |
+Filter reverse (and half-reverse) line feeds from the input. |
+
+
+colcrt |
+Filter nroff output for CRT previewing. |
+
+
+colrm |
+Remove columns from the lines of a file. |
+
+
+column |
+A utility that formats its input into columns. |
+
+
+comm |
+Used to compare two sorted files line by line. |
+
+
+command |
+Used to execute a command with arguments ignoring shell function named command. |
+
+
+compress |
+Used to compress one or more file(s) and replacing the originals ones. |
+
+
+continue |
+Resume the next iteration of a loop. |
+
+
+cp |
+Copy contents of one file to another. |
+
+
+cpio |
+Copy files from and to archives. |
+
+
+cpp |
+GNU C language processor. |
+
+
+cron |
+A daemon to execute scheduled commands. |
+
+
+crond |
+Same work as cron. |
+
+
+crontab |
+Manage crontab files (containing schedules commands) for users. |
+
+
+csplit |
+Split a file into sections on the basis of context lines. |
+
+
+ctags |
+Make a list of functions and macro names defined in a programming source file. |
+
+
+cupsd |
+A scheduler for CUPS. |
+
+
+curl |
+Used to transfer data from or to a server using supported protocols. |
+
+
+cut |
+Used to remove sections from each line of a file(s). |
+
+
+cvs |
+Concurrent Versions System. Used to track file versions, allow storage/retrieval of previous versions, and enables multiple users to work on the same file. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ D
+
+
+
+
+
+Command |
+Description |
+
+
+date |
+Show system date and time. |
+
+
+dc |
+Desk calculator utility. |
+
+
+dd |
+Used to convert and copy a file, create disk clone, write disk headers, etc. |
+
+
+ddrescue |
+Used to recover data from a crashed partition. |
+
+
+deallocvt |
+Deallocates kernel memory for unused virtual consoles. |
+
+
+debugfs |
+File system debugger for ext2/ext3/ext4 |
+
+
+declare |
+Used to declare variables and assign attributes. |
+
+
+depmod |
+Generate modules.dep and map files. |
+
+
+devdump |
+Interactively displays the contents of device or file system ISO. |
+
+
+df |
+Show disk usage. |
+
+
+diff |
+Used to compare files line by line. |
+
+
+diff3 |
+Compare three files line by line. |
+
+
+dig |
+Domain Information Groper, a DNS lookup utility. |
+
+
+dir |
+List the contents of a directory. |
+
+
+dircolors |
+Set colors for ‘ls’ by altering the LS_COLORS environment variable. |
+
+
+dirname |
+Display pathname after removing the last slash and characters thereafter. |
+
+
+dirs |
+Show the list of remembered directories. |
+
+
+disable |
+Restrict access to a printer. |
+
+
+dlpsh |
+Interactive Desktop Link Protocol (DLP) shell for PalmOS. |
+
+
+dmesg |
+Examine and control the kernel ring buffer. |
+
+
+dnsdomainname |
+Show the DNS domain name of the system. |
+
+
+dnssec-keygen |
+Generate encrypted Secure DNS keys for a given domain name. |
+
+
+dnssec-makekeyset |
+Produce domain key set from one or more DNS security keys generated by dnssec-keygen. |
+
+
+dnssec-signkey |
+Sign a secure DNS keyset with key signatures specified in the list of key-identifiers. |
+
+
+dnssec-signzone |
+Sign a secure DNS zonefile with the signatures in the specified list of key-identifiers. |
+
+
+doexec |
+Used to run an executable with an arbitrary argv list provided. |
+
+
+domainname |
+Show or set the name of current NIS (Network Information Services) domain. |
+
+
+dosfsck |
+Check and repair MS-DOS file systems. |
+
+
+du |
+Show disk usage summary for a file(s). |
+
+
+dump |
+Backup utility for ext2/ext3 file systems. |
+
+
+dumpe2fs |
+Dump ext2/ext3/ext4 file systems. |
+
+
+dumpkeys |
+Show information about the keyboard driver’s current translation tables. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ E
+
+
+
+
+
+Command |
+Description |
+
+
+e2fsck |
+Used to check ext2/ext3/ext4 file systems. |
+
+
+e2image |
+Store important ext2/ext3/ext4 filesystem metadata to a file. |
+
+
+e2label |
+Show or change the label on an ext2/ext3/ext4 filesystem. |
+
+
+echo |
+Send input string(s) to standard output i.e. display text on the screen. |
+
+
+ed |
+GNU Ed – a line-oriented text editor. |
+
+
+edquota |
+Used to edit filesystem quotas using a text editor, such as vi. |
+
+
+egrep |
+Search and display text matching a pattern. |
+
+
+eject |
+Eject removable media. |
+
+
+elvtune |
+Used to set latency in the elevator algorithm used to schedule I/O activities for specified block devices. |
+
+
+emacs |
+Emacs text editor command line utility. |
+
+
+enable |
+Used to enable/disable shell builtin commands. |
+
+
+env |
+Run a command in a modified environment. Show/set/delete environment variables. |
+
+
+envsubst |
+Substitute environment variable values in shell format strings. |
+
+
+esd |
+Start the Enlightenment Sound Daemon (EsounD or esd). Enables multiple applications to access the same audio device simultaneously. |
+
+
+esd-config |
+Manage EsounD configuration. |
+
+
+esdcat |
+Use EsounD to send audio data from a specified file. |
+
+
+esdctl |
+EsounD control program. |
+
+
+esddsp |
+Used to reroute non-esd audio data to esd and control all the audio using esd. |
+
+
+esdmon |
+Used to copy the sound being sent to a device. Also, send it to a secondary device. |
+
+
+esdplay |
+Use EsounD system to play a file. |
+
+
+esdrec |
+Use EsounD to record audio to a specified file. |
+
+
+esdsample |
+Sample audio using esd. |
+
+
+etags |
+Used to create a list of functions and macros from a programming source file. These etags are used by emacs. For vi, use ctags. |
+
+
+ethtool |
+Used to query and control network driver and hardware settings. |
+
+
+eval |
+Used to evaluate multiple commands or arguments are once. |
+
+
+ex |
+Interactive command |
+
+
+exec |
+An interactive line-based text editor. |
+
+
+exit |
+Exit from the terminal. |
+
+
+expand |
+Convert tabs into spaces in a given file and show the output. |
+
+
+expect |
+An extension to the Tcl script, it’s used to automate interaction with other applications based on their expected output. |
+
+
+export |
+Used to set an environment variable. |
+
+
+expr |
+Evaluate expressions and display them on standard output. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ F
+
+
+
+
+
+Command |
+Description |
+
+
+factor |
+Display prime factors of specified integer numbers. |
+
+
+false |
+Do nothing, unsuccessfully. Exit with a status code indicating failure. |
+
+
+fc-cache |
+Make font information cache after scanning the directories. |
+
+
+fc-list |
+Show the list of available fonts. |
+
+
+fdformat |
+Do a low-level format on a floppy disk. |
+
+
+fdisk |
+Make changes to the disk partition table. |
+
+
+fetchmail |
+Fetch mail from mail servers and forward it to the local mail delivery system. |
+
+
+fg |
+Used to send a job to the foreground. |
+
+
+fgconsole |
+Display the number of the current virtual console. |
+
+
+fgrep |
+Display lines from a file(s) that match a specified string. A variant of grep. |
+
+
+file |
+Determine file type for a file. |
+
+
+find |
+Do a file search in a directory hierarchy. |
+
+
+finger |
+Display user data including the information listed in .planand .projectin each user’s home directory. |
+
+
+fingerd |
+Provides a network interface for the finger program. |
+
+
+flex |
+Generate programs that perform pattern-matching on text. |
+
+
+fmt |
+Used to convert text to a specified width by filling lines and removing new lines, displaying the output. |
+
+
+fold |
+Wrap input line to fit in a specified width. |
+
+
+for |
+Expand words and run commands for each one in the resultant list. |
+
+
+formail |
+Used to filter standard input into mailbox format. |
+
+
+format |
+Used to format disks. |
+
+
+free |
+Show free and used system memory. |
+
+
+fsck |
+Check and repair a Linux file system |
+
+
+ftp |
+File transfer protocol user interface. |
+
+
+ftpd |
+FTP server process. |
+
+
+function |
+Used to define function macros. |
+
+
+fuser |
+Find and kill a process accessing a file. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ G
+
+
+
+
+
+Command |
+Description |
+
+
+g++ |
+Run the g++ compiler. |
+
+
+gawk |
+Used for pattern scanning and language processing. A GNU implementation of AWK language. |
+
+
+gcc |
+A C and C++ compiler by GNU. |
+
+
+gdb |
+A utility to debug programs and know about where it crashes. |
+
+
+getent |
+Shows entries from Name Service Switch Libraries for specified keys. |
+
+
+getkeycodes |
+Displays the kernel scancode-to-keycode mapping table. |
+
+
+getopts |
+A utility to parse positional parameters. |
+
+
+gpasswd |
+Allows an administrator to change group passwords. |
+
+
+gpg |
+Enables encryption and signing services as per the OpenPGP standard. |
+
+
+gpgsplit |
+Used to split an OpenPGP message into packets. |
+
+
+gpgv |
+Used to verify OpenPGP signatures. |
+
+
+gpm |
+It enables cut and paste functionality and a mouse server for the Linux console. |
+
+
+gprof |
+Shows call graph profile data. |
+
+
+grep |
+Searches input files for a given pattern and displays the relevant lines. |
+
+
+groff |
+Serves as the front-end of the groff document formatting system. |
+
+
+groffer |
+Displays groff files and man pages. |
+
+
+groupadd |
+Used to add a new user group. |
+
+
+groupdel |
+Used to remove a user group. |
+
+
+groupmod |
+Used to modify a group definition. |
+
+
+groups |
+Showthe group(s) to which a user belongs. |
+
+
+grpck |
+Verifies the integrity of group files. |
+
+
+grpconv |
+Creates agshadow file from a group or an already existing gshadow. |
+
+
+gs |
+Invokes Ghostscript, and interpreter and previewer for Adobe’s PostScript and PDF languages. |
+
+
+gunzip |
+A utility to compress/expand files. |
+
+
+gzexe |
+Used compress executable files in place and have them automatically uncompress and run at a later stage. |
+
+
+gzip |
+A utility to compress/expand files. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ H
+
+
+
+
+
+Command |
+Description |
+
+
+halt |
+Command used to half the machine. |
+
+
+hash |
+Shows the path for the commands executed in the shell. |
+
+
+hdparm |
+Show/configure parameters for SATA/IDE devices. |
+
+
+head |
+Shows first 10 lines from each specified file. |
+
+
+help |
+Display’s help for a built-in command. |
+
+
+hexdump |
+Shows specified file output in hexadecimal, octal, decimal, or ASCII format. |
+
+
+history |
+Shows the command history. |
+
+
+host |
+A utility to perform DNS lookups. |
+
+
+hostid |
+Shows host’s numeric ID in hexadecimal format. |
+
+
+hostname |
+Display/set the hostname of the system. |
+
+
+htdigest |
+Manage the user authentication file used by the Apache web server. |
+
+
+htop |
+An interactive process viewer for the command line. |
+
+
+hwclock |
+Show or configure the system’s hardware clock. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ I
+
+
+
+
+
+Command |
+Description |
+
+
+iconv |
+Convert text file from one encoding to another. |
+
+
+id |
+Show user and group information for a specified user. |
+
+
+if |
+Execute a command conditionally. |
+
+
+ifconfig |
+Used to configure network interfaces. |
+
+
+ifdown |
+Stops a network interface. |
+
+
+ifup |
+Starts a network interface. |
+
+
+imapd |
+An IMAP (Interactive Mail Access Protocol) server daemon. |
+
+
+import |
+Capture an X server screen and saves it as an image. |
+
+
+inetd |
+Extended internet services daemon, it starts the programs that provide internet services. |
+
+
+info |
+Used to read the documentation in Info format. |
+
+
+init |
+Systemd system and service manager. |
+
+
+insmod |
+A program that inserts a module into the Linux kernel. |
+
+
+install |
+Used to copy files to specified locations and set attributions during the install process. |
+
+
+iostat |
+Shows statistics for CPU, I/O devices, partitions, network filesystems. |
+
+
+ip |
+Display/manipulate routing, devices, policy, routing and tunnels. |
+
+
+ipcrm |
+Used to remove System V interprocess communication (IPC) objects and associated data structures. |
+
+
+ipcs |
+Show information on IPC facilities for which calling process has read access. |
+
+
+iptables |
+Administration tool for IPv4 packet filtering and NAT. |
+
+
+iptables-restore |
+Used to restore IP tables from data specified in the input or a file. |
+
+
+iptables-save |
+Used to dump IP table contents to standard output. |
+
+
+isodump |
+A utility that shows the content iso9660 images to verify the integrity of directory contents. |
+
+
+isoinfo |
+A utility to perform directory like listings of iso9660 images. |
+
+
+isosize |
+Show the length of an iso9660 filesystem contained in a specified file. |
+
+
+isovfy |
+Verifies the integrity of an iso9660 image. |
+
+
+ispell |
+A CLI-based spell-check utility. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ J
+
+
+
+
+
+Command |
+Description |
+
+
+jobs |
+Show the list of active jobs and their status. |
+
+
+join |
+For each pair of input lines, join them using a command field and display on standard output. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ K
+
+
+
+
+
+Command |
+Description |
+
+
+kbd_mode |
+Set a keyboard mode. Without arguments, shows the current keyboard mode. |
+
+
+kbdrate |
+Reset keyboard repeat rate and delay time. |
+
+
+kill |
+Send a kill (termination) signal to one more processes. |
+
+
+killall |
+Kills a process(es) running a specified command. |
+
+
+killall5 |
+A SystemV killall command. Kills all the processes excluding the ones which it depends on. |
+
+
+klogd |
+Control and prioritize the kernel messages to be displayed on the console, and log them through syslogd. |
+
+
+kudzu |
+Used to detect new and enhanced hardware by comparing it with existing database. Only for RHEL and derivatives. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ L
+
+
+
+
+
+Command |
+Description |
+
+
+last |
+Shows a list of recent logins on the system by fetching data from /var/log/wtmp file. |
+
+
+lastb |
+Shows the list of bad login attempts by fetching data from /var/log/btmpfile. |
+
+
+lastlog |
+Displays information about the most recent login of all users or a specified user. |
+
+
+ld |
+The Unix linker, it combines archives and object files. It then puts them into one output file, resolving external references. |
+
+
+ldconfig |
+Configure dynamic linker run-time bindings. |
+
+
+ldd |
+Shows shared object dependencies. |
+
+
+less |
+Displays contents of a fileone page at a time. It’s advanced than more command. |
+
+
+lesskey |
+Used to specify key bindings for less command. |
+
+
+let |
+Used to perform integer artithmetic on shell variables. |
+
+
+lftp |
+An FTP utility with extra features. |
+
+
+lftpget |
+Uses lftop to retrieve HTTP, FTP, and other protocol URLs supported by lftp. |
+
+
+link |
+Create links between two files. Similar to ln command. |
+
+
+ln |
+Create links between files. Links can be hard (two names for the same file) or soft (a shortcut of the first file). |
+
+
+loadkeys |
+Load keyboard translation tables. |
+
+
+local |
+Used to create function variables. |
+
+
+locale |
+Shows information about current or all locales. |
+
+
+locate |
+Used to find files by their name. |
+
+
+lockfile |
+Create semaphore file(s) which can be used to limit access to a file. |
+
+
+logger |
+Make entries in the system log. |
+
+
+login |
+Create a new session on the system. |
+
+
+logname |
+Shows the login name of the current user. |
+
+
+logout |
+Performs the logout operation by making changes to the utmp and wtmp files. |
+
+
+logrotate |
+Used for automatic rotation, compression, removal, and mailing of system log files. |
+
+
+look |
+Shows any lines in a file containing a given string in the beginning. |
+
+
+losetup |
+Set up and control loop devices. |
+
+
+lpadmin |
+Used to configure printer and class queues provided by CUPS (Common UNIX Printing System). |
+
+
+lpc |
+Line printer control program, it provides limited control over CUPS printer and class queues. |
+
+
+lpinfo |
+Shows the list of available devices and drivers known to the CUPS server. |
+
+
+lpmove |
+Move on or more printing jobs to a new destination. |
+
+
+lpq |
+Shows current print queue status for a specified printer. |
+
+
+lpr |
+Used to submit files for printing. |
+
+
+lprint |
+Used to print a file. |
+
+
+lprintd |
+Used to abort a print job. |
+
+
+lprintq |
+List the print queue. |
+
+
+lprm |
+Cancel print jobs. |
+
+
+lpstat |
+Displays status information about current classes, jobs, and printers. |
+
+
+ls |
+Shows the list of files in the current directory. |
+
+
+lsattr |
+Shows file attributes on a Linux ext2 file system. |
+
+
+lsblk |
+Lists information about all available or the specified block devices. |
+
+
+lsmod |
+Show the status of modules in the Linux kernel. |
+
+
+lsof |
+List open files. |
+
+
+lspci |
+List all PCI devices. |
+
+
+lsusb |
+List USB devices. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ M
+
+
+
+
+
+Command |
+Description |
+
+
+m4 |
+Macro processor. |
+
+
+mail |
+Utility to compose, receive, send, forward, and reply to emails. |
+
+
+mailq |
+Shows to list all emails queued for delivery (sendmail queue). |
+
+
+mailstats |
+Shows current mail statistics. |
+
+
+mailto |
+Used to send mail with multimedia content in MIME format. |
+
+
+make |
+Utility to maintain groups of programs, recompile them if needed. |
+
+
+makedbm |
+Creates an NIS (Network Information Services) database map. |
+
+
+makemap |
+Creates database maps used by the keyed map lookups in sendmail. |
+
+
+man |
+Shows manual pages for Linux commands. |
+
+
+manpath |
+Determine search path for manual pages. |
+
+
+mattrib |
+Used to change MS-DOS file attribute flags. |
+
+
+mbadblocks |
+Checks MD-DOS filesystems for bad blocks. |
+
+
+mcat |
+Dump raw disk image. |
+
+
+mcd |
+Used to change MS-DOS directory. |
+
+
+mcopy |
+Used to copy MS-DOS files from or to Unix. |
+
+
+md5sum |
+Used to check MD5 checksum for a file. |
+
+
+mdel, mdeltree |
+Used to delete MS-DOS file. mdeltree recursively deletes MS-DOS directory and its contents. |
+
+
+mdir |
+Used to display an MS-DOS directory. |
+
+
+mdu |
+Used to display the amount of space occupied by an MS-DOS directory. |
+
+
+merge |
+Three-way file merge. Includes all changes from file2 and file3 to file1. |
+
+
+mesg |
+Allow/disallow osends to sedn write messages to your terminal. |
+
+
+metamail |
+For sending and showing rich text or multimedia email using MIME typing metadata. |
+
+
+metasend |
+An interface for sending non-text mail. |
+
+
+mformat |
+Used to add an MS-DOS filesystem to a low-level formatted floppy disk. |
+
+
+mimencode |
+Translate to/from MIME multimedia mail encoding formats. |
+
+
+minfo |
+Display parameters of an MS-DOS filesystem. |
+
+
+mkdir |
+Used to create directories. |
+
+
+mkdosfs |
+Used to create an MS-DOS filesystem under Linux. |
+
+
+mke2fs |
+Used create an ext2/ext3/ext4 filesystem. |
+
+
+mkfifo |
+Used to create named pipes (FIFOs) with the given names. |
+
+
+mkfs |
+Used to build a Linux filesystem on a hard disk partition. |
+
+
+mkfs.ext3 |
+Same as mke2fs, create an ext3 Linux filesystem. |
+
+
+mkisofs |
+Used to create an ISO9660/JOLIET/HFS hybrid filesystem. |
+
+
+mklost+found |
+Create a lost+found directory on a mounted ext2 filesystem. |
+
+
+mkmanifest |
+Makes alist of file names and their DOS 8.3 equivalent. |
+
+
+mknod |
+Create a FIFO, block (buffered) special file, character (unbuffered) special file with the specified name. |
+
+
+mkraid |
+Used to setup RAID device arrays. |
+
+
+mkswap |
+Set up a Linux swap area. |
+
+
+mktemp |
+Create a temporary file or directory. |
+
+
+mlabel |
+Make an MD-DOS volume label. |
+
+
+mmd |
+Make an MS-DOS subdirectory. |
+
+
+mmount |
+Mount an MS-DOS disk. |
+
+
+mmove |
+Move or rename an MS-DOS file or subdirectory. |
+
+
+mmv |
+Mass move and rename files. |
+
+
+modinfo |
+Show information about a Linux kernel module. |
+
+
+modprobe |
+Add or remove modules from the Linux kernel. |
+
+
+more |
+Display content of a file page-by-page. |
+
+
+most |
+Browse or page through a text file. |
+
+
+mount |
+Mount a filesystem. |
+
+
+mountd |
+NFS mount daemon. |
+
+
+mpartition |
+Partition an MS-DOS disk. |
+
+
+mpg123 |
+Command-line mp3 player. |
+
+
+mpg321 |
+Similar to mpg123. |
+
+
+mrd |
+Remove an MS-DOS subdirectory. |
+
+
+mren |
+Rename an existing MS-DOS file. |
+
+
+mshowfat |
+Show FTA clusters allocated to a file. |
+
+
+mt |
+Control magnetic tape drive operation. |
+
+
+mtools |
+Utilities to access MS-DOS disks. |
+
+
+mtoolstest |
+Tests and displays the mtools configuration files. |
+
+
+mtr |
+A network diagnostic tool. |
+
+
+mtype |
+Display contents of an MS-DOS file. |
+
+
+mv |
+Move/rename files or directories. |
+
+
+mzip |
+Change protection mode and eject disk on Zip/Jaz drive. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ N
+
+
+
+
+
+Command |
+Description |
+
+
+named |
+Internet domain name server. |
+
+
+namei |
+Follow a pathname until a terminal point is found. |
+
+
+nameif |
+Name network interfaces based on MAC addresses. |
+
+
+nc |
+Netcat utility. Arbitrary TCP and UDP connections and listens. |
+
+
+netstat |
+Show network information. |
+
+
+newaliases |
+Rebuilds mail alias database. |
+
+
+newgrp |
+Log-in to a new group. |
+
+
+newusers |
+Update/create new users in batch. |
+
+
+nfsd |
+Special filesystem for controlling Linux NFS server. |
+
+
+nfsstat |
+List NFS statistics. |
+
+
+nice |
+Run a program with modified scheduling priority. |
+
+
+nl |
+Show numbered line while displaying the contents of a file. |
+
+
+nm |
+List symbols from object files. |
+
+
+nohup |
+Run a command immune to hangups. |
+
+
+notify-send |
+A program to send desktop notifications. |
+
+
+nslookup |
+Used performs DNS queries. Read this article for more info. |
+
+
+nsupdate |
+Dynamic DNS update utility. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ O
+
+
+
+
+
+Command |
+Description |
+
+
+objcopy |
+Copy and translate object files. |
+
+
+objdump |
+Display information from object files. |
+
+
+od |
+Dump files in octal and other formats. |
+
+
+op |
+Operator access, allows system administrators to grant users access to certain root operations that require superuser privileges. |
+
+
+open |
+Open a file using its default application. |
+
+
+openvt |
+Start a program on a new virtual terminal (VT). |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ P
+
+
+
+
+
+Command |
+Description |
+
+
+passwd |
+Change user password. |
+
+
+paste |
+Merge lines of files. Write to standard output, TAB-separated lines consisting of sequentially corresponding lines from each file. |
+
+
+patch |
+Apply a patchfile (containing differences listing by diff program) to an original file. |
+
+
+pathchk |
+Check if file names are valid or portable. |
+
+
+perl |
+Perl 5 language interpreter. |
+
+
+pgrep |
+List process IDs matching the specified criteria among all the running processes. |
+
+
+pidof |
+Find process ID of a running program. |
+
+
+ping |
+Send ICMP ECHO_REQUEST to network hosts. |
+
+
+pinky |
+Lightweight finger. |
+
+
+pkill |
+Send kill signal to processes based on name and other attributes. |
+
+
+pmap |
+Report memory map of a process. |
+
+
+popd |
+Removes directory on the head of the directory stack and takes you to the new directory on the head. |
+
+
+portmap |
+Converts RPC program numbers to IP port numbers. |
+
+
+poweroff |
+Shuts down the machine. |
+
+
+pppd |
+Point-to-point protocol daemon. |
+
+
+pr |
+Convert (column or paginate) text files for printing. |
+
+
+praliases |
+Prints the current system mail aliases. |
+
+
+printcap |
+Printer capability database. |
+
+
+printenv |
+Show values of all or specified environment variables. |
+
+
+printf |
+Show arguments formatted according to a specified format. |
+
+
+ps |
+Report a snapshot of the current processes. |
+
+
+ptx |
+Produce a permuted index of file contents. |
+
+
+pushd |
+Appends a given directory name to the head of the stack and then cd to the given directory. |
+
+
+pv |
+Monitor progress of data through a pipe. |
+
+
+pwck |
+Verify integrity of password files. |
+
+
+pwconv |
+Creates shadow from passwd and an optionally existing shadow. |
+
+
+pwd |
+Show current directory. |
+
+
+python |
+ |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ Q
+
+
+
+
+
+Command |
+Description |
+
+
+quota |
+Shows disk usage, and space limits for a user or group. Without arguments, only shows user quotas. |
+
+
+quotacheck |
+Used to scan a file system for disk usage. |
+
+
+quotactl |
+Make changes to disk quotas. |
+
+
+quotaoff |
+Enable enforcement of filesystem quotas. |
+
+
+quotaon |
+Disable enforcement of filesystem quotas. |
+
+
+quotastats |
+Shows the report of quota system statistics gathered from the kernel. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ R
+
+
+
+
+
+Command |
+Description |
+
+
+raidstart |
+Start/stop RAID devices. |
+
+
+ram |
+RAM disk device used to access the RAM disk in raw mode. |
+
+
+ramsize |
+Show usage information for the RAM disk. |
+
+
+ranlib |
+Generate index to the contents of an archive and store it in the archive. |
+
+
+rar |
+Create and manage RAR file in Linux. |
+
+
+rarpd |
+Respond to Reverse Address Resolution Protocol (RARP) requests. |
+
+
+rcp |
+Remote copy command to copy files between remote computers. |
+
+
+rdate |
+Set system date and time by fetching information from a remote machine. |
+
+
+rdev |
+Set or query RAM disk size, image root device, or video mode. |
+
+
+rdist |
+Remote file distribution client, maintains identical file copies over multiple hosts. |
+
+
+rdistd |
+Start the rdist server. |
+
+
+read |
+Read from a file descriptor. |
+
+
+readarray |
+Read lines from a file into an array variable. |
+
+
+readcd |
+Read/write compact disks. |
+
+
+readelf |
+Shows information about ELF (Executable and Linkable format) files. |
+
+
+readlink |
+Display value of a symbolic link or canonical file name. |
+
+
+readonly |
+Mark functions and variables as read-only. |
+
+
+reboot |
+Restart the machine. |
+
+
+reject |
+Accept/reject print jobs sent to a specified destination. |
+
+
+remsync |
+Synchronize remote files over email. |
+
+
+rename |
+Rename one or more files. |
+
+
+renice |
+Change priority of active processes. |
+
+
+repquota |
+Report disk usage and quotas for a specified filesystem. |
+
+
+reset |
+Reinitialize the terminal. |
+
+
+resize2fs |
+Used to resize ext2/ext3/ext4 file systems. |
+
+
+restore |
+Restore files from a backup created using dump. |
+
+
+return |
+Exit a shell function. |
+
+
+rev |
+Show contents of a file, reversing the order of characters in every line. |
+
+
+rexec |
+Remote execution client for exec server. |
+
+
+rexecd |
+Remote execution server. |
+
+
+richtext |
+View “richtext” on an ACSII terminal. |
+
+
+rlogin |
+Used to connect a local host system with a remote host. |
+
+
+rlogind |
+Acts as the server for rlogin.It facilitates remote login, and authentication based on privileged port numbers from trusted hosts. |
+
+
+rm |
+Removes specified files and directories (not by default). |
+
+
+rmail |
+Handle remote mail received via uucp. |
+
+
+rmdir |
+Used to remove empty directories. |
+
+
+rmmod |
+A program to remove modules from Linux kernel. |
+
+
+rndc |
+Name server control utility. Send command to a BIND DNS server over a TCP connection. |
+
+
+rootflags |
+Show/set flags for the kernel image. |
+
+
+route |
+Show/change IP routing table. |
+
+
+routed |
+A daemon, invoked at boot time, to manage internet routing tables. |
+
+
+rpcgen |
+An RPC protocol compiler. Parse a file written in the RPC language. |
+
+
+rpcinfo |
+Shows RPC information. Makes an RPC call to an RPC server and reports the findings. |
+
+
+rpm |
+A package manager for Linux distributions. Originally developed for RedHat Linux. |
+
+
+rsh |
+Remote shell. Connects to a specified host and executes commands. |
+
+
+rshd |
+A daemon that acts as a server for rsh and rcp commands. |
+
+
+rsync |
+A versitile to for copying files remotely and locally. |
+
+
+runlevel |
+Shows previous and current SysV runlevel. |
+
+
+rup |
+Remote status display. Shows current system status for all or specified hosts on the local network. |
+
+
+ruptime |
+Shows uptime and login details of the machines on the local network. |
+
+
+rusers |
+Shows the list of the users logged-in to the host or on all machines on the local network. |
+
+
+rusersd |
+The rsuerd daemon acts as a server that responds to the queries from rsuers command. |
+
+
+rwall |
+Sends messages to all users on the local network. |
+
+
+rwho |
+Reports who is logged-in to the hosts on the local network. |
+
+
+rwhod |
+Acts as a server for rwho and ruptime commands. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ S
+
+
+
+
+
+Command |
+Description |
+
+
+sane-find-scanner |
+Find SCSI and USB scanner and determine their device files. |
+
+
+scanadf |
+Retrieve multiple images from a scanner equipped with an automatic document feeder (ADF). |
+
+
+scanimage |
+Read images from image acquisition devices (scanner or camera) and display on standard output in PNM (Portable aNyMap) format. |
+
+
+scp |
+Copy files between hosts on a network securely using SSH. |
+
+
+screen |
+A window manager that enables multiple pseudo-terminals with the help of ANSI/VT100 terminal emulation. |
+
+
+script |
+Used to make a typescript of everything displayed on the screen during a terminal session. |
+
+
+sdiff |
+Shows two files side-by-side and highlights the differences. |
+
+
+sed |
+Stream editor for filtering and transforming text (from a file or a pipe input). |
+
+
+select |
+Synchronous I/O multiplexing. |
+
+
+sendmail |
+It’s a mail router or an MTA (Mail Transfer Agent). sendmail support can send a mail to one or more recipients using necessary protocols. |
+
+
+sensors |
+Shows the current readings of all sensor chips. |
+
+
+seq |
+Displays an incremental sequence of numbers from first to last. |
+
+
+set |
+Used to manipulate shell variables and functions. |
+
+
+setfdprm |
+Sets floppy disk parameters as provided by the user. |
+
+
+setkeycodes |
+Load kernel scancode-to-keycode mapping table entries. |
+
+
+setleds |
+Show/change LED light settings of the keyboard. |
+
+
+setmetamode |
+Define keyboard meta key handling. Without arguments, shows current meta key mode. |
+
+
+setquota |
+Set disk quotas for users and groups. |
+
+
+setsid |
+Run a program in a new session. |
+
+
+setterm |
+Set terminal attributes. |
+
+
+sftp |
+Secure File Transfer program. |
+
+
+sh |
+Command interpreter (shell) utility. |
+
+
+sha1sum |
+Compute and check 160-bit SHA1 checksum to verify file integrity. |
+
+
+shift |
+Shift positional parameters. |
+
+
+shopt |
+Shell options. |
+
+
+showkey |
+Examines codes sent by the keyboard displays them in printable form. |
+
+
+showmount |
+Shows information about NFS server mount on the host. |
+
+
+shred |
+Overwrite a file to hide its content (optionally delete it), making it harder to recover it. |
+
+
+shutdown |
+Power-off the machine. |
+
+
+size |
+Lists section size and the total size of a specified file. |
+
+
+skill |
+Send a signal to processes. |
+
+
+slabtop |
+Show kernel slab cache information in real-time. |
+
+
+slattach |
+Attack a network interface to a serial line. |
+
+
+sleep |
+Suspend execution for a specified amount of time (in seconds). |
+
+
+slocate |
+Display matches by searching filename databases. Takes ownership and file permission into consideration. |
+
+
+snice |
+Reset priority for processes. |
+
+
+sort |
+Sort lines of text files. |
+
+
+source |
+Run commands from a specified file. |
+
+
+split |
+Split a file into pieces of fixed size. |
+
+
+ss |
+Display socket statistics, similar to netstat. |
+
+
+ssh |
+An SSH client for logging in to a remote machine. It provides encrypted communication between the hosts. |
+
+
+ssh-add |
+Adds private key identities to the authentication agent. |
+
+
+ssh-agent |
+It holds private keys used for public key authentication. |
+
+
+ssh-keygen |
+It generates, manages, converts authentication keys for ssh. |
+
+
+ssh-keyscan |
+Gather ssh public keys. |
+
+
+sshd |
+Server for the ssh program. |
+
+
+stat |
+Display file or filesystem status. |
+
+
+statd |
+A daemon that listens for reboot notifications from other hosts, and manages the list of hosts to be notified when the local system reboots. |
+
+
+strace |
+Trace system calls and signals. |
+
+
+strfile |
+Create a random access file for storing strings. |
+
+
+strings |
+Search a specified file and prints any printable strings with at least four characters and followed by an unprintable character. |
+
+
+strip |
+Discard symbols from object files. |
+
+
+stty |
+Change and print terminal line settings. |
+
+
+su |
+Change user ID or become superuser. |
+
+
+sudo |
+Execute a command as superuser. |
+
+
+sum |
+Checksum and count the block in a file. |
+
+
+suspend |
+Suspend the execution of the current shell. |
+
+
+swapoff |
+Disable devices for paging and swapping. |
+
+
+swapon |
+Enable devices for paging and swapping. |
+
+
+symlink |
+Create a symbolic link to a file. |
+
+
+sync |
+Synchronize cached writes to persistent storage. |
+
+
+sysctl |
+Configure kernel parameters at runtime. |
+
+
+sysklogd |
+Linux system logging utilities. Provides syslogd and klogd functionalities. |
+
+
+syslogd |
+Read and log system messages to the system console and log files. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ T
+
+
+
+
+
+Command |
+Description |
+
+
+tac |
+Concatenate and print files in reverse order. Opposite of cat command. |
+
+
+tail |
+Show the last 10 lines of each specified file(s). |
+
+
+tailf |
+Follow the growth of a log file. (Deprecated command) |
+
+
+talk |
+A two-way screen-oriented communication utility that allows two user to exchange messages simultaneously. |
+
+
+talkd |
+A remote user communication server for talk. |
+
+
+tar |
+GNU version of the tar archiving utility. Used to store and extract multiple files from a single archive. |
+
+
+taskset |
+Set/retrieve a process’s CPU affinity. |
+
+
+tcpd |
+Access control utility for internet services. |
+
+
+tcpdump |
+Dump traffic on network. Displays a description of the contents of packets on a network interface that match the boolean expression. |
+
+
+tcpslice |
+Extract pieces of tcpdump files or merge them. |
+
+
+tee |
+Read from standard input and write to standard output and files. |
+
+
+telinit |
+Change SysV runlevel. |
+
+
+telnet |
+Telnet protocol user interface. Used to interact with another host using telnet. |
+
+
+telnetd |
+A server for the telnet protocol. |
+
+
+test |
+Check file type and compare values. |
+
+
+tftp |
+User interface to the internet TFTP (Trivial File Transfer Protocol). |
+
+
+tftpd |
+TFTP server. |
+
+
+time |
+Run programs and summarize system resource usage. |
+
+
+timeout |
+Execute a command with a time limit. |
+
+
+times |
+Shows accumulated user and system times for the shell and it’s child processes. |
+
+
+tload |
+Shows a graph of the current system load average to the specified tty. |
+
+
+tmpwatch |
+Recursively remove files and directories which haven’t been accessed for the specified period of time. |
+
+
+top |
+Displays real-time view of processes running on the system. |
+
+
+touch |
+Change file access and modification times. |
+
+
+tput |
+Modify terminal-dependent capabilities, color, etc. |
+
+
+tr |
+Translate, squeeze, or delete characters from standard input and display on standard output. |
+
+
+tracepath |
+Traces path to a network host discovering MTU (Maximum Transmission Unit) along this path. |
+
+
+traceroute |
+Traces the route taken by the packets to reach the network host. |
+
+
+trap |
+Trap function responds to hardware signals. It defines and creates handlers to run when the shell receives signals. |
+
+
+troff |
+The troff processor of the groff text formatting system. |
+
+
+TRUE |
+Exit with a status code indicating success. |
+
+
+tset |
+Initialize terminal. |
+
+
+tsort |
+Perform topological sort. |
+
+
+tty |
+Display the filename of the terminal connected to standard input. |
+
+
+tune2fs |
+Adjust tuneable filesystem parameters on ext2/ext3/ext4 filesystems. |
+
+
+tunelp |
+Set various parameters for the line printer devices. |
+
+
+type |
+Write a description for a command type. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ U
+
+
+
+
+
+Command |
+Description |
+
+
+ul |
+Underline text. |
+
+
+ulimit |
+Get and set user limits for the calling process. |
+
+
+umask |
+Set file mode creation mask. |
+
+
+umount |
+Unmount specified file systems. |
+
+
+unalias |
+Remove alias definitions for specified alias names. |
+
+
+uname |
+Show system information. |
+
+
+uncompress |
+Uncompress the files compressed with the compress command. |
+
+
+unexpand |
+Convert spaces to tabs for a specified file. |
+
+
+unicode_start |
+Put keyboard and console in Unicode mode. |
+
+
+unicode_stop |
+Revert keyboard and console from Unicode mode. |
+
+
+uniq |
+Report or omit repeating lines. |
+
+
+units |
+Convert units from one scalar to another. |
+
+
+unrar |
+Extract files from a RAR archive. |
+
+
+unset |
+Remove variable or function names. |
+
+
+unshar |
+Unpack shell archive scripts. |
+
+
+until |
+Execute command until a given condition is true. |
+
+
+uptime |
+Tell how long the system has been running. |
+
+
+useradd |
+Create a new user or update default user information. |
+
+
+userdel |
+Delete a user account and related files. |
+
+
+usermod |
+Modify a user account. |
+
+
+users |
+Show the list of active users on the machine. |
+
+
+usleep |
+Suspend execution for microsecond intervals. |
+
+
+uudecode |
+Decode a binary file. |
+
+
+uuencode |
+Encode a binary file. |
+
+
+uuidgen |
+Created a new UUID (Universally Unique Identifier) table. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ V
+
+
+
+
+
+Command |
+Description |
+
+
+vdir |
+Same as ls -l -b. Verbosely list directory contents. |
+
+
+vi |
+A text editor utility. |
+
+
+vidmode |
+Set the video mode for a kernel image. Displays current mode value without arguments. Alternative: rdev -v |
+
+
+vim |
+Vi Improved, a text-based editor which is a successor to vi. |
+
+
+vmstat |
+Shows information about processes, memory, paging, block IO, traps, disks, and CPU activity. |
+
+
+volname |
+Returns volume name for a device formatted with an ISO-9660 filesystem. For example, CD-ROM. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ W
+
+
+
+
+
+Command |
+Description |
+
+
+w |
+Show who is logged-on and what they’re doing. |
+
+
+wait |
+Waits for a specified process ID(s) to terminate and returns the termination status. |
+
+
+wall |
+Display a message on the terminals all the users who are currently logged-in. |
+
+
+warnquota |
+Send mail to the users who’ve exceeded their disk quota soft limit. |
+
+
+watch |
+Runs commands repeatedly until interrupted and shows their output and errors. |
+
+
+wc |
+Print newline, word, and byte count for each of the specified files. |
+
+
+wget |
+A non-interactive file download utility. |
+
+
+whatis |
+Display one line manual page descriptions. |
+
+
+whereis |
+Locate the binary, source, and man page files for a command. |
+
+
+which |
+For a given command, lists the pathnames for the files which would be executed when the command runs. |
+
+
+while |
+Conditionally execute commands (while loop). |
+
+
+who |
+Shows who is logged on. |
+
+
+whoami |
+Displays the username tied to the current effective user ID. |
+
+
+whois |
+Looks for an object in a WHOIS database |
+
+
+write |
+Display a message on other user’s terminal. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ X
+
+
+
+
+
+Command |
+Description |
+
+
+xargs |
+Runs a command using initial arguments and then reads remaining arguments from standard input. |
+
+
+xdg-open |
+Used to open a file or URL in an application preferred by the user. |
+
+
+xinetd |
+Extended internet services daemon. Works similar to inetd. |
+
+
+xz |
+Compress/ Decompress .xz and .lzma files. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ Y
+
+
+
+
+Command |
+Description |
+
+
+yacc |
+Yet Another Compiler Compiler, a GNU Project parser generator. |
+
+
+yes |
+Repeatedly output a line with a specified string(s) until killed. |
+
+
+ypbind |
+A daemon that helps client processes to connect to an NIS server. |
+
+
+ypcat |
+Shows the NIS map (or database) for the specified MapName parameter. |
+
+
+ypinit |
+Sets up NIS maps on an NIS server. |
+
+
+ypmatch |
+Shows values for specified keys from an NIS map. |
+
+
+yppasswd |
+Change NIS login password. |
+
+
+yppasswdd |
+Acts as a server for the yppasswd command. Receives and executes requests. |
+
+
+yppoll |
+Shows the ID number or version of NIS map currently used on the NIS server. |
+
+
+yppush |
+Forces slave NIS servers to copy updated NIS maps. |
+
+
+ypserv |
+A daemon activated at system startup. It looks for information in local NIS maps. |
+
+
+ypset |
+Point a client (running ypbind) to a specific server (running ypserv). |
+
+
+yptest |
+Calls various functions to check the configuration of NIS services. |
+
+
+ypwhich |
+Shows the hostname for NIS server or master server for a given map. |
+
+
+ypxfr |
+Transfers NIS server map from server to a local host. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+ Z
+
+
+
+
+Command |
+Description |
+
+
+zcat |
+Used to compress/uncompress files. Similar to gzip |
+
+
+zcmp |
+Compare compressed files. |
+
+
+zdiff |
+Compare compressed files line by line. |
+
+
+zdump |
+Displays time for the timezone mentioned. |
+
+
+zforce |
+Adds .gz extension to all gzipped files. |
+
+
+zgrep |
+Performs grep on compressed files. |
+
+
+zic |
+Creates time conversion information files using the specified input files. |
+
+
+zip |
+A file compression and packaging utility. |
+
+
+zless |
+Displays information of a compressed file (using less command) on the terminal one screen at a time. |
+
+
+zmore |
+Displays output of a compressed file (using more command) on the terminal one page at a time. |
+
+
+znew |
+Recompress .z files to .gz. files. |
+
+
+
+
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴛᴏᴩ](#table)
+
+
+
+Quick cheat sheet 📝
+
+
+>**Note**
+> Examples like `-a|--all` option flags means, single `-` used for _short_ option(-a) **or**| double `--` used for _long_ option(--all). Both was added for educational purpose.
+
+### Contents
+- [Command Information](#command-information)
+- [Command History](#command-history)
+- [Navigating Directories](#navigating-directories)
+- [Creating Directories](#creating-directories)
+- [Moving Directories](#moving-directories)
+- [Deleting Directories](#deleting-directories)
+- [Creating Files](#creating-files)
+- [Standard Output, Error and Input](#standard-output-standard-error-and-standard-input)
+- [Moving Files](#moving-files)
+- [Deleting Files](#deleting-files)
+- [Reading Files](#reading-files)
+- [File Permissions](#file-permissions)
+- [Finding Files](#finding-files)
+- [Find in Files](#find-in-files)
+- [Replace in Files](#replace-in-files)
+- [Symbolic Links](#symbolic-links)
+- [Compressing Files](#compressing-files)
+- [Decompressing Files](#decompressing-files)
+- [Packages](#packages)
+- [Disk Usage](#disk-usage)
+- [Memory Usage](#memory-usage)
+- [Shutdown and Reboot](#shutdown-and-reboot)
+- [Identifying Processes](#identifying-processes)
+- [Process Priority](#process-priority)
+- [Killing Processes](#killing-processes)
+- [Date & Time](#date--time)
+- [Scheduled Tasks](#scheduled-tasks)
+- [User Mangement](#user-management)
+- [HTTP Requests](#http-requests)
+- [Network Troubleshooting](#network-troubleshooting)
+- [DNS](#dns)
+- [Hardware](#hardware)
+- [System Information](#system-information)
+- [Terminal Multiplexers](#terminal-multiplexers)
+- [Secure Shell Protocol (SSH)](#secure-shell-protocol-ssh)
+- [Secure Copy](#secure-copy)
+- [Bash Profile](#bash-profile)
+- [Bash Script](#bash-script)
+#
+
+## Command Information
+
+```bash
+man chmod # Display page manual of a command
+man -f|--whatis chmod # Display short description about a command
+man -k|--apropos permission # Display all related commands from a specific keyword
+
+chmod --help # Display usage options of a command
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Command History
+
+```bash
+history # View all previous commands
+history | grep foo # View the commands using a specific word
+history | grep -E|--extended-regexp -i|--ignore-case 'foo1|foo2|foo3' # View the commands using more than 1 specific word(case sensitive)
+history | head -n|--lines 3 # View the first 3 executed commands
+history 3 # View the last 3 executed commands
+history -d 99 # Clear a command from a specific line
+history -c # Clears all history commands
+!! # Run the last command executed
+
+touch foo.sh # <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<┐
+chmod +x !$ # !$ is the last argument of the last command i.e. foo.sh <<<<┘
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Navigating Directories
+
+```bash
+pwd # Print current directory path
+ls # List directories
+ls -a|--all # List directories including hidden
+ls -l # List directories in long form
+ls -l -h|--human-readable # List directories in long form with human readable sizes
+ls -t # List directories by modification time, newest first
+stat foo.txt # List size, created and modified timestamps for a file
+stat foo # List size, created and modified timestamps for a directory
+tree # List directory and file tree
+tree -a # List directory and file tree including hidden
+tree -d # List directory tree
+cd foo # Go to foo sub-directory
+cd # Go to home directory
+cd ~ # Go to home directory
+cd - # Go to last directory
+pushd foo # Go to foo sub-directory and add previous directory to stack
+popd # Go back to directory in stack saved by `pushd`
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Creating Directories
+
+```bash
+mkdir foo # Create a directory
+mkdir foo bar # Create multiple directories
+mkdir -p|--parents foo/bar # Create nested directory
+mkdir -p|--parents {foo,bar}/baz # Create multiple nested directories
+
+mktemp -d|--directory # Create a temporary directory
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Moving Directories
+
+```bash
+cp -R|--recursive foo bar # Copy directory
+mv foo bar # Move directory
+
+rsync -z|--compress -v|--verbose /foo /bar # Copy directory, overwrites destination
+rsync --ignore-existing -a|--archive-a|--archive -z|--compress -v|--verbose /foo /bar # Copy directory, without overwriting destination
+rsync -avz /foo username@hostname:/bar # Copy local directory to remote directory
+rsync -avz username@hostname:/foo /bar # Copy remote directory to local directory
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Deleting Directories
+
+```bash
+rmdir foo # Delete non-empty directory
+rm -r|--recursive foo # Delete directory including contents
+rm -r|--recursive -f|--force foo # Delete directory including contents, ignore nonexistent files and never prompt
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Creating Files
+
+```bash
+touch foo.txt # Create file or update existing files modified timestamp
+touch foo.txt bar.txt # Create multiple files
+touch {foo,bar}.txt # Create multiple files
+touch test{1..3} # Create test1, test2 and test3 files
+touch test{a..c} # Create testa, testb and testc files
+
+mktemp # Create a temporary file
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Standard Output, Standard Error and Standard Input
+
+```bash
+echo "foo" > bar.txt # Overwrite file with content
+echo "foo" >> bar.txt # Append to file with content
+
+ls exists 1> stdout.txt # Redirect the standard output to a file
+ls noexist 2> stderror.txt # Redirect the standard error output to a file
+ls > out.txt 2>&1 # Redirect standard output and error to a file
+ls > /dev/null # Discard standard output and error
+
+read foo # Read from standard input and write to the variable foo
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Moving Files
+
+```bash
+cp foo.txt bar.txt # Copy file
+mv foo.txt bar.txt # Move file
+
+rsync -z|--compress -v|--verbose /foo.txt /bar # Copy file quickly if not changed
+rsync -z|--compress -v|--verbose /foo.txt /bar.txt # Copy and rename file quickly if not changed
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Deleting Files
+
+```bash
+rm foo.txt # Delete file
+rm -f|--force foo.txt # Delete file, ignore nonexistent files and never prompt
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Reading Files
+
+```bash
+cat foo.txt # Print all contents
+less foo.txt # Print some contents at a time (g - go to top of file, SHIFT+g, go to bottom of file, /foo to search for 'foo')
+head foo.txt # Print top 10 lines of file
+tail foo.txt # Print bottom 10 lines of file
+tail -f foo.txt # Print bottom 10 lines of file updating with new data
+open foo.txt # Open file in the default editor
+wc foo.txt # List number of lines words and characters in the file
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## File Permissions
+
+| # | Permission | rwx | Binary |
+| - | - | - | - |
+| 7 | read, write and execute | rwx | 111 |
+| 6 | read and write | rw- | 110 |
+| 5 | read and execute | r-x | 101 |
+| 4 | read only | r-- | 100 |
+| 3 | write and execute | -wx | 011 |
+| 2 | write only | -w- | 010 |
+| 1 | execute only | --x | 001 |
+| 0 | none | --- | 000 |
+
+For a directory, execute means you can enter a directory.
+
+| User | Group | Others | Description |
+| - | - | - | - |
+| 6 | 4 | 4 | User can read and write, everyone else can read (Default file permissions) |
+| 7 | 5 | 5 | User can read, write and execute, everyone else can read and execute (Default directory permissions) |
+
+- u - User
+- g - Group
+- o - Others
+- a - All of the above
+
+```bash
+ls -l /foo.sh # List file permissions
+chmod +100 foo.sh # Add 1 to the user permission
+chmod -100 foo.sh # Subtract 1 from the user permission
+chmod u+x foo.sh # Give the user execute permission
+chmod g+x foo.sh # Give the group execute permission
+chmod u-x,g-x foo.sh # Take away the user and group execute permission
+chmod u+x,g+x,o+x foo.sh # Give everybody execute permission
+chmod a+x foo.sh # Give everybody execute permission
+chmod +x foo.sh # Give everybody execute permission
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Finding Files
+
+Find binary files for a command.
+
+```bash
+type -a wget # Display all locations of executable
+which -a wget # Display all locations of executables
+whereis wget # Find the binary, source, and manual page files
+```
+
+`locate` uses an index and is fast.
+
+```bash
+updatedb # Update the index
+
+locate foo.txt # Find a file
+locate --ignore-case # Find a file and ignore case
+locate f*.txt # Find a text file starting with 'f'
+```
+
+`find` doesn't use an index and is slow.
+
+```bash
+find /path -name foo.txt # Find a file
+find /path -iname foo.txt # Find a file with case insensitive search
+find /path -name "*.txt" # Find all text files
+find /path -name foo.txt -delete # Find a file and delete it
+find /path -name "*.png" -exec pngquant {} # Find all .png files and execute pngquant on it
+find /path -type f -name foo.txt # Find a file
+find /path -type d -name foo # Find a directory
+find /path -type l -name foo.txt # Find a symbolic link
+find /path -type f -mtime +30 # Find files that haven't been modified in 30 days
+find /path -type f -mtime +30 -delete # Delete files that haven't been modified in 30 days
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Find in Files
+
+```bash
+grep 'foo' /bar.txt # Search for 'foo' in file 'bar.txt'
+grep 'foo' /bar -r|--recursive # Search for 'foo' in directory 'bar'
+grep 'foo' /bar -R|--dereference-recursive # Search for 'foo' in directory 'bar' and follow symbolic links
+grep 'foo' /bar -l|--files-with-matches # Show only files that match
+grep 'foo' /bar -L|--files-without-match # Show only files that don't match
+grep 'Foo' /bar -i|--ignore-case # Case insensitive search
+grep 'foo' /bar -x|--line-regexp # Match the entire line
+grep 'foo' /bar -C|--context 1 # Add N line of context above and below each search result
+grep 'foo' /bar -v|--invert-match # Show only lines that don't match
+grep 'foo' /bar -c|--count # Count the number lines that match
+grep 'foo' /bar -n|--line-number # Add line numbers
+grep 'foo' /bar --colour # Add colour to output
+grep 'foo\|bar' /baz -R # Search for 'foo' or 'bar' in directory 'baz'
+grep --extended-regexp|-E 'foo|bar' /baz -R # Use regular expressions
+grep -E 'foo|bar' /baz -R # Use regular expressions
+```
+
+### Replace in Files
+
+```bash
+sed 's/fox/bear/g' foo.txt # Replace fox with bear in foo.txt and output to console
+sed 's/fox/bear/gi' foo.txt # Replace fox (case insensitive) with bear in foo.txt and output to console
+sed 's/red fox/blue bear/g' foo.txt # Replace red with blue and fox with bear in foo.txt and output to console
+sed 's/fox/bear/g' foo.txt > bar.txt # Replace fox with bear in foo.txt and save in bar.txt
+sed 's/fox/bear/g' foo.txt -i|--in-place # Replace fox with bear and overwrite foo.txt
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Symbolic Links
+
+```bash
+ln -s|--symbolic foo bar # Create a link 'bar' to the 'foo' folder
+ln -s|--symbolic -f|--force foo bar # Overwrite an existing symbolic link 'bar'
+ls -l # Show where symbolic links are pointing
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Compressing Files
+
+### zip
+
+Compresses one or more files into *.zip files.
+
+```bash
+zip foo.zip /bar.txt # Compress bar.txt into foo.zip
+zip foo.zip /bar.txt /baz.txt # Compress bar.txt and baz.txt into foo.zip
+zip foo.zip /{bar,baz}.txt # Compress bar.txt and baz.txt into foo.zip
+zip -r|--recurse-paths foo.zip /bar # Compress directory bar into foo.zip
+```
+
+### gzip
+
+Compresses a single file into *.gz files.
+
+```bash
+gzip /bar.txt foo.gz # Compress bar.txt into foo.gz and then delete bar.txt
+gzip -k|--keep /bar.txt foo.gz # Compress bar.txt into foo.gz
+```
+
+### tar -c
+
+Compresses (optionally) and combines one or more files into a single *.tar, *.tar.gz, *.tpz or *.tgz file.
+
+```bash
+tar -c|--create -z|--gzip -f|--file=foo.tgz /bar.txt /baz.txt # Compress bar.txt and baz.txt into foo.tgz
+tar -c|--create -z|--gzip -f|--file=foo.tgz /{bar,baz}.txt # Compress bar.txt and baz.txt into foo.tgz
+tar -c|--create -z|--gzip -f|--file=foo.tgz /bar # Compress directory bar into foo.tgz
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Decompressing Files
+
+### unzip
+
+```bash
+unzip foo.zip # Unzip foo.zip into current directory
+```
+
+### gunzip
+
+```bash
+gunzip foo.gz # Unzip foo.gz into current directory and delete foo.gz
+gunzip -k|--keep foo.gz # Unzip foo.gz into current directory
+```
+
+### tar -x
+
+```bash
+tar -x|--extract -z|--gzip -f|--file=foo.tar.gz # Un-compress foo.tar.gz into current directory
+tar -x|--extract -f|--file=foo.tar # Un-combine foo.tar into current directory
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Packages
+
+```bash
+apt update # Refreshes repository index
+apt search wget # Search for a package
+apt show wget # List information about the wget package
+apt list --all-versions wget # List all versions of the package
+apt install wget # Install the latest version of the wget package
+apt install wget=1.2.3 # Install a specific version of the wget package
+apt remove wget # Removes the wget package
+apt upgrade # Upgrades all upgradable packages
+apt clean # Clears out the local repository of downloaded package files
+
+dpkg -i|--install package_name.deb # Install deb file
+rpm -i|--install package_name.rpm # Install rpm file
+```
+
+### Install package source code
+
+```bash
+tar zxvf sourcecode.tar.gz
+cd sourcecode
+./configure
+make
+make install
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Disk Usage
+
+```bash
+df # List disks, size, used and available space
+df -h|--human-readable # List disks, size, used and available space in a human readable format
+
+du # List current directory, subdirectories and file sizes
+du /foo/bar # List specified directory, subdirectories and file sizes
+du -h|--human-readable # List current directory, subdirectories and file sizes in a human readable format
+du -d|--max-depth # List current directory, subdirectories and file sizes within the max depth
+du -d 0 # List current directory size
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Memory Usage
+
+```bash
+free # Show memory usage
+free -h|--human # Show human readable memory usage
+free -h|--human --si # Show human readable memory usage in power of 1000 instead of 1024
+free -s|--seconds 5 # Show memory usage and update continuously every five seconds
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Shutdown and Reboot
+
+```bash
+shutdown # Shutdown in 1 minute
+shutdown now # Immediately shut down
+shutdown +5 # Shutdown in 5 minutes
+
+shutdown -r|--reboot # Reboot in 1 minute
+shutdown -r|--reboot now # Immediately reboot
+shutdown -r|--reboot +5 # Reboot in 5 minutes
+shutdown -c # Cancel a shutdown or reboot
+
+reboot # Reboot now
+reboot -f # Force a reboot
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Identifying Processes
+
+```bash
+top # List all processes interactively
+htop # List all processes interactively
+ps ax # List all processes
+pidof foo # Return the PID of all foo processes
+
+CTRL+Z # Suspend a process running in the foreground
+bg # Resume a suspended process and run in the background
+fg # Bring the last background process to the foreground
+fg 1 # Bring the background process with the PID to the foreground
+
+sleep 30 & # Sleep for 30 seconds and move the process into the background
+jobs # List all background jobs
+jobs -p # List all background jobs with their PID
+
+lsof # List all open files and the process using them
+lsof -itcp:4000 # Return the process listening on port 4000
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Process Priority
+
+Process priorities go from -20 (highest) to 19 (lowest).
+
+```bash
+nice -n -20 foo # Change process priority by name
+renice 20 PID # Change process priority by PID
+ps -o ni PID # Return the process priority of PID
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Killing Processes
+
+```bash
+CTRL+C # Kill a process running in the foreground
+kill PID # Shut down process by PID gracefully. Sends TERM signal.
+kill -9 PID # Force shut down of process by PID. Sends SIGKILL signal.
+pkill foo # Shut down process by name gracefully. Sends TERM signal.
+pkill -9 foo # force shut down process by name. Sends SIGKILL signal.
+killall foo # Kill all process with the specified name gracefully.
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Date & Time
+
+```bash
+date # Print the date and time
+date --iso-8601 # Print the ISO8601 date
+date --iso-8601=ns # Print the ISO8601 date and time
+
+date -s "02 DEC 2020 12:02:02" # Manually change date and time
+dpkg-reconfigure tzdata # Change date/timezone
+
+uptime # Print how long the system has been running
+time tree # Print amount of time to tree takes to execute
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Scheduled Tasks
+
+```pre
+ * * * * *
+Minute, Hour, Day of month, Month, Day of the week
+```
+
+```bash
+crontab -l # List cron tab
+crontab -e # Edit cron tab in Vim
+crontab /path/crontab # Load cron tab from a file
+crontab -l > /path/crontab # Save cron tab to a file
+
+* * * * * foo # Run foo every minute
+*/15 * * * * foo # Run foo every 15 minutes
+0 * * * * foo # Run foo every hour
+15 6 * * * foo # Run foo daily at 6:15 AM
+44 4 * * 5 foo # Run foo every Friday at 4:44 AM
+0 0 1 * * foo # Run foo at midnight on the first of the month
+0 0 1 1 * foo # Run foo at midnight on the first of the year
+
+at -l # List scheduled tasks
+at -c 1 # Show task with ID 1
+at -r 1 # Remove task with ID 1
+at now + 2 minutes # Create a task in Vim to execute in 2 minutes
+at 12:34 PM next month # Create a task in Vim to execute at 12:34 PM next month
+at tomorrow # Create a task in Vim to execute tomorrow
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## User Management
+
+```bash
+adduser username # To add a new user
+passwd -l|--lock username # To change the password of a user
+userdel username # To remove user
+userdel -r|--remove username # To remove user with home directory and mail spool
+usermod -a|--append -G|--groups GROUPNAME USERNAME # To add a user to a group
+deluser USER GROUPNAME # To remove a user from a group
+
+last # Shows information of all the users logged in
+last username # Gives information of a particular user
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## HTTP Requests
+
+```bash
+curl https://example.com # Return response body
+curl -i|--include https://example.com # Include status code and HTTP headers
+curl -L|--location https://example.com # Follow redirects
+curl -O|--remote-name foo.txt https://example.com # Output to a text file
+curl -H|--header "User-Agent: Foo" https://example.com # Add a HTTP header
+curl -X|--request POST -H "Content-Type: application/json" -d|--data '{"foo":"bar"}' https://example.com # POST JSON
+curl -X POST -H --data-urlencode foo="bar" http://example.com # POST URL Form Encoded
+
+wget https://example.com/file.txt # Download a file to the current directory
+wget -O|--output-document foo.txt https://example.com/file.txt # Output to a file with the specified name
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Network Troubleshooting
+
+```bash
+ping example.com # Send multiple ping requests using the ICMP protocol
+ping -c 10 -i 5 example.com # Make 10 attempts, 5 seconds apart
+
+ip addr # List IP addresses on the system
+ip route show # Show IP addresses to router
+
+curl ifconfig.me # Obtain external IP address
+
+netstat -i|--interfaces # List all network interfaces and in/out usage
+netstat -l|--listening # List all open ports
+
+traceroute example.com # List all servers the network traffic goes through
+
+mtr -w|--report-wide example.com # Continually list all servers the network traffic goes through
+mtr -r|--report -w|--report-wide -c|--report-cycles 100 example.com # Output a report that lists network traffic 100 times
+
+nmap 0.0.0.0 # Scan for the 1000 most common open ports on localhost
+nmap 0.0.0.0 -p1-65535 # Scan for open ports on localhost between 1 and 65535
+nmap 192.168.4.3 # Scan for the 1000 most common open ports on a remote IP address
+nmap -sP 192.168.1.1/24 # Discover all machines on the network by ping'ing them
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## DNS
+
+```bash
+dig example.com # Show query information of domain A records
+dig -4 example.com # Show IPv4 A records
+dig -6 example.com # Show IPv6 AAA records
+dig example.com @nameserver # Show query of a specific nameserver
+dig example.com -p 123 # Show query of a specific port number
+
+cat /etc/resolv.conf # Nameservers file
+cat /etc/systemd/resolved.conf # DNS resolver config file
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Hardware
+
+```bash
+lsusb # List USB devices
+lspci # List PCI hardware
+lshw # List all hardware
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## System Information
+
+```
+uname -s # Print kernel name
+uname -r # Print kernel release
+uname -m # Print Architecture
+uname -o # Print Operating System
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Terminal Multiplexers
+
+Start multiple terminal sessions. Active sessions persist reboots. `tmux` is more modern than `screen`.
+
+```bash
+tmux # Start a new session (CTRL-b + d to detach)
+tmux ls # List all sessions
+tmux attach -t 0 # Reattach to a session
+
+screen # Start a new session (CTRL-a + d to detach)
+screen -ls # List all sessions
+screen -R 31166 # Reattach to a session
+
+exit # Exit a session
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Secure Shell Protocol (SSH)
+
+```bash
+ssh hostname # Connect to hostname using your current user name over the default SSH port 22
+ssh -i foo.pem hostname # Connect to hostname using the identity file
+ssh user@hostname # Connect to hostname using the user over the default SSH port 22
+ssh user@hostname -p 8765 # Connect to hostname using the user over a custom port
+ssh ssh://user@hostname:8765 # Connect to hostname using the user over a custom port
+```
+
+Set default user and port in `~/.ssh/config`, so you can just enter the name next time:
+
+```bash
+$ cat ~/.ssh/config
+Host name
+ User foo
+ Hostname 127.0.0.1
+ Port 8765
+$ ssh name
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Secure Copy
+
+```bash
+scp foo.txt ubuntu@hostname:/home/ubuntu # Copy foo.txt into the specified remote directory
+scp ubuntu@hostname:/home/ubuntu/foo.txt /C:\Users\Admin # Copy foo.txt from the specified remote directory
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Bash Profile
+
+- bash - `.bashrc`
+- zsh - `.zshrc`
+
+```bash
+# Always run ls after cd
+function cd {
+ builtin cd "$@" && ls
+}
+
+# Prompt user before overwriting any files
+alias cp='cp --interactive'
+alias mv='mv --interactive'
+alias rm='rm --interactive'
+
+# Always show disk usage in a human readable format
+alias df='df -h'
+alias du='du -h'
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+## Bash Script
+
+### Variables
+
+```bash
+#!/bin/bash
+
+foo=123 # Initialize variable foo with 123
+declare -i foo=123 # Initialize an integer foo with 123
+declare -r foo=123 # Initialize readonly variable foo with 123
+echo $foo # Print variable foo
+echo ${foo}_'bar' # Print variable foo followed by _bar
+echo ${foo:-'default'} # Print variable foo if it exists otherwise print default
+
+export foo # Make foo available to child processes
+unset foo # Make foo unavailable to child processes and current session
+```
+
+### Environment Variables
+
+```bash
+#!/bin/bash
+
+set # List all environment variables
+echo $PATH # Print PATH environment variable
+export FOO=Bar # Set an environment variable
+```
+
+### Functions
+
+```bash
+#!/bin/bash
+
+greet() {
+ local world="World"
+ echo "$1 $world"
+ return "$1 $world"
+}
+greet "Hello"
+greeting=$(greet "Hello")
+```
+
+### Exit Codes
+
+```bash
+#!/bin/bash
+
+exit 0 # Exit the script successfully
+exit 1 # Exit the script unsuccessfully
+echo $? # Print the last exit code
+```
+
+### Conditional Statements
+
+#### Boolean Operators
+
+- `$foo` - Is true
+- `!$foo` - Is false
+
+#### Numeric Operators
+
+- `-eq` - Equals
+- `-ne` - Not equals
+- `-gt` - Greater than
+- `-ge` - Greater than or equal to
+- `-lt` - Less than
+- `-le` - Less than or equal to
+- `-e` foo.txt - Check file exists
+- `-z` foo - Check if variable exists
+
+#### String Operators
+
+- `=` - Equals
+- `==` - Equals
+- `-z` - Is null
+- `-n` - Is not null
+- `<` - Is less than in ASCII alphabetical order
+- `>` - Is greater than in ASCII alphabetical order
+
+#### If Statements
+
+```bash
+#!/bin/bash
+
+[[
+if [[$foo = 'bar']]; then
+ echo 'one'
+elif [[$foo = 'bar']] || [[$foo = 'baz']]; then
+ echo 'two'
+elif [[$foo = 'ban']] && [[$USER = 'bat']]; then
+ echo 'three'
+else
+ echo 'four'
+fi
+]]
+```
+
+#### Inline If Statements
+
+```bash
+#!/bin/bash
+
+[[ $USER = 'rehan' ]] && echo 'yes' || echo 'no'
+```
+
+#### While Loops
+
+```bash
+#!/bin/bash
+
+[
+declare -i counter
+counter=10
+while [$counter -gt 2]; do
+ echo The counter is $counter
+ counter=counter-1
+done
+]
+```
+
+#### For Loops
+
+```bash
+#!/bin/bash
+
+for i in {0..10..2}
+ do
+ echo "Index: $i"
+ done
+
+for filename in file1 file2 file3
+ do
+ echo "Content: " >> $filename
+ done
+
+for filename in *;
+ do
+ echo "Content: " >> $filename
+ done
+```
+
+#### Case Statements
+
+```bash
+#!/bin/bash
+
+echo "What's the weather like tomorrow?"
+read weather
+
+case $weather in
+ sunny | warm ) echo "Nice weather: " $weather
+ ;;
+ cloudy | cool ) echo "Not bad weather: " $weather
+ ;;
+ rainy | cold ) echo "Terrible weather: " $weather
+ ;;
+ * ) echo "Don't understand"
+ ;;
+esac
+```
+[⬆ ʀᴇᴛᴜʀɴ ᴛᴏ ᴄᴏɴᴛᴇɴᴛꜱ](#contents)
+
+
+
+
+Special characters 🔣
+
+
+
+
+
+Char. |
+Description |
+
+
+~ |
+Home directory [tilde]. The path to a user's home directory location. |
+
+
+- |
+Previous directory [dash]. Go back to previous directories. |
+
+
+/ |
+Filename path separator [forward slash]. Separates the components of a filename. It also represents the path to root directory. |
+
+
+\ |
+Escape [backslash]. A quoting mechanism for single characters. It preserves the literal value of the next character that follows, with the exception of newline. |
+
+
+│ |
+Pipe. It passes the output (stdout) of a previous command to the input (stdin) of the next one, or to the shell. This is a method of chaining commands together. |
+
+
+|| |
+The OR operator is used to chain commands. It will execute succeeded commands which follows and only stops if a preceding command fails. |
+
+&& |
+The AND operator is used to chain commands. It will execute commands only if the first command is successful |
+
+
+; |
+Command separator [semicolon]. Used to separate multiple commands and execute all the ones that is successful. |
+
+
+
+& |
+Run job in background[and]. A command followed by an & will run in the background. |
+
+
+# |
+Comment [number sign]. Lines in files beginning with a # (with the exception of #!) are comments and will not be executed. |
+
+
+
+ >, >>, < |
+Redirect a command's output or input into a file. |
+
+
+>| |
+Force redirection (even if the noclobber option is set). This will forcibly overwrite an existing file. |
+
+"" |
+Double quotes protects the text inside them from being split into multiple words or arguments, yet allow substitutions to occur, meaning most other special characters is usually prevented. |
+
+' ' |
+Single quotes protects the text inside them so that it has a literal meaning. This is a stronger form of quoting than double quotes. |
+
+
+
+" " |
+Whitespace. This is a tab, newline, vertical tab, form feed, carriage return, or space. Bash uses whitespace to determine where words begin and end. |
+
+: |
+Null command [colon]. This is the shell equivalent of a "NOP" (no op, a do-nothing operation). It may be considered a synonym for the shell builtin true. |
+
+
+! |
+Reverse (or negate) [exclamation]. The ! operator inverts the exit status of the command to which it is applied. It also inverts the meaning of a test operator. |
+
+
+* |
+Wild card [asterisk]. The * character serves as a "wild card" for filename expansion in globbing. By itself, it matches every filename in a given directory.
+ |
+
+? |
+Wild card [question mark]. The ? character serves as a single-character "wild card" for filename expansion in globbing, as well as representing one character in an extended regular expression. |
+
+
+{ } |
+Inline group [curly brackets]. Commands inside the curly braces are treated as if they were one command. It is convenient to use these when Bash syntax requires only one command and a function doesn't feel warranted. |
+
+
+( ) |
+Subshell group [bracket].Commands within are executed in a subshell (a new process) Used much like a sandbox, if a command causes side effects (like changing variables), it will have no effect on the current shell. |
+
+
+[ ] |
+Test expression between [ ]. Is part of the shell builtin test. |
+
+
+[[ ]] |
+Test expression between [[ ]]. More flexible than the single-bracket [ ] test. |
+
+
+(( )) |
+Integer expansion. Expand and evaluate integer expression. |
+
+
+;; |
+Terminator in a case option [double semicolon]. |
+
+
+,, , |
+Lowercase conversion in parameter substitution. |
+
+
+^, ^^ |
+Uppercase conversion in parameter substitution. |
+
+
+
+
+
+
+
+Keyboard controls ⌨️
+
+
+| Key | Function |
+| :--: | :-- |
+| Ctrl+a | Moves cursor to beginning of text in line |
+| Ctrl+e | Moves cursor to end of text in line |
+| Ctrl+b | Moves cursor backward one character position |
+| Ctrl+f | Moves cursor forward one character position |
+| Ctrl+p | Fetch previous command from history buffer |
+| Ctrl+n | Fetch next command from history buffer |
+| Ctrl+r | Reverse search commands in history buffer |
+| Ctrl+u | Erase a line of input from cursor right to left of line |
+| Ctrl+k | Erase a line of input from cursor left to right of line |
+| Ctrl+w | Erases backwards to first non-alphanumeric character or space |
+| Ctrl+y | Fetch back command previously erased |
+| Ctrl+t | Reverses the position of the character the cursor is on with the previous character |
+| Ctrl+z | Pauses a foreground job |
+| Ctrl+c | Break/Terminate a foreground job |
+| Ctrl+o | Accept the current line for execution and fetch the next command |
+| Ctrl+l | Clear screen (command line needs to be empty) |
+| Ctrl+s | Suspend |
+| Ctrl+q | Resume |
+| Ctrl+d | Log out from a shell (similar to exit) |
+
+
+
+
+---
+
+### Online Cheat Sheet :feelsgood: for quick references of commands and codes
+
+[cheat.sh](https://github.com/chubin/cheat.sh)
+![image](https://user-images.githubusercontent.com/18756975/200065767-13a6249f-2188-4206-8073-1714be57c408.png)
+_Terminal_:
+```bash
+curl cht.sh/keyword
+# or
+curl cheat.sh/keyword
+```
+_Browser_:
+
+> [https://cht.sh/](https://cht.sh/)keyword
+> or
+> [https://cheat.sh/](https://cheat.sh/)keyword
+
+#
+
+ #### Offline usage [Install](https://github.com/chubin/cheat.sh#installation) cheat script manually
+_Install globally(all users)_:
+```bash
+curl -s https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh && sudo chmod +x /usr/local/bin/cht.sh
+```
+_Run_:
+```bash
+cht.sh keyword
+```
+---