Terminal
MacOS Terminal
SHORTCUTS
Key/Command | Description |
---|---|
Ctrl + A | Go to the beginning of the line you are currently typing on. This also works for most text input fields system wide. Netbeans being one exception |
Ctrl + E | Go to the end of the line you are currently typing on. This also works for most text input fields system wide. Netbeans being one exception |
Ctrl + Q | Clears everything on current line |
Ctrl + L | Clears the Screen |
⌘Cmd + K | Clears the Screen |
Ctrl + U | Cut everything backwards to beginning of line |
Ctrl + K | Cut everything forward to end of line |
Ctrl + W | Cut one word backwards using white space as delimiter |
Ctrl + Y | Paste whatever was cut by the last cut command |
Ctrl + H | Same as backspace |
Ctrl + C | Kill whatever you are running |
Ctrl + D | Exit the current shell when no process is running, or send EOF to a the running process |
Ctrl + Z | Puts whatever you are running into a suspended background process. fg restores it. |
Ctrl + _ | Undo the last command. (Underscore. So it's actually Ctrl + Shift + minus) |
Ctrl + T | Swap the last two characters before the cursor |
Ctrl + F | Move cursor one character forward |
Ctrl + B | Move cursor one character backward |
Esc + F | Move cursor one word forward |
Esc + B | Move cursor one word backward |
Esc + T | Swap the last two words before the cursor |
Tab | Auto-complete files and folder names |
CORE COMMANDS
Key/Command | Description |
---|---|
cd | Home directory |
cd [folder] | Change directory e.g. cd documents |
cd / | Root of drive |
cd - | Previous directory |
ls | Short listing |
ls -l | Long listing |
ls -a | Listing incl. hidden files |
ls -lh | Long listing with Human readable file sizes |
ls -R | Entire content of folder recursively |
sudo [command] | Run command with the security privileges of the superuser (Super User DO) |
open [file] | Opens a file ( as if you double clicked it ) |
top | Displays active processes. Press q to quit |
nano [file] | Opens the file using the nano editor |
vim [file] | Opens the file using the vim editor |
clear | Clear screen |
reset | Resets the terminal display |
CHAINING COMMANDS
Key/Command | Description |
---|---|
[command-a]; [command-b] | Run command A and then B, regardless of success of A |
[command-a] && [command-b] | Run command B if A succeeded |
[command-a] | |
[command-a] & | Run command A in background |
PIPING COMMANDS
Key/Command | Description |
---|---|
[command-a] | [command-b] | Run command A and then pass the result to command B e.g ps auxwww | grep google |
COMMAND HISTORY
Key/Command | Description |
---|---|
history n | Shows the stuff typed – add a number to limit the last n items |
Ctrl + r | Interactively search through previously typed commands |
![value] | Execute the last command typed that starts with ‘value’ |
!! | Execute the last command typed |
FILE MANAGEMENT
Key/Command | Description |
---|---|
touch [file] | Create new file |
pwd | Full path to working directory |
. | Current folder, e.g. ls . |
.. | Parent/enclosing directory, e.g. ls .. |
ls -l .. | Long listing of parent directory |
cd ../../ | Move 2 levels up |
cat | Concatenate to screen |
rm [file] | Remove a file, e.g. rm data.tmp |
rm -i [file] | Remove with confirmation |
rm -r [dir] | Remove a directory and contents |
rm -f [file] | Force removal without confirmation |
cp [file] [newfile] | Copy file to file |
cp [file] [dir] | Copy file to directory |
mv [file] [new filename] | Move/Rename, e.g. mv file1.ad /tmp |
pbcopy < [file] | Copies file contents to clipboard |
pbpaste | Paste clipboard contents |
pbpaste > [file] | Past clipboard contents into file, pbpaste > paste-test.txt |
DIRECTORY MANAGEMENT
Key/Command | Description |
---|---|
mkdir [dir] | Create new directory |
mkdir -p [dir]/[dir] | Create nested directories |
rmdir [dir] | Remove directory ( only operates on empty directories ) |
rm -R [dir] | Remove directory and contents |
[command] | [command] | Allows to combine multiple commands that generate output, e.g. `cat data.txt |
less | Output content delivered in screensize chunks |
[command] > [file] | Push output to file, keep in mind it will get overwritten |
[command] >> [file] | Append output to existing file |
[command] < [file] | Tell command to read content from a file |
SEARCH
Key/Command | Description |
---|---|
find [dir] -name [search_pattern] | Search for files, e.g. find /Users -name "file.txt" |
grep [search_pattern] [file] | Search for all lines that contain the pattern, e.g. grep "Tom" file.txt |
grep -r [search_pattern] [file] | Recursively search for all lines that do not contain the pattern |
grep -v [search_pattern] [file] | Search for all lines that do NOT contain the pattern |
HELP
Key/Command | Description |
---|---|
[command] -h | Offers help |
[command] —help | Offers help |
info [command] | Offers help |
man [command] | Show the help manual for [command] |
whatis [command] | Gives a one-line description of [command] |
apropos [search-pattern] | Searches for command with keywords in description |