This post will introduce you to basic command line commands. I’ll keep explanations short so this acts as more of a cheat sheet.
Note: I’m assuming you are running a zsh shell. I’ve also installed oh my zsh, although most of the commands below do not rely upon it. For help setting up your terminal, see my video overview here .
Navigating Files and Folders
These basic commands help you move around your system.
pwd
: Prints the current working directory.cd
: Change the current working directory..
: Current working directory (oh-my-zsh)...
: Parent working directory (oh-my-zsh).…
: Grandparent working directory (oh-my-zsh).ls
: Lists the contents of the current working directory.-
: Toggle to the previous directory (oh-my-zsh).code .
: Opens the current working directory in VSCode.open .
: Opens the current working directory in the Finder (useexplorer .
for Windows).
Creating and Deleting
touch
: Creates a new file (follow the command with the file name and extension).mkdir
: Creates a new directory (follow the command with the folder name).mkcd
ortake
: Creates a new directory (follow the command with the folder name) and changes to it (oh-my-zsh).rm
: Permanently deletes a file (follow the command with the filename).rm -r
: Permanently deletes a directory (follow the command with the directory name).
Note: For deleting, I strongly recommend the trash mdn package below, as it will move deleted files to your trash can / recycle bin.
Searching and Repeating Terminal Commands
- Tab: With zsh, you can start typing any directory and press the Tab key to autocomplete. If multiple options fit the search, you can press the Tab key again to cycle through them (you can also use the arrow keys to navigate other options).
- ↑: Press the up arrow key to go to the previous command (continue pressing the up arrow key to go to the previous command). If you remember the beginning of the command, start typing and then press the up arrow key to show previous commands that match.
- ctrl + r: Press the ctrl key and then the r key to search previous commands.
- &&: Chain commands together with the && operator. For
instance,
npm install && npm run build
will install the dependencies and then run the build command. man
: You can open the terminal manual pages for any command with theman
command followed by the command. For example,man ls
shows all possible flags available with thels
command. Press q to exit man pages.
Cancel, Stop, and Clear Commands
- ctrl + c: Cancel current command.
- ctrl + l: Clear previous terminal outputs.
Common Terminal Interface Commands
- cmd + t: Open a new terminal tab.
- cmd + w: Close current terminal tab.
- cmd + d: Open horizontally split terminal tab.
- cmd + shift + d: Open vertically split terminal tab.
Note: I recommend Hyper, a cross-platform terminal with tons of customizations, themes, etc. For macOS users, I’d strongly recommend Warp, a new-ish modern terminal app. For more on Warp, see my video overview on Warp. For help setting up your terminal, see my video overview here.
Helpful Custom Terminal Features
Install z.sh for quick navigation.
Once configured, typing z
followed by a shorthand for a directory to quickly cd to that directory.
- Save this z.sh file at the root of your computer.
- Open your .zshrc file and add the following line to the end of the file:
. ~/z.sh
. - Use your terminal like normal.
Once you’ve established patterns of going to directories, you can use the z
command to quickly go to those directories. For example, if you have a folder at ~/Documents/Blog
, z.sh will learn your pattern of going to that directory and will automatically go there when you type z blog
.
Note: This script requires Oh My Zsh. Learn more at the Z GitHub repo.
Install the Trash CLI
By default, when you use rm
to delete a file/folder, it will permanently and irrevocably delete the file/folder. This action can both be inconvenient if you accidentally delete something you later want, but it can also be dangerous (it’s easy to delete whole sections of your hard drive).
The trash cli replaces this default behavior by moving deleted files to your trash can. The trash cli works with both bash and zsh.
- Open your terminal to any directory.
- Type
npm install —global trash-cli
and press enter. - Once installed, use
trash
followed by a file or folder to move it to the trash can/recycle bin.
The docs suggest the following:
Add the line alias rm=trash
to your .zshrc
or .bashrc
file to ensure you always safely delete files: rm unicorn.png
.
Note: If that doesn’t make sense, add this line anywhere in
your .zshrc file: alias rm=trash
. See
the Trash CLI repo for
more details.