Top 300 shell commands
Shell commands are a set of instructions that are used to communicate with the operating system. They are widely used in the Linux operating system to perform various tasks. In this blog post, we will discuss the top 300 shell commands that are commonly used by Linux users.
& - Start a new process in the background alias - Create an alias • apropos - Search Help manual pages (man -k) apt-get - Search for and install software packages (Debian/Ubuntu) aptitude - Search for and install software packages (Debian/Ubuntu) aspell - Spell Checker awk - Find and Replace text, database sort/validate/index basename - Strip directory and suffix from filenames base32 - Base32 encode/decode data and print to standard output base64 - Base64 encode/decode data and print to standard output bash - GNU Bourne-Again SHell bc - Arbitrary precision calculator language bg - Send to background bind - Set or display readline key and function bindings • break - Exit from a loop • builtin - Run a shell builtin bzip2 - Compress or decompress named file(s) cal - Display a calendar case - Conditionally perform a command cat - Concatenate and print (display) the content of files cd - Change Directory cfdisk - Partition table manipulator for Linux chattr - Change file attributes on a Linux file system chgrp - Change group ownership chmod - Change access permissions chown - Change file owner and group chpasswd - Update passwords in batch mode chroot - Run a command with a different root directory chkconfig - System services (runlevel) cksum - Print CRC checksum and byte counts clear - Clear terminal screen cmp - Compare two files comm - Compare two sorted files line by line command - Run a command - ignoring shell functions • continue - Resume the next iteration of a loop • cp - Copy one or more files to another location cpio - Copy files to and from archives cron - Daemon to execute scheduled commands crontab - Schedule a command to run at a later time csplit - Split a file into context-determined pieces curl - Transfer data from or to a server cut - Divide a file into several parts date - Display or change the date & time dc - Desk Calculator dd - Data Duplicator - convert and copy a file, write disk headers, boot records ddrescue - Data recovery tool declare - Declare variables and give them attributes • df - Display free disk space diff - Display the differences between two files diff3 - Show differences among three files dig - DNS lookup dir - Briefly list directory contents dircolors - Colour setup for 'ls' dirname - Convert a full pathname to just a path dirs - Display list of remembered directories dmesg - Print kernel & driver messages du - Estimate file space usage echo - Display message on screen • egrep - Search file(s) for lines that match an extended expression eject - Eject removable media enable - Enable and disable builtin shell commands • env - Environment variables ethtool - Ethernet card settings eval - Evaluate several commands/arguments exec - Execute a command exit - Exit the shell expect - Automate arbitrary applications accessed over a terminal expand - Convert tabs to spaces export - Set an environment variable expr - Evaluate expressions false - Do nothing, unsuccessfully fdformat - Low-level format a floppy disk fdisk - Partition table manipulator for Linux fg - Send job to foreground fgrep - Search file(s) for lines that match a fixed string file - Determine file type find - Search for files that meet a desired criteria fmt - Reformat paragraph text fold - Wrap text to fit a specified width for - Expand words, and execute commands format - Format disks or tapes free - Display memory usage fsck - File system consistency check and repair ftp - File Transfer Protocol function - Define Function Macros fuser - Identify/kill the process that is accessing a file gawk - Find and Replace text within file(s) getopts - Parse positional parameters grep - Search file(s) for lines that match a given pattern groupadd - Add a user security group groupdel - Delete a group groupmod - Modify a group groups - Print group names a user is in gzip - Compress or decompress named file(s) hash - Remember the full pathname of a name argument head - Output the first part of file(s) help - Display help for a built-in command • history - Command History hostname - Print or set system name htop - Interactive process viewer iconv - Convert the character set of a file id - Print user and group id's if - Conditionally perform a command ifconfig - Configure a network interface ifdown - Stop a network interface ifup - Start a network interface up import - Capture an X server screen and save the image to file install - Copy files and set attributes iostat - Report CPU and i/o statistics ip - Routing, devices and tunnels jobs - List active jobs • join - Join lines on a common field kill - Kill a process by specifying its PID killall - Kill processes by name less - Display output one screen at a time let - Perform arithmetic on shell variables • link - Create a link to a file ln - Create a symbolic link to a file local - Create a function variable • locate - Find files logname - Print current login name logout - Exit a login shell • look - Display lines beginning with a given string lpc - Line printer control program lpr - Off line print lprint - Print a file lprintd - Delete a print job lprintq - List the print queue lprm - Remove jobs from the print queue lsattr - List file attributes on a Linux second extended file system lsblk - List block devices ls - List information about file(s) lsof - List open files lspci - List all PCI devices make - Recompile a group of programs man - Help manual mapfile - Read lines from standard input into an indexed array variable mkdir - Create new folder(s) mkfifo - Make FIFOs (named pipes) mkfile - Make a file mkisofs - Create a hybrid ISO9660/JOLIET/HFS filesystem mknod - Make block or character special files mktemp - Make a temporary file more - Display output one screen at a time most - Browse or page through a text file mount - Mount a file system mtools - Manipulate MS-DOS files mtr - Network diagnostics (traceroute/ping) mv - Move or rename files or directories mmv - Mass Move and rename (files) nc - Netcat, read and write data across networks netstat - Networking connections/stats nft - nftables for packet filtering and classification nice - Set the priority of a command or job nl - Number lines and write files nohup - Run a command immune to hangups notify-send - Send desktop notifications nslookup - Query Internet name servers interactively open - Open a file in its default application op - Operator access passwd - Modify a user password paste - Merge lines of files pathchk - Check file name portability Perf - Performance analysis tools for Linux ping - Test a network connection pgrep - List processes by name pkill - Kill processes by name popd - Restore the previous value of the current directory pr - Prepare files for printing printcap - Printer capability database printenv - Print environment variables printf - Format and print data • ps - Process status pushd - Save and then change the current directory pv - Monitor the progress of data through a pipe pwd - Print Working Directory quota - Display disk usage and limits quotacheck - Scan a file system for disk usage ram - ram disk device rar - Archive files with compression rcp - Copy files between two machines read - Read a line from standard input • readarray - Read from stdin into an array variable • readonly - Mark variables/functions as readonly reboot - Reboot the system rename - Rename files renice - Alter priority of running processes remsync - Synchronize remote files via email return - Exit a shell function rev - Reverse lines of a file rm - Remove files rmdir - Remove folder(s) rsync - Remote file copy (Synchronize file trees) screen - Multiplex terminal, run remote shells via ssh scp - Secure copy (remote file copy) sdiff - Merge two files interactively sed - Stream Editor select - Accept keyboard input seq - Print numeric sequences set - Manipulate shell variables and functions sftp - Secure File Transfer Program shift - Shift positional parameters shopt - Shell Options shutdown - Shutdown or restart linux sleep - Delay for a specified time slocate - Find files sort - Sort text files source - Run commands from a file '.' split - Split a file into fixed-size pieces ss - Socket Statistics ssh - Secure Shell client (remote login program) stat - Display file or file system status strace - Trace system calls and signals su - Substitute user identity sudo - Execute a command as another user sum - Print a checksum for a file suspend - Suspend execution of this shell • sync - Synchronize data on disk with memory tail - Output the last part of a file tar - Store, list or extract files in an archive tee - Redirect output to multiple files test - Evaluate a conditional expression time - Measure Program running time timeout - Run a command with a time limit times - User and system times touch - Change file timestamps top - List processes running on the system tput - Set terminal-dependent capabilities, color, position traceroute - Trace Route to Host trap - Execute a command when the shell receives a signal • tr - Translate, squeeze, and/or delete characters true - Do nothing, successfully tsort - Topological sort tty - Print filename of terminal on stdin type - Describe a command • ulimit - Limit user resources • umask - Users file creation mask umount - Unmount a device unalias - Remove an alias • uname - Print system information unexpand - Convert spaces to tabs uniq - Uniquify files units - Convert units from one scale to another unrar - Extract files from a rar archive unset - Remove variable or function names unshar - Unpack shell archive scripts until - Execute commands (until error) uptime - Show uptime useradd - Create new user account userdel - Delete a user account usermod - Modify user account users - List users currently logged in uuencode - Encode a binary file uudecode - Decode a file created by uuencode v - Verbosely list directory contents ('ls -l -b') vdir - Verbosely list directory contents ('ls -l -b') vi - Text Editor vmstat - Report virtual memory statistics w - Show who is logged on and what they are doing wait - Wait for a process to complete • watch - Execute/display a program periodically wc - Print byte, word, and line counts whereis - Search the user's $path, man pages and source files for a program which - Search the user's $path for a program file while - Execute commands who - Print all usernames currently logged in whoami - Print the current user id and name ('id -un') wget - Retrieve web pages or files via HTTP, HTTPS or FTP write - Send a message to another user xargs - Execute utility, passing constructed argument list(s) xdg-open - Open a file or URL in the user's preferred application. xz - Compress or decompress .xz and .lzma files yes - Print a string until interrupted zip - Package and compress (archive) files. . - Run a command script in the current shell !! - Run the last command again ### - Comment / Remark
- Debian System tips:
- Shell Style Guide: