linux系统回收站功能的实现

如何实现linux系统的回收站功能,对rm权限做限制,避免误删造成不可逆问题。

这就要靠环境变量去实现,首先需要了解环境变量的作用。

/etc/profile,/etc/bashrc 是系统全局环境变量设定
~/.profile,~/.bashrc用户家目录下的私有环境变量设定
当登入系统时候获得一个shell进程时,其读取环境设定档有三步
1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如
/etc/profile.d和/etc/inputrc
2然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取
~/.profile,这三个文档设定基本上是一样的,读取有优先关系
3然后在根据用户帐号读取~/.bashrc
至于~/.profile与~/.bashrc的不区别
都具有个性化定制功能
~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

以下是具体操作步骤:

初始化linux系统时,执行以下操作:

  1. 修改系统环境变量,在bashrc文件地步添加以下内容

vi /etc/bashrc

HISTFILESIZE=5000               #设置历史文件大小
HISTSIZE=5000                   #设置历史文件保存条数
HISTTIMEFORMAT="%Y%m%d %T "     #设置历史文件格式(以时间命名)
#回收站定义部分
alias rm=trash                  #将rm取别名trash
alias lr=‘ls /home/huishouzhan‘ #定义lr别名查看/home/huishouzhan文件夹
alias ur=undelfile              #定义还原别名
undelfile()                     #定义还原函数
{
  mv -i /home/huishouzhan/[email protected] ./    #将回收站内容以致当前目录,用于还原,-i不询问yes no
}
trash()                         #定义删除函数
{
  mv [email protected]  /home/huishouzhan/     #将rm的文件mv至回收站  $?表示该文件
}
cleartrash()                    #清除回收站内容函数
{
    read -p "clear sure?[n]" confirm                        #做判断,是就清空回收站。
    [   == ‘y‘ ] || [   == ‘Y‘ ]  && /bin/rm -rf /home/huishouzhan/* && echo "clear ok!"
}

最后执行source /etc/profile,刷新系统环境变量,或退出终端重新登录。

最后效果如下

至此,一个linux简单回收站搭建完成。

时间: 2024-08-07 18:06:46

linux系统回收站功能的实现的相关文章

Python模拟实现Linux系统unix2dos功能

目标 1.Linux系统与windows系统文件系统换行符问题 2.实现unix文件转换成dos文件格式 1.Linux系统与windows系统文件系统换行符 ?关于回车|换行的来历 在计算机还没有出现之前,有一种电传打字机(Teletype Model 33),每秒钟可以打10个字符.但是它存在一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.如果在这0.2秒里面,又有新的字符传过来,那么新传过来的这个字符将丢失.于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表

Linux基础-Linux系统回收站

rm / mv : 自己做一个回收站 --思路 cd mkdir .recycle # 隐藏文件夹 .recycle mv .txt .recycle/ # 把想要删除的文件移动到.recycle当中 通过定时任务定期清除 .recycle 文件夹中的内容 或者rm -rf ./recycle/ --回收站示例 !/bin/bash alias rm='mv' if [-f /tmp/.recycle] then echo ".recycle is CUNZAI" else touch

Linux系统运维与架构设计

一 本章概览 介绍Linux系统运维与架构设计的方方面面 二 Linux基础入门 认识计算机核心硬件和服务器 Linux发展历史.系统组成.应用领域以及发行版 搭建运维环境:VMWareWorkStation.SecureCRT的使用 Linux系统的基本使用 Shell入门以及命令概述 三 Linux系统管理 文件目录管理 用户管理 权限管理 VIM编辑器的使用 文档压缩打包 程序包管理 网络管理 文件系统管理 内存管理 系统管理(监控.环境变量) 安全管理(selinux,iptables)

《Linux系统基础》课堂随笔3 7.20

Esc+.(句号):快速书写上次已经写过的路径 命令行查看的几种命令: cat : tac:(cat的倒写) more : 分页显示文本文件 单向   [常和管道符一起用] less:分页显示文本文件 能翻页 q键退出 head:快速查看前10行(系统默认) tail :快速查看后10行(系统默认) 例:[[email protected] ~]# cat  /etc/passd [[email protected] ~]# more [esc+.]/etc/passd 第11章 用户和群组账号

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

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

如何关闭linux系统中的覆盖输出重定向(>)功能

一.问题描述 我们在进行文件操作时经常会用到覆盖输出重定向(>),追加输出重定向(>>),很明显的看出两种输出重定向的符号相差不是很大,但是两种的意义却又很大的差别:前者是会覆盖文件的内容的,而后者并不会覆盖文件的内容!我们在使用追加输出重定向时极有可能由于自己的不小心而使用覆盖重定向,从而导致文件内容的丢失,但是linux系统还是可以解决这种问题的. 二.问题演示 [[email protected]~]# echo "cangls" > /root/test

Linux系统中cgroup功能介绍

1  Cgroups简介 1.1 What are cgroups ? Cgroups(控制组)是Linux内核的一个功能,用来限制.统计和分离一个进程组的资源(CPU.内存.磁盘输入输出等).换句话说就是,如果一个进程加入了某一个控制组,该控制组对Linux的系统资源都有严格的限制,进程在使用这些资源时,不能超过其最大的限制数,例如:memory资源,如果加入控制组的进程使用的memory大于其限制,可能会出现OOM错误(关于OOM错误可参看Linux内核OOM机制分析).cgroup本身提供

【Linux基础】Linux系统默认目录功能简介

以下用一个表格来罗列linux默认的目录或文件及其用途: 目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - /bin 该目录存放着系统最常用的最重要的命令,相当于DOS下的内部命令,只不过它们是以独立的文件形式存在.比如:ls.cp.mkdir等命令.这个目录中的文件都是可执行的并且是普通用户都可以使用的命令.作为系统最基础的命令都放在这里. binary /usr 该目录是系统存放程序的地方,比如普通命令

浅谈编译kernel+busybox构建拥有远程ssh登录和web功能最小linux系统

实验环境win7+VM11.1 本文的源码的版本了 dropbear-2013.58.tar.bz2    busybox-1.21.1.tar.bz2 linux-3.13.6.tar.xz  nginx-1.4.7 大致过程总揽 1,硬件准备以及查看硬件设备型号(不用担心,这些都是VM虚拟出来的) 2,编译环境的配置以及下载内核源码以及编译内核 3,编译busybox,以及提供系统正常运行的配置文件,初步运行linux系统 4,编译安装dropbear提供ssh服务 5,安装nginx:提供