linux文件夹内文件复制,如何排除某个文件

求助~~~
linux下,假设某个文件夹data下,有data1、data2、data3......dataN-1、dataN,如何能将data1......data10进行复制,而不复制其他文件~~~

1、首先登录进linux系统,右键单击选择Open In Terminal选项

2、接下来我们在打开的终端命令行,首先用pwd命令查看当前目录,然后运用cp命令进行文件的复制,如下图所示,注意复制后的文件名称被修改了

3、回到桌面,我们可以看到已经有2个文件了,并且复制的文件名称也已改变

4、最后我们还可以通过cp命令直接复制文件夹到另一个文件夹,linux文件夹就可以排除某个文件了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-12

1、首先连接linux服务器,然后cd切换到需要打包的目录中,这里新建了几个测试文件来演示如何使用tar打包。

2、输入tar -czvf test.tar.gz *,星号表示当前目录下所有文件,平常我们打包默认都会使用*号来匹配所有文件,如果一个一个文件的写上太麻烦。

3、可以使用vi test.tar.gz命令进入tar包内查看打包的文件内容,如图的打包结果可以看出,目录下面的所有文件都打进去了。

4、一般在打包或备份应用程序的时候需要排除以上的日志文件,那么我们采用tar命令自带排除参数即可。

5、排除c.log文件,tar -czvf test.tar.gz * --exclude c.log,从打包结果中可以看出,c.log文件不再被打到tar包里了。

本回答被网友采纳
第2个回答  推荐于2017-09-08

Linux中在复制一个目录时排除其中的某个文件,方法案例如下:

#新建一个test1目录
[oracle@prod ~]$ mkdir test1
#新建一个test2目录
[oracle@prod ~]$ mkdir test2
#进入test1目录
[oracle@prod ~]$ cd test1
#在test1目录新建5个txt文件
[oracle@prod test1]$ touch 1.txt 2.txt 3.txt 4.txt zhidao.txt

#然后复制test1目录文件到test2目录,排除zhidao.txt
[oracle@prod test1]$cp `ls | grep -v zhidao.txt | xargs` ../test2
#进入test2目录
[oracle@prod test1]$ cd ../test2
#查看test2目录文件,已经排除了zhidao.txt
[oracle@prod test2]$ ls -lt
total 0
-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 1.txt
-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 2.txt
-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 3.txt
-rw-r--r-- 1 oracle oinstall 0 Mar 10 17:20 4.txt

第3个回答  2014-09-16
我想把挂载的文件夹 复制一份到 我自己建的文件夹下 该怎么操作
比如/home 和/aaa 把/home下的文件包括隐藏文件,复制到/aaa
我用cp -r /home /aaa 结果把整个/home复制到/aaa下了。
又用cp -r /home/* /aaa 结果隐藏文件又没复制过去。
我只想用一条命令。不要再用cp -r /home/.* /aaa
有人有办法吗?
还有就是如果不想把文件夹里面的“.”“..”两个复制过去,怎么办。
网上看到有人说用正则式,不过我刚接触linux,不是很懂。而且他上面的符号没标清楚,分不清楚单引号反引号。有简单点的吗?
第4个回答  2020-11-18
cp $(find srcDir/ ! -name "*.*") dstDir/
将当前srcDir目录下所有无扩展文件(有扩展名的被 ! -name "*.*"排除)复制到dstDir目录下;
这里排除条件可以根据自行修改;不需要进入cd srcDir目录再复制,而且这种方式还适合mv和rm等其它指令;
相似回答