Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.48 KB

README.md

File metadata and controls

44 lines (32 loc) · 1.48 KB

The Linux CLI Challenge Project

Are you ready for a challenging learning project?

The challenge

  1. Choose a Linux command line tool of your choice.
  2. Reimplement it in the language of your choosing.

Rules

  1. This should not be a port and should not use automated tooling.
  2. Do not read the source code and simply translate or port the code into a new language.
  3. Actually look at the program behavior, the man page and the documentation and implement it from scratch.
  4. Extra points for portability (Windows included).

Why?

Learning should be challenging and fun. Unfortunately, most projects do not produce anything useful or simply aren't challenging enough. Or they are unrealistic programming problems that are poorly described. The best way to learn is by doing (and making lots of mistakes along the way). Most importantly, because it's based off something else it will test your ability implement something to a spec or description. You will also have something to showcase some of your skills.

I gaurantee that by the time you've written a tool you'll be an expert in it.

Suggested Tools

These are some ideas. Some look easy, I suspect they aren't as easy as they look. Feel free to PR to this repository your suggestions and if you've taken on the challenge and have something to share.

Happy Coding!

  • adduser
  • addgroup
  • df
  • dig
  • free
  • find
  • grep
  • lsof
  • make
  • passwd
  • sh
  • ssh
  • top
  • etc