执行cp命令时提示cp: 略过目录

执行cp命令时提示cp: 略过目录

执行cp命令时提示cp: <wbr>略过目录


加入-r之后成功拷贝

执行cp命令时提示cp: <wbr>略过目录
NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --archive
              same as -dR --preserve=all

       --attributes-only
              don't copy the file data, just the attributes

       --backup[=CONTROL]
              make a backup of each existing destination file

       -b     like --backup but does not accept an argument

       --copy-contents
              copy contents of special files when recursive

       -d     same as --no-dereference --preserve=links

       -f, --force
              if  an  existing destination file cannot be opened, remove it and try again
              (redundant if the -n option is used)


用法:cp [选项]... [-T] 源文件 目标文件
 或:cp [选项]... 源文件... 目录
 或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。

长选项必须使用的参数对于短选项时也是必需使用的。
  -a, --archive            等于-dR --preserve=all
      --attributes-only    仅复制属性而不复制数据      --backup[=CONTROL        为每个已存在的目标文件创建备份
  -b                类似--backup 但不接受参数
      --copy-contents        在递归处理是复制特殊文件内容
  -d                等于--no-dereference --preserve=links
  -f, --force            如果目标文件无法打开则将其移除并重试(当 -n 选项
                    存在时则不需再选此项)
  -i, --interactive        覆盖前询问(使前面的 -n 选项失效)
  -H                跟随源文件中的命令行符号链接
  -l, --link                   hard link files instead of copying
  -L, --dereference            always follow symbolic links in SOURCE
  -n, --no-clobber        不要覆盖已存在的文件(使前面的 -i 选项失效)
  -P, --no-dereference        不跟随源文件中的符号链接
  -p                等于--preserve=模式,所有权,时间戳
      --preserve[=属性列表    保持指定的属性(默认:模式,所有权,时间戳),如果
                    可能保持附加属性:环境、链接、xattr 等
      --sno-preserve=属性列表    不保留指定的文件属性
      --parents            复制前在目标目录创建来源文件路径中的所有目录
  -R, -r, --recursive        递归复制目录及其子目录内的所有内容
      --reflink[=WHEN]        控制克隆/CoW 副本。请查看下面的内如。
      --remove-destination    尝试打开目标文件前先删除已存在的目的地
                    文件 (相对于 --force 选项)
      --sparse=WHEN        控制创建稀疏文件的方式
      --strip-trailing-slashes    删除参数中所有源文件/目录末端的斜杠
  -s, --symbolic-link        只创建符号链接而不复制文件
  -S, --suffix=后缀        自行指定备份文件的后缀
  -t,  --target-directory=目录    将所有参数指定的源文件/目录
                                           复制至目标目录
  -T, --no-target-directory    将目标目录视作普通文件
  -u, --update            只在源文件比目标文件新,或目标文件
                    不存在时才进行复制
  -v, --verbose        显示详细的进行步骤
  -x, --one-file-system    不跨越文件系统进行操作
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。
使用--sparse=never 参数禁止创建稀疏文件。

当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。

备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:

  none, off       不进行备份(即使使用了--backup 选项)
  numbered, t     备份文件加上数字进行排序
  existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
  simple, never   永远使用普通方式备份

有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
是同一个已存在的一般文件的话,cp 会将源文件备份。

请向bug-coreutils@gnu.org 报告cp 的错误
GNU coreutils 的主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告cp 的翻译错误
要获取完整文档,请运行:info coreutils 'cp invocation'


在网上search了一下CP命令的用法:


CP命令

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
【语法】 cp [选项] 源文件或目录 目标文件或目录
【说明】该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
【含义】

- a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。(复制的时候要保留文件属性用-a,不然会导致服务无法应用等问题,例如原文件拥有者为oracle,直接cp后文件拥有者变为root,会导致数据库服务器无法使用,可以使用chown修改文件拥有者,或者复制的时候直接用cp -a命令)
- d 拷贝时保留链接。
- f 删除已经存在的目标文件而不提示。
- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
例子:
cp -i file1 file2 (将文档file1 复制成 file2 . –i为提示确认)
cp file1dir1    (将文档file1 复制到目录 dir1 下,文件名仍为 file1)
cp /tmp/file1 .    (将目录/tmp 下的文档 file1复制到现行目录下,档名仍为 file1)
cp /tmp/file1 file2 (将目录/tmp 下的文档 file1现行目录下,档名为file2
cp -r dir1dir2     (recursivecopy) 复制整个目录.若目录 dir2 不存在,则将目录dir1,及其所有文档和子目录,复制到目录 dir2 下,新目录名称为dir1.若目录dir2不存在,则将dir1,及其所有文档和子目录,复制为目录 dir2)


<think>嗯,用户遇到了在Linux中使用cp命令出现'bin/cp: No match'的错误,需要解决这个问题。首先,我得回忆一下常见的导致这个错误的原因。可能的情况有几个: 首先,用户可能在命令中使用了通配符,比如星号*,而shell没有找到匹配的文件,导致通配符扩展失败。这候shell可能会报错,提示没有匹配项。例如,输入`cp *.txt /target/dir`,但当前目录没有.txt文件,就会出错。 其次,用户可能输入了错误的路径或文件名,导致cp命令找不到源文件或目标目录。比如路径中有拼写错误,或者使用了不存在的目录。 另外,还有一种可能是用户的环境变量有问题,导致系统找不到cp命令本身,但这种情况通常会提示“command not found”,而不是“No match”。不过还是需要考虑一下。 接下来,我需要按照用户提供的引用资料检查是否有相关解决方案。根据引用[2],提到了Linux命令目录和文档,可能需要查阅cp命令的正确用法。同,引用[3]和[4]提到了安装错误和构建错误,可能与当前问题无关,但引用[1]中的依赖库问题可能影响系统工具,不过可能性较低。 解决方案应该分步骤进行。首先检查通配符是否正确使用,是否存在匹配的文件。用户可能需要用引号包裹通配符,或者在未匹配设置nullglob选项。然后验证路径是否正确,使用绝对路径或检查拼写。最后,确保cp命令本身没有问题,可以通过which或whereis确认路径,并检查文件权限。 还要考虑用户可能的操作习惯,比如在脚本中使用cp命令,或者使用了特殊字符导致的问题。例如,文件名中有空格或特殊符号,可能需要用引号包裹参数。 总结下来,应该逐步引导用户检查通配符、路径、命令是否存在以及文件权限,确保每个步骤都清晰易懂。同,生成的相关问题可以帮助用户进一步了解其他可能的错误和解决方法,比如权限问题、命令不存在的情况等。</think>### 解决方案:Linux中`cp`命令出现`bin/cp: No match`错误 #### 1. **通配符扩展问题** 该错误通常由**Shell通配符未匹配到文件**引起。当使用`*`或`?`等通配符,若未找到匹配文件,Shell会直接报错。例如: ```bash cp *.log /backup # 若当前目录无.log文件,会触发"No match" ``` **解决方法**: - 使用引号包裹通配符(强制Shell将通配符传递给`cp`自身处理): ```bash cp "*.log" /backup ``` - 修改Shell行为(仅在Bash/Zsh中有效): ```bash shopt -s nullglob # 无匹配返回空而非报错 cp *.log /backup ``` #### 2. **路径或文件名错误** 若目标路径或文件名包含特殊字符(如空格、`*`、`?`),需使用引号或转义符: ```bash cp "file with space.txt" /target\ dir/ ``` #### 3. **验证`cp`命令完整性** 若怀疑`cp`命令损坏(极少见),可通过以下方式检查: ```bash which cp # 输出应为/bin/cp whereis cp # 验证二进制路径 ls -l /bin/cp # 检查文件权限(正常应为-rwxr-xr-x) ``` #### 4. **引用环境变量或脚本错误** 若错误信息包含`bin/cp`而非`/bin/cp`,可能是脚本中错误拼接了路径变量: ```bash # 错误示例 PATH_DIR="bin" $PATH_DIR/cp file1 file2 # 应使用绝对路径 ``` 应修正为: ```bash /bin/cp file1 file2 ``` --- ### 相关问题 1. **如何解决Linux命令提示"Permission denied"错误?** > 需检查文件权限(`chmod`)和所有权(`chown`)[^2]。 2. **为什么`cp`命令提示"omitting directory"?** > 复制目录需添加`-r`参数(递归复制)。 3. **如何修复"Command 'cp' not found"错误?** > 可能因环境变量损坏导致,需检查`$PATH`或重装coreutils包[^1]。 : 依赖库路径问题可能影响命令执行环境 : Linux基础命令文档可参考en.tldp.org和linux.die.net
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值