linux中使用rm命令将文件移到回收站的方法
今天在终端下,看到我的用户目录下有个~的文件夹(maven生成),相要删除收回点空间,习惯性的用命令 rm -rf ~ ,一回车,猛然想起的时候已经来不及了,世界一下子清静了,想死的心都有了!
没错,~指定的是当前用户的目录,我的用户名是liyd,相当于是执行了rm -rf /home/liyd,所有的文件都删除了。试了linux下的各种文件恢复方法,都不理想,ext4格式,找回来的比率太小了,还要在一大堆乱文件中查找需要的,唉!所幸没什么特别重要的文件,代码都git和svn提交了,损失还能接受。
这次是~,下次要是误敲个其它的说不定会更杯具,经过这个教训,想着能不能有方法将rm命令删除的文件先放到回收站呢,留点误删后悔的余地,网上一查,还真有。
看了下,基本上是偷换了概念,把rm命令转换成了mv命令,但是能够达到我想要的效果,只不过在习惯性的敲入-r 参数时会报出一个错误,因为mv命令没有-r参数嘛,下面是方法:
原理是在用户主目录下创建一个隐藏文件夹~/.trash作为垃圾回收站。
代码如下:
vi ~/.bashrc
然后把以下代码写入~/.bashrc后,保存一下。
代码如下:
alias rl='trashlist'
alias ur='undelfile'
#替换rm指令移动文件到~/.trash/中
trash()
{
mv $@ ~/.trash/
}
#显示回收站中垃圾清单
trashlist()
{
echo -e "33[32m==== Garbage Lists in ~/.trash/ ====33[0m"
echo -e "\a33[33m----Usage------33[0m"
echo -e "\a33[33m-1- Use 'cleartrash' to clear all garbages in ~/.trash!!!33[0m"
echo -e "\a33[33m-2- Use 'ur' to mv the file in garbages to current dir!!!33[0m"
ls -al ~/.trash
}
#找回回收站相应文件
undelfile()
{
mv -i ~/.trash/$@ ./
}
#清空回收站
cleartrash()
{
echo -ne "\a33[33m!!!Clear all garbages in ~/.trash, Sure?[y/n]33[0m"
read confirm
if [ $confirm == 'y' -o $confirm == 'Y' ] ;then
/bin/rm -rf ~/.trash/*
/bin/rm -rf ~/.trash/.* 2>/dev/null
fi
}
在命令行下面刷新一下环境配置,即可生效:
代码如下:
linux中使用rm命令将文件移到回收站的方法的更多相关文章
- 【转】Linux 中清空或删除大文件内容的五种方法(truncate 命令清空文件)
原文: http://www.jb51.net/article/100462.htm truncate -s 0 access.log -------------------------------- ...
- Ubuntu中恢复rm命令误删文件(转)
计算机系统:Ubuntu 16.04 1 背景 在做项目的时候,本来想使用rm命令删除以14开头的文件,结果写成如下形式: rm 14 * 注意,本来14和*之间不应该有空格的,但是误写了一个空格,结 ...
- Linux基础教程 linux中使用find命令搜索文件常用方法记录
find是linux非常强大的搜索命令,通过man find查看find手册,可以发现find的说明一屏接一屏,估计要看完也得花不少时间.兄弟连Linux培训 小编总结了下,整理出find常用的使用方 ...
- Linux中通过grep命令检索文件内容和指定内容前后几行
原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...
- [译]在Linux中清空或删除大文件内容的5种方法
原文来源: https://www.tecmint.com/empty-delete-file-content-linux/ 有时,在处理Linux终端中的文件时,您可能希望清除文件的内容,而无需使用 ...
- ubuntu中恢复rm命令误删文件
步骤: 1.对于文件系统为ext3文件系统 使用命令:sudo apt-get install ext3grep. 对于文件系统为ext4文件系统 使用sudo apt-get install ext ...
- linux中通过date命令获取昨天或明天时间的方法
date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化 # 获取当前日期 date +"%F" 或者 date +"%Y-%m-% ...
- 【Linux】linux中通过date命令获取昨天或明天时间的方法
date +"%F" 输出格式:2011-12-31 date +"%F %H:%M:%S" 输出格式:2011-12-31 16:29:50 这都是打印出系统 ...
- linux下修改rm命令防止误删除
前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. ...
随机推荐
- 微信小程序传值
方式一:通过设置id方式传值 <button class="btninvest" bindtap="goinvet" id="{{item.tx ...
- Nexus(Maven仓库私服)安装
一.Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven ...
- [转]hadoop2.x常用端口
原文地址:http://www.zhixing123.cn/ubuntu/40649.html HDFS DataNode 50010 dfs.datanode.address datanode服务端 ...
- 2017北京国庆刷题Day7 morning
期望得分:100+0+100=200 实际得分:100+20+0=120 离散化搞搞 #include<cstdio> #include<iostream> #include& ...
- Codeforces 221 A. Little Elephant and Function
A. Little Elephant and Function time limit per test 2 seconds memory limit per test 256 megabytes in ...
- 解决gridview row 左边序列号 显示不完全的技巧
放在主程序 入口处, public Form1() { InitializeComponent(); gridView1.IndicatorWidth = ; //<宽度值>官方推荐常用是 ...
- Map集合的两种取出方式
Map集合有两种取出方式, 1.keySet:将Map中的键存入Set集合,利用set的迭代器来处理所有的键 举例代码如下: import java.util.*; class Test { publ ...
- LintCode 508: Wiggle Sort
LintCode 508: Wiggle Sort 题目描述 给你一个没有排序的数组,请将原数组就地重新排列满足如下性质 nums[0] <= nums[1] >= nums[2] < ...
- 【BZOJ】2337: [HNOI2011]XOR和路径 期望+高斯消元
[题意]给定n个点m条边的带边权无向连通图(有重边和自环),在每个点随机向周围走一步,求1到n的期望路径异或值.n<=100,wi<=10^9. [算法]期望+高斯消元 [题解]首先异或不 ...
- 解决爬虫时网站采用gb2312编码所遇到的乱码问题!
import requests from bs4 import BeautifulSoupall_url = 'http://www.7160.com/qingchunmeinv/' # 请求头 he ...