开发者社区> sktj> 正文

linux rm

简介: rm -rf xx 自定义回收站 命令: myrm(){ D=/tmp/D; mv "D && echo "moved to $D ok"; } 说明: myrm() { D=/tmp/$(date +%Y%m%d%H%M%S); 在/tmp文件夹中创建名为“当前日期”的文件; 其中“date+%Y%m%d%H%M%S”是规定了日期的输出格式; mkdir -p $D; 以变量D中的路径创建文件夹。
+关注继续查看

rm -rf xx

自定义回收站
命令:

myrm(){ D=/tmp/(date +%Y%m%d%H%M%S); mkdir -pD; mv "@"D && echo "moved to $D ok"; }
说明:

myrm()
{
D=/tmp/$(date +%Y%m%d%H%M%S);

在/tmp文件夹中创建名为“当前日期”的文件;

其中“date+%Y%m%d%H%M%S”是规定了日期的输出格式;

mkdir -p $D;

以变量D中的路径创建文件夹。

mv "@"D && echo "moved to $D ok";

将所要删除的文件移入变量D中的文件夹内,移入成功后,输出移动成功。

}

alias rm='myrm'

命令别名定义方式,此定义成功后,无论输入rm或myrm系统都会做出相同操作。

输出:

hc@hc-virtual-machine:/tmpmyrm(){ D=/tmp/(date +%Y%m%d%H%M%S); mkdir -p D; mv "@" D && echo "moved toD ok"; }

hc@hc-virtual-machine:/tmp$ alias rm='myrm'

hc@hc-virtual-machine:/tmp$ touch {1..4}.log

hc@hc-virtual-machine:/tmpls 1.log 2.log 3.log 4.log hc@hc-virtual-machine:/tmp rm [1234].log
moved to /tmp/20181026111028 ok
hc@hc-virtual-machine:/tmpls 20181026111028 hc@hc-virtual-machine:/tmp cd 20181026111028/
hc@hc-virtual-machine:/tmp/20181026111028$ ls
1.log 2.log 3.log 4.log
说明:

上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。

由于我们当前已将rm绑定为myrm,所以我们无法执行删除操作

临时设置rm命令别名为myrm

alias rm='myrm'
此时若想删除回收站里的文件,
由于是临时的,所以换一个命令行窗口后,绑定就会失效
即换一个命令行窗口执行rm -r 命令删除即可

如果不想换命令行窗口,可以用sudo rm -rf 目录名 删除回收站的文件

或者解除临时绑定

unalias rm
输出:

hc@hc-virtual-machine:/tmp/20181026111444alias alias alert='notify-send --urgency=low -i "([ ? = 0 ] && echo terminal || echo error)" "(history|tail -n1|sed -e '''s/^\s[0-9]+\s//;s/[;&|]\salert//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' alias rm='myrm' hc@hc-virtual-machine:/tmp/20181026111444 unalias rm
hc@hc-virtual-machine:/tmp/20181026111444alias alias alert='notify-send --urgency=low -i "([ ? = 0 ] && echo terminal || echo error)" "(history|tail -n1|sed -e '''s/^\s
[0-9]+\s//;s/[;&|]\salert$//''')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux基本功系列之最危险的命令rm
linux基本功系列之最危险的命令rm
20 0
Linux目录和文件管理:mkdir、touch、cp、mv、rm
1 创建 文件名最长255个字节 包括路径在内文件名称最长4095个字节 除了斜杠和NULL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引 号来引用
55 0
Linux 文件管理命令 mv、rm、which、tree 讲解| 学习笔记
快速学习 Linux 文件管理命令 mv、rm、which、tree 讲解
80 0
Linux常用命令 - rm命令详解
Linux常用命令 - rm命令详解
69 0
3.16 Linux删除文件或目录(rm命令)
rm 是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。此命令的基本格式为:
80 0
linux 之删除文件rm
本篇内容记录了linux 之删除文件rm的相关操作。
47 0
Linux基础命令——mkdir和rm命令选项
创建嵌套文件夹使用 “mkdir –p” 嵌套目录 删除空目录使用 “rmdir 目录名” 或者 “rm –d 目录名” 删除非空目录使用 “rm –r 目录名”
101 0
Linux之rm -rf 安全删除
新建自定义删除脚本:vim /usr/bin/safe_remove !/bin/bash TRASH_DIR="/tmp/user/${USER}/.trash"mkdir -p $TRASH_DIR RMPATH="" 遍历rm命令参数(e.
2331 0
+关注
sktj
国企运维
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载