Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0nn0/terminal-mac-cheatsheet

List of my most used commands and shortcuts in the terminal for Mac
https://github.com/0nn0/terminal-mac-cheatsheet

Last synced: about 2 months ago
JSON representation

List of my most used commands and shortcuts in the terminal for Mac

Awesome Lists containing this project

README

        

# Terminal Cheatsheet for Mac (Basics)

This cheatsheet is available in many languages. Since the translation rely on volunteers, the content between the available languages may vary. Choose one below:

- [English Version](#english-version)
- [Version en Español](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Español)
- [Version Française](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Français)
- [Wersja Polska](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Polskie)
- [Versão em Português](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Português)
- [Versioni Shqip](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Shqiptar)
- [Phiên bản Tiếng Việt](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Tiếng%20Việt)
- [Türkçe Versiyonu](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Türk)
- [Русская Версия](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Русский)
- [Українська Версія](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Українська)
- [한국어판](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/한국어)
- [中文版](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/中文)
- [日本語](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/日本語)
- [繁體中文版](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/繁體中文)
- [Bahasa Indonesia](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Indonesia)
- [Deutsch](https://github.com/0nn0/terminal-mac-cheatsheet/tree/master/Deutsch)

## English Version

_Letters are shown capitalized for readability only._ _Capslock should be off._

------------

### 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 + 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. Also clears everything on current line |
| 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 |
| Option + → | Move cursor one word forward |
| Option + ← | Move cursor one word backward |
| Esc + T | Swap the last two words before the cursor |
| Esc + Backspace | Cut one word backwards using none alphabetic characters as delimiters |
| Tab | Auto-complete files and folder names |

### CORE COMMANDS

| Key/Command | Description |
| ----------- | ----------- |
| cd [folder] | Change directory e.g. `cd Documents` |
| cd | Home directory |
| cd ~ | Home directory |
| 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 | Clears the 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-b] | Run command B if A failed |
| [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’ |
| ![value]:p | Print to the console the last command typed that starts with ‘value’ |
| !! | Execute the last command typed |
| !!:p | Print to the console the last command typed |

### FILE MANAGEMENT

| Key/Command | Description |
| ----------- | ----------- |
| touch [file] | Create a 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] | Paste 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 |
| less [file]| Output file 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] [dir] | Recursively search in all files in specified directory for all lines that contain the pattern |
| grep -v [search_pattern] [file] | Search for all lines that do NOT contain the pattern |
| grep -i [search_pattern] [file] | Search for all lines that contain the case-insensitive pattern |
| mdfind [search_pattern] | Spotlight search for files (names, content, other metadata), e.g. `mdfind skateboard` |
| mdfind -onlyin [dir] -name [pattern] | Spotlight search for files named like pattern in the given directory |

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

### GIT

For Git related commmands you can check my [git-basics-cheatsheet](https://github.com/0nn0/git-basics-cheatsheet)