{"id":18458362,"url":"https://github.com/notkartikye/unix-shell","last_synced_at":"2026-04-27T11:31:51.912Z","repository":{"id":248587336,"uuid":"829114761","full_name":"notkartikye/unix-shell","owner":"notkartikye","description":"🧵 Linux/Unix Shell Implementation using C Multithreading","archived":false,"fork":false,"pushed_at":"2024-07-19T15:15:43.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T16:28:31.047Z","etag":null,"topics":["linux-shell","multithreading","shell-implementation","shell-scripting","system-programming","terminal","unix-shell"],"latest_commit_sha":null,"homepage":"","language":"C","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/notkartikye.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":"2024-07-15T19:38:50.000Z","updated_at":"2024-07-19T15:15:46.000Z","dependencies_parsed_at":"2024-07-22T20:01:30.280Z","dependency_job_id":null,"html_url":"https://github.com/notkartikye/unix-shell","commit_stats":null,"previous_names":["notkartikye/unix-shell-c"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/notkartikye/unix-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notkartikye%2Funix-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notkartikye%2Funix-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notkartikye%2Funix-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notkartikye%2Funix-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/notkartikye","download_url":"https://codeload.github.com/notkartikye/unix-shell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notkartikye%2Funix-shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32335296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["linux-shell","multithreading","shell-implementation","shell-scripting","system-programming","terminal","unix-shell"],"created_at":"2024-11-06T08:18:10.807Z","updated_at":"2026-04-27T11:31:51.897Z","avatar_url":"https://github.com/notkartikye.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unix Shell Implementation using C Multithreading\n\nThis is a Linux/Unix-like shell implemented in C. This shell supports 3 internal and 5 external commands with various options, executed via `fork/exec` or `pthread/system` function calls based on the user's preference. Commands can be run in parallel using threads, making this shell very efficient.\n\n## Features\n\n### Internal Commands\n\n#### 1. echo (prints the arguments provided)\n  - `-n`: No newline after execution.\n  - `-E`: Suppress backslash interpretation.\n\n#### 2. pwd (prints the current directory)\n- `-L`: Do not ignore symbolic links.\n- `-P`: Avoid symbolic links.\n\n#### 3. cd (changes the current directory of the process)\n\n### External Commands\n\n#### 1. ls (lists the directories in the current directory)\n- `-1`: Print directories on new lines.\n- `-Q`: Print directories in quotation marks.\n\n#### 2. date (prints the current date)\n\n#### 3. cat (displays the content of a file)\n- `-n`: Display line numbers.\n- `-e`: Display `$` at the end of each line.\n\n#### 4. rm (removes a file)\n- `-i`: Ask for confirmation before removal.\n- `-v`: Display the status of removal.\n\n#### 5. mkdir (creates a new directory)\n  - `-v`: Display the status of directory creation.\n\n## Instructions\n1. Clone the repository:\n\n    ```bash\n    git clone https://github.com/notkartikye/unix-shell.git\n    cd unix-shell\n    ```\n    \n2. Build the project:\n    ```bash\n    make build\n    ```\n3. Clean the build files:\n    ```bash\n    make clean\n    ```\n4. Run the shell:\n    ```bash\n    ./shell\n    ```\n\n###### Example:\n```\n./shell\n\n\u003e echo Hello, World!\nHello, World!\n\n\u003e ls -l\ndirectory1\nfile1.txt\nfile2.txt\n\n\u003e date\nMon Apr 20 00:04:20 UTC 2022\n\n\u003e cat -n example.txt\n1    This is an example file.\n2    It has multiple lines.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotkartikye%2Funix-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnotkartikye%2Funix-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnotkartikye%2Funix-shell/lists"}