cp和ln命令简述

cp和软ln命令简述

cp

         备注:

1.       该命令可以自动判断你所复制的是文件还是目录

2.       当源是一个文件,目标(目的地)不存在时,则在目的地新建一个文件,并将源文件的内容填充进新的文件中(在复制之前/app目录下并没有mima文件;wc –l的作用是查看指定文件的行数,此处查看两个文件的行数来大致判断文件是否一致。)

cp和ln命令简述

3.       当源是一个文件,目标(目的地)存在且是一个文件时,会覆盖目的文件的内容(由于root用户下的别名中定义了cp=cp –i,所以在不加参数的时候会提示是否覆盖目的文件,输入’y’即可确认覆盖,完成复制,但是也正因如此,要注意数据丢失的风险)

  cp和ln命令简述

4.       当源是一个文件,目标(目的地)存在但是一个目录时,不可能实现,文件无法覆盖文件。

  cp和ln命令简述

5.    当源是多个文件,目的地不存在时提示错误,目的地不能不存在。

6.       当源是多个文件,目的地存在,但是一个文件时,提示错误。

7.       当源是多个文件,目的地存在且是一个目录时,如果目录中存在与源文件同名的文件则覆盖;如果不存在与源文件同名的文件则新建并填充源文件中的内容;如果目的地目录中存在与源文件同名的目录,则不复制该源文件。

8.       当源是个目录,目的地不存在的时候,新建一个同名的目录,然后填充新内容。

当源是个目录,目的地存在且为目录时,在目的地新建与源目录同名的内容并将源文件中的内容复制至新目录中。

9.当源为目录时,需使用 –r选项。

参数

1       -i 覆盖前提示

备注:当系统登录的用户为root用户时,由于在~/.bashrc文件中已经定义了别名,所以root用户使用cp时默认情况下会出现提示信息。别名信息如下图所示:

cp和ln命令简述

2       -n 不覆盖(不覆盖没有写权限的文件)

3       -r -R 递归(通用大小写)

4       -d 复制软链接属性(不加-d的时候会根据路径找到源文件并复制其数据)

当复制链接时,系统会默认复制链接的原文件的内容,而不是仅仅的一个链接,相当于新建了一个文件,其内容与源文件的内容相同,但是改变该文件的内容并不会影响源文件以及链接文件的内容,当加上-d选项时才会复制链接本身。

cp和ln命令简述

cp和ln命令简述

5-p =
–perserv=mode,owner,timestamp
(复制这三个属性)

6-a 包含-dr
–perserv=all
(包含-d –r –p 的作用)

7-f 当覆盖时,如目的文件缺少写权限时,强制删除目的文件,并新建再填充内容(删除并新建,之后的目的文件的权限以及所属人所属组都会改变)。当有-n时,无效

Df  –i可以查看inode的使用数量以及剩余数量

软链接

命令:ln -s

(注意路径)

备注

1.当原文件内容发生变化时,链接文件的内容也会和原文件一样发生同样的改变,同样的,如果改变链接文件中内容也相当于改变原文件中的内容,原文件也会相应的发生改变,如下图中的命令行所示。

cp和ln命令简述

2.当复制链接时,系统会默认复制链接的原文件的内容,而不是仅仅的一个链接,相当于新建了一个文件,其内容与源文件的内容相同,但是改变该文件的内容并不会影响源文件以及链接文件的内容,当加上-d选项时才会复制链接本身,示例如下图所示:

cp和ln命令简述

cp和ln命令简述

3.当将原文件删除或者修改原文件的路径时,链接文件会失效,由此可见,软链接记录的仅仅是一个原文件的路径。当按照记录的路径找不到有效文件时,链接文件同样失效。如果重新创建一个和原来的文件相同名字的文件,则链接文件继续有效,但此时链接文件中的内容已经不再是原来第一个原文件的内容,而是与现在重建的文件的内容保持一致。示例如下图:

cp和ln命令简述

4.当使用相对路径创建链接时,需要站在链接的角度出发,从链接的当前目录出发,一步步找到被链接的目录。示例如下图所示:

cp和ln命令简述

5.当创建新链接时会产生新的inode

cp和ln命令简述

 

原创文章,作者:poetic snow,如若转载,请注明出处:http://www.178linux.com/85024

(0)
poetic snowpoetic snow
上一篇 2017-08-19 16:42
下一篇 2017-08-19 17:50

相关推荐

  • 三.Linux博客-2016年7月24日帮助、history、别名、tree

    格式说明: 操作 概念 命令 说明及举例 三-1.帮助、history、别名、tree touch /etc/nologin 使普通用户不能登录(创建了一个文件,删掉就可以登陆)   ll /etc/nologin 查看那个文件 -rm -f /etc/  删…

    Linux干货 2016-08-23
  • 标准I/O和管道

    程序包含指令和数据,经常需要读入数据和输出数据 打开的文件都有一个fd:file descriptor(文件描述符) 用nano打开一个文件,查看其PID  0,1,2就是所谓的文件描述符。 在Linux里输入输出和错误都由这三个描述符来表示 标准输入(STDIN) -0 默认接受来自键盘的输入 标准输出(STDOUT)-1 默认输出到终端窗口 标…

    Linux干货 2016-08-08
  • 高级文件系统管理

    为用户设定配额  执行开始或取消配额:quotaon quotaoff  取消编辑配额:edqouta username  在shell中直接编辑:setquota usename 80000 100000 0 0 /foo  定义原始标准用户 :edquota -p user1 user2 实例如下: 配额的实现 1…

    Linux干货 2017-05-02
  • 用户、组及文件相关的一些命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1,因为是目录文件所以要有-r ls -ld /etc/skel chmod 000 -R /home/tuser1 ls -al /home/tuser1/ 2、编辑/…

    2017-07-23
  • 第一周博客 计算机组成及Linux基础入门

    1、描述计算机组成及其功能。
    2、描述罗列Linux的发行版,并描述不同发行版之间的联系和区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释。
    4、说明Linux系统上命令的使用格式,详细介绍ifconfig、echo、tty、startx、export、pwd、history、
    shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例说明阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分。
    6、请罗列Linux发行版的基础目录名称命名法则及功能规定。

    2017-12-02
  • 软件包管理 — rpm & yum

    软件包管理 包管理器     二进制应用程序的组成部分:         二进制文件、库文件、配置文件、帮助文件     程序包管理器:      &…

    Linux干货 2016-08-24