前言:相信很多朋友都遇到过在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命令防止误删除的更多相关文章

  1. 将linux下的rm命令改造成移动文件至回收站【转】

    转自:http://blog.csdn.net/a3470194/article/details/16863803 [-] 将linux下的rm命令改造成移动文件至回收站 将AIX下的rm命令改造成移 ...

  2. 将linux下的rm命令改造成移动文件至回收站

    将linux下的rm命令改造成移动文件至回收站 rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有 ...

  3. 将linux下的rm命令改造成mv到指定的目录下

    rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单#rm -rf ./*这没什 ...

  4. linux下修改history命令保存条数

    在linux系统下.history命令会保存多少条命令呢?曾在一本书上说,如果注销系统,那么会将所有的历史命令都定入到~/.bash_history, 但只保留1000条命令(这个是由默认的shell ...

  5. 【Linux下禁用rm命令之建立回收站】

    第一步 创建回收站目录 # 根据自己的习惯,找个位置创建一个用作回收文件的目录 # 我们这里将在root目录下面创建一个名为".trash"的隐藏文件 [root@fedora ~ ...

  6. 替换linux下的rm命令,并对-rf进行判断

    补充了对根目录,以及-r -rf -f的判断 1.使用root用户在/usr/local目录创建.rmov.sh #!/bin/shPARA_CNT=$#TRASH_DIR="/data01 ...

  7. [转] 关于linux下通过shell命令(自动)修改用户密码

    关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自 ...

  8. Linux下使用date命令查看和修改时间

    1.查看系统时区和时间,执行命令date -R “-0500”代表西五区(America/New_York),北京的时区为“+0800”(东八区). 2.查看硬件时间,执行命令hwclock --sh ...

  9. linux 下用find命令查找文件,rm命令删除文件

    linux 下用find命令查找文件,rm命令删除文件. 删除指定目录下指定文件find 要查找的目录名 -name .svn |xargs rm -rf 删除指定名称的文件或文件夹: find -t ...

随机推荐

  1. 【物联网云端对接-4】通过MQTT协议与百度云进行云端通信

    百度云的天工物联网服务目前包括:物接入.物解析.物管理.时序数据库和规则引擎等5大部分,本篇文章仅介绍物接入. 天工物联网的物接入,从开发者的角度来说相对有些复杂,需要多步操作才能实现一个云设备的创建 ...

  2. 连上Wi-Fi 热点自动弹窗的实现方法

    当我们连上某个热点, 自动弹出登录窗口的专业名称叫做: Captive portal 原理, 实现方式有三种 1 : dns 跳转, 在热点上面实现配置, 把所有dns请求返回都配置为:服务器地址 : ...

  3. javascript 实现字符串反转的两种方法

    第一种方法:利用数组方法 //先split将字串变成单字数组,然后reverse()反转,然后将数组拼接回字串 var str = "abcdef"; str.split(&quo ...

  4. MarkdownPad2的密钥

    MarkdownPad2的密钥 经本人试用 邮箱: Soar360@live.com 授权秘钥: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDH ...

  5. 理解JavaScript的立即调用函数表达式(IIFE)

    首先这是js的一种函数调用写法,叫立即执行函数表达式(IIFE,即immediately-invoked function expression).顾名思义IIFE可以让你的函数立即得到执行(废话). ...

  6. SQL实现 模糊查询(转)

    在进行数据库查询时,有完整查询和模糊查询之分. 一般模糊查询语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 其中关于条件,SQL提供了四种匹配模式: 1,% :表示任 ...

  7. jenkins 邮件抄送

    只需要在邮箱中发送列表Project Recipient List中加上cc即可

  8. JavaScript 学习笔记 - LocalStorage

    前言 本文主要介绍本地存储的基本使用,以及它和 Cookie.SessionStorage 的区别. 简单回顾 Cookie 在 HTML5 之前,本地存储数据一般是通过 Cookie 来完成的.我们 ...

  9. jboss初体验

    本人电脑的java版本是java8,而jboss的版本最多支持到java7.x,导致启动jboss7,在浏览器无法访问localhost:8080. 于是我查找百度,发现jboss8其实就是wildf ...

  10. 增强遍历和Object多参数遍历

    public class T2 { public void t1(Object o){//Object是任何类型,多态 System.out.println(o.toString()); } publ ...