从零开始的linux 第十九章
hello~~又到了一周一更新博客的时候啦~~这周51CTO成功将博客功能升级~~给我们带来了全新的体验~全新的界面~全新的视感~~不过,在编辑器上~小编还是习惯用原来的编辑器,感谢工作人员在内测时候广泛采纳用户的建议~对博客进行一次又一次的修改,嗯,最辛苦的还是我们的开发同志~~小编给你们以及所有员工打call~~
那么,回归到这章内容,实际上,小编从这周是想拒绝更新的~~因为这么久过去了,小编虽然在一直给同学们讲课,但自己还没有写一篇有技术性的博客,但小编又没有太多时间一周写两篇....
嗯...小编发现图片没有办法手动输入像素来调整图片大小了,只能拖拽....额...这对于小编来说还是挺伤的...而且,无法选择去除水印了,嘛~~这些都没关系啦~那么言归正传,虽然小编有点拒绝更新,想写几篇技术性的博客,但,为了同学们,小编还是等有空了再写吧~~(吐槽:不可能,绝对不可能,一周一篇都懒的更新的小编怎么可能会写!)
好啦~废话不多说啦,小编就来介绍一下这一章的内容吧~~
上一章,小编给同学们详细讲解了 cp 复制命令,注意咯,复制命令后面是支持通配符的,灵活使用通配符可以对一些文件进行批量复制~
接下来,小编给同学们介绍一下 mv 移动命令:
mv:move,移动,间接重命名文件
该命令与 cp 命令用法是相同的,所以小编介绍这个命令的时候,不会像介绍 cp 命令那样详细,不过同学们只要会用cp命令就一定会mv命令的~~同样,遇到一个新命令,还是先查看一下man文档:
从man文档的说明中,可以看到 mv 命令与 cp 命令的格式毫无差异:
mv [OPTION]... [-T] SOURCE(源) DEST(目标)
mv [OPTION]... SOURCE... DIRECTORY(目录)(注:目标是一个目录)
mv [OPTION]... -t DIRECTORY SOURCE...
看到这些,应该也可以想到,该命令使用时也分为:单源和多源。只不过这里的叫法为:单源移动和多源移动. 而其意思与上一章小编介绍的cp命令相同,这里小编就不做过多的介绍啦~~小编就直接给同学们上实例:
这是最简单的移动文件,将当前目录下的text文件移动到/app/目录下.即text使源,/app/目录是目标,而这是目标是目录的情况,并且目录下没有与这个源文件同名的文件,这种方法即小编上面列出的第二种用法,那么,当要移动的目标中有与源文件同名的文件:
小编先看一下/app/text这个文件的内容:
然后,小编在其他地方创建一个与之同名的空文件,并移动过来:
可以看到,同样会提示我们是否覆盖文件,那么,学过了这么多命令都有同样的提示,同学们有没有猜到出现这个提示是为什么呢?提问~~路人甲~~
路人甲:“嗯,应该有一个 -i 选项,交互式,而小编没有指定选项,应该是设置了命令别名alias吧”
没错,完全正确,奖励一朵小花~~
如路人甲所说,alias中确实有 mv='mv -i' 是mv命令实际上使用的是 mv -i命令,因为任何可能会覆盖文件的操作都被视为有危险操作,系统会默认给我们添加别名,并且选项中也会有选项来进行交互式。
以上被覆盖的文件的内容也将被替换,那么,移动文件的时候,还可以指定生成文件的名字:
若目标是一个文件,并且该文件并不存在,就会在目标所在的目录下创建这个文件,并将源文件的数据流移动过去。小编这里提到的概念在上一章都有详细的说明,小编这里就不做过多的介绍啦~~
-i:交互式
相信这个选项就不用小编说啦~~并且别名中就设置了默认使用这个选项
-f:强制
小编现在/tmp/目录下创建了一个text文件,而此时/app/目录下也有一个text文件,所以小编要把/tmp/目录下的text文件移动到/app/目录下,正常情况下,会提示小编是否覆盖此文件,而用了 -f 选项后,将不会在提示,强制覆盖~
mv命令不仅可以移动文件,还可以实现重命名文件的功能,即修改文件的名称,而这个小编上面已经演示过咯~移动/tmp/zzz文件到/app/目录并改名为www,这是跨目录的移动并修改,也可以在源目录下直接修改文件名称:
将当前目录下的文件改名。
实际上,mv移动文件的命令的选项是有很多的,但是基本上都是用不到的,平常使用仅用mv将文件移动即可,若想研究其他的选项,同学们可以自己查看man文档哦~
嗯,虽然这一章有点水,不过小编还是先把这一章终结到这里吧~文件的Inode和block以及引用命令的执行结果等到下一章小编再给同学们介绍~今天小编提不起干劲呢~~