Coder Social home page Coder Social logo

minishell's Introduction

Minishell

Logo

The minishell project is designed to handle simple and more complex tasks with custom features. The project works out of the box and creates a folder inside the user's home folder (/home/user/.minishell) that contains all the files created by the shell (history, .minishellrc, .minipasswd).

Dependencies

In order to run, the projet needs the sodium library (https://doc.libsodium.org/). In order to compile the C files with gcc, you need to use the -lsodium flag (everything is setup by default in the makefile).

Run Locally

Run the make file

  make

Move the binary to /bin

  sudo cp minishell /bin

Clean files

  make fclean

Execute the binary

  /bin/minishell

Commands

  • cd - ls - pwd - date - echo - history - head
  • cat - mkdir - rmdir - help - clear - PS1
  • dump - searchdump - adduser - exit

Features

  • History file encryption with ChaCha20.
  • Signal handling (ctrl-c , ctrl+ALT+\ , window closing).
  • Prompt variable, history, users created and logs.
  • Security features : dump, searchdump... (All features were tested and work well).

Appendix

Project has been tested on Ubuntu 22. You may have gcc and sodium in order to run the project. Please be aware that it may contain some errors.

minishell's People

Contributors

hanteed avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.