学习永无止境,记录相伴相随!
—— 琉璃康康
作为ICT从业人员,Linux是日常频繁需要维护的系统,不管是集群,还是单服务器,虚拟化,或者是路由器交换机,OS都或多或少是Linux内核,甚至现在越来越多使用的NAS也是Linux的系统。
那么遇到问题就不可避免,服务器宕机了?网络不同了?磁盘告警了?等等等,其中99%的问题都可以用这100多条命令轻松解决。所以不管是Linux小白,还是资深运维的大拿,这些命令都是傍身的必备技能,看完就可以直接实战了!
查看系统信息
如何查看系统版本:
1
2
3
uname -a
lsb_release -a
cat /etc/os-release
如何查看系统内核信息:
1
uname -r
如何查看系统CPU信息:
1
2
lscpu
cat /proc/cpuinfo
如何查看内存使用情况:
1
2
free -h
cat /proc/meminfo
如何监控监控系统资源(CPU、内存、IO):
1
vmstat
如何查看系统运行时间:
1
uptime
如何查看最近一次启动时间:
1
who -b
如何查看当前用户历史使用的命令:
1
2
history
cat .bash_history
如何查看系统负载:
1
top //实时监控系统负载,通过q建或者ctrl+c退出
磁盘和文件管理
如何查看磁盘使用情况:
1
df -h
如何查看目录或者文件大小:
1
du -hs <文件或者文件夹>
如何查找大文件:
1
find <某文件夹> -type f -size +100M //查找某文件夹大于100M的文件
如何挂载磁盘:比如usb
1
2
3
4
5
6
### 查看usb的磁盘盘符
lsblk -o NAME,MODEL,TRAN
### 查看 /mnt 是空的
ls /mnt/
### 将USB的盘符挂载到/mnt文件夹中
mount /dev/<usb的盘符> /mnt/
如何卸载磁盘:
1
umount /mnt
如何查看磁盘的UUID:
1
blkid
网络和路由管理
如何查看IP地址:
1
2
ip a s
ifconfig
如何测试网路连通性:
1
2
3
ping <目的地址> -c 5
curl <IP地址>:<端口号> //如果有防火墙,ping可能不通,需要直接curl IP和端口号查看
如何查看路由表:
1
2
3
route -n
ip route
需要注意的是Linux里可以有多路由表,ip route 默认打印的是主路由表里的路由条目。
如何查看Linux中有几张路由表:
1
cat /etc/iproute2/rt_tables
如何查看不同路由表里的路由:
1
2
3
4
ip route show table <route table id或者route table name>
比如:
ip route show table 255
ip route show table main
如何查看各服务端口使用情况以及连接状态:
1
2
netstat -tulanp
ss -tulanp
如何抓取流量也就数如何抓包:
1
2
3
4
5
6
7
tcpdump -i <interface> <filter> -w <文件名>.pcap
### 比如抓取eth1接口中的icmp流量:
tcpdump -i ens4 icmp
### 比如抓取所有接口中的端口80的流量,并存储到pcap文件中:
tcpdump -i any port 80 -w port80.pcap
如何通过DNS解析域名:
1
2
3
nslookup hk314.top
dig hk314.top
dig hk314.top @8.8.8.8
进程和任务管理
如何查看进程:
1
ps -aux
如何实时监控集成:
1
top
如何杀死进程(谨慎使用):
1
kill -9 <进程号>
如何查看进程监听/服务使用的端口:
1
2
netstat -tulanp
ss -tulanp
如何查看定时任务:
1
2
crontab -l //查看当前用户的定时任务
crontab -l -u <username>
用户和权限管理
如何创建用户并设定密码:
1
2
useradd <newuser> -m -s /bin/bash
passwd <newuser>
如何删除用户:
1
userdel -r olduser
如何查看当前用户:
1
whoami
如何查看用户的id和所属组:
1
2
id //查看当前用户的id和所属组
id <username>
如何查看都有哪些用户使用此系统:
1
who
如何切换用户:
1
2
su <username> //切换用户不改变当前所在的文件目录
su - <username> //切换用户进入用户的家目录
如何查看用户权限:
1
2
ls -l <文件名>
ls -ld <文件夹名>
如何修改文件权限:
1
2
chmod 777 <文件名>
chmod -R 777 <文件夹名> //递归修改文件夹和此文件夹中系列子文件和子文件夹权限
如何修改文件所有者:
1
2
chown <username>:<group> <文件 or 文件夹>
chown -R <username>:<group> <文件夹> //递归修改文件夹和此文件夹中系列子文件和子文件夹的所有者
软件管理
如何查看软件是否安装:
1
2
rpm -q bind9
dpkg -l | grep bind9
如何安装软件:
网络连通的前提下:
1
2
3
apt install bind9 # Ubuntu/Debian
yum install bind9 # CentOS/Redhat
如果没有网络的情况下:
Ubuntu/Debian系列先通过 https://pkgs.org/ 下载主软件,然后通过如下命令安装,根据提示去下载系列依赖包并安装:
1
dpkg -i *.deb
CentOS/Redhat系列先通过 https://rpmfind.net/ 下载主软件,然后通过如下命令安装,根据提示去下载系列依赖包并安装:
1
rpm -Uvh *.rpm
如何安装的软件:
1
2
apt remove bind9 # Ubuntu/Debian
yum remove bind9 # CentOS/Redhat
如何更新软件:需要联网
1
2
apt update && apt upgrade # Ubuntu/Debian
yum update # CentOS/Redhat
如何启停服务:
1
2
systemctl start bind9
systemctl stop bind9
如何查看服务状态:
1
systemctl status bind9
如何重启服务:
1
systemctl restart bind9
如何查看服务日志:
1
2
3
journalctl -u <service-name>
journalctl -u <service-name> --since "1 hour ago"
journalctl -u <service-name> --since today
如何实时款空服务日志:
1
journalctl -u <service-name> -f
系统日志管理
如何查看系统日志:
1
2
3
journalctl -xe
tail -f /var/log/syslog
tail -f /var/log/messages
如何查看ssh相关的log:
1
tail -n 100 /var/log/auth.log
如何查看内核日志:
1
dmesg
时间管理和定时任务
如何查看当前时间:
1
date
如何修改系统时间:
1
date -s "2025-04-18 18:00:00"
如何查看NTP是否同步:
首先需要查看NTP使用的是哪个服务:
1
ps -ef | grep -E 'ntpd|chronyd|timesyncd'
或者直接查看NTP相关服务:
1
systemctl list-units | grep -E 'ntp|chrony|timesyncd'
根据结果使用对应的命令查看NTP状态和配置文件:
NTP服务 | 查看状态的命令 | 配置文件 |
---|---|---|
systemd-timesyncd |
timedatectl status |
/etc/systemd/timesyncd.conf |
ntpd |
systemctl status ntp / ntpq -p |
/etc/ntp.conf |
chronyd |
systemctl status chronyd / chronyc tracking / chronyc sources -v |
/etc/chrony.conf |
以上,有想法欢迎留言来聊!
网络和应用
摄影和旅行
工作和生活
欢迎关注公众号:七禾页话(qiheyehk)