我要开始装13了

'rm -rf 是一个很"粗鲁"的命令,就像windows的shift+delete,删除的文件是无法找回的(当然,除了数据恢复软件,但是很麻烦,很费时)'
'为了防止自己的误操作而删除了重要的文件(咱总不能删库就跑路吧),可以利用以下的方法,为自己建立一个回收站'
linux-oz6w:~ # vim /etc/profile
####### trash #######
mkdir -p ~/.trash # 路径可以自己创建和命名,不受限制,修改路径名后,记得修改下面三个函数里面的路径
alias rm=trash # 将rm别名成trash,调用trash函数
alias ur=undelfile # 使用别名定义一个ur命令,调用undelfile函数,作用是还原文件 function undelfile(){ # 通过$@将ur后面的参数逐一传给mv移动到当前目录下
mv -i ~/.trash/$@ ./ # mv -i 当目标文件存在时,提示是否覆盖
} function trash(){ # 在终端输入的rm命令,会通过别名alias调用trash函数,再通过$@将rm后面的参数逐一传给mv移动到.trash目录下
mv $@ ~/.trash/
} function cleartrash(){ # 在终端输入 cleartreash ,就会调用这里的函数,输入'y 或 Y',就会清空.trash目录下的内容
read -p "clear sure?[n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/* # /bin/rm 不受别名的限制,会直接删除文件
}
####### trash end #######
linux-oz6w:~ # source /etc/profile # 重新加载环境变量

测试一下,不能打脸

linux-oz6w:~ # echo test > test.txt
linux-oz6w:~ # cat test.txt
test
linux-oz6w:~ # rm -f test.txt # 使用 rm 命令删除的文件,被移动到创建的.trash目录下了
linux-oz6w:~ # ll .trash/
total 4
-rw-r--r-- 1 root root 5 Jan 1 22:46 test.txt
# 虽然rm用别名定义了,但是可以是用绝对路径删除文件,它是不会被移动到.trash目录的。请看我的表演:
linux-oz6w:~ # cd .trash/
linux-oz6w:~/.trash # ll
total 4
-rw-r--r-- 1 root root 5 Jan 1 22:46 test.txt
linux-oz6w:~/.trash # /bin/rm test.txt # 使用/bin/rm绝对路径的方式来使用命令,会直接删除文件的(这是效果展示,做人不能这么粗鲁)
linux-oz6w:~/.trash # ll
total 0

扩展

# 如果需要定义自动清理7天删除的文件(不然的话,自己要时常看看.trash目录的大小,免得磁盘爆了都不知道),写一个crontab调用脚本就可以了。
#!/usr/bin/env bash
find ~/.trash -ctime 7 -type f -name "*" -exec /bin/rm {} \;

拉闸

'以上的内容,是在root用户下操作的,普通用户也会自动在自己的家目录下创建.trash目录'
'但是:suse发行版比较特殊,因为useradd的时候,默认是不会在/home目录下创建普通用户的家目录,所以在创建用户的时候,记得加上-m参数(centos的useradd是默认带-m参数的,就不需要在意这个细节了)'
'当然,也可以在/etc/profile里面写一个alias useradd="useradd -m" 这样,suse发行版中,创建用户就会自动生成用户家目录了'

谢幕

'2020已成往事(往事不要再提,人生已多风雨),让我们在新的一年里,将过去的不值得、不需要的东西,统统/bin/rm'
'新的一年里,集美们,让我们high起来好么~~~'

linux大工程 - 我要一个属于自己的回收站的更多相关文章

  1. Linux下Tomcat同时部署两个工程然而只有一个能访问问题

    Linux下Tomcat同时部署两个工程然而只有一个能访问问题 问题: Linux下单个部署到Tomcat下的时候都正常,两个一起部署,只有一个能访问: 解决方案: 由于采用#./shutdown.s ...

  2. [BZOJ3611][Heoi2014]大工程

    [BZOJ3611][Heoi2014]大工程 试题描述 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道.  我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶点上.  在 ...

  3. bzoj 3611 [Heoi2014]大工程(虚树+DP)

    3611: [Heoi2014]大工程 Time Limit: 60 Sec  Memory Limit: 512 MBSubmit: 408  Solved: 190[Submit][Status] ...

  4. [HEOI2014]大工程

    题目描述 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道. 我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶点上. 在 2 个国家 a,b 之间建一条新通道需要的代价为树上 ...

  5. 在Linux下,如何分析一个程序达到性能瓶颈的原因

    0.在Linux下,如何分析一个程序达到性能瓶颈的原因,请分别从CPU.内存.IO.网络的角度判断是谁导致的瓶颈?注意现在的机器CPU是多核 1.用sar -n DEV 1 10 2.用iotop命令 ...

  6. Spring Security和 JWT两大利器来打造一个简易的权限系统。

    写在前面 关于 Spring Security Web系统的认证和权限模块也算是一个系统的基础设施了,几乎任何的互联网服务都会涉及到这方面的要求.在Java EE领域,成熟的安全框架解决方案一般有 A ...

  7. BZOJ3611:[HEOI2014]大工程(树形DP,虚树)

    Description 国家有一个大工程,要给一个非常大的交通网络里建一些新的通道.  我们这个国家位置非常特殊,可以看成是一个单位边权的树,城市位于顶点上.  在 2 个国家 a,b 之间建一条新通 ...

  8. 【BZOJ】【3611】【HEOI2014】大工程

    虚树+树形DP 本题100W的点数……不用虚树真的好吗…… Orz ZYF 我的感悟: dp的过程跟SPOJ 1825 FTOUR2 的做法类似,依次枚举每个子树,从当前子树和之前的部分中各找一条最长 ...

  9. 使用socket BPF/Linux内核工程导论——网络:Filter(LSF、BPF、eBPF)

    使用socket BPF linux 下的 包过滤器 BPF Linux内核工程导论——网络:Filter(LSF.BPF.eBPF) 注意(文中描述的内容): 此外,这段BPF代码还存在的一个问题是 ...

随机推荐

  1. Angularjs实现下拉列表排序

    <select class="form-control underline" ng-model="reportform.score" ng-options ...

  2. SYCOJ1613递归函数

    题目-递归函数 (shiyancang.cn) 记忆化dfs,注意dp的限制范围 #include<bits/stdc++.h> using namespace std; const in ...

  3. Blinn-Phong反射模型实践(web实现)

    Blinn-Phong反射模型实践(web实现) games101 第四次作业 最终完成带贴图的 Blinn-Phong 模型,产生光照效果 完成了 不带贴图的 Blinn-Phone 反射模型 带贴 ...

  4. 解析HetuEngine实现On Yarn原理

    摘要:本文介绍HetuEngine实现On Yarn的原理,通过阅读本文,读者可以了解HetuEngine如何在资源使用方面融入Hadoop生态体系. 本文分享自华为云社区<MRS HetuEn ...

  5. 乡亲们,我们创建了 Dapr 中文交流频道

    我们创建了 Dapr 中文交流 QQ 频道,欢迎大家加入!加入方式在文章最后一节. 为什么要创建频道? 解决什么问题 专业性,"你可以在我们群里面钓鱼,因为都是水" 你肯定加过非常 ...

  6. 虚拟化架构与Centos7系统部署

    1.什么是虚拟化(Virtualization) 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可 ...

  7. Qt之简单绘图实现

    效果图:                                              可以实现打开图片,在打开的图片上画图,可以保存图片,以及橡皮擦,画笔调大调粗换色功能. 代码: XI ...

  8. nmap 查看主机上开放的端口

    作用: 检测网络上的主机检测主机上开放的端口检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本) 扫描方式: 1. -sS     Tcp SYN Scan  不需要三次握手,速度快 ...

  9. 一劳永逸,解决.NET发布云服务器的时区问题

    国内大多数开发者使用的电脑,都是使用的北京时间,日常开发的过程中其实并没有什么不便:不过,等遇到了阿里云等云服务器,系统默认使用的时间大多为UTC时间,这个时候,时区和时间的问题,就是不容忽视的大问题 ...

  10. 学习JAVAWEB第十六天

    今天做了一个简单的登陆界面,HTML+CSS太不熟悉了,明天还得接着做