This is a list of the most commonly used Linux commands and their usage.
Syntax : ls [options] [directory]
Usage : ls
is used to list the contents of a directory. It can be used to list the contents of the current directory or any other directory.
Commands Used:
ls # list the contents of the current directory
ls -l # list the contents of the current directory in long format
ls -a # list the contents of the current directory including hidden files
ls -la # list the contents of the current directory in long format including hidden files
Syntax : cd [directory]
Usage : cd
is used to change the current working directory. It can be used to change the current working directory to the home directory or any other directory.
Commands Used:
cd # change the current working directory to the home directory
cd / # change the current working directory to the root directory
cd /home # change the current working directory to the home directory
cd Documents # change the current working directory to the Documents directory of the user
cd .. # change the current working directory to the parent directory
cd ../.. # change the current working directory to the grandparent directory
Syntax : grep [options] pattern [file]
Usage : grep
is used to search for a pattern in a file. It can be used to search for a pattern in a file or in the output of a command.
Commands Used:
=> replace pattern
like: "abc" and file
like: note.txt
grep pattern file # search for a pattern in a file
grep pattern file1 file2 # search for a pattern in multiple files
grep pattern file1 file2 | grep pattern # search for a pattern in multiple files and then search for another pattern in the output of the first grep command
grep -i pattern file # search for a pattern in a file ignoring the case
grep -v pattern file # search for a pattern in a file and print all the lines that do not match the pattern
grep -c pattern file # search for a pattern in a file and print the number of lines that match the pattern
grep -n pattern file # search for a pattern in a file and print the line numbers of the lines that match the pattern
grep -l pattern file1 file2 # search for a pattern in multiple files and print the names of the files that contain the pattern
grep -r pattern directory # search for a pattern in all the files in a directory and its subdirectories
grep -w pattern file # search for a pattern in a file and print only the lines that contain the pattern as a word
grep -x pattern file # search for a pattern in a file and print only the lines that contain the pattern as a line
grep -E pattern file # search for a pattern in a file using extended regular expressions
grep -F pattern file # search for a pattern in a file using fixed strings
grep -A n pattern file # search for a pattern in a file and print n lines of context after the matching lines
grep -B n pattern file # search for a pattern in a file and print n lines of context before the matching lines
grep -C n pattern file # search for a pattern in a file and print n lines of context before and after the matching lines
Syntax : su [options] [username]
or sudo [options] command
Usage : su
is used to switch to another user. It can be used to switch to the root user or any other user.
sudo
is used to execute a command as another user. It can be used to execute a command as the root user or any other user.
replace username
like: sam
su # switch to the root user
su - # switch to the root user and start a new shell
su - username # switch to the user with the username and start a new shell
su username # switch to the user with the username
sudo command # execute a command as the root user
sudo -u username command # execute a command as the user with the username
Syntax : pwd
Usage: pwd
is used to print the current working directory.
Commands Used:
pwd # print the current working directory
Syntax : mv [options] source destination
Usage : mv
is used to move or rename a file or directory. It can be used to move or rename a file or directory in the same directory or in a different directory.
Commands Used:
mv file1 file2 # rename the file1 to file2
mv file1 file2 directory # move the file1 to the directory and rename it to file2
mv file1 directory # move the file1 to the directory
Syntax : cp [options] source destination
Usage : cp
is used to copy a file or directory. It can be used to copy a file or directory in the same directory or in a different directory.
Commands Used:
cp file1 file2 # copy the file1 to file2
cp file1 file2 directory # copy the file1 to the directory and rename it to file2
cp file1 directory # copy the file1 to the directory
Syntax : rm [options] file
Usage : rm
is used to remove a file or directory. It can be used to remove a file or directory in the same directory or in a different directory.
Commands Used:
rm file # remove the file
rm -r directory # remove the directory and all its contents
rm -f file # remove the file without prompting for confirmation
rm -rf directory # remove the directory and all its contents without prompting for confirmation
Syntax : mkdir [options] directory
Usage : mkdir
is used to create a directory.
Commands Used:
mkdir directory # create the directory
Syntax : rmdir [options] directory
Usage : rmdir
is used to remove a directory.
Commands Used:
rmdir directory # remove the directory
Syntax : chmod [options] permissions file
Usage : chmod
is used to change the permissions of a file or directory.
Commands Used:
chmod u+x file # add the execute permission to the user
chmod u-x file # remove the execute permission from the user
chmod u=rwx file # set the permissions of the user to read, write and execute
chmod u=rw file # set the permissions of the user to read and write
chmod u=r file # set the permissions of the user to read
chmod u=w file # set the permissions of the user to write
chmod u=x file # set the permissions of the user to execute
chmod u= file # remove all the permissions of the user
chmod g+x file # add the execute permission to the group
Syntax : cat [options] file1 file2
Usage : cat
is used to concatenate files and print on the standard output.
Commands Used:
cat file1 file2 # print the contents of file1 and file2
cat file1 file2 > file3 # print the contents of file1 and file2 and save it to file3
cat file1 file2 >> file3 # print the contents of file1 and file2 and append it to file3
Syntax : chown [options] username file
Usage : chown
is used to change the owner of a file or directory.
Commands Used:
chown username file # change the owner of the file to the user with the username
chown username:group file # change the owner of the file to the user with the username and the group of the file to the group with the groupname
Syntax : echo [options] string
Usage : echo
is used to display a line of text/string.
Commands Used:
echo "Hello World" # display the string Hello World
Syntax : wc [options] file
Usage : wc
is used to count the number of lines, words, and bytes in a file.
Commands Used:
wc file # count the number of lines, words, and bytes in the file
wc -l file # count the number of lines in the file
wc -w file # count the number of words in the file
wc -c file # count the number of bytes in the file
Syntax : man [options] command
Usage : man
is used to display the user manual of any command that we can run on the terminal.
Commands Used:
It provides a detailed view of the command which includes NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUES, ERRORS, FILES, VERSIONS, EXAMPLES, AUTHORS and SEE ALSO.
Syntax : history [options]
Usage : history
is used to print the history of commands.
Commands Used:
history # print the history of commands
history | grep command # print the history of commands that contain the command
Syntax : clear
Usage : clear
is used to clear the terminal screen.
Commands Used:
clear # clear the terminal screen
Syntax : touch [options] file
Usage : touch
is used to create a file.
Commands Used:
touch file # create the file
Syntax : locate [options] file
Usage : locate
is used to find the location of a file or directory.
Commands Used:
locate file # find the location of the file
Syntax : netstat [options]
Usage : netstat
is used to display network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.
Commands Used:
netstat # display network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
netstat -t # display TCP connections
netstat -u # display UDP connections
netstat -l # display listening sockets
Syntax : df [options]
Usage : df
is used to display the amount of disk space available on the file system.
Commands Used:
df # display the amount of disk space available on the file system
df -h # display the amount of disk space available on the file system in human readable format
Syntax : du [options]
Usage : du
is used to estimate file space usage.
Commands Used:
du # estimate file space usage
du -h # estimate file space usage in human readable format
Syntax : uname [options]
Usage : uname
is used to print certain system information.
Commands Used:
uname # print certain system information
uname -a # print all system information
Syntax : passwd [options]
Usage : passwd
is used to change the password of a user.
Commands Used:
passwd # change the password of the current user
passwd username # change the password of the user with the username
Syntax : useradd [options] username
Usage : useradd
is used to add a new user to the system.
Commands Used:
useradd username # add a new user with the username to the system
Syntax : userdel [options] username
Usage : userdel
is used to delete a user from the system.
Commands Used:
userdel username # delete the user with the username from the system
Syntax : apt-get [options]
Usage : apt-get
is used to install, remove, and update software packages on Debian based systems.
Commands Used:
=> replace "package" with the name of the package you want to install, remove, or update
eg: "vim", "git"
Note: You may need to add sudo before the commands.
apt-get install package # install the package
apt-get remove package # remove the package
apt-get update # update the package list
apt-get upgrade # upgrade the packages
Syntax : ping [options] hostname
Usage : ping
is used to test the reachability of a host on an Internet Protocol (IP) network.
Commands Used:
hostname
is the name of the host to be pinged
eg: "www.google.com"
ping hostname # test the reachability of the host with the hostname
Syntax : find [options] path
Usage : find
is used to search for files in a directory hierarchy.
Commands Used:
find path -name "file" # search for the file in the path
find path -type f # search for the files in the path
find path -type d # search for the directories in the path
Syntax : head [options] file
Usage : head
is used to output the first part of files.
Commands Used:
head file # output the first 10 lines of the file
head -n 5 file # output the first 5 lines of the file
Syntax : rename [options]
Usage : rename
is used to rename multiple files.
Commands Used:
rename 's/old/new/' * # rename all the files in the current directory that contain the old string with the new string
Syntax : tail [options] file
Usage : tail
is used to output the last part of files.
Commands Used:
tail file # output the last 10 lines of the file
tail -n 5 file # output the last 5 lines of the file
Syntax : tac [options] file
Usage : tac
is used to concatenate and print files in reverse.
Commands Used:
tac file # concatenate and print the file in reverse
Syntax : comm [options] file1 file2
Usage : comm
is used to compare two sorted files line by line.
Commands Used:
comm file1 file2 # compare the file1 and file2 line by line
Syntax : cut [options] file
Usage : cut
is used to remove sections from each line of files.
Commands Used:
cut -d "delimiter" -f "field" file # remove the field from the file using the delimiter
Syntax : sort [options] file
Usage : sort
is used to sort lines of text files.
Commands Used:
sort file # sort the lines of the file
sort -r file # sort the lines of the file in reverse
sort -n file # sort the lines of the file numerically
Syntax : date [options]
Usage : date
is used to display or set the system date and time.
Commands Used:
date # display the current date and time
date -s "date" # set the date and time
Syntax : cal [options]
Usage : cal
is used to display a calendar and the date of Easter.
Commands Used:
cal # display the calendar
cal 2019 # display the calendar of the year 2019
Syntax : time [options] command
Usage : time
is used to execute a command and display the time it took to run.
Commands Used:
time command # execute the command and display the time it took to run
Syntax : host [options] hostname
Usage : host
is used to look up the IP address of a host.
Commands Used:
host hostname # look up the IP address of the host with the hostname
Syntax : wget [options] url
Usage : wget
is used to download files from the web.
Commands Used:
wget url # download the file from the url
Syntax : id [options]
Usage : id
is used to print real and effective user and group IDs.
Commands Used:
id # print the real and effective user and group IDs
Syntax : ps [options]
Usage : ps
is used to report a snapshot of the current processes.
Commands Used:
ps # report a snapshot of the current processes
Syntax : top [options]
Usage : top
is used to display Linux processes.
Commands Used:
top # display the Linux processes
Syntax : kill [options] pid
Usage : kill
is used to send a signal to a process.
Commands Used:
kill pid # send a signal to the process with the pid
Syntax : pkill [options] process
Usage : pkill
is used to send a signal to a process.
Commands Used:
pkill process # send a signal to the process
Syntax : killall [options] process
Usage : killall
is used to send a signal to a process.
Commands Used:
killall process # send a signal to the process
Syntax : bg [options]
Usage : bg
is used to resume suspended jobs in the background.
Commands Used:
bg # resume suspended jobs in the background
Syntax : fg [options]
Usage : fg
is used to resume suspended jobs in the foreground.
Commands Used:
fg # resume suspended jobs in the foreground
Syntax : tar [options] file
Usage : tar
is used to create, extract, or list files from a tar archive.
Commands Used:
tar -cvf file.tar file # create a tar archive
tar -xvf file.tar # extract a tar archive
tar -tvf file.tar # list the contents of a tar archive
Syntax : gzip [options] file
Usage : gzip
is used to compress or expand files.
Commands Used:
gzip file # compress the file
gzip -d file.gz # expand the file