练习文件操作命令
一、创建目录
在主目录下创建“playground”目录
进入“playground”目录,继续创建“dir1”和“dir2”目录
“mkdir”命令可以接受多个参数,即允许我们用一个命令来创建这两个目录
二、复制文件
将“etc/passwd”文件复制到刚创建的当前目录中
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_14545902672nXL.jpg?x-oss-process=style/bb)
使用当前目录的快捷方式,即在命令末尾敲单个圆点,假如想看一下“cp”的作用,即添加“-v”选项
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590286Cq80.jpg?x-oss-process=style/bb)
“cp”命令是假定我们知道我们的所做作为,但想得到警示信息怎么办呢?即添加“-i”选项
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590305oE0m.jpg?x-oss-process=style/bb)
如果输入“y”就会重写,如果输入“n”则不会理会
三、移动和重命名文件
可以给“passwd”改个名字
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590335jJ74.jpg?x-oss-process=style/bb)
传送fun文件,通过移动重命名命令,将文件传送到各个目录,然后再移回当前目录
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_145459034932X6.jpg?x-oss-process=style/bb)
同样可以将fun文件移动到dir1目录,然后将dir1目录移动到dir2目录中
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590364Yvu1.jpg?x-oss-process=style/bb)
然后确认一下fun文件是否还在dir1目录中
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590379J34q.jpg?x-oss-process=style/bb)
因为dir2目录已经存在,mv命令可以将dir1目录移动到dir2目录下,如果dir2目录不存在,mv命令会直接重新命名dir1
为dir2,因为mv是移动命令,同时也是重命名命令,最后将所有东西放回原位
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590403GcOu.jpg?x-oss-process=style/bb)
四、创建硬链接
创建一些关联我们数据文件的连接
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_14545904207o0g.jpg?x-oss-process=style/bb)
现在,即有四个“fun”的实例了
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590431y7nq.jpg?x-oss-process=style/bb)
列表中,文件fun和fun-hard的第二个字段是“4”,这个数字是文件“fun”的硬链接数目。一个文件至少有个硬链接,因为
文件名就是由链接创建的。怎么知道fun和fun-hard是一样的文件呢?虽然能看到fun和fun-hard的大小一样,但是没有可
靠的信息来确定这两个文件一样。实际上,我们给文件添加额外的名字时,这些名字都涉及到了一样的数据内容。系统
分配了一系列的盘块给所谓的索引节点,它和文件名字想关联。因此每个硬链接都关系到一个具体的索引节点,这个节点
包含了文件的内容。
ls命令有一种方法,可以展示文件索引节点的内容,即“-i”命令
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590462XPXX.jpg?x-oss-process=style/bb)
可以看到,fun文件和fun-hard文件共享一个索引节点号,证实了这两个文件是一样的文件。
五、创建符号链接
建立符号链接的目的是为了克服,或者说弥补硬链接的两个缺点:
1、一个硬链接不能关联它所在文件系统之外的文件。这是说一个链接不能关联与链接本身不在同一个磁盘分区上的文件。
2、一个硬链接不能关联一个目录。
符号链接是文件的特殊类型,它包含一个指向目标文件或目录的文件指针(类似Windows下的快捷方式,但比Windows出现的早)
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590489vezT.jpg?x-oss-process=style/bb)
用ls命令查看输出结果
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590513Rj8P.jpg?x-oss-process=style/bb)
通过第一字段中的首字符“l”可以知,这是一个符号链接,并且还指向“../fun”,即相对于fun-sym存储位置,fun在它的上一个目
录。同时,文件的长度为6,是字符串“../fun”包含的字符数,而不是符号链接所指向的文件长度。
建立符号链接,也可以使用绝对路径
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590539xpy8.jpg?x-oss-process=style/bb)
但是使用相对路径名更令人满意,因为它允许一个包含符号链接的目录重命名或者移动,而不会破坏链接。
除了普通文件,符号链接也能关联目录
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_14545905563FJr.jpg?x-oss-process=style/bb)
六、删除文件和目录
rm是删除命令,用来删除文件和目录,首先先删除一个硬链接
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590723YcdF.jpg?x-oss-process=style/bb)
可以看到fun-hard消失了,fun文件的链接数从4减到了3,使用“-i”选项,看一下它的作用。
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590737tZXz.jpg?x-oss-process=style/bb)
当删除了fun之后,fun-sym会发生什么呢?即指向的文件不存在了,即链接已经坏了
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_14545907724w3C.jpg?x-oss-process=style/bb)
很明显是以红色文本显示。假如试着使用坏的链接,会看到:
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_145459079811uU.jpg?x-oss-process=style/bb)
执行的大多数文件操作时针对链接的对象,而不是链接本身。而rm命令是个特例。当你删除链接的时候,删除
的是链接本身,而不是链接的对象。
最后删除playground目录,同时加上“-r”选项来删除目录及目录下的所有内容,“-v”可以看到详细的rm作用
![](http://img.blog.itpub.net/blog/attachment/201602/4/30197839_1454590880bZob.jpg?x-oss-process=style/bb)
七、GNOME和KDE
在GNOME里面,当拖动文件时,同时按下Ctrl+Shift会创建一个链接,而不是复制(或者移动)文件。在KDE中,
无论什么时候放下一个文件,都会弹出一个小菜单,这个菜单会提供复制,移动,或者创建链接文件的选项。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30197839/viewspace-1986534/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30197839/viewspace-1986534/