Git Product home page Git Product logo

cs377-final-project's Introduction

CS 307 Final Project

Description

In this project, I have tried to extend the project 2 shell in C++ and add more featueres to it. Shell is a program that emulates the functionality of a command-line shell or terminal. It allows users to interact with the operating system by executing commands, managing processes, and manipulating files and directories.

New Features Added

  1. Pipe - The pipe operator allows the output from the first command to be used as input for the second command.
  2. Alias - This command is used to set aliases. For example alias sahil='ls -l' will set sahil as an alias to ls -l. So by straightaway running sahil would run the command ls -l.
  3. Change Directory (cd) - By running the cd <filepath>, will allow the user to change directories and go into desired path.
  4. History - by running the history command would should the full history of all the commands used by the user during the projects execution.
  5. Manual - provides description and usage examples for various commands. Use man <command> to run it.

Installation Requirements

Download the code and have C++ on your machine. Prefereably run on edlab as it has been tested to run on the same.

Compiling the project

To compile the project run the following command:

make

Run the program

To run the program run the following command

./tsh_app

or

make && ./tsh_app

Code Structure

  • include: This is where the C/C++ header files are present.
  • lib: Any libraries that might have been used are present over here.
  • obj: Object files generated from the C compilation process or running the make commmand get stored over here. This folder is initially empty until the code is compiled.
  • src: This is the source folder where all project related code is present.
  • test: This folder contains test files if any are present.
  • Makefile - this is a "build" file. This file is used to compile the code.

Video Link

https://youtu.be/QWDvy6KztJU

cs377-final-project's People

Contributors

sahilgupta17 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.