Your task is to re-implement shell tools you have used.
Each directory contains instructions for one shell tool to re-implement.
In general your success criteria are that the tools give the same output as the real shell tools on your computer.
You will be told in your coursework issue which language you should use in your implementation.
If the language you're using requires an interpreter, it's fine for the commands you run to be prefixed with that. i.e. if you're implementing cat in NodeJS it's fine if you need to run node cat.js 1.txt instead of cat 1.txt.