目录
查找指令
find指令:(灰常重要) -name
实例:
which
破开指令的神秘面纱
alias(别名)
grep行文本过滤工具
zip/unzip(打包压缩/解包)
查找指令
find指令:(灰常重要) -name
实例:
find的功能是为了在很多的文件中,查找目标文件是否存在;
1.默认在当前目录下递归式查找所有文件;
也就是在当前目录下的所有文件以及文件内的所有文件都能查找;
2.根据路径查找文件
3.-o (或者)
我们如果想要查找多个文件时, 需要使用-o 连接;示例如下;
这样就可以同时查找多个文件是否存在了;同样的-a也可以;
which
which是用来查找指令的;
1.which是专门在Linux中搜索指定的指令的;
2.我们发现好多都早bin中;
破开指令的神秘面纱
指令是什么呢?指令就是可执行程序(文件);就像我们写完C的代码编译运行后产生的exe文件一样;工程师们将指令写好然后装到一个特定目录下;然后执行时就会找到这个指令执行;
再举个例子,我们打开Windows的一个浏览器;浏览器其实也是一个文件可执行程序;
我们打开打开文件所在路径就可以看到chorm的文件后缀是exe,就说明了他是一个可执行文件;
我们每次写完指令后,按下回车;这时候其实是找到了/bin目录下的对应的可执行程序运行;
当然我们也可以换个方式调用指令;像这样:
既然指令是调用的/bin目录下的可执行程序,那我现在有个大胆的想法:我自己写一个C语言可执行程序然后弄到/bin目录下是不是也能直接像pwd,ls这样直接使用呢?
答案是可以的;
注意:如果不是管理员的话是不能在/bin目录下添加文件的;
问题1:我们执行C语言可执行程序时为什么要在开头加上./呢?
这个答案很简单,因为可执行程序是在/bin中找的,但是我们自己写的不在/bin中,所以我们要告诉系统,我的可执行程序在当前目录下,不用去其他地方找了;
alias(别名)
我们刚才使用which时,有些指令是在/bin中,而有些却出现了不一样的结果:像这样->
就比如ls,which;我们发现他们开头都是anlias(取别名);我们来对比一下ls和/bin/ls:
问题2:ls和/bin/ls有何区别?
很明显,前者显示的文件有颜色,后者显示的文件没有颜色;我们再来分析下ls;
会发现ls其实是"ls --color=auto"的别名;其中有个color就是有色的原因;
那么我们是不是也可以自己给指令起名字呢?
可以,
注意别名归别名,不会在bin中产生新文件;
grep行文本过滤工具
现在默认有个10000行("hello $cnt")的大文件log.txt ;
按照关键字显示出文件中的数据(这里太多了,截了一部分);
为了方便展示,所以在构建一个新文件:test.txt
1.默认区分大小写
没有查找到大写的Bit;说明有大小写区分;
2.-i (ignore)忽略大小写
现在更新下文件test.txt;
3.-v 查找目标关键字之外的信息
-v 只要不匹配的行;
4.-n保留行号
这里的行号是原来的行号;是保留下来的;
grep在查找大文件是十分的好用的;以后我们会学到ps(进程);内容是很多的所以使用grep是很方便的;
zip/unzip(打包压缩/解包)
在Windows中我们都见过下载什么文件应用时需要压缩;那么为什么要打包和压缩呢?
打包是把东西放在一块,压缩是使东西挨得近一点;就像我们要去旅行时,总喜欢在包里面多塞点东西;目的是装下更多的东西,如果我们只是把衣服乱成一团的硬塞那能装下的东西就会大打折扣;这就体现到压缩的重要性了;我们压缩的目的是缩小容量,也就是内存;
1.zip使用方法: 统一将压缩后的文件后缀为zip;
2.压缩的只是目录并不是将原来的所有内容都压缩
3.使用-r 递归式压缩
4.将压缩包解包在指定文件
如果我们直接ubzip 压缩包 的话,是会直接在当前目录下显示出来的;
那我们如果在指定位置解开呢?
压缩其实是另一种可以减少数据量的拷贝方式,本质还是拷贝;