At the end of this project, you are expected to be able to explain to anyone, without the help of Google:
What does RTFM mean? What is a Shebang
What is the shell What is the difference between a terminal and a shell What is the shell prompt How to use the history (the basics)
What do the commands or built-ins cd, pwd, ls do How to navigate the filesystem What are the . and .. directories What is the working directory, how to print it and how to change it What is the root directory What is the home directory, and how to go there What is the difference between the root directory and the home directory of the user root What are the characteristics of hidden files and how to list them What does the command cd - do
What do the commands ls, less, file do How do you use options and arguments with commands Understand the ls long format and how to display it A Guided Tour What does the ln command do What do you find in the most common/important directories What is a symbolic link What is a hard link What is the difference between a hard link and a symbolic link
What do the commands cp, mv, rm, mkdir do What are wildcards and how do they work How to use wildcards
What do type, which, help, man commands do What are the different kinds of commands What is an alias When do you use the command help instead of man
How to read a man page What are man page sections What are the section numbers for User commands, System calls and Library functions
Common shortcuts for Bash
What does LTS mean?
You are tasked to come up with solutions for the tasks below yourself to meet with the above learning objectives. You will not be able to meet the objectives of this or any following project by copying and pasting someone else’s work. You are not allowed to publish any content of this project. Any form of plagiarism is strictly forbidden and will result in removal from the program.
- Allowed editors: vi, vim, emacs
- All your scripts will be tested on Ubuntu 20.04 LTS
- All your scripts should be exactly two lines long ($ wc -l file should print 2)
- All your files should end with a new line (why?) The first line of all your files should be exactly #!/bin/bash
- A README.md file at the root of the repo, containing a description of the repository
- A README.md file, at the root of the folder of this project, describing what each script is doing You are not allowed to use backticks, &&, || or ;
- All your scripts must be executable. To make your file executable, use the chmod command: chmod u+x file. Later, we’ll learn more about how to utilize this command.