Hor*_*ing 13 command-line bash
我想wordpress-891.sql
从当前目录(不在子目录中)中删除任何看起来像的文件。
会成功rm wordpress-*.sql
还是会从子目录中删除匹配项?
Zan*_*nna 20
不。正常的 globbing*
不是递归的,rm
.
如果目录名称匹配,则不会将其删除 - 您需要该-r
标志来删除目录。
因此,如果您确定要删除这些文件,那么这样做是安全的。
还可以rm
互动
rm -i wordpress-*.sql
Run Code Online (Sandbox Code Playgroud)
然后它会在删除每个文件之前要求确认
Rav*_*ina 14
是的,它可以为您解决问题并删除当前目录中具有该架构的所有文件。不,它不会删除子目录中的文件。
当您不确定运行以下命令时会发生什么时:
rm wordpress-*.sql
Run Code Online (Sandbox Code Playgroud)
然后使用ls
以下命令运行它:
ls wordpress-*.sql
Run Code Online (Sandbox Code Playgroud)
您在输出中看到的文件是将被删除的文件。
当您尝试获取如下列表时:foo*
最好使用-d
switch withls
来防止列出名为foobar/
etc的目录的文件。
ls -d foo*
Run Code Online (Sandbox Code Playgroud)
这个技巧适用于不用于递归完成工作的命令。
您可以做的另一件事是输入您想要的输入,例如:wordpress-*
然后按Ctrl+ Alt+ *,现在所有匹配项都会在您的命令前自动输入。
wja*_*rea 12
不,rm
不会通过子目录递归。
有关删除子目录中文件的方法,请参阅删除所有子目录中的匹配文件 - SuperUser。
如果您担心不小心删除了重要的内容,请使用gvfs-trash
(将文件发送到垃圾箱)而不是rm
(永久删除文件)。