{"id":19670731,"url":"https://github.com/hydraphyzer/shell-in-c","last_synced_at":"2025-06-26T01:36:37.362Z","repository":{"id":110149224,"uuid":"582371672","full_name":"HydraPhyzer/Shell-in-C","owner":"HydraPhyzer","description":"This Project is Part of My University Project for Operating System Lab (OS Lab) Project. In This Project I Have Implemented a Basic Shell With the Help of C Language, Which Performs Many of The Functionalities as Similar to Linux Shell ","archived":false,"fork":false,"pushed_at":"2022-12-26T16:40:42.000Z","size":747,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-05T20:52:02.086Z","etag":null,"topics":["hydraphyzer","hydraphyzergithub","linux","linux-shell","linux-shell-in-c","muhammadzubair","os-project","shell","shell-in-c","zubair"],"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/HydraPhyzer.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null}},"created_at":"2022-12-26T16:04:38.000Z","updated_at":"2024-09-03T18:08:47.000Z","dependencies_parsed_at":"2023-03-11T10:16:18.738Z","dependency_job_id":null,"html_url":"https://github.com/HydraPhyzer/Shell-in-C","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HydraPhyzer/Shell-in-C","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HydraPhyzer%2FShell-in-C","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HydraPhyzer%2FShell-in-C/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HydraPhyzer%2FShell-in-C/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HydraPhyzer%2FShell-in-C/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HydraPhyzer","download_url":"https://codeload.github.com/HydraPhyzer/Shell-in-C/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HydraPhyzer%2FShell-in-C/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261983496,"owners_count":23240217,"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":["hydraphyzer","hydraphyzergithub","linux","linux-shell","linux-shell-in-c","muhammadzubair","os-project","shell","shell-in-c","zubair"],"created_at":"2024-11-11T17:06:59.972Z","updated_at":"2025-06-26T01:36:37.350Z","avatar_url":"https://github.com/HydraPhyzer.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eShell\u003c/h1\u003e\n\n\u003cbr\u003e\n\n\u003ch3 align=\"center\"\u003eThis Project is Part of My Operating System Lab (OS Lab)\u003c/h3\u003e\n\n\u003chr\u003e\n\n### Following Are The Key Points of Project\n\n### 1) \u003cins\u003eShell\u003c/ins\u003e\n\nA Shell provides you with a CLI (Command Line Interface) interface. It\ngathers input from you and executes programs based on that input. When\na program finishes executing, it displays that program's output.\nShell is an environment in which we can run our commands, programs, and\nshell scripts. There are different flavors of a shell, just as there are different\nflavors of operating systems. Each flavor of shell has its own set of\nrecognized commands and functions.\n\n### 2) \u003cins\u003eWorking of Shell\u003c/ins\u003e\n\nShell reads your input after you press Enter. It determines the command\nyou want executed by looking at the first word of your input. A word is an\nunbroken set of characters. Spaces and tabs separate words.\n\n### 3) \u003cins\u003eExamples of Shell\u003c/ins\u003e\n\nThere are many shells available in different operating systems.\nFew of them are given below\n\n* Linux Shell\n* Command Prompt\n* PowerShell\n* The Bourne Sell for Solaris\n\nThe Shell that we have implemented is basically a simples shell, which works\nvery similer to the shell tha we use in th ubuntu operating system\nThe Shell is named as `Pearl`\n\n### 3.1) \u003cins\u003eHow to Run\u003c/ins\u003e\n\nIn Order to Run This Project. Just Open Linux Terminal In Same Folder and Type\n\n```c\ngcc Shell.c\n```\nand Press Enter and Type\n```c\n./a.out\n```\n\n### 4) \u003cins\u003eBasic Layout of `Pearl`\u003c/ins\u003e\n\n![Basic Layout](./Project%20Snaps/Screenshot%20from%202022-04-25%2020-18-20.png)\n\nThe commands that we have implemented in this shell are given below\n\n* help\n* man\n* leave\n* pwd \n* whoami\n* echo\n* color\n* bgcolor\n* crdir\n* deldir\n* cd\n* ls\n* ls –all\n* ls –tree\n* del\n* cat\n* touch\n* copy\n\n\u003c!-- ========================= --\u003e\n\n### 5) \u003cins\u003eCat Command\u003c/ins\u003e\ncat commands is implemented. The working of this command is to read the\ncontent of file and also write the content into the file.\n\n![Cat Command](./Project%20Snaps/cat.png)\n\n```c\n    //Read Format\n    cat FILENAME.txt\n    //Write Format\n    cat \u003e FILENAME.txtCat Read\n```\n### 6) \u003cins\u003eCD Commands\u003c/ins\u003e\n\nCD Commands is Refferred as Change Directory Command , this is use to\nmove from one directory to another directory. We can move to the parent\ndirectory by command of cd ..\n\n![CD Command](./Project%20Snaps/cd.png)\n```c\n// Syntax:\n cd New\n cd ..\n cd .\n cd Folder#1\n```\n### 7) \u003cins\u003eCRDIR \u0026 DELDIR\u003c/ins\u003e\n\nThese both command are used to create the directory and delete directory.\nBorth commands are multi-arguments. We can give one or more than one\nargument to this commands. This is helpful in creating and deleting multiple direcroties at a time\n\n![Basic Layout](./Project%20Snaps/crdir.png)\n![Basic Layout](./Project%20Snaps/deldir.png)\n```c\n// Syntax:\ncrdir Folder#1\ncrdir Folder#2\ndeldir Folder#1\ndeldir Folder#2\n```\n### 8) \u003cins\u003eLS Command\u003c/ins\u003e\n\nLS commad is used to list all files and folder names in the current directory. This is implemented in three ways\n\n```c\nls\n// This is very simple , this only show the folder of files in the current directory\n\nls –tree\n\n// This command is used to show the all files and folder inside a current folder . this works recursively and check every fil and folder\n\nls –all\n\n// This command is very similer to the simple ls commands , but provides us with the additional information including the files or folder access rights , size and creation date etc\n```\n\n![LS Commands](./Project%20Snaps/ls.png)\n![LS Commands](./Project%20Snaps/ls%20-all.png)\n![LS Commands](./Project%20Snaps/ls%20-tree.png)\n\n### 9) \u003cins\u003eMan Command\u003c/ins\u003e\n\nMan keyword is short form manual , this command is used to get the deep\ninformation about command.\n\n![Basic Layout](./Project%20Snaps/man.png)\n\n```c\n// Syntax:\nman wipe\n//give manual of wipe command used to clear the screen\nman color\n//give manual color command\nman copy\n//give manual of copy commandHelp Command:\n```\n\n\n### 10) \u003cins\u003eHelp Command\u003c/ins\u003e\n\nHelp command is used to know that which command are supported by this\nshell and and detailed preview of the command syntax, which is helpful for new user. Just type `help` in terminal to run this commmand.\n\n![Basic Layout](./Project%20Snaps/help.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhydraphyzer%2Fshell-in-c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhydraphyzer%2Fshell-in-c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhydraphyzer%2Fshell-in-c/lists"}