Skip to content

πŸ”§ Build a lightweight Unix shell in C, featuring command execution, I/O redirection, and signal handling for an improved command-line experience.

License

Notifications You must be signed in to change notification settings

RAYMDG/mini_shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐚 mini_shell - A Simple Shell Experience for Everyone

πŸ“₯ Download Now

Download mini_shell

πŸ“– Description

mini_shell is a lightweight, cross-platform Unix shell implementation written in C. This application provides an easy way to interact with your computer using commands. Features include:

  • I/O redirection, allowing you to send output to a file.
  • Background process execution so you can run tasks without blocking the terminal.
  • Built-in commands like cd, pwd, echo, export, and history.
  • Command history tracking to easily access past commands.
  • Signal handling for efficient process management.
  • A colorful user interface for a pleasant experience.

mini_shell demonstrates key operating system concepts such as process management, file descriptors, and system calls.

πŸš€ Getting Started

System Requirements

mini_shell runs on both Windows and Unix-based systems (like Linux and macOS). Here are the basic requirements:

  • Operating System: Windows 10 or later, macOS, or any Linux distribution.
  • Memory: At least 1 GB of RAM.
  • Disk Space: 50 MB of free space.

Installation Steps

  1. Visit the Releases Page to download the latest version of mini_shell.

  2. Choose the right file for your operating system:

    • For Windows, download the .exe file.
    • For Unix-based systems, download the compiled binary.
  3. Locate the downloaded file on your computer.

  4. For Windows:

    • Double-click the .exe file to launch mini_shell.
  5. For Unix-based systems:

    • Open a terminal window.
    • Navigate to the directory where you downloaded the file using the cd command.
    • Make the file executable using the command:
      chmod +x mini_shell
    • Run the application:
      ./mini_shell

Example Commands

  • To change your directory, type:
    cd /path/to/directory
    
  • To print your current directory, type:
    pwd
    
  • To display text in the terminal, use:
    echo YourTextHere
    

These simple commands help you navigate and interact with your system easily.

πŸ“š Features

  • I/O Redirection: Redirect output to files without difficulty.
  • Background Execution: Start processes that run in the background.
  • Command History: Quickly recall previously used commands.
  • Signal Handling: Respond to signals for better execution control.
  • User-Friendly Interface: Colorful prompts enhance usability.

mini_shell is designed for anyone who wants to learn how to use a shell without getting overwhelmed.

πŸ’‘ Troubleshooting

If you experience issues:

  1. Application won’t start: Ensure your operating system meets the requirements. For Windows users, check your antivirus settings, as they may block execution.

  2. Commands not recognized: Double-check your spelling. You can also type help to see a list of available commands.

  3. Permissions error on Unix systems: Ensure your terminal has the necessary permissions to execute binaries. Use chmod to adjust permissions.

πŸš€ Further Exploration

Feel free to explore more about Unix commands and shell scripting to enhance your mini_shell experience. Learning basic shell commands can greatly improve your productivity.

✈️ Contact and Contributions

If you have questions or suggestions, please feel free to reach out or contribute. You can report issues, ask questions, or suggest features through the Issues page of this repository.

Thank you for choosing mini_shell. We hope you enjoy using it and enhance your command-line skills! Remember, you can always find more information on our Releases Page.

About

πŸ”§ Build a lightweight Unix shell in C, featuring command execution, I/O redirection, and signal handling for an improved command-line experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •