linux下常常使用rm,导致误操作删除一些重要的文档,很难恢复(当然也能恢复,不过比较复杂),所以在这种情况下,我们如果能给linux添加一个回收站就好多了,说白了,这个回收站机制也比较简单,就是使用 mv封装一个rm,简单的可以自己写个脚本,复杂点的就是在bin下添加这个封装命令就行了。
给linux添加一个回收站。
mkdir /tmp/trash_tmp 建立一个回收站目录
vi /bin/trash 编辑一个文件
mv $@ /tmp/trash_tmp
:wq 保存退出
alias rm=/bin/trash添加别名
vi /etc/bashrc
在最后一行添加alias rm=/bin/trash
chmod 755 /bin/trash
chmod 777 /tmp/trash_tmp
source /etc/bashrc 启用环境变量
如果要真的删除某个文件的时候用 /bin/rm -i file_name
这样一来一个回收站就建立了,以后用rm的时候会自动的将file_name 移动到/tmp/trash_tmp/目录下
给linux添加回收站
-
nuxt如何在其它js文件中使用store
在新建的js文件中想用store里面的数据,比如token想在封装的axios里面,请求头里面去使用,亦或者通过app的JS接口获取token并存储在store里面。我们都知道如何在vue中如何使用。
-
vuex 设置state时的骚操作,批量设置state
vuex,state,批量,vue,react
-
使用postMessage来实现父子通信跨域
1.子向父,子postMessage,父监听message; 2.父向子,父postMessage,子监听message; 3.测试发现,子向父postMessage的时候,源可以写为‘*’,父向子postMessage的时候,源需要写成子的源,(也就是子页面的协议+主机号+端口) 测试代码部分:
-
Object.entries()
Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for...in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)
-
xcrun: error: SDK 'iphoneos' cannot be located错误的解决方案
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
-
You are not allowed to force push code to a protected branch on this project 解决 GitLab:
当我们有时候回滚了代码,想强制push到远程仓库的时候,--force。。。
-
向Rocket.Chat推送消息
如何从后台访问接口,向Rocket.Chat推送消息
-
Android Project 检查依赖库和插件版本
studio依赖 - 如何在Android Studio中显示依赖关系树?
-
kotlinx.android.synthetic.** 用法与总结
可以直接使用layout id 名称获取当前view对象,详细使用如下:
-
Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Message
1.?:在非空的情况下执行语句,为空时直接返回null 1.!!:表示忽略语言的判空检查,即允许程序报NullPointerException(在kotlin中一般不建议这种写法,除非使用处一定不为空)