Linux基础命令(2)

现在class03下面有这些

Linux基础命令(2)_第1张图片

用ls -R看到test里面也是有东西的,也就是test目录文件非空

Linux基础命令(2)_第2张图片

那么现在在03下面mkdir建一个空的目录文件tes,刚建好里面还什么都没有放

Linux基础命令(2)_第3张图片

那么想要删除操作的话——要用什么命令

1.rmdir:用来删除空的目录文件的命令

Linux基础命令(2)_第4张图片

删除刚刚空的tes目录文件,正常情况下不报错就是执行成功的意思

也可以 ls看一下,tes已经没有了

Linux基础命令(2)_第5张图片

如果用rmdir删除非空的里面有东西的test目录,就会报错失败

Linux基础命令(2)_第6张图片

拷贝文件的命令操作——cp

在Windows下面拷贝文件就是简单的快捷键c.v

1.拷贝普通文件

在上图中,没有写源文件a.c的路径,只写了一个文件名a.c,也没有写目的路径,只在a.c后面写了一个test.c,这句话的意思是把文件a.c复制了,复制成test.c了。也就是说现在test.c里面的东西跟a.c里面的东西是一样的了。

可以用cat命令追踪看一下

之前a.c里面写的就是jio,将jio复制了,现在test.c和a.c里面都是jio了。

证明复制成功了

这句话的意思是将当前路径下的a.c文件复制,拷贝到还是当前目录文件夹下,拷贝后的文件起了个新名字叫test.c

Linux基础命令(2)_第7张图片

一般按文件名时前面说了可以用tab键来补全文件名,而如果按了tab之后没反应有可能是——这个文件已经不存在了——有原本就不存在或是已经被删除过了2种情况。

按文件名中前面的几个字母可以锁定到具体几个 包含该字母的文件

Linux基础命令(2)_第8张图片

下图中,/etc/是源文件路径,表示根目录下的etc目录下。

文件名是passwd。

目的路径的地方写的是一个点 .,一个点表示当前文件夹的意思

这句话的意思是,把根目录下的etc目录下的 一个叫passwd的文件,拷贝到当前目录文件夹来。当前文件夹就是class03

只有一个点,没有起名字,不起名字它就还叫原来的名字不变——passwd

前面拷贝文件a.c时,起了个名字叫test.c,也就是把a.c拷贝到test.c文件里来

Linux基础命令(2)_第9张图片

现在来 ls 看一下,03下面原本没有passwd这个文件,拷贝后就有了

Linux基础命令(2)_第10张图片

综上所述,写源文件路径时,那就是你写的路径,不写路径时,就默认为当前路径下的。

文件名,就是看你要复制拷贝哪个文件的内容。这个一般都要写

目的路径,有需要专门拷贝到的地方(即Ctrl+v的地方)就要写目的路径,因为不是所有文件都拷贝到当前路径,如果不写目的路径,也就是拷贝到当前路径下

2.拷贝目录文件夹——目录文件夹的拷贝就是比较普通文件的拷贝,在cp后面多加一个 -r

Linux基础命令(2)_第11张图片

上图中,这句话的意思是把 目录文件test复制,拷贝到当前路径下,拷贝后的文件名叫test01,这个test01相当于test的副本

Linux基础命令(2)_第12张图片

但它会运行失败,因为拷贝目录文件要加 -r,而这个没加 -r

Linux基础命令(2)_第13张图片

现在加了 -r ,就成功了。 ls看一下class03下面多有一了test01,cd进入test01,ls 发现它跟cd进入test里面的内容,是一模一样的。

3.拷贝加上重命名的文件

上面的cp a.c  test.c就是拷贝的第三个语法:拷贝并且重命名

cp (不写源文件的路径就是当前路径,pwd显示的,第一个要复制的文件名是当前路径下ls里面有的) 要复制内容(追踪显示文件内容用cat)的文件名   (目的路径,不写也仍然是当前路径下)蓝色的就是当前路径  (要粘贴内容的地方的文件)新取的文件名(如果不取新名字拷贝后的文件就还叫原来的a.c)

总结:路径:源,目的,不写就是当前

文件名:原,新,不写就是原

普通cp目录加-r

Linux基础命令(2)_第14张图片

Linux基础命令(2)_第15张图片

-r:其实是递归的意思

比如:一个叫test的目录文件下,有一个叫test01的目录文件,test01下还有一个目录o

Linux基础命令(2)_第16张图片

现在要实现对这个的拷贝,那么拷贝出来的东西,就还是一个叫test的目录文件下,有一个叫test01的目录文件,test01下还有一个目录o

那就是先把最里面的一层o一拷,再拷其往外一层的test01,最后拷最外面一层的test,也就是逐层递归的拷贝。——而-r做的就是这个,它不只是单纯一个cp拷贝某一个文件,而是一层一层全部拷完,而目录文件不就是一层一层的吗

Linux基础命令(2)_第17张图片

这就是要拷贝目录文件却没加-r的提示,看到这个就是说要加上-r

下面看这个问题

Linux基础命令(2)_第18张图片

现在这句话要执行2遍,那么它第二遍的结果跟第一遍是一样的还是不一样的

——答案是不一样的

第一次拷贝是新文件名

第二次拷贝是目的路径

Linux基础命令(2)_第19张图片

现在来看执行结果,跟上一个ls对比,多了一个蓝色tmp,证明操作成功了,

Linux基础命令(2)_第20张图片

但操作有2步

现在cd进去test,ls看一下test里面的内容,

Linux基础命令(2)_第21张图片

然后返回上一层cd ..,再cd ,ls看一下tmp里面

Linux基础命令(2)_第22张图片

而这个是源文件test里面的

可以发现2者并不一样

这是因为第一次拷贝时,tmp不存在,所以第一次tmp的含义就是一个新文件名

所以第一次是把test里面的内容拷了一个副本,放在文件名为tmp的里面,此时tmp是test的副本文件

而第二次,tmp这个目录文件名是已经存在的,那么此时它就是一个目的路径

也就是将test目录文件,拷贝到当前路径底下的tmp目录底下,也就是将整个test放在tmp下面

你可能感兴趣的:(Linux系统,linux,运维,服务器)