Linux 入门(二)

又一个周的时间过去了,觉得时间过的好快的呢,大概是因为沉迷于学习吧(害羞脸),在这一周里学习了不少东西呢,下面就来总结一下吧

(1)    cp 复制

如果只是单纯的敲cp复制文件而不加任何选项的时候,如果目的目录文件已经存在,就会直接覆盖,而不会出现任何提示信息,而当在实际操作时,就算不加 –i选项,也会提示要不要覆盖文件Linux 入门(二)

原因是在系统中有定义好的别名,就算只输入cp,也相当于加了-i选项

Linux 入门(二)下面是关于cp复制时一些选项的解释

          -i 覆盖前提示

          -n 不覆盖

                  -r -R 递归 (不管是cp 还是ls.在执行命令的时只影响当前目录,而不会对当前目录的子目录产生影响,)

         -d 复制软链接属性 (软连接其实就是链接一个路径)

         -p
= –perserv=mode,owner,timestamp

         -a 包含-dr –perserv=all

 -f 当覆盖时,如目的文件的缺少写权限时,(而对文件所在目录有创建和删除文件的权限时)强制删除目的文件,并新建再填充内容。当有-n时,无效。当你对一个文件没有写权限时,但你对该文件所在目录有创建和删除文件的权限,就可以强制删除该文件,并新建一个文件

  当执行覆盖操作时,对文件inode号产生的影响:

 在执行cp命令时,其实就是对文件的写入,如果目的文件不存在,则会在给目的文件分配一个新的inode号。

   Linux 入门(二)

如果目的文件已经存在,则只会将文件的数据覆盖,不会再分配inodeLinux 入门(二)

2mv 移动

  从上图可以看出,系统定义的也有mv 的别名,在覆盖文件的时候,也会弹出提示信息Linux 入门(二)

 -f  覆盖时不提示,抵消-i的作用Linux 入门(二)

当执行mv操作时,文件的inode号的变化情况:

不跨分区时,不会对文件的inode号产生影响,如果移动去文件名发生改变,则相当于间接完成了改名的操作

Linux 入门(二)

当跨分区移动是,相当于同时执行了cprm操作,将文件原来所在分区的inode号释放,在目的文件所在分区分配一个新的inode号,然后将数据部分复制过去。

Linux 入门(二) 

(3)         rm 删除

-i 覆盖前提示(如前所示,就不赘述了)

       -f 不提示,强制覆盖,抵消-i的作用

-r 递归 (可以递归删除目的目录下的所有子目录)

如果删除某个目录的时候不加-f选项,如果该目录下还有子目录,将无法删除

Linux 入门(二)Linux 入门(二)

 Linux 入门(二)

执行rm操作时对文件inode号的影响:

删除一个文件的本质就是减少一个文件的硬链接数,当文件的硬链接数减少到0的时候,就会释放inode

Linux 入门(二)

删除一个硬链接时:

Linux 入门(二)

 

继续删除,当把最后一个删除时,硬链接数就会变为0,此时就会释放inode号,

Linux 入门(二)

此时如果新建一个文件,刚释放的inode号就会被重新占用Linux 入门(二)

 

好啦,由于能力和精力的限制,就写到这里了,欢迎批评指正

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

(0)
上一篇 2017-07-22 15:22
下一篇 2017-07-22 16:35

相关推荐

  • 编译安装httpd

                   1 将 httpd-2.4.25.tar.bz2下载 到  centos7的 /app目录下                 [root@localh…

    Linux干货 2017-04-24
  • 由摩根定律引发的思考

    在Linux中,我们常常需要对一些条件进行判断,而对于多个条件的组合判断是基于摩根定律而进行的。所以理解摩根定律对于我们学习条件判断是很有必要的,下面我们就先介绍摩根定律进而引出其在一些具体场景上的应用。   一、摩根定律 在Linux中的条件判断中,摩根定律可以以下式来表示: !( A || B )=!A && !B !( A &…

    Linux干货 2016-08-16
  • 网络班第七周 作业

    1、创建一个10G分区,并格式为ext4文件系统 (1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 创建了一个20G的SCSI硬盘 fdisk /dev/sdb 创建ext4文件系统 ~]# mke2fs -…

    2017-09-16
  • Linux帮助文件的使用、history变量的使用和FHS

    怎样利用帮助文件来查询想要了解的信息? 这里以通过查找帮助文件来修改登陆信息为例子, 登陆的时候,我们可以看到CentOS的的版本和内核信息, 当我们查看该相关文件的时候,会发现,里面的文档和显示的不一致,由此可以了解到,该文档是调用某些参数来实现显示CentOS的版本和内核信息。 这个时候,我们该怎样去查看issue文档的相关信息? 首先我们可以查看一下通…

    Linux干货 2016-08-04
  • ContOS 7 安装

    在虚拟机中安装ContOS 7,自定义4个分区
    虚拟机使用ISO镜像文件安装,网络使用桥接模式,内存大小设置为1224MB(安装桌面比较大)

    2018-03-13
  • bash脚本之数组及字符串切片,登陆配置文件

    一,概述 数组(就是一堆变量的集合) 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合/ 数组名和索引     索引:编号从0开始,属于数值索引     注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后…

    Linux干货 2016-09-01