Mac下使用命令行或脚本删除文件到废纸篓
来源:互联网 发布:涤纶低弹网络丝 编辑:程序博客网 时间:2024/05/18 03:08
mac删除文件有两种方式:
1. 使用Finder的“移到废纸篓”功能
2. 使用rm命令
第二种方式删除的文件,不能在废纸篓中找到,也就是所谓的“彻底删除了”
但是我们在使用terminal的时候,一般都会使用rm删除文件,那要是删错了不就完了?而且我们的mac上本身又自带了废纸篓,为什么不能将两者结合起来呢?于是我做了一些探究
Mac废纸篓的真实面目
$ ls ~/.Trash
你会发现,~/.Trash
目录就是废纸篓
但是它只是一个普通的目录,只是Finder将删除的文件移动到了这个目录而已,不相信?接着往下看
~/.Trash的本质只是文件夹
$ cd ~$ echo "666666" >> wantodel.txt$ mv wantodel.txt ~/.Trash
此时打开你的废纸篓一看,里面有一个wantodel.txt
文件,但是你无法将它还原到原处,也就是没有记录你的完整操作行为
。
Finder是如何记录完整操作行为的呢?
最有可能是通过数据库来存放的,而非日志的形式
因为我grep了整个磁盘都没找到相关的文件
最好的帮手是Finder
既然~/.Trash
只是普通文件夹,那我们单纯使用linux命令是无法达到目的的了。
牛顿说过要站在巨人的肩膀上,我们现在已知Finder
可以达到预期目的,如果我们能调用或是告诉Finder
的我们要做什么,并且它也愿意做,不就可以达到目的了么?
在window中有一个消息
的概念,意思是一个应用程序A可以对另一个应用程序B发送消息
以操作B来完成某项指定的任务,那Mac种是否也有这种或是类似这种的机制呢?
答案是AppleScript,是一种脚本语言,可以用来控制Mac上的应用程序。
最后附上使用shell通知Finder程序移动文件废纸篓的样例代码
#!/bin/bashfp=/absolute/path/to/fileosascript << EOFtell application "Finder" posix path of ((delete posix file "${fp}") as unicode text)end tellEOF
阅读全文
0 0
- Mac下使用命令行或脚本删除文件到废纸篓
- Mac系统中强制删除废纸篓文件
- Mac OS 下 命令行清除废纸篓 与 Mac OS 截屏快捷键
- mac倾倒废纸篓提示文件正在使用中的一种解决办法
- 批量恢复 Mac OS X 废纸篓里的文件
- 关于MAC清倒废纸篓,项目正在使用
- MAC 下面重置废纸篓
- mac--强制清理废纸篓
- mac倾倒废纸篓不成功
- 在linux命令行下批量删除文件或文件夹
- MAC 下显示或隐藏所有文件脚本
- Mac下使用命令行打开sublime,编辑文件及文件夹
- Mac安装文件时提示“文件已损坏,建议移到废纸篓”的问题
- Mac终端命令行执行Python脚本文件
- Mac os x下清空废纸篓
- mac OS强制清倒废纸篓
- 清空Mac上的废纸篓
- Mac强制清空废纸篓
- Failed to resolve com.android.support:support-annotations 26.0.1
- 欢迎使用CSDN-markdown编辑器
- 实现负载均衡的六种算法
- 学习阿里巴巴开发手册-3
- Android Studio 通过配置build.gradle打包签名文件
- Mac下使用命令行或脚本删除文件到废纸篓
- Idea导入项目后 Manifest首行红色 提示URI is not registered
- 10多年码农的经历
- BZOJ2683 简单题 [KD-tree]
- ORACLE用脚本返回long 类型 TEXT 如视图的TEXT
- 通过C#的dll文件逆推代码的软件
- QT相关下载
- Jboss与Spring的aop注解@Aspect冲突的问题以及解决办法
- 《深入理解java虚拟机》学习笔记05--HotSpot中对象存活判读算法和垃圾收集算法的实现