Unix Shell命令将当前目录中的所有文件复制到子目录

时间:2016-03-18 08:14:05

标签: shell unix command-line terminal

我想将当前目录中的所有文件复制到新的子目录中。什么是unix命令?

3 个答案:

答案 0 :(得分:1)

要复制所有“文件”,您需要排除其他子目录的副本。您可以使用短循环和复合命令来执行此操作,例如

for i in *; do [ -f "$i" ] && cp -a "$i" directoryname; done

有几种方法可以做到这一点。如果这给你带来任何麻烦,请告诉我。

由于您不熟悉shell编程, compound-command 只是两个与&&绑定在一起的命令(或更多)(如果第一个成功则执行第二个命令)和||(这意味着只有在第一次失败时才执行第二次)。如上所述,循环只执行以下操作:

for i in *; do                                 # for each linux-file in dir
    [ -f "$i" ] && cp -a "$i" directoryname    # test if plain file && copy
done

答案 1 :(得分:0)

您可以使用cp -R命令。如果-R标记,则递归复制目录。

例如:

cp -R directory1/ directory2/

将整个directory1复制到directory2

答案 2 :(得分:0)

替换子目录名:

$ cp -R * sub-directory-name /

相关问题