Linux中递归参数选择

一般常用到递归的命令有:mkdir、cp、rm、ls、grep、chmod、chown等。

而mv命令没有递归参数,所有用mv命令移动(重命名)文件夹时,不需要参数。

常见递归有两种:

一是从指定目录向上级目录递归。使用-p参数,意为parents,代表命令mkdir等

       如:执行mkdir./tmp/longya/file/test/命令创建test目录。

       1.如果要创建test目录,要先确定其父目录,即file目录,是否存在。

       2.如果存在,则创建test目录。

       3.如果不存在,那么就需要创建其父目录(parents),即file目录。

       4.如果要创建file目录前,要先确定其父目录,即longya目录,是否存在。之后一直重复第1,2,3步,直到找到最上一级存在的目录,再反过来自上而下进行目录的创建,完成命令的执行。

       这种向上递归的方式,用-p参数。

      

二是从指定目录向其下级目录递归。使用-r参数,意为recursive,代表命令cp,rm,ls等

       如:执行cp ./tmp ./longya命令复制tmp目录为longya

       1.如果要复制tmp目录,就需要复制其下的longya目录。

       2.如果要复制longya目录,就需要复制其下的file目录。

       3.重复1,2步,直到完成工作。

       这种向下的递归方式,用-r或-R参数。

       其中ls命令的-r参数被反向排序功能使用reverse,所以使用-R参数做递归。

       而chmod、chown等没有-r的冲突而直接采用-R参数表示递归的命令,可能只是程序设计者的喜好吧。

原文地址:https://www.cnblogs.com/zhipeng-wang/p/13467569.html