【打工日常】Linux实现可回滚的回收站功能

1.为什么创建可回滚的回收站功能?

为了让运维人员可以有回旋的余地,但是也要保证可以清理不需要的文件。

2.涉及到的文件安全概念?

Linux的文件安全概念主要涉及到文件权限和文件系统安全两个方面。 那什么是文件权限?

在Linux系统中,每个文件(或目录)都包含有访问权限,这些权限决定了谁能访问以及如何访问这些文件。而Linux中有三种用户类型,包括文件宿主(创建该文件的用户)、同组用户(拥有该文件的用户组中的任何用户)以及每种用户都有读写执行的权限。

这些权限可以通过“ls -l”命令查看,命令输出结果中的第2至10位表示权限,其中9个字母分成3组,分别代表属主权限、属组权限和其他权限。

Linux文件系统中,用户可以分为三种类型:普通文件、目录文件、特殊文件(包括符号链接文件、设备文件、管道文件、socket文件等)。普通文件不包含有文件系统的结构信息,如图形文件、数据文件、文档文件、声音文件等都属于这种文件。目录文件则用于存放文件名及其相关信息,是内核组织文件系统的基本节点。

为了维护文件系统的安全,Linux还提供了一系列的文件和目录操作命令,如chmod、chown、chgrp等,用于修改文件或目录的权限、属主和属组等信息。这些命令可以更好地控制文件和目录的访问权限,从而提高系统的安全性。

3.部署安装可回滚的回收站

a.在root目录创建一个文件夹,用来保存删除的文件

mkdir -p ~/.Recycle_bin

b.修改.bashrc文件

vim ~/.bashrc

c.在.bashrc文件后面添加下面这些

alias de=Recycle_bin
alias dl='ls ~/.Recycle_bin'
alias dr=undelfile
undelfile()
{
mv -i ~/.Recycle_bin/$@ ./
}
Recycle_bin()
{
mv $@ ~/.Recycle_bin/
}
clearall()
{
read -p "Clear Recycle_bin?[n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.Recycle_bin/*
}

d.执行source命令生效

`source ~/.bashrc`

4.使用可回滚的回收站

你现在可以使用
de(删除)
dr(撤销)
dl(列出回收站)
cleardall(清空回收站)命令了。

删除一个文件夹,123下面的文件均被移到回收站中
de 123

删除一个文件321.txt
de 321.txt

撤销一个文件321.txt
dr 321.txt

撤销123文件夹
dr 123

列出回收站
dl

清空回收站
clearall

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/435201.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数学建模【整数规划】

一、整数规划简介 整数规划其实是线性规划和非线性规划的一个特殊情况,即有的变量取值只能是整数,不能是小数。这时候就需要一个新的函数来解决问题。 对于整数规划,分为线性整数规划和非线性整数规划 线性整数规划:MATLAB可进…

VS2022打包C#安装包(最新、最全)

开发c#的一个小工具到打包环境碰壁了,在网上找了很多资料耶踩了很多坑,耗时1hour才打包完毕,避免以后碰到类似的问题再次记录,自认为步骤比较全面,如果有帮助麻烦点个赞呗!!! 一、Mi…

MATLAB知识点:循环语句的经典练习题

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自​第4章:MATLAB程序流程控制 下面我们来看…

代码随想录(day1)

1. 二分查找: 704. 二分查找 - 力扣(LeetCode) 对于二分查找的思想较为简单,具体如下: 假设寻找的值为,分别定义两个变量,其中,。 再定义一个变量,如果,表示需要查找的元…

灵魂指针,教给(一)

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看,已成习惯 创作不易,多多支持! 一、内存和地址 1.1 内存 在介绍知识之前,先来想一个生活中的小栗子: 假如把你放在一个有100间屋子的酒店…

flutter_gen依赖

flutter_gen 5.4.0 flutter项目内终端: dart pub global activate flutter_gen export PATH“ P A T H " : " PATH":" PATH":"HOME/.pub-cache/bin” fluttergen

为 OpenBMC 添加一个新的系统

1. 前言 在上一篇文章中向大家介绍了 OpenBMC 的是什么以及它的作用和应用场景,并且以一个自带的示例平台 romulus 展示了从下载源码包开始到启动系统并访问 Web 控制页面的整体构建流程。 通过前文已经了解到如何为已有的平台构建系统镜像,下面我们来…

AcWing 1027. 方格取数

解题思路 相关代码 import java.util.Scanner;public class Main {public static void main(String[] args){Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int nums[][] = new int[n+1][n+1];while(true){int a = scanner.nextInt();int b = scanner.…

1.初识python

1.初识python 编程语言是用来定义计算机程序的语言,用来向计算机发出指令。 1.python语言是一种面向对象的解释型高级编程语言。 解释型语言:使用专门的解释器对源码程序逐行解释成特定平台的机器并立即执行,是代码在执行时才被解释器一行行…

数据库(mysql)-新手笔记-基本知识点(1)

基本概念 数据库 Database :存储数据的容器 表 Table : 在数据库中存储的基本结构,它由行和列组成 行 Row : 表中的一条记录 列 Column : 表中的字段,定义了数据的类型和约束 数据类型 数据值 如 INT(整型),FLAOT(浮点型) ,DECIMAL (精确小数点) 字符串 如 VARCHAR(可变长度字…

Redis报错NOAUTH Authentication required怎么解决?

问题描述 在使用redis-cli时,可能会遇到报错 (error) NOAUTH Authentication required. 问题分析 这是因为在redis的配置文件 redis.windows-service.conf 中设置了密码,导致了这个问题 问题解决 1. 在redis.windows-service.conf文件查看密码 2. 输…

苹果曝出两个 iOS 系统 0-Day 漏洞

最近,苹果公司发布了紧急安全更新,解决了两个 iOS 零日漏洞。这些漏洞存在于 iOS 内核(CVE-2024-23225)和 RTKit(CVE-2024-23296)中,威胁攻击者可利用其绕过内核内存保护,这就给了具…

[R] ggplot2 - exercise (“fill =“)

We have made the plots like: Lets practice with what we have learnt in: [R] How to communicate with your data? - ggplot2-CSDN博客https://blog.csdn.net/m0_74331272/article/details/136513694 #tutorial 5 -script #Exercise 1 #1.1# ggplot(smoking_and_drug_use_…

20 easy 70. 爬楼梯

//假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 // // 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? // // // // 示例 1: // // //输入:n 2 //输出:2 //解释:有两种方法可以爬到楼顶。 /…

electron 架构

文章目录 Chromium 架构Electron 架构 Chromium 架构 主体架构:主进程 Browser,打开一个页面就会启动一个 Render 渲染进程,进程间通信就是 IPC 机制(Inter-Process Communication)。 主进程的 RenderProcessHost 和 R…

算法 - 【受限条件下可到达节点的数目】

受限条件下可到达节点的数目 题目示例1示例2 分析代码 题目 现有一棵由 n 个节点组成的无向树,节点编号从 0 到 n - 1 ,共有 n - 1 条边。给你一个二维整数数组 edges ,长度为 n - 1 ,其中 edges[i] [ai, bi] 表示树中节点 ai 和…

【通信原理笔记】【一】确定信号分析——1.4 信号的功率谱与能量谱

文章目录 前言一、功率谱与能量谱1. 从频域求能量说起2. 再聊聊密度3. 单边能量谱与带宽3.1 实信号的共轭对称性3.2 单边谱与带宽 二、信号的相关函数1. 说回到时域分析 总结 前言 上一篇我们学习了信号的功率与能量,现在我们继续深入,探讨一下信号的功…

Pytorch学习 day04(Totensor、Normalize、Resize、Compose)

Totensor 把一个PIL格式的图片,或者ndarray格式的图片转换为tensor格式使用方法,如下: from PIL import Image from torchvision import transforms from torch.utils.tensorboard import SummaryWriterimg Image.open("images/00130…

Redis 面试题

Redis 基础 什么是 Redis? Redis (Remote Dictionary Server) 本质上是一个 Key-Value 类型的内存数据库,很像 memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯…

【二】【SQL Server】如何运用SQL Server中查询设计器通关数据库期末查询大题

教学管理系统201703153 教学管理系统数据库展示 成绩表展示 课程表展示 学生表展示 院系表展示 一、基本操作 设置复合主键 设置其他表的主键 设置字段取值范围 二、简单操作 第一题 第二题 第三题 第四题 结尾 最后,感谢您阅读我的文章,希望这些内容能…