Questions tagged «cp»

cp-复制文件的命令行工具

1
cp表示正在删除文件,但不应删除
快速备份: root@guilmon:/mnt/backup/guilmon/home# cp -uvfrx --preserve=all /home/rena/ . 输出令人惊讶-据说某些文件已被删除! removed ‘./rena/dev/lua/conkybitcoin/conkybitcoin.lua’ 被删除的文件似乎是随机的,没有变化。为什么说要删除它们?甚至很陌生,它似乎并没有实际删除该文件(也不删除源文件)。这是怎么回事?
10 backup  cp 

2
cp:不能统计:没有这样的文件或目录
尝试使用将文件从本地计算机复制到远程服务器时出现错误ssh。无论使用cp还是,都会出现相同的错误scp。 这是我对产生的错误的输入: [root@xxx.xx.xxx.xx /]# cp /home/username/some.xml root@xxx.xx.xxx.xx:/path/to/directory/ cp: cannot stat ‘/home/username/some.xml’: No such file or directory 我已经检查过,并且/home/username/some.xml本地计算机上的路径中肯定有一个文件。 本地计算机和远程服务器都在运行CentOS 7。如何解决此错误并成功复制?
10 ssh  centos  cp  scp 

2
什么时候使用cp --attributes-only
在我想对命令使用以下命令行选项时--attributes-only,对基本的Unix命令进行一些研究并尝试获取示例cp 这是从cp手册页 --attributes-only don't copy the file data, just the attributes
10 files  cp 

5
如何完全按原样复制文件系统?
我有一个要编程的设备的文件系统,我想对其进行精确复制。理想情况下,我希望此副本与从其复制的文件夹相同。我已经尝试使用cp -r cp -a并rsync -azvP尝试实现这一目标。尽管每个文件夹都将导致一个具有不同大小的文件夹(使用du -s),并且最终即使我的设备运行的文件夹不是原始文件夹,也不会运行我复制的文件夹。 我所使用的命令没有说明什么而导致的遗漏呢? 复制文件系统/文件夹时,是否可以使所有内容保持一致?如果是这样,我将如何去做? PS我在StackOverflow上发布了类似的问题,但很快意识到我在错误的交换上提出了要求 编辑:这可能无济于事,但是无论我使用哪种方法复制的目录始终会导致有问题的计算机出现以下输出,导致内核崩溃。 VFS:尝试通过软盘无法通过NFS挂载根fs。VFS:无法打开根设备“ nfs”或unknown-block(2,0),请附加正确的“ root =”引导选项;这里是可用的分区:1f00 64 mtdblock0(驱动程序?)1f02 64 mtdblock2(驱动程序?)1f04 2432 mtdblock4(驱动程序?)1f05 128 mtdblock5(驱动程序?)1f06 4352 mtdblock6(驱动程序?)1f07 204928 mtdblock7(驱动程序?)1f08 50304 mtdblock8(驱动程序?)0800 8388608 sda驱动程序:sd内核崩溃-不同步:VFS:无法在未知块(2,0)上安装根fs
10 linux  filesystems  rsync  cp 

2
为什么`cp`和`rm`分别对待目录?
为什么喜欢cp和rm对待目录的工具与常规文件分开?它们都要求用户明确指定她想要递归的行为,否则他们将根本不处理目录。 我与计算机的第一次交互(前一段时间)是在Windows / GUI /指向和单击/拖放环境中,无论目标如何,这些操作的表现总是很自然的。 当我使用通配符命令时,这种行为使我特别沮丧。如果我想删除目录(*)中除非空子目录以外的所有内容,该怎么办? 我只能想象这是一种安全性功能,可以防止用户用脚砸自己,但这与我对Unix原则的理解相矛盾: Unix通常不会保护用户免受自己的伤害。一直假设用户知道她在做什么。 对于Unix,所有内容都是文件。目录不只是另一个文件吗?为什么要区别对待他们? 我的问题: 这种行为是出于技术限制还是故意选择的? 如果是后者, 是否有任何历史原因说明了这种选择的原因?
10 rm  cp 

2
来自另一个目录的tar文件而不复制它们
对于这里的专家来说,这应该非常简单。 我有一个Linux帐户,用户磁盘配额仅为6GB。/opt当压缩达到1GB时,其中包含一些数据文件夹,其中包含约3GB的数据。中有一些符号链接data-folder。通常,为了进行工作备份,我通常执行以下操作。 cp -rvfL /opt/data-folder ~/ cd ~/ tar -zcvf data-folder.tar.gz data-folder rm -rvf data-folder 现在我已经消耗了2.5GB的用户磁盘配额,我只有足够的空间来将文件复制到我的家中,但不能tar再复制到我的家中。 有什么方法可以通过单个命令(例如,使用管道)将tar复制和复制文件夹。 附言:我无法/opt读入,因为我只有对的读取权限/opt。
10 files  tar  cp 

3
cp --no-target-directory说明
问题:我需要一个有关如何使用的简单示例cp --no-target-directory。 我的理解确实有些困难cp --no-target-directory。我确实理解了解释mv --no-target-directory,但我真的无法想象将其用于的方法cp。 例如,命令mv /tmp/source /tmp/dest成功执行后,不能保证将/tmp/source其重命名为/tmp/dest:/tmp/dest/source如果将其他进程创建/tmp/dest为目录,则可以将其重命名为。但是,如果mv -T /tmp/source /tmp/dest成功,毫无疑问/tmp/source was renamed to/ tmp / dest`。(来源)

5
如何以事务方式复制文件?
我想将文件从A复制到B,这可能在不同的文件系统上。 还有一些其他要求: 副本是全部或全部,崩溃时不保留任何部分或损坏的文件B; 不要覆盖现有文件B; 不要与并发执行同一命令竞争,最多只能成功。 我认为这很接近: cp A B.part && \ ln B B.part && \ rm B.part 但是3.如果B.part存在(即使带有-n标志),则cp不会违反cp违反。随后,如果其他进程“赢得” cp并且链接到位的文件不完整,则可能1.失败。B.part也可能是不相关的文件,但在这种情况下如果不尝试其他隐藏名称,我很乐意失败。 我认为bash noclobber会有所帮助,这样是否可以充分发挥作用?有没有没有bash版本要求的方法? #!/usr/bin/env bash set -o noclobber cat A > B.part && \ ln B.part B && \ rm B.part 跟进,我知道某些文件系统无论如何都会失败(NFS)。有没有办法检测这种文件系统? 其他一些相关但不完全相同的问题: 跨文件系统的近似原子移动? 我的FS上的MV是原子的吗? 有没有办法将文件和目录从tempf原子地移动到eMMC上的ext4分区 https://rcrowley.org/2010/01/06/things-unix-can-do-atomically.html
9 linux  bash  cp 

4
文件中的grep单词,然后复制文件
我有一组文件(* .zip,*。txt,*。tar.gz,*。doc,... etc)。这些文件位于路径中。我想查找所有文件(* .txt),然后仅复制包含特定单词的文本文件(例如LINUX / UNIX)。 我执行以下操作: find . -name "*.txt" | grep 'LINUX/UNIX' 该命令能够找到所有文本文件,然后“ grep”通过仅列出包含“ LINUX / UNIX”的文本文件来过滤生成的文本文件。 如何将这些最终文件(即包含“ LINUX / UNIX”的文本文件)复制到特定的选择路径? 我试图申请 xargs find . -name "*.txt" | grep 'LINUX/UNIX' | xargs cp <to a path> 但这没用

1
如何在Linux中使用sshpass和scp查看进度?
在我的Linux终端中,我正在使用此命令 sshpass -p "pass" scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop 下载带有密码的文件。没有sshpass,我可以看到下载进度,但是有了它,直到完成,它还是空白,我看不到它。 有没有办法我可以用sshpass看到它?
9 scp  cp 

1
复制目录的文件继承权限?
我已将文件创建到我的主目录中,并且只有用户具有读取权限(r-- --- ---)。我想将此文件复制到另一个/etc/test/文件夹权限为744(rwx r-- r--)的目录。我需要允许要复制的文件继承复制文件夹的权限,因为到目前为止,当我复制该文件时,文件的权限仍然相同(r-- --- ---)。我已经尝试过setfacl命令,但是没有用?请帮忙。 PS。我不能只是chmod -r /etc/test/因为有很多文件会随着时间的推移而复制到此文件夹中,并且我不想每次复制文件时都运行chmod命令。

2
cp -a的更快替代品
对于将/ home轻松转移到另一个磁盘,我cp -a认为这是一种极其缓慢的方法。应该知道一种更有效的方法来完成任务。我已将/ home挂载为逻辑卷,但是目标磁盘不是LVM系统
9 cp  file-copy 

6
sh递归副本(cp -r)-如何排除子文件夹
我需要运行使用远程脚本ssh通过Ruby(网/ SSH)递归复制文件夹,并排除子文件夹。我正在寻找最快的方法,所以这样做rsync不是很好。另外,我了解ssh使用sh而不是bash。 在bash中,我这样做: cp -r srcdir/!(subdir) dstdir 而且效果很好。但是,当我通过启动脚本时ssh收到错误消息 sh: 1: Syntax error: "(" unexpected 因为它正在使用sh。 我已经检查了sh手册页,但是没有排除文件的选项。 我ssh使用sh正确的假设吗?还有其他建议吗? 编辑1: 如果有用,则输出sudo cat /etc/shells如下: # /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /usr/bin/screen 编辑2: 确定。因此,bash可用,这似乎不是问题。我已验证ssh实际上正在使用bash。这个问题似乎与括号或感叹号的转义有关。我试图从外壳(macos)运行命令,这是实际的命令: ssh -i .ssh/key.pem ubuntu@X.X.X.X 'mkdir /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N; cp -r /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/mesh/!\(constant\) /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N; ln -s /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/mesh/constant /home/ubuntu/OpenFOAM/ubuntu-4.1/run/LES_New-Area_residuals2/N/constant' 这样我会收到另一个错误 cp: …
8 shell  ssh  cp 

2
cp:无效选项-'o'
我正在GitHub上安装脚本,步骤之一是: cp sources/openssl/1.0.1p/Android.mk -o sources/openssl/$OPENSSL_VERSION/Android.mk 但是我的终端抛出了一个错误 cp: invalid option -- 'o' 我检查man cp了我的Ubuntu,没有选择-o。这是MAC OS吗?代表什么cp -o?
8 cp 

4
将具有目录结构的特定子文件夹复制到新文件夹
我有以下目录结构: Main_Dir | ----------------------------------- Subdir1 Subdir2 Subdir3 | | | --------- --------- --------- | | | | | | | | | fo1 fo2 f03 fo1 fo2 f03 fo1 fo2 f03 我想所有的子目录(复制Subdir1,Subdir2,Subdir3),以一个新的文件夹。但是我只想在新位置复制fo1和fo2文件夹。 不知道怎么做。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.