mirror of
https://github.com/mintycube/fast-files.git
synced 2024-10-22 14:05:52 +02:00
Improve documentation
This commit is contained in:
parent
8fa83d1d84
commit
05e1afac28
119
README.md
119
README.md
@ -1,119 +1,126 @@
|
|||||||
# Fast Files (ff)
|
<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>
|
||||||
|
|
||||||
## Description
|
> Fast Files is a project consisting of two bash scripts, `ff` and `ffv`, that combine the functionality of `mkdir` and `touch`, enabling you to create directory structures and files in a single command. The `ffv` script additionally prints the created objects in a tree-like structure using `eza`, `lsd` or `ls`.
|
||||||
|
|
||||||
ff is a bash script which is a combination of 'mkdir' and 'touch'. It can create directory structures and files simultaneously and lists the created objects using eza, lsd, or ls.
|
## Scripts
|
||||||
|
|
||||||
## Dependencies
|
- `ff`: creates the specified files and directories without printing any output.
|
||||||
|
- `ffv`: performs the same operations as `ff` 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` or `lsd`) if available, or fallback to `ls` (`ffv` only).
|
||||||
|
|
||||||
|
## 🛠️ Dependencies
|
||||||
|
|
||||||
- bash
|
- bash
|
||||||
- [eza](https://github.com/eza-community/eza) (optional)
|
- Optional: [eza](https://github.com/eza-community/eza) or [lsd](https://github.com/lsd-rs/lsd) for enhanced directory listing
|
||||||
- [lsd](https://github.com/lsd-rs/lsd) (optional)
|
|
||||||
|
|
||||||
## Usage
|
## 🏗️ Installation
|
||||||
|
|
||||||
|
Place both scripts in a directory included in your `$PATH`. Ensure the scripts are executable:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chmod +x /path/to/ff
|
||||||
|
chmod +x /path/to/ffv
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🚀 Usage
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff [path file or folder]
|
ff [path file or folder]
|
||||||
--help : prints usage info
|
ffv [path file or folder]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Examples
|
### Arguments
|
||||||
|
|
||||||
### Single file
|
- `--help` or `-h` : Prints usage information
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
- Create a single file:
|
||||||
```bash
|
```bash
|
||||||
ff file
|
ff file
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
file
|
───file
|
||||||
```
|
```
|
||||||
|
|
||||||
### Single directory
|
- Create a single directory:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff dir/
|
ff dir/
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
dir
|
───dir
|
||||||
```
|
```
|
||||||
|
|
||||||
### Multiple files
|
- Create multiple files:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff file1 file2 file3
|
ff file1 file2 file3
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
file1
|
┌─file1
|
||||||
file2
|
─┼─file2
|
||||||
file3
|
└─file3
|
||||||
```
|
```
|
||||||
|
|
||||||
### Multiple directories
|
- Create multiple directories:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff dir1/ dir2/ dir3/
|
ff dir1/ dir2/ dir3/
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
dir1
|
┌─dir1
|
||||||
dir2
|
─┼─dir2
|
||||||
dir3
|
└─dir3
|
||||||
```
|
```
|
||||||
|
|
||||||
### File in a directory
|
- Create a file in a directory:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff dir/file
|
ff dir/file
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
dir
|
───dir───file
|
||||||
└── file
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Directory in a directory
|
- Create a directory within a directory:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff dir1/dir2/
|
ff dir1/dir2/
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
dir1
|
───dir1───dir2
|
||||||
└── dir2
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Multiple files in multiple directories
|
- Create multiple files in multiple directories:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff dir1/dir2/file1 dir3/file2
|
ff dir1/dir2/file1 dir3/file2
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
dir1
|
┌─dir1───dir2───file1
|
||||||
└── dir2
|
─┴─dir3───file2
|
||||||
└── file1
|
|
||||||
dir3
|
|
||||||
└── file2
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### If your shell supports brace expansion e.g bash, zsh, fish
|
- Use [brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html) for complex structures (supported in bash, zsh, fish):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ff dir1/{dir2/{file1,file2}.txt,dir3/file3.txt}
|
ff dir1/{dir2/{file1,file2}.txt,dir3/file3.txt}
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
dir1
|
┌─file1.txt
|
||||||
├── dir2
|
───dir1─┬─dir2─┴─file2.txt
|
||||||
│ ├── file1.txt
|
└─dir3───file3.txt
|
||||||
│ └── file2.txt
|
|
||||||
└── dir3
|
|
||||||
└── file3.txt
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Related Projects
|
## 🔗 Related Projects
|
||||||
|
|
||||||
[Advanced New File](https://github.com/tanrax/terminal-AdvancedNewFile)
|
[Advanced New File](https://github.com/tanrax/terminal-AdvancedNewFile)
|
||||||
|
|
||||||
|
## ❤️ Show Your Support
|
||||||
|
|
||||||
|
Give a ⭐️ if this project helped you.
|
||||||
|
Loading…
Reference in New Issue
Block a user