Chinaunix

标题: rm -rf 竟然删除不了一个东西 [打印本页]

作者: ssxssx    时间: 2014-02-13 12:29
标题: rm -rf 竟然删除不了一个东西
我不小心在一个文件件下搞了个 ${outdata_dir}   rm -rf  竟然删除不了 谁能指点下哈
作者: laliheyi    时间: 2014-02-13 12:53
回复 1# ssxssx
  1. rm -f 'urfilename'
复制代码

作者: q1208c    时间: 2014-02-13 13:21
rm -- your file


作者: lkk_super    时间: 2014-02-13 13:48
按照 inode 删掉文件
作者: ssxssx    时间: 2014-02-13 13:57
标题: 一个文件夹里有个带$的东西 删除不了 cd 进去 竟然切换到一个/home/登陆的用户 了
一个文件夹里有个带$的东西 删除不了   cd 进去 竟然切换到一个/home/我登陆的用户   那个目录去了  那个是相当于WINDWOS的快捷方式吗
作者: laliheyi    时间: 2014-02-13 14:02
  1. ivy@rac1:~/zzxt/test
  2. $l
  3. total 4
  4. drwxr-xr-x 3 ivy users  96 2014-02-13 13:56 ./
  5. drwxr-xr-x 9 ivy root  408 2014-02-13 13:07 ../
  6. drwxr-xr-x 2 ivy users  48 2014-02-13 13:56 $abc/
  7. -rw-r--r-- 1 ivy users 424 2014-02-13 08:52 xml
  8. ivy@rac1:~/zzxt/test
  9. $cd $abc
  10. ivy@rac1:~
  11. $cd zzxt/test/\$abc
  12. ivy@rac1:~/zzxt/test/$abc
  13. $
复制代码
回复 1# ssxssx


   
作者: ssxssx    时间: 2014-02-13 14:05
回复 2# laliheyi
不是很明白你说的啥意思啊  

   
作者: ssxssx    时间: 2014-02-13 14:05
大牛们来指点下啊  
作者: runintostar    时间: 2014-02-13 14:23
cd $var

if $var is null

"cd $var" equal to "cd"

"cd" with no more parameter will change directory to user's "home"

use '\'  escape character as “laliheyi       \$abc

or use single quote to protect the parameter :   cd '$var'
作者: ssxssx    时间: 2014-02-13 14:23
回复 2# laliheyi
那这个带$东西是什么啊  为啥我CD到这个目录就切换到用户目录文件夹了   怎么删除不掉这个带$文件夹   能删除吗


   
作者: ssxssx    时间: 2014-02-13 14:26
回复 5# runintostar
谢谢你  那我这个文件夹还有大小啊

drwxrwxr-x 3 hadoop hadoop      4096 02-13 14:01 ${outdata_dir}   

你看 大小4096

   
作者: runintostar    时间: 2014-02-13 14:33
回复 7# ssxssx

目录也是一个文件,文件就有大小啊,也要占一个node
估计你的是一个linux系统吧
你看着不爽就删掉吧~~

   
作者: 不能超过15字    时间: 2014-02-13 14:33
我mk了一个一样的,cd进去完全没问题啊

1.jpg (7.1 KB, 下载次数: 34)

1.jpg

作者: ssxssx    时间: 2014-02-13 14:39
回复 5# runintostar
谢谢 已经解决了


   
作者: Shell_HAT    时间: 2014-02-13 14:52
回复 3# q1208c


[root]# ll
total 12
drwxr-xr-x 2 root root 4096 Feb 13 14:50 ${outdata_dir}
[root]# rm -rf -- ${outdata_dir}
[root]# ll
total 12
drwxr-xr-x 2 root root 4096 Feb 13 14:50 ${outdata_dir}

这个问题应该用转义
作者: q1208c    时间: 2014-02-13 14:56
回复 5# Shell_HAT

刚才没试过. 看来 $ 是必须转义了.
   
作者: laliheyi    时间: 2014-02-13 14:59
回复 6# ssxssx


    可以删除
  1. rm -fr 'urfilename'
复制代码

作者: laliheyi    时间: 2014-02-13 15:02
回复 3# ssxssx


    $符号存在文件名中时,可以使用\转义$,或使用单引号禁止shell解释$
rm -fr \$abc
rm -fr '$abc'

作者: blackold    时间: 2014-02-13 15:11
也不知道LZ最好怎么解决的,分享一下啊,让大伙学习学习。
作者: ben_robinson    时间: 2014-02-13 15:12
yes|rm -f '${outdata_dir}'
作者: ben_robinson    时间: 2014-02-13 15:13
如果是目录
yes|rm -rf '${outdata_dir}'
作者: elu_ligao    时间: 2014-02-13 22:33

  1. 怎么来的怎么删
  2. [redhat@localhost 0213]$ touch ${aaa}
  3. touch: missing file operand
  4. Try `touch --help' for more information.
  5. [redhat@localhost 0213]$ touch \${aaa}
  6. [redhat@localhost 0213]$ ls -ltr
  7. total 4
  8. -rw-rw-r-- 1 redhat redhat 0 Feb 13 22:31 ${aaa}
  9. [redhat@localhost 0213]$ rm -f \${aaa}
  10. [redhat@localhost 0213]$ ls -ltr
  11. total 0
  12. [redhat@localhost 0213]$ touch '${aaa}'
  13. [redhat@localhost 0213]$ ls -ltr
  14. total 4
  15. -rw-rw-r-- 1 redhat redhat 0 Feb 13 22:32 ${aaa}
  16. [redhat@localhost 0213]$ rm -f '${aaa}'
  17. [redhat@localhost 0213]$ ls -ltr
  18. total 0
  19. [redhat@localhost 0213]$
复制代码

作者: elu_ligao    时间: 2014-02-13 22:35
。。。一个问题两个帖子,还是看完了, 要不说说那个怎么来的吧:wink:




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2