Getting Started With the Terminal

Table of Contents

Before Starting

The root directory is “/” and inside of “/”, you have the following folders: bin, tmp, usr, and src.

Opening Your Terminal

Important Notes

Tab auto-completion.
Arrow key functionality.


pwd — print working directory

Currently in the “/Users/alanconstantino” directory.

ls — list

By typing ls, we can see all of the files and directories within the current directory.
ls [directory name]
We list all the files and folders inside of the “Desktop” directory.
ls -a
Listing hidden files with the “-a” option.

cd — change directory

cd [directory name]
cd /
“cd /” changes your current directory to your root directory.
cd ~
We are now in the home directory.
cd ..
Changed directory from “/Users/alanconstantino/Desktop” to “/Users/alanconstantino.”
cd ../../
cd ../../../
cd -


Clearing the terminal.

mv — move

mv [source] [destination]
├── myfile.txt
└── two
mv myfile.txt two
We moved “myfile.txt” to the folder “two.”
We moved “anotherfile.txt” to the “two” folder while in the root directory.
mv /somelocation/myfile.txt .
mv [old file name] [new file name]
mv myfile.txt newname.txt

cp — copy

cp [source] [destination]
cp myfile.txt /one
We copied “myfile.txt” to the “one” folder.
cp -r one two
We copy the contents of the “one” directory into the “two” directory.


open [file/folder]
open myfile.txt
We open a file named “myfile.txt.”
open /
We opened a new finder window at the root directory.
A finder window showing the contents of the root directory.
open .

mkdir — make directory

mkdir [directory name]
We made a directory named “mydirectory.”
We created two directories, one named “newdirectory” and another named “anotherdirectory.”


touch [file name]
touch myfile.txt
We create a file named “myfile.txt.”
We create “myfile.txt” in the current directory and “anotherone.txt” in the previous directory.

rmdir — remove directory

rmdir [directory name]
We are deleting an empty directory named “emptydir.”
We failed at removing the directory “folder” because it’s not empty.

rm — remove

rm [file name]
rm myfile.txt
We removed a file named “myfile.txt.”
rm [file1] [file2] [etc]
We delete “afile.txt” and “anotherone.txt”
rm *.txt
We delete various .txt files.
[command] [options] [other paramters]

rm -r

rm -r [directory]
├── folder1
│ └── text1.txt
├── folder2
│ └── text2.txt
└── folder3
└── text3.txt
rm -r newfolder
We delete all of the contents of the “newfolder” directory including the folder itself.

rm -f

rm -f [file/directory]

rm -rf

rm -rf [directory]
└── myfolder
├── folder1
│ └── file1.txt
├── folder2
│ └── file2.txt
├── folder3
│ └── file3.txt
└── folder4
└── file4.txt
rm -rf myfolder
We remove all the contents of “myfolder” including the folder itself.

man — manual

man [command name]
man mv
The functionality for the mv command.
The options associated with the mv command.


  • pwd — prints the current working directory
  • ls — lists all the contents of the current directory
  • cd — changes directory
cd [directory name]
  • clear — clears the terminal screen
  • mv — moves files or folders from one place to another and can rename files or folders
mv [source] [destination]
  • cp — copies files or folders from one place to another
cp [source] [destination]
  • open — opens the file or folder with the associated program
open [file/directory]
  • mkdir — makes a new empty directory
mkdir [directory name]
  • touch — creates a new empty file with the name of your choice and can update a file’s timestamps
touch [file name]
  • rmdir — removes an empty directory
rmdir [empty directory]
  • rm — removes a file
rm [file name]
  • rm -rf — removes the folder and its contents without showing any prompts
rm -rf [directory name]
  • man — brings up the manual for the given command
man [command name]

Where to Go From Here?

  • cat — concatenates and prints files to the terminal
  • less — displays contents of a file
  • grep — searches files for a certain word or regular expression
  • ls -l — lists files in long format
  • kill — can terminate a signal or process
  • chmod — allows you to change or modify access permissions of a file or folder
  • sudo — a prefix that allows you to run commands as a superuser with root privileges
  • mkdir -p — you can create multiple directories within the same path
  • w — tells you who’s logged in and what they’re doing



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store