Linux下删除文件不像Windows那样,删除文件放入回收站. 而是通过rm 命令删除文件.文件一般无法找回, 就是这种机制,每次带来的都是巨大的教训....为此这里实现一个简易的回收站机制: 功能: rm 删除的文件备份到指定的文件夹 每天定时清理 步骤1 写个shell脚本替换rm命令,或者在需要删除文件的时候使用mv命令将文件移动到回收站....是一个开源软件用来替代不太安全的rm,可以在/etc/safe-rm.conf中配置路径黑名单,定义哪些不能被safe-rm删除 不想删除文件写入/etc/safe-rm.conf, rm删除时会自动跳过 参考 Linux...防止 “rm -rf “误删除 工具参考篇 linux safe-rm safe-rm 官网
前言: linux系统下的rm是不可挽回的,命令设计本身没有问题,问题在于我们通常非常的自信,执行的时候喜欢rm -rf,这样的话就非常危险了,在执行的时候如果执行命令不对,甚至是执行的目录不对,那么将会造成很大的麻烦...,轻则会导致加班加点,浪费人力物力,重则影响公司业务,更甚则有开除之虞,而windows下的回收站机制就是一个非常不错的策略,但linux并不自带,那我们就可以手动创建一个,直接执行就好: mkdir...-p ~/.Trash cat >>~/.bashrc<<EOF #add by caimengzhi at $(date +%F) for Linux trash start alias rm=trash...'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.Trash/* } #add by caimengzhi at $(date +%F) for Linux...使用语法: rm(删除),ur(撤销),rl(列出回收站),cleartrash(清空回收站)命令了。 #删除一个文件夹和文件都会被移动到回收站中。
] && /usr/bin/rm -rf ~/.Deanrash/* } 执行source命令生效 source ~/.bashrc 使用 你现在可以使用rm(删除),ur(撤销),rl(列出回收站...),cleardeanrash(清空回收站)命令了。...删除一个文件夹,helloworld下面的文件均被移到回收站中 rm helloworld 删除一个文件 rm abc.txt 撤销abc.txt ur abc.txt 撤销helloworld文件夹...ur helloworld 列出回收站 rl 清空回收站 cleardeanrash
通过亲身体会到了 rm 的厉害,我不得不在以后的 Linux 维护甚至是生产环境中不得不加上回收站了,希望各位童鞋也能和我一样保持一种有回收站的习惯,切不可因为自己很仔细,抱着侥幸心理,“常在河边走哪有不湿鞋...好了,开始我们的创建回收站之路吧。...rm(删除) ur(撤销) rl(列出回收站) cleartrash(清空回收站) 删除一个文件夹,helloworld下面的文件均被移到回收站中 $rm helloworld 删除一个文件 $rm abc.txt...撤销abc.txt $ur abc.txt 撤销helloworld文件夹 $ur helloworld 列出回收站 $rl 清空回收站 cleartrash 好了,重在实践,这是一个很重要的配置,很重要很重要
从Linux 2.4版本开始,操作系统底层提供了scatter/gather这种DMA的方式来从内核空间缓冲区中将数据直接读取到协议引擎中,而无需将内核空间缓冲区中的数据再拷贝一份到内核空间socket...参考: 浅谈 Linux下的零拷贝机制 TCP TCP的TIME_WAIT有两个作用: 防止前一个TCP连接的残留数据(在序列号恰好正确的情况下)进入后续的TCP连接中 防止TCP挥手过程发出去的最后一个...Linux实现了大量QDisc来满足各个QDisc对应的的报文队列和行为。该接口允许QDisc可以在没有IP栈和NIC驱动修改的前提下实现队列管理。...TCP rtt和rto TCP拥塞避免算法,目前主流Linux的默认拥塞避免算法为cubic,可以使用ss -i命令查看。...可以看到reno算法在发生拥塞避免时不会将cwnd变为1,这样提高了传输效率,快速重传和快速恢复机制也有利于更快探测到拥塞。 ?
RELRO(RELocation Read Only) 在Linux中有两种RELRO模式:Partial RELRO 和 Full RELRO。Linux中Partical RELRO默认开启。
##################回收站#!...再把输出结果以覆盖的方式保存在/root/cc.txt文件中for i in $(cat /root/cc.txt) #for循环,i为变量,调用/root/cc.txt的文件内容doecho "放入回收站的文件是...: $i" #echo输出:” 放入回收站的文件是/root/cc.txt的文件内容” mv $i /root/ccl.d/ # 将$i文件移动到/root/ccl.d/下面donerm -rf.../root/cc.txt #删除/root/cc.txt文件#功能描述:#回收站功能
相信每个人都对 回收站(trashcan)很熟悉,因为无论是对 Linux 用户,还是 Windows 用户,或者 Mac 用户来说,它都很常见。...当你删除一个文件或目录的时候,该文件或目录会被移动到回收站中。 需要注意的是,当把文件移动到回收站以后,文件系统空间并没有被释放,除非把回收站清空。...当通过文件管理器删除一个文件或目录的时候,该文件或目录将会成为 垃圾(trash),然后被移动到回收站中,回收站对应的目录是 $HOME/.local/share/Trash 回收站目录包含两个子目录:...如何在 Linux 上安装 Trash-Cli 绝大多数的 Linux 发行版官方仓库都提供了 Trash-Cli 的安装包,所以你可以运行下面这些命令来安装。...sudo yum install trash-cli 对于 Fedora 用户,使用 dnf 命令来安装 Trash-Cli: $ sudo dnf install trash-cli 对于 Arch Linux
所以就可以寄希望于完善的机制和流程来补上这一个环节。 整体来说是下面的关系。 ?...我们在数据库中存在着周期表和普通表,对表的删除操作一定是危险的,所以我们可以在现有的机制中尽可能不要涉及这类操作,而采用一个归档库,或者我叫做回收站更贴切一些。...这个回收站和我们Windows里面的使用方式是类似的,和Oracle中的回收站recyclebin也是一脉相承的。 这里涉及几个问题。...2)如果一个表在同一段时间变更了多次,那么在回收站中就会存在多个表的数据副本,如何去还原是一个需要考虑设计的重要问题。...而已回收站的维度来说,我们可以按照空间大小和变更时间进行综合计算得到一个更合适的处理方式。
本文来聊聊在 XP 系统里面,是如何在清空回收站的时候修改回收站图标的 声明 我没有拿到微软泄露 XP 系统的源代码,以下逻辑都是我瞎说的,微软才不会写出如此逗比的代码 在 bitbuck.c 文件里面有...回收站是不是空的()); } 在 UpdateIcon 方法里面,先从注册表拿到回收站的图标,因为回收站的图标是可以让用户定制的 通过传入是否回收站是空的,获取不同的图标 拿到图标之后,调用 SHUpdateImage...方法将图标设置给回收站 这就是在 XP 系统里面的逻辑。
缓存机制:Linux引入了buffers和 cached机制,buffers与cached都是内存操作,用来保存系统曾经打开过的文件以及文件元数据,这样当操作系统需要读取某些文件时,首先在buffers...与cached内存区查找,如果找到,直接读出给应用程序,如果没有找到需要数据,才从磁盘读取,这就是操作系统的缓存机制,通过缓存,大大提高了操作系统的性能。...为了方便查找文件,linux引入目录项(dentry)描述目录与文件的关系树,Linux为每一个目录建立一个目录项,也为每个文件建立一个目录项。...根据Linux虚拟内存管理机制,这种行为是正常的。要理解为什么缓存会变得如此之高,以及为什么这不是一个问题,就必须了解I/O在Linux上是如何工作的。...从Linux缓存机制来说,buffers和cached都是系统可用内存,通常情况下看到bufferes和cached占用内存多,这是一个正常现象,它不是一个问题,所以在看到物理内存快要耗尽时,不要惊慌,
在这里总结一下它的内部机制。也解决一下自己原来的一些疑惑。 Namespace是什么 C++中的Namespace 首先,先提一下Namespace是什么。最早知道这个名词是在学习C++语言的时候。...Linux的Namespasce Linux Namespaces是一种轻量级的虚拟化形式。操作系统在内存,CPU上,已经使用了虚拟化的技术,让每个进程都认为是自己独占了内存和CPU。...Linux Namespace原理 对于内核来说,进程是由task_struct结构体来控制。所以Namespace肯定会和task_struct有关联。...参考 Linux内核的namespace机制分析 Namespaces in operation, part 1: namespaces overview Docker基础技术:Linux Namespace...(上) Docker基础技术:Linux Namespace(下)
在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在linux新的内核中,有了一种替换它的机制,就是epoll。...epoll IO多路复用模型实现机制 由于epoll的实现机制与select/poll机制完全不同,上面所说的 select的缺点在epoll上不复存在。...epoll实现机制 当某一进程调用epoll_create方法时,Linux内核会创建一个eventpoll结构体,这个结构体中有两个成员与epoll的使用方式密切相关。...通过红黑树和双链表数据结构,并结合回调机制,造就了epoll的高效。...总结 以上就是本文关于linux epoll机制详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
作者简介:中年码农,做过电信、手机、安全、芯片等行业,靠Linux混饭吃。...和用户态程序的 coredump 机制类似。...下面就来详细的分析整个 kdump 机制的详细原理。...在现在的 ubuntu 中只需要安装一个 linux-crashdump 软件包就自动帮你搞定: sudo apt-get install linux-crashdump 安装完后,可以通过 kdump-config...所以可以看到 /proc/kcore 和 /proc/vmcore 这两个文件是整个机制的核心,我们重点分析这两部分的实现。
/a.out bt 4.开发板上使用core文件调试 ----------------------------- 如果开发板的操作系统也是linux,core调试方法依然适用。...如果开发板上不支持gdb,可将开发板的环境(依赖库)、可执行文件和core文件拷贝到PC的linux下。
1、简介: RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。...RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。...3、相应资料: Linux内核源码当中,关于RCU的文档比较齐全,你可以在 /Documentation/RCU/ 目录下找到这些文件。 Paul E....为此RCU机制提供了相应的API来实现这个功能。...可以通过优化屏障来解决该问题,RCU机制对优化屏障做了包装,提供了专用的API来解决该问题。
Date : [[2022-07-18_Mon]] 微信公众号 : 北野茶缸子 Tags : #linux/index/01 #linux/linux编程 参考: Linux crontab 命令 |...菜鸟教程 (runoob.com)[1] 前言 Linux crontab 是用来定期执行程序的命令。...我们可以用它来为[[24-DIY一个linux的回收站及好用的alias]] 中创立的回收站增加每周清空垃圾的功能。...-R茶话会17-在后台执行R命令]] Rscript ~/Script/clean_trash_mail.R &>/dev/null 结合crontab 先前的清除命令,每周一早上10点提示准备清除回收站...crontab 命令 | 菜鸟教程 (runoob.com): https://www.runoob.com/linux/linux-comm-crontab.html
Date : [[2022-07-13_Wed]] 微信公众号 : 北野茶缸子 Tags : #linux/index/01 参考: 规避 rm 风险— linux 回收站 (qq.com) 前言...为什么Linux 中没有回收站的机制呢?可以参考讨论:基于文本的Linux为什么没有回收站?...直接用alias 配置: $ cat ~/.bashrc | grep lsd alias ll='lsd -lh' 此外,上面的回收站,我们还可以增加一个定时清空的功能。那么,该如何实现呢?...参考资料 [1] 基于文本的Linux为什么没有回收站?
OOM分析 oom_killer(out of memory killer)是Linux内核的一种内存管理机制,在系统可用内存较少的情况下,内核为保证系统还能够继续运行下去,会选择杀掉一些进程释放掉一些内存
1 页式管理 1.1 分段机制存在的问题 分段,是指将程序所需要的内存空间大小的虚拟空间,通过映射机制映射到某个物理地址空间(映射的操作由硬件完成)。...分段映射机制解决了之前操作系统存在的两个问题: 地址空间没有隔离 程序运行的地址不确定 不过分段方法存在一个严重的问题:内存的使用效率低。...但是Linux并没有采用这种机制 正如前面所述,通过设置页目录项的Page Size标志启用扩展分页功能。在这种情况下,分页单元把32位线性地址分成两个字段: Directory:最高10位。...若这个标志为0,只有当CPL小于3(这意味着对于Linux而言,处理器处于内核态)时才能对页寻址;若该标志为1,则总能对页寻址。...第9~11位由操作系统专用,Linux也没有做特殊之用。 ? 80386的每个页目录项指向一个页表,页表最多含有1024个页面项,每项4个字节,包含页面的起始地址和有关该页面的信息。
领取专属 10元无门槛券
手把手带您无忧上云