V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
tbxark

[开源] rmtrash - macOS 上完全兼容 rm 命令的安全替代品

  •  
  •   tbxark ·
    tbxark · Nov 27, 2024 · 2916 views
    This topic created in 519 days ago, the information mentioned may be changed or developed.

    rmtrash 是 macOS 命令行工具 rm 的替代方案,用于将文件移动到废纸篓。 目前可用的 Objective-C 版本 trash 和 Swift 版本 macos-trash 分别已有 6 年和 2 年未更新,且存在一些不足:trash 未采用最新的废纸篓 API ;macos-trash 实现过于简陋,缺乏对 rm 命令标志位的支持。

    rmtrash https://github.com/TBXark/rmtrash 提供了与 Linux 和 macOS 版本 rm 命令完全兼容的标志位支持。

    使用

    rmtrash [-f | --force] {[-i | --interactive[=always]] | [-I | --interactive=once] |
       [--interactive=never]} [--one-file-system | -x] [--no-preserve-root |
       --preserve-root] [-r | -R | --recursive] [-d | --dir] [-v | --verbose] 
       FILE...
    
    rmtrash --help
    
    rmtrash --version
    

    安装

    brew install tbxark/repo/rmtrash
    

    如果你不想订阅我的 taps, 可以在 release 中下载二进制,或者直接从源码编译

    其他

    一开始交给号称能自己写完整个项目的 Windsurf 写,结果写出来了一团浆糊。最后还是得人来组织代码结构, AI 辅助提示。

    另外自己和 AI 已经找不到什么 BUG 了,欢迎测试提交 issue

    11 replies    2024-11-28 19:51:11 +08:00
    aapeli
        1
    aapeli  
       Nov 27, 2024
    brew install trash
    alias=trash
    aapeli
        2
    aapeli  
       Nov 27, 2024
    用这个好久了 alias=trash
    aapeli
        3
    aapeli  
       Nov 27, 2024
    @aapeli #1 alias rm=trash
    aapeli
        4
    aapeli  
       Nov 27, 2024
    @aapeli #2 alias rm=trash
    aapeli
        5
    aapeli  
       Nov 27, 2024
    不过楼主这个更棒,立马更换一波
    Kobayashi
        6
    Kobayashi  
       Nov 27, 2024 via Android
    tbxark
        7
    tbxark  
    OP
       Nov 27, 2024 via iPhone
    @Kobayashi 😲 brew search 搜不到以为没有人写了,这个不错
    tbxark
        8
    tbxark  
    OP
       Nov 27, 2024 via iPhone
    @Kobayashi 我还以为是纯 shell ,原来还得依赖 python 搭那个 trash-cli ,还是选择 macOS 原生 API 吧
    tbxark
        9
    tbxark  
    OP
       Nov 27, 2024 via iPhone
    @aapeli 哈哈 就是看到这个 6 年都不维护了,而且他这个移动到废纸篓是自己手撸的,在新的系统已经不太适应了。
    yir
        10
    yir  
       Nov 28, 2024 via iPhone
    tbxark
        11
    tbxark  
    OP
       Nov 28, 2024
    @ychen997 帖子里有提到,他整个代码里就一段有用的逻辑。直接删除,不管是文件夹还是文件。其他 rm 特性都没有实现。相当于 rm -rf 。

    https://github.com/sindresorhus/macos-trash/blob/a3831fc0f22250b102192732984bd892d7883bfb/Sources/trash/main.swift#L13
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2678 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 03:43 · PVG 11:43 · LAX 20:43 · JFK 23:43
    ♥ Do have faith in what you're doing.