{"id":20858142,"url":"https://github.com/arkasarkar19/linux_shell_implementation","last_synced_at":"2026-05-07T10:38:24.858Z","repository":{"id":84065820,"uuid":"233377054","full_name":"ArkaSarkar19/Linux_Shell_Implementation","owner":"ArkaSarkar19","description":"Refer Readme.md","archived":false,"fork":false,"pushed_at":"2020-06-18T09:28:10.000Z","size":68,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T14:12:16.034Z","etag":null,"topics":["cat-command","cd","cd-command","date-command","history-command","linux-shell","ls-command","mkdir-command","operating-system","operating-systems","rm-command","shell","terminal"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ArkaSarkar19.png","metadata":{"files":{"readme":"README.md","changelog":"history.txt","contributing":null,"funding":null,"license":null,"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":"2020-01-12T10:50:07.000Z","updated_at":"2021-03-27T12:17:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"2afb7b56-199d-405d-88c7-21df5ff2b4e1","html_url":"https://github.com/ArkaSarkar19/Linux_Shell_Implementation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ArkaSarkar19/Linux_Shell_Implementation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArkaSarkar19%2FLinux_Shell_Implementation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArkaSarkar19%2FLinux_Shell_Implementation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArkaSarkar19%2FLinux_Shell_Implementation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArkaSarkar19%2FLinux_Shell_Implementation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArkaSarkar19","download_url":"https://codeload.github.com/ArkaSarkar19/Linux_Shell_Implementation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArkaSarkar19%2FLinux_Shell_Implementation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267770041,"owners_count":24141780,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"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":["cat-command","cd","cd-command","date-command","history-command","linux-shell","ls-command","mkdir-command","operating-system","operating-systems","rm-command","shell","terminal"],"created_at":"2024-11-18T04:44:51.484Z","updated_at":"2026-05-07T10:38:24.824Z","avatar_url":"https://github.com/ArkaSarkar19.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux_Shell_Imlementation\nI have implemented a linux bash shell. The code is in C. \u003c/br\u003e\n\n#### \u003e\u003e\u003eThis is my shell, use at our own risk \u003c\u003c\u003c\n\n### COMMANDS HANDLED\n* **cd**\n  * cd command changes your present working directory to the directory or path entered as an argument.\n  * Syntax : $ cd [directory_name / directory_path]\n  * Example : \u003c/br\u003e\n  \n       * cd directory or cd dir1/dir2/dir3\n        \n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ cd try\n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS/try $\n              myterminal@arka:~/home/arkasarkar $ cd Desktop/CAOS/try\n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS/try $\n            \n       * cd .. , changes to the parent directory of the current directory.\n       \n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS/try $ cd ..\n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS $\n       * cd ~, changes to the home directory\n       \n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS/try $ cd ~\n              myterminal@arka:~/home/arkasarkar $\n              \n       * cd , works just like cd ~ command\n       \n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS/try $ cd\n              myterminal@arka:~/home/arkasarkar $\n          \n       * cd / , changes to the root directory\n       \n              myterminal@arka:~/home/arkasarkar/Desktop $ cd /\n              myterminal@arka:~/ $\n* **echo**\n* echo command is used to display line of text/string that are passed as an argument.\n* Syntax : echo [option] [text]\n* Example:\n\n     * echo “[text]”\n        \n                myterminal@arka:~/home/arkasarkar $ echo \"hello\"\n                hello\n                myterminal@arka:~/home/arkasarkar $Arka Sarkar\n                2018222\n     * echo -n [text] , -n omits a new trailing line after printing the text.\n     \n                myterminal@arka:~/home/arkasarkar $ echo -n \"hello\"\n                hellomyterminal@arka:~/home/arkasarkar $\n                \n     * echo * , displays all the files/folders\n     \n                myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ echo *\n                a.out cat.c date.c demo1.c history.txt ls.c makefile mkdir.c rm.c try\n* **history**\n* Displays all the commands previously executed.\n* Syntax : history [option]\n* Example:\n      * history\n      \n            myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ history\n            history\n            mkdir try try2 try3\n            mkdir t\n            ls\n            mkdir\n            ry\n            mkdir try\n            ls\n            ls\n            ls -l\n            ls -l -h -a\n            cd demo\n            ls\n            cd\n            ls\n            ........ Cont..\n      \n     * history - c\n        * clears the history.\n* **pwd**\n* Displays the present working directory\n* Syntax : pwd\n* Example :\n        * pwd\n        \n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ pwd\n              current working directory :- /home/arkasarkar/Desktop/CAOS\n* **exit**\n* Exits the terminal\n* Syntax : exit\n* Example:\n\n       myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ exit\n* **ls**\n* Ls command displays all the files / folders in the present working directory\n* Syntax : ls [option]\n* Example:\n     * ls\n        \n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ ls\n              a.out cat.c date.c demo1.c history.txt ls.c makefile mkdir.c rm.c try\n              \n     * ls -l , shows long format → all permisions, space , time modifed.\n     \n              myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ ls -l\n              total 60\n              -rwxr-xr-x 1 arkasarkar arkasarkar 17584 Sep 1 22:05 a.out\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1281 Sep 1 13:39 cat.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1142 Aug 30 16:08 date.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 4944 Sep 1 22:05 demo1.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1039 Sep 1 22:18 history.txt\n              -rw-rw-r-- 1 arkasarkar arkasarkar 757 Aug 30 01:58 ls.c\n              -rw-r--r-- 1 arkasarkar arkasarkar\n              38 Aug 31 13:31 makefile\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1420 Aug 30 02:02 mkdir.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1144 Aug 30 16:03 rm.c\n              drwxr-xr-x 2 arkasarkar arkasarkar 4096 Sep 1 21:12 try\n     \n     * ls -lh, formats into human readable form.\n     \n              total 60K\n              -rwxr-xr-x 1 arkasarkar arkasarkar 18K Sep 1 22:05 a.out\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1.3K Sep 1 13:39 cat.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1.2K Aug 30 16:08 date.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 4.9K Sep 1 22:05 demo1.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1.2K Sep 1 22:20 history.txt\n              -rw-rw-r-- 1 arkasarkar arkasarkar 757 Aug 30 01:58 ls.c\n              -rw-r--r-- 1 arkasarkar arkasarkar 38 Aug 31 13:31 makefile\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1.4K Aug 30 02:02 mkdir.c\n              -rw-rw-r-- 1 arkasarkar arkasarkar 1.2K Aug 30 16:03 rm.c\n              drwxr-xr-x 2 arkasarkar arkasarkar 4.0K Sep 1 21:12 try\n* **cat**\n* Read content from a file and displays it.\n* Syntax : cat [filename]\n* Example :\n  * cat [filename]\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ cat del.txt\n        Hello\n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $\n* **date**\n* Displays current date\n* Syntax : date [arg]\n* Example:\n  * date\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ date\n        Sun Sep 1 22:31:43 IST 2019\n  * date -R\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ date -R\n        Sun, 01 Sep 2019 22:31:54 +0530\n* **rm**\n* rm removes files or directories entered by the user.\n* Syntax : rm [option] [filename]\n* Example:\n  * rm [filename]\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ rm del.txt\n  * rm -r [dir_name] , deletes a directory and its contents\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ rm -r del\n  * rm -f [filename] , forcefully deletes a file if write protected.\n\n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ rm -f del.txt\n  * rm * , deletes all the files of the parent directory ( not the directories)\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ rm *\n  * rm -r * , empties the parent directory\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ rm -r *\n* **mkdir**\n* mkdir creates an empty directory in the present working directory\n* Syntax : mkdir [dir_name]\n* Example :\n  * mkdir [dir_name]\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ mkdir hello\n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ ls\n        a.out date.c hello\n        ls.c\n        mkdir.c try\n        cat.c demo1.c history.txt makefile rm.c\n  * mkdir [dir1_name] [dir2_name]\n  \n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ mkdir hello hello2\n        myterminal@arka:~/home/arkasarkar/Desktop/CAOS $ ls\n        a.out date.c hello history.txt makefile rm.c\n        cat.c demo1.c hello2 ls.c\n        mkdir.c try\n        \n### COMPILE AND RUNNING\n**demo1.c** is the main file. Compile it on the terminal using **gcc  demo1.c -o main** and run the executable main as **./main** commands.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkasarkar19%2Flinux_shell_implementation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkasarkar19%2Flinux_shell_implementation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkasarkar19%2Flinux_shell_implementation/lists"}