大范围查找指定文件——find指令(常用选项)
语法: find [路径] [选项] [文件名]
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
-name 按照文件名查找文件。
find -name会在你指定的目录里面找所有同名的文件。
然后以递归形式展示。
因为文件时在硬盘中,所以查找的时候需要放到内存里查找,如果太大就要消耗非常多的时间,很多人都倾向于把它放在后台执行。
搜索命令路径——which指令
语法:which [指令]
功能:linux下搜索指令的路径。
指令重命名——alias指令
语法:alias [重命名]=[‘你要重命名的指令’]
功能:在linux下给命令重命名(多个命令组合在一起也可以)
第二次被重命名的时候原来的命令等价于ls。(ls也是被这样重命名的)
在特定路径下查找指定文件——whereis指令
查找范围:which<whereis<find
语法:whreris [文件]
功能:在家目录,还有压缩包和文档里面查找同名指令或者是文件或文档。
在文本中找字符串,并且打印行——grep指令(常用选项)
语法: grep [选项] [‘搜寻字符串’] [文件]
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
找到了123文本里面的9999这个字符串。
如果想展示行号就选项带n:
选项 i 不方便展示。
选项 v 就很容易理解了:
并没有带9的内容。
grep能和其他命令结合管道来进行操作。
与grep配合的一些指令
** 查找指定内容有多少行——wc指令**
对指定文本内容进行排序——sort指令
删除相邻的文本内容——uniq指令
这两个不方便演示,以后都会演示。
压缩包与解包——zip/unzip指令
语法: zip [选项] [压缩包名].zip [目录或文件]
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理
安装Centos 7 zip的指令
yum install zip unzip
这样就成功创建了一个压缩包。
我们解包看一下:
先把压缩包放在www目录里面,防止解压出来的文件重名
我们发现解压的文件里面啥都没有,也就是说只是将ppp这一层目录给放进压缩包里面了,ppp一下的内容并没有打包放入test.zip中,zip默认只会对一个目录进行打包。
我们把之前解压出来的目录和压缩包删除,然后重新搞一个压缩包,这次带选项r递归进行打包。
看,这次加载的时候也多了不少东西。
这次就能看到解压出来的目录ppp里面有原来的文件了。
unzip指令解压的时候可以带选项-d,那么就是解压到指定路径。
这里我又在root目录下创建了一个压缩包,然后我解压到了www目录下。
与zip/unzip类似——tar指令
语法:tar [选项] [包名].tgz [你要进行打包的文件或目录]
功能:与zip类似,但是可以不用解压也能查看压缩包里的内容
常用选项:
-c :建立一个压缩文件的参数指令(create 的意思)
-x :解开一个压缩文件的参数指令
-t :查看 tarfile 里面的文件
-z :使用gzip算法进行压缩
-j :使用bzip2算法进行压缩
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名(你定义的压缩包的名),请留意,在 f 之后要立即接档名!不要再加选项!
-C : 解压到指定目录,注意后面必须跟解压路径,不能有其他选项。
先把之前zip指令创建的压缩包删除。
然后用tar指令创建一个.tgz后缀的压缩包。
将压缩包剪切到目录www里面
只要把tar选项的czf换成xzf就变成了解包并压缩。
如果你想看解包的过程可以带一个选项v。
如果你想只查看压缩包的内容,又不想打开压缩文件就要用选项 t 加上 f 指明对应的压缩包。
windows下演示:
这里我并没有解压,只是打开查看。
如果想解压到某个指定的位置就要用选项C:
先把压缩包放到root目录下
运算——bc指令
这个指令直接输入即可,然后进行类似计算器一样的运算,浮点型的也可以。
退出是输入quit。
这个指令也支持管道。
获取电脑和操作系统的相关信息——uname指令
语法:uname [选项]
常用选项:
-a或者-all显示所有信息(内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称)
-r显示linux内核版本以及修订次数和体系结构
选项r显示的信息,3是主版本,10是此版本,后面的0是修改次数,在后面是小补丁的次数,el7是Centos 7,x86 64是英特尔处理器对应的架构,64位平台。
常用的几个热键
- [Tab]按键—具有『命令补全』和『档案补齐』的功能
这里的按了tap,会告诉你有whi开头的这些命令。如果是whic开头呢?,那么他会自动补全并且还会帮你补一个空格。 - [Ctrl]-c按键—让当前的程序『停掉』
平时在写命令的时候会遇到这种情况,少了某些字符,然乎命令无法运行成功然后卡在了某个位置:
或者是运行代码死循环,那么只要用这个热键就能退出。 - [Ctrl]-d按键—退出用户,退出一层
这个就是退出一个用户,然后进入上一个用户,如果只有一个用户就完全账户了。
这里要说明一个符号,续行符,和C++的类似;
关机——shutdown指令
语法: shutdown [选项]
常用选项:
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
查看CUP结构——lscpu指令
查看内存信息指令——lsmem指令
查看磁盘结构——df -h指令
shell命令以及运行原理
我们用户输入指令时,其实linux系统是无法理解的,需要一个叫做命令行解释器的东西来进行翻译然后让linux进行操作。
命令行解释器被称为外壳程序shell。
从技术角度, shell的最简单定义:命令行解释器(command Interpreter)主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
当我们输入指令的时候,如果是非法操作,那么shell就会拒绝执行,也就等于保护Linux内核,如果shell明知道你的输入是非法的,还要继续,shell本身会创建进程来执行非法的指令。
其实这就跟windows一样,我们在用鼠标打开各种应用就等于在对shell发起指令,只不过是图形化了而已。
Centos 7的外壳是bash: