我有一个具有以下结构的网络项目:
application/
dumps/
nginx/
logs/
.git/
docker-compose.yml
Dockerfile
README.md
.gitignore
由于多种原因,我想解散应用程序文件夹并将所有文件复制到根目录。我想像往常一样通过 CLI 执行此操作。但是,目前我没有任何进展。
我尝试了以下操作。我在项目的根目录中。
cp -r application/ ./
// output cp: 'application/' and './application' are the same file
cp -r app/*.* ./
// copy only the root files from application to the project root and not the folders.
这很有逻辑。我该如何制定命令,以便它只将文件复制到根目录?这可能只是一件小事,但对我来说还太早。
答案1
好的。我明白了。确实太早了 ;-) 正确的命令应该是:
cp -a app/. ./
最好使用 -a 选项而不是 -r 选项。这是一个改进的递归选项,意味着保留所有文件属性,并保留符号链接。找到了:如何使用终端将一个文件夹的内容复制到不同目录中的另一个文件夹?
源路径末尾的 . 是特定的 cp 语法,允许复制所有文件和文件夹,包括隐藏的文件和文件夹。
答案2
您只需要在命令末尾使用通配符,如下所示:
cp -r application/* ./