系列文章目录
(1)Linux的基本指令
(2)Linux的进阶指令
(3)Linux的高级指令
文章目录
前言
本文总结一些使用频率较高的常用指令。
1、df指令
含义: 查看磁盘空间。
用法: #df -h
含义:-h一般组合使用,有更好的可读性。
例: df -h
2、free指令
含义: 查看内存使用情况。
用法: #free -m
含义:-以mb为单位进行查看。
例: free -m
当然-h也可以使用。
例: free -h
3、head指令
含义: 查看一个文件的前n行,如果不指定n,则默认显示前10行。
用法: head [-n] 文件地址
含义:n表示显示的行数。
例: head -n
4、tail指令
含义: 查看一个文件的后n行,如果不指定n,则默认显示后10行。
4.1、显示行数
用法: tail [-n] 文件地址
含义:n表示显示的行数。
例: tail -10 lsResult.txt
4.2、动态展示
用法2:#tail-f 文件路径
含义:可以通过tail指令来查看一个文件的动态变化内容[变化的内容不能是用户手动增加的]
例: tail -f newTest.txt
演示该效果需要开启两个终端。
(1) 在FinalShell中输入: tail -f newTest.txt 。此时光标会进入等待状态。
(2) 在虚拟机中使用输出重定向功能:ls -l >newTest.txt。
(3) 当按下回车键,可以看到在FinalShell中的变化。
5、less指令
含义: 查看文件,以较少的内容进行输出,可以根据查看更多。
常用辅助功能:
数字+回车: 从数字页开始显示。
空格键: 滚动一页
回车键: 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
Q: 退出less 命令
用法: less 需要查看的文件路径
例: less 文件名
6、wc指令
含义: 统计文件内容信息(包含行数、单词数、字节数)。
用法: #wc -lwc 需要统计的文件路径
含义:
-l:表示lines,行数
-w:表示words,单词数
-c:表示bytes,字节数
例: wc -lwc lsResult.txt
7、date指令
含义: 表示操作时间日期(读取、设置)。
7.1、查询时间
用法1: #date
例: date
7.2、查询“Y-m-d”
用法2: #date "+%F %T"
等价操作 #date“+%Y-%m-%d %H:%M:%S”
例: date "+%F %T"
7.3、查询前后日的时间
用法3: #dat3 -d “需要改变的天数” “+%F %T”
例: date -d "-2 day" "+%F %T"
补充: 符号的可选值: +或者-。
单位的可选值: day (天)、 month (月份)、year (年)
符号 | 意义 |
---|---|
%F | 表示完整的年月日 |
%T | 表示完整的时分秒 |
%Y | 表示四位年份 |
%m | 表示两位月份(带前导0) |
%d | 表示日期(带前导0) |
%H | 表示小时(带前导0) |
%M | 表示分钟(带前导0) |
%S | 表示秒数(带前导a) |
8、cal指令
含义: 用来操作日历。
8.1、输出当月
用法1: #cal
等价于 #cal -1
含义:直接输出当前月份的日历
例:cal
8.2、输出上月+当月+下月
用法2: #cal -3
含义:表示输出上一个月+本月+下个月的日历
例:cal -3
8.3、输出年
用法3: #cal -y 年份
表示输出某一个年份的日历
例:cal -y 2022
9、clear/(ctl + L )指令
含义: 清除终端中已经存在的命令和结果(信息)。
用法: #clear
例:clear
注意:该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
10、管道
含义: 管道一般可以用于“过滤”,“扩展处理”。管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用, 其作用主要是辅助作用。
10.1、过滤
用法1: |grep 过滤条件
例1:ls / |grep y
含义:过滤出带y字母的结果
针对上面这个命令说明:
(1)以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入;
(2)grep指令:主要用于过滤
10.2、管道和ps的结合
例:
1:ps -ef | grep nginx
含义:上面的语句(1)用于查询一个nginx进程(可替换)是否启动,当执行的时候往往会出现以下情况:
出现这种情况,是因为将第一句的grep作为一个子进程执行了,并不是我们需要的结果。所以需要通过grep -v grep进行过滤。
例:
2:ps -ef | grep nginx | grep -v grep
含义:语句(2)含义是:排除掉执行grep这句话之后的结果。
grep-v:该选项的功能是反选(不包含)所有包含选定模式的行
grep -v grep:排除带grep的行
例:
3:ps -ef | grep mysqld | grep -v grep &> /dev/null
语句(3)的含义:往往在if中使用,例如
if ps -ef | grep mysqld | grep -v grep &> /dev/null
then
echo "MYSQL RUNNING"
else
echo "MYSQL STOP"
fi
在以下脚本中,不想输出ps显示的结果在控制台中。可以使用重定向,将内容扔到垃圾桶文件中。
-&> /dev/null:扔到垃圾桶中
例
4:this_pid=$$
ps -ef | grep nginx | grep -v grep | grep -v $this_pid
语句(4)的含义:在启动一个脚本文件时,文件名含有grep 后的字段(如:docker),那么在启动时文件名也会作为一个进程,对我们的判断进行干扰。
此时,需要使用$$获取pid,并进行过滤。
10.3、扩展
多个不同的指令结合起来,会产生其本身不具有的效果。
如:如何统计某个目录下的文档的总个数?
用法2: ls / | wc -l
含义:将ls和wc指令通过管道进行连接,可以产生统计总个数的功能。命令不唯一。可以进行替换。
例:ls / | wc -l