LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: Jeguan

怎样用命令删除全乱码文件夹?

[复制链接]
发表于 2009-11-15 12:55:31 | 显示全部楼层
你的乱码是怎么来的啊?如果是中文gbk的原因导致的,试一下convmv:
http://www.linux-wiki.cn/index.p ... 1%E8%BD%AC%E6%8D%A2
回复 支持 反对

使用道具 举报

发表于 2009-11-15 15:31:42 | 显示全部楼层
三种方法:
1:输入rm *,然后按ctrl-x *,然后自己找。

2:编辑/etc/inputrc文件,找到里面的$if mode=emacs一行,在这行的下面插入一行按ctrl-v ctrl-6 :menu-complete输入之后会变成这样^^:menu-complete。以后你就可以用ctrl-6来遍历文件了。比如你可输入rm空格,然后再按ctrl-6,这样就可以一个一个把文件列出来。

3:你可以按装zsh,这个shell可以实现类似第二种方法,不过比这个更好。你直接就可以输入rm 然后按tab键遍历文件了.
回复 支持 反对

使用道具 举报

发表于 2009-11-15 15:41:27 | 显示全部楼层
其实还有第四种方法,就是装个mc,直接看,想删哪个就删哪个。
不过如果只用一条命令的话,因为你那个是乱码,没法表示出来,所以如何把这个乱码文件表示出来才是难点。除非你rm *就都删了。
回复 支持 反对

使用道具 举报

发表于 2009-11-15 16:44:56 | 显示全部楼层
是啊,为什么不用mc
回复 支持 反对

使用道具 举报

发表于 2009-11-18 13:51:52 | 显示全部楼层
1.先生成一个列表list
ll > list

2.编辑列表list
vi list

2.1先删除第一行总计,如果list文件本身也在里面也要删除;
2.2删除有不想删除的文件名的行,使用dd;
2.3使用ctrl+v,按几下E,到文件名前停止,然后按几下j,选择全部列,然后按下s,输入rm -rf,按下esc,现在每一行都是rm xx的样子

3.仔细检查一下,确定剩下的是你要删除的文件;

4.sh list

5.如果还不行,用" "把文件名括起来,方法还是vi的v模式
回复 支持 反对

使用道具 举报

发表于 2009-11-18 14:19:34 | 显示全部楼层
各显神通啊~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2009-11-18 14:38:15 | 显示全部楼层
4楼,帮我看下啊,你说的方法我试了下,是哪里需要改进下?

[zdbustv@JIZHAN downtest]$ ls -la
总用量 24
drwxr-xr-x   2 zdbustv zdbustv 4096 11月 18 14:34 .
drwx------  41 zdbustv zdbustv 4096 11月 18 14:33 ..
-rw-rw-r--   1 zdbustv zdbustv    0 11月 18 14:33 111222
-rw-rw-r--   1 zdbustv zdbustv    0 11月 18 14:34 222111
[zdbustv@JIZHAN downtest]$ rm 'ls|tail -1' 9999
rm: lstat‘ls|tail -1’失败: 没有那个文件或目录
rm: lstat‘9999’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ rm 'ls|tail -1'
rm: lstat‘ls|tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ rm 'ls| tail -1'
rm: lstat‘ls| tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ mv 'ls| tail -1'
mv: 缺少了文件参数
请尝试执行‘mv --help’来获取更多信息。
[zdbustv@JIZHAN downtest]$ ls |tail -1
222111
[zdbustv@JIZHAN downtest]$ mv 'ls |tail -1' 9999
mv: stat‘ls |tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ mv 'ls |tail -1' "9999"
mv: stat‘ls |tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ stat
stat: 参数太少
请尝试执行‘stat --help’来获取更多信息。
[zdbustv@JIZHAN downtest]$ ls|tail -1
222111
[zdbustv@JIZHAN downtest]$
回复 支持 反对

使用道具 举报

发表于 2009-11-18 15:22:01 | 显示全部楼层
Post by suyin;2047149
4楼,帮我看下啊,你说的方法我试了下,是哪里需要改进下?

[zdbustv@JIZHAN downtest]$ ls -la
总用量 24
drwxr-xr-x   2 zdbustv zdbustv 4096 11月 18 14:34 .
drwx------  41 zdbustv zdbustv 4096 11月 18 14:33 ..
-rw-rw-r--   1 zdbustv zdbustv    0 11月 18 14:33 111222
-rw-rw-r--   1 zdbustv zdbustv    0 11月 18 14:34 222111
[zdbustv@JIZHAN downtest]$ rm 'ls|tail -1' 9999
rm: lstat‘ls|tail -1’失败: 没有那个文件或目录
rm: lstat‘9999’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ rm 'ls|tail -1'
rm: lstat‘ls|tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ rm 'ls| tail -1'
rm: lstat‘ls| tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ mv 'ls| tail -1'
mv: 缺少了文件参数
请尝试执行‘mv --help’来获取更多信息。
[zdbustv@JIZHAN downtest]$ ls |tail -1
222111
[zdbustv@JIZHAN downtest]$ mv 'ls |tail -1' 9999
mv: stat‘ls |tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ mv 'ls |tail -1' "9999"
mv: stat‘ls |tail -1’失败: 没有那个文件或目录
[zdbustv@JIZHAN downtest]$ stat
stat: 参数太少
请尝试执行‘stat --help’来获取更多信息。
[zdbustv@JIZHAN downtest]$ ls|tail -1
222111
[zdbustv@JIZHAN downtest]$


搞定了 原来是用的`而不是单引号.....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表