close
The Wayback Machine - https://web.archive.org/web/20200916172428/https://github.com/jcmdln/cugo
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
cmd
 
 
lib
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Homepage | GitHub

cugo is a prototypical project to implement Unix/Linux core utilities in the form of a multi-call binary, primarily using the Go standard library. Each utility is written from scratch using only the reference manuals for the target utility and the Go standard library. Third-party code use by cugo is intentionally rare, currently relying on the following:

  • hlfstr/flagger for the optional command line interface that resides within the cmd folder.
  • x/sys for various system calls.

About

Please visit godoc for the latest documentation, or the doc.go files within most directories.

  • See cmd/README for information on the command line interface provided by cugo.
  • See src/README for information on how to import a single utility.
  • See lib/README for information on the libraries written for cugo.

Usage

This repository may have a somewhat odd structure, though it has made the process of building cugo or importing an individual utility into external projects trivial. No Makefile's or other tools needed.

Building

$ git clone git@github.com:jcmdln/cugo.git
$ cd ./cugo
$ go run cugo.go
# OR 
$ go build

Installing

$ go get -u github.com/jcmdln/cugo

Importing

If you want an example of importing a single utility into another project, please see cugo-mkdir-example which implements mkdir using Go's flag package.

Contributing

If you would like to contribute a utility, improve documentation, or write tests please see the CONTRIBUTING file for more information.

About

POSIX core utilities written in Go

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.