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 ...
随机推荐
- 编译器报错:'IHTMLControlElement' : redefinition
由于我安装了platform SDK,编译导致错误: error C2367: 'IHTMLControlElement' : redefinition; different uuid specifi ...
- Windows MDI(Multiple-Document Interface)
Windows多文档窗口编程中,需要注意的以下几点: 1.主窗口与文档窗口之间还有一个Client Window. 2.创建文档窗口.通常认为创建子窗口就用CreateWindow,但是MDI中创建文 ...
- html table中单元格自动换行
table中单元格自动换行样式: table-layout: fixed; word-wrap: break-word; table-layout 可能的值(IE不支持inherit属性) 值 描 ...
- 10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用
创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 来创建,其优点是简单方便,但需要安装最新版本Visual Studio 2017 prev ...
- C语言 进程控制---创建进程fork()函数
#include "sys/types.h" #include "stdio.h" #include "stdlib.h" #include ...
- centos 创建用户组及用户
用户及用户组存放文件 1./etc/passwd 其中每一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下: [cpp] view plaincopyprint?在CO ...
- 鸟瞰spring
一.spring框架概述: Spring框架主要提供了Ioc容器.AOP.数据访问.Web开发.消息.测试等相关技术的支持. 1.Spring的模块 1)核心容器 Spring-Core:核心工具类, ...
- 总结找到后台路径的N总思路方法
1, 穷举猜解 现如今可以暴力猜解网站后台登陆地址的软件有很多,从最早的啊D注入工具开始,一直到现在很多常用的工具(通常为SQL注入利用工具)都会带有后台登陆地址猜解的功能. 当然了,这个猜 ...
- Vue-上拉加载与下拉刷新(mint-ui:loadmore)一个页面使用多个上拉加载后冲突问题
所遇问题: 该页面为双选项卡联动,四个部分都需要上拉加载和下拉刷新功能,使用的mint-ui的loadmore插件,分别加上上拉加载后,只有最后一个的this.$refs.loadmore.onTop ...
- Ext.Ajax.request
function create(){ var itstate = $("#myselect").val(); Ext.Ajax.request({ url: '/servlet/A ...