linux不像windows——所有删除后的文件(除windows下的大文件或特殊操作下删除的文件)都会暂时存储于垃圾回收站,当自己某一天想到误删/错删了一些重要文件时,还有挽救的机会,如若不然呢,手动清空回收站,释放内存即可。Linux下用户操作文件的权限受到很多限制,比如对非当前用户home根目录下的所有文件,一般情况下需使用rm/rmdir等命令操作。对于新手来说,rm命令是一个危险的命令,一不小心,可能就误输入“rm -rf /"之类的命令,删除了系统下的重要文件,当再次开机进入系统的时候,发现系统已然崩溃。诸如此类,种种错误,余不一一。

那么,怎么做才能把我们操作文件对系统的威胁降到最低呢?方法如下:

No.1  alias重定义rm命令:

删除文件时,使用交互式删除是一种良好的习惯。因此,我们可以这么做:

alias  rm='rm -i'

当然此命令仅限当前登陆有效,alias命令重定义范围将会在最后介绍。

使用但是碰到当前目录有很多子目录的文件夹时,就需要一一确认,如下:

创建多层文件:

mkdir -p test/test_{1,2}/test_test_{1,2,3}

tree命令显示如下:

tree test 
test
├── test_1
│   ├── test_test_1
│   ├── test_test_2
│   └── test_test_3
└── test_2├── test_test_1├── test_test_2└── test_test_38 directories, 0 files

删除test目录:

rm -r test

接下来的操作就显得有点尴尬:

rm:是否进入目录"test"? y
rm:是否进入目录"test/test_2"? y
rm:是否删除目录 "test/test_2/test_test_3"? y
rm:是否删除目录 "test/test_2/test_test_1"? y
rm:是否删除目录 "test/test_2/test_test_2"? y
rm:是否删除目录 "test/test_2"? y
rm:是否进入目录"test/test_1"? y
rm:是否删除目录 "test/test_1/test_test_3"? y
rm:是否删除目录 "test/test_1/test_test_1"? y
rm:是否删除目录 "test/test_1/test_test_2"? y
rm:是否删除目录 "test/test_1"? y
rm:是否删除目录 "test"? y

麻烦之处,就在于不断的确认,怎么避免呢? so easy。

rm -rf test

搞定。

No.2 增加回收站

首先附上代码,第一眼看上去不明觉厉,仔细瞧瞧原来只是正则表达式加函数实现伪删除罢了:

myrm(){ D=/tmp/$(date +%Y-%m-%d-del); mkdir -p $D; mv "$@" $D && echo "move to $D success..."; }
alias rmove='myrm'

如此一来,删除重要文件时我们可以使用rmove命令:

rmove test

结果如下:

move to /tmp/2015-10-29-del success...

再转到/tmp目录下我们就看到了刚刚'删除'的文件了。

再强调以下几点,关于alias的作用范围:

  • 在terminal输入alias命令:alias的效力仅及于该次登入的操作。
  • 在~/.bashrc存储alias命令:只对当前用户启动bash后才会生效。
  • 在/etc/profile存储alias命令:对所有用户都生效。

配置完成后,需重启终端,alias命令才会生效。

注意:alias重命名命令的作用范围取决于存贮位置,具体情况参考:

           shell类型与配置文件

取消重命名unalias:

unalias  rmove 

或者在配置文件中删除相应alias命令。

Linux下可回收删除相关推荐

  1. linux中rm删除的文件是否可以恢复,Linux下用rm删除的文件的恢复方法

    Linux下用rm删除的文件的恢复方法_Linux教程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2008-08/14744.htm lin ...

  2. Linux下创建和删除用户

    Linux下创建和删除用户 目录 Linux下创建和删除用户 1 创建新用户 2 配置新用户 3 进入新用户 4 删除用户 1 创建新用户 在普通root用户下可能没有权限操作,因此直接在root下操 ...

  3. linux根据修改日期删除,在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件?...

    问:在Linux下怎么一次性删除掉那些修改时间为指定日期的所有文件? 答:脚本del_files_of_date.sh 用法:./del_files_of_date.sh 比如:./del_files ...

  4. linux 下生成docx,linux下创建、删除文件和文件夹命令.docx

    linux下创建.删除文件和文件夹命令.docx 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 学习 Linux 二(创建.删除文件和文件夹 ...

  5. linux下创建和删除软、硬链接

     在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速 ...

  6. Linux下如何简单删除/data的空目录

    近期遇到一面试题,以为简单所以没加留意,即Linux下如何删除/data的空目录,我用的是 [ -d $DIR]的方法,下考场以后才发现错了,此法不仅繁琐,而且很容易出错:其实find 有支持空目录的 ...

  7. 从对我的质疑说起,谈谈Linux下的文件删除

    特特本来就是个刚毕业的小菜,很多知识都是靠着大家的指点才慢慢学会的.之前在一篇"纯属虚构"的文章 (鹅厂后台开发工程师的工作日常) 提到使用 rm 命令删除一个近 100 G 的 ...

  8. linux下创建、删除文件夹

    1.在 Linux 下,我们可以使用 mkdir 命令创建目录,mkdir 是"make directory" 的缩写词. 运行 mkdir 命令 默认情况下,不带任何参数运行 m ...

  9. linux下修改或删除包含乱码、特殊符号等文件名的文件

    linux环境下,经常见到包含中文命令的文件或文件夹乱码,SFTP连接发现文件正常,命令行不方便操作文件 可以根据Linux 的 inode 来修改或删除 linux 下乱码的文件 一:演示环境模拟创 ...

最新文章

  1. LabVIEW轮廓分析与比较(基础篇—8)
  2. 阿里技术专家推荐的几个公众号!
  3. SSL,SSH,OpenSSL,OpenSSH,HTTPS的区别
  4. 手撕Nspack3.7(北斗)壳
  5. 网工视频13第13章.计算机系统开发运行与配置疑难问题
  6. matlab读取suffer,MATLAB调用surfer时出错
  7. 【CCF】201712-2游戏
  8. Docker(十七)-修改Docker容器启动配置参数
  9. Java、JavaScript、C/C++、Python分别用来开发什么?
  10. 如何解决iOS界面操作导致导致NSTimer暂停计时的问题?
  11. Model1和Model2区别
  12. 轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception
  13. 面向对象---大纲笔记
  14. 【Android】手撸抖音小游戏潜艇大挑战
  15. 关于USB3.0的U盘正确用法
  16. 首发源码防诈骗记录qq源码
  17. java 用PDFBox 删除 PDF文件中的一页 ,空白页啥的,此处删除最后一页为例 spring boot
  18. 武汉php东和,武汉--从轨道交通线网规划看黄陂、东西湖和江夏等新兴区域发展潜力...
  19. picpick尺子像素大小精度不够准确_picpick尺子像素大小精度不够准确_相机的像素精度,物理定位精度,亚像素定位之间的关系和进行像素的固定误差累积......
  20. 数据库管理工具——SQuirreL SQL Client使用入门

热门文章

  1. 使用RT-Thread Studio DIY 迷你桌面时钟| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)...
  2. 防火墙、DCD与TCP Keep alive
  3. RocketMQ消息消费源码分析(二消息的消费)
  4. Opensuse 初学者使用指北?
  5. 解决阿里云ESC启动kube-proxy服务时出现错误 亲测有效
  6. 加字邮票价格_SC2 “华东区生产图邮票”加字改值 价格收藏图片
  7. SM4算法大文件加密与字符串加密
  8. vue中处理后台返回的 html 特殊标签(‘\lt; p style=“xxx“ \gt;‘)或(\<p>)的三种情况及传给后端数据的解决方案
  9. ROM修改---修改本机的mac地址
  10. npm install 安装包报错npm ERR! C:\Users\happl\AppData\Roaming\npm-cache_logs\2019-12-09T15_55_28_112Z-deb