【问题标题】:Linux cp command to copy a folder to current directoryLinux cp 命令将文件夹复制到当前目录
【发布时间】:2015-04-14 12:13:01
【问题描述】:

我想知道是否有一个相同的命令可以像使用旧的 MS-DOS 一样将文件夹复制到当前目录。假设我当前的目录位置是:

/var/www/

我的文件夹和文件位于:

/home/hope/subfolder/docs/
/home/hope/subfolder/images/
/home/hope/subfolder/.config
/home/hope/subfolder/readme.txt

我知道以下命令:

cp -rT /home/hope/subfolder .

会将“子文件夹”文件夹中的所有文件(甚至点隐藏文件)和文件夹复制到当前目录,因此结果将是:

/var/www/docs/
/var/www/images/
/var/www/.config
/var/www/readme.txt

看起来将源文件夹复制到当前位置的命令是:

cp -rT /home/hope/subfolder ./subfolder

虽然这很好,但我发现有时我会为目的地的复杂文件夹名称出错,所以有没有办法使用类似的命令:

cp -rT /home/hope/subfolder .

甚至像这样

cp -rT /home/hope/subfolder /var/www/.

得到以下结果:

/var/www/subfolder/docs/
/var/www/subfolder/images/
/var/www/subfolder/.config
/var/www/subfolder/readme.txt

谢谢。

【问题讨论】:

  • 你试过 cp -r /home/hope/subfolder /var/www/
  • 只需省略-T 参数,它就会完全按照您的意愿行事。

标签: cp


【解决方案1】:

只需省略 -T 参数,因为这会阻止命令正常工作:

cp -r /home/hope/subfolder .

-T 参数将目标参数视为一个文件,因此如果它实际上是一个目录,则根本不会执行复制。

友情提示:几乎所有 Unix 命令都有一个 --help 命令行参数,在遇到问题时值得一试:)

【讨论】:

  • 我明白了 :) 这是否也允许复制“子文件夹”中的隐藏文件?谢谢!
  • 当然。阅读手册页就像阅读数学论文。不好玩。
【解决方案2】:

对我来说,主要的障碍是 /home 部分。我需要将我家中以字母“a”开头的文件夹中的文件复制到我当前不在家的文件夹中。所以我用了:

cp home/tmp/a* ./

第一行对我有用。当我尝试以下命令时:

cp ~/home/tmp/a* ./

但这不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-04
    • 2023-04-02
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2016-01-17
    相关资源
    最近更新 更多