linux如何查看服务器操作
linux如何查看服务器操作详细介绍
在 Linux 系统中,查看服务器操作通常涉及监控系统状态、用户活动、进程运行、日志记录等。以下是常用的方法和工具,按功能分类说明:
一、系统日志与操作记录
- 核心系统日志
Linux 通过日志文件记录系统活动,主要位于/var/log/目录下,常用日志文件:- 认证与登录日志:
/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(Red Hat/CentOS):记录用户登录、认证失败、sudo 使用等。last:查看历史登录记录(包括成功 / 失败登录)。lastlog:查看所有用户最后一次登录时间。
- 系统事件日志:
/var/log/syslog(Debian/Ubuntu)或/var/log/messages(Red Hat/CentOS):记录系统服务、 daemon 的活动。journalctl(适用于 systemd 系统):统一查看系统日志,支持时间过滤(如journalctl --since "1 hour ago")。
- 用户命令历史:
history:查看当前用户的命令历史(每个用户的历史存于~/.bash_history)。- 管理员可通过
sudo su - username查看其他用户的历史,或直接读取其历史文件(需权限)。
- 认证与登录日志:
- sudo 操作日志
/var/log/sudo.log(需配置,部分系统默认记录):记录用户使用 sudo 执行的命令,可通过grep过滤特定用户。
二、实时进程与资源监控
- 进程监控
top/htop:实时查看进程状态(CPU、内存占用等),htop支持交互筛选和树形结构。ps aux:列出所有进程的详细信息(静态快照),可结合grep过滤特定进程(如ps aux | grep nginx)。lsof:查看所有打开的文件和进程关联(需权限,如lsof -p PID查看特定进程文件)。
- 网络连接监控
netstat -antp:查看网络连接状态(TCP/UDP 端口、进程关联)。ss -antp:更高效的替代工具,显示套接字信息。iftop/nethogs:实时监控网络带宽使用(需安装)。
- 系统资源监控
free -h:查看内存使用情况(物理内存、swap)。df -h:查看磁盘空间占用。vmstat:监控虚拟内存、CPU、磁盘 I/O 等统计信息。iostat -x:详细磁盘 I/O 性能分析(需安装sysstat包)。
三、用户活动与会话
- 当前登录用户
who/w:查看当前登录用户及其操作(w显示更详细,如正在执行的命令)。users:简单列出当前登录用户。
- 终端会话追踪
fgrep "pts/" /var/log/auth.log:通过日志追踪用户登录的终端会话(如pts/0对应 SSH 会话)。ps -t pts/0:查看特定终端(如pts/0)上运行的进程。
四、文件与目录操作监控
- 文件修改监控
inotify-tools:实时监控文件 / 目录的创建、修改、删除等事件(需安装,如inotifywait -m /path)。- 审计工具
auditd:配置规则监控敏感文件(如/etc/shadow),日志存于/var/log/audit/audit.log。
- 命令执行审计
- 对于关键服务器,可通过
script命令记录用户终端会话(需提前启用,如script -a /var/log/user_session.log)。
- 对于关键服务器,可通过
五、综合监控工具
- Glances:实时显示系统资源、进程、网络等综合信息(需安装,
pip install glances,支持 Web 界面)。 - Nmon:多功能系统监控工具,生成性能数据文件供分析。
- 监控软件:如 Zabbix、Prometheus(需部署),用于长期监控和告警。
六、常用命令示例
- 查看最近 1 小时的系统日志:bash
journalctl - 查看用户
admin的 sudo 记录:bash/var/log/sudo.log - 实时监控 CPU 和内存:bash
- 查看当前网络连接的进程:bash
ss ESTABLISHED912ss | ESTABLISHED
根据具体需求(如排查性能问题、追踪用户操作、审计安全事件),选择对应的工具或日志文件。注意部分操作需要管理员权限(使用 sudo),且日志文件可能因 Linux 发行版不同而略有差异(如 Debian vs Red Hat 系列)。