我想知道是否有我可以在终端中发出的命令,所以我不会经典地删除 ( rm) 文件,而是将其移至垃圾箱(即 Nautilus 移至垃圾箱行为)。
如果有这样的命令,我也有兴趣知道它是什么。
这是情况。
我有一个目录,其中包含许多具有不同扩展名的文件。我想删除除具有特定名称的文件之外的所有文件。
这可以使用 GUI 轻松完成,方法是全选并按下ctrl和取消选择相关文件。
这正是我想要的,但是如何从命令行执行此操作?
例如: dirA 包含以下文件:
a.txt
b.txt
c.php
d.html
a.db
b.db
e.html
Run Code Online (Sandbox Code Playgroud)
我想删除所有文件,只保留名为a.txt.
我有一个文件夹,其中包含许多文件夹和具有以下结构的不同文件:
NASA
?
??? a
? ??? doc1
? ??? doc2
? ??? doc3
? ??? folder1
? ??? folder2
?
??? b
? ??? doc1
? ??? doc2
? ??? doc3
? ??? folder1
? ??? folder2
?
??? c
? ??? doc1
? ??? doc2
? ??? doc3
? ??? folder1
? ??? folder2
?
?? x
?? y
?? z
Run Code Online (Sandbox Code Playgroud)
我想删除NASA/除指定文件夹和文件之外的文件夹 ( )的内容。
例如我想保留a文件夹、b文件夹和x文件。
我试过这个解决方案 :
rm !(a/) …Run Code Online (Sandbox Code Playgroud) 将除*.trg文件外的所有文件移动到目标目录的命令是什么?
尝试了下面的命令,但它不起作用:
mv !(*.trg) tgtdir
Run Code Online (Sandbox Code Playgroud) 使用rm *text*您可以删除所有包含特定字符串的文件。我将如何使它删除除具有特定通配符的文件之外的每个文件?
我尝试使用我发现的其他东西,例如:
find . -type f -print0 | xargs --null grep -Z -L 'text' | xargs --null rm
Run Code Online (Sandbox Code Playgroud)
或者
grep -r -L -Z 'text' . | xargs --null rm
Run Code Online (Sandbox Code Playgroud)
但这些不起作用。相反,他们正在删除给定目录中的所有文件。
我怎么能这样做?
我编译了很多C程序,每个文件都有一个.gch创建的。现在我不想要这些.gch文件,所以我决定删除它们。但是rm删除每个文件需要很多时间。那么有没有办法一次性删除具有相同扩展名的文件?
注意:我在 Ubuntu 14.04 中工作。我希望解决方案在shell或 中terminal。这个问题不是重复的,因为我只想使用rm。