管理资源吧

当前位置:管理资源吧首页>>>tech>>>c1>>>服务器教程

Linux 删除乱码文件与文件夹

  1. 查询inode :

  代码如下

  [oracle@test]$ ll -i

  total 14694452

  17956913 -rw-r–r– 1 oracle oinstall 0 Jan 18 20:24 1?.txt

  2. 修改测试文件名:

  代码如下

  find . -inum 17956913 -exec mv {} file.txt ;

  3. 删除乱码文件

  代码如下

  [oracle@test]$ ll -i

  total 14694452

  ….

  -rw-r–r– 1 oracle oinstall 0 Jan 18 20:24 file.txt

  记录:删除乱码的文件可使用 find . -inum 17956913 -exec rm {} ;

  文件夹

  对于文件夹,尤其是非空的文件夹,上面的方法就不适用了,要用到另外的参数来实现,首先相同的是查看乱码文件夹的节点号

  代码如下

  ls -i

  18612483 瑗块.?.. - Thank you, Love(128kbps) 2011.06.22

  接下来使用find命令删除

  代码如下

  find -inum 18612483 -exec rm -rf {} ;

  find: ./瑗块.?.. - Thank you, Love(128kbps) 2011.06.22: No such file or directory

  虽然提示我们找不到此文件或文件夹,但其实已经表明删除了。-exec作用是查找后执行命令,其中{}代表前面查询到的结果,空格+;是结束符,其它就不说了。-exec后可以跟任何常用命令,因此这方法不但适用于文件夹,文件也可以。

  小技巧

  怎么批量删除呢?其实很简单,用for就好了

  代码如下

  文件

  for n in 22413315 22413314;do find -inum $n -delete;done

  文件夹

  for n in 22413315 22413314;do find -inum $n -exec rm -rf {} ;;done

  $n是变量名,与for后面定义的一致,其它没啥好说的,适用其它操作。

  注:更多精彩教程请关注管理资源吧电脑教程栏目,管理资源吧电脑群:189034526欢迎你的加入

tech首页 更多tech