admin管理员组

文章数量:1438937

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

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

学习永无止境,记录相伴相随! —— 琉璃康康

作为ICT从业人员,Linux是日常频繁需要维护的系统,不管是集群,还是单服务器,虚拟化,或者是路由器交换机,OS都或多或少是Linux内核,甚至现在越来越多使用的NAS也是Linux的系统。

那么遇到问题就不可避免,服务器宕机了?网络不同了?磁盘告警了?等等等,其中99%的问题都可以用这100多条命令轻松解决。所以不管是Linux小白,还是资深运维的大拿,这些命令都是傍身的必备技能,看完就可以直接实战了!

查看系统信息

如何查看系统版本:

代码语言:javascript代码运行次数:0运行复制
uname -a
lsb_release -a
cat /etc/os-release

如何查看系统内核信息:

代码语言:javascript代码运行次数:0运行复制
uname -r

如何查看系统CPU信息:

代码语言:javascript代码运行次数:0运行复制
lscpu
cat /proc/cpuinfo

如何查看内存使用情况:

代码语言:javascript代码运行次数:0运行复制
free -h
cat /proc/meminfo

如何监控监控系统资源(CPU、内存、IO):

代码语言:javascript代码运行次数:0运行复制
vmstat

如何查看系统运行时间:

代码语言:javascript代码运行次数:0运行复制
uptime

如何查看最近一次启动时间:

代码语言:javascript代码运行次数:0运行复制
who -b

如何查看当前用户历史使用的命令:

代码语言:javascript代码运行次数:0运行复制
history
cat .bash_history

如何查看系统负载:

代码语言:javascript代码运行次数:0运行复制
top    //实时监控系统负载,通过q建或者ctrl+c退出
磁盘和文件管理

如何查看磁盘使用情况:

代码语言:javascript代码运行次数:0运行复制
df -h

如何查看目录或者文件大小:

代码语言:javascript代码运行次数:0运行复制
du -hs <文件或者文件夹>

如何查找大文件:

代码语言:javascript代码运行次数:0运行复制
find <某文件夹> -type f -size +100M   //查找某文件夹大于100M的文件

如何挂载磁盘:比如usb

代码语言:javascript代码运行次数:0运行复制
### 查看usb的磁盘盘符
lsblk -o NAME,MODEL,TRAN 
### 查看 /mnt 是空的
ls /mnt/
### 将USB的盘符挂载到/mnt文件夹中
mount /dev/<usb的盘符> /mnt/

如何卸载磁盘:

代码语言:javascript代码运行次数:0运行复制
umount /mnt

如何查看磁盘的UUID:

代码语言:javascript代码运行次数:0运行复制
blkid
网络和路由管理

如何查看IP地址:

代码语言:javascript代码运行次数:0运行复制
ip a s
ifconfig

如何测试网路连通性:

代码语言:javascript代码运行次数:0运行复制
ping <目的地址> -c 5

curl <IP地址>:<端口号>  //如果有防火墙,ping可能不通,需要直接curl IP和端口号查看

如何查看路由表:

代码语言:javascript代码运行次数:0运行复制
route -n 

ip route

需要注意的是Linux里可以有多路由表,ip route 默认打印的是主路由表里的路由条目。

如何查看Linux中有几张路由表:

代码语言:javascript代码运行次数:0运行复制
cat /etc/iproute2/rt_tables

如何查看不同路由表里的路由:

代码语言:javascript代码运行次数:0运行复制
ip route show table <route table id或者route table name>
比如:
ip route show table 255
ip route show table main

如何查看各服务端口使用情况以及连接状态:

代码语言:javascript代码运行次数:0运行复制
netstat -tulanp
ss -tulanp

如何抓取流量也就数如何抓包:

代码语言:javascript代码运行次数:0运行复制
tcpdump -i <interface> <filter> -w <文件名>.pcap

### 比如抓取eth1接口中的icmp流量:
tcpdump -i ens4 icmp

### 比如抓取所有接口中的端口80的流量,并存储到pcap文件中:
tcpdump -i any port 80 -w port80.pcap

如何通过DNS解析域名:

代码语言:javascript代码运行次数:0运行复制
nslookup hk314.top
dig hk314.top
dig hk314.top @8.8.8.8
进程和任务管理

如何查看进程:

代码语言:javascript代码运行次数:0运行复制
ps -aux

如何实时监控集成:

代码语言:javascript代码运行次数:0运行复制
top

如何杀死进程(谨慎使用):

代码语言:javascript代码运行次数:0运行复制
kill -9 <进程号>

如何查看进程监听/服务使用的端口:

代码语言:javascript代码运行次数:0运行复制
netstat -tulanp
ss -tulanp

如何查看定时任务:

代码语言:javascript代码运行次数:0运行复制
crontab -l //查看当前用户的定时任务
crontab -l -u <username>
用户和权限管理

如何创建用户并设定密码:

代码语言:javascript代码运行次数:0运行复制
useradd <newuser> -m -s /bin/bash
passwd <newuser>

如何删除用户:

代码语言:javascript代码运行次数:0运行复制
userdel -r olduser

如何查看当前用户:

代码语言:javascript代码运行次数:0运行复制
whoami

如何查看用户的id和所属组:

代码语言:javascript代码运行次数:0运行复制
id //查看当前用户的id和所属组
id <username>

如何查看都有哪些用户使用此系统:

代码语言:javascript代码运行次数:0运行复制
who 

如何切换用户:

代码语言:javascript代码运行次数:0运行复制
su <username>   //切换用户不改变当前所在的文件目录
su - <username>   //切换用户进入用户的家目录

如何查看用户权限:

代码语言:javascript代码运行次数:0运行复制
ls -l <文件名>
ls -ld <文件夹名>

如何修改文件权限:

代码语言:javascript代码运行次数:0运行复制
chmod 777 <文件名>
chmod -R 777 <文件夹名>  //递归修改文件夹和此文件夹中系列子文件和子文件夹权限

如何修改文件所有者:

代码语言:javascript代码运行次数:0运行复制
chown <username>:<group> <文件 or 文件夹>
chown -R <username>:<group> <文件夹>  //递归修改文件夹和此文件夹中系列子文件和子文件夹的所有者
软件管理

如何查看软件是否安装:

代码语言:javascript代码运行次数:0运行复制
rpm -q bind9
dpkg -l | grep bind9

如何安装软件:

网络连通的前提下:

代码语言:javascript代码运行次数:0运行复制
apt install bind9  # Ubuntu/Debian
yum install bind9  # CentOS/Redhat

如果没有网络的情况下:

Ubuntu/Debian系列先通过 / 下载主软件,然后通过如下命令安装,根据提示去下载系列依赖包并安装:

代码语言:javascript代码运行次数:0运行复制
dpkg -i *.deb

CentOS/Redhat系列先通过 / 下载主软件,然后通过如下命令安装,根据提示去下载系列依赖包并安装:

代码语言:javascript代码运行次数:0运行复制
rpm -Uvh *.rpm

如何安装的软件:

代码语言:javascript代码运行次数:0运行复制
apt remove bind9   # Ubuntu/Debian
yum remove bind9   # CentOS/Redhat

如何更新软件:需要联网

代码语言:javascript代码运行次数:0运行复制
apt update && apt upgrade   # Ubuntu/Debian
yum update   # CentOS/Redhat

如何启停服务:

代码语言:javascript代码运行次数:0运行复制
systemctl start bind9
systemctl stop bind9

如何查看服务状态:

代码语言:javascript代码运行次数:0运行复制
systemctl status bind9

如何重启服务:

代码语言:javascript代码运行次数:0运行复制
systemctl restart bind9

如何查看服务日志:

代码语言:javascript代码运行次数:0运行复制
journalctl -u <service-name>
journalctl -u <service-name> --since "1 hour ago"
journalctl -u <service-name> --since today

如何实时款空服务日志:

代码语言:javascript代码运行次数:0运行复制
journalctl -u <service-name> -f
系统日志管理

如何查看系统日志:

代码语言:javascript代码运行次数:0运行复制
journalctl -xe
tail -f /var/log/syslog
tail -f /var/log/messages

如何查看ssh相关的log:

代码语言:javascript代码运行次数:0运行复制
tail -n 100 /var/log/auth.log

如何查看内核日志:

代码语言:javascript代码运行次数:0运行复制
dmesg
时间管理和定时任务

如何查看当前时间:

代码语言:javascript代码运行次数:0运行复制
date

如何修改系统时间:

代码语言:javascript代码运行次数:0运行复制
date -s "2025-04-18 18:00:00"

如何查看NTP事否同步:

首先需要查看NTP使用的是哪个服务:

代码语言:javascript代码运行次数:0运行复制
ps -ef | grep -E 'ntpd|chronyd|timesyncd'

或者直接查看NTP相关服务:

代码语言:javascript代码运行次数:0运行复制
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

以上,欢迎留言来一起了解学习ICT的相关知识!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-18,如有侵权请联系 cloudcommunity@tencent 删除系统linux服务管理软件

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