# gonix Clones of the *nix tools written in go # Status If a program is marked complete, then most/all the standard features are implemented. * basename [works] * cat [works] * cp [works, very incomplete] * dirname [**complete**] * echo [works] * false [**complete**] * head [works] * mkdir [works] * nl [works] * pwd [works] * seq [works] * sleep [**complete**] * tail [works] * tee [**complete**] * touch [works] * true [**complete**] * xxd [works] * yes [**complete**] Unimplemented: * bc * dc * ed * ls * more * rm # Bugs Many tools do not exist and many features are not implemented. I used "flag" to do the flag-parsing, it is a little strict (ie. no combining flags like -xyz instead of -x -y -z). # Building To keep the binary sizes small (around 20-30kb each, on my PC) I use the gccgo compiler, so you need to have that installed. Build the project with the build script: ```sh $ sh build.sh ``` It will compile each program and the binaries will be placed in the same directory. **TODO:** Write a Makefile. # Running As long as you are in the same directory as the compiled program, you can run it like so: ./x Where x refers to the name of the program **WARNING:** Keep the programs in a directory **NOT** in your $PATH or they may end up being run *instead* of your system's commands.