Skip to content

AnvithaCodes/anvell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

anvell

a simple custom shell built with C++ while learning systems programming (under progress)

build & run

git clone https://github.com/AnvithaCodes/anvell.git
cd anvell
g++ -std=c++17 main.cpp -o anvell
./anvell

features

  • command timer - shows execution time for commands > 0.1s
  • aliases - create shortcuts: alias ll="ls -lah"
  • smart cd - track and jump to frequent directories with jump or j
  • notes - quick notes with timestamps
  • tilde expansion - cd ~ works like a real shell

commands

  • help - show available commands
  • pwd - print working dir
  • alias name="command" - create an alias
  • unalias name - remove an alias
  • jump or j - show frequent directories
  • j <number> - jump to a dir
  • cd <dir> - change dir (supports ~)
  • note "text" - save a note with timestamp
  • notes - show all notes
  • clearnotes - clear all notes
  • clearjump - clear dir history
  • exit - quit

example

anvell v0.2 - type 'help' for commands

anvell ~> alias ll="ls -lah"
alias created: ll -> ls -lah

anvell ~> ll
[completed in 0.15s]

anvell ~> cd Documents
anvell ~/Documents> cd /tmp
anvell /tmp> jump
frequent directories:
  1. /home/user/Documents (1 visits)
  2. /tmp (1 visits)

anvell /tmp> j 1
jumped to: /home/user/Documents

anvell ~/Documents> note "remember to fix bug"
note saved.

anvell ~/Documents> notes
[2025-10-27 14:30] remember to fix bug

how it works

uses fork() + execvp() on linux/macOS, _spawnvp() on windows to execute commands. stores aliases, directory history, and notes in ~/.anvell_* files.

About

a custom feature rich unix shell

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages