If you're not using the terminal, Linux commands may appear scary at first by once you start using them you will understand them very easily On a Linux system, there are numerous commands for executing operations and procedures.
Having a list of commands on hand is useful whether you are new to Linux or an experienced user.
File Permission commands
Command |
Description |
ls-l |
to show file type and access permission |
r |
read permission |
w |
write permission |
x |
execute permission |
-= |
no permission |
Chown user |
For changing the ownership of a file/directory |
Chown user:group filename |
change the user as well as group for a file or directory |
Hardware commands
Command |
Description |
dmesg |
Displays bootup messages |
cat /proc/cpuinfo |
Displays more information about CPU e.g model, model name, cores, vendor id |
cat /proc/meminfo |
Displays more information about hardware memory e.g. Total and Free memory |
lshw |
Displays information about system's hardware configuration |
lsblk |
Displays block devices related information |
free -m |
Displays free and used memory in the system (-m flag indicates memory in MB) |
lspci -tv |
Displays PCI devices in a tree-like diagram |
lsusb -tv |
Displays USB devices in a tree-like diagram |
dmidecode |
Displays hardware information from the BIOS |
hdparm -i /dev/xda |
Displays information about disk data |
hdparm -tT /dev/xda <:code> |
Conducts a read speed test on device xda |
badblocks -s /dev/xda |
Tests for unreadable blocks on disk |
Basic Linux commands
Command |
Description |
ls |
Lists all files and directories in the present working directory |
ls-R |
Lists files in sub-directories as well |
ls-a |
Lists hidden files as well |
ls-al |
Lists files and directories with detailed information like permissions,size, owner, etc. |
cd or cd ~ |
Navigate to HOME directory |
cd .. |
Move one level up |
cd |
To change to a particular directory |
cd / |
Move to the root directory |
cat > filename |
Creates a new file |
cat filename |
Displays the file content |
cat file1 file2 > file3 |
Joins two files (file1, file2) and stores the output in a new file (file3) |
mv file "new file path" |
Moves the files to the new location |
mv filename new_file_name |
Renames the file to a new filename |
sudo |
Allows regular users to run programs with the security privileges of the superuser or root |
rm filename |
Deletes a file |
man |
Gives help information on a command |
history |
Gives a list of all past commands typed in the current terminal session |
clear |
Clears the terminal |
mkdir directoryname |
Creates a new directory in the present working directory or a at the specified path |
rmdir |
Deletes a directory |
mv |
Renames a directory |
pr -x |
Divides the file into x columns |
pr -h |
Assigns a header to the file |
pr -n |
Denotes the file with Line Numbers |
lp -nc , lpr c |
Prints "c" copies of the File |
lp-d lp-P |
Specifies name of the printer |
apt-get |
Command used to install and update packages |
mail -s 'subject' -c 'cc-address' -b 'bcc-address' 'to-address' |
Command to send email |
mail -s "Subject" to-address < Filename |
Command to send email with attachment |
Environment Variables command
Command |
Description |
echo $VARIABLE |
To display value of a variable |
env |
Displays all environment variables |
VARIABLE_NAME= variable_value |
Create a new variable |
Unset |
Remove a variable |
export Variable=value |
To set value of an environment variable |
User management commands of linux
Command |
Description |
sudo adduser username |
To add a new user to your current Linux machine |
sudo userdel -r 'username' |
deluser removes a user from a specific group. |
finger |
Gives information on all logged in user |
finger username |
Gives information of a particular user |
Network command
Command |
Description |
SSH username@ip-address or hostname |
login into a remote Linux machine using SSH |
Ping hostname="" or ="" |
To ping and Analyzing network and host connections |
dir |
Display files in the current directory of a remote computer |
cd "dirname" |
change directory to "dirname" on a remote computer |
put file |
upload 'file' from local to remote computer |
get file |
Download 'file' from remote to local computer |
ip addr show |
Displays IP addresses and all the network interfaces |
ip address add 192.168.0.1/24 dev eth0 |
Assigns IP address 192.168.0.1 to interface eth0 |
ifconfig |
Displays IP addresses of all network interfaces |
ping host |
ping command sends an ICMP echo request to establish a connection to server / PC |
whois domain |
Retrieves more information about a domain name |
dig domain |
Retrieves DNS information about the domain |
dig -x host |
Performs reverse lookup on a domain |
host google.com |
Performs an IP lookup for the domain name |
hostname -i |
Displays local IP address |
wget file_name |
Downloads a file from an online source |
netstat -pnltu |
Displays all active listening ports |
quit |
Logout |
Process command
Command |
Description |
bg |
To send a process to the background |
fg |
To run a stopped process in the foreground |
top |
Details on all Active Processes |
ps |
Give the status of processes running for a user |
ps PID |
Gives the status of a particular process |
pidof |
Gives the Process ID (PID) of a process |
kill PID |
Kills a process |
nice |
Starts a process with a given priority |
renice |
Changes priority of an already running process |
df |
Gives free hard disk space on your system |
free |
Gives free RAM on your system |
System Information
Command |
Description |
time |
It is a utility that measures the time taken by a program to execute. |
/proc |
The files under /proc displays system information. |
dmseg |
This command is used to print the contents of the bootup messages displayed by the kernel. This is particularly useful in debugging issues. |
df |
Displays the information about the space on the mounted file-systems. |
who |
Displays information about the logged in users including their login time. |
w |
This command displays who are logged in into the system and the processes they are running. |
users |
This command prints the name of the currently logged in users. |
last |
This command displays the time of the logged-out users. This also displays the information when the computer was rebooted. |
lastlog |
Displays a list of the users and the time/day of their login. |
whoami |
It tells the username of the logged in user. |
free |
Displays memory status. (Total, Used, Free, cached, Swap) |
uptime | w |
It displays how long the computer has been up and running. Additionally, it displays the number of users and the processor load. |
uname |
It is used to display system information such as OS type, kernel version, etc. |
xargs |
This command is used to run a command as many times as required. |
date |
It is used to display the system. It can also be used to set the date/time. |
cal |
This command displays the calendar of the current month. |
acpi |
This command is used to display the battery status and other ACPI(Advanced Configuration and Power Information) related information. |
acpi_available |
This command is used to test if the ACPI subsystem is available. |
aptitude |
|
VI Editing Commands
Command |
Description |
i |
Insert at cursor (goes into insert mode) |
a |
Write after cursor (goes into insert mode) |
A |
Write at the end of line (goes into insert mode) |
ESC |
Terminate insert mode |
u |
Undo last change |
U |
Undo all changes to the entire line |
o |
Open a new line (goes into insert mode) |
dd |
Delete line |
3dd |
Delete 3 lines |
D |
Delete contents of line after the cursor |
C |
Delete contents of a line after the cursor and insert new text. Press ESC key to end insertion. |
dw |
Delete word |
4dw |
Delete 4 words |
cw |
Change word |
x |
Delete character at the cursor |
r |
Replace character |
R |
Overwrite characters from cursor onward |
s |
Substitute one character under cursor continue to insert |
S |
Substitute entire line and begin to insert at the beginning of the line |
~ |
Change case of individual character |
References: Linoxide, Guru 99, Hackr, Loggly, Phoenixnap
Conclusion
I hope you found this cheatsheet helpful. If you need any help please let me know in the comment section
Let's connect on Twitter and LinkedIn
👋 Thanks for reading, See you next time
Top comments (4)
I truly respect and Appreciate your hardWork mann !
Thanks Asif, Glad you liked it :)
Your "User management commands" descriptions are all wrong - they're copied from your environment variables table.
Thanks for mentioning, I fixed it 😀