重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在linux系统中复制文件我们可以使用cp或copy命令了,我们要复制文件或目录都可以使用它们两来完成哦,下面我来给大家介绍cp或copy命令与复制目录到指定目录的命令吧。 copy命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。
创新互联专注于静安企业网站建设,成都响应式网站建设公司,商城网站建设。静安网站建设公司,为静安等地区提供建站服务。全流程定制网站开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
语法: cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下: - a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。 - d 拷贝时保留链接。 - f 删除已经存在的目标文件而不提示。 - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 - p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 - r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 - l 不作拷贝,只是链接文件。
需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
例1 复制指定目录下的全部文件到另一个目录中 文件及目录的复制是经常要用到的。linux下进行复制的命令为cp。 假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了 如果dir2目录不存在,则可以直接使用 cp -r dir1 dir2 即可。 如果dir2目录已存在,则需要使用 cp -r dir1/. dir2 如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。 ps:dir1、dir2改成对应的目录路径即可。
例2 复制指定文件到指定文件夹 首先建立一个用于测试的目录,用'tree'命令查看其结构如下所示: 可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*。tes文件 目标是保持当前的目录结构,只把txt文件复制出来
方法一:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成 Step1 使用命令 cp -r test/ test2 将测试目录test下所有内容完全复制到test2,此时树形结构如下图 Step2 组合使用find及xargs,将*.tes文件删除 xargs是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数 命令find test2/ -name '*.tes' |xargs rm -rf, 即将find产生的输出(test2目录下的所有tes文件),作为rm的参数,从而完全删除 实际效果如图所示 适用场景举例:把项目文件备份,要去除其中的.svn文件,可以采用这种方式
方法二:需要的文件为单一类型,带目录结构复制 这种情况下可以使用tar命令将指定类型的文件打包,然后解包,同样需要组合使用find和xargs Step1 建立目录test3 mkdir test3 Step2 将指定类型文件带目录结构打包 find test/ -name '*.txt' |xargs tar czf test3.tgz Step3 解包到目录test3 tar zxvf test3.tgz -C test3
常用的命令为# cp命令
方式一:对文件进行copy:
#cp object_file source_file
方式二:对目录下文件进行copt:
#cp -r object_file source_file
补充cp的参数:
用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --archive 等于-dR --preserve=all
--backup[=CONTROL 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
--copy-contents 在递归处理是复制特殊文件内容
-d 等于--no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当 -n 选项
存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H 跟随源文件中的命令行符号链接
-l, --link 链接文件而不复制
-L, --dereference 总是跟随符号链接
-n, --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference 不跟随源文件中的符号链接
-p 等于--preserve=模式,所有权,时间戳。《Linux就该这么学》里有相关介绍,建议看看。
1,将文件从/etc/aaa.gz拷贝到/tmp/目录下:
cp
/etc/aaa.gz
/tmp/
将文件从/etc/aaa.gz拷贝到/tmp/目录下,并给它命名为bbb.gz
cp
/etc/aaa.gz
/tmp/bbb.gz
将目录/etc/fold/拷贝到/tmp/目录下
cp
-rf
/etc/fold
/tmp/
注:-r
用来拷贝文件夹,-f
用来强制拷贝不提示确认
2,linux里给/etc/aaa.gz创建一个叫bbb.haha的链接,并移动到/usr目录下
ln
-s
/etc/aaa.gz
/usr/bbb.haha
注:-s是用来创建软连接,类似windows上的快捷方式。
3,linux里给/etc/qqq.gz改名为bbb.gz
mv
/etc/qqq.gz
/etc/bbb.gz
linux如何复制文件夹和移动文件夹
linux下文件的复制、移动与删除命令为:cp,mv,rm
一、文件复制命令cp
命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 ... directory
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2
二、文件移动命令mv
命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2
三、文件删除命令rm
命令格式:rm [fir] 文件或目录
参数说明:
-f:强制删除
-i:交互模式,在删除前询问用户是否操作
-r:递归删除,常用在目录的删除
如删除/test目录下的file1文件,可以输入以下命令:
rm -i /test/file1
复制:
CP命令
格式: CP [选项] 源文件或目录 目的文件或目录
选项说明:-b 同名,备分原来的文件
-f 强制覆盖同名文件
-r 按递归方式保留原目录结构复制文件
cp -Rf /home/user1/* /root/temp/
将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。
即格式为:cp -Rf 原路径/ 目的路径/
移动:
mv ./WorkReport/web.xml ./WorkReport/WEB-INF/注:移动/WorkReport/web.xml文件到/WorkReport/WEB-INF/mv /data/new/data/old/注:移动/data/new到/data/old/文件夹下
注意点:移动文件夹的话就不要再加 / 了
如果是移动文件夹下的所有文件的话就可以文件夹后面跟上 /*
mv /data/new/* /data/old/