linux - 如何在 UNIX 上删除带有特殊字符的目录名和带有环境变量名的目录

标签 linux unix special-characters

我在这个存储库中进行了搜索,但没有找到任何类似的问题,或者可能是我的搜索不正确。

我在我的客户端环境中遇到了这个问题,一个自定义应用程序正在使用环境变量“$SRCDIR”和“$HOME”创建目录,而创建这些目录的目录本身就是 HOME 目录路径。如果我说 rm -rf $HOME 那么 $HOME 下的所有文件和子目录都将被删除,这是当前目录。如何删除这些不需要的目录。

-rw-r--r--  1 grp domain users 418051450 Apr 18 18:09 $SRCDIR
-rw-r--r--  1 grp domain users 418051450 Apr 18 18:09 $HOME

还有一些目录是垃圾字符,如下例所示。

-rwxr-xr-x  1 grp domain users  0 Feb  7  2106 ??????w?O???*????_6??t??Ó¡?>?tP??Ñ?|?C

如何删除它们?

最佳答案

对于垃圾名称,最简单的方法是构造一个只捕获它们的通配符。选择名称的可读部分(例如 _6 子字符串)并将其用星号括起来。首先尝试一下:

ls *_6*

如果它列出了垃圾名称,请继续将其删除:

rm *_6*

如果它还列出了其他名称,请尝试使通配符更具体,在名称中使用其他可读字符:

ls *w*_6*tP*N*x*

继续,直到找到一个只匹配不需要的文件的通配符。

关于linux - 如何在 UNIX 上删除带有特殊字符的目录名和带有环境变量名的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11027566/

相关文章:

python - 导入错误:没有名为函数的模块

java - 原子文件修改

c - 从字符串中删除 '|'

php - 如何在 php 中打印 ñ

linux - 一旦执行,文件功能不会传输到进程

linux - 带有 smartctl 的 Bash 脚本不起作用

python - 如何匹配一列中的唯一元素并列出第二列中的相应值

ios - 在 iOS/objective-C 中检测下划线和插入字符

php - 使用 %C3 特殊字符时数据输入 mySQL 被截断

c++ - 在 Linux 上增加文件需要任何费用吗?