[toc]
Linux常用命令
clear命令
clear 是 Linux/Unix 类操作系统中清空终端屏幕的核心命令,适用于所有主流发行版(Ubuntu、CentOS、Debian 等)、macOS 及 BSD 系统。
clear命令 执行后会清空当前终端(Terminal)的所有输出内容,将光标重置到屏幕左上角,让终端界面恢复为干净的初始状态,提升命令行操作的视觉整洁度。
# 基本用法
clearcurl命令
curl 是模拟 HTTP 请求、检测服务状态的首选工具,轻量且功能强大。
基础语法
# 基础语法
curl [选项] [URL]检测服务是否存活(默认是GET 请求)
# 检测服务端口是否通(最简版)
curl http://localhost:31001 # 访问服务根路径
# 检测接口
curl http://localhost:31001/xxx/xxx
# 带详细输出(看响应码、响应头,排错用)
curl -v http://localhost:31001/xxx/xxx # -v:verbose 详细模式模拟不同 HTTP 请求(POST/PUT/DELETE)
# 模拟 POST 请求(提交 JSON 数据,适配 RESTful 接口)
# -X 指定请求方法
# -H 指定请求头
# -d 指定请求体(JSON)
curl -X POST http://localhost:31001/api/user -H "Content-Type: application/json" -d '{"username":"test","password":"123456"}'
# 模拟 PUT 请求(修改数据)
curl -X PUT http://localhost:31001/api/user/1 -H "Content-Type: application/json" -d '{"username":"test_update"}'
# 模拟 DELETE 请求(删除数据)
curl -X DELETE http://localhost:31001/api/user/1tail命令
① 全称和作用
- tail命令的全称即为tail(尾巴)。
- 因此tail命令作用是显示后边几行。默认显示最后10行
② 命令参数
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c <数目> 显示的字节数
-n <行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒使用tail命令案例
$ tail aaa.txt #默认显示最后10行
$ tail -5 aaa.txt #显示aaa.txt文件最后5行的内容
$ tail -n +5 aaa.txt #从第5行开始显示文件内容至文件末尾
$ tail -c 10 aaa.txt #显示文件的最后10个字符
$ tail -f aaa.txt # 此命令显示文件的最后 10 行。当aaa.txt文件有更新时,tail -f命令会实时显示。
$ tail -100f aaa.txt # 显示最后100行文件内容,之后实时显示- 当文件内容有更新时。tail -f 命令会实时显示出来。
- 若要结束tail -f命令,按CTRL + C组合键即可。
cat命令
① 全称和作用
- cat(英文全拼:concatenate)命令:用于连接文件并打印到标准输出设备上。
cat 命令有3个作用:
- 一次显示整个文件
- 创建一个文件
- 将几个文件合并为一个文件
② 完整语法格式
cat [-AbeEnstTuv] [--help] [--version] fileName③ 命令参数
-n 或 --number:从 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;cat命令实例
# 显示整个文件内容
cat /etc/a.txt
# 创建b.txt文件
cat > b.txt
# 把 textfile1 的文档内容加上行号后,覆盖到 textfile2 这个文档里
# > 是覆盖
cat -n textfile1 > textfile2
# 把 textfile1 的文档内容加上行号后,附件加到 textfile2 这个文档末尾后
# >> 是附加
cat -n textfile1 >> textfile2
# 清空 /etc/a.txt 文档内容
cat /dev/null > /etc/a.txttail和cat的区别:
- cat显示文档的全部数据,是静态查看文件内容
- tail可以查看文档更新情况,可以动态查看文件内容
grep命令
① 全称和作用
- grep的全程是:Global search Regular Expression and Print out the line (全局 搜索 正则表达式 和 打印出来)。
- 作用:用正则表达式在文本中查找指定的字符串,类似于windows系统中用ctrl+F去查找一样。
② 完整语法结构
grep [options] [pattern] file
命令 参数 匹配模式 文件③ 命令参数
-i : 忽略大小写;
-o : 仅显示匹配到目标字符串;
-v : 显示不能被匹配到的字符串(反转);
-E : 支持使用扩展的正则表达式字符串;
-q : 静默模式,不输出任何信息
-n : 显示匹配行与行号
-c :只统计匹配行数
-w :只输出过滤的单词
-l :列出包含匹配项的文件名
-L :列出不包含匹配项的文件名grep命令中常用到的正则表达式
| 表达式 | 解释说明 |
|---|---|
| ^ | 用于模式最左侧,如 “^yu” 即匹配以yu开头的单词 |
| $ | 用于模式最右侧,如 “yu$” 即匹配以yu结尾的单词 |
| ^$ | 组合符,表示空行 |
| ` | ` |
| . | 匹配任意一个且只有一个字符,不能匹配空行 |
| 重匹配前一个字符连续出现0次或1次以上 |
.* | 匹配任意字符 | ^.* | 组合符,匹配任意多个字符开头的内容 | .*$ | 组合符,匹配任意多个字符结尾的内容 | [^abc] | 匹配除了 ^后面的任意一个字符,a或b或c,[]内 ^ 表示取反操作 | [abc] | 匹配 [] 内集合中的任意一个字符,a或b或c,也可以写成 [ac] |
使用grep命令案例
自定义一个aaa.txt 的文件,内容如下
aaa
bbb
ccc
##这是注释行1
##这是注释行2#从文件中输出注释行。
# "^#"匹配#开头
$ grep "^#" aaa.txt
#从文件中输出注释行。-n显示匹配行与行号
$ grep -n "^#" aaa.txt
# 找出文件中的非注释行,并且不是空行
# -v 反转的意思,| 并且的意思
$ grep -v "^#" aaa.txt | grep -v "^$"
#从文件中输出以h开头的行,不区分大小写
$ grep -i "^h" aaa.txt
#输出以txt结尾的行。显示匹配行与行号
$ grep -n "txt$" aaa.txt
# 匹配文本中至少包含一个abc的行
$ grep -i ".abc" aaa.txt用tail和grep命令查看日志
tail -f xxx.log # 实时刷新最新日志
tail -100f xxx.log # 实时刷新最新的100行日志
tail -100f xxx.log | grep [关键字] # 查找最新的一百行中与关键字匹配的行
tail -100f xxx.log | grep '2019-10-29 16:4[0-9]' # 查找最新的100行中时间范围在2019-10-29 16:40-2019-10-29 16:49范围中的行
tail -1000f xxx.log | grep -A 5 [关键字] # 查看最新的1000行中与关键字匹配的行加上匹配行后的5行telnet命令测试端口连通性
telnet命令是TELNET协议的用户接口,它支持两种模式:命令模式和会话模式。
虽然telnet支持许多命令,但大部分情况下,我们只是使用它查看目标主机是否打开了某端口(默认是23)。
telnet命令用法
若端口未打开
$ telnet 101.199.97.65 62715 #测试101.199.97.65服务器是否开通62715端口
Trying 101.199.97.65...
telnet: connect to address 101.199.97.65: Connection refused若端口已打开
$ telnet 101.199.97.65 62715
Trying 101.199.97.65...
Connected to 101.199.97.65.
Escape character is '^]'.此时命令未退出窗口。 根据提示Escape character is '^]'.可知退出字符为'^]'(CTRL+])。 此时输入其它字符不能使其退出,CTRL+C都不行。输入CTRL+]后会自动执行,进入命令模式:
^]
telnet>此时再运行quit才会真正退出。
telnet> quit
Connection closed.查询系统内核和系统信息 命令
查询系统内核信息
# 显示所有内核相关信息(内核版本、主机名、架构、系统名称等)
uname -a
# 其中仅显示内核版本(如 5.15.0-88-generic)
uname -r
# 仅显示系统架构(如 x86_64、aarch64)
uname -m
# 仅显示内核名称(Linux)
uname -s查询系统发行版/版本信息
适用于查询 CentOS、Ubuntu、Debian 等发行版的具体版本。
# 通用方式(主流 Linux 发行版都支持)
cat /etc/os-release
# 输出包含:NAME(发行版名称)、VERSION(版本号)、ID(如 ubuntu/centos)等
# CentOS/RHEL 专属
cat /etc/redhat-release
# 输出示例:CentOS Linux release 7.9.2009 (Core)
# Ubuntu/Debian 专属(需安装 lsb-release 包)
lsb_release -a # 显示所有相关信息
lsb_release -d # 显示发行版名称(如 CentOS、Ubuntu、Debian 等)
lsb_release -r # 显示发行版版本号(如 7.9.2009、20.04、11 等)查询硬件信息
# CPU 详细信息(核心数、架构、主频、缓存等)
lscpu
# 内存使用信息(-h 人类可读格式,如 GB/MB)
free -h
# 磁盘分区及使用情况(-h 人类可读)
df -h
# 块设备(磁盘、分区、挂载点)列表
lsblk
# PCI 设备(显卡、网卡、主板等)
lspci
# USB 设备
lsusb
# 硬件SMBIOS信息(需root,如主板、BIOS、内存插槽等)
dmidecode