Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >给 “rm” 命令添加个“垃圾桶”

给 “rm” 命令添加个“垃圾桶”

作者头像
CPP开发前沿
发布于 2022-03-03 03:19:38
发布于 2022-03-03 03:19:38
8020
举报
文章被收录于专栏:CPP开发前沿CPP开发前沿

英文:2daygeek,

做过linux同学的人都知道,在linux系统中使用 rm -rf *时会将文件永久删除,这也是我们在操作时禁止使用这个命令的原因。本文将介绍一个方法可以让rm命令删除的文件暂时不被彻底删除,而是像windows那样先丢进垃圾箱。

有人在看关于 Trash-Cli 的文章时从评论部分那里获得了一个关于 saferm.sh 脚本的更新,这个脚本就可以实现我们的目的。

这个脚本会根据用户的定时设置自动的对 GNOMEKDE、Unity 或 LXDE 桌面环境(DE)进行识别,然后将文件或文件夹安全地移动到默认垃圾箱 $HOME/.local/share/Trash/files,如果没有此目录则会在您的主目录中创建垃圾箱文件夹 $HOME/Trash。

saferm.sh 脚本目前托管在 Github 中,可以按照下面的命令获取改脚本。

$ git clone https://github.com/lagerspetz/linux-stuff $ sudo mv linux-stuff/scripts/saferm.sh /bin $ rm -Rf linux-stuff

在 .bashrc 文件中设置别名,

alias rm=saferm.sh

执行下面的命令使其生效,

$ source ~/.bashrc

一切就绪,现在你可以执行 rm 命令,自动将文件移动到”垃圾桶”,而不是永久删除它们。

测试一下,我们将删除一个名为 magi.txt 的文件,命令行明确的提醒了 Moving magi.txt to $HOME/.local/share/Trash/file。

$ rm -rf magi.txt Moving magi.txt to /home/magi/.local/share/Trash/files

也可以通过 ls 命令或 trash-cli 进行验证。

$ ls -lh /home/magi/.local/share/Trash/files Permissions Size User Date Modified Name .rw-r--r-- 32 magi 11 Oct 16:24 magi.txt

或者我们可以通过文件管理器界面中查看相同的内容。

(LCTT 译注:原文此处混淆了部分 trash-cli 的内容,考虑到文章衔接和逻辑,此处略。)

要了解 saferm.sh 的其他选项,请查看帮助。

$ saferm.sh -h This is saferm.sh 1.16. LXDE and Gnome3 detection. Will ask to unsafe-delete instead of cross-fs move. Allows unsafe (regular rm) delete (ignores trashinfo). Creates trash and trashinfo directories if they do not exist. Handles symbolic link deletion. Does not complain about different user any more. Usage: /path/to/saferm.sh [OPTIONS] [--] files and dirs to safely remove OPTIONS: -r allows recursively removing directories. -f Allow deleting special files (devices, ...). -u Unsafe mode, bypass trash and delete files permanently. -v Verbose, prints more messages. Default in this version. -q Quiet mode. Opposite of verbose.

- EOF -

图文:龙小

排版:龙小

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CPP开发前沿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
智能合约:Ethernaut题解(四)
题目声明了 Building 接口中的那个 isLastFloor 函数,我们可以自己编写
yichen
2020/05/24
9010
Ethernaut闯关录(中)
前面是个构造函数,把owner赋给了合约的创建者,照例看了一下这是不是真的构造函数,确定没有问题,下面一个changeOwner函数则检查tx.origin和msg.sender是否相等,如果不一样就把owner更新为传入的_owner。
Al1ex
2021/07/21
7420
Ethernaut闯关录(中)
智能合约:Ethernaut题解(五)
目标:现在手里有一些代币,但是十年之后才能转走,先办法转走他们,使得你合约中的代币为 0
yichen
2020/05/25
8400
智能合约:Ethernaut题解(五)
Ethernaut WriteUp 更新到22题 Shop
网上有几篇WP了,但是有的题目短缺,有的不够详细,有的POC,MagicNumber题目更新后是过不了的~~虽说我这里也不可能做到最详细,但是综合起来看的话,应该会好一些。下面是本篇WP参考到的文章,感谢。
xuing
2019/10/19
1.8K0
智能合约:Ethernaut题解(三)
一开始是这样的,初始合约是 20,当我们转一个比 20 大的数的时候 20-_value 就会下溢
yichen
2020/05/25
1.2K0
Ethernaut闯关录(上)
Ethernaut(https://ethernaut.zeppelin.solutions/)是一个类似于CTF的智能合约平台,集成了不少的智能合约相关的安全问题,这对于安全审计人员来说是一个很不错的学习平台,本篇文章将通过该平台来学习智能合约相关的各种安全问题。
Al1ex
2021/07/21
1.8K0
Ethernaut闯关录(上)
以太坊智能合约审计 CheckList
在以太坊合约审计checkList中,我将以太坊合约审计中遇到的问题分为5大种,包括编码规范问题、设计缺陷问题、编码安全问题、编码设计问题、编码问题隐患。其中涵盖了超过29种会出现以太坊智能合约审计过程中遇到的问题。帮助智能合约的开发者和安全工作者快速入门智能合约安全。
Seebug漏洞平台
2018/12/13
1K0
重入攻击概述
以太坊智能合约中的函数通过private、internal、public、external等修饰词来限定合约内函数的作用域(内部调用或外部调用),而我们将要介绍的重入漏洞就存在于合约之间的交互过程,常见的合约之间的交互其实也是很多的,例如:向未知逻辑的合约发送Ether,调用外部合约中的函数等,在以上交互过程看似没有什么问题,但潜在的风险点就是外部合约可以接管控制流从而可以实现对合约中不期望的数据进行修改,迫使其执行一些非预期的操作等。
Al1ex
2021/03/21
1.1K0
以太坊智能合约安全开发建议
请求不可信的合约时可能会引入一些意外风险或错误。在调用外部合约时,外部合约或其依赖的其它合约中可能存在恶意代码。因此,每个外部合约的请求都应该被认为是有风险的。如必须请求外部合约,请参考本节中的建议以最大程度的减小风险。
Tiny熊
2020/12/29
1.2K0
Paradigm-CTF 代理合约漏洞
这是Paradigm公司开放的夺旗系列之金库,题目也是由Samczsun出的。前段时间刚学习了代理合约,这道题目就会分析代理合约的漏洞,以及如何利用该漏洞来攻破该合约。本文属于原创文章,转发请联系作者。
Tiny熊
2021/07/14
1K0
第四课 以太坊开发框架Truffle从入门到实战
Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下:
辉哥
2018/08/10
1.4K0
第四课 以太坊开发框架Truffle从入门到实战
safeSendLp逻辑设计安全分析
上周五一位好朋友在做合约审计时遇到一个有趣的函数safeSendLp,之所以说该函数有趣是因为感觉该函数存在问题,却又觉得该函数业务逻辑正常,遂对其进行简单调试分析~
Al1ex
2021/07/21
7410
safeSendLp逻辑设计安全分析
权限校验错误
tx.origin是Solidity的一个全局变量,它遍历整个调用栈并返回最初发送调用(或事务)的帐户的地址,在智能合约中使用此变量进行身份验证可能会使合约受到类似网络钓鱼的攻击。
Al1ex
2021/07/21
1.6K0
HCTF2018智能合约两则Writeup
这次比赛为了顺应潮流,HCTF出了3道智能合约的题目,其中1道是逆向,2道是智能合约的代码审计题目。
LoRexxar
2023/02/21
4010
HCTF2018智能合约两则Writeup
【区块链安全】技术小白如何做到让一行代码值64亿元?
2018年4月24日,又一件突发性事件引爆了币圈!刚刚发行了才两个月的“美链 Beauty Chain” (简称BEC)在受到黑客的攻击的影响下直接归零了!黑客使用的是以太坊ERC-20智能合约BatchOverFlow数据溢出的漏洞,向两个地址转出了数量巨大的BEC代币!黑客先是试探性地往Okex中转100万的BEC,发现成功转入卖出后,又分两次转入了一千万的BEC。发现两次都成功,黑客变得更加大胆,便转入了一亿枚BEC。但这1亿枚 BEC转入后,OKEx已经发现问题并停止了BEC的交易。按照转入记录,预计黑客已经卖出了最少 1100万枚BEC,折合昨日售价约一千八百多万人民币。
辉哥
2018/08/10
9370
【区块链安全】技术小白如何做到让一行代码值64亿元?
以太坊合约审计 CheckList 之“以太坊智能合约编码隐患”影响分析报告
在知道创宇404区块链安全研究团队整理输出的《知道创宇以太坊合约审计CheckList》中,我们把超过10个问题点归结为开发者容易忽略的问题隐患,其中包括“语法特性”、“数据私密性”、“数据可靠性”、“gas消耗优化”、“合约用户”、“日志记录”、“回调函数”、“Owner权限”、“用户鉴权”、 “条件竞争”等,统一归类为“以太坊智能合约编码隐患”。
Seebug漏洞平台
2018/12/11
6100
以太坊合约审计 CheckList 之“以太坊智能合约编码隐患”影响分析报告
智能合约开发中13种最常见的漏洞
在智能合约开发过程中,确实存在多种类型的漏洞,这些漏洞可能导致资金损失、合约功能失效或被恶意利用。以下是智能合约开发中常见的漏洞类型:
终有链响
2024/07/29
7180
solidity代码功能模块
这个合约是一个librray,只有一个函数isContract,且被声明为internal view.internal 限制这个函数只能由import这个合约内部使用;view 声明这个函数不会改变状态
rectinajh
2022/05/20
6110
智能合约安全审计之路-拒绝服务漏洞
核心问题:智能合约中的拒绝服务是一个致命的漏洞,因为漏洞导致的拒绝服务一般为永久性的,无法恢复
字节脉搏实验室
2020/03/31
1.6K0
以太坊蜜罐智能合约分析
在学习区块链相关知识的过程中,拜读过一篇很好的文章《The phenomenon of smart contract honeypots》,作者详细分析了他遇到的三种蜜罐智能合约,并将相关智能合约整理收集到Github项目smart-contract-honeypots。
Seebug漏洞平台
2018/07/12
1.2K0
相关推荐
智能合约:Ethernaut题解(四)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档