diff --git a/subjects/my-ls-1/my-ls-1.audit.en.md b/subjects/my-ls-1/my-ls-1.audit.en.md new file mode 100644 index 00000000..fa8139df --- /dev/null +++ b/subjects/my-ls-1/my-ls-1.audit.en.md @@ -0,0 +1,62 @@ +#### Functional + +##### Run both my-ls-1 and the system command `ls` with no arguments. +###### Does it displays the same files and/or folders in the same order? + +##### Run both my-ls-1 and the system command `ls` with the arguments: ``. +###### Does it displays the same file? + +##### Run both my-ls-1 and the system command `ls` with the arguments: ``. +###### Does it displays the same files and/or folders in the same order? + +##### Run both my-ls-1 and the system command `ls` with the flag: `-l`. +###### Does it displays the same files and/or folders with the same display? + +##### Run both my-ls-1 and the system command `ls` with the arguments: `-l `. +###### Does it displays the same file with the same display? + +##### Run both my-ls-1 and the system command `ls` with the arguments: `-l `. +###### Does it displays the same files and/or folders with the same display? + +##### Run both my-ls-1 and the system command `ls` with the flag: `-l /usr/bin`. +###### Does it displays the same files and/or folders with the same display? Be aware of symbolic links. + +##### Run both my-ls-1 and the system command `ls` with the flag: `-R`, in a directory with folders in it. +###### Does it displays the same files and/or folders? + +##### Run both my-ls-1 and the system command `ls` with the flag: `-a`. +###### Does it displays the same files and/or folders in the same order? + +##### Run both my-ls-1 and the system command `ls` with the flag: `-r`. +###### Does it displays the same files and/or folders in the same order? + +##### Run both my-ls-1 and the system command `ls` with the flag: `-t`. +###### Does it displays the same files and/or folders in the same order? + +##### Run both my-ls-1 and the system command `ls` with the flag: `-la`. +###### Does it displays the same files and/or folders in the same order? + +##### Run both my-ls-1 and the system command `ls` with the arguments: `-l -t `. +###### Does it displays the same files and/or folders in the same order? + +##### Run both my-ls-1 and the system command `ls` with the arguments: `-lRr `, in which the directory chosen contains folders. +###### Does it displays the same files and/or folders in the same order? + +#### General + +###### +Does the program runs with colors as in the ls command? +###### +Does the program has other flags except for the mandatory ones? + +##### Try running the program with `-R ~` and with the command time before the program name (ex: "time ./my-ls-1 -R ~"). +###### +Is the real time less than 1,5 seconds? + +#### Basic + +###### +Does the code obey the [good practices](https://public.01-edu.org/subjects/good-practices.en)? +###### +Is there a test file for this code? +###### +Are the tests checking each possible case? + +#### Social + +###### +Did you learn anything from this project? +###### +Would you recommend/nominate this program as an example for the rest of the school? diff --git a/subjects/my-ls-1/my-ls-1.en.md b/subjects/my-ls-1/my-ls-1.en.md new file mode 100644 index 00000000..34b45b6b --- /dev/null +++ b/subjects/my-ls-1/my-ls-1.en.md @@ -0,0 +1,44 @@ +## my-ls-1 + +### Objectives + +- my-ls-1 consists on creating your own `ls` command. + +- The `ls` command shows you the files and folders of the directory specified after the command. By exclusion of this directory, it shows the files and folders of the present directory. + +- The behavior of your `ls` must be identical to the original `ls` command with the following variations : + - You must incorporate in your project at least the following flags of the `ls` command : + - `-l` + - `-R` + - `-a` + - `-r` + - `-t` + - Note that you can use various flags, in various ways, just like in `ls`. + - When it comes to the `ls -l` display, it must be identical to the system command. + - Other flags displays are up to you. + +This project will help you learn about : + +- Unix system +- Ways to receive data. +- Ways to output data. +- Manipulation of strings. +- Manipulation of structures. + +### Instructions + +- Your project must be written in **Go**. +- The code must respect the [**good practices**](https://public.01-edu.org/subjects/good-practices.en). +- It is recommended that the code should present a **test file**. + +### Hint + +- We strongly recommend that you account for the implications of the option `-R` from the very beginning of your code. + +- The order that files and folders appear must be taken in consideration. + +- We suggest that you consult the `ls` command manual. + +### Usage + +You can see how the `ls` command works, by using it on your terminal.