Skip to content

This project is a C-based file system manager that implements a basic file system with functionalities to manage files and directories. The system allows for operations such as formatting volumes, managing free space, and performing file operations.

Notifications You must be signed in to change notification settings

jjestrada2/File-System-Manager

Repository files navigation

File System Manager🗃️👹

Overview🤗

This project is a C-based file system manager that implements a basic file system with functionalities to manage files and directories. The system allows for operations such as formatting volumes, managing free space, and performing file operations. It also provides several commands to interact with the file system.

Features🙌

  • Volume Formatting: Format the file system volume to initialize it.
  • Free Space Management: Maintain and manage free space within the file system.
  • Root Directory Initialization: Set up the root directory for file storage.
  • File Operations: Create, read, write, and delete files.
  • Command Support: Implement various commands for file system interaction.

Supported Commands🏋️

  • ls: Lists the files in the current directory.
  • cp: Copies a file from source to destination.
    • Usage: cp source [dest]
  • mv: Moves a file from source to destination.
    • Usage: mv source dest
  • md: Creates a new directory.
    • Usage: md directory_name
  • rm: Removes a file or directory.
    • Usage: rm file_or_directory
  • touch: Creates a new file.
    • Usage: touch file_name
  • cat: Displays the contents of a file (limited functionality).
    • Usage: cat file_name
  • cp2l: Copies a file from the test file system to the Linux file system.
    • Usage: cp2l file_name
  • cp2fs: Copies a file from the Linux file system to the test file system.
    • Usage: cp2fs file_name
  • cd: Changes the current directory.
    • Usage: cd directory_name
  • pwd: Prints the current working directory.
    • Usage: pwd
  • history: Prints the command history.
    • Usage: history
  • help: Prints a help message with available commands.
    • Usage: help

Building and Running🐢

  1. Clone the Repository

    git clone https://github.com/jjestrada2/File-System-Manager.git
    cd FileSystem
  2. make
    
    

Usage🎮

Once the file system manager is running, you can use the supported commands as described in the "Supported Commands" section. The commands are executed in the context of the file system manager, and you will interact with the system through the command-line interface.

Contributing🙇‍♂️

If you would like to contribute to this project, please fork the repository and create a pull request with your changes. Contributions are always welcome!

License📜

This project is licensed under the MIT License - see the LICENSE file for details.

Credits🔥

  • Juan Estrada - Developer of this project.
  • Jimmy - Developer of this project.
  • Edmund - Developer of this project.
  • Kripa - Developer of this project.

Contact🦻

For support or inquiries, please contact Juan Estrada.

About

This project is a C-based file system manager that implements a basic file system with functionalities to manage files and directories. The system allows for operations such as formatting volumes, managing free space, and performing file operations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5