使用 shell 脚本一次隐藏多个文件

使用 shell 脚本一次隐藏多个文件

我尝试使用某些命令隐藏一些文件,我尝试了 rm 命令,但没有成功,还尝试了重命名,但不明白它是如何工作的。我想隐藏的文件名称中有空格,我只想在名称前面加上点以隐藏它们。有人能帮助我吗?

答案1

在终端中尝试一下

    $ for i in *
    > do
    > mv "$i" ".$i"
    > done

它隐藏了当前目录中的所有文件。我希望这就是你要找的。编辑:在 周围添加了引号$i

答案2

您可以使用mmv

mmv -v "*" ".#1"

簡單切中要点!

要取消隐藏它们:

mmv -v ".*" "#1"

答案3

rename 's/^/./' file1.txt 'file with spaces' 'third file.mkd'

当然,你也可以使用 globs。下面将在每个以 结尾的文件开头添加一个点.txt

rename 's/^/./' *.txt

或者你可以隐藏所有以 开头foo和结尾的文件.mkd

rename 's/^/./' foo*.mkd

rename正在使用替代命令:s/foo/bar/将第一个替换foobar。除了foo,您还可以使用正则表达式,在正则表达式中,^表示“行的开头”。因此,s/^/./指示rename“将行的开头替换为.”。也就是说:它将点放在第一个字符。

您还可以使用-n选项进行“测试运行”——这样,rename实际上不会重命名文件,但会列出它将有改变了,你没有使用标志-n

rename -n 's/^/./' *.txt

答案4

我喜欢的方法是使用“Nautilus-Actions-Extra”包中的“nautilus-hide”:

sudo add-apt-repository ppa:nae-team/ppa
sudo apt-get update
sudo apt-get install nautilus-actions-extra nautilus-hide
nautilus -q

在 Nautilus 中选择文件/文件夹后,从上下文菜单中选择(取消)隐藏 > 隐藏。

这将创建一个名为“.hidden”的文件,其中包含要隐藏的文件/文件夹的列表。

相关内容