Linux 常用命令

Linux 常用命令

面向运维、排障、服务器调试、网络排查场景,【系统基础】【网络排查】【进程/端口】【文件处理】【权限磁盘】【性能分析】【服务管理】。

一、系统基础命令

1. cd

切换目录

bash 复制代码
cd /etc/network     # 进入指定目录
cd ~                # 回到家目录
cd ..               # 上一级目录
cd -                # 返回上一次所在目录

2. ls

列出目录文件

bash 复制代码
ls -l               # 长格式,权限、大小、时间
ls -lh              # 人类可读大小
ls -a               # 显示隐藏文件
ls -lt              # 按修改时间排序

3. pwd

打印当前工作目录

bash 复制代码
pwd

4. cat / less / more

查看文件

bash 复制代码
cat /etc/hosts               # 小文件一次性输出
less /var/log/messages       # 分页浏览(q退出,空格翻页)
tail -f /var/log/syslog      # 实时跟踪日志
tail -n 100 xxx.log          # 查看最后100行
head -n 20 xxx.log           # 前20行

5. cp、mv、rm

bash 复制代码
cp -r dir1 dir2              # 递归复制文件夹
mv oldname newname           # 移动/重命名
rm -rf /tmp/test             # 强制递归删除(高危!谨慎)

6. mkdir

bash 复制代码
mkdir -p /data/logs/nginx    # 递归创建多级目录

7. find 文件搜索(运维高频)

bash 复制代码
find /etc -name "*.conf"                 # 在/etc下查找所有conf文件
find /var/log -size +100M                # 查找大于100M文件
find . -type f -mtime -1                 # 24小时内修改过的文件

8. grep 文本过滤

bash 复制代码
grep "error" xxx.log                     # 匹配关键字
grep -i "warn" xxx.log                   # 忽略大小写
grep -v "debug" xxx.log                  # 反向匹配,排除debug
grep -A5 -B5 "Exception" xxx.log         # 匹配行前后各5行

二、权限与用户

chmod 修改权限

bash 复制代码
chmod 644 file.conf
chmod +x start.sh                        # 添加执行权限

chown 修改属主属组

bash 复制代码
chown root:root /etc/hosts
chown -R nginx:nginx /var/www            # 递归修改目录所有者

useradd / passwd / su

bash 复制代码
useradd testuser
passwd testuser
su - root                                 # 完整切换用户环境变量

三、磁盘、IO、空间排查

df 磁盘分区使用率

bash 复制代码
df -h

du 查看目录占用

bash 复制代码
du -sh /*                                 # 统计根目录下各文件夹大小
du -sh /var/log

mount / umount 挂载

bash 复制代码
mount /dev/sdb1 /data
umount /data

四、网络命令

1. ip(推荐,替代老旧ifconfig)

bash 复制代码
ip a                                   # 查看所有网卡IP
ip addr show eth0                      # 指定网卡信息
ip link set eth0 up                    # 启用网卡
ip link set eth0 down                  # 关闭网卡
ip route                               # 查看路由表
ip route add 192.168.2.0/24 via 192.168.1.1  # 添加静态路由
ip route del default                   # 删除默认路由

2. ping 连通性测试

bash 复制代码
ping www.baidu.com
ping -c 4 192.168.1.1                 # 发送4个包停止
ping -i 0.5 192.168.1.1                # 间隔0.5秒发包(root)

3. traceroute / mtr 路由追踪(排链路丢包神器)

bash 复制代码
traceroute 8.8.8.8
mtr --report 8.8.8.8                   # 持续路由质量检测,看各跳丢包
mtr 192.168.1.1

4. ss(强烈推荐,替代netstat,速度更快)

端口、连接排查首选

bash 复制代码
ss -tuln                  # 监听TCP/UDP端口(常用!)
ss -tan                   # 所有TCP连接,数字形式不解析域名
ss -tan state ESTABLISHED # 只看已建立连接
ss -lp                    # 查看端口对应进程
ss -s                     # 汇总连接统计

5. netstat(兼容老系统,新系统优先ss)

bash 复制代码
netstat -tulnp
netstat -an | grep :80

6. curl / wget 应用层连通测试

bash 复制代码
curl -I http://127.0.0.1:8080          # 只获取HTTP响应头
curl -v https://api.xxx.com            # 详细握手过程,排查SSL、超时
curl --connect-timeout 3 192.168.1.1:22
wget http://xxx/file.iso

7. telnet / nc(ncat) 端口连通性

bash 复制代码
telnet 192.168.1.100 3306
nc -zv 192.168.1.100 1-1000            # 批量扫描端口
nc -l 8888                             # 监听端口做测试

8. tcpdump 抓包

bash 复制代码
# 抓取eth0网卡所有流量
tcpdump -i eth0
# 只抓取目标端口80
tcpdump -i eth0 port 80
# 抓取指定源IP
tcpdump -i eth0 src 10.0.0.5
# 保存抓包文件,可用wireshark打开分析
tcpdump -i eth0 -w traffic.pcap
# 读取pcap文件
tcpdump -r traffic.pcap
# 过滤ICMP(ping包)
tcpdump icmp

9. hostname / DNS相关

bash 复制代码
hostname                                 # 查看主机名
cat /etc/resolv.conf                     # DNS配置
nslookup www.baidu.com
dig www.baidu.com                        # DNS解析详细信息
dig @114.114.114.114 www.baidu.com       # 指定DNS服务器查询
host www.baidu.com

五、进程、服务、性能排查

ps 进程查看

bash 复制代码
ps aux                                   # 完整进程列表
ps -ef | grep nginx

top / htop 实时资源监控

bash 复制代码
top                                      # 系统负载、CPU、内存
# 快捷键:P按CPU排序,M按内存排序
htop                                     # 更友好的增强版(需安装)

free 内存

bash 复制代码
free -h

kill 进程终止

bash 复制代码
kill 1234               # 优雅终止
kill -9 1234            # 强制杀死(尽量少用)
pkill nginx             # 根据进程名批量杀

systemd 服务管理(CentOS7+/Ubuntu16.04+)

bash 复制代码
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl enable nginx          # 开机自启
systemctl disable nginx
systemctl status nginx          # 查看服务状态
journalctl -u nginx -f          # 实时查看服务日志
journalctl -u nginx --since "1 hour ago"

六、文本处理高级命令(日志分析必备)

awk 文本处理

bash 复制代码
# 查看ss输出,提取第5列IP端口
ss -tan | awk '{print $5}'
# 统计访问日志IP访问次数
awk '{print $1}' access.log | sort | uniq -c | sort -nr

sed 流编辑器(替换文本)

bash 复制代码
sed -i 's/oldstr/newstr/g' file.conf   # 文件内直接替换
sed '/^#/d' file.conf                  # 删除注释行

sort & uniq 统计

bash 复制代码
sort ip.txt | uniq -c

七、压缩解压

bash 复制代码
tar -zcvf archive.tar.gz dir/      # 压缩
tar -zxvf archive.tar.gz           # 解压gz
unzip file.zip

八、远程运维

bash 复制代码
ssh root@192.168.1.100
ssh -p 2222 root@ip                # 指定端口
scp local.file root@ip:/data/      # 上传文件
scp root@ip:/data/file ./          # 下载文件

九、高频排障命令组合

  1. 查看监听端口
bash 复制代码
ss -tulnp
  1. 排查连接数、ESTABLISHED连接
bash 复制代码
ss -tan state ESTABLISHED | wc -l
  1. 持续链路质量监控
bash 复制代码
mtr 目标IP
  1. 抓包排查业务流量
bash 复制代码
tcpdump -i eth0 port 443 -w ssl_traffic.pcap
  1. 日志检索报错上下文
bash 复制代码
grep -A10 -B10 "Timeout" /var/log/app.log
相关推荐
小绫网络安全2 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
西安景驰电子2 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
猫吃了源码3 小时前
k9s简介和安装
linux·docker·kubernetes
小马同学-4 小时前
高可用-Keepalived全解析
linux·运维
Forever Nore5 小时前
LeetCode 13 罗马数字转整数 - 按规则处理
linux·服务器·leetcode
我不会插花弄玉5 小时前
2.Linux基础指令下【由浅入深-Linux】
linux·服务器
雯宝6 小时前
3. 驱动框架(块设备)
linux
静止了 所有的花开6 小时前
Ubuntu 26.04 静态 IP 配置不生效解决方法
linux·ubuntu·静态ip
caimouse7 小时前
ReactOS 图形系统分析(3):显示驱动 DDI framebuf.dll
linux·运维·网络
科技林总8 小时前
Hermes-Agentv-0.20.0
linux·运维·服务器