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)
MelissaMelissa
上一篇 2017-07-22 15:22
下一篇 2017-07-22 16:35

相关推荐

  • 用户、组的创建和管理

    用户的创建 useradd usermod userdel useradd:创建用户 create a new user or update default new user information     useradd [options]… LOGIN     &…

    Linux干货 2016-08-03
  • 4th work

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost etc]# cp -r /etc/skel/ /home/tuser1 [root@localhost etc]# chmod go-rwx /home/tuser1/ 2、编辑/etc/gr…

    Linux干货 2017-10-09
  • 软件包管理

      软件运行环境       API:Application Programming Interface         POSIX :Portable OS      码程序源代码 –>预处理 –> 译…

    Linux干货 2016-08-29
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • OpenSSL 的使用详解

    OpenSSL 是一个开源项目,其组成主要包括一下三个组件:     openssl:多用途的命令行工具     libcrypto:加密算法库     libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管…

    Linux干货 2016-09-23
  • 操作系统文件管理

      在现代计算机系统中,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,不仅要求用户熟悉外存特性,了解各种文件的属性,以及它们在外存上的位置,而且在多用户环境下,还必须能保持数据的安全性和一致性。显然,这是用户所不能胜任、也不愿…

    Linux干货 2015-04-13