trash/0.9.4

[brief]

File trashing utility for the terminal

Summary

This project is a cross-platform file trashing utility for the terminal that can reverse file deletion.

Tested on Linux, FreeBSD & Windows.
See docs/ for more information.

Pre-built binaries:

Release binaries are provided for Linux, FreeBSD & Windows.

Build Pre-requisites:

*Requires the build2-toolchain to be pre-installed. See https://build2.org/install.xhtml
*Requires c++23 supporting compiler.
(Optional): For building compilation database use latest staged toolchain.

Build Instructions:

mkdir trash.d
cd trash.d
git clone https://github.com/Isfand/trash.git
cd trash

POSIX: ./config-init.sh
WIN32: .\config-init.ps1

bdep update -a

This should build all initialized build configurations.
To list all build configs, type: bdep config list
To clean all build configs and dependencies recursively, type: bdep clean -a -r
To update a specific config: bdep update @<config-name>
To clean a specific config: bdep clean @<config-name>

Install

POSIX:

cd into your release target build configuration directory. E.G: cd ../trash-x64-posix-llvm-release

And type:
b install config.cxx.loptions="-L/usr/local/lib -Wl,-rpath,/usr/local/lib" config.install.root="/usr/local/" config.install.sudo="sudo"

To uninstall just replace install with uninstall for the command above.

This should work on any POSIX compliant platform.

WIN32:

WIP

Basic usage:

*Note, '--help' option changes message when applied after a primary command:

Primary commands

Deleting files:

Listing files:

Restoring files:

Erasing files:

Validating files:

Environment variables:

TRASH_DIR
The directory where the trash/ folder will be located. Defaults to '$HOME/.trash/'. The directory filename before the last delimiter will be used as the root of the trash directory name. E.G 'export TRASH_DIR=/home/user/.local/shared/.trashAlt/', will make .trashAlt/ become the trash directory name.


If you find the program useful then consider donating


version 0.9.4
license Eclipse Public License 2.0
repository https://pkg.cppget.org/1/alpha
download trash-0.9.4.tar.gz
sha256 28d45a3303a0d0a5a56578f65de0a89b8e7f8f76c7e03835292e14a5aa801454
project trash
url github.com/Isfand/trash
topics trash-managertrashingtrashcanrecycling-bin

Depends (1)

libsqlite3 ^3.45.3+1

Requires (1)

c++23

Reviews

fail 0
pass 0

Builds

toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-static_O3
timestamp 2025-09-24 21:39:47 UTC (03:18:49 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++
timestamp 2025-09-24 21:22:39 UTC (03:35:58 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-O3
timestamp 2025-09-24 21:21:54 UTC (03:36:42 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14-static_O3
timestamp 2025-09-24 19:50:26 UTC (05:08:10 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14-O3
timestamp 2025-09-24 19:49:39 UTC (05:08:57 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14
timestamp 2025-09-24 19:48:26 UTC (05:10:11 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd14.1
tgt config freebsd_14-clang_18-static_O3
timestamp 2025-09-24 19:34:19 UTC (05:24:17 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd14.1
tgt config freebsd_14-clang_18-O3
timestamp 2025-09-24 19:33:52 UTC (05:24:44 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_17_libc++
timestamp 2025-09-24 19:31:59 UTC (05:26:37 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd14.1
tgt config freebsd_14-clang_18
timestamp 2025-09-24 19:31:28 UTC (05:27:08 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_13.2_mingw_w64
timestamp 2025-09-24 10:57:36 UTC (14:01:00 hours ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_17_libc++
timestamp 2025-09-24 06:44:14 UTC (18:14:23 hours ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-ndebug_O3
timestamp 2025-09-23 21:12:54 UTC (01 03:45:42 days ago)
result warning (update) | log | rebuild
toolchain public-0.17.0
target x86_64-freebsd13.3
tgt config freebsd_13-clang_17
timestamp 2025-09-23 20:28:08 UTC (01 04:30:28 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_14-ndebug_O3
timestamp 2025-09-23 17:28:17 UTC (01 07:30:20 days ago)
result warning (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_18_llvm_msvc_17.10-static_O2
timestamp 2025-09-23 12:42:36 UTC (01 12:16:00 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_18_llvm_msvc_17.10-O2
timestamp 2025-09-23 12:41:52 UTC (01 12:16:44 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_18_llvm_msvc_17.10
timestamp 2025-09-23 12:41:47 UTC (01 12:16:49 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_13.2_mingw_w64-static_O2
timestamp 2025-09-23 12:12:15 UTC (01 12:46:22 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_13.2_mingw_w64-O2
timestamp 2025-09-23 12:11:30 UTC (01 12:47:06 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.10-static_O2
timestamp 2025-09-23 12:09:21 UTC (01 12:49:16 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.10-O2
timestamp 2025-09-23 12:08:46 UTC (01 12:49:50 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.10
timestamp 2025-09-23 12:08:29 UTC (01 12:50:07 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_12-bindist
timestamp 2025-09-23 12:05:09 UTC (01 12:53:28 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18-static_O3
timestamp 2025-09-23 12:04:20 UTC (01 12:54:16 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_17_msvc_msvc_17.10
timestamp 2025-09-23 12:03:53 UTC (01 12:54:43 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.8-static_O2
timestamp 2025-09-23 12:03:49 UTC (01 12:54:47 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18
timestamp 2025-09-23 12:03:38 UTC (01 12:54:58 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_18-O3
timestamp 2025-09-23 12:03:13 UTC (01 12:55:24 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.8-O2
timestamp 2025-09-23 12:02:06 UTC (01 12:56:30 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.8
timestamp 2025-09-23 12:01:47 UTC (01 12:56:49 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_ubuntu_24.04-gcc_13-bindist
timestamp 2025-09-23 11:53:10 UTC (01 13:05:27 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_13.1
timestamp 2025-09-23 11:47:37 UTC (01 13:10:59 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_17
timestamp 2025-09-23 11:44:39 UTC (01 13:13:57 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_17
timestamp 2025-09-23 10:58:33 UTC (01 14:00:03 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_13
timestamp 2025-09-23 10:54:20 UTC (01 14:04:16 days ago)
result error (update) | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_fedora_40-gcc_14-bindist
timestamp 2025-09-22 06:08:20 UTC (02 18:50:17 days ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-static_O3
timestamp 2025-09-21 01:32:51 UTC (03 23:25:46 days ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14-O3
timestamp 2025-09-21 01:29:40 UTC (03 23:28:57 days ago)
result success | log | rebuild
toolchain public-0.17.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_14
timestamp 2025-09-21 01:24:53 UTC (03 23:33:43 days ago)
result success | log | rebuild
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18
result unbuilt
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18-O3
result unbuilt
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18-static_O3
result unbuilt
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18_libc++
result unbuilt
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-O3
result unbuilt
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_18_libc++-static_O3
result unbuilt
toolchain public-0.17.0
target x86_64-linux-gnu
tgt config linux_fedora_39-gcc_13-bindist
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_15.0
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0-O3
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-clang_15.0-static_O3
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew-O3
result unbuilt
toolchain public-0.17.0
target x86_64-apple-darwin23.5.0
tgt config macos_14-gcc_14_homebrew-static_O3
result unbuilt