P
P
Python Classroom
Ask or search…
K

Linux Bash Shell

CS50 IDE is currently using Ubuntu 18 LTS
$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 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
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