Linux日常高频使用的100条命令,强烈建议收藏
查看系统信息
如何查看系统版本:
uname -a
lsb_release -a
cat /etc/os-release
如何查看系统内核信息:
uname -r
如何查看系统CPU信息:
lscpu
cat /proc/cpuinfo
如何查看内存使用情况:
free -h
cat /proc/meminfo
如何监控监控系统资源(CPU、内存、IO):
vmstat
如何查看系统运行时间:
uptime
如何查看最近一次启动时间:
who -b
如何查看当前用户历史使用的命令:
history
cat .bash_history
如何查看系统负载:
top //实时监控系统负载,通过q建或者ctrl+c退出
磁盘和文件管理
如何查看磁盘使用情况:
df -h
如何查看目录或者文件大小:
du -hs <文件或者文件夹>
如何查找大文件:
find <某文件夹> -type f -size +100M //查找某文件夹大于100M的文件
如何挂载磁盘:比如usb
### 查看usb的磁盘盘符
lsblk -o NAME,MODEL,TRAN
### 查看 /mnt 是空的
ls /mnt/
### 将USB的盘符挂载到/mnt文件夹中
mount /dev/<usb的盘符> /mnt/
如何卸载磁盘:
umount /mnt
如何查看磁盘的UUID:
blkid
网络和路由管理
如何查看IP地址:
ip a s
ifconfig
如何测试网路连通性:
ping <目的地址> -c 5
curl <IP地址>:<端口号> //如果有防火墙,ping可能不通,需要直接curl IP和端口号查看
如何查看路由表:
route -n
ip route
需要注意的是Linux里可以有多路由表,ip route 默认打印的是主路由表里的路由条目。
如何查看Linux中有几张路由表:
cat /etc/iproute2/rt_tables
如何查看不同路由表里的路由:
ip route show table <route table id或者route table name>
比如:
ip route show table 255
ip route show table main
如何查看各服务端口使用情况以及连接状态:
netstat -tulanp
ss -tulanp
如何抓取流量也就数如何抓包:
tcpdump -i <interface> <filter> -w <文件名>.pcap
### 比如抓取eth1接口中的icmp流量:
tcpdump -i ens4 icmp
### 比如抓取所有接口中的端口80的流量,并存储到pcap文件中:
tcpdump -i any port 80 -w port80.pcap
如何通过DNS解析域名:
nslookup hk314.top
dig hk314.top
dig hk314.top @8.8.8.8
进程和任务管理
如何查看进程:
ps -aux
如何实时监控集成:
top
如何杀死进程(谨慎使用):
kill -9 <进程号>
如何查看进程监听/服务使用的端口:
netstat -tulanp
ss -tulanp
如何查看定时任务:
crontab -l //查看当前用户的定时任务
crontab -l -u <username>
用户和权限管理
如何创建用户并设定密码:
useradd <newuser> -m -s /bin/bash
passwd <newuser>
如何删除用户:
userdel -r olduser
如何查看当前用户:
whoami
如何查看用户的id和所属组:
id //查看当前用户的id和所属组
id <username>
如何查看都有哪些用户使用此系统:
who
如何切换用户:
su <username> //切换用户不改变当前所在的文件目录
su - <username> //切换用户进入用户的家目录
如何查看用户权限:
ls -l <文件名>
ls -ld <文件夹名>
如何修改文件权限:
chmod 777 <文件名>
chmod -R 777 <文件夹名> //递归修改文件夹和此文件夹中系列子文件和子文件夹权限
如何修改文件所有者:
chown <username>:<group> <文件 or 文件夹>
chown -R <username>:<group> <文件夹> //递归修改文件夹和此文件夹中系列子文件和子文件夹的所有者
软件管理
如何查看软件是否安装:
rpm -q bind9
dpkg -l | grep bind9
如何安装软件:
网络连通的前提下:
apt install bind9 # Ubuntu/Debian
yum install bind9 # CentOS/Redhat
如果没有网络的情况下:
Ubuntu/Debian系列先通过 https://pkgs.org/ 下载主软件,然后通过如下命令安装,根据提示去下载系列依赖包并安装:
dpkg -i *.deb
CentOS/Redhat系列先通过 https://rpmfind.net/ 下载主软件,然后通过如下命令安装,根据提示去下载系列依赖包并安装:
rpm -Uvh *.rpm
如何安装的软件:
apt remove bind9 # Ubuntu/Debian
yum remove bind9 # CentOS/Redhat
如何更新软件:需要联网
apt update && apt upgrade # Ubuntu/Debian
yum update # CentOS/Redhat
如何启停服务:
systemctl start bind9
systemctl stop bind9
如何查看服务状态:
systemctl status bind9
如何重启服务:
systemctl restart bind9
如何查看服务日志:
journalctl -u <service-name>
journalctl -u <service-name> --since "1 hour ago"
journalctl -u <service-name> --since today
如何实时款空服务日志:
journalctl -u <service-name> -f
系统日志管理
如何查看系统日志:
journalctl -xe
tail -f /var/log/syslog
tail -f /var/log/messages
如何查看ssh相关的log:
tail -n 100 /var/log/auth.log
如何查看内核日志:
dmesg
时间管理和定时任务
如何查看当前时间:
date
如何修改系统时间:
date -s "2025-04-18 18:00:00"
如何查看NTP事否同步:
首先需要查看NTP使用的是哪个服务:
ps -ef | grep -E 'ntpd|chronyd|timesyncd'
或者直接查看NTP相关服务:
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 |