我们接着上一章的指令继续来学习
文章目录
find
Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系
统可能会花费很长的时间(这里是指30G字节以上的文件系统)
语法: find pathname -options
功能: ==用于在文件树种查找文件,并作出相应的处理(可能访问磁盘) ==
常用选项:
-name 按照文件名查找文件
因为find命令内容太多了,所以我们就选择find -name这一条命令来讲,以后遇到了find其他指令再补充
find可能会去磁盘中查找,把我们要查找的文件名和路径加载到内存当中
结论:当我们使用find搜索的时候,可能需要访问磁盘,进而导致效率下降
which
作用:
只搜索命令
alias
作用:
对命令重命名(起别名)
whereis
作用:
去指定目录下搜索
在特定的路径下,查找指定的文件名对应的指令或者文档
查找范围大小:which < whereis < find
grep
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
grep:文本内容的行过滤工具。默认,会匹配文本中的关键字,匹配上的进行行显示
grep -n
grep -i
grep -v
wc -l
作用:
行统计(统计有多少行)
小结:grep可以和其他命令,结合管道来进行某些匹配工作
sort
作用:
对文件里面的内容/数据进行排序
uniq
作用:
删除连续的重复内容
zip/unzip
语法: zip 压缩文件.zip 目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理
举例:
将test2目录压缩:zip test2.zip test2/*
解压到tmp目录:unzip test2.zip -d /tmp
zip默认对一个目录进行打包压缩的时候,只会对目录文件进行打包压缩,所以我们要使用-r指令来递归处理
unzip + .zip压缩包 -d +路径:解压到指定路径下面
tar(打包/解包,不打开它,直接看内容)
tar [-cxtzjvf] 文件与目录 … 参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
补充:tar命令后面有的电脑使用后面要带-,有的不需要带,大家转换着试试
bc
相当于linux里面的计算机
我们就不多讲了,windows下面的计算机其实够我们用了
uname –r指令:
语法:uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称
关机
语法:shutdown [选项] ** 常见选项:**
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
这个命令我就不演示了,大家可以自己玩一玩😁😁😁
重要的几个热键
\ 续行
[Tab] 按键—具有『命令补全』和『档案补齐』的功能
[Ctrl]+c 按键—让当前的程序『停掉』
[Ctrl]+r 搜索历史命令
[Ctrl]+d 按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
lscpu 查看cpu信息
lsmem 查看内存情况
df -h 查看磁盘使用情况
扩展命令
◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode
shell命令以及运行原理
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。
而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)
主要包含:
将使用者的命令翻译给核心(kernel)处理。
同时,将核心的处理结果翻译给使用者。
对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的
操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运
行出结果,通过shell解析给用户。
帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你心动的MM小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫 它王婆,它对应我们常使用的bash
命令行解释器在Linux中简称为外壳程序,英文叫做shell(shell是所有外壳程序的英文统称,并不是所有外壳程序就叫做shell。比如:centos7的外壳程序叫做bash)
命令行解释器的表现:
你看到的命令行提示符,以及可以输入指令并且可以执行
shell存在的意义:
1、解决用户和操作系统沟通的成本问题 (人不善长和操作系统打交道)
2、变相的保护操作系统(当用户输入非法指令的时候,shell外壳拒绝执行指令,从而保护操作系统)
shell外壳执行命令,通过派生子进程的方式执行用户的指令;而shell本身并不执行对应的指令(一般而言!)
linux的两种理解
宏观理解:linux内核+shell外壳=linux
微观理解:只谈linux内核,也就是linux操作系统
我们手机里面就是装的linux内核