Linux创建垃圾回收站,解决误删操作的烦恼

Linux创建垃圾回收站,解决误删操作的烦恼 --delete安全的删除命令

废话少说直接进入主题

1、创建一个简单的delete命令脚本(因阿诺的英语太渣所用的中文字符集)

[[email protected] ~]# vim delete
#!/bin/bash
#只为一诺
#将删除的文件回收到家目录下的回收站--hsz

hsz=~/hsz
if [ ! -d $hsz ]
then
        mkdir $hsz
fi

if [ $# -eq 0 ]
then
        echo "提示用法: delete file1 ..."
else
        echo -n "您确定要删除 [email protected] 吗? [Y/n]:"
        read reply
        if [ "$reply" == "y" ] || [ "$reply" == "Y" ]
        then
                for file in [email protected]
                do
                        if [ -f "$file" ] || [ -d "$file" ]
                        then
                                mv -b $file  $hsz/ && echo "删除成功"
                        else
                                echo "$file: 您删除的文件不存在"
                        fi
                done
        elif [ "$reply" == "n" ] || [ "$reply" == "N" ]
        then
                echo "已取消删除"
                exit 0
        else
                echo "错误的选项"
        fi
fi

2、给脚本添加执行权限

[[email protected] ~]# chmod +x delete

3、把脚本送到/bin/目录下

[[email protected] ~]# cp delete /bin/

4、为了rm的误删给它定义给别名

[[email protected] ~]# vim /etc/bashrc      --在这目录下定义全局生效
alias rm=‘echo "要删除文件或目录请执行delete命令"‘       --在最后面加上这句参数

[[email protected] ~]# source /etc/bashrc       --修改了配置文件记得重新加载下

5、进行测试

[[email protected] ~]# touch anuo
[[email protected] ~]# rm anuo -f
要删除文件或目录请执行delete命令 anuo -f
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:n
已取消删除
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:aaa
错误的选项
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:y
删除成功
[[email protected] ~]# mkdir anuo
[[email protected] ~]# rm anuo -rf
要删除文件或目录请执行delete命令 anuo -rf
[[email protected] ~]# delete anuo
您确定要删除 anuo 吗? [Y/n]:y
删除成功
[[email protected] ~]# ls
anaconda-ks.cfg  hsz
[[email protected] ~]# ls hsz/
anuo  anuo~
[[email protected] ~]# 

经测试已成功,后期如果回收站里文件太多了可以用重定向的方式清空回收站文件或者做个定时任务定时的清空也是可以的。

原文地址:http://blog.51cto.com/13744837/2120034

时间: 2024-11-06 09:46:48

Linux创建垃圾回收站,解决误删操作的烦恼的相关文章

linux创建用户并赋予用户操作文件夹权限

创建用户 root用户登陆 cd /home 切换到home目录 ls查看现有用户 useradd xxx 添加用户名 passwd xxx 为用户添加密码 2.给用户赋予操作某文件夹的权限 在root用户登录的情况,赋予opt目录给liuhai这个用户权限 示例代码: # 将目录/opt 及其下面的所有文件.子目录的owner用户改成 liuhai chown -R liuhai:liuhai /opt #给目录opt设置权限 chmod 760 /opt 备注: r表示可读--4分,w表示可

SQL_server2000以前的某个程序安装已在安装计算机上创建挂起的文件操作 解决办法

以前装过sql server,后来删掉.现在重装,却出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机”错误.无法进行下去. 参考网上资料,总算搞定.步骤是: 1)添加/删除程序中彻底删除sql server. 2)将没有删除的sql server目录也删除掉. 3)打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRen

云服务器 ECS Linux 系统添加“回收站”

删除是危险系数很高的操作,一旦误删可能会造成难以估计的损失.在云服务器 ECS Linux 系统中这种危险尤为明显.比如,一条简单的语句:rm –rf /* 就会把整个系统全部删除,而 Linux 并不会因为这条语句的不合理而拒绝执行. 在 Windows 中,为了防止误删,系统默认提供了回收站功能.用户在执行删除操作后,文件并不会直接从硬盘中删除,而是被放到回收站中.在清空回收站前,如果发现有文件被误删,用户可以将回收站中的文件恢复到原来的位置.而 Linux 并没有提供类似功能,删除命令 r

hadoop学习;大数据集在HDFS中存为单个文件;安装linux下eclipse出错解决;查看.class文件插件

sudo apt-get install eclipse 安装后打开eclipse,提示出错 An error has occurred. See the log file /home/pengeorge/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/1342406790169.log. 查看错误日志然后解决 打开log文件,看到以下的错误 !SESSION 2012-07-16 10:46:29.992 --------

linux下MySQL安装登录及操作

linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-client-4.0.16-0.i386.rpm 下载地址为:http://www.mysql.com/downloads/mysql-4.0.html, 打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的

Linux创建私有yum源仓库

创建yum私有库 简述 ? 在Linux系统中安装软件的方法有三种,分别是rpm软件包安装.yum源安装与源代码编译安装,在用rpm软件包安装软件时会经常出现依赖性问题,导致安装繁琐,用源代码编译安装就更不用说了,相信很多小伙伴也都感受过源代码编译安装的各种花样报错,导致精神崩溃,因此我们在Linux操作系统中安装软件的首先方法就是利用yum源安装软件. ? yum是一个基于rpm的软件包管理器,它包含一些命令:查找.安装.删除----软件包.使用yum安装软件包它可以自动查找软件包,包括软件安

Linux下的删除过期文件操作

在实际的软件开发项目中,经常会有实现删除过期文件的需求.即要求程序能够自动删除多长时间之前生成的文件.本文提供了一个示例代码,为相关的开发工作提供了参考. 程序如下(本程序用makefile进行编译): /*********************************************************************** 版权所有 (C)2014, Zhou Zhaoxiong.* * 文件名称: TestFileDelete.c* 内容摘要: 用于演示Linux下过期

Linux创建修改删除用户和组

Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先从用户信息开始分析,可以通过查询/etc/password文件,每一行代表一个用户信息 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin m

(笔记)Linux内核中内存相关的操作函数

linux内核中内存相关的操作函数 1.kmalloc()/kfree() static __always_inline void *kmalloc(size_t size, gfp_t flags) 内核空间申请指定大小的内存区域,返回内核空间虚拟地址.在函数实现中,如果申请的内存空间较大的话,会从buddy系统申请若干内存页面,如果申请的内存空间大小较小的话,会从slab系统中申请内存空间.有关buddy和slab,请参见<linux内核之内存管理.doc> gfp_t flags 的选项