LINUX入门笔记--文件处理命令--目录处理命令(续)

1.mv

命令名称:mv

命令英文原意:move

命令所在路径:/bin/mv

执行权限:所有用户

语法:mv [源文件或目录名] [目标目录]

功能描述:剪切文件,改名

范例:

1.剪切文件时,是不需要选项的,直接用mv即可了。如图,我在临时目录/tmp下用mkdir递归创建了/a1/b1和/a2/b2目录(第一行),查看a2下的目录(第二,三行)发现只有b2,然后mv /tmp/a1/b1 /tmp/a2就成功将b1目录移到了a2下面,用ls查看a2下面的目录时发现有b1 b2(最后一行)就说明剪切成功了。

2.在剪切文件时,每次都输入/tmp/a1来移动的a1里的目录确很麻烦,这样输入的路径是目录的绝对路径。其实可以先进入到a1这个目录里,然后直接敲下a1下你要剪切的目录或者文件名即可。如图:在上一个目录处理命令的笔记里已经讲过cd命令,我先用cd命令进入到/tmp/a2里(第一行)然后mv b2 /tmp/a2就成功地将b2移到了a1下面,用ls查看的确发现a1下面有了b2目录(倒数第二行和最后一行)。显然这样方便了许多,但是需要注意的是在用的时候你必须保证你是进入到了你想要剪切的文件的上级目录了,这样才能移动,为了避免出错,每次都写绝对路径就好了。

3.改名,首先用ls查看一下a1和a2下的目录(前四行),然后我用mv /tmp/a2 /tmp/a1/new将a2移到a1下面并且将它改名为new,很显然用ls查看/tmp下的a2时已经不存在了,因为他已经被我移到了a1下面啦~查看a1下面的目录时显然比我刚开始查看的时候多了一个new~所以成功啦!这个过程可以这样理解--本来a1下面是没有new这个目录的,mv是剪切移动并没有创建的功能,所以他不可能创建一个目录new,那这个new怎么办呢?不如就将它作为我即将移动到这里的文件的新名称吧~(纯属个人理解~~~)

 注意:根据范例3可以清楚地理解如果我在同一个目录下移动的话,不就是改名吗。比如mv /tmp/a1/b1 /tmp/a1/bnew就是将a1下的b1剪切到了a1下并且改了一个名称叫bnew,那从a1下又剪切到a1下不就是相当于没有移动吗,总得来说就是改了个名字而已啦~

2.rm

命令名称:rm

命令英文原意:remove

命令所在路径:/bin/rm

执行权限:所有用户

语法:rm -rf[文件或目录]         -r:删除目录         -f:强制执行

功能描述:删除文件

注意:在使用剪切mv和删除rm这两个命令做练习时不要看到一个目录就我剪切一下试试吧或者我删除一下试试吧,因为你操作这个目录或文件可能是系统目录或文件,操作完之后你就可能要重启系统,然后系统崩溃!在做练习时最好选自己建立的目录或者是从系统里拷贝的目录。

范例:

1.在删除文件时rm [文件名]即可,但是在删除目录时必须有选项-r(想一下在cp命令里也是,如果只操作文件的话不需要加任何选项,但是如果要复制目录的话要加上选项-r)。如图我递归创建了/mp/a1/a2/a3/a4目录之后,第一次尝试用rm删除时没有加选项(第二行),第三行出现ERROR说rm不能让删除这个东西,因为他是一个目录。第四行我做了改正加上选项-r之后就成功删除了。

2.(我的电脑上做不了这个例子的示范)强制删除,就是没有提示你要不要删除的语句了。在删除文件或者目录时,其实是有有一个提示语句的,就类似于中文的你是否要删除这个东西,如果是的话就y否的话就n,但是你在删东西时他每次都要问一次真的很烦,你不想让他问的话就加一个选项-f就可以了。在删除目录的时候也是如此,如果你想删除一个目录,但是这个目录下面有几百个目录的时候,他就会一个一个问你是否进入某个子目录,是否删除这个子目录之类的乱七八糟的废话,这时候你只需要将选项-r改成-rf就是强制删除了。

注意:

1.rm与rmdir的区别:前者是删除文件或者目录,后者是删除空文件;

2.在进行这个操作时一定要做好备份。因为在Linux了里没有类似于Windows下回收站的东西让你还有一次反悔的机会的。另外不要进行以下两个操作:rm -rf /和rm -rf /etc.前者是删除linux下所有的东西,后者是删除linux下的系统文件。

猜你喜欢

转载自blog.csdn.net/J_SUNV/article/details/83863392