Linux Bash Shell
CS50 IDE is currently using Ubuntu 18 LTS
Terminal Shortcuts
Key/Command
Description
ctrl-a
Go to the beginning of the line you are currently typing on.
ctrl-c
Kill whatever you are running. Also clears everything on current line
ctrl-e
Go to the end of the line you are currently typing on.
ctrl-l
Clear the terminal
ctrl-r
Reverse search history
ctrl-w
Delete word on the left
ctrl-y
Paste
ctrl-z
Puts whatever you are running into a suspended background process. fg restores it
tab
auto completion of file or command
!!
repeat last command
Terminal Navigation
Key/Command
Description
ls -a
list all files and folders
ls <foldername>
list files in folder
ls -lh
Detailed list, human readable
ls -l *.jpg
list jpeg files only
ls -lh <filename>
Result for file only
cd <foldername>
change direcxtory
cd /
goto root directory
cd ..
go up one folder
pwd
print working directory
man <command>
shows manual
Pipe
Key/Command
Description
[command-a] | [command-b]
Run command A and then pass the result to command B e.g ps auxwww | grep google
File Manipulation
tail
Key/Command
Description
tail <filename>
output the last part of files
tail -f <filename>
output appended data as the file grows
head
Key/Command
Description
head <filename>
output the first part of files
head -n <filename>
print the first NUM lines instead of the first 10
cp
Key/Command
Description
cp image.jpg newimage.jpg
copy and rename a file
cp image.jpg <foldername>
copy to a folder
cp -R stuff otherstuff
copy and rename a folder
cp *.txt stuff
copy all *.txt to stuff folder
cat
Key/Command
Description
cat <filename>
concatenate files and print on the standard output
mkdir
Key/Command
Description
mkdir <foldername>
create a directory
redirect
Key/Command
Description
[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
touch
Key/Command
Description
touch <filename>
change file timestamps
Last updated