Linux Command Line Cheat Sheet

Introduction

The Linux command line is a powerful tool for managing files, processes, and system settings. This cheat sheet covers essential commands and shortcuts to help you navigate and utilize the command line efficiently.

Bash Commands

uname -a          # Show system and kernel
head -n1 /etc/issue # Show distribution
mount             # Show mounted filesystems
date              # Show system date
uptime            # Show uptime
whoami            # Show your username
man command       # Show manual for command

Bash Shortcuts

CTRL-c         # Stop current command
CTRL-z         # Sleep program
CTRL-a         # Go to start of line
CTRL-e         # Go to end of line
CTRL-u         # Cut from start of line
CTRL-k         # Cut to end of line
CTRL-r         # Search history
!!             # Repeat last command
!abc           # Run last command starting with abc
!abc:p         # Print last command starting with abc
!$             # Last argument of previous command
!*             # All arguments of previous command
^abc^123       # Run previous command, replacing abc with 123

Bash Variables

env               # Show environment variables
echo $NAME       # Output value of $NAME
export NAME=value # Set $NAME to value
$PATH            # Executable search path
$HOME            # Home directory
$SHELL           # Current shell

IO Redirection

command < file         # Read input of command from file
command > file         # Write output of command to file
command > /dev/null    # Discard output of command
command >> file        # Append output to file
command1 | command2    # Pipe output of command1 to command2

Directory Operations

pwd       # Show current directory
mkdir dir  # Make directory dir
cd dir     # Change directory to dir
cd ..      # Go up a directory
ls         # List files

ls Options

-a  # Show all (including hidden)
-R  # Recursive list
-r  # Reverse order
-t  # Sort by last modified
-S  # Sort by file size
-l  # Long listing format
-1  # One file per line
-m  # Comma-separated output
-Q  # Quoted output

Search Files

grep pattern files       # Search for pattern in files
grep -i pattern files    # Case insensitive search
grep -r pattern dir      # Recursive search
grep -v pattern files    # Inverted search
find /dir/ -name name*   # Find files starting with name in dir
find /dir/ -user name    # Find files owned by name in dir
find /dir/ -mmin num     # Find files modified less than num minutes ago in dir
whereis command          # Find binary/source/manual for command
locate file              # Find file (quick search of system index)

File Operations

touch file1         # Create file1
cat file1 file2    # Concatenate files and output
more file1         # View file1 with pagination
less file1         # View file1 with backward movement
file file1         # Get type of file1
cp file1 file2     # Copy file1 to file2
mv file1 file2     # Move file1 to file2
rm file1           # Delete file1
head file1         # Show first 10 lines of file1
tail file1         # Show last 10 lines of file1
tail -f file1      # Output last lines of file1 as it changes

Process Management

ps               # Show snapshot of processes
top              # Show real-time processes
kill pid         # Kill process with id pid
pkill name       # Kill process with name name
killall name     # Kill all processes with names beginning with name

Nano Shortcuts

Files

Ctrl-R  # Read file
Ctrl-O  # Save file
Ctrl-X  # Close file

Cut and Paste

ALT-A   # Start marking text
CTRL-K  # Cut marked text or line
CTRL-U  # Paste text

Navigate File

ALT-/    # End of file
CTRL-A   # Beginning of line
CTRL-E   # End of line
CTRL-C   # Show line number
CTRL-_   # Go to line number

Search File

CTRL-W   # Find
ALT-W    # Find next
CTRL-\   # Search and replace

Screen Shortcuts

screen             # Start a screen session
screen -r          # Resume a screen session
screen -list       # Show your current screen sessions
CTRL-A             # Activate commands for screen
CTRL-A c           # Create a new instance of terminal
CTRL-A n           # Go to the next instance of terminal
CTRL-A p           # Go to the previous instance of terminal
CTRL-A "           # Show current instances of terminals
CTRL-A A           # Rename the current instance of terminal

File Permissions

chmod 775 file       # Change mode of file to 775
chmod -R 600 folder # Recursively chmod folder to 600
chown user:group file # Change file owner to user and group to group

File Permission Numbers

The first digit is the owner permission, the second the group, and the third for everyone. Calculate each of the three permission digits by adding the numeric values of the permissions below:

4  # read (r)
2  # write (w)
1  # execute (x)

Conclusion

Understanding and utilizing these commands and shortcuts can greatly enhance your efficiency and capability when working with the Linux command line. Bookmark this cheat sheet for quick reference, and don't hesitate to explore further and practice these commands to become proficient in managing your Linux