作为Linux系统管理员或开发者,掌握系统基础信息查询是必备技能。下面我将分享几个最常用的系统信息查询命令及其实际应用场景。
在接手一台新服务器时,首先需要确认系统版本和内核版本,这对后续软件安装、环境配置至关重要。
查看系统发行版本:
bash复制cat /etc/redhat-release
这个命令适用于RedHat系发行版(如CentOS、RHEL)。如果是Debian系(如Ubuntu),则需要查看/etc/os-release文件。
注意:不同Linux发行版的版本信息存放位置可能不同。如果上述命令不生效,可以尝试
lsb_release -a或hostnamectl命令。
查看内核版本:
bash复制uname -r
内核版本号遵循主版本.次版本.修订版本-扩展版本的格式。例如5.4.0-135-generic中,5是主版本号,4是次版本号,0是修订号,135是扩展版本号。
网络配置是系统运维中最常接触的部分。快速查看IP地址:
bash复制ip a
这个命令会显示所有网络接口信息,包括:
实用技巧:使用
ip -c a可以彩色显示输出,更易区分不同信息。
如果只想查看特定网卡信息,可以:
bash复制ip a show dev ens160
了解系统运行状态也很重要:
bash复制uptime
输出示例:
code复制14:30:45 up 25 days, 3:12, 2 users, load average: 0.15, 0.10, 0.05
其中load average三个数值分别代表1分钟、5分钟、15分钟的系统平均负载。
Linux拥有完善的命令帮助系统,合理利用可以显著提高工作效率。
Linux命令帮助主要分为两种形式:
bash复制help cd
适用于shell内置命令(如cd、echo等)
bash复制ls --help
适用于大多数外部命令,提供更详细的参数说明
经验分享:当不确定一个命令是内置还是外部时,可以先尝试
help 命令名,如果提示"command not found",再使用命令名 --help
man手册是Linux最全面的帮助文档系统:
bash复制man ls
man手册分为多个section:
指定section查询:
bash复制man 5 passwd # 查看passwd文件格式说明
man页面导航技巧:
实用技巧:使用
man -k 关键词可以搜索相关手册页,相当于apropos命令。
对于GNU软件,info文档通常比man更详细:
bash复制info coreutils
info文档采用超链接结构,使用方向键导航,l返回上一级,q退出。
nmcli是NetworkManager的命令行接口,功能强大:
查看网络设备状态:
bash复制nmcli device status
激活/停用网络连接:
bash复制nmcli connection up ens160
nmcli connection down ens160
查看连接详情:
bash复制nmcli connection show ens160
常见问题:如果nmcli命令不可用,可能需要先安装NetworkManager:
bash复制yum install NetworkManager # CentOS/RHEL
apt install network-manager # Ubuntu/Debian
除了nmcli,传统网络配置方法也值得了解:
临时配置IP:
bash复制ip addr add 192.168.1.100/24 dev ens160
永久配置(CentOS/RHEL):
bash复制vi /etc/sysconfig/network-scripts/ifcfg-ens160
修改后需要重启网络服务:
bash复制systemctl restart network
注意事项:生产环境中修改网络配置前,建议先做好备份,并通过控制台操作,避免因配置错误导致无法远程连接。
date命令不仅可以显示时间,还能用于时间计算和格式化:
显示当前时间:
bash复制date '+%Y-%m-%d %H:%M:%S'
计算时间差(如3天前):
bash复制date -d "3 days ago" '+%Y-%m-%d'
设置系统时间(需要root权限):
bash复制date -s "2023-05-20 14:30:00"
重要提示:修改系统时间可能影响定时任务和日志记录,生产环境建议使用NTP同步时间。
查看当前时区:
bash复制timedatectl
列出可用时区:
bash复制timedatectl list-timezones
设置时区(如亚洲上海):
bash复制timedatectl set-timezone Asia/Shanghai
确保系统时间准确:
bash复制# 安装chrony(较新的时间同步工具)
yum install chrony -y
# 启动并设置开机自启
systemctl enable --now chronyd
# 查看同步状态
chronyc sources -v
查看历史命令:
bash复制history
快速执行历史命令:
安全提示:历史命令可能包含敏感信息,可通过以下方式清理:
bash复制history -c # 清除内存中的历史
rm ~/.bash_history # 删除历史文件
创建命令别名提高效率:
bash复制alias ll='ls -alh'
永久生效需要写入~/.bashrc:
bash复制echo "alias ll='ls -alh'" >> ~/.bashrc
source ~/.bashrc
查看已设置别名:
bash复制alias
后台执行命令:
bash复制long-running-command &
脱离终端继续运行:
bash复制nohup long-running-command &
定时执行(crontab):
bash复制crontab -e
# 添加如下内容表示每天3点执行备份
0 3 * * * /path/to/backup.sh
当遇到"command not found"时,可以:
bash复制which command_name
bash复制yum provides */command_name # CentOS/RHEL
apt-file search command_name # Ubuntu/Debian
普通用户执行需要root权限的命令时,可以:
bash复制sudo yum update
bash复制su -
安全提示:避免长期使用root用户操作,完成特定任务后应及时退出。
基本排查步骤:
bash复制ip a
ping 127.0.0.1
bash复制ping 网关IP
bash复制nslookup example.com
bash复制telnet 目标IP 端口
或
nc -zv 目标IP 端口
简单脚本示例:
bash复制#!/bin/bash
# 这是一个简单的备份脚本
BACKUP_DIR=/backup
DATE=$(date +%Y%m%d)
tar -czf $BACKUP_DIR/backup-$DATE.tar.gz /path/to/backup
注意事项:
- 脚本开头必须有shebang(如#!/bin/bash)
- 给脚本添加执行权限:chmod +x script.sh
- 调试脚本可以使用bash -x script.sh
快速查看系统状态:
bash复制top # 动态查看进程
df -h # 磁盘空间
free -h # 内存使用
ss -tulnp # 网络连接(替代netstat)
通过这些基础但强大的命令组合,可以快速掌握Linux系统的基本操作和运维技巧。实际工作中,建议建立自己的命令手册,记录常用命令和问题解决方法,这将大幅提高工作效率。