云计算百科
云计算领域专业知识百科平台

Linux 常用服务器命令

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


一、文件与目录操作

1. 查看目录内容

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


2. 切换目录

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


3. 创建和删除

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

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

  • 删除:
  • 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


    九、常见服务器排查思路

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

  • 服务是否运行?

    ps -ef | grep 服务名

  • 端口是否监听?

    netstat -tunlp

  • 防火墙是否放行?

    firewall-cmd –list-all

  • 查看日志:

    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,否则会锁死自己。建议流程:

  • 创建普通用户
  • 给 sudo 权限
  • 测试 sudo
  • 修改 root 密码
  • 禁止 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 # 解锁


    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Linux 常用服务器命令
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!