Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hyouteki/unix-shell
Custom UNIX shell completely written in C using parallelism by processes and threads
https://github.com/hyouteki/unix-shell
clang linux parallel-computing posix shell unix
Last synced: about 1 month ago
JSON representation
Custom UNIX shell completely written in C using parallelism by processes and threads
- Host: GitHub
- URL: https://github.com/hyouteki/unix-shell
- Owner: hyouteki
- Created: 2023-01-19T10:57:13.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-27T13:30:28.000Z (about 1 year ago)
- Last Synced: 2024-10-19T08:15:25.403Z (3 months ago)
- Topics: clang, linux, parallel-computing, posix, shell, unix
- Language: C
- Homepage:
- Size: 38.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**Custom UNIX shell completely written in C using parallelism by processes and threads**
## Constraints
- Max characters in a command is 100
- Max words in a command is 10## Commands
- **cd**
- for changing directories
- **pwd**
- for fetching path of present working directory
- **exit**
- for exiting from the shell
- **ls**
- **-a**: for listing all the files along with the hidden files
- **-m**: for listing the files seperated by commas
- **cat**
- **-E**: for printing the content with highlighting the line endings
- **-n**: for printing the content with line numbers
- **date**
- for printing date
- **mkdir**
- **-m**: for creating a directory with specific permissions
- **-v**: for verbose(ly) making the directory
- **rm**
- **-i**: for asking confirmation before removing the file
- **-v**: for verbose(ly) removing the file
- **help**
- for getting help; of course
- **echo**
- for printing something on the shell
- **clear**
- for clearing the shell
- **else**
- **&t**: for executing command using threads## Error handled
- Multiple &t error
- Wrong command error## How to use
### Step 1
Download all the (.c) files and Makefile### Step 2
**Run commands**
```
make install
make compile
```### Step 3
To use the shell; run command `make launch`