Project

File Janitor

Easy
139 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.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

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

Benjamin Cheng Yew Pu avatar
Benjamin Cheng Yew Pu
5 months ago
Very hard. I learn alot of multiple topics before I'm able to do the project. Upon completion I still have alot of difficulty building the projects
moon
6 months ago
The project was useful overall, whilst quite complicated in general.
Anastasiya Mostovaya
7 months ago
I improved my Bash skills, especially with conditionals and file operations. The hardest part was making the output match test expectations exactly — it taught me to be precise and patient.

4.2

Learners who completed this project within the Introduction to Command Line and Unix Shell course rated it as follows:
Usefulness
4.6
Fun
4.0
Clarity
3.9