linux如何复制文件夹下所有文件但不复制子目录

发布网友 发布时间:2022-04-19 23:51

我来回答

6个回答

热心网友 时间:2022-05-04 11:24

直接使用cp命令即可,cp加-R参数才会复制子目录,不加此参数时只复制文件,使用:cp 源目录/* 目标目录 格式命令可实现复制文件夹下所有文件但不复制子目录目的。

cp命令说明:
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
语法
cp(选项)(参数)
选项
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
参数
源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;
目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。
示例:
cp aaa/* /bbb
复制目录aaa下所有文件到/bbb目录下

热心网友 时间:2022-05-04 12:42

DIR=$1 #所要复制的目录绝对路径
DDIR=$2 #复制的目标目录绝对路径
for i in $DIR/*
do
if [ -d $i ] ;then
#echo $i
mkdir -p $DDIR/${i##*/}
else
cp $i $DDIR/
fi
done
exit 0
######
复制上面的代码,做个脚本
纯手打,已在本人linux环境下亲测。给分吧!

热心网友 时间:2022-05-04 14:16

告诉你吧,这个功能是不能实现的。要么只拷贝文件,要么拷贝文件和文件夹,也包括文件夹下的子目录文件。

热心网友 时间:2022-05-04 16:08

cp命令是复制的, 但是不能做到那样, 这个需要编程技术了哦, 使用shell, python都能搞定
能看一下my网名吗?这种问题能帮助解决一下的哦

热心网友 时间:2022-05-04 18:16

使用find的命令附加一个执行文件拷贝的命令。
例如:
find . -exec cp {} /path/to/target/dir/ \;

热心网友 时间:2022-05-04 20:40

比如要把/home/service 下的所有文件复制到/tmp下
for pre_file in $(ls /home/service);do
[ -f $pre_file ]&&cp -af $pre_file /tmp/

done

或者

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