凌峰创科服务平台

linux服务器管理常用命令

Linux服务器管理是运维工作的核心内容,熟练掌握常用命令能够高效完成系统监控、文件管理、用户操作、进程管理等任务,以下从系统信息、文件操作、用户管理、进程监控、网络配置、软件管理、压缩备份、日志查看八个维度,详细介绍Linux服务器管理中的常用命令及其使用场景。

linux服务器管理常用命令-图1
(图片来源网络,侵删)

系统信息查看命令

在服务器管理中,首先需要了解系统的运行状态,包括硬件信息、系统资源、内核版本等。

  1. 查看系统发行版

    • lsb_release -a:显示Linux标准基(LSB)信息,适用于Ubuntu、Debian等发行版。
    • cat /etc/redhat-release:查看RedHat、CentOS等发行版的版本信息。
    • uname -a:显示内核名称、主机名、内核版本等信息,适用于所有Linux系统。
  2. 查看硬件资源

    • free -h:以人类可读格式(GB/MB)显示内存使用情况,-h参数自动选择合适单位。
    • df -h:查看磁盘分区及使用情况,-h参数显示单位为GB/MB。
    • tophtop:实时监控系统进程和资源占用,htoptop的增强版,支持交互操作(如按F9终止进程)。
    • lscpu:显示CPU架构、核心数、线程数等详细信息。
  3. 查看系统负载

    linux服务器管理常用命令-图2
    (图片来源网络,侵删)
    • uptime:显示系统运行时间及当前负载(1分钟、5分钟、15分钟平均负载)。

文件与目录操作命令

文件管理是服务器日常运维的基础操作,涉及文件创建、删除、复制、权限修改等。

  1. 基础操作

    • ls -l:以长格式显示文件/目录信息,包括权限、所有者、大小、修改时间等。
    • cd /path:切换目录,cd ..返回上级目录,cd ~进入用户主目录。
    • mkdir -p dir1/dir2:递归创建多级目录,-p参数可避免父目录不存在时报错。
    • rm -rf file/dir:强制删除文件或目录,-r递归删除,-f忽略不存在的文件提示(需谨慎使用)。
  2. 文件操作

    • touch file.txt:创建空文件或更新文件时间戳。
    • cp -r src_dir dest_dir:复制目录及子目录,-r递归复制。
    • mv old_name new_name:重命名文件/目录或移动文件位置。
    • cat file.txt:查看文件全部内容;less file.txt:分页查看文件(支持上下翻页、搜索)。
  3. 权限管理

    linux服务器管理常用命令-图3
    (图片来源网络,侵删)
    • chmod 755 file:修改文件权限,755表示所有者可读写执行,组用户和其他用户可读执行。
    • chown user:group file:修改文件所有者或所属组,user为用户名,group为组名。
  4. 文件查找

    • find /path -name "*.log":在指定路径下按文件名查找,支持通配符(如*.log)。
    • grep "keyword" file.txt:在文件中搜索包含关键词的行,-i忽略大小写,-n显示行号。

用户与组管理命令

服务器通常需要多用户协同管理,合理分配用户权限是安全运维的关键。

  1. 用户管理

    • useradd -m username:创建新用户并自动创建主目录(-m参数)。
    • passwd username:为用户设置密码,普通用户只能修改自己的密码。
    • userdel -r username:删除用户及其主目录(-r参数删除用户主目录)。
    • su - username:切换到指定用户,参数加载用户环境变量。
  2. 组管理

    • groupadd groupname:创建新用户组。
    • gpasswd -a username groupname:将用户添加到指定组,-d参数移除用户。
    • groups username:查看用户所属的组。

进程监控与管理命令

进程是程序运行的基本单位,监控和管理进程可确保服务器稳定运行。

  1. 查看进程

    • ps aux:显示所有进程的详细信息,a显示所有用户进程,u显示用户格式,x显示无终端进程。
    • ps -ef:以标准格式显示进程,可查看进程的父进程ID(PPID)。
    • pgrep -u username nginx:查找指定用户的nginx进程,返回进程ID(PID)。
  2. 终止进程

    • kill PID:正常终止进程(发送SIGTERM信号,进程可清理资源后退出)。
    • kill -9 PID:强制终止进程(发送SIGKILL信号,进程立即退出,可能导致资源未释放)。
  3. 进程优先级

    • nice -n 10 command:以较低优先级运行命令(-n值范围-20到19,-20最高优先级)。
    • renice 10 PID:修改已运行进程的优先级。

网络配置与诊断命令

网络问题是服务器常见的故障类型,熟练使用网络命令可快速定位问题。

  1. 网络配置

    • ifconfigip addr:查看网络接口信息(IP地址、子网掩码等),ifconfig eth0 up/down启用/禁用网卡。
    • ping IP:测试与目标主机的网络连通性,-c参数指定发送次数(如ping -c 4 8.8.8.8)。
    • netstat -tuln:显示监听的TCP/UDP端口,tTCP,uUDP,l仅显示监听端口,n以数字形式显示地址。
    • ss -tulnnetstat的替代工具,速度更快,默认显示TCP/UDP端口信息。
  2. 网络诊断

    • traceroute IP:显示到目标主机的路由路径,用于定位网络延迟或中断点。
    • nslookup domain.com:查询域名的DNS解析记录,dig是更强大的DNS查询工具。
    • curl -I http://domain.com:检查HTTP响应头,用于测试网站服务是否正常。

软件包管理命令

不同Linux发行版使用不同的软件包管理工具,需根据系统类型选择命令。

  1. 基于Debian/Ubuntu系统(apt)

    • apt update:更新软件包列表(从服务器获取最新包信息)。
    • apt install package_name:安装软件包,如apt install nginx
    • apt remove package_name:卸载软件包(保留配置文件),apt purge package_name完全卸载(删除配置文件)。
    • apt upgrade:升级所有已安装的软件包。
  2. 基于RedHat/CentOS系统(yum/dnf)

    • yum check-update:检查可更新的软件包。
    • yum install package_name:安装软件包,如yum install httpd
    • yum remove package_name:卸载软件包。
    • yum update:升级所有软件包(CentOS 8+推荐使用dnf命令,语法与yum一致)。

文件压缩与备份命令

定期备份是保障数据安全的重要措施,Linux支持多种压缩格式和备份工具。

  1. 压缩工具

    • tar -czvf archive.tar.gz dir/:将目录打包并压缩为.tar.gz文件,c创建,z调用gzip压缩,v显示过程,f指定文件名。
    • tar -xzvf archive.tar.gz:解压.tar.gz文件,x解压,z调用gzip解压。
    • zip -r archive.zip dir/:创建.zip压缩包(需安装zip工具),r递归包含子目录。
    • unzip archive.zip:解压.zip文件。
  2. 备份工具

    • rsync -avz /src/ /dest/:增量同步文件/目录,a归档模式,v显示过程,z压缩传输,适用于远程备份(可通过ssh协议)。
    • dd if=/dev/sda of=/backup/sda.img bs=4M:磁盘备份,if输入设备,of输出文件,bs块大小(4MB)。

日志查看与分析命令

日志是排查服务器故障的重要依据,通过日志可定位错误原因和性能瓶颈。

  1. 实时查看日志

    • tail -f /var/log/syslog:实时查看系统日志,-f持续跟踪文件新增内容(Ctrl+C退出)。
    • journalctl -u nginx.service -f:查看指定服务的日志(如nginx),-u指定服务单元。
  2. 过滤与搜索日志

    • grep "error" /var/log/nginx/error.log:在nginx错误日志中搜索包含"error"的行。
    • awk '{print $5}' /var/log/access.log | sort | uniq -c:统计访问日志中各状态码的出现次数(awk提取第5列,sort排序,uniq -c计数)。

相关问答FAQs

Q1:如何查看Linux服务器上占用CPU最高的进程?
A:可以通过top命令查看实时进程占用情况,或使用以下命令筛选CPU占用最高的进程:

ps aux --sort=-%cpu | head -n 10

该命令按CPU占用率降序排列,并显示前10个进程。ps aux列出所有进程,--sort=-%cpu按CPU使用率倒序,head -n 10取前10行,若需持续监控,可结合watch命令(如watch -n 2 "ps aux --sort=-%cpu | head -n 10",每2秒刷新一次)。

Q2:如何禁止普通用户使用SSH登录服务器?
A:可通过修改SSH配置文件/etc/ssh/sshd_config实现,具体步骤如下:

  1. 编辑配置文件:vim /etc/ssh/sshd_config
  2. 找到PermitRootLoginAllowUsers配置项,若需禁止所有普通用户登录,可设置PermitRootLogin no(禁止root登录)并添加DenyUsers username1 username2(禁止指定用户登录);
  3. 若需禁止所有非root用户登录,可添加AllowUsers root(仅允许root登录);
  4. 保存文件后重启SSH服务:systemctl restart sshd
    注意:修改前建议先测试SSH连接是否正常,避免因配置错误导致无法登录服务器。
分享:
扫描分享到社交APP
上一篇
下一篇