### 运维常用工具和命令知识点详述 #### Linux命令操作 **1. `free` 查看内存** - **用途**: 使用 `free -m` 命令可以查看当前系统的内存使用情况,其中 `-m` 参数表示以 MB 为单位显示结果。 - **输出解析**: `free` 命令的输出包括总内存、已使用内存、空闲内存以及缓存内存等信息。 - **应用场景**: 当需要监控服务器内存使用状态或者排查内存泄漏问题时非常有用。 **2. `crontab` 定时任务** - **用途**: `crontab` 用于设置周期性被执行的 shell 命令。 - **配置文件**: 每个用户都有一个 crontab 文件,通常位于 `/var/spool/cron/username`。 - **格式**: `分钟 小时 月份 月中的哪一天 星期几 命令`。 - **示例**: `0 3 * * 1-5 /usr/local/bin/my_script.sh` 表示周一到周五每天凌晨 3 点执行 my_script.sh 脚本。 **3. `netstat` 显示网络相关信息** - **用途**: `netstat` 命令用来显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据。 - **常用选项**: `-a` 显示所有连接; `-n` 数字形式显示地址和端口; `-t` 显示 TCP 连接; `-u` 显示 UDP 连接。 - **应用场景**: 监控服务器上的网络连接状态,例如找出占用特定端口的进程。 **4. `top` 系统动态监视** - **用途**: `top` 命令提供了实时的系统概况,包括 CPU 使用率、内存使用情况、进程列表等。 - **交互式命令**: `k` 可以发送信号给进程; `P` 按 CPU 使用率排序; `M` 按内存使用量排序。 - **应用场景**: 实时监控系统资源使用情况,帮助定位性能瓶颈。 **5. 查看 CPU 信息** - **命令**: `lscpu` 或者 `cat /proc/cpuinfo`。 - **信息类型**: 包括 CPU 架构、核心数、线程数等。 - **应用场景**: 在进行系统优化或应用部署前了解 CPU 配置信息。 **6. `du` 查看目录信息** - **用途**: `du` (disk usage) 命令用于估计文件和目录所使用的磁盘空间。 - **常用选项**: `-h` 以易于阅读的格式显示大小; `-s` 显示指定目录的总大小。 - **应用场景**: 监控磁盘空间使用情况,帮助识别占用大量空间的文件或目录。 **7. 查看磁盘信息** - **命令**: `df -h`。 - **输出**: 显示文件系统的磁盘空间使用情况。 - **应用场景**: 监控磁盘空间使用情况,确保有足够的空间供应用程序运行。 **8. `lsof` 详解** - **用途**: `lsof` (list open files) 命令列出当前打开的文件。 - **应用场景**: 查找哪些进程打开了某个文件或端口,解决文件句柄泄露等问题。 - **常用选项**: `-i` 显示所有 Internet 或 UDP、TCP 端口; `-P` 同时显示端口。 **9. `ps` 命令详解** - **用途**: `ps` (process status) 命令用来查看当前运行的进程的状态。 - **常用选项**: `-ef` 显示所有用户的进程信息; `-aux` 显示所有运行中的进程及其资源使用情况。 - **应用场景**: 查看特定进程的状态,如 CPU 和内存使用情况。 **10. `kill -9` 结束进程** - **用途**: 使用 `kill -9` 命令强制终止进程。 - **应用场景**: 当进程无法正常退出时,可以使用此命令强行杀死进程。 **11. `mkdir` 创建目录** - **用途**: `mkdir` 命令用于创建目录。 - **选项**: `-p` 允许创建多层目录。 - **应用场景**: 在批量创建目录结构时非常方便。 **12. `cp` 复制** - **用途**: `cp` 命令用于复制文件或目录。 - **选项**: `-r` 递归复制目录; `-i` 在覆盖现有文件之前提示确认。 - **应用场景**: 快速备份文件或目录。 **13. `rm` 删除文件或目录** - **用途**: `rm` 命令用于删除文件或目录。 - **选项**: `-r` 递归删除目录; `-i` 删除前询问。 - **应用场景**: 清理不再需要的文件或目录。 **14. `mv` 移动或重命名文件或目录** - **用途**: `mv` 命令用于移动文件或目录,也可以用来重命名文件或目录。 - **应用场景**: 在不同位置间移动文件或更改文件名。 **15. `ls` 列出文件或目录** - **用途**: `ls` 命令用来列出目录内容。 - **选项**: `-l` 以长格式显示; `-a` 显示隐藏文件。 - **应用场景**: 快速查看目录下的文件和子目录。 **16. `sed` 命令替换字符串** - **用途**: `sed` (stream editor) 是一个流编辑器,可以用来处理文本文件。 - **应用场景**: 修改文件中的文本内容,例如替换特定字符串。 **17. `more`、`less`、`head` 查看文件内容** - **用途**: `more` 和 `less` 用于分页显示文件内容; `head` 显示文件的前几行。 - **应用场景**: 查看大文件内容而不一次性加载全部数据。 **18. `tail` 查看文件数据** - **用途**: `tail` 命令用于查看文件末尾的几行。 - **选项**: `-f` 动态显示新添加的数据。 - **应用场景**: 监控日志文件的新条目。 **19. `cat` 和 `tac` 查看文件内容** - **用途**: `cat` 用来合并文件并打印到标准输出设备上; `tac` 类似于 cat,但其输出正好相反。 - **应用场景**: 查看文件内容。 **20. `chmod` 修改读写权限** - **用途**: `chmod` 命令用于改变文件或目录的权限。 - **格式**: `chmod [who][operator][mode] file`。 - **应用场景**: 控制文件的访问权限,保障文件安全性。 **21. `chown` 修改所有者用户或组** - **用途**: `chown` 命令用于更改文件或目录的所有权。 - **应用场景**: 更改文件或目录的所有者或所属组。 **22. CentOS 软件安装工具 `yum`** - **用途**: `yum` (Yellowdog Updater Modified) 是 CentOS 和其他基于 Red Hat 的发行版的包管理器。 - **常用命令**: `yum install package` 安装包; `yum update` 更新所有包; `yum remove package` 移除包。 - **应用场景**: 安装、更新或移除软件包。 **23. Ubuntu 软件安装工具 `apt`** - **用途**: `apt` (Advanced Package Tool) 是 Debian 和 Ubuntu 的包管理器。 - **常用命令**: `apt-get install package` 安装包; `apt-get update` 更新包列表; `apt-get remove package` 移除包。 - **应用场景**: 管理软件包的安装、更新和卸载。 **24. 下载工具 `wget`** - **用途**: `wget` 命令用于从网络上下载文件。 - **选项**: `-O` 保存文件到指定位置; `-c` 断点续传。 - **应用场景**: 下载文件或网页内容。 **25. `pwd`** - **用途**: `pwd` 命令显示当前工作目录。 - **应用场景**: 快速获取当前所在目录路径。 **26. `tar` 压缩解压** - **用途**: `tar` (tape archive) 命令用于打包和解包文件。 - **常用选项**: `-czvf` 创建 gzip 压缩的 tar 文件; `-xzvf` 解包 gzip 压缩的 tar 文件。 - **应用场景**: 打包文件以方便传输或存档。 **27. `zip` 压缩** - **用途**: `zip` 命令用于创建 zip 格式的压缩文件。 - **选项**: `-r` 递归压缩目录; `-j` 不保留路径信息。 - **应用场景**: 创建 zip 压缩文件。 **28. `unzip` 解压缩** - **用途**: `unzip` 命令用于解压 zip 格式的压缩文件。 - **应用场景**: 解压 zip 文件。 **29. 源码方式安装软件** - **步骤**: 1. 下载源码包。 2. 解压源码包。 3. 进入源码目录,执行 `./configure` 来检查环境。 4. 执行 `make` 编译。 5. 执行 `make install` 安装。 - **应用场景**: 安装非标准包管理器提供的软件。 **30. Ubuntu 修改时区和时间** - **用途**: 修改系统时区和时间。 - **命令**: `sudo timedatectl set-timezone Asia/Shanghai`。 - **应用场景**: 确保服务器时间和时区正确。 **31. Tomcat 时区设置** - **文件**: `CATALINA_HOME/bin/catalina.sh` 或 `CATALINA_HOME/bin/catalina.bat`。 - **参数**: 添加 `-Duser.timezone=Asia/Shanghai`。 - **应用场景**: 设置 Tomcat 应用服务器的时区。 **32. `&` 后台执行命令** - **用途**: 使命令在后台运行。 - **应用场景**: 长时间运行的任务。 **33. 清理 Ubuntu 系统的缓存、垃圾、多余内核** - **命令**: `sudo apt-get autoremove --purge && sudo apt-get clean && sudo apt-get autoclean`。 - **应用场景**: 释放磁盘空间。 **34. Linux 下测速** - **命令**: `ping`、`iperf`。 - **应用场景**: 测试网络速度和延迟。 **35. 查看磁盘 IO 几种方式** - **命令**: `iostat`、`sar`、`vmstat`。 - **应用场景**: 监控磁盘 I/O 性能。 **36. 磁盘 I/O 性能监控** - **工具**: `iotop`、`blktrace`。 - **应用场景**: 诊断 I/O 性能问题。 #### Apache 反向代理配置 **1. Linux Apache 2 反向代理配置 (Ubuntu)** - **步骤**: 1. 安装 Apache。 2. 创建虚拟主机配置文件。 3. 配置反向代理。 4. 重启 Apache 服务。 - **配置示例**: ```apacheconf <VirtualHost *:80> ServerName www.example.com ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost> ``` - **应用场景**: 当需要将流量转发到后端服务器时。 **2. Windows Apache 2 反向代理配置** - **步骤**: 类似于 Linux 版本,但需注意 Windows 下的路径差异。 - **应用场景**: Windows 环境下进行负载均衡或代理。 #### NMON 使用 - **用途**: NMON (Nigel's Performance Monitor for Linux) 是一款用于监控 Linux 系统性能的工具。 - **应用场景**: 监控 CPU、内存、磁盘 I/O、网络 I/O 等系统性能指标。 #### MySQL 命令操作 **1. Windows 下安装 MySQL** - **步骤**: 1. 下载 MySQL 安装包。 2. 运行安装程序。 3. 配置 MySQL 服务。 - **应用场景**: 在 Windows 系统上安装 MySQL 数据库。 **2. 使用 `mysqldump` 命令备份** - **用途**: `mysqldump` 用于备份 MySQL 数据库。 - **命令**: `mysqldump -u root -p <database_name> > backup.sql`。 - **应用场景**: 数据库备份。 **3. 还原数据** - **命令**: `mysql -u root -p <database_name> < backup.sql`。 - **应用场景**: 数据恢复。 **4. 初始化 MySQL 配置文件** - **文件**: `my.cnf` 或 `my.ini`。 - **应用场景**: 配置 MySQL 服务的启动参数。 **5. 启动、重启、关闭 MySQL 服务** - **命令**: `service mysql start|restart|stop`。 - **应用场景**: 管理 MySQL 服务。 **6. 查看启动的数据库** - **命令**: `SHOW DATABASES;`。 - **应用场景**: 列出所有可用的数据库。 **7. 查看 MySQL 当前连接数** - **命令**: `SHOW STATUS LIKE 'Threads_connected';`。 - **应用场景**: 监控并发连接数。 **8. 查看 MySQL 当前所有连接信息** - **命令**: `SHOW FULL PROCESSLIST;`。 - **应用场景**: 监控 MySQL 的连接状态。 **9. 修改 MySQL 最大连接数** - **命令**: `SET GLOBAL max_connections = <value>;`。 - **应用场景**: 调整最大连接数限制。 **10. 查看和打印 MySQL 进程** - **命令**: `ps aux | grep mysqld`。 - **应用场景**: 查找 MySQL 进程。 这些运维常用命令和工具是日常运维工作中必不可少的一部分,掌握它们对于提高工作效率、快速解决问题具有重要意义。


















剩余106页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- XP-网络故障解决措施全集.doc
- 电气自动化在水利水电工程中的应用分析1.docx
- 时间触发通信:原理与应用
- 基于JSP的教学管理系统大学本科方案设计书.doc
- 基于PLC的物料分拣控制系统的设计.doc
- 实验项目管理-需求书.doc
- 最新高端简约英文版互联网科技金融商务工作计划总结PPT模PPT模板.pptx
- 移动通信技术与计算机网络.docx
- 面翻洪海广告设备有限公司项目管理书.doc
- 电网调度自动化系统的应用.pdf
- 互联网+时代高校线上线下混合式教学模式探究.docx
- 2017级大数据技术与应用专业人才培养方案.doc
- 论网络虚拟财产的民法界定.docx
- 基于 Python 实现自动驾驶的规划与控制代码
- 酒店无线网络覆盖解决方案.docx
- 电子科技16秋《供配电系统监控与自动化》在线作业2-辅导资料.doc


