{"id":25030159,"url":"https://github.com/ashish0kumar/gonix","last_synced_at":"2025-03-30T19:16:41.080Z","repository":{"id":273915432,"uuid":"918716230","full_name":"ashish0kumar/gonix","owner":"ashish0kumar","description":"🐧 Rewriting some Unix coreutils in Go","archived":false,"fork":false,"pushed_at":"2025-03-08T18:22:54.000Z","size":877,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-08T18:29:49.433Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashish0kumar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-18T17:09:57.000Z","updated_at":"2025-03-08T18:22:57.000Z","dependencies_parsed_at":"2025-01-23T18:55:32.479Z","dependency_job_id":null,"html_url":"https://github.com/ashish0kumar/gonix","commit_stats":null,"previous_names":["ashish0kumar/gonix"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashish0kumar%2Fgonix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashish0kumar%2Fgonix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashish0kumar%2Fgonix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashish0kumar%2Fgonix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashish0kumar","download_url":"https://codeload.github.com/ashish0kumar/gonix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246365650,"owners_count":20765549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-05T21:46:34.358Z","updated_at":"2025-03-30T19:16:41.018Z","avatar_url":"https://github.com/ashish0kumar.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gonix\n\n**gonix** is a collection of simplified implementations of common **Unix\ncommands**, written in **Go**. The goal is to create lightweight, fast, and\nminimal versions of these tools while learning **systems programming** in Go.\n\n## Commands\n\n| **Command**       | **Description**                                                                          |\n| ----------------- | ---------------------------------------------------------------------------------------- |\n| [`ls`](/cmd/ls)       | Lists files and directories with support for hidden files and detailed views.            |\n| [`mkdir`](/cmd/mkdir) | Creates new directories.                                                                 |\n| [`touch`](/cmd/touch) | Creates empty files or updates timestamps of existing files.                             |\n| [`rm`](/cmd/rm)       | Removes files and directories (supports `-r` and `-f` flags).                            |\n| [`cat`](/cmd/cat)     | Prints file contents with optional line numbering (`-n`).                                |\n| [`wc`](/cmd/wc)       | Counts lines, words, and bytes in a file or from `stdin`.                                |\n| [`grep`](/cmd/grep)   | Searches for a pattern in files or `stdin`, supports case-insensitive search (`-i`).     |\n| [`curl`](/cmd/curl)   | Fetches content from a URL, follows redirects (`-L`), and saves output to a file (`-o`). |\n\n## Installation\n\n- **Clone the repository:**\n\n```bash\ngit clone https://github.com/ashish0kumar/gonix.git\n```\n\n- **Navigate to a specific command's directory and build it:**\n\n```bash\ncd gonix/cmd/\u003ccommand\u003e \ngo build \u003ccommand\u003e.go\n```\n\nReplace `\u003ccommand\u003e` with any of the available commands.\n\n## Usage\n\nEach command follows a similar usage pattern. For example:\n\n- List files: `./ls`\n- Remove a file: `./rm file.txt`\n- Create a directory: `./mkdir newdir`\n- Search for text: `./grep \"pattern\" file.txt`\n\nRefer to each command’s subdirectory for detailed usage instructions.\n\n## Why this project?\n\n- Learn **systems programming** with Go.\n- Implement essential **Unix utilities** in a lightweight manner.\n- Improve understanding of **file handling, text processing, and CLI tools**.\n\n## Contributions\n\nFeel free to contribute, suggest improvements, or report issues!\n\n## License\n\n[MIT](LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashish0kumar%2Fgonix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashish0kumar%2Fgonix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashish0kumar%2Fgonix/lists"}