Linux运维涉及众多方面,熟练掌握一些核心工具和命令对于提升工作效率至关重要。这些工具和命令只是Linux运维冰山一角,每个工具都有其深入的应用场景和高级功能,但掌握这些基础操作将为你的运维工作打下坚实的基础。
使用技巧示例:
1. SSH (Secure Shell)
- 远程登录与密钥认证:
- Sh1# 生成SSH密钥对
- 2ssh-keygen
- 3
- 4# 将公钥复制到远程服务器
- 5ssh-copy-id user@remote_host
2. Vim / Nano / Emacs(文本编辑器)
- Vim快速编辑:打开文件并进入插入模式:vim file.txt, 然后按i开始编辑。保存并退出:按Esc键,然后输入:wq回车。
3. Git(版本控制)
- 基本工作流程:
- Sh1# 初始化仓库
- 2git init
- 3
- 4# 添加文件到暂存区
- 5git add .
- 6
- 7# 提交更改
- 8git commit -m "Initial commit"
- 9
- 10# 推送到远程仓库
- 11git push origin master
4. Docker(容器化)
- 快速运行容器:
- Sh1docker run -it ubuntu:latest /bin/bash
5. Ansible(自动化运维工具)
- 基础Playbook示例:
- Yaml1# ansible-playbook.yml
- 2---
- 3- hosts: webservers
- 4 tasks:
- 5 - name: Update package cache
- 6 apt:
- 7 update_cache: yes
- 8 - name: Install Apache
- 9 apt:
- 10 name: apache2
- 11 state: present
6. Jenkins(持续集成/持续部署)
- 创建简单任务:在Jenkins界面新建任务,配置Git源码管理,添加构建步骤(例如执行Shell脚本或调用Maven命令)。
7. Nginx(Web服务器)
- 配置基本HTTP服务:
- Nginx1server {
- 2 listen 80;
- 3 server_name example.com;
- 4 location / {
- 5 root /var/www/html;
- 6 index index.html;
- 7 }
- 8}
8. Systemd(系统和服务管理器)
- 管理服务:
- Sh1# 启动服务
- 2systemctl start nginx.service
- 3
- 4# 停止服务
- 5systemctl stop nginx.service
- 6
- 7# 重启服务
- 8systemctl restart nginx.service
- 9
- 10# 查看服务状态
- 11systemctl status nginx.service
9. Cron(计划任务)
- 定时任务示例:
- Sh1# 编辑crontab文件
- 2crontab -e
- 3
- 4# 每天凌晨1点执行备份脚本 50 1 * * * /usr/local/bin/backup_script.sh
10. Tcpdump(网络抓包)
- 抓取网络流量:
- Sh1# 抓取eth0接口上所有流向port 80的流量
- 2sudo tcpdump -i eth0 port 80
11. Netcat (nc)
- 简易网络调试:
- Sh1# 监听本地8080端口
- 2nc -l 8080
- 3
- 4# 发送数据到远程主机的80端口
- 5echo "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc example.com 80
12. htop(增强型进程查看器)
- 实时监控系统负载与进程:
- 1# 安装htop(如果尚未安装)
- 2sudo apt-get install htop
- 3
- 4# 运行htop 5htop
- 在htop中,通过F2进行设置,F3/F4选择排序方式,方向键导航,空格标记进程,F9发送信号(如终止进程)。
13. rsync(文件同步与备份)
- 同步本地目录到远程服务器:
- Sh1rsync -avz --progress /local/directory user@remote:/remote/directory
- -a表示归档模式,保留原有文件属性;-v为详细模式;-z压缩数据传输。
14. Logrotate(日志文件管理)
- 配置日志文件自动轮转:
- Sh1# 编辑/etc/logrotate.d/myapp
- 2/var/log/myapp/*.log {
- 3 daily
- 4 rotate 7
- 5 compress
- 6 delaycompress
- 7 missingok
- 8 notifempty
- 9 create 644 root root
- 10}
15. Glances(系统监视器)
- 快速查看系统概览:
- Sh1# 安装Glances
- 2sudo apt-get install glances
- 3
- 4# 运行Glances 5glances
- Glances提供了CPU、内存、磁盘、网络等多方面的系统信息。
16. Prometheus & Grafana(监控与可视化)
- 基础配置:使用Prometheus收集指标。在Grafana中创建仪表板展示监控数据。 通常涉及到配置Prometheus的YAML文件来抓取目标,并在Grafana中导入或创建数据源及面板。
17. LVM(逻辑卷管理)
- 创建LVM卷组与逻辑卷:
- Sh1# 创建卷组名为vgdata
- 2pvcreate /dev/sdb1
- 3vgcreate vgdata /dev/sdb1
- 4
- 5# 在vgdata上创建大小为10GB的逻辑卷lvdata
- 6lvcreate -L 10G -n lvdata vgdata
- 7
- 8# 格式化并挂载逻辑卷
- 9mkfs.ext4 /dev/vgdata/lvdata
- 10mount /dev/vgdata/lvdata /mnt/data
本文暂时没有评论,来添加一个吧(●'◡'●)