一、Linux初学者常用什么命令进行日常运维

📁 文件与目录操作
命令 用途 示例
ls -lh 查看当前目录文件列表(带大小和权限) ls -lh /home/temp01
cd 切换目录 cd /var/log
pwd 显示当前路径 pwd
mkdir -p 创建目录(自动创建父目录) mkdir -p /home/temp01/booster/logs
cp -r 递归复制文件或目录 cp -r old_dir new_dir
mv 移动或重命名 mv oldname newname
rm -rf 强制删除(慎用) rm -rf /tmp/test
find 查找文件 find /home -name "*.log"
du -sh 查看目录总大小 du -sh /var/log(简写df -h)
📊 查看系统状态
命令 用途 示例
df -h 查看磁盘空间 df -h
free -h 查看内存和 Swap free -h(今天示例)
top / htop 实时查看进程、CPU、内存 top(按 q 退出)
ps aux 查看所有进程 ps aux | grep java
uptime 查看系统运行时间和负载 uptime
uname -a 查看内核和系统信息 uname -a
cat /etc/os-release 查看操作系统发行版 cat /etc/os-release
📂 日志查看
命令 用途 示例
tail -f 实时滚动查看日志(重要) tail -f /var/log/messages
tail -n 100 查看最后 100 行 tail -n 100 catalina.out
head -n 20 查看开头 20 行 head -n 20 /etc/passwd
grep 搜索关键词 grep "ERROR" /var/log/messages
journalctl -u 查看 systemd 服务的日志(systemd 系统) journalctl -u tomcat -n 50
🖥️ 进程与服务管理
命令 用途 示例
ps -ef 查看所有进程详情 ps -ef | grep tomcat
kill 终止进程(-9 强制) kill -9 PID
pkill 按名称终止进程 pkill -f running.py
nohup ... & 后台运行程序(退出终端不停止) nohup python run.py &
systemctl start/stop/restart 管理 systemd 服务 systemctl restart tomcat
service start/stop 管理 SysV init 服务(老系统) service tomcat start
chkconfig 管理 SysV 服务开机自启 chkconfig tomcat on
🌐 网络相关
命令 用途 示例
ping 测试网络连通 ping 8.8.8.8
netstat -tlnp 查看端口监听(老命令) netstat -tlnp | grep 8080
ss -tlnp 查看端口监听(新命令,更快) ss -tlnp | grep 8080
curl 测试接口或页面 curl http://localhost:8080
ifconfig / ip addr 查看 IP 地址 ip addr
👤 用户与权限
命令 用途 示例
whoami 查看当前用户 whoami
passwd 修改当前用户密码 passwd
chmod 修改文件权限 chmod +x script.sh
chown 修改文件所有者 chown temp01:temp01 file
sudo 以 root 权限执行命令 sudo systemctl restart tomcat
📦 软件包管理
命令 用途 示例
yum install/remove CentOS/RHEL 安装/卸载 sudo yum install nginx
apt install/remove Ubuntu/Debian 安装/卸载 sudo apt install python3
tar -xzf 解压 .tar.gz tar -xzf package.tar.gz
wget 下载文件 wget https://example.com/file.tar.gz
二 、示例解释


输入free -h后显示
total used free shared buff/cache available
Mem: 3.9G 1.9G 1.6G 95M 281M 1.6G
Swap: 3.9G 421M 3.5G
等等这些都是什么意思
我们收到一个free -h命令的输出,需要解释每一列的含义。
输出:
total used free shared buff/cache available
Mem: 3.9G 1.9G 1.6G 95M 281M 1.6G
Swap: 3.9G 421M 3.5G
需要解释各列的含义,以及整体内存使用情况。
我们逐一解释:
total: 总内存大小。
used: 已使用的内存(包括被进程使用、缓存等,但计算方式可能因系统而异)。
free: 完全未被使用的内存。
shared: 被多个进程共享的内存(如tmpfs等)。
buff/cache: 内核用于缓冲和缓存的内存,这部分可以在需要时被快速回收。
available: 估计可用于启动新应用程序而不需要交换的内存量(更接近实际可用内存)。
对于Swap:总交换分区大小、已用、空闲。
还可以指出,可用内存不是“free”,而是available,因为buff/cache可以释放。另外,swap使用了421M,说明物理内存曾不足。
free -h 的输出展示了系统内存(RAM)和交换分区(Swap)的使用情况。
2.1、Mem(物理内存)
列名 值 含义
total 3.9G 物理内存总大小(约4GB) used 1.9G 已被占用的内存(包括进程、缓存等,但不包含
buff/cache 这部分,这个值是 已用 - buff/cache 后的数值)
free 1.6G 完全空闲、未被任何程序或缓存使用的内存 shared 95M 被 tmpfs
等临时文件系统共享的内存(多个进程共享的内存段)
buff/cache 281M 内核用于缓冲区(buff) 和 页缓存(cache)
的内存。这部分可以在需要时被快速回收给应用程序使用 available 1.6G 真正可用的内存(包括 free 和 buff/cache 中可以立即释放的部分),这是启动新程序时实际可以使用的内存量
注:这些能反馈什么信息于运维人员呢,或者说初学者应该看出这里有哪些隐藏信息。
-
虽然 used 显示 1.9G,但 available 是 1.6G,说明系统仍有较多可用内存,buff/cache 只有281M,不大,所以 available 约等于 free。
-
内存使用正常,没有内存压力。
2.2、Swap(交换分区)
列名 值 含义
total 3.9G 交换分区总大小(与内存大小相同,约4GB)
used 421M 已使用的交换空间,说明物理内存曾被用满过,部分数据被交换到磁盘
free 3.5G 交换分区中未使用的部分
注:如何推断该服务器的内存趋势
-
使用了 421M 的交换,说明物理内存曾在某个时刻(可能过去)不够用,现在虽然物理内存有较多空闲,但交换中的 421M 数据不会自动换回内存(除非再次访问),所以 used 仍保留着。
-
如果 available 一直充足,这个数字不会继续增长,也不会影响当前性能。

三、整体结论
- 系统物理内存 3.9GB,当前可用(available)1.6GB,内存资源充足。
- 交换分区使用了 421MB,这通常是因为之前内存紧张时发生的,现在物理内存已经充裕,但交换中的数据尚未换回(Linux倾向于不主动换回),不影响当前性能。
假如你还想节省资源,需要立即回收交换空间,执行 swapoff -a && swapon -a(但是务必谨慎,会消耗CPU和I/O)。如果应用程序运行缓慢,需检查 CPU 或磁盘 I/O,而不是内存这些

903

被折叠的 条评论
为什么被折叠?



