背景
为了避免在 mac 上执行 rm -rf something 把重要文件删掉,可以使用 trash 替代 rm,这样文件就不会直接被删除,而是进入废纸篓,给自己增加一次反悔的机会。
安装 trash
trash–CLI tool that moves files or folder to the trash
使用 homebrew 安装 trash:
1 | brew install trash |
配置命令行
安装完之后在 .zshrc 或者 .bashrc 添加以下配置,.Trash 是Mac下的废纸篓目录。
1 | # trash |
权限修改
在没有修改权限前命令行下查看废纸篓 ls ~/.Trash 会报错:
1 | ls: .Trash: Operation not permitted |
产生这个错误的原因是 macOS 的规则:应用程序必须给与特定的访问权限才能执行特定的操作。 而 Terminal.app 没有赋予 Full Disk Access 的权限。
最简单的方法是,进入 System Preferences(系统偏好设置)并选择 Security & Privacy …

选择 Full Disk Access(完全磁盘访问权限)并点击 lock icon(锁定图标)按钮解锁。这个操作需要输入系统密码。

然后就可以选择 Terminal 给与完全磁盘访问权限,这个操作需要先关闭终端才能生效,记得做好文件备份。

以上操作完成后,再次在终端尝试查看废纸篓 ls ~/.Trash 就会看到废纸篓中文件列表了!

相关命令
rm或r命令可以把文件或者文件夹移入废纸篓。rl罗列出废纸篓内的文件。ur把废纸篓内的某个文件移动到当前位置,相当于恢复。
以上。