linux复制当前目录到其子目录下

假设有以下目录结构,需要把当前目录.下所有文件及文件夹(dst除外)复制到其子目录dst文件夹下:

tree
.
├── dst
├── file1.txt
└── src
    ├── dir
    │   └── file3.txt
    └── file2.txt

不能直接使用cp -a . dst

cp: cannot copy a directory, ‘.’, into itself, ‘dst/.’

可行的一种方式:

ls | grep -v '^dst$' | xargs cp -at dst

# grep -v:正则匹配取反
# cp -t:  --target-directory=dir  表示将所有参数指定的源目录/文件复制到目标目录下
# cp -a:  --archive			等同于 cp -dR --preserve=all

执行结果:

tree
.
├── dst
│   ├── file1.txt
│   └── src
│       ├── dir
│       │   └── file3.txt
│       └── file2.txt
├── file1.txt
└── src
    ├── dir
    │   └── file3.txt
    └── file2.txt

如果当前目录下有.开头的隐藏文件也需要复制,则要使用

ls -a | grep -v '^\(\.\{1,2\}\|dst\)$' | xargs cp -at dst

注:需要把当前目录.和上级目录..也排除

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Linux 中,可以使用 cp 命令复制目录到目录,例如: ``` cp -r <source_directory> <destination_directory> ``` 参数 -r 表示递归复制,包括目录中的所有文件和子目录。 ### 回答2: 在Linux系统中,我们可以使用cp命令将一个目录复制到另一个目录。为了复制一个目录到另一个目录,我们需要执行以下步骤: 1. 打开终端窗口,使用cd命令进入要复制的目录所在的位置。 2. 输入以下命令来复制目录: cp -r 源目录 目标目录 其中,"-r"选项表示递归地复制目录及其内容,如果目录中还有子目录,也会被一并复制。 源目录是要复制的目录的路径,可以是相对路径或绝对路径。 目标目录是要粘贴目录的位置,可以是相对路径或绝对路径。 3. 执行命令后,系统会将源目录及其内容复制到目标目录中。 例如,假设我们要将名为"source"的目录复制到名为"destination"的目录中,我们可以在终端中输入以下命令: cp -r source destination 这将在"destination"目录中创建一个名为"source"的子目录,并将源目录中的所有文件和子目录复制到此子目录中。 请注意,在执行复制命令之前,请确保目标目录不存在,或者在复制过程中指定的目标目录没有与源目录重名的子目录。否则,系统可能会提示您确认是否覆盖已存在的目录或文件。 ### 回答3: 在Linux中,我们可以使用cp命令复制目录到另一个目录。 要将一个目录复制到另一个目录,需要使用以下语法:cp -r 源目录 目标目录。 其中,-r选项表示递归复制,会将源目录下的所有文件和子目录一同复制到目标目录中。 例如,如果我们有一个名为/source的目录,想要将其复制到目标目录/destination中,我们可以执行以下命令: cp -r /source /destination 这将在目标目录中创建一个名为source的子目录,并将源目录下的所有文件和子目录复制到这个子目录中。 如果目标目录已经存在一个名为source的目录,我们需要在复制时明确指定要创建的目标目录的名称。例如: cp -r /source /destination/new_source 这将在目标目录中创建一个名为new_source的子目录,将源目录下的所有文件和子目录复制到这个子目录中。 需要注意的是,复制目录时,我们需要确保目标目录的权限足够使当前用户能够在其中创建文件和子目录。否则,可能会出现权限不足的错误。 综上所述,使用cp命令可以轻松地将一个目录复制到另一个目录。通过递归复制,源目录下的所有文件和子目录会被复制到目标目录中,可以方便地进行文件的备份和迁移。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值