【问题标题】:Remove folder with special character on it删除带有特殊字符的文件夹
【发布时间】:2015-04-11 15:55:06
【问题描述】:

我不小心创建了一些带有特殊字符的文件夹。我已经阅读了 stackoverflow 中的其他帖子,但是没有用。当我输入 ls -la 命令时,我看到了

root@mycomputer:/myfolder# ls -la
drwxr-xr-x  3 root root  4096 feb  6 17:53 ,
drwxr-xr-x 70 root root  4096 feb 11 10:27 .
drwxr-xr-x  6 root root  4096 feb 11 09:16 ..
drwxr-xr-x  7 root root  4096 feb  9 22:45 (
drwxr-xr-x  3 root root  4096 feb  2 22:01 [
drwxr-xr-x  3 root root  4096 feb  6 08:11 $
drwxr-xr-x  3 root root  4096 feb  2 23:15 \
drwxr-xr-x  4 root root  4096 feb  8 10:34 &
drwxr-xr-x  5 root root  4096 feb  8 09:43 #
drwxr-xr-x  3 root root  4096 feb  6 14:41 +
drwxr-xr-x  6 root root  4096 feb  6 09:15 ?
drwxr-xr-x  4 root root  4096 feb  6 04:07 ?
drwxr-xr-x  5 root root  4096 feb  6 01:13 ?
drwxr-xr-x  3 root root  4096 feb  6 02:25 ?
drwxr-xr-x  5 root root  4096 feb  3 12:25 ?
drwxr-xr-x  4 root root  4096 feb  5 23:18 ?

我不能用问号来做任何事情

我尝试输入命令mv,然后按tab,这就是我得到的

root@mycomputer:/myfolder# mv
,/                 ▒/                 7/                 h/
(/                 ▒/                 8/                 i/
[/                 ▒/                 9/                 j/
$/                 ▒/                 
\/                 ▒/

所以显然我不能重命名它们以删除它们。

有什么想法吗?

【问题讨论】:

  • 你试过用反斜杠转义字符吗?
  • 问题是,我不知道它是什么角色
  • 您是否尝试过更改您的语言环境? LANG=en_US.UTF-8

标签: linux directory special-characters rename


【解决方案1】:

最终对我有用的是我在这个问题中找到的答案之一:

rm all files except some

rm !(textfile.txt|backup.tar.gz|script.php|database.sql|info.txt)

【讨论】:

    【解决方案2】:

    如果你不需要其他目录,你可以直接

    rmdir ?
    

    或者,使用字符类(例如在 bash 中支持):

    rmdir [^789hij]  # removes all one-character directories except for 7, 9, etc.
    

    您也可以尝试mc 或其他文件管理器。

    【讨论】:

    • 我喜欢这个,我猜你可以输入所有的字母和数字并且会工作,对吧?
    猜你喜欢
    • 2014-05-27
    • 2018-05-31
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多