You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.5 KiB

my-ls

Objectives

  • my-ls 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.

Instructions

  • Your project must be written in Go.
  • The code must respect the good practices.
  • It is recommended to have test files for unit testing.

Allowed packages

  • fmt
  • os
  • os/user
  • strconv
  • strings
  • syscall
  • time
  • math/rand
  • errors
  • io/fs

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.

This project will help you learn about :

  • Unix system
  • Ways to receive data.
  • Ways to output data.
  • Manipulation of strings.
  • Manipulation of structures.