Project

File Janitor

Challenging
166 completions
~ 6 hours
4.2

Study basics of Bash scripting language, including functions and arguments, reading files, conditional statements and text processing. Practice writing helpful scripts, take advantage of frequently used utilities, and discover how to automate work with shell scripts.

Provided by

JetBrains Academy JetBrains Academy

About

Have you ever used the command line in your work? If not, it's about time to learn a great variety of tools and utilities accessible from the command line. The command line provides plenty of benefits to Linux users. Even if you are a proficient Linux user, you will have an opportunity to refresh your knowledge, sharpen your skills, and, maybe, master new tricks.

Graduate project icon

Graduate project

This project covers the core topics of the Security Operations Engineer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Create a shell script that will output a greeting message to the console.
Create a shell script that can accept the help subcommand and print the content of the help file.
Modify the script so that it can check if it is launched with an argument and behave depending on it. Also, the script should accept a new subcommand list [path] to print the content of the working directory or the directory specified by the user.
Make the script accept a new subcommand report [path] and output a summary of the content of the directory at the specified path.
Bring more power to the script and make it accept another subcommand clean [path]. It will instruct the script to perform certain operations (such as moving, archiving and deleting) on files at the specified path and then report results of the performed operations.

Reviews

Kenneth Satterlee
3 months ago
my use of the find command has greatly improved and I learned that you should get your variable names setup first. updating them afterwards is a real pain if you don't want to update every instance
Yaraslau Krautsou
3 months ago
During this project I learned how to build and extend a Bash script that behaves like a small command-line tool with multiple options (help, list, report, clean). I practiced using core Linux utilities such as find, cp, mv, rm, wc, and awk, and learned how important exact output formatting is in aut ...
Kheng-Bee Goh
3 months ago
A lot of useful commonly used unix commands. This is best paired with input from AI like Gemini, etc. It helps to learn faster and deeper than the content presented by Hyperskill.

4.2

Learners who completed this project within the Security Operations Engineer course rated it as follows:
Usefulness
4.6
Fun
4.1
Clarity
4.0