前言:相信很多朋友都遇到过在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. 深入分析动态管理Fragment

    一.Fragment与Activity的关系 要理解动态管理Fragment首先要理解一下Fragment与Activity的关系 Fragment可以理解为将Activity划分为若干个片段,Fra ...

  2. XtraBackup应用说明(支持TokuDB)

    背景: 关于物理备份工具xtrabackup的一些说明可以先看之前写过的文章说明:XtraBackup 安装使用和xtrabackup 使用说明(续),本篇文章将介绍xtrabackup在使用中的注意 ...

  3. Struts2之初识

    Struts2教程 第一章 初识Struts2 主页:http://struts.apache.org/ 优势:用户请求,模块处理,页面展现.适用于企业级开发,便于维护. 配置:web.xml中添加的 ...

  4. MySQL Linux压缩版安装方法

    在诸多开源数据库中,MySQL是目前应用行业,特别是互联网行业发展最好的一个.借助灵活的架构特点和适应不同应用系统场景的Storage Engine,MySQL在很多方面已经有不次于传统商用数据库的表 ...

  5. DesignPatternPrinciple(设计模式原则)二

    设计模式六大原则(5):迪米特法则 定义:一个对象应该对其他对象保持最少的了解. 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大. 解决方案:尽量降低类与类之 ...

  6. PhotoShop CS6安装教程

    PhotoShop CS6安装教程... ===================== 安装包和激活码在最下面: ======================== =================== ...

  7. 借助扩展事件查看SQL 2016备份和还原操作的内幕

    当遇到备份或者还原操作占用较长时间时,很多人会问: 备份/还原是不是僵死了?要不要kill掉,再重来? 到底是哪一个部分的操作占用较长时间? 到底现在进行到什么阶段了? 在SQL 2016 之前,要回 ...

  8. HttpResponseMessage获取请求响应体内容

    问题描述 使用httpClient获取的HttpResponseMessage类型的response,直接对其toString()获取的是请求的响应头,并没有获取响应体的内容 解决办法 HttpRes ...

  9. lnmp架构(第一篇)

    lnmp 架构 第一篇 nginx 源码安装 nginx的安装包:nginx-1.12.0.tar.gz 建议安装前的修改: 在nginx的解压包中修改文件nginx-1.12.0/src/core/ ...

  10. Tornado框架简介

    -------------------简介------------------- 1.概念:     Tornado全称Tornado Web Server,是一个用Python语言写成的Web服务器 ...