1、创建回收站

#/root/.trash路径,即作为我们的回收站路径当然,这里要注意你分区空间的情况,这个回收站位置,生产环境尽量放在空间较大的分区下
cd ~ && mkdir .trash

2、重写rm命令

#当前用户生效 修改你的 home 目录下的
vim ~/.bashrc#全局系统生效  在修改之前最好先备份
cp /etc/bashrc /etc/bashrc.bak
vim /etc/bashrc

3、重写rm完整脚本

# rm transform
function rm() {
#创建回收站目录
#如果目录不存在,就创建这个目录
if [ ! -d ~/.trash  ];thenmkdir -p .trash
fi# 定期清理回收站,时间可调整
now=$(date +%s)
for s in $(ls --indicator-style=none $HOME/.trash/) ;dodir_name=${s//_/-}dir_time=$(date +%s -d $dir_name)# if big than one month then delete#2592000 分钟  60*60*24*30 删除一个月前的文件if [[ 0 -eq dir_time || $(($now - $dir_time)) -gt 2592000 ]] ;thenecho "Trash " $dir_name " has Gone "/bin/rm $s -rffi
done
# 重写rm命令,将文件mv到回收站下
prefix=$(date +%Y_%m_%d)
hour=$(date +%H)
mkdir -p $HOME/.trash/$prefix/$hour
if [[ -z $1 ]] ;thenecho 'Missing Args'return
fi
echo ${!#} "已被移到回收站"
mv -b ${!#} $HOME/.trash/$prefix/$hour
}

4、生效配置

#回收站定期删除因为我们上面的 shell 每次触发 rm 命令的时候都会去删除一个月前的目录,所以就不需要定时器来删除 .trash 里面的文件了
source ~/.bashrcsource /etc/bashrc

5、测试

#创建删除文件
cd /
mkdir test
rm -rf test/
test/ 已被移到回收站#查看回收站
cd /root/.trash/2022_07_05/15
[root@aly 15]# pwd
/root/.trash/2022_07_05/15
[root@aly 15]# ls
test  test.sh

6、真实删除命令

#如果强制清空"回收站"(即清空 .trash 目录),
可以使用真正的 rm 命令:/bin/rm -rf ~/.trash/*

linux 回收站创建相关推荐

  1. linux 下生成docx,linux下创建、删除文件和文件夹命令.docx

    linux下创建.删除文件和文件夹命令.docx 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 学习 Linux 二(创建.删除文件和文件夹 ...

  2. Linux下创建硬链接,文件访问为空,提示:xxxx: 符号连接的层数过多

    Linux下创建软链接|硬链接,文件访问为空,提示:x x x: 符号连接的层数过多. 原因:创建符号链接的时候未使用绝对路径,无论是源文件路径还是目标路径,都需要使用绝对路径. 如: ln -s / ...

  3. trash-cli设置Linux 回收站

    trash-cli 设置 Linux 回收站 trash-cli是一个使用 python 开发的软件包,包含 trash-put.restore-trash.trash-list.trash-empt ...

  4. Linux虚拟机创建后如何进行登录(Windows Azure)

    Linux虚拟机创建后如何进行登录 若要管理虚拟机的设置以及在其上运行的应用程序,可以使用安全外壳 (SSH) 客户端.为此,您必须在计算机上安装要用于访问虚拟机的 SSH 客户端.您可以选择很多 S ...

  5. Linux 中创建 USB 启动盘来拯救 Windows 用户

    WoeUSB 可以在 Linux 中制作 Windows 启动盘,并帮助你的朋友解锁他们罢工的机器. 人们经常要求我帮助他们恢复被锁死或损坏的 Windows 电脑.有时,我可以使用 Linux US ...

  6. 【 Linux 】创建、查看、删除文件

    目录 创建并查看 vim创建c文件 单个删除 批量创建或删除 从小白开始,记录每一次遇到的问题,然后整理出来,我相信刚接触Linux的人多多少少也会遇到类似的问题,如果看到了我的博客,也是一种缘分. ...

  7. 101个脚本之linux回收站

    众所周知,linux是没有回收站的,一些人很害怕删错东西(有经验的linux管理员极少范这错误),个人不建议回收站,而应该是培养个人的安全意识.有点小跑题. 接着回来101个脚本之#15 Archiv ...

  8. docker删除所有容器_如何在Linux上创建,列出和删除Docker容器

    本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容. 我的官方群点击此处 1.启动Docker容器 使用下面的命令启动新的Docker容器.这将启动一个 ...

  9. 【Linux入门到精通系列讲解】Linux如何创建和删除swap分区

    Linux中的swap分区类似Windows的虚拟内存,在硬盘空间不足的情况下,可通过创建swap分区来解决,下面小编就给大家介绍下Linux如何创建和删除swap分区. 文章目录 1 swap概述 ...

最新文章

  1. tp5模板 使用php代码,thinkPHP的Html模板标签使用方法
  2. 【BZOJ1568】【Tyvj3490】Blue Mary开公司 李超线段树
  3. 明晚 8 点,为你揭秘「AI 换脸术」:剧照 or 视频换脸背后的核心技术与应用
  4. (转)从业10年,芝加哥交易员王辰解码高频交易
  5. c语言作业班级管理系统,班级信息管理系统(C语言)
  6. bsod错误代码。_如何解决BSOD(蓝屏死机)和Windows Stop错误?
  7. 什么是前端工程师?前端工程师需要掌握什么技能?
  8. 解决conda install pkgs found conflict问题
  9. python入门第三课(初中生学Python)
  10. Matplotlib 绘制折线图 - 正余弦函数图像
  11. 打造一台“苹果范儿”的 Linux 系统,桌面美化攻略来了~
  12. 使用exceljs读取和导出Excel并支持图片导出
  13. C语言实现流媒体广播项目
  14. 线性代数笔记3.3向量组的秩
  15. 请输入公众号相关链接,并以http://或https://开头
  16. 起源鸿蒙虚无等级,《刺客信条:起源》或为开放世界游戏 最高等级只有40
  17. 【自我管理】追求卓越从改变自己做起
  18. scala学习十三 开发twitter客户端
  19. 百度云同步盘登录失败,报错155010的问题解决
  20. 360加固apk并自动签名

热门文章

  1. [转载] 晓说——第14期:揭秘战争秘闻 朝鲜战争62年祭(上)
  2. K8s系列之:DNS服务搭建指南
  3. 2021财院ACM选拔赛题解
  4. 微信小程序开屏广告实现
  5. 带你走进神经网络的“前世今生”
  6. 组装服务器实训总结,计算机组装与维护实训总结
  7. 少儿机器人编程课程学什么
  8. TensorBoard引起的AttributeError: ‘Sequential‘ object has no attribute ‘run_eagerly‘问题
  9. 狗都能看懂的CenterNet讲解及代码复现
  10. kubernetes dashboard