关闭

linux文件目录操作命令 cp

296人阅读 评论(0) 收藏 举报
分类:

1.命令格式:

用法:

   cp [选项]... [-T] 源 目的

       或:cp [选项]... 源... 目录

       或:cp [选项]... -t 目录 源...

2.命令功能:

将源文件复制至目标文件,或将多个源文件复制至目标目录。

3.命令参数:

-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=模式,所有权,时间戳

    --preserve[=属性列表   保持指定的属性(默认:模式,所有权,时间戳),如果

               可能保持附加属性:环境、链接、xattr 等

-R, -r, --recursive  复制目录及目录内的所有项目

4.命令实例:

实例一:复制单个文件到目标目录,文件在目标文件中不存在

命令:

cp log.log test5

输出:

[root@localhost test]# cp log.log test5

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

drwxr-xr-x 6 root root 4096 10-27 01:58 scf

drwxrwxrwx 2 root root 4096 10-28 14:47 test3

drwxr-xr-x 2 root root 4096 10-28 14:53 test5

[root@localhost test]# cd test5

[root@localhost test5]# ll

-rw-r--r-- 1 root root 0 10-28 14:46 log5-1.log

-rw-r--r-- 1 root root 0 10-28 14:46 log5-2.log

-rw-r--r-- 1 root root 0 10-28 14:46 log5-3.log

-rw-r--r-- 1 root root 0 10-28 14:53 log.log

说明:

在没有带-a参数时,两个文件的时间是不一样的。在带了-a参数时,两个文件的时间是一致的。  

实例二:目标文件存在时,会询问是否覆盖

命令:

cp log.log test5

输出:

[root@localhost test]# cp log.log test5

cp:是否覆盖“test5/log.log”? n

[root@localhost test]# cp -a log.log test5

cp:是否覆盖“test5/log.log”? y

[root@localhost test]# cd test5/

[root@localhost test5]# ll

-rw-r--r-- 1 root root 0 10-28 14:46 log5-1.log

-rw-r--r-- 1 root root 0 10-28 14:46 log5-2.log

-rw-r--r-- 1 root root 0 10-28 14:46 log5-3.log

-rw-r--r-- 1 root root 0 10-28 14:48 log.log

说明:

目标文件存在时,会询问是否覆盖。这是因为cp是cp -i的别名。目标文件存在时,即使加了-f标志,也还会询问是否覆盖。

实例三:复制整个目录

命令:

输出:

目标目录存在时:

[root@localhost test]# cp -a test3 test5 

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

drwxr-xr-x 6 root root 4096 10-27 01:58 scf

drwxrwxrwx 2 root root 4096 10-28 14:47 test3

drwxr-xr-x 3 root root 4096 10-28 15:11 test5

[root@localhost test]# cd test5/

[root@localhost test5]# ll

-rw-r--r-- 1 root root    0 10-28 14:46 log5-1.log

-rw-r--r-- 1 root root    0 10-28 14:46 log5-2.log

-rw-r--r-- 1 root root    0 10-28 14:46 log5-3.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

drwxrwxrwx 2 root root 4096 10-28 14:47 test3

目标目录不存在是:

[root@localhost test]# cp -a test3 test4

[root@localhost test]# ll

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

drwxr-xr-x 6 root root 4096 10-27 01:58 scf

drwxrwxrwx 2 root root 4096 10-28 14:47 test3

drwxrwxrwx 2 root root 4096 10-28 14:47 test4

drwxr-xr-x 3 root root 4096 10-28 15:11 test5

[root@localhost test]#

说明:

注意目标目录存在与否结果是不一样的。目标目录存在时,整个源目录被复制到目标目录里面。

 

实例四:复制的 log.log 建立一个连结档 log_link.log

命令:

cp -s log.log log_link.log

输出:

[root@localhost test]# cp -s log.log log_link.log

[root@localhost test]# ll

lrwxrwxrwx 1 root root    7 10-28 15:18 log_link.log -> log.log

-rw-r--r-- 1 root root    0 10-28 14:48 log.log

drwxr-xr-x 6 root root 4096 10-27 01:58 scf

drwxrwxrwx 2 root root 4096 10-28 14:47 test3

drwxrwxrwx 2 root root 4096 10-28 14:47 test4

drwxr-xr-x 3 root root 4096 10-28 15:11 test5

说明:

那个 log_link.log 是由 -s 的参数造成的,建立的是一个『快捷方式』,所以您会看到在文件的最右边,会显示这个文件是『连结』到哪里去的!

0
0
查看评论

Linux:常用文件与目录操作命令

1.新建或删除文件、文件夹 mkdir dirname 新建文件夹 mkdir dir1 dir2 dir3 创建多个文件夹目录 vi filename 新建文件(如果文件存在,则表示打开文件;如果文件不存在,表示新建文件) rm filename/dirn...
  • github_37320188
  • github_37320188
  • 2017-09-12 21:18
  • 150

文件目录操作命令之cp命令

功能: 复制文件或目录 说明:cp(copy)命令可以将文件或目录复制到其他目录中,与DOS下的copy命令一样,其功能非常强大。 用法: cp[选项]... [-T] 源文件 目标文件    或: cp[选项]... 源文件 目录  ...
  • Bleach_kids
  • Bleach_kids
  • 2016-05-12 00:50
  • 252

Linux cp 与 mv 命令

noarch是no architecture的缩写,说明这个包可以在各个不同的cpu上使用 包有这么几种(后缀):*.386.rpm,*.486.rpm,*.586. rpm,*.686.rpm,这是与CPU的指令集有关. cp = copy || cp -R 使用方法 cp ...
  • u010452908
  • u010452908
  • 2017-12-25 15:58
  • 76

linux基本命令-文件与目录操作

文件与目录操作 01.01 ls命令 默认显示当前路径下的所有文件列表,如果要显示其他路径的内容需要跟上一个路径,可以是相对路径也可以是绝对路径. 如果要显示文件的详细信息,需要使用ls的长格式输出-l选项  # ls -l /dev/     1 权限 -...
  • halazi100
  • halazi100
  • 2014-12-30 15:25
  • 1787

linux文件与目录的基本操作、linux命令(cp、tar、归档、ls、cd、tr、su、more、less、vi、cat等)

1、Linux下的目录结构: /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 /boot:放置linux系统启动时用...
  • youngerhao
  • youngerhao
  • 2011-12-12 16:20
  • 7126

linux文件目录操作命令 nl

1.命令格式: nl [选项]... [文件]... 2.命令参数: -b  :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b...
  • CHS007chs
  • CHS007chs
  • 2016-08-31 13:53
  • 162

linux文件目录操作命令 cat

1.命令格式: cat [选项] [文件]... 2.命令功能: cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文...
  • CHS007chs
  • CHS007chs
  • 2016-08-31 13:51
  • 645

linux文件目录操作命令 cd

1. 命令格式: cd [目录名]     2. 命令功能: 切换当前目录至dirName     3. 常用范例 3.1 例一:进入系统根目录 命令: cd ...
  • CHS007chs
  • CHS007chs
  • 2016-08-31 11:21
  • 440

linux文件目录操作命令 more

1.命令格式: more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]  2.命令功能: mo...
  • CHS007chs
  • CHS007chs
  • 2016-08-31 13:55
  • 231

Linux文件目录操作命令 mv

1.命令格式:     mv [选项] 源文件或目录 目标文件或目录 2.命令功能: 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文...
  • CHS007chs
  • CHS007chs
  • 2016-08-31 13:19
  • 202
    个人资料
    • 访问:579791次
    • 积分:9767
    • 等级:
    • 排名:第2157名
    • 原创:225篇
    • 转载:908篇
    • 译文:17篇
    • 评论:33条
    最新评论