Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aditya-a-garwal/ag_file_system_scanner

A nifty command line tool to scan and search through the filesystem and get the sizes of directories
https://github.com/aditya-a-garwal/ag_file_system_scanner

chrono filesystem filesystem-library rust

Last synced: about 2 months ago
JSON representation

A nifty command line tool to scan and search through the filesystem and get the sizes of directories

Awesome Lists containing this project

README

        

# ag_file_system_scanner

[![GitHub issues](https://img.shields.io/github/issues/Aditya-A-garwal/ag_file_system_scanner)](https://github.com/Aditya-A-garwal/ag_file_system_scanner/issues)
[![GitHub forks](https://img.shields.io/github/forks/Aditya-A-garwal/ag_file_system_scanner)](https://github.com/Aditya-A-garwal/ag_file_system_scanner/network)
[![GitHub stars](https://img.shields.io/github/stars/Aditya-A-garwal/ag_file_system_scanner)](https://github.com/Aditya-A-garwal/ag_file_system_scanner/stargazers)
[![GitHub license](https://img.shields.io/github/license/Aditya-A-garwal/ag_file_system_scanner)](https://github.com/Aditya-A-garwal/ag_file_system_scanner)

This is a high performance, nifty, command-line tool written in rust to navigate through the filesystem. It can be used to -

- Find Directories, Symlinks and Files by their full/partial name.
- Find the sizes of Directories recursively.
- Find permissions of Filesystem Entries (POSIX-style permissions only).
- General Navigation and exploration of the filesystem through the command-line.

It is a successor to [AgFileSystemScanner](https://github.com/Aditya-A-garwal/AgFileSystemScanner), which is the same tool written in C++. Rust was used over C++ due to its verbose, compile-time error handling. Exceptions are not present in rust, which reduces the chances of crashes happening.

## Usage

fss [PATH] [options] [-r [DEPTH]] [-S|--search|--search-noext|--contains PATTERN]

## Options

-r, --recursive Recursively scan directories (can be followed by a positive integer to indicate the depth)
-p, --permissions Show permissions of all entries
-t, --modification-time Show time of last modification of entries

-f, --files Show Regular Files (normally hidden)
-l, --symlinks Show Symlinks (normally hidden)
-s, --special Show Special Files such as sockets, pipes, etc. (normally hidden)

-d, --dir-size Recursively calculate and display the size of each directory

-a, --abs Show the absolute path of each entry without any indentation

-S, --search Only show entries whose name completely matches the following string completely
--search-noext Only show entries whose name(except for the extension) completely matches the following string completely
--contains Only show entries whose name contains the following string completely

-e, --show-err Show errors
-h, --help Print Usage Instructions

```PATH``` is the path to the directory from which to start the scan.

Only one of the search options(```-S```, ```--search```, ```--search-noext```, ```--contains```) can be set at a time.

The argument after the search flag is treated as the search pattern.

## Examples

Print the directories in the current directory, recursively going down two levels -

fss -r 2

Print the contents of ```/proc```, including files, symlinks and special files with their permissions -

fss "/proc" -f -l -s -p

Recursively search for all directories named ```proc``` in ```C://``` and show their sizes, last modification times -

fss "C:/" -r -d -t -S "proc"