Linux 常用服务器命令

本文整理了一些自己常用的 服务器命令清单,涵盖文件操作、进程管理、网络排查、权限控制、日志分析等核心内容。


一、文件与目录操作

1. 查看目录内容

复制代码
ls				# 查看目录内容
ls -l			# 详细信息
ls -lh			# 友好显示文件大小
ls -a			# 显示隐藏文件

2. 切换目录

复制代码
cd /home		# 切换到指定目录
cd ..			# 返回上一级
cd ~			# 回到用户目录

3. 创建和删除

  1. 创建:

    mkdir test # 创建目录
    mkdir -p a/b/c # 递归创建目录

-p 表示递归创建目录,如果上级目录不存在,会自动帮你创建,如果目录已经存在,也不会报错

  1. 删除:

    rm file.txt # 删除文件
    rm -r test # 删除目录
    rm -rf test # 强制删除(慎用)

⚠️ 尽量避免直接使用 rm -rf / 这种高危命令。


二、文件查看与编辑

1. 查看文件内容

复制代码
cat file.txt
more file.txt
less file.txt
# 按内容过滤日志
grep "2026-02-21 10:" app.log

推荐使用 less,支持上下翻页。


2. 实时查看日志(非常重要)

复制代码
tail -f -n 100 app.log
tail -f app.log | grep '筛选内容'

-f 表示实时

-n 表示 指定最近多少行

复制代码
# 还可以同时查看多个日志文件
tail -f  *.log

统计某错误出现次数

比如统计空指针

复制代码
grep "NullPointerException" app.log | wc -l

线上排查问题时最常用命令。


3. 编辑文件

修改配置文件是非常常见的操作。

1️⃣ vi(几乎所有 Linux 服务器都自带)

复制代码
vi file.txt
vim file.txt

进入编辑后:

  • i 进入编辑模式
  • Esc 退出编辑
  • :wq 保存退出
  • :q! 强制退出

2️⃣ vim(增强版 vi,支持语法高亮和更强大的编辑功能,操作和 vi 一样)

复制代码
vim file.txt

3️⃣ nano(新手友好,操作简单:底部直接显示快捷键提示)

复制代码
nano file.txt

常用快捷键:

  • Ctrl + O 保存
  • Ctrl + X 退出
  • Ctrl + K 剪切一行
  • Ctrl + U 粘贴

三、进程管理

服务器排查问题常用。

1. 查看进程

复制代码
ps -ef | grep java

2. 查看端口占用

复制代码
lsof -i:8080
netstat -tunlp | grep 8080

或:

复制代码
ss -tunlp | grep 8080

3. 杀死进程

复制代码
kill -9 进程号

示例:

复制代码
kill -9 12345

4. 实时查看资源

复制代码
top

更友好的版本:

复制代码
htop

四、权限管理

在 Linux 系统中,一切皆文件(Everything is a file),因此权限管理尤为重要。

1. 查看权限

复制代码
ls -l

示例:

复制代码
-rwxr-xr-x

解释:

  • 第一位:文件类型
  • rwx:拥有者权限
  • r-x:组权限
  • r-x:其他用户权限

2. 修改权限

复制代码
chmod 755 file.sh
chmod +x file.sh

3. 修改所属用户

格式:chown 用户名:用户组 文件名

比如 把 file.txt 的拥有者改为 root 用户,同时把所属组改为 root

复制代码
chown root:root file.txt

五、压缩与解压

1. tar 命令

将 test/ 目录打包并压缩为 test.tar.gz:

复制代码
tar -czvf test.tar.gz test/

参数说明:

  • -c create,创建压缩包
  • -z 使用 gzip 压缩(生成 .gz 文件)
  • -v 显示详细过程(verbose)
  • -f 指定压缩包文件名

将 test.tar.gz 解压到当前目录:

复制代码
tar -xzvf test.tar.gz

参数说明:

  • -x extract,解压
  • -z 通过 gzip 解压
  • -v 显示详细过程
  • -f 指定压缩包文件名

2. zip

复制代码
# 递归压缩
zip -r test.zip test/
# 解压
unzip test.zip

六、磁盘与内存

1. 查看磁盘空间

复制代码
df -h

2. 查看目录大小

复制代码
du -sh *
# 也可以指定文件夹
du -sh /logs/rocketmqlogs/*

3. 查看内存使用情况

复制代码
free -m

七、网络相关命令

1. 测试连通性

复制代码
ping www.baidu.com

2. 查看IP地址

复制代码
ip addr

3. 测试端口是否通

复制代码
telnet 127.0.0.1 3306

4. 下载文件

复制代码
wget https://example.com/file.zip
curl -O https://example.com/file.zip

八、服务管理(systemctl)

在大多数基于 systemd 的 Linux 发行版中(如:CentOS、 Ubuntu、 Debian):

复制代码
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl status nginx

设置开机启动:

复制代码
systemctl enable nginx

九、常见服务器排查思路

当服务器访问异常时,一般排查步骤:

  1. 服务是否运行?

    复制代码
    ps -ef | grep 服务名
  2. 端口是否监听?

    复制代码
    netstat -tunlp
  3. 防火墙是否放行?

    复制代码
    firewall-cmd --list-all
  4. 查看日志:

    复制代码
    tail -f logs/app.log

十、常见硬盘排查思路

先看看是哪个文件占用过大。

这行命令用于显示系统中占用磁盘空间最大的20个文件或目录。du -ahx / 计算从根目录开始的所有文件和目录的大小,sort -rh 按大小逆序排序,head -n 20 只显示前20项。

复制代码
sudo du -ahx / | sort -rh | head -n 20

根据找到的文件大小排行,逐一去排查,

如果是文件,比如日志文件,那就:

复制代码
tail -f /path/app.log

如果是文件夹过大,就du一下看看具体是哪个文件的问题

以/root/logs/rocketmqlogs为例:

复制代码
du -sh /root/logs/rocketmqlogs/*

十一、服务器系统信息

1. 查看操作系统发行版信息

复制代码
cat /etc/os-release

输出示例:

复制代码
NAME="CentOS Linux"
VERSION="7 (Core)"

或者:

复制代码
lsb_release -a

⚠️ 该命令需要安装 lsb-release 包,某些系统默认未安装。

常见服务器系统包括:

  • CentOS
  • Ubuntu
  • Debian

2. 查看内核版本

复制代码
uname -r

示例输出:

复制代码
3.10.0-1160.el7.x86_64

说明当前 Linux 内核版本。


3. 查看完整系统信息

复制代码
uname -a

可查看:

  • 主机名
  • 内核版本
  • 系统架构
  • 编译时间

4. 查看系统架构(32位 / 64位)

复制代码
arch

或者:

复制代码
uname -m

常见结果:

  • x86_64 → 64位系统
  • i686 → 32位系统

5. 查看系统运行时间

复制代码
uptime

示例输出:

复制代码
10:32:10 up 15 days,  3:12,  2 users,  load average: 0.00, 0.01, 0.05

可查看:

  • 当前时间
  • 系统已运行时间
  • 当前在线用户数
  • 系统负载

十二、用户与账户管理

1. 查看当前登录用户

复制代码
who
# 或者
w

2. 查看系统所有用户

复制代码
cat /etc/passwd

只看普通用户(UID >= 1000):

复制代码
awk -F: '$3>=1000 {print $1}' /etc/passwd

3. 创建新用户

复制代码
useradd -m -s /bin/bash deploy
# 简易写法:
useradd deploy

⚠️ 不指定 -s /bin/bash 时,部分系统默认 shell 可能为 /sbin/nologin,会导致无法登录。

这个只是创建用户,没设置密码等。

推荐创建用户标准流程:

复制代码
# 创建用户
useradd -m -s /bin/bash deploy

# 设置密码
passwd deploy

# 加入 sudo 组
usermod -aG sudo deploy

# 测试
su - deploy
sudo ls /

4. 设置或修改用户密码

复制代码
passwd username

修改当前用户密码:

复制代码
passwd

5. 删除用户

只删除用户:

复制代码
userdel username

删除用户 + home 目录:

复制代码
userdel -r username

6. 切换用户

复制代码
su - username

切换 root:

复制代码
su -

7. 给用户 sudo 权限

Ubuntu 推荐:

复制代码
usermod -aG sudo username

CentOS推荐:

复制代码
usermod -aG wheel username

8. 查看用户所属组

复制代码
groups username

权限排查神器:

复制代码
id username

示例输出:

uid=1001(deploy) gid=1001(deploy) groups=1001(deploy),27(sudo)

这个在 Docker、FTP 权限问题排查时非常重要。


9. 禁止 root 直接远程登录

有些场景可能需要禁止root,

⚠️ 但一定要先确认普通用户能 sudo,否则会锁死自己。建议流程:

  1. 创建普通用户
  2. 给 sudo 权限
  3. 测试 sudo
  4. 修改 root 密码
  5. 禁止 root 登录

禁止 root 直接远程登录流程:

复制代码
vim /etc/ssh/sshd_config

找到:PermitRootLogin yes

改为:PermitRootLogin no

然后:

复制代码
systemctl restart sshd
# 某些 Ubuntu 系统服务也可能名为 ssh 则执行:
systemctl restart ssh

10. 锁定用户

有时候不删除用户,只是禁用:

复制代码
usermod -L username   # 锁定
usermod -U username   # 解锁

相关推荐
锅包一切2 小时前
二、几种安装类型
linux·运维·后端·操作系统
vortex52 小时前
详解Linux磁盘相关命令:从基础查看到底层运维
linux·运维
Q鑫2 小时前
Elastricsearch部署详解
运维·elasticsearch
敲代码的哈吉蜂2 小时前
Haproxy
linux·运维·服务器
敲代码的哈吉蜂2 小时前
haproxy的算法——混合算法
linux·运维·服务器·算法
市安2 小时前
构建HTTPS服务镜像
linux·运维·服务器
8125035332 小时前
第2篇:为什么要有分层?从工程实践到架构设计
linux·网络·网络协议·计算机网络
hhzz2 小时前
云服务器ECS的高可用部署方案----弹性公网IP和负载均衡的操作
服务器·tcp/ip·负载均衡·ecs·云服务器
饮长安千年月2 小时前
一带一路暨金砖国家技能发展与技术创新大赛网络安全防护与治理-Linux应急响应手册
linux·运维·web安全·ctf·应急响应