linux命令行复制文件夹(10+常用Linux命令行处理文件复制和目录复制)
我们在运维和处理Linux服务器的时候 ,交互文件的需要会用到拷贝文件和目录 。当然 ,我们有些朋友不熟悉Shell命令脚本的是直接下载到本地后通过FTP上传文件的 ,实际上 ,如果我们会用到Shell常用的复制命令是可以高效率处理文件复制和目录复制的 。比如 ,我们可以熟练运营cp命令 。在这篇文章中 ,老蒋打算整理几个常见的用cp命令复制目录和文件的案例 。
命令方法:
$ cp [OPTIONS] <SOURCE> <DEST> $ cp [OPTIONS] <SOURCE-1> <SOURCE-2> ... <DIRECTORY>这里 ,我们可以看到直接命令复制文件和目录的用法 。具体实例如下 。
1 、拷贝一个文件
$ touch file-1.txt $ cp file-1.txt file-2.txt这里我们用touch创建一个文件 ,然后用cp命令进行复制拷贝一份file-2文件 。
2 、显示复制命令进度
如果我们拷贝复制的文件很多 ,我们是不是需要看到复制进度?
cp -v file-1.txt file-3.txt这样用-v参数 ,可以看到拷贝进度 。
3 、复制多个文件到目录
比如我们需要将几个文件一起复制到一个目录 ,这个常用于文件的转移 。
$ cp -v file-1.txt file-2.txt file-3.txt dir-1这样可以将file-1-file-3复制到dir-1目录中 。
4 、避免覆盖文件
我们在复制文件的时候 ,有是重名的文件,不希望被覆盖 。
$ cp -n -v file-1.txt file-2.txt默认复制是直接覆盖的 ,这里我们可以用-n参数进行禁止覆盖 。
5 、可选是否覆盖
我们可以用参数来检测是否有重复文件 ,然后提示是否覆盖。
$ cp -i file-1.txt file-2.txt cp: overwrite file-2.txt?如果有重复的,会提示是否覆盖 。这里用到的-i参数 。
6 、覆盖之前如何备份文件
cp --backup=numbered -v file-1.txt file-2.txt7 、如何在复制前删除目标文件
cp --remove-destination -v file-1.txt file-2.txt在上面的输出中 ,我们可以看到cp命令首先删除目标文件 ,然后执行复制操作。
8 、如何创建一个硬链接文件而不是复制
$ cp -l -v file-1.txt file-4.txt我们可以创建一个硬链接 ,而不是创建源文件的新副本 。当磁盘空间不足时 ,此选项将发挥重要作用 。
所以 ,让我们使用-l选项来创建一个硬链接 。
9 、如何创建一个软链接文件而不是复制
$ cp -s -v file-1.txt file-5.txt10 、如何在复制时保存文件属性
$ cp -p -v file-1.txt file-6.txt11 、如何递归地执行复制操作
我们可以使用-r或-r选项来使用递归模式 。
$ mkdir -p dir-1/dir-2 $ touch dir-1/file-1.txt dir-1/dir-2/file-2.txt然后进行复制递归 。
$ cp -r -v dir-1 dir-312 、如何复制多个目录
$ cp -r -v dir-1 dir-3 dir-4让我们使用以下命令将dir-1和dir-3目录复制到dir-4目录 。
我们可以使用命令的-t选项来实现相同的结果 。
$ cp -t dir-4 -r -v dir-1 dir-3这样 ,我们常用的cp命令是用于复制文件和目录的 ,我们可以根据实例进行学习 。
这里cp命令说明:
-a:此选项通常在复制目录时使用 ,它保留链接、文件属性 ,并复制目录下的所有内容 。其作用等于dpR参数组合 。 -d:复制时保留链接 。这里所说的链接相当于 Windows 系统中的快捷方式 。 -f:覆盖已经存在的目标文件而不给出提示。 -i:与 -f 选项相反 ,在覆盖目标文件之前给出提示 ,要求用户确认是否覆盖 ,回答 y 时目标文件将被覆盖 。 -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中 。 -r:若给出的源文件是一个目录文件 ,此时将复制该目录下所有的子目录和文件。 -l:不复制文件 ,只是生成链接文件 。创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!