Linux删除乱码文件名或者目录名

  有时,rz上传文件失败或者不小心输入命令会产生乱码文件名。因为用rm 删除特殊字符基本无效,故找到了下面两种简单易用的方法:

例子:

  [[email protected]:~]$ ls
  ??                  ??b??g?????E#?藠?T   
  ?7?%??S?^d??X???b戮      falcon-agent-5.1.0.tar.gz

1.rm命令

  rm ./*

  因为rm命令再删除文件前都会询问,故我们可以利用rm询问机制删掉乱码文件。

  确认要删除的乱码文件输入y,其他回复n。期间可以用ctrl+c随时结束

  [[email protected]:~]$ rm ./*
  rm: remove regular file `./\245\373b\253\272g\224\257\374\346\370E#\245藠\277T ko\376\335\322\332k%\325m~P\347JbS\364]\245\345b#\250\311[\203m\376\320y\372\375LZn.\3227‘? y  
  rm: remove regular file `./falcon-agent-5.1.0.tar.gz‘? n
  rm: remove regular empty file `./M\277m\233\260+\263BO‘? y
  rm: remove regular file `./yc_linkd-nmob_2.6_ex_CTL-64.tar.gz‘? n

注意:请先确保rm命令没有被alais成rm -rf

2.找到索引节点进行删除(inode)

   find ./ -inum 54263996 -exec rm {} -rf \;

  [[email protected]:~]$ ls -li
  total 11420
  6176785 -rw-rw-r-- 1 langxiaowei langxiaowei 0 Oct 13 17:26 ?7?%??S?^d??X???b戮
  6176784 -rw-rw-r-- 1 langxiaowei langxiaowei 29 Oct 13 17:26 ??b??g?????E#?藠?T ko????k%?m~P?JbS?]??b#??[?m??y??LZn.?7
  6176782 -rw-r--r-- 1 langxiaowei langxiaowei 3203523 Aug 20 10:02 falcon-agent-5.1.0.tar.gz
  6176787 -rw-rw-r-- 1 langxiaowei langxiaowei 0 Oct 24 14:15 M?m??+?BO

  [[email protected]:~]$ find ./ -inum 6176785 -exec rm -rf {} \;

这样一个个删除inode即删除了对应文件

时间: 2024-11-07 00:15:21

Linux删除乱码文件名或者目录名的相关文章

Linux删除乱码文件或者目录

Linux删除乱码文件或者目录 有时在Linux下面解压一些zip或者rar文件后会产生乱码文件或者目录,这个时候使用rm不能成功删除,需要使用一些特别的方法 来进行删除,下面是我经常使用的两种方法. 方法一: 使用rm -rf 删除上一级目录,当然前提是需要备份你需要备份的数据. 一种思路: 1. 比如/home下文件夹内含有乱码的文件 2. mkdir tmp 3. 将所有的文件首先移动到 mv * tmp/ 4.到tmp下 把所有有正常的显示字符的文件移动出来 cd tmp ; mv [a

linux删除乱码文件

不知道大家有没有碰到这种文件,因为是乱码,文件无法删除,这时我们就可以考虑用下面的命令进行删除文件或目录 ls -i //列出文件节点 find ./ -inum XXX(节点号) -print -exec rm -rf {} \;    //删除节点号文件 find . -inum XXXX(节点号) -exec mv {} file.txt \:   //其实我们还可以执行这个命令,修改乱码文件名为正常文件名 [[email protected] installation]# ls -li

linux删除乱码

一:前沿 好久没有记载东西了,回来之后一直忙着改东西,我走之前项目是什么样,回来后也差不多.郁闷啊,努力敲代码,但是要敲出思想来啊.先会做,然后深入思考 二:内容 (1)每次使用rz命令向服务器上传代码时候,有可能中断并且出现乱码,这原因是什么其实我暂时不知道,我觉得很大程度就是网络问题. 在网上搜了下,说每个文件都有一个"i节点",所以可以通过这个东西来管理文件.我们可以通过命令 ls -l 看到每个文件对应的“i节点”. 我们在通过找到i节点文件名来删除,命令如下: find ./

linux 删除特殊文件名的文件

最近不小心touch文件时候,在文件名前面加了个短杠-,导致文件名类似于 -test.log . 这样的话,按照常规的执行 rm -f '-test.log' 删除文件的时候,就会报错.类似如下: rm: invalid option -- 't'Try 'rm ./-test.log' to remove the file '-test.log'.>Try 'rm --help' for more information. google了下,发现是因为linux将 横杠'-' 当成了命令选项了

160802、1.06s删除10w条重复记录只保留一条(mysql)及linux删除乱码文件

上次发表过的一遍删除重复记录的文章,其中最优的方案三删除1w条也花了0.07秒而2w条就已经花掉了4秒.今天进行了进一步优化,测试删除10w条只花了1.06秒.速度提升了很多. 建表语句 CREATE TABLE `test_user` ( `id` INT(10) NOT NULL DEFAULT '0', `namea` VARCHAR(40) NOT NULL, `nameb` VARCHAR(40) NOT NULL, `user_id` VARCHAR(40) NOT NULL, PR

linux删除乱码文件[转载]

一些乱码文件不可以通过普通的rm命令进行管理.可以通过删除i节点的方式删除. [[email protected]_168_100_35 musicwap]# ls??,?K?k??a*.?J]?k?Φ??P???Z?b?A?R???X??u??.?????*[email protected]?T???xS*查看乱码文件的i结点[[email protected]_168_100_35 musicwap]# ls -liaha54263996 -rw-rw-r-- 1 musicwap musi

Linux shell 提取文件名和目录名

${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串 1.提取文件名 [[email protected] log]# var=/dir1/dir2/file.txt [[email protected] log]# echo ${var##*/} file.txt 2.提取后缀 [[email protected] log]# echo ${var##*.} txt 3.提取不带后缀的文件名,分两步 [[email protected] log]# tmp=${var##*/}

linux 删除乱码文件 目录

[email protected]:~$ ls -liaha total 39M 12320770 drwxr-xr-x  8 chunli chunli 4.0K Apr 12 22:07 . 12320769 drwxr-xr-x  3 root   root   4.0K Mar 12 21:24 .. 12320778 -rw-rw-r--  1 chunli chunli  39M Apr 12 21:14 arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2

Linux删除乱码非空目录

# ls -li 总用量 39044 1829685 drwxr-xr-x 4 root root 4096 2月 9 15:06 2.1 1446168 -rw-rw-r-- 1 binwen binwen 37780423 2月 9 18:11 Htc_常用软件.zip 1829684 drwxr-xr-x 2 root root 4096 1月 21 12:00 huiyiRom_up 1829688 drwxr-xr-x 2 root root 4096 2月 1 12:20 -?+??