- 浏览: 4754193 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
bzhao:
你也应该可以这样:(not tested)./rbtunnel ...
在Bash脚本中怎么关闭文件描述符? -
bzhao:
如果有A进程原代码情况下,通过如下调用,把他的子进程继承关闭则 ...
在Bash脚本中怎么关闭文件描述符? -
Master-Gao:
楼主咋没分析下源码呢?
我使用过的Linux命令之dirname - 截取给定路径的目录部分 -
jiedushi:
tail -F 就可以吧
Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 -
java_is_new:
新手学习了,就是不明白为一个网卡配多个ip有什么用
我使用过的Linux命令之ifconfig - 网络配置命令
我使用过的Linux命令之cp - 复制文件
本文链接:http://codingstandards.iteye.com/blog/787861 (转载请注明出处)
用途说明
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。
[root@jfht ~]# type -a cp
cp is aliased to `cp -i' <== 在命令行状态,cp实际上是个别名
cp is /bin/cp
[root@jfht ~]#
常用参数
-i 询问是否覆盖。
-f 强制覆盖,但如果有-i参数时,此参数无效。
-r 递归复制。
-a 递归复制,并且保留文件的时间、权限、属主等属性。
使用示例
示例一 复制单个文件
[root@jfht ~]# ls >ls0.txt
[root@jfht ~]# ls -l ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
等待两分钟再操作。因为同一分钟看不出效果。
[root@jfht ~]# cp ls0.txt ls1.txt
[root@jfht ~]# ls -l ls0.txt ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
在没有带-a参数时,两个文件的时间是不一样的。
[root@jfht ~]# cp -a ls0.txt ls2.txt
[root@jfht ~]# ls -l ls0.txt ls2.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls2.txt
在带了-a参数时,两个文件的时间是一致的。
[root@jfht ~]# cp ls0.txt ls2.txt
cp:是否覆盖“ls2.txt”? n
目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。
[root@jfht ~]# cp -f ls0.txt ls2.txt
cp:是否覆盖“ls2.txt”? n
目标文件存在时,即使加了-f标志,也还会询问是否覆盖。
[root@jfht ~]# command cp ls0.txt ls2.txt
使用command命令执行cp时,就不会执行cp别名了,而是直接执行cp外部命令。
[root@jfht ~]# ls -l ls0.txt ls2.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
[root@jfht ~]# cp ls0.txt ls0.txt
cp: “ls0.txt” 及 “ls0.txt” 为同一文件
[root@jfht ~]# cp -f ls0.txt ls0.txt
cp: “ls0.txt” 及 “ls0.txt” 为同一文件
如果目标文件就是源文件,那么无论加不加-f标志,都是不会覆盖的。
示例二 复制文件到目录
[root@jfht ~]# mkdir tmp
[root@jfht ~]# cp ls0.txt tmp
[root@jfht ~]# cp -a ls1.txt tmp
[root@jfht ~]# cp -a ls1.txt ls2.txt tmp
cp:是否覆盖“tmp/ls1.txt”? n
[root@jfht ~]# ls -l ls?.txt tmp/ls?.txt
-rw-r--r-- 1 root root 213 10-18 20:41 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
-rw-r--r-- 1 root root 213 10-18 21:02 tmp/ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 tmp/ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 tmp/ls2.txt
[root@jfht ~]#
示例三 复制整个目录
[root@jfht ~]# cp tmp tmp1
cp: 略过目录 “tmp”
[root@jfht ~]# cp -a tmp tmp1
[root@jfht ~]# ls tmp tmp1
tmp:
ls0.txt ls1.txt ls2.txt
tmp1:
ls0.txt ls1.txt ls2.txt
[root@jfht ~]# ls -l tmp tmp1
tmp:
总计 24
-rw-r--r-- 1 root root 213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
tmp1:
总计 24
-rw-r--r-- 1 root root 213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
[root@jfht ~]#
[root@jfht ~]# cp -a tmp tmp1
[root@jfht ~]# ls -l tmp tmp1
tmp:
总计 24
-rw-r--r-- 1 root root 213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
tmp1:
总计 32
-rw-r--r-- 1 root root 213 10-18 21:02 ls0.txt
-rw-r--r-- 1 root root 213 10-18 20:43 ls1.txt
-rw-r--r-- 1 root root 213 10-18 20:48 ls2.txt
drwxr-xr-x 2 root root 4096 10-18 21:03 tmp
[root@jfht ~]#
注意目标目录存在与否结果是不一样的。目标目录存在时,整个源目录被复制到目标目录里面。
示例四 将光盘复制成光盘映像文件(iso文件)
把要复制的光盘放在光驱中,注意不需要将/dev/cdrom设备mount上来。
[root@localhost data] cp /dev/cdrom disk1.iso
[root@localhost data] ls -l disk1.iso
-rw-r----- 1 root root 655392768 10月 18 19:48 disk1.iso
[root@localhost data]
注意:需要好几分钟时间。
问题思考
1. 在Windows下有没有工具将光盘复制成iso文件?
2. 在目标目录存在时,怎么将源目录中的文件复制到目标目录,而不是将整个目录复制到目标目录里面?
相关资料
【1】ATEGPU LINUX CP命令详解
【2】Yu'-blog linux下cp,mv和rm命令对lnodes的影响(英文版)
发表评论
-
在Linux用tar归档压缩文件时忽略某些文件和目录
2013-02-01 10:19 17053在Linux下,常用tar对文 ... -
使用nmap扫描服务器端口的一次操作
2012-11-01 17:00 15139使用nmap扫描服务器端口的一次操作 本文来自:http ... -
我使用过的Linux命令之wget - ooo
2011-09-14 13:10 0我使用过的Linux命令之wg ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:53 9149简明 Vim 练级攻略 http://coolshell.c ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:49 1简明 Vim 练级攻略 http://coolshell.c ... -
我使用过的Linux命令之:(冒号) - 啥也不做(除了……)
2011-08-29 13:18 12100我使用过的Linux命令之: ... -
我使用过的Linux命令之date - 显示、修改系统日期时间
2011-08-25 09:21 41985我使用过的Linux命令之da ... -
我使用过的Linux命令之declare - 声明shell变量(不知道没关系、知道了就更好的内建命令)
2011-08-16 09:22 21831我使用过的Linux命令之declare - 声明shell变 ... -
我使用过的Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
2011-08-11 09:31 28828我使用过的Linux命令之alias - 设置命令的别名,让 ... -
我使用过的Linux命令之ar - 创建静态库.a文件
2011-08-08 10:40 51934我使用过的Linux命令之ar - 创建静态库.a文件 本 ... -
我使用过的Linux命令之crontab - 设置例行任务(类似于Windows中的任务计划)
2011-08-04 22:26 9752我使用过的Linux命令之crontab - 设置例行任务(类 ... -
我使用过的Linux命令之chmod - 改变文件/目录的访问权限
2011-08-03 21:33 10706我使用过的Linux命令之chmod - 改变文件/目录的访问 ... -
我使用过的Linux命令之export - 设置或显示环境变量
2011-08-02 19:55 25441我使用过的Linux命令之export - 设置或显示环境变量 ... -
我使用过的Linux命令之wc - 统计文件行数、单词数或字节数
2011-07-26 10:50 29018我使用过的Linux命令之wc - 统计文件行数、单词数或字节 ... -
我使用过的Linux命令之groupdel - 删除群组
2011-07-22 22:13 9693我使用过的Linux命令之gr ... -
我使用过的Linux命令之ifconfig - 网络配置命令
2011-07-21 20:43 60552我使用过的Linux命令之ifconfig - 网络配置命令 ... -
我使用过的Linux命令之ll - 列出文件/目录的详细信息
2011-07-20 21:22 7209我使用过的Linux命令之ll ... -
我使用过的Linux命令之mkdir - 创建目录
2011-07-20 20:58 13686我使用过的Linux命令之mkdir - 创建目录 本文链 ... -
我使用过的Linux命令之perror - 解释错误代码
2011-07-18 20:29 25079我使用过的Linux命令之perror - 解释错误代码 ... -
我使用过的Linux命令之ping - 测试与目标主机的连通性
2011-07-16 10:46 26615我使用过的Linux命令之ping - 测试与目标主机的连通性 ...
相关推荐
在Linux操作系统中,`cp`命令是一个非常基础且重要的工具,用于复制文件和目录。而`-r`或`--recursive`选项则是`cp`命令的一个关键参数,它允许我们递归地复制整个目录及其子目录下的所有内容。这篇内容我们将深入...
在Linux操作系统中,掌握基本的文件管理命令是至关重要的,其中`cp`命令是用于复制文件和目录的一个核心工具。本课件主要介绍了`cp`命令的作用、基本格式以及多种用法,帮助初学者理解并熟练运用这个命令。 首先,...
Linux 基础 31-拷贝和移动命令-03-cp命令复制文件.flv
* 使用 cp 命令将文件复制到当前目录下,例如将 /etc/passwd 文件复制到当前目录下 * 使用 chown 命令改变文件的所有者和组所有者,例如将 passwd 文件的所有者和组所有者都改为 nobody 三、Shell 的使用 * 使用 ...
Linux 命令操作实验——文件目录 Linux 命令操作实验是 Linux 操作系统中最基本的操作之一。...同时,我们也学习了如何使用这些命令来完成一些常见的任务,如新建目录、复制文件、改变文件所有者等。
Linux下的cp命令是用于复制文件或目录的命令,是Linux操作系统中最基本也是最常用的命令之一。cp命令的基本语法为:`cp [options] source destination`,其中`source`是要复制的文件或目录,`destination`是要将文件...
7. **cp**:复制文件或目录,`cp file1 file2`复制file1为file2,`cp -r sourcedir targetdir`复制目录。 8. **mv**:移动或重命名文件或目录,如`mv file1 file2`重命名file1为file2,`mv sourcedir targetdir`...
`cp`命令用于复制文件或目录。 - `-a`:等价于`-dpr`选项组合。 - `-d`:复制链接文件而非实际文件。 - `-f`:强制覆盖已存在的目标文件。 - `-i`:如果目标文件已存在则询问是否覆盖。 - `-I`:创建硬链接而非复制...
`cp` 命令用于复制文件或目录,例如 `cp file1 file2` 复制 "file1" 为 "file2",`cp -r folder1 folder2` 复制 "folder1" 到 "folder2"。 8. **mv** - 移动或重命名文件或目录 `mv` 命令可以移动文件或目录,也...
- `cp`: 复制文件或目录,`-r`用于递归复制目录。 - `mv`: 移动或重命名文件或目录。 2. **文件和目录操作** - `touch`: 创建新文件或更新文件时间戳。 - `cat`: 查看文件内容,`more`或`less`分页查看。 - `...
`cp` 命令用来拷贝文件,要复制文件,输入命令:`cp <source filename> <target filename>`。例如,`cp t.txt Document/t` 命令将把文件 `t.txt` 复制到 `Document` 目录下,并命名为 `t`。 8. `mv` 命令:移动文件...
在Linux操作系统中,`cp`命令是一个非常基础且重要的工具,用于在文件系统中复制文件和目录。它具有多种选项来控制复制行为,使其能够适应各种需求。下面我们将深入探讨`cp`命令的用法、选项以及示例。 ### 命令...
这个命令是Linux用户日常操作中不可或缺的一部分,用于在文件系统内复制文件或目录。 【描述】"Linux基础课件Linux系统文件复制cp命令共9页.pdf.zip" 提示这是一份以PDF格式编写的9页教学材料,被压缩成ZIP文件。这...
6. **cp**:复制文件或目录,可以进行浅复制或深复制。 7. **mv**:移动或重命名文件和目录。 8. **cat**:查看文件内容,常用于查看文本文件。 9. **more**/**less**:分页查看文件内容,适合处理大文件。 10. **vi...
- 使用`cp`命令复制文件时,若目标位置已有同名文件,则会询问是否覆盖。 - 使用`rm`命令删除文件时,如果不加参数`-f`,则会询问是否确认删除。 - `cp -l`创建硬链接,`cp -s`创建符号链接。两种链接方式各有特点,...
- `cp`:复制文件或目录。 - `mv`:移动或重命名文件和目录。 2. **文件和目录管理**: - `find`:在指定目录下查找文件,根据文件名、大小、时间等条件。 - `grep`:在文件中搜索特定模式的文本行。 - `more`...
这里提到的"Windows下的Linux中cp复制命令"实际上是指在Windows上通过这些工具来实现与Linux系统中`cp`命令类似的文件复制功能。`cp`命令在Linux中是一个非常基础且重要的命令行工具,用于复制文件和目录。 **`cp`...
* 使用 cp -a 命令时,目录下的所有子目录和文件都会被复制,并保留链接、文件属性。 使用 cp 命令复制目录时需要加参数 -r,否则将出现 "cp: omitting directory" 的报错信息。同时,我们可以使用 cp 命令的其他...
在Linux系统中,`cp`命令是一个非常基础且重要的工具,用于复制文件或目录。它在用户日常操作和系统管理中扮演着不可或缺的角色。本文将深入解析如何通过C语言实现一个简单的`cp`命令功能。 首先,我们来看一下提供...
本文将详细介绍一系列在Red Hat Enterprise Linux(RHEL)环境中常用的Linux命令。 #### 二、基本命令介绍 ##### 1. **目录与文件操作** - **ls**:显示目录内容。 - `ls`:列出当前目录下的文件和子目录。 - `ls...