logo

Linux使用手册:从入门到精通的系统化指南

作者:梅琳marlin2025.09.17 10:31浏览量:0

简介:本文为Linux系统用户提供从基础操作到高级管理的全流程指导,涵盖命令行使用、系统管理、网络配置等核心场景,适用于开发者、运维工程师及企业用户。

一、Linux基础操作与文件管理

1.1 命令行界面(CLI)核心操作

Linux系统的核心交互方式是命令行终端,掌握基础命令是高效操作的前提。常用命令包括:

  • 文件与目录操作ls -l显示详细文件属性,cd /path切换目录,mkdir -p dir1/dir2递归创建多级目录,rm -rf dir强制删除目录(慎用)。
  • 文件内容查看cat file.txt显示全部内容,head -n 5 file.txt查看前5行,tail -f log.txt实时追踪日志更新。
  • 权限管理chmod 755 script.sh设置可执行权限,chown user:group file修改文件所有者,umask 022控制默认权限掩码。

示例:创建可执行脚本并赋予权限

  1. echo '#!/bin/bash
  2. echo "Hello Linux"' > hello.sh
  3. chmod +x hello.sh
  4. ./hello.sh # 输出Hello Linux

1.2 包管理工具与软件安装

不同Linux发行版使用不同的包管理器:

  • Debian/Ubuntuapt update更新源,apt install nginx安装Nginx,apt remove package卸载软件。
  • RHEL/CentOSyum install httpd安装Apache,dnf upgrade升级系统。
  • Arch Linuxpacman -Syu全系统升级。

企业级建议:通过apt-mark hold package锁定关键软件版本,避免自动升级导致兼容性问题。

二、系统管理与进程控制

2.1 服务与进程管理

  • Systemd服务systemctl start nginx启动服务,systemctl enable nginx设置开机自启,journalctl -u nginx查看服务日志。
  • 进程监控top动态查看资源占用,htop(需安装)提供彩色交互界面,ps aux | grep python筛选特定进程。
  • 后台任务nohup ./script.sh &让脚本在后台运行,jobs -l查看任务ID,kill -9 PID强制终止进程。

运维场景示例:重启卡死的MySQL服务

  1. systemctl stop mysql
  2. pkill -9 mysqld # 强制终止残留进程
  3. systemctl start mysql

2.2 存储与磁盘管理

  • 分区工具fdisk -l列出磁盘,parted /dev/sda交互式分区,mkfs.xfs /dev/sdb1格式化为XFS文件系统。
  • 挂载管理mount /dev/sdb1 /mnt/data临时挂载,编辑/etc/fstab实现永久挂载。
  • 逻辑卷管理(LVM):通过pvcreatevgcreatelvcreate动态调整存储空间,支持在线扩容。

企业级实践:使用LVM为数据库分配弹性存储

  1. pvcreate /dev/sdc
  2. vgcreate vg_data /dev/sdc
  3. lvcreate -L 500G -n lv_mysql vg_data
  4. mkfs.ext4 /dev/vg_data/lv_mysql
  5. mount /dev/vg_data/lv_mysql /var/lib/mysql

三、网络配置与安全加固

3.1 网络基础设置

  • 静态IP配置:编辑/etc/netplan/01-netcfg.yaml(Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS)。
  • 防火墙管理ufw allow 22/tcp(Ubuntu)或firewall-cmd --add-port=80/tcp --permanent(CentOS)开放端口。
  • SSH安全:修改默认端口Port 2222,禁用root登录PermitRootLogin no,使用ssh-keygen生成密钥对。

安全配置示例:限制SSH登录IP

  1. # 在/etc/hosts.allow中添加
  2. sshd: 192.168.1.100
  3. # 在/etc/hosts.deny中添加
  4. sshd: ALL

3.2 高级网络工具

  • 网络诊断ping -c 4 example.com测试连通性,traceroute example.com分析路由路径,mtr example.com结合ping与traceroute。
  • 流量监控iftop -i eth0实时查看带宽使用,nload eth0分上下行显示流量。
  • 隧道与代理ssh -D 8080 user@remote建立SOCKS代理,iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE启用NAT转发。

四、开发与运维高级技巧

4.1 Shell脚本编程

  • 变量与参数$0脚本名,$1-$9参数,$@所有参数,$$当前进程ID。
  • 条件判断
    1. if [ -f "/etc/nginx/nginx.conf" ]; then
    2. echo "配置文件存在"
    3. fi
  • 定时任务:通过crontab -e添加0 3 * * * /backup.sh实现每日3点备份。

4.2 日志分析与故障排查

  • 集中日志:使用rsyslog将日志发送至远程服务器,配置/etc/rsyslog.conf
  • 日志切割logrotate工具按时间或大小轮转日志,示例配置:
    1. /var/log/nginx/*.log {
    2. daily
    3. missingok
    4. rotate 14
    5. compress
    6. delaycompress
    7. notifempty
    8. create 0640 www-data adm
    9. sharedscripts
    10. postrotate
    11. systemctl reload nginx
    12. endscript
    13. }

五、企业级应用场景

5.1 高可用集群部署

  • Keepalived:通过VRRP协议实现IP漂移,配置/etc/keepalived/keepalived.conf中的virtual_ipaddress
  • 负载均衡:使用HAProxyfrontendbackend配置实现四层负载均衡。

5.2 容器化与编排

  • Docker基础docker run -d -p 80:80 nginx启动容器,docker-compose up部署多容器应用。
  • Kubernetes管理:通过kubectl apply -f deployment.yaml部署应用,kubectl get pods监控状态。

结语

本手册覆盖了Linux系统从日常操作到企业级部署的核心场景,通过命令示例与配置解析提供可落地的解决方案。建议读者结合实际需求,逐步掌握高级功能如自动化运维(Ansible)、监控系统(Prometheus+Grafana)等,构建高效的Linux技术栈。持续关注发行版官方文档(如Ubuntu Manpage、Red Hat Knowledgebase)可确保知识体系的时效性与准确性。

相关文章推荐

发表评论