linux恢复rm删除文件不了求解答解决思路

用rm命令删除文件时,默认不会有任何提示,【debian吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:10,200贴子:
用rm命令删除文件时,默认不会有任何提示,收藏
为了给自己一个反悔的机会,可以加入-i选项,删除前就会一个y or n的提问,默认是n,如果确定删除,输入y并回车。如果想一直有这样的确认提示,可以把alias rm='rm -i'写到~/.bashrc(这个文件默认是没有的,需要自己创建),这样的话,每次运行终端的时候,bash会自动运行alias rm='rm -i'。参考:LPI 102 考试准备,主题 109: Shell、脚本、编程和编译#清单11清单 11. 为了安全起见添加参数 [root ~]# alias cp mv rmalias cp='cp -i'alias mv='mv -i'alias rm='rm -i'原文把cp和mv也加了-i,个人认为给rm加这个参数够了,毕竟cp和mv后文件不会丢,很容易恢复,而rm的结果是彻底删除,需要小心使用,尤其是在root帐号下。
勘正一个错误:~/.bashrc这个文件对root用户无效,/etc/bash.bashrc这个文件有全局效应,改它就没错了,但还有一个问题是即使改了/etc/bash.bashrc,通过sudo rm删除文件不会有提示。如何修正这个“错误”,有待进一步尝试。
如果想更安全可以alias rm &mv -f !* ~/.trash&
/root下建立个应该root用户就可以用了
登录百度帐号推荐应用新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 52, 距离下一级还需 148 积分
论坛徽章:0
lrwxrwxrwx& &1 pfadmin pfadmin& &33 Nov 19 10:42 properties -& /etc/opt/PMP/SS_NPS6/properties
# rm properties/
rm: cannot remove directory `properties/': Is a directory
[root@CLA-0(AiurMoria) ]
# rm -f properties/
rm: cannot remove `properties/': Not a directory
[root@CLA-0(AiurMoria) ]
# rm -rf properties/
rm: cannot remove `properties/': Not a directory
不知道为什么不能删除?
我自己用命令ln -s创建了一个连接,指向同一个地方/etc/opt/PMP/SS_NPS6/properties,这个连接可以删除的呀
哪位老大有这方面经验指点一下,多谢
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
丰衣足食, 积分 533, 距离下一级还需 467 积分
论坛徽章:0
&rm properties&就好了,properties后面不需要斜线(&/&)
小富即安, 积分 3187, 距离下一级还需 1813 积分
论坛徽章:0
原帖由 yaanzy 于
10:31 发表
lrwxrwxrwx& &1 pfadmin pfadmin& &33 Nov 19 10:42 properties -& /etc/opt/PMP/SS_NPS6/properties
# rm properties/
rm: cannot remove directory `properties/': Is a directory
[root@CLA-0 ...
unlink看看
楼上说的也可以
[ 本帖最后由 xuledw 于
10:45 编辑 ]
稍有积蓄, 积分 351, 距离下一级还需 149 积分
论坛徽章:0
rm properties
为嘛总加个斜杠在后面?
小富即安, 积分 4845, 距离下一级还需 155 积分
论坛徽章:0
rm删除文件夹,是不行的,得加参数。
你&&rm properties& &不加后面斜杠就好了。
大富大贵, 积分 13787, 距离下一级还需 6213 积分
论坛徽章:0
原帖由 aaabz 于
10:44 发表
&rm properties&就好了,properties后面不需要斜线(&/&quot
白手起家, 积分 52, 距离下一级还需 148 积分
论坛徽章:0
去掉/ 也一样
论坛徽章:0
回复 #1 yaanzy 的帖子
rm -rf properties
这样就是可以的,不能有其他任何多余的符号
富甲一方, 积分 49229, 距离下一级还需 771 积分
论坛徽章:31
原帖由 kns1024wh 于
12:27 发表
rm -rf properties
这样就是可以的,不能有其他任何多余的符号
这个方法要小心, 不要把 soft link 指向的东东都给删了.
富足长乐, 积分 5989, 距离下一级还需 2011 积分
论坛徽章:0
原帖由 q1208c 于
12:29 发表
这个方法要小心, 不要把 soft link 指向的东东都给删了.
应该不会吧2014年6月 Linux/Unix社区大版内专家分月排行榜第二2014年1月 Linux/Unix社区大版内专家分月排行榜第二2013年11月 Linux/Unix社区大版内专家分月排行榜第二2010年6月 Windows专区大版内专家分月排行榜第二2010年4月 Windows专区大版内专家分月排行榜第二2010年3月 Windows专区大版内专家分月排行榜第二2009年12月 Windows专区大版内专家分月排行榜第二2009年11月 Windows专区大版内专家分月排行榜第二2008年7月 Windows专区大版内专家分月排行榜第二2008年1月 Windows专区大版内专家分月排行榜第二2007年12月 Windows专区大版内专家分月排行榜第二2007年11月 Windows专区大版内专家分月排行榜第二2007年10月 Windows专区大版内专家分月排行榜第二2007年6月 Windows专区大版内专家分月排行榜第二
2014年7月 Linux/Unix社区大版内专家分月排行榜第三2014年4月 Linux/Unix社区大版内专家分月排行榜第三2013年1月 Linux/Unix社区大版内专家分月排行榜第三2010年5月 Windows专区大版内专家分月排行榜第三2009年9月 Windows专区大版内专家分月排行榜第三2009年8月 Windows专区大版内专家分月排行榜第三2008年8月 Windows专区大版内专家分月排行榜第三2008年6月 Windows专区大版内专家分月排行榜第三2007年9月 Windows专区大版内专家分月排行榜第三2007年7月 Windows专区大版内专家分月排行榜第三2007年4月 Windows专区大版内专家分月排行榜第三
2014年7月 Java大版内专家分月排行榜第二
2015年1月 Java大版内专家分月排行榜第三2014年8月 Java大版内专家分月排行榜第三
2014年7月 Java大版内专家分月排行榜第二
2015年1月 Java大版内专家分月排行榜第三2014年8月 Java大版内专家分月排行榜第三
2014年7月 Java大版内专家分月排行榜第二
2015年1月 Java大版内专家分月排行榜第三2014年8月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。Linux下链接文件使用RM无法删除的解决办法
我的图书馆
Linux下链接文件使用RM无法删除的解决办法
在进行U-boot开发的时候,遇到一个小问题。网友wanglida79前几天刚遇到过,我当时没有模拟出来,现在自己倒是遇上了。不过我想出了解决的办法,只不过原因不明确,或许使用方法不对,或许有bug。   现象描述:  我进行U-boot移植的开发,为了patch方便,将源码的名字命名为.orig,这样以示区分。但是名字太长,在命令行下操作不太方便,所以想法就是建立软链接。  [ARMLinux@lqm bootloader]$ tree -L 1.|-- patch|-- u-boot-1.1.3|-- u-boot-1.2.0|-- u-boot-1.2.0.orig|-- vivi`-- vivi_origin6 directories, 0 files  上面是目录下的主要文件夹。现在将源码链接为orig,将开发部分链接为develop。  [ARMLinux@lqm bootloader]$ ln -s u-boot-1.2.0.orig/ orig[ARMLinux@lqm bootloader]$ ln -s u-boot-1.2.0 develop[ARMLinux@lqm bootloader]$ lsdevelop orig patch u-boot-1.1.3 u-boot-1.2.0 u-boot-1.2.0.orig vivi vivi_origin  如上。现在想要删除develop和orig。出现意外情况:  [ARMLinux@lqm bootloader]$ rm develop/rm: cannot remove `develop/': Not a directory[ARMLinux@lqm bootloader]$ rm -f develop/rm: cannot remove `develop/': Not a directory[ARMLinux@lqm bootloader]$ unlink develop/unlink: cannot unlink `develop/  看来删不掉。删除orig也同样如此。转念又实验了利用find来删除:  [ARMLinux@lqm bootloader]$ find . -type l | xargs rm -f[ARMLinux@lqm bootloader]$ lspatch u-boot-1.1.3 u-boot-1.2.0 u-boot-1.2.0.orig vivi vivi_origin看来能够成功。  现象分析与解决:  上面提供的find and xargs的删除方法可以实现。但是只用rm为什么不能删除呢。我想应该是使用的方法上有问题,必须查阅rm和ln的用法。经过man查阅,ln的使用和rm的使用并没有问题。**了前面的想法,我想从rm直接删除和find删除的不同入手找到原因。  [ARMLinux@lqm bootloader]$ find . -type l./develop./orig  看来原因找到了。我在使用rm的时候总是习惯使用TAB键补全命令,但是TAB补全命令的时候,最后是以“/”结尾的。很明显的原因,rm也好,unlink也好,并不能很好的处理这种情况,这算是一处bug。我在前面写shell脚本来实现autozip时的时候,自己遇到过这个问题,采用了awk解决。原有的脚本如下:  [ARMLinux@lqm bin]$ cat autozip#!/bin/bash# Copyright 2007 (c), Shandong University# All rights reserved.## Filename : autozip# Description: Compress files, and print "OK" out if the file# can be compressed successfully.# Syntax : autozip [filename | directory name]# Author : Liu Qingmin# Version : 1.0# Date : 07-04-29## Func: get_target()# Desc: Obtain the name of target file# Para: $1 -- file name that will be compressed# Ret : TARGET -- current file nameget_target(){    TARGET=`echo $1 |        awk -F/ '{if ($NF == "") print $(NF-1);             else print $(NF)}'`}# Handle Parametersif [ $# != 1 ];then    echo "Usage: `basename $0` "    exit 1fi# Assign the parameter to the Macro OPTOPT=$1# Uncompress filesif [ -d $OPT ]; then    get_target $OPT    tar zcvf ${TARGET}.tar.gz $OPT && echo "OK"elif [ -f $OPT ]; then    get_target $OPT    cp $OPT tmp    gzip tmp    cp tmp.gz ${TARGET}.gz    rm tmp.gz    if [ -x ${TARGET}.gz ]; then        chmod -x ${TARGET}.gz    fi    echo "OK"fi上面的get_target就是对这个情况的处理。不过没有想到rm也无法处理这种情况,要知道,使用TAB键提高效率是经常用的手段啊。  找到了bug,还没有看rm的源代码,倒是可以利用上面的脚本的思路来解决这个小bug。写了一个脚本rmlink,如下:  [ARMLinux@lqm bin]$ cat rmlink#!/bin/sh# Copyright 2007 (c), Shandong University# All rights reserved.## Filename : rmlink# Description : solve the bug of "rm" and "unlink"# Syntax : rmlink &linkfile name&# Author : Liu Qingmin# Version : 1.0# Date : 07-09-19## Func: get_target()# Desc: Obtain the name of target file# Para: $1 -- file name that will be compressed# Ret : TARGET -- current file nameget_target(){    TARGET=`echo $1 |        awk -F/ '{if ($NF == "") print $(NF-1);             else print $(NF)}'`}# Handle Parametersif [ $# != 1 ];then    echo "Usage: `basename $0` "    exit 1fi# Assign the parameter to the Macro OPTOPT=$1# Uncompress filesif [ -d $OPT ]; then    # eliminate the "/" at the ending    get_target $OPT    # you also can use "unlink" instead of "rm"    rm ${TARGET}fi# OKexit 0  测试:  [ARMLinux@lqm bootloader]$ lsdevelop orig patch u-boot-1.1.3 u-boot-1.2.0 u-boot-1.2.0.orig vivi vivi_origin[ARMLinux@lqm bootloader]$ rmlink develop[ARMLinux@lqm bootloader]$ rmlink orig[ARMLinux@lqm bootloader]$ lspatch u-boot-1.1.3 u-boot-1.2.0 u-boot-1.2.0.orig vivi vivi_origin  可见测试正常,rmlink可以正常使用。  至此,问题最终解决。  附:  vmware崩溃,导致关心查阅磁盘空间和文件大小。现在附几个常用的小命令,备查阅。  .查看文件的大小  [ARMLinux@lqm bootloader]$ ls -hl  如果只想看到大小,而不希望看到其他信息,可以使用下面的命令:  [ARMLinux@lqm bootloader]$ ls -hl | awk '{print $5 "  " $NF}'  .查看单个目录占用空间的大小  [ARMLinux@lqm bootloader]$ du -hs u-boot-1.2.071M u-boot-1.2.0  .查看磁盘剩余空间的大小  [ARMLinux@lqm bootloader]$ df -hl  关于选项-h,在ls等等的命令中都有,具体的含义是一致的,如下:  -h, --human-readable       with -l, print sizes in human readable format (e.g., 1K 234M 2G)
TA的最新馆藏[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 rm 删除多个文件 的文章

 

随机推荐