
linux的常用命令1 压缩解压缩1解压到指定目录tar -zxvf nginx-1.23.1 -C /home/aries/nginx2unzip解压zip文件-o表示解压后覆盖目录中的相同文件 不进行询问unzip - o **.zip -d 目录2 列表 文件内容大小ll -t //以时间顺序显示目录文件 ll -rt ll -a -rt // 按照时间升序显示目录内容 ll目录大小一般不包括里面的具体文件大小 ll -sh可以显示总用量 du -sh: 每个目录下每个文件的大小以列表形式展现 最外层文件夹和文件的大小 du -s当前路径下每个目录和文件占用的总大小计算每层的子目录 du -h人性化展示当前路径的目录的内容大小 du查看当前路径所在目录以及使用文件的大小[rootzb-tst-xwlp-0176-tyzj-ecs-0001 logs]# du -sh * | sort -hr 降序显示当前目录内容 du -sh * | sort -h 升序 [rootzb-tst-xwlp-0176-tyzj-ecs-0001 reportmodel_newplatform]# du -h 只统计目录大小 不包括当前目录的文件大小 20K ./redbook 4.0K ./filedata 2.1G ./logs 2.2G . [rootzb-tst-xwlp-0176-tyzj-ecs-0001 reportmodel_newplatform]# du -h * 目录包括里面文件总大小、文件都统计大小 12K audit.log 4.0K bakup.sh 4.0K D:\test\zsb\bfzsb\claim\claim_20250605.csv.gz 4.0K filedata 2.1G logs 20K redbook 157M ReportModel.jar 4.0K start.sh 4.0K stop.sh [rootzb-tst-xwlp-0176-tyzj-ecs-0001 home]# du -sh * | sort -h 统计总的 sh 多级目录也会只展示一层 4.0K log_tgz.sh 16K lostfound 28K appuser 28K Security 36K app 36K front 816K data 5.5M 3f00c28b77e94250873cb8a352788256.pdf 147M xwlpapp 204M piccism 16G backfile.15G 65G pdfc4 -- 展示多层 [rootzb-tst-xwlp-0176-tyzj-ecs-0001 home]# du -h * |sort -h 4.0K app/.mozilla/extensions 4.0K app/.mozilla/plugins 4.0K app[rootzb-tst-xwlp-0176-tyzj-ecs-0001 home]# du -sh * | sort -hr降序显示当前目录内容 第一层不展示里面的3 查看磁盘空间df df -h人性化查看硬盘空间的使用情况4 vim命令1搜索指定字符串查找上一个 下一个按/ 输入内容 N 查找前一个 n 查找后一个2向上向下翻页向下翻越往下走时间点越大pageup ctrl f floor 前下走向上翻越往上走时间点越小pagedown ctrl b back 往后退3根据光标来删除指定行# 删除光标所在行 dd # 删除光标当前行开始连续n行 ndd 4dd # 删除n1-n2行 1-3行 n1,n2d # 从n行开始删到末尾4:x文件有变动 :wq文件无变动 :q5查看的日志文件只是当前时间的文件内容后续有新增的内容此刻是看不到的。 需要退出重新view命令5 目录1创建多级目录 创建多个目录mkdir -p m1/m2/m3 //创建多级目录 mkdir m1 m2 m32过滤目录 查找目录或文件ll hosts // 刷选hosts的目录和文件 精确查找 ll | grep host // 会筛选出包含host的文件夹和文件连接mysql# 连接远程的mysql -h 可省略 ,/mysql -u epmdb -p *** -h 102.199.29.10 use nacos;查询端口号 进程idnetstat 命令是一个非常有用的网络工具用于显示网络连接、路由表、接口统计数据等。在 Linux 和类 Unix 系统中netstat 命令可以用来查看当前的 TCP/IP 网络连接情况以及端口监听情况等。在 Windows 系统中netstat 命令的使用方式略有不同但基本功能相似。常用选项-a显示所有连接和侦听端口。-n以数字形式显示地址和端口号而不是尝试解析为域名。运行 netstat -an 命令后你会得到一个包含多个字段的列表下面是一些常见字段的解释Proto协议类型如 TCP 或 UDP。Local Address本地地址和端口号。格式为 地址:端口。如果地址为 0.0.0.0 或 ::表示监听在所有可用的网络接口上。Foreign Address远程地址和端口号。对于监听状态的条目这一列通常显示为 * 或 0.0.0.0:0。State连接状态仅对 TCP 连接有效。例如LISTEN 表示服务器正在监听该端口上的连接请求ESTABLISHED 表示一个成功的连接已经建立。PID/Name进程IDPID或进程名在 Linux 上可能需要使用其他工具如 lsof 来获取进程名。这有助于确定哪个进程正在使用特定的端口。示例输出解析假设你在 Linux 上运行了 netstat -an 命令输出可能看起来像这样Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd tcp 0 0 192.168.1.100:54322 192.168.1.1:80 ESTABLISHED 5678/firefox udp 0 0 0.0.0.0:68 0.0.0.0:*详解第一行显示 SSH 服务sshd正在监听 TCP 端口 22。第二行显示 Firefox 浏览器通过 TCP 端口 54322 建立了与 IP 地址为 192.168.1.1 的服务器的连接该服务器在端口 80 上监听通常为 HTTP 服务。第三行显示一个 UDP 服务在端口 68 上监听通常用于 DHCP 服务。2 获取进程名如果你想看进程名而不是 PID你可以使用 -p 选项与 -enetstat -anpe推荐ss命令功能更强大ss -anpps -ef | grep nacos端口号和进程id互转可互相查看netstat -tnlp | grep 端口号/进程id实际场景使用[rootzb-tst-xwlp-0176-tyzj-ecs-0005 ~]# netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:17000 0.0.0.0:* LISTEN 1001214/redis-serve tcp 0 0 0.0.0.0:17001 0.0.0.0:* LISTEN 1001562/redis-serve tcp 0 0 10.26.4.15:60020 0.0.0.0:* LISTEN 1506/./gse_agent tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1333/sshd: /usr/sbi tcp 0 0 0.0.0.0:7000 0.0.0.0:* LISTEN 1001214/redis-serve tcp 0 0 0.0.0.0:7001 0.0.0.0:* LISTEN 1001562/redis-serve tcp6 0 0 :::9100 :::* LISTEN 1585405/node_export tcp6 0 0 :::22 :::* LISTEN 1333/sshd: /usr/sbi udp 0 0 10.26.4.15:60020 0.0.0.0:* 1506/./gse_agent udp 0 0 0.0.0.0:68 0.0.0.0:* 1062/dhclient udp 0 0 127.0.0.1:323 0.0.0.0:* 3537173/chronyd udp6 0 0 ::1:323 :::* 3537173/chronyd一、先明确基础概念新手必看Proto协议tcp 可靠传输udp 快速传输Local Address本机监听的 IP 端口0.0.0.0 监听所有网卡::ipv6 所有网卡PID/Program name占用端口的进程 ID 程序名LISTEN端口处于 “监听状态”等待外部连接端口 / 协议 进程 / 程序名 应用类型 核心作用 tcp 17000 redis-serve Redis 数据库 第一个 Redis 实例的业务端口Redis 是高性能缓存 / 数据库常用于存储临时数据 tcp 17001 redis-serve Redis 数据库 第二个 Redis 实例的业务端口这台机器跑了 2 个独立的 Redis 服务 tcp 60020 ./gse_agent 云服务器 Agent 腾讯云或内部的管控代理用于云平台监控、运维、下发指令udp 也占用同端口 tcp/udp 22 sshd: /usr/sbi SSH 远程登录 你能远程连接这台服务器的核心进程22 是 SSH 默认端口tcp6 也监听 22 是 ipv6 版本 tcp 7000 redis-serve Redis 集群端口 第一个 Redis 实例的集群通信端口Redis 集群会用 7000/7001 这类端口做节点互联 tcp 7001 redis-serve Redis 集群端口 第二个 Redis 实例的集群通信端口 tcp6 9100 node_export 监控采集器 Prometheus主流监控系统的节点监控插件采集服务器 CPU / 内存 / 磁盘等指标 udp 68 dhclient DHCP 客户端 自动获取内网 IP 的系统进程服务器通过它从路由器 / 网关拿到 IP 地址 udp 323 chronyd 时间同步服务 系统级时间校准进程保证服务器时间和标准时间一致ipv4/ipv6 都启用telnet当前主机是否能够连接另外一台主机的相关端口这时候我们就可以使用telnet命令来进行测试连接是否畅通telnet [远程主机IP] [端口号]top命令各个进程的资源占用情况最后那一列展示的字段会缩写 top 最后那一列展示的字段会展示完整命令 top -c排序在top界面按M按内存大小排序按P按cpu大小排序按T按时间排序shift 向左向右改变排序列显示设置find命令有用和方便的搜索文件的命令(1) 查当前目录所有文件# find . ./abc.txt ./cool.php ./subdir ./subdir/how.php 2 # find ./test -name abc.txt ./test/abc.txt # find ./test -name *.php ./test/cool.php ./test/subdir/how.phpsudo命令临时获取root权限来执行需要root权限的命令此时不会产出一个新的shellsudomysqldump命令备份指定数据库 并将数据导入到bck.sql文件中mysqldump -h ip地址 -uroot -p密码 数据库名字 bck.sql目录文件权限前面的标识符- 表示普通文件类型d目录文件b设备块文件-rw-r--r--建立符号链接ln命令为某一个文件在另外一个位置建立一个同步的链接grepgrep -n 文本 文件 显示行号查询文件目录的相关大小排序du -sh * | sort -rhtail命令ctrl s 暂停输出日志ctrl q 继续输出日志