有没有办法将scp目录中的所有文件递归到远程计算机并保留其原始文件名但不复制它所在的目录?
dir1/file
dir1/dir2/file2
Run Code Online (Sandbox Code Playgroud)
所以内容dir1只会被复制.dir1不会被创建.该dir2目录将在file2内部创建.
我已经尝试scp -r dir1 remote:/newfolder但它dir1在/newfolder目录中创建remote.我不希望它创建该dir1目录.只需将所有文件dir1放入其中即可newfolder.
Jon*_*ler 19
cd dir1
scp -r . remote:/newfolder
Run Code Online (Sandbox Code Playgroud)
这样可以避免scp有机会对dir1远程计算机上的名称执行任何操作.您可能也更喜欢:
(cd dir1; scp -r . remote:/newfolder)
Run Code Online (Sandbox Code Playgroud)
这使得shell保留在其原始目录中,同时工作相同(因为它启动了执行cd和scp操作的子shell ).
这意味着将shell扩展dir1/*生成的文件列表复制到远程位置remote:/ newfolder
scp -r dir1/* remote:/newfolder
Run Code Online (Sandbox Code Playgroud)