Linux基础命令(2)

现在class03下面有这些

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

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

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

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

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

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

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

拷贝文件的命令操作——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

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

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

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

文件名是passwd。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

普通cp目录加-r

-r:其实是递归的意思

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

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

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

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

下面看这个问题

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

——答案是不一样的

第一次拷贝是新文件名

第二次拷贝是目的路径

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

但操作有2步

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

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

而这个是源文件test里面的

可以发现2者并不一样

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值