Skip to content

Latest commit

 

History

History
136 lines (110 loc) · 5.46 KB

File metadata and controls

136 lines (110 loc) · 5.46 KB

Command line

Kernel - Hardware core
Shell - UI like Finder (GUI) or command line (CLI) that allows us to communicate with Kernel

Bash = Bourne Again Shell

Why use the command line?

It is a great way to manipulate system since it has such benefits as:

  • Speed
  • Control
  • Full access to the system

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 + C Kill whatever you are running. Also clears everything on current line
Ctrl + _ Undo the last command. (Underscore. So it's actually Ctrl + Shift + minus)
Option + → Move cursor one word forward
Option + ← Move cursor one word backward
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 )
open -a [file] [app name] Opens a file with the app
top Displays active processes. Press q to quit
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].[file type] 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

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

Useful links