欢迎各位伙伴来到学习 Linux 指令的 第二天!!!
在上一篇文章 Linux基本指令(一) 当中,我们学会了 ls去去查看当前路径下的文件名,还有 ls 的一些选项参数, 我们还学会了使用 mkdir 创建一个目录,touch 创建一个普通文件,cd 进入到某一个路径下,并通过 pwd 来查看自己当前所处的路径位置!
那讲了这么久,有人要说啦! ”你讲了这么久!!我创建了那么多文件,我是会创建了,那删除呢???你倒是告诉我怎么删除文件捏!!!
别急,我们这就来开启今天的学习。
今天我们要学习的是……
我们先不着急怎么使用 这两条指令,我们先来看看它的作用!!
我们本来想通过 rmdir 来删除 d1,但却发现,哎!报错了??!!?
报错说,目录d1不为空,所以不能移除?!!
所以!!!
rmdir # 默认删除空目录
那我要删除不为空的目录,怎么办呢??? —— 我们后面讲。。。
先再来看一个指令
我们看到,通过 rm,我们的 text 文件不见了!!
因此,我们便可以知道!
rm text.txt #删除普通文件
那我们再用它来删除 d1目录
我们还是看到报错了,它不让我们删!那就再来!
这次,我们发现终于可以删除了! d1 这个目录已经不存在了!!!
OK,我们赶紧来看看这一行指令
// rm可以带 -r 和 -f 选项,-r表示递归删除。
// 有时候删除,系统会提示我们是否确认删除,那我现在不想要它问我,我就想要直接删, 而当中的 -f 就是表示,你不要问我,直接给我删除就好了!!
rm -rf d1
有没有这样一种可能,假设我的目录里头有很多 .c文件,我要把它们全部删除,但是呢,一个一个删除,又很麻烦,且很累,那有没有一种方法,能让我一次性删除他们呢???
答案是,有的!
那就是 Linux的一种通配符 *
那通配符除了可以一次性删除文件,还有什么用呢?
删除之前,我们能不能先将所以的 .c 文件显示出来看看呢?
我们可以看到所有的 .c 文件都被显示在屏幕上,全部都是以 .c 结尾的文件
所以!
ls *.c # 显示所有的 .c文件
所以我们大概了解了 通配符* 是什么,有什么作用了!
那我就想,那我能不能借助它会匹配的这个功能,将所有的 .c 删除掉呢?? —— 答案是,当然可以!!
我们看到了刚刚存在的 20 来个 .c 文件,现在全部不存在了!!!
[outlier@localhost test]$ rm -rf *.c # 删除所有的 .c文件
那我们赶紧总结一下
rm -rf *.c * 就是一种通配结构
那有人要问了,什么是通配结构呢??
==》
通配结构,就是什么都匹配的上,只要你最后满足以 .c (或者其他条件)结尾的,那就可以了!!!
cp 指令就是一条拷贝命名
cp src dst # 将 src路径下的文件 拷贝到 dst 路径下
cat hello.c # 就是查看目标文件的内容
Ok,我们看到当前的路径下,有hello.c 这个文件。我们现在想把他拷贝到 dir里
cp hello.c ./dir/
我们可以看到,通过上述该指令,我们讲 hello.c 以 ”相对路径“ 的方式 拷贝到了 dir目录中,并且显示了dir 目录中的 hello.c 文件
那我们能不能以绝对路径的方式拷贝呢??? —> 答案是,当然可以!
我们以绝对路径的方式,将同样的文件,拷贝到了家目录下,家目录下也拥有了 hello.c 文件
那有人就问了,文件夹能不能拷贝呢???
==》
答案是, 也可以的!!
在这里,我们怎么看到了,拷贝报错了呀!!?
==》
答案很简单,与 rm 相似,如果是删除一个目录,我们需要通过 -r 递归来删除,那我们再试一遍
我们发现,这次成功了。且看到上级目录下,也有 dir 这个目录,那拷贝后,我当前路径下的 dir 是否还存呢??
我们看到当前路径下的 dir 还是存在的!!!并不会因为 cp 指令 拷贝了一份数据到别的路径下,就导致原本路径下的数据丢失了。
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命
令,经常用来备份文件或者目录。
它的作用就类似 windows 平台下的 剪贴!!!
同样的,当前目录,有一个文件,一个目录,如果此时,我要将 hello.c 剪贴到 dir目录下,该怎么做呢?
[outlier@localhost test]$ mv hello.c dir/
//我们可以看到,通过该指令,我们将 hello.c 移动到了 dir 路径下,同时,当前路径下已经没有该文件了
[outlier@localhost test]$ mv dir/hello.c .
//我们也可以通过 ”相对路径“ ,将 dir 中的文件 移动到 与dir同级的目录,(.)即当前目录
[outlier@localhost test]$ mv hello.c world.cpp
[outlier@localhost test]$ mv dir d1
//我们可以看到,对已经存在的 文件名 或者 目录 进行 mv,就能起到重命名的作用!!!
cat -n 文件名 # 显示文件的同时,将对应行号显示出来
tac 文件名 # 将文件逆置显示
看到这里,有人就问了,哎哎哎,那你这 tac 将文件倒过来显示,有什么用呢???
那大家可以理解为,假如,这是一份成绩单,里面有非常多的人,我现在就要倒数前几个人的数据,那我倒着将文件显示出来,是不是就方便我查找许多了呢??
当然,这只是 tac 的一个非常小的用处,更大的用处,大家慢慢感受
OK,本章的基本指令就讲到这。如果能给你带来一定的帮助,或者是收获,我很开心。
同时,觉得对你有帮助的伙伴们,也可以 点赞 + 收藏⭐️ + 关注➕ 支持一下!
感谢各位观看!!