如何将带有通配符的目录复制到另一个文件夹

如何将带有通配符的目录复制到另一个文件夹

我需要制定一个 cron 来复制文件夹/home

以下是我的/home

fina
f-logistik
folder-surat-jalan
zone-A
zone-B
zone-C
zone-free

我需要复制的只是以“zone”开头的文件夹

我试过了 :

cp /home/zone* /home.bak

但返回No such file or directory

编辑:所有列表都是文件夹

编辑#2:我使用 12.04 精确..

答案1

这是因为您的$HOME不是/home。它是 的一个子目录,其/home名称与您的用户相同。因此,如果您的用户名是mootensai,您的$HOME就是/home/mootensai。为了避免这些错误,您可以简单地使用~或 ,$HOME两者都是您的实际主目录。例如,在我的系统上:

$ echo ~
/home/terdon
$ echo $HOME
/home/terdon

下一个问题是,如果你要复制多个文件,你需要确保最后一个文件是一个目录。否则,你复制的每个文件都会覆盖最后一个文件,最终你只会得到一个文件。

无论如何,您想要的命令是:

  1. 创建备份目录

    mkdir ~/backup
    
  2. 复制文件

    cp -r ~/zone* ~/backup
    

如果您在,那么最有可能的情况就是$HOME,您可以简单地执行以下操作:

cp -r zone* backup

相关内容