Awesome
<h1 align="center">Fast Files</h1> <p> <a href="#" target="_blank"> <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" /> </a> </p>Fast Files is a project consisting of two bash scripts,
ff
andffv
, that combine the functionality ofmkdir
andtouch
, enabling you to create directory structures and files in a single command. Theffv
script additionally prints the created objects in a tree-like structure usingeza
,lsd
orls
.
Scripts
ff
: creates the specified files and directories without printing any output.ffv
: performs the same operations asff
but also lists the created objects.
✨ Features
- Create single or multiple files and directories in one command.
- Automatically create parent directories as needed.
- Supports brace expansion for creating complex directory and file structures in one go.
- Optionally lists the created objects with enhanced listing tools (
eza
orlsd
) if available, or fallback tols
(ffv
only).
🛠️ Dependencies
🏗️ Installation
Place both scripts in a directory included in your $PATH
. Ensure the scripts are executable:
chmod +x /path/to/ff
chmod +x /path/to/ffv
🚀 Usage
ff [path file or folder]
ffv [path file or folder]
Arguments
--help
or-h
: Prints usage information
Examples
-
Create a single file:
ff file
───file
-
Create a single directory:
ff dir/
───dir
-
Create multiple files:
ff file1 file2 file3
┌─file1 ─┼─file2 └─file3
-
Create multiple directories:
ff dir1/ dir2/ dir3/
┌─dir1 ─┼─dir2 └─dir3
-
Create a file in a directory:
ff dir/file
───dir───file
-
Create a directory within a directory:
ff dir1/dir2/
───dir1───dir2
-
Create multiple files in multiple directories:
ff dir1/dir2/file1 dir3/file2
┌─dir1───dir2───file1 ─┴─dir3───file2
-
Use brace expansion for complex structures (supported in bash, zsh, fish):
ff dir1/{dir2/{file1,file2}.txt,dir3/file3.txt}
┌─file1.txt ───dir1─┬─dir2─┴─file2.txt └─dir3───file3.txt
🔗 Related Projects
❤️ Show Your Support
Give a ⭐️ if this project helped you.