linux下修改rm命令防止误删除
前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾。那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用。
第一步:
先在home目录下创建一个叫username名字的目录(当然名字可以自定义),具体命令为:sudo mkdir username(自定义的名字)
这时候记得要用命令:sudo chmod 777 username(自定义的名字)来改变一下你的目录权限,因为在home目录下刚创建的目录是没有执行权限的。
第二步:
进到username目录下,命令为:cd username ,接着在username 目录下创建两个目录分别为trash和tools这两个名字都可以自定义的,当然也要改一下权限,方法和上面的一样。
第三步:
进到tools目录下,方法在第二步已经讲过了,在里面创建一个shell文件叫remove.sh(名字也可自定义,但是后缀必须是.sh),具体命令为:touch remove.sh,这时shell文件一般都是有执行权了的,没有的话再用命令:sudo chmod 777 remove.sh改一下权限。
第四步:
接着在刚才创建好的shell文件remove.sh中写上代码:
PARA_CNT=$#
TRASH_DIR="/home/username/trash" //如果你是自定义目录名的话,这里一定要改成你自定义的目录名
for i in $*; do
STAMP=$i
mv $i $TRASH_DIR/.$STRMP
done
第五步:
接着用命令:vi ~/.bashrc打开~/.bashrc文件到最后加上这句代码:alias rm="/home/username/tools/remove.sh",如果你的目录名字是自定义的话这里一定要改成你自己的名字,接着保存退出。
第六步:
用命令:source ~/.bashrc重启一下就好了。
这时候就把rm命令改成了mv一样的作用,你在使用rm命令的时候就会把你删除的文件移动到trash目录下了,如果你不小心把文件误删了就可以到trash目录下找回来了。
当然如果你要彻底删除这些文件的话可以直接用命令:sudo rm [文件名/目录名],这样这些文件就不会被移动到trash目录下了。
如果你想清理trash目录下的文件很简单,进到trash目录后,直接执行命令:sudo rm *,这样就可以清空trash目录下所有的文件了。
如果你实在是很懒的话,那还是让它自动定时清空trash目录中的东西吧,具体操作如下:
先用命令:cd /etc/ 进到etc目录下,你会看到里面有个叫crontab的文件,先用命令:sudo chmod 777 crontab 改一下crontab文件的权限先,不然等下修改不了里面的代码。接着打开crontab文件,命令为:vi crontab 直接在最后面加上这句代码:
* * * rm -rf/home/username/trash/* //如果你的名字跟我的不一样,那就改成你自己的
这句话的意思是每天的0时0分清空trash目录。
接着重复一下第六步就大功告成了。这时候就会每天帮你自动清空trash目录了,当然你也可以手动清空,上面已经讲过了。
linux下修改rm命令防止误删除的更多相关文章
- 将linux下的rm命令改造成移动文件至回收站【转】
转自:http://blog.csdn.net/a3470194/article/details/16863803 [-] 将linux下的rm命令改造成移动文件至回收站 将AIX下的rm命令改造成移 ...
- 将linux下的rm命令改造成移动文件至回收站
将linux下的rm命令改造成移动文件至回收站 rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有 ...
- 将linux下的rm命令改造成mv到指定的目录下
rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单#rm -rf ./*这没什 ...
- linux下修改history命令保存条数
在linux系统下.history命令会保存多少条命令呢?曾在一本书上说,如果注销系统,那么会将所有的历史命令都定入到~/.bash_history, 但只保留1000条命令(这个是由默认的shell ...
- 【Linux下禁用rm命令之建立回收站】
第一步 创建回收站目录 # 根据自己的习惯,找个位置创建一个用作回收文件的目录 # 我们这里将在root目录下面创建一个名为".trash"的隐藏文件 [root@fedora ~ ...
- 替换linux下的rm命令,并对-rf进行判断
补充了对根目录,以及-r -rf -f的判断 1.使用root用户在/usr/local目录创建.rmov.sh #!/bin/shPARA_CNT=$#TRASH_DIR="/data01 ...
- [转] 关于linux下通过shell命令(自动)修改用户密码
关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自 ...
- Linux下使用date命令查看和修改时间
1.查看系统时区和时间,执行命令date -R “-0500”代表西五区(America/New_York),北京的时区为“+0800”(东八区). 2.查看硬件时间,执行命令hwclock --sh ...
- linux 下用find命令查找文件,rm命令删除文件
linux 下用find命令查找文件,rm命令删除文件. 删除指定目录下指定文件find 要查找的目录名 -name .svn |xargs rm -rf 删除指定名称的文件或文件夹: find -t ...
随机推荐
- 【物联网云端对接-4】通过MQTT协议与百度云进行云端通信
百度云的天工物联网服务目前包括:物接入.物解析.物管理.时序数据库和规则引擎等5大部分,本篇文章仅介绍物接入. 天工物联网的物接入,从开发者的角度来说相对有些复杂,需要多步操作才能实现一个云设备的创建 ...
- 连上Wi-Fi 热点自动弹窗的实现方法
当我们连上某个热点, 自动弹出登录窗口的专业名称叫做: Captive portal 原理, 实现方式有三种 1 : dns 跳转, 在热点上面实现配置, 把所有dns请求返回都配置为:服务器地址 : ...
- javascript 实现字符串反转的两种方法
第一种方法:利用数组方法 //先split将字串变成单字数组,然后reverse()反转,然后将数组拼接回字串 var str = "abcdef"; str.split(&quo ...
- MarkdownPad2的密钥
MarkdownPad2的密钥 经本人试用 邮箱: Soar360@live.com 授权秘钥: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDH ...
- 理解JavaScript的立即调用函数表达式(IIFE)
首先这是js的一种函数调用写法,叫立即执行函数表达式(IIFE,即immediately-invoked function expression).顾名思义IIFE可以让你的函数立即得到执行(废话). ...
- SQL实现 模糊查询(转)
在进行数据库查询时,有完整查询和模糊查询之分. 一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,% :表示任 ...
- jenkins 邮件抄送
只需要在邮箱中发送列表Project Recipient List中加上cc即可
- JavaScript 学习笔记 - LocalStorage
前言 本文主要介绍本地存储的基本使用,以及它和 Cookie.SessionStorage 的区别. 简单回顾 Cookie 在 HTML5 之前,本地存储数据一般是通过 Cookie 来完成的.我们 ...
- jboss初体验
本人电脑的java版本是java8,而jboss的版本最多支持到java7.x,导致启动jboss7,在浏览器无法访问localhost:8080. 于是我查找百度,发现jboss8其实就是wildf ...
- 增强遍历和Object多参数遍历
public class T2 { public void t1(Object o){//Object是任何类型,多态 System.out.println(o.toString()); } publ ...