关闭

rmdir/rm删除目录的区别

328人阅读 评论(0) 收藏 举报
分类:

1

Linux中rmdir命令是用来删除空的目录。
使用方式: rmdir [-p] dirName

参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。 

举例说明:

rmdir folder1
删除名字为folder1的子目录。 

rmdir -p folder1/folder2
删除名字为folder1里面的folder2这个子目录,如果删除folder2这个子目录后,folder1也成了空目录的话,那么folder1也会一同被删除。

2

如果你想删除非空目录,使用rmdir估计是不行的哦。
要使用rm才可以的。
使用方式:rm [options] name…

参数 [options]:
-i 删除前逐一询问确认。 
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 
-r 将目录及以下之档案亦逐一删除。 

举例说明:

删除所有.java文件;删除前逐一询问确认 : 
rm -i *.java

将 project子目录及子目录中所有档案删除 : 
rm -r project

3

rm -rf表示删除文件,而且可以删除非空目录。-rf参数表示递归强制删除。

mv表示移动文件(这个跟剪贴一样),而且可以重命名文件。

例如 mva.txta.c意思是重命名a.txt为a.c 

4

rm -rf 血的教训———–rm -rf 慎用

命令敲得多了,常在河边走,难免会湿鞋

昨天,一个手误,敲错了命令,把原本想要留的文件夹给rm -rf掉了

几天心血全木有了,靠,死的心都有了

经百度,google以及尝试无果,哎,这个以后再研究怎么找回吧

几点教训:


1.rm 特别是rm -rf之前,小心,三思,或者直接将命令改写掉



2.做好备份,有便捷的备份脚本



3.做好定时备份,有个前辈搞定时脚本,每天定时自个执行,即使删错了也不会那么悲催

首先,搞个回收站

在~下 .bashrc或者.bash_profile加入

mkdir -p ~/.trash

alias rm=trash  

alias r=trash  

alias rl='ls ~/.trash'

alias ur=undelfile

undelfile()

{

  mv -i ~/.trash/$@ ./

}

trash()

{

  mv $@ ~/.trash/

}

这是执行

rm 就相当于执行mv了

注:此时已经木有rm -rf了

删除的文件会在.trash中出现

可以恢复回去

ur filename

这就带来一个问题,如何删除回收站里的东西,这是后rm在这里是木有用的

在刚才.bashrc下继续加函数


cleartrash()

{

    read -p "clear sure?[n]" confirm

    [ $confirm == 'y' ] || [ $confirm == 'Y' ]  && /usr/bin/rm -rf ~/.trash/*

}

$. .bashrc

然后,如果想清空回收站的话

$cleartrash就行了

备份脚本正在搞

包括打包压缩快速备份脚本和午夜定时备份脚本

linux下删除文件修复,目前还木有学会,哎

血的教训,防范未然

摘自:wklken的笔记

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:97379次
    • 积分:1706
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:125篇
    • 译文:0篇
    • 评论:0条