删除带有特殊字符的文件夹

Remove folder with special character on it

我不小心创建了一些带有特殊字符的文件夹。我已经阅读了 Whosebug 中的其他帖子,但没有用。当我输入 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/
$/                 ▒/                 
\/                 ▒/

显然我无法重命名它们以删除它们。

有什么想法吗?

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

rmdir ?

或者,使用字符 class(支持 bash):

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

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

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

rm all files except some

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