实用Linux命令大全【持续补充中】

本文汇总了一系列常用的Linux命令,包括进程管理、文件操作、网络监控等核心功能,旨在帮助用户提高工作效率,解决日常运维和开发中的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 查看进程的开始时间

ps -eo pid,lstart,etime | grep 5176

2. 查看那目录的大小

du -h -d 1
du -h --max-depth=0
du -h [dir]  // 查看直接子目录的大小

3. 压缩文件zip

zip -r [].zip [dir]

4. 杀死指定端口的进程

kill -9 `netstat -nlp|grep :8000|awk '{print $7}'|awk -F "/" '{ print $1 }'`

5. 远程文件同步工具(scp总出漏洞,干脆用这个吧)

rsync -avq

6. RPM包卸载

首先通过 rpm -q <关键字> 可以查询到rpm包的名字 然后 调用 rpm -e <包的名字> 删除特定rpm包 如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包 如果恰好有多个包叫同样的名字,使用 rpm -e --allmatches --nodeps <包的名字> 删除所有相同名字的包, 并忽略依赖

7. nmap端口测试

nmap -p 7077 master_ip

8. 查看内存,cpu

vmstat

9. ftp远程下载文件

wget ftp://192.168.1.1/11111111.zip --ftp-user=123 --ftp-password=123

10.修改文件连接数

cat <<EOF >>/etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 EOF

11. 硬盘速度测试

time dd bs=1M count=20000 if=/dev/zero of=/data/test.dd conv=direct

12.删除大小为0 的文件

find . -name "*" -type f -size 0c | xargs -n 1 rm -f

13.添加用户(软件运行用户)

useradd -d /usr/local/mongodb -s /sbin/nologin mongo

14.ssh-copy-id 【三步实现SSH无密码登录和ssh常用命令】

ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利

第一步:在本地机器上使用ssh-keygen产生公钥私钥对 $ ssh-keygen

第二步:用ssh-copy-id将公钥复制到远程机器中 $ ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx 注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中

15.修改主机的hostname, 调整 hosts文件

# 使用hostnamectl 修改了hostname之后,修改hosts文件是个好习惯(否则可能会导致一些springboot 或java 项目启动缓慢)
hostnamectl set-hostname test-001
vi /etc/hosts 127.0.0.1 test-001 ::1 test-001

16. 修改系统服务文件打开数

在Centos7系统中,使用Systemd替代了之前的SysV。/etc/security/limits.conf文件的配置作用域缩小了。/etc/security/limits.conf的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。因此登录用户的限制,通过/etc/security/limits.conf与/etc/security/limits.d下的文件设置即可。

对于systemd service的资源设置,则需修改全局配置,全局配置文件放在/etc/systemd/system.conf和/etc/systemd/user.conf,同时也会加载两个对应目录中的所有.conf文件/etc/systemd/system.conf.d/.conf和/etc/systemd/user.conf.d/.conf。system.conf是系统实例使用的,user.conf是用户实例使用的。

vim /etc/systemd/system.conf

vim /etc/systemd/user.conf

DefaultLimitNOFILE=100000 DefaultLimitNPROC=65535

执行systemctl daemon-reexec ,systemctl start nginx启动,然后根号进程号查看资源限制

17. 查看系统进程文件数等【查看当前进程的最大可以打开的文件数】

cat /proc/进程ID/limits

2)查看当前进程实时打开的文件数

lsof -p PID |wc -l

3)查看系统总限制打开文件的最大数量

cat /proc/sys/fs/file-max

18. 查看系统网络通信

tcpdump -ni tunl0 host 10.2.0.1 and port 3000 // To view the current tunnel size, use the following command: ip link show

19. Redis 批量删除

redis-cli -h 192.168.1.1 -p 1234 -c -a password KEYS "key*"| xargs -i redis-cli -h 192.168.1.1 -p 1234 -a password del {}

20. 主机中访问记录数最多的IP

cat /proc/net/nf_conntrack | awk '{print $7}' | cut -d "=" -f 2 | sort | uniq -c | sort -nr | head -n 10

21. 直接将jar包推送到指定仓库【  这个方法不能在本地仓库内执行提交】

mvn deploy:deploy-file -DgroupId=net.sf.json-lib -DartifactId=json-lib -Dversion=2.2.1-jdk15 -Dpackaging=jar -Dfile=json-lib-2.2.1-jdk15.jar -Durl=【仓库地址】-DrepositoryId=central

22. 解锁linux用户, Account lock

sudo pam_tally2 -u root --reset // 超过了输入次数

 23. 从Nginx日中中截取指定时间段的日志

sed -n '/13\/Jan\/2022:00:00:00/','/13\/Jan\/2022:10:02:16/p' /data/logs/nginx/access.log > 10_access.log

 24.  从大文件搜索指定字符串并显示行号
 grep -n  [要搜索的词]  [文件路径] 
 
 
 25.  从大文件中截取指定行的文件
 sed -n '3363470,3733038p'  文件名 >  目标文件名

<think>嗯,用户需要了解在Linux系统中测试网络速度的命令。这个问题很明确,用户可能是系统管理员、开发人员或对Linux网络性能感兴趣的学习者。从用户直接要求命令来看,ta可能已经具备基础Linux操作知识,需要快速获取实用工具信息。 参考站内引用材料,发现几个关键点:引用[1]提到Linux网络测试工具的重要性,引用[2]详细介绍了ping命令但未涉及速度测试,引用[3][4]则提供了磁盘速度测试方法。显然用户需要的网络速度测试未被引用内容覆盖,需要补充专业知识。 网络速度测试实际分为带宽测试和延迟测试两个维度。带宽测试工具首推iperf3,因为它能创建客户端-服务器模型进行压力测试;而speedtest-cli则适合测试公网带宽。对于延迟,除了传统ping,mtr工具能提供更详细的路由分析。考虑到用户可能在不同场景下使用,应该区分内网和公网测试方案。 用户没有说明测试环境是局域网还是互联网,所以需要给出通用方案。特别要注意提醒iperf3的服务器端配置步骤,新手容易忽略这点。另外,小包延迟测试对游戏用户很重要,可以单独说明。 安全方面需要提醒:公网测试可能消耗大量流量,内网测试要避开业务高峰。技术细节上,要强调测试时关闭其他网络应用以保证准确性。 最后考虑延伸问题设计。用户问的是命令,但可能后续需要分析结果(比如发现速度不达标时),所以相关问题要覆盖结果解读和优化方向。磁盘测试命令虽然不在本次范围,但引用[3][4]提到的方法可以作为对比参考保留。</think>在 Linux 系统中测试网络速度,主要涉及**带宽(吞吐量)测试**和**延迟测试**。以下是常用的命令和工具: ### 🔧 一、网络带宽/吞吐量测试 1. **`iperf3` / `iperf`** (最常用、最准确) * **原理:** 需要同时在**服务端**和**客户端**运行。服务端生成数据流,客户端接收(或发送)并计算速度。 * **安装:** 通常系统不自带,需安装: ```bash # Debian/Ubuntu sudo apt-get install iperf3 # CentOS/RHEL sudo yum install iperf3 ``` * **使用方法:** 1. **在服务端运行:** (假设服务端 IP 是 `192.168.1.100`) ```bash iperf3 -s # 默认监听端口 5201 ``` 2. **在客户端运行:** (连接到服务端 `192.168.1.100`) * **测试客户端到服务端的上传速度 (客户端发送数据):** ```bash iperf3 -c 192.168.1.100 ``` * **测试客户端从服务端的下载速度 (客户端接收数据):** ```bash iperf3 -c 192.168.1.100 -R # -R 表示反向测试(Reverse) ``` * **常用选项:** * `-t <秒数>`: 测试时长(默认 10 秒)。例:`-t 30` 测试 30 秒。 * `-P <线程数>`: 并行连接数(默认 1)。增加线程可尝试压满带宽。例:`-P 4`。 * `-i <秒数>`: 结果报告间隔(默认 1 秒)。例:`-i 2` 每 2 秒报告一次。 * `-b <带宽>`: 指定目标带宽(用于限速测试)。例:`-b 100M` 目标 100Mbps。 * **输出解读:** 测试结束后会输出 `[SUM]` 行,其中的 `sender` 或 `receiver` 的 `bits/sec` 值(如 `941 Mbits/sec`)就是测得的带宽。 2. **`speedtest-cli`** (测试公网出口带宽) * **原理:** 连接到公开的 Speedtest.net 服务器进行测试,无需自己搭建服务端,方便测试互联网接入速度。 * **安装:** ```bash # Debian/Ubuntu sudo apt-get install speedtest-cli # 或使用 pip pip install speedtest-cli ``` * **使用方法:** ```bash speedtest-cli # 或者更详细的输出 speedtest-cli --bytes # 指定服务器ID测试 (先运行 speedtest-cli --list 查看可用服务器ID) speedtest-cli --server <server_id> ``` * **输出解读:** 直接显示下载(Download)和上传(Upload)速度(单位通常是 Mbps 或 MB/s)。 3. **`nuttcp`** (类似 iperf,但更精简) * 安装:`sudo apt-get install nuttcp` (Debian/Ubuntu) 或 `sudo yum install nuttcp` (CentOS/RHEL) * 服务端:`nuttcp -S` * 客户端下载测试:`nuttcp <server_ip>` * 客户端上传测试:`nuttcp -t <server_ip> < /dev/zero` (或指定文件) ### ⏱ 二、网络延迟测试 1. **`ping`** (基本延迟测试) * **原理:** 发送 ICMP Echo 请求包到目标主机并等待回复,测量往返时间(RTT)。 * **命令:** ```bash ping <目标主机名或IP> # 常用选项: ping -c 10 <目标> # 发送 10 个包后停止 ping -i 0.2 <目标> # 设置发包间隔为 0.2 秒 ``` * **输出解读:** `time=10.2 ms` 表示该包的往返延迟是 10.2 毫秒。最后会统计平均延迟(`avg`)、丢包率等。 2. **`mtr` (My Traceroute)** (更强大的延迟和路由分析工具) * **原理:** 结合 `traceroute` 和 `ping` 的功能,持续探测到目标主机的每一跳路由的延迟和丢包率。 * **命令:** ```bash mtr <目标主机名或IP> # 常用选项: mtr -r -c 50 <目标> # 发送 50 个报告包后停止,生成报告(适合脚本) mtr -n <目标> # 不解析主机名,显示 IP ``` * **输出解读:** 实时显示每一跳路由的地址、丢包率(Loss%)、最后/平均/最佳/最差延迟(Last, Avg, Best, Wrst)。按 `q` 退出。 ### 📌 关键注意事项 1. **测试方向:** 区分上传(客户端到服务器)和下载(服务器到客户端)速度。`iperf3` 的 `-R` 选项用于切换测试方向。 2. **瓶颈位置:** * 测试**局域网内部**速度,确保两端网卡、交换机端口速率匹配(如千兆 vs 百兆)。 * 测试**互联网**速度(如 `speedtest-cli`),结果受限于你的宽带套餐、远端服务器位置和负载、中间网络拥塞等。 3. **排除干扰:** 测试时尽量关闭其他占用大量带宽的应用(下载、视频流、云同步等)。 4. **多次测试:** 网络速度可能有波动,进行多次测试取平均值更准确。 5. **单位换算:** 注意工具报告的单位是 `bits per second (bps)` 还是 `Bytes per second (Bps)`。1 Byte = 8 bits。通常网络带宽用 `Mbps` (兆比特每秒),下载软件常用 `MB/s` (兆字节每秒)。100 Mbps ≈ 12.5 MB/s。 6. **小包延迟:** 对于游戏或实时应用,除了平均延迟,关注延迟的稳定性(抖动)更重要。`ping` 和 `mtr` 能反映波动情况。 ### 📖 总结推荐 * **测试内网两台机器间带宽:** 首选 **`iperf3`** (需两端安装)。 * **快速测试公网上下行带宽:** 使用 **`speedtest-cli`**。 * **测试基本延迟和连通性:** 使用 **`ping`**。 * **诊断网络路径问题、分析延迟和丢包发生在哪一跳:** 使用 **`mtr`**。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT 行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值