Linux|Linux日常高频使用的100条命令,强烈建议收藏!

Posted by 琉璃康康 on April 18, 2025

@七禾页话,15年12月在泰国出差做了半宿的车去Ko-Chang也就是象岛的时候,船上看了一场海上日出,鸭蛋黄的太阳从东方冉冉升起,海面上平静的没有风浪

学习永无止境,记录相伴相随!

—— 琉璃康康

作为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)