linux中怎么复制文件夹里面内容到另一个文件夹。包括隐藏文件。

发布网友 发布时间:2022-04-23 05:41

我来回答

4个回答

热心网友 时间:2022-05-26 09:08

还有就是如果不想把文件夹里面的“.”“..”两个复制过去,怎么办。

我晕..这个不是文件,而是本级目录标示和上级目录标示..在任意的目录里都有的..

另外,cp -rt /home /aaa是将所有文件全复制的,包含隐藏文件也可以.其中-t参数是拷贝所有源的参数到目标文件(但是其实不要这个也没多大区别).

正则表达式其实和批量处理差不多,就是一次处理所有满足参数设定的表达式.不会的话,也可以通过bash来进行这样的操作.

你现在的问题已经不是你原来题目的意思了.
你原来的题目是:比如/home 和/aaa 把/home下的文件包括隐藏文件,复制到/aaa
那么我的做法并没有问题.
然而你现在的问题非常针对这个文件夹的特点.由于/home目录夹下的一般性质都是一些隐藏类型的.bash之类的配置文件,但是如果你是想复制这个文件夹的内容,那根本不需要这么麻烦.
你的做法之所以不对是因为 .* 这个只能说明这里有.开头的所有字母.但是..这条也默认正确了.我认为,首先就要确定至少有2个字符,这个以一来, .[^.]* 这样就能表示了(当然我只是提出这个概念,因为我不太清楚怎么是非点的具体指令,但是这个意思应该是没有错,就是说,以.开头的,[^.]表示1个字符,而且是非.的字符(当然这条的写法是错的,我只是说这个概念),*表示有0个或者0个以上的任意字符串.如果照这条做法来说,以.和..这两个是肯定不符合要求的,这样的话,所有的隐藏文件都符合要求了.只不过,注释化的这个点使用`.`还是'.',我不太清楚,平常用少.

热心网友 时间:2022-05-26 10:26

不好意思,刚答错了,考虑了下:
看来真得得把. 和 .. 过滤掉才行

目前想到了两种简单的解决途经:
1.使用 ls -A 可以列出所有项目除了. ..
try : cd /home; cp `ls -A` /aaa -r

2.使用 -a 会列出所有项目除了. .. 路径及大小
try : cp ` -a /home|awk '{print $2}'|grep \/` /aaa -r

热心网友 时间:2022-05-26 12:01

cp -rfa /home/* /aaa
如果要复制权限的话 我想想 好像是加上, 你可man看一下参数
.是当前目录 ..是上层目录
算了我告诉你吧
-r 是复制目录
-f 是递归
-a 尽可能的保留文件结构和属性(权限)

热心网友 时间:2022-05-26 13:52

你的/aaa目录是空的吗?

如果你的/aaa目录没有东西,删除它,然后再用下面的命令复制:

cp -R /home /aaa

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com