这是描述这一点的最佳方式:
dirA
dir1
file1.txt
file3.txt
dirB
dir1
file1.txt
file2.txt
Run Code Online (Sandbox Code Playgroud)
我想将 dirB 的内容复制到 dirA 中。 cp -R dirB/* dirA将删除dir1和复制文件,导致:
dirA
dir1
file1.txt
file2.txt
Run Code Online (Sandbox Code Playgroud)
但我想合并它们(就像在 Windows 上一样)并最终得到:
dirA
dir1
file1.txt
file2.txt
file3.txt
Run Code Online (Sandbox Code Playgroud)
建议?我试过了ditto,但这似乎忽略了递归部分,只是将所有文件转储到顶级文件夹中。
我有几个文件夹,比如/music/1/a.mp3和/music/2/b.mp3
所有文件名本身都保证不同。
有没有办法,可能使用终端,将这些文件复制到/musicTemp/排除文件夹?
换句话说,上面两个例子的结果应该是:
/music/1/a.mp3
/music/2/b.mp3
Run Code Online (Sandbox Code Playgroud)
进入:
/musicTemp/a.mp3
/musicTemp/b.mp3
Run Code Online (Sandbox Code Playgroud) 我有一个文件file_copy,其中有:
>cat file_copy
file1
file2
file3
Run Code Online (Sandbox Code Playgroud)
我想复制file1, file2,file3从/source到/dest。我知道如何做到这一点的一种方法是:
for line in `cat file_copy` ; do cp /source/$line /dest; done
Run Code Online (Sandbox Code Playgroud)
但我知道有更好的方法,可能使用 find/xargs 和/或 awk 等。这样做的首选方法是什么?
我知道这里有人问过一些类似的问题,我确实阅读了它们......但是,我仍然无法将文件从远程机器复制到我的本地计算机......我不断收到诸如“没有这样的文件”之类的错误或目录”
这就是我所做的。我在 MacOS 上打开终端,登录到远程机器,登录到cd我想要的文件夹。现在,在这个文件夹下我有一个 .txt 文件,说“error.txt”,我想把这个文件复制到我的本地桌面。
只需将桌面文件夹拖到终端中,我就可以获得本地桌面的目录,我得到了一个路径 /Users/myname/Desktop
然后我尝试了以下命令(在文件夹下 error.txt 在远程机器内):
scp -r error.txt /Users/myname/Desktop
Run Code Online (Sandbox Code Playgroud)
或一些变化
scp -r error.txt :/Users/myname/Desktop
scp -r error.txt ~/Users/myname/Desktop
scp -r error.txt Users/myname/Desktop
Run Code Online (Sandbox Code Playgroud)
但他们所有人都不断给我这样的错误
cannot create regular file `/Users/myname/Desktop': No such file or directory
Run Code Online (Sandbox Code Playgroud)
也许我的麻烦是如何正确写入我的本地路径?但是我可以/Users/muname/Desktop在本地机器内使用路径 cd 到我的本地桌面...
有帮助吗?谢谢!
我需要一个 unix 命令来执行以下操作:
目录结构
/project
/images
/products
/cup.jpg
/laptop.jpg
/designs
/alpha.jpg
/beta.jpg
/gamma.jpg
/team
/jeff.jpg
/locations
/new-york.jpg
Run Code Online (Sandbox Code Playgroud)
我想要一个命令将所有文件*而不是文件夹从“图像”目录递归复制到这样的东西。
/assets
/cup.jpg
/laptop.jpg
/alpha.jpg
/beta.jpg
/gamma.jpg
/jeff.jpg
/new-york.jpg
Run Code Online (Sandbox Code Playgroud)
我试过了,但它只是递归地复制了文件夹 cp -r ./project/images/* ./assets/
在Linux中如何使用cp一个可以将文件复制到目标,但如果目标存在,则仅当目标比源旧时才覆盖?
cp -f总是覆盖,但只有当目标比源旧时才需要覆盖。
我知道使用 -f cp 应该保持沉默,但事实并非如此!我愿意
cp -rf Functional Functionalssssssss
Run Code Online (Sandbox Code Playgroud)
如果 Functional 不存在,它会说 cannot stat 'Functional'...但我只是不想看到错误消息!!我想自己处理
这是我的文件结构:
- someDirA
- folderOne
- folderTwo
- somefile.txt
- someotherfile.txt
- someDirB
- somefolder
Run Code Online (Sandbox Code Playgroud)
我希望 'someDirB' 看起来像:
- someDirB
- somefolder
- folderTwo
- somefile.txt
- someotherfile.txt
Run Code Online (Sandbox Code Playgroud)
我只想将 someDirA 的 folderTwo(文件夹及其所有内容)复制到 someDirB 中。两个目录都在不同的路径中。
我有一个目录说~/MyWorks其中包含以下文件:a.c, b.c and c.c
我想将MyWorks目录复制到~/MyAssignments只MyWorks复制目录而不复制其中的文件。我应该如何最好地解决这个问题?
如果我在一个名为 /usr/share/tcl8.3/encoding 的目录中,什么命令会复制所有以“cp”开头且包含偶数的文件(来自以下列表):
cp1250.enc cp1255.enc cp737.enc cp857.enc cp864.enc cp932.enc
cp1251.enc cp1256.enc cp775.enc cp860.enc cp865.enc cp936.enc
cp1252.enc cp1257.enc cp850.enc cp861.enc cp866.enc cp949.enc
cp1253.enc cp1258.enc cp852.enc cp862.enc cp869.enc cp950.enc
cp1254.enc cp437.enc cp855.enc cp863.enc cp874.enc
Run Code Online (Sandbox Code Playgroud)