linux系列(八):cp命令
1、命令格式:
cp [选项]... [-T] 源 目的
2、命令功能:
将源文件复制至目标文件,或将多个源文件复制至目标目录。
3、命令参数:
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
4、简单实例:
(1)、复制单个文件到目标目录,文件在目标文件中不存在
命令:
cp a.txt test1/
输出:
felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1 1 directory, 1 file
felix@felix-computer:~/test$ cp a.txt test1/
felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1
└── a.txt 1 directory, 2 files
(2)、目标文件存在时,会询问是否覆盖
命令:
cp -i a.txt test1/
输出:
felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1
└── a.txt 1 directory, 2 files
felix@felix-computer:~/test$ cp -i a.txt test1/
cp:是否覆盖'test1/a.txt'? y
felix@felix-computer:~/test$ tree
.
├── a.txt
└── test1
└── a.txt 1 directory, 2 files
(3)、复制整个目录
命令:
cp -r test1 test2
输出:
当文件夹存在时,赋值到目标文件夹中
felix@felix-computer:~/test$ tree
.
├── test1
│ └── a.txt
└── test2 2 directories, 1 file
felix@felix-computer:~/test$ cp -r test1 test2
felix@felix-computer:~/test$ tree
.
├── test1
│ └── a.txt
└── test2
└── test1
└── a.txt 3 directories, 2 files
当文件夹不存在时,新建
felix@felix-computer:~/test$ tree
.
├── test1
│ └── a.txt
└── test2
└── test1
└── a.txt 3 directories, 2 files
felix@felix-computer:~/test$ cp -r test1 test3
felix@felix-computer:~/test$ tree
.
├── test1
│ └── a.txt
├── test2
│ └── test1
│ └── a.txt
└── test3
└── a.txt 4 directories, 3 files
(4)、给文件创建一个快捷方式
命令:
cp -s test1/test2/test3/a.txt a_link.txt
输出:
felix@felix-computer:~/test$ tree
.
└── test1
└── test2
└── test3
└── a.txt 3 directories, 1 file
felix@felix-computer:~/test$ cp -s test1/test2/test3/a.txt a_link.txt
felix@felix-computer:~/test$ tree
.
├── a_link.txt -> test1/test2/test3/a.txt
└── test1
└── test2
└── test3
└── a.txt 3 directories, 2 files
linux系列(八):cp命令的更多相关文章
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- 动手实现linux中的cp命令(可自行拓展)
我们在学习系统编程的时候,一定会有这样的经历,让你动手实现一个简单的cp命令,也就是拷贝相应的文件到对应的目录,或者说是复制吧,当然,实现非常的简单,我们来看看源码吧: #include <st ...
- Linux下远程cp命令scp
2014-2.19 PS1.在用此命令cpLinux与Linux之间的数据时发现有些服务器上默认没有安装scp但用yum -y install scp提示么有这样的包 后来发现原来scp工具的安装包 ...
- 【Linux系列】find命令使用
Linux下find命令在目录结构中搜素文件,病执行制定的操作. 一.命令格式 find pathname -options[-print -exec -ok] 二.命令功能 用于在文件树种查找文件, ...
- Linux学习笔记--cp命令(复制)
cp:英文名copy,复制的意思. 1. 命令格式: cp [选项] 源文件或文件夹 目标文件或文件夹 cp [选项] 源文件1 源文件2 源文件3 ... 目标文件夹 2. 经常使用选项: &quo ...
- Linux系列之查找命令
前言 Linux 有四个常用的查找命令:locate.whereis.which 和 find.本文介绍它们的区别和简单用法. locate命令 这个命令将检查你的整个文件系统,并找到该关键词的每一次 ...
- Linux系列之比较命令
前言 Linux中有两个比较命令,它们分别是comm和diff,在比较文本文件的版本时通常很有用.本文介绍它们的区别和简单用法. comm命令 该命令对两个文本文件进行比较,并显示每个文件独有的行和它 ...
- Linux系列之压缩命令
前言 Linux 有三个常用的压缩命令:gzip.bzip2和 tar .本文介绍它们的区别和简单用法. 压缩文件 数据压缩是去除数据中冗余部分的过程,需要通过压缩算法完成.这些算法可分为两类: 无损 ...
- 解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法
Linux下默认cp命令是有别名的(alias cp='cp -i'),无法在复制时强制覆盖,即使你用 -f 参数也无法强制覆盖文件,下面提供几个从网上找的Linux下cp命令覆盖的方法. 1)取消c ...
- Linux下如何使CP命令不提示覆盖
在Linux下使用CP命令,经常会提示是否覆盖,如果是太批量的文件覆盖,老是这么提示,会很烦的.那如何解决这个问题呢? 我们先来看一下原因吧! 一般我们使用的命令是cp -rf sourcefile ...
随机推荐
- shell 学习笔记8-case条件语句
一.case语句简介 1.什么是case条件语句 case条件语句就相当于多分支的if/elif/else条件语句,但是比这样的语句更规范更好看,经常被用在失效系统服务启动脚本等企业应用中 程序将ca ...
- Golang高阶:Golang1.5到Golang1.12包管理
Golang1.5到Golang1.12包管理 1. 前言 Golang 是一门到如今有十年的静态高级语言了,2009年的时候算是正式推出了,然后到最近的一两年,2017-2018年的时候,突然直线上 ...
- vscode IIsExpress用法
最近前端调试项目,都要安装IIS,使用IIS Express插件不需要另外在IIS架设站点,方便使用 1.安装IIS Express插件 2.ctrl+shfit+p 启动IIS Express 命令 ...
- Linux Wireless Supported Devices
Linux Wireless Supported Devices https://ark.intel.com/content/www/us/en/ark/products/series/59484/i ...
- leetcode算法题(4)
问题描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 我的解答: package Simple; public class RoamnInt { public static ...
- 【转载】C#使用Split函数根据特定分隔符分割字符串
在C#程序开发过程中,很多时候可能需要将字符串根据特定的分割字符分割成字符或者List集合,例如根据逗号将字符串分割为数组,或者根据竖线将字符串分割成数组,C#中提供了Split()函数来快速将字符串 ...
- CentOS 7中调整默认开启终端数量
#vim /etc/securetty #然后将不需要使用到的进行注释掉就可以了 就这么简单,在强大的百度上找了半天愣是没找到
- JAVA笔记整理(一),JAVA介绍
JAVA语言的版本: J2SE(Java2 Platform Standard Edition,java平台标准版),后更名为:JAVA SE J2EE(Java 2 Platform,Enterpr ...
- C++——友元 friend
人类社会的friend VS C++世界的friend 现实世界中,我们自己很多物品,朋友是可以使用的,但是陌生人就不行.那么money,朋友可以随便拿吗?这要是你和friend的关系深浅而定.人类社 ...
- syzkaller安装
初始环境配置 sudo apt-get install subversion sudo apt-get install g++ sudo apt-get install git sudo apt in ...