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