fileinfo

A simple C++ program that displays information about files and folders.

Installation

First, install libmagic-dev:
sudo apt install libmagic-dev

Now, compile the source code. Note the -lmagic at the end!
g++ <path/to/source.cpp> -lmagic -o fileinfo

And finally, copy that executable to /usr/local/bin folder. (not required)
sudo cp fileinfo /usr/local/bin/

Usage

./a.out [args] filename ...
Args:
-A Output absolute path
-E Do not show emojis

Example

pavlik@pavlik-MacBookPro9-2:~/rgb-terminal$ ls
LICENSE main.c README.md
pavlik@pavlik-MacBookPro9-2:~/rgb-terminal$ fileinfo main.c # Single file
📝 main.c:
    Name: main.c
    Type: Text
    MIME: text/x-c
    File size: 10.1 KB or 9.9 KiB (10110 bytes)
    Permissions: -rw-rw-r--
pavlik@pavlik-MacBookPro9-2:~/rgb-terminal$ fileinfo main.c -A # Single file with argument
📝 main.c:
    Name: main.c
    Type: Text
    Absolute path: /home/pavlik/rgb-terminal/main.c
    MIME: text/x-c
    File size: 10.1 KB or 9.9 KiB (10110 bytes)
    Permissions: -rw-rw-r--
pavlik@pavlik-MacBookPro9-2:~/rgb-terminal$ fileinfo * # All files in this directory
📝 LICENSE:
    Name: LICENSE
    Type: Text
    MIME: text/plain
    File size: 1.2 KB or 1.2 KiB (1211 bytes)
    Permissions: -rw-rw-r--

📝 main.c:
    Name: main.c
    Type: Text
    MIME: text/x-c
    File size: 10.1 KB or 9.9 KiB (10110 bytes)
    Permissions: -rw-rw-r--

📝 README.md:
    Name: README.md
    Type: Text
    MIME: text/plain
    File size: 173 bytes
    Permissions: -rw-rw-r--
pavlik@pavlik-MacBookPro9-2:~/rgb-terminal$ fileinfo . # Current directory
📁 rgb-terminal/:
    Name: rgb-terminal/
    Type: Folder
    MIME: inode/directory
    Contents:
        Normal: 3 files and 0 folders.
        Hidden: 0 files and 1 folders.
    Permissions: drwxrwxr-x