00:00
那接下来呢,我们再来介绍一下下一个命令,就是复制文件的指令CP。CP我们知道它其实英文全称是copy copy就是复制的意思啊,拷贝,那它的基本语法呢,既然你是要拷贝嘛,那肯定得指定你到底是把谁,然后拷贝到哪里去,所以我们看到它后面有两个参数,一个叫S,另外一个叫desk s的话我们知道这就是我们要复制的那份文件啊,复制的原文件,那D呢,D其实就是destination啊,目的地,你到底要把这个文件复制到哪儿去呢?啊,这个目的地一般我们想到应该是个文件目录啊,复制到哪个目录下面去,它其实也可以是一个文件。好,接下来我们就来测试一下,看看这个到底是怎么用的。比如呃,之前我们看到在home-at硅谷下边这里边,目前我们应该是创建了两个文件,一个HELLO2,一个HELLO3,假如现在呢,我们想把当前root目录下边的以initial setup ks.CFG这个配置文件也复制过去,哎,那这个怎么复制呢?其实非常简单,CP。
01:12
然后加上要复制的这个文件,后边跟着的就是复制到哪里去的那个目标路径,所以后边的话,诶,我们就可以直接home at硅谷,哎,那当然了,我们也可以用相对路径,相对路径的话,首先我们现在是在root目录下,那得退到上一级啊,退到我们当前的根目录下边,然后接下来诶再去home.at特硅谷啊,那home-at硅谷,那我们知道这个其实呃,其实就看起来好像没什么必要啊,但是这种方式也是可以的,好路径指定了一回车。接下来我们再来看一下home at硅谷下边。果然就多了一个对应的配置文件啊,所以这个其实还是非常简单的,直接就可以把它复制过来。那接下来我们再来介绍一个是假如说我现在是希望把一个。
02:04
Initial setup ks cfg直接复制给。Home下边的at硅谷HELLO2这个文件呢?注意,这里不再是一个路径了,不是一个目录了,而是直接指定了一个文件。那么他做的把这份文件复制给这个文件,那其实它是一个覆盖。所以接下来如果我们直接回车的话,就会发现有一个提醒,Linux直接会提醒我们说是否要覆盖杠,Home-at,硅谷杠HELLO2呢?哎,那那这是一个疑问句,我们当然要回答啊,那这里的回答呢,其实就是两两种情况,两个字母yes or no的一个问题,所以我们可以敲一个Y。表示yes,表示要覆盖,或者敲一个N表示no不要覆盖,哎,那所以现在如果说我们真的就是要覆盖的话,Y,然后回车,接下来我们再来看一下。
03:00
Home艾特硅谷下边我们看还是这三个文件,HELLO2 hello3引initial手,呃,还有这个配置文件,但是我们考虑的是这个HELLO2里边的东西到底变成什么了呢?一开始我们知道HELLO2HELLO三都是空文件了,什么都没有。现在我们关心的就是。Hello,二里边到底有东西没有?Hello,二我们进去之后会看到它其实里边的内容就完全复制成了之前的那个配置文件啊,里边满满当当的,所有的东西都在里面了。啊,所以对于我们当前做复制的这个操作,如果说后边直接给的目的地就是一个文件名的话,那相当于就是把之前的内容完全覆盖了。啊,那当然了,有同学可能会觉得就是这种覆盖的操作,看起来好像有一点稍微的有一点麻烦,就是每一次他还要做这样一个提醒啊,或者说我们在做其他一些操作的时候也会有提醒,比如说什么呢?啊,就假如说我现在再重新做一次这这个操作,诶,或者说我直接再做一个这个啊,因为前面我们是后面直接是覆盖一个文件嘛,现在我们还是把这个改成目录名,接下来呢,把同样的文件再附。
04:16
复制一遍过去,那会带来什么效果呢?很显然里边已经有这个叫做这个名字的文件了,现在的话就又会问你是否要覆盖,哎,那所以我们就会想到你每次出现这种情况的时候都要去问是否覆盖,哎,怎么这么麻烦呢?我能不能不要问,直接把它就执行了呢?哎,可以有这种做法。在Linux里边,我可以在CP前面加一个杠。杠CP要注意,这是反斜线加一个反斜杠啊,那前面这个完整的操作就是直接同样的一条命令,前面加一个反斜杠就可以了。我们直接复制,这样的话就没有任何的提示,直接覆盖文件就可以了。啊,如果说这个我们看的还不是很清楚的话,那我们也可以直接用这种方式覆盖一下home at硅谷下边的HELLO3这个文件,因为我们知道这个文件之前是空的,里面什么东西都没有,现在如果用一个配置文件去覆盖它的话,肯定会提示是否要覆盖,我现在呢,直接前面加了反斜杠看一下。
05:19
诶看没有问题,直接就覆盖过去了,不再提示了,好啊,那所以这个可以给大家解释一下,这是什么用法呢?这个反斜杠其实是指的是。直接使用Linux里边的原生命令。哎,那为什么。这里面还涉及到了这个原生命令的概念呢,这里面稍微的解释一下,就是这里这个CP,我们可以用Type Cp来看一下它的类型。我们看到它的类型就跟前面我们那个LS有点像啊。LS我们知道它本身也是诶某种情况的一个别名,那现在呢,CP它也是别名,它是CP-I的别名。
06:01
那这个杠I是什么意思呢?哎,我们可以直接CP。因为我们知道这个不是内置命令嘛,直接可以杠杠help看一眼,我们可以看到杠I的意思是r interactive,交互式的。也就是说假如你出现overri这种情况,你要覆盖复写的这种情况的话,他要出一个提示,出一个提醒啊,啊,所以默认情况下,他觉得你这个覆盖的操作不太安全嘛,所以我们常用的CP,它其实执行的是CP-I,那假如说我就不想要这个杠I,我就想直接用CP行不行呢?行,你加上反斜杠,用这个原生命令就可以了。啊啊,所以这个其实可以多说一句,就是前面我们所说的这个LS啊,我们说它其实是LS杠杠,Color等于auto的别别名,哎什么意思呢?就直接执行这个LS的时候,我们看到这里面的颜色。对于不同类型的,你像这个文件和文件夹和目录,它是不同颜色表示出来的,这就是这个杠杠color,等于凹做了一个调整,做了一个可视化的展示啊,那假如说我们加上这个反斜杠LS的话,你看它就一视同仁,没有任何颜色的展示了。
07:16
啊,所以这就是所谓的这个原生命令和它的别名这样一个说法,那在这个LI4里边到底有多少这个带着别名的命令呢?啊,用这个命令来看一下,可以as,我们知道这就是别名的意思,我们直接敲它这里边就可以看得出来,哦,你看CP,它是CP-I哦,然后当然还有一些其他我们现在还没有接触到的命令啊,啊,那我们看到这里边有LL和LS。啊,前面我们讲它其实就是LS下边执行某些参数的时候,这样的一个别名的写法啊。呃,这个就是做一个了解就可以了啊,大家只要稍微的了解一下就行,关于这个CP呢啊,其实还有另外一个用法,它不光能复制文件,我们看文档可以看到它其实是复制文件或目录的一个命令。
08:06
哎,所以说我们这里的S呢,你也可以不选文件,直接选一个文件夹,一个目录,那如果要是选目录的话,我们单纯的复制目录显然是,呃,没有太大的用途的,我们关心的当然是希望要把目录下边的内容要复制过去,哎,那所以一般情况我们在复制这个整个文件夹的时候,要加一个参数。这个参数叫杠R,这个R是recerive的意思啊,就是递归的复制整个文件夹什么意思呢?啊,就是说假如说我们当前这是一个文件夹要复制,但是这个文件夹下呢,诶又有文件夹。又有文件夹里边可能有具体的某个文件。那对于这种情况,我们要复制这个文件夹的时候,加上杠二参数,那就会递归的把它下边的每一个子文件夹和每一个子文件全部都复制过去,完整的copy过去,哎,这就是这种用法,其实非常简单粗暴啊啊,那所以现在我们看一下当前,当前下边好像没有太多的这个子文件夹啊,我们可以创建一个。
09:15
那个D,我们还是创建一个叫做A的文件夹吧,啊,然后在这个A里边,我们可以直接copy一个。这个配置文件copy到当前的A目录下边去,然后接下来呢,我们把这个A目录完整的copy到。Home-at硅谷对应的这个另外一个用户,他的主目录下面去,哎,那这个怎么copy呢?那就是直接CP-R,然后当前的A目录。好,接下来直接对应的路径啊,Home at硅谷。好,那那我们现在来看一下这个后爱的硅谷下又变成了什么样子呢?哎,果然下边就有了一个A这样一个目录啊,那我们直接进去看一眼。
10:03
At硅谷A。I,我看里边果然也有这样的一个配置文件,完全没有问题,这就是递归的,把那个文件夹全复制过来了。
我来说两句