Linux Cheat Sheet

Bash Commands

uname -a Show system and kernel
head -n1 /etc/issue Show distri­bution
mount Show mounted filesy­stems
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
ALT-. Last argument of previous command
!* All arguments of previous command
^abc­123 Run previous command, replacing abc with 123

Bash Variables

env Show enviro­nment variables
echo $NAME value of $NAME variable
export NAME­=v­alue Set $NAME to value
$PATH Executable search path
$HOME Home directory
$SHELL Current shell

IO Redirection

cmd < file
  • Input of cmd from file
cmd1 <(­cmd2)
  • of cmd2 as file input to cmd1
cmd > file
  • Standard (stdout) of cmd to file
cmd > /dev/null
  • Discard stdout of cmd
cmd >> file
  • Append stdout to file
cmd 2> file
  • Error (stderr) of cmd to file
cmd 1>&2
  • stdout to same place as stderr
cmd 2>&1
  • stderr to same place as stdout
cmd &> file
  • Every of cmd to file

cmd refers to a command.


cmd1 | cmd2
  • stdout of cmd1 to cmd2
cmd1 |& cmd2
  • stderr of cmd1 to cmd2

Command Lists

cmd1 ; cmd2
  • Run cmd1 then cmd2
cmd1 && cmd2
  • Run cmd2 if cmd1 is successful
cmd1 || cmd2
  • Run cmd2 if cmd1 is not successful
cmd &
  • Run cmd in a subshell

Nano Shortcuts

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
ALT-W Find next
CTRL-\ Search and replace

More nano info at:

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 name

Screen Shortcuts

  • Start a screen session.
screen -r
  • Resume a screen session.
screen -list
  • Show your current screen sessions.
  • Activate commands for screen.
  • Create a new instance of terminal.
  • Go to the next instance of terminal.
  • Go to the previous instance of terminal.
  • Show current instances of terminals.
  • Rename the current instance.

More screen info at:

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-­sep­arated
-Q Quoted

Search Files

grep pattern files Search for pattern in files
grep -i Case insens­itive search
grep -r Recursive search
grep -v Inverted search
grep -o Show matched part of file only
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 modifed less than num minutes ago in dir
whereis command Find binary / source / manual for command
locate file Find file (quick search of system index)

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

File Operations

touch file1
  • Create file1
cat file1 file2
  • Concat­enate files and
less file1
  • View and paginate file1
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
  • last lines of file1 as it changes

File Permissions

chmod 775 file
  • Change mode of file to 775
chmod -R 600 folder
  • Recurs­ively chmod folder to 600
chown user­:g­roup 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)