Linux Command Cheat Sheet

โšก Smart Summary

Linux commands let you control the operating system from the terminal, covering file management, permissions, environment variables, user administration, networking, processes, and text editing with the vi editor across every major Linux distribution.

  • ๐Ÿ“‚ File management: Commands like ls, cd, cat, mv, and rm list, move, and remove files and directories.
  • ๐Ÿ” Permissions: The read, write, and execute flags plus chown control who can access each file.
  • ๐ŸŒฑ Environment variables: Use echo, env, export, and unset to view and set shell variables.
  • ๐Ÿ‘ฅ User administration: Commands such as sudo adduser, passwd, and usermod manage accounts and groups.
  • โš™๏ธ Processes: Tools like ps, top, kill, and nice monitor and prioritize running processes.
  • ๐Ÿค– AI assistance: AI assistants and GitHub Copilot can suggest, explain, and generate Linux commands quickly.

Linux Command Cheat Sheet with Examples

This Linux command cheat sheet groups the most useful Linux and Unix terminal commands by task, so you can find the right command quickly. Each section below covers a common area: basic navigation, file permissions, environment variables, user administration, networking, processes, and the vi editor.

Basic Linux commands

These basic commands help you navigate the filesystem and create, view, move, and delete files and directories from the terminal.

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 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

File Permission commands

Linux controls access with read, write, and execute permissions. The commands and symbols below display file types, access rights, and ownership.

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

Environment Variables command

Environment variables store values that the shell and programs read at runtime. Use these commands to display, create, set, and remove environment variables.

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

System administrators use these commands to add, modify, and remove user accounts and groups.

Command Description
sudo adduser username To add a new user
sudo passwd -l ‘username’ To change the password of a user
sudo userdel -r ‘username’ To remove a newly created user
sudo usermod -a -G GROUPNAME USERNAME To add a user to a group
sudo deluser USER GROUPNAME To remove a user from a group
finger Shows information of all the users logged in
finger username Gives information of a particular user

Networking command

These commands let you connect to remote machines over SSH and transfer files across the network.

Command Description
ssh username@ip-address or hostname Login into a remote Linux machine using SSH
ping hostname or IP-address To ping and analyze 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
quit Logout

Process command

Use these commands to monitor and control the processes running on your system, and to check disk and memory usage.

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

VI Editing Commands

The vi editor works in command and insert modes. These keystrokes cover inserting, deleting, changing, and undoing text.

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

FAQs

Use the find command to locate files by name, size, or type, and the grep command to search for text inside files. For example, find . -name “*.log” lists log files, and grep “error” file.txt finds matching lines.

chmod sets access using numbers: 4 is read, 2 is write, 1 is execute. 755 gives the owner read, write, and execute (7), and the group and others read and execute (5). 644 is a common file setting.

Debian and Ubuntu systems use apt or apt-get, while Red Hat, Fedora, and CentOS use dnf or yum. Each downloads and installs packages with their dependencies. Update the package index first, for example with sudo apt update.

The tar command archives files: tar -czvf archive.tar.gz folder creates a compressed archive, and tar -xzvf archive.tar.gz extracts it. The zip and gzip commands offer alternative compression formats that are handy for sharing files.

Redirection sends output somewhere other than the screen. Use > to write to a file, >> to append, and | to pipe output into another command. For example, ls > files.txt saves a directory listing.

The cron service runs commands on a schedule. Edit your schedule with crontab -e, then add a line such as 0 2 * * * /path/script.sh to run a script every day at 2 a.m.

AI assistants can translate plain-English requests into commands, explain what a command does, and warn about risky options like rm -rf. Machine-learning tools also detect unusual command patterns in logs, which helps administrators spot errors and security issues.

GitHub Copilot suggests shell commands and can draft complete Bash scripts from a comment describing the task. It speeds up writing loops, pipes, and conditionals, but you should review each command before running it on a production system.

Summarize this post with: