Linux Command Cheat Sheet

Linux is a group of open-sourced operating systems. About 90% of public clouds operate using Linux and about 70% of all smartphones are based on Linux. This makes Linux essential to learn if you plan or currently work in cloud infrastructure, supercomputers, smartphone development, or another area that relies on Linux. The following Linux command cheat sheet may prove useful when refreshing your memory on certain commands.

 

We have listed all the commands that you might find useful, sorted in alphabetical order.

 

adduser/addgroup Command

The adduser and addgroup commands add a user and group to the system based on the default configuration indicated in the /etc/adduser.conf file.

$ sudo adduser cloudinstitute

 

agetty Command

agetty is a program that manages physical and virtual terminals and is summoned by init. When it detects a connection, it opens a tty port, asks for a user’s login name and calls up the /bin/login command. Agetty is a substitute of Linux getty:

$ agetty -L 9600 ttyS1 vt100

 

alias Command

alias is a helpful shell built-in command for generating aliases (shortcut) to a Linux command on a system. It is useful for creating new and custom commands from existing Shell/Linux commands (which includes options):

$ alias home='cd /home/cloudinstitute/public_html'

The above command will create an alias called home for /home/cloudinstitute/public_html directory so that whenever you type home in the terminal prompt, it will put you in the /home/cloudinstitute/public_html directory.

 

anacron Command

anacron is a Linux facility that runs commands periodically for days, weeks and months.

It assumes that a system will not run forever, so if a scheduled job is due when the system is off, it’ll run when the machine is turned on.

 

apropos Command

apropos command searches for and displays a short main page description of a command/program, as follows.

$ apropos adduser

 

 

aptitude Command

aptitude is a great text-based interface to the Debian GNU/Linux package management system. Like apt-get and apt, it can install, remove or upgrade software packages on a system.

$ sudo aptitude update

 

arch Command

arch is a basic command for showing machine architecture or hardware name (similar to uname -m):

$ arch

 

at Command

at command schedules tasks to run in a future time. It can be used instead of cron and anacron, yet it runs a task once at a given future time without editing any config files:

For example, to shutdown the system at 21:00 today, run:

$ sudo echo "shutdown -h now" | at -m 21:00

 

atq Command

atq command is used to look at jobs in at command queue:

$ atq

 

atrm Command

atrm command is used to remove/delete jobs (identified by their job number) from at command queue:

$ atrm 2

 

awk Command

awk is a programming language created for text processing and is mostly used as a data extraction and reporting tool.

$ awk '//{print}'/etc/hosts

 

batch Command

batch is another tool to schedule tasks to run at a future time, similar to the at command.

 

basename Command

basename command is used to print the name of a file stripping of directories in the absolute path:

$ basename bin/findhosts.sh

 

bg Command

bg is a command that sends a process to the background.

$ tar -czf home.tar.gz .

$ bg

$ jobs

 

bzip2 Command

bzip2 command is useful to compress or decompress file(s).

$ bzip2 -z filename      #Compress

$ bzip2 -d filename.bz2  #Decompress

 

cal Command

The cal command prints a calendar on the standard output.

$ cal

 

cat Command

cat command is useful for viewing contents of a file or concatenate files, or data provided on standard input, and displaying it on the standard output.

$ cat file.txt

 

chgrp Command

chgrp command is used to alter the group ownership of a file. Make the new group name its first argument and the name of the file as the second argument, such as:

$ chgrp cloudinstitute users.txt

 

chmod Command

chmod command is useful to update file access permissions.

$ chmod +x sysinfo.sh

 

chown Command

chown command updates the user and group ownership of a file/directory, as shown:

$ chmod -R www-data:www-data /var/www/html

 

cksum Command

cksum command is useful to display the CRC checksum and byte count of an input file.

$ cksum README.txt

 

clear Command

clear command allows you to clear the terminal screen.

$ clear

 

cmp Command

cmp performs a byte-by-byte comparison of two files, like so:

$ cmp file1 file2

 

comm Command

comm command is useful to compare two sorted files line-by-line.

$ comm file1 file2

 

cp Command

cp command is for copying files and directories from one location to another.

$ cp /home/cloudinstitute/file1 /home/cloudinstitute/Personal/

 

date Command

date command is used to display/set the system date and time.

$ date

$ date --set="3 FEB 2020 11:00:00"

 

df Command

df command is for showing file system disk space usage.

$ df -h

 

diff Command

diff command is useful to compare two files line by line. It can also be used to locate the difference between two directories in Linux, as shown here:

$ diff file1 file2

 

dir Command

dir command works similar to Linux ls command; it lists the contents of a directory.

$ dir

 

dmidecode Command

dmidecode command is a helpful tool for retrieving hardware information of any Linux system. It drops a computer’s DMI (a.k.a SMBIOS) table contents in a human-readable format for simple retrieval.

To view system hardware info, type:

$ sudo dmidecode --type system

 

du Command

du command is used to show disk space usage of files in a directory and its sub-directories:

$ du /home/johndoe

 

echo Command

echo command prints a line of text provided to it.

$ echo “This is CloudInstitute - Linux How Tos”

 

env Command

env command lists all current environment variables and can also set them.

$ env

 

exit Command

exit command is will allow you to exit a shell.

$ exit

 

expr Command

expr command can calculate an expression.

$ expr 20 + 30

 

Take Linux certification training courses with CloudInstitute.io, offering over 200+ courses in top cloud technologies including AWS, Azure, and GCP among others. Start your 30-day free trial today

 

factor Command

factor command will show the prime factors of a number.

$ factor 10

 

find Command

find command allows you to search for files in a directory and its sub-directories. It looks for files by attributes, such as users, groups, permissions, date, file type, size and other criteria.

$ find /home/cloudinstitute/ -name cloudinstitute.txt

 

free Command

free command displays the system memory usage (used, free, cached, swapped, etc.) in the system, including swap space. Use the -h option to show output in human-friendly format.

$ free -h

 

grep Command

grep command finds a specified pattern in a file (or files) and shows output lines containing that pattern, like so:

$ grep ‘cloudinstitute’ domain-list.txt

 

groups Command

groups command shows all names of groups a user is in.

$ groups

$ groups cloudinstitute

 

gzip Command

Gzip will compress a file, replacing it with one having a .gz extension, as in the following:

$ gzip passwds.txt

$ cat file1 file2 | gzip > foo.gz

 

gunzip Command

gunzip expands or restores files compressed with the gzip command.

$ gunzip foo.gz

 

head Command

head command will show first lines (10 lines by default) of the specified file or stdin to the screen:

# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

 

history Command

history command can show previously used commands or helps you gain info about commands executed by a user.

$ history

 

hostname Command

hostname command will print or set a system hostname in Linux.

$ hostname

$ hostname NEW_HOSTNAME

 

hostnamectl Command

hostnamectl command controls the system hostname under systemd. It can print or modify the system hostname and all related settings.

$ hostnamectl

$ sudo hostnamectl set-hostname NEW_HOSTNAME

 

 

hwinfo Command

hwinfo will probe for the hardware present in a Linux system:

$ hwinfo

 

id Command

id command displays user and group information for the current user or specified username.

$ id cloudinstitute

 

ifconfig Command

ifconfig command can configure a Linux system’s network interfaces. It will configure, view and control network interfaces.

$ ifconfig

$ sudo ifconfig eth0 up

$ sudo ifconfig eth0 down

$ sudo ifconfig eth0 172.16.25.125

 

ionice Command

ionice command can set or view the process I/O scheduling class and priority of the specified process.

If used without any options, it will query the current I/O scheduling class and priority for that process.

$ ionice -c 3 rm /var/logs/syslog

 

iostat Command

iostat shows CPU and input/output statistics for devices and partitions. It creates helpful reports for updating system configurations to help balance the input/output load between physical disks.

$ iostat

 

ip Command

ip command will display or manage devices, routing, policy routing and tunnels. It also works as a substitute for the ifconfig command.

This command will assign an IP address to a specific interface (eth1 in this case).

$ sudo ip addr add 190.150.42.90 dev eth1

 

iw Command

iw command manages wireless devices and their configuration.

$ iw list

 

iwlist Command

iwlist command shows detailed wireless information from a wireless interface. The command below helps you get detailed information about the wlp1s0 interface.

$ iwlist wlp1s0 scanning

 

 

kill Command

kill command will kill a process with its PID by sending a signal to it (default signal for kill is TERM).

$ kill -p 2300

$ kill -SIGTERM -p 2300

 

killall Command

killall command can kill a process by its name.

$ killall safari

 

kmod Command

kmod command manages Linux kernel modules. To list all currently loaded modules, type:

$ kmod list

 

last Command

last command shows a listing of last logged in users.

$ last

 

ln Command

ln command can create a soft link between files using the -s flag.

$ ln -s /usr/bin/lscpu cpuinfo

 

locate Command

locate command will find a file by name. The locate utility works faster and better than it’s find counterpart.

The command below will find a file by its exact name (not *name*):

$ locate -b '\domain-list.txt'

 

login Command

login command will create a new session with the system. You’ll be asked to provide a username and a password to login.

$ sudo login

 

ls Command

ls command will list contents of a directory. It works more or less like dir command.

The -l option allows a long listing format.

$ ls -l file1

 

lshw Command

lshw command is a tool to access detailed information on the hardware configuration of the machine. Invoke it with superuser privileges to access comprehensive information.

$ sudo lshw 

 

lscpu Command

lscpu command shows a system’s CPU architecture information (like the number of CPUs, cores, sockets, threads and more).

$ lscpu

 

lsusb Command

lsusb command displays information about USB buses in the system and the devices connected to them.

$ lsusb

 

man Command

man command will view the on-line reference manual pages for commands/programs.

$ man du

$ man df

 

md5sum Command

md5sum command can compute and print the MD5 message digest of a file. If run without any arguments, debsums checks every single file on your system against the stock md5sum files:

$ sudo debsums

 

mkdir Command

mkdir command will create one or more directories if they do not already exist (this can be overridden with the -p option).

$ mkdir cloudinstitute-files

OR

$ mkdir -p cloudinstitute-files

 

more Command

more command allows you to view through relatively lengthy text files one at a time.

$ more file.txt

 

mv Command

mv command will rename files or directories. It can also move a file or directory to another location in the directory structure.

$ mv test.sh sysinfo.sh

 

nano Command

nano is a common small, free and friendly text editor for Linux. It’s a clone of Pico, which is the default editor included in the non-free Pine package.

To open a file using nano, type:

$ nano file.txt

 

netstat Command

netstat command shows useful information concerning the Linux networking subsystem (interface statistics, network connections, routing tables, masquerade connections, and multicast memberships).

This command shows all open ports on the local system:

$ netstat -a | more

 

nice Command

nice command shows or changes the nice value of a running program. It runs a specified command with an adjusted niceness. When run without any command specified, it prints the current niceness.

The following command starts the process “tar command” setting the “nice” value to 12.

$ nice -12 tar -czf backup.tar.bz2 /home/*

 

nmap Command

nmap is an open-source tool for network scanning and security auditing. It’s used to quickly scan large networks, but it also works fine against single hosts.

The command below will probe open ports on all live hosts on the specified network.

$ nmap -sV 192.168.56.0/24

 

nproc Command

nproc command displays the number of processing units present to the current process. Its output may be less than the number of online processors on a system.

$ nproc 

 

passwd Command

passwd command will create/update passwords for user accounts. It can also change the account password validity period. However, normal system users may only change the password of their own account, but root may modify the password for any account.

$ passwd cloudinstitute

 

pidof Command

pidof shows the process ID of a running program/command.

$ pidof init

$ pidof cinnamon

 

ping Command

ping command will determine connectivity between hosts on a network:

$ ping google.com

 

ps Command

ps displays helpful information about active processes running on a system. The example below displays the top running processes by highest memory and CPU usage.

# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

 

pstree Command

pstree shows running processes as a tree that is rooted at either PID or init if PID is omitted.

$ pstree

 

pwd Command

pwd command shows the name of the current/working directory.

$ pwd

 

reboot Command

reboot command can be used to halt, power-off or reboot a system.

$ reboot

 

rename Command

rename command will rename many files at once. If you have a collection of files with an “.html” extension and you want to rename all of them with the “.php” extension, you can type the following command.

$ rename 's/\.html$/\.php/' *.html

 

rm command

rm command will remove files or directories.

$ rm file1

$ rm -rf my-files

 

rmdir Command

rmdir command can delete/remove empty directories.

$ rmdir /backup/all

 

shutdown Command

shutdown command schedules a time for the system to be powered down. It can halt, power-off or reboot the machine.

$ shutdown --poweroff

 

sleep Command

sleep command will delay or pause (the execution of a command) for a specified amount of time.

$ check.sh; sleep 5; sudo apt update

 

sort Command

sort command will sort lines of text in the specified file(s) or from stdin.

$ cat words.txt

 

split Command

split will split a large file into small chunks.

$ tar -cvjf backup.tar.bz2 /home/cloudinstitute/Documents/*

 

stat Command

stat will show a file or file system status (-f will specify a filesystem).

$ stat file1

 

su Command

su command can switch to another user ID or become root during a login session. However, when su is invoked without a username, it defaults to becoming root.

$ su

$ su cloudinstitute

 

sum Command

sum command will show the checksum and block counts for each each specified file on the command line.

$ sum output file.txt

 

tac Command

tac command concatenates and shows files in reverse. It basically prints each file to standard output, showing the last line first.

$tac file.txt

 

 

talk Command

talk command will help you talk to another system/network user. To talk to a user on the same machine, use their login name. To talk to a user on another machine, use ‘user@host’.

$ talk person [ttyname]

OR

$ talk‘user@host’ [ttyname]

 

tar Command

tar command is a utility for archiving files in Linux.

$ tar -czf home.tar.gz .

 

tee Command

tee command will read from standard input and prints to standard output and files.

$ echo "Testing how tee command works" | tee file1

 

tree Command

The tree command is a small, cross-platform command-line program that can recursively list or display the content of a directory in a tree-like format.

$ tree

 

time Command

time command runs programs and summarizes system resource usage.

$ time wc /etc/hosts

 

top Command

top program shows all processes on a Linux system in regards to memory and CPU usage and creates a dynamic real-time view of a running system.

$ top

 

touch Command

touch command changes file timestamps. It can also be used to create a file, like in the following:

$ touch file.txt

 

tr Command

tr command is a great utility used to translate (change) or delete characters from stdin, and write the result to stdout or send to a file.

$ cat domain-list.txt | tr [:lower:] [:upper:]

 

uname Command

uname command shows system information, like the operating system, network node hostname kernel name, version and release, etc.

Use the -a option to show all the system information:

$ uname

 

uniq Command

uniq command shows or omits repeated lines from input (or standard input). To indicate the number of occurrences of a line, use the -c option.

$ cat domain-list.txt

 

users Command

users command displays the user names of users currently logged in to the current host.

$ users

 

vim/vi Command

vim (Vi Improved) is a text editor on Unix-like operating systems. It edits all kinds of plain text and program files.

$ vim file

 

w Command

w command shows system uptime, load averages and information about the users currently on the machine, and what they are doing (their processes).

$ w

 

wall Command

wall command will send/display a message to all users on the system.

$ wall “This is TecMint – Linux How Tos”

 

wc Command

wc command will display newline, word and byte counts for each file specified; also a total for many files.

$ wc filename

 

whatis Command

whatis command finds and shows a short or one-line manual page descriptions of the provided command name(s).

$ whatis wget

 

which Command

which command shows the absolute path (pathnames) of the files (or possibly links) that would be executed in the current environment.

$ which who

 

who Command

who command displays info about users who are currently logged in.

$ who

 

whereis Command

whereis command helps locate the binary, source and manual files for commands.

$ whereis cat

 

yes Command

yes command can show a string repeatedly until when terminated or killed using [Ctrl + C] as follows.

$ yes "This is CloudInstitute - Linux HowTos"

 

zcmp/zdiff Command

zcmp and zdiff are utilities used to compare compressed files.

$ zcmp domain-list.txt.zip basic_passwords.txt.zip

$ zdiff domain-list.txt.zip basic_passwords.txt.zip

 

zip Command

zip is a simple and easy-to-use utility that packages and compresses (archive) files.

$ tar cf - . | zip | dd of=/dev/nrst0 obs=16k

$ zip inarchive.zip foo.c bar.c --out outarchive.zip

$ tar cf - .| zip backup –

 

If you are a cloud expert who wants to gain expertise in Linux, getting Docker Training with CloudInstitute.io would be a great step towards success. 

We hope you found this short Linux command sheet useful. Connect with our experts to learn more about Linux and the training offered by CloudInstitute.io. Start your 30-day free trial to gain access to over 200 cloud certification training courses with CloudInstitute.io.