All Projects → julekgwa → 21sh

julekgwa / 21sh

Licence: other
UNIX shell - a simple command-line interpreter

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to 21sh

unfs3
UNFS3 is a user-space implementation of the NFSv3 server specification.
Stars: ✭ 74 (+362.5%)
Mutual labels:  unix
Sistem-Programlama
System Programming Course notes
Stars: ✭ 32 (+100%)
Mutual labels:  unix
shod-old
hybrid (floating and tiling) tabbed window manager
Stars: ✭ 56 (+250%)
Mutual labels:  unix
netpoll
Package netpoll implements a network poller based on epoll/kqueue.
Stars: ✭ 38 (+137.5%)
Mutual labels:  unix
command-line-quick-reference
quick reference on command line tools and techniques for the people with limited time
Stars: ✭ 331 (+1968.75%)
Mutual labels:  unix
Onyx
UNIX-like operating system written in C and C++
Stars: ✭ 52 (+225%)
Mutual labels:  unix
BSDCoreUtils
BSD coreutils is a port of many utilities from BSD to Linux and macOS.
Stars: ✭ 30 (+87.5%)
Mutual labels:  unix
wildpwn
unix wildcard attacks
Stars: ✭ 119 (+643.75%)
Mutual labels:  unix
upp-components
A collection of packages for U++ framework.
Stars: ✭ 36 (+125%)
Mutual labels:  terminal-emulators
coreutils
Core utils re-implementation for UNIX/UNIX-like systems written in Rust
Stars: ✭ 96 (+500%)
Mutual labels:  unix
WendzelNNTPd
A usable and IPv6-ready Usenet-server (NNTP daemon). It is portable (Linux/*BSD/*nix), supports AUTHINFO authentication, contains ACL as well as role based ACL and provides "invisible" newsgroups. It can run on MySQL and SQLite backends.
Stars: ✭ 43 (+168.75%)
Mutual labels:  unix
bask
A runner and framework for command-centric Bash scripts.
Stars: ✭ 31 (+93.75%)
Mutual labels:  unix
tabby
A terminal for a more modern age
Stars: ✭ 40,910 (+255587.5%)
Mutual labels:  terminal-emulators
tupai
Tupai is a multi-tasking operating system I wrote for my degree that focuses on safety and design, targeting a variety of platforms.
Stars: ✭ 21 (+31.25%)
Mutual labels:  unix
chmod-stego
A PoC on passing data through UNIX file privilege bits (RWX Triplets)
Stars: ✭ 23 (+43.75%)
Mutual labels:  unix
shod
mouse-based window manager that can tile windows inside floating containers
Stars: ✭ 126 (+687.5%)
Mutual labels:  unix
bsu
🎓Repository for university labs on FAMCS, BSU
Stars: ✭ 91 (+468.75%)
Mutual labels:  unix
ytools
Use YouTube from your terminal
Stars: ✭ 26 (+62.5%)
Mutual labels:  unix
john-carmack-plan
An archive of John Carmack’s .plan files in readable markdown format
Stars: ✭ 113 (+606.25%)
Mutual labels:  unix
dotfiles
🍁 dotfiles || plain text configuration files for my linux system
Stars: ✭ 53 (+231.25%)
Mutual labels:  unix

21sh

Mini UNIX command interpreter.

Demo

21sh uses my own implementation of libc's functions, most of them start with ft_

21sh implements:

  • A series of builtins
  • echo
  • cd
  • setenv
  • unsetenv
  • env
  • exit
  • History
  • history n
  • history -c
  • ^string^string^
  • !string
  • !n
  • !! and !-1
  • CTRL+R (reverse-i-search)
  • ⬆️ UP or ⬇️ DOWN
  • Copy and Paste
  • CTRL-W - Copy what is currently in front of the cursor.
  • CTRL-G - Copy the entire line.
  • CTRL-K - Cut or delete what is currently in front of the cursor.
  • CTRL-X - Cut or delete the entire line.
  • CTRL-V - Paste the last thing you deleted (using CTRL-K, CTRL-W, CTRL-G or CTRL-X ).
  • Auto complete
  • unset
  • export
  • line edition
  • the “;” command line separator
  • pipes “|”
  • redirections “<”, “>”, “<<” & “>>”
  • file descriptor aggregation (e.g. 2>&- & 1>&2)
  • Go directly to the beginning or the end of a line by pressing home and end.
  • Move directly by word towards the left or the right using ctrl+LEFT and ctrl+RIGHT.
  • Simple logical operators (&& and ||)
  • CTRL+T for swapping characters.
  • CTRL+P get previous history.
  • CTRL+H delete character from cmd
  • ls alias (l || ll)

Installation

$ git clone https://github.com/julekgwa/21sh.git

Usage

$ cd 21sh
$ make && ./21sh

Authors

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].