Saki's 研究记录

安装 trash 为使用 rm 命令删除文件增加补救机会

字数统计: 410阅读时长: 1 min
2022/02/03

背景

为了避免在 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
2
3
4
5
6
7
8
9
# trash
alias rm=trash
alias r=trash
alias rl='ls ~/.Trash'
alias ur=undelfile
undelfile()
{
mv -i ~/.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 就会看到废纸篓中文件列表了!

相关命令

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

以上。

CATALOG
  1. 1. 背景
  2. 2. 安装 trash
  3. 3. 配置命令行
  4. 4. 权限修改
  5. 5. 相关命令