Linux使用手册:从入门到精通的系统化指南
2025.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
控制默认权限掩码。
示例:创建可执行脚本并赋予权限
echo '#!/bin/bash
echo "Hello Linux"' > hello.sh
chmod +x hello.sh
./hello.sh # 输出Hello Linux
1.2 包管理工具与软件安装
不同Linux发行版使用不同的包管理器:
- Debian/Ubuntu:
apt update
更新源,apt install nginx
安装Nginx,apt remove package
卸载软件。 - RHEL/CentOS:
yum install httpd
安装Apache,dnf upgrade
升级系统。 - Arch Linux:
pacman -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服务
systemctl stop mysql
pkill -9 mysqld # 强制终止残留进程
systemctl start mysql
2.2 存储与磁盘管理
- 分区工具:
fdisk -l
列出磁盘,parted /dev/sda
交互式分区,mkfs.xfs /dev/sdb1
格式化为XFS文件系统。 - 挂载管理:
mount /dev/sdb1 /mnt/data
临时挂载,编辑/etc/fstab
实现永久挂载。 - 逻辑卷管理(LVM):通过
pvcreate
、vgcreate
、lvcreate
动态调整存储空间,支持在线扩容。
企业级实践:使用LVM为数据库分配弹性存储
pvcreate /dev/sdc
vgcreate vg_data /dev/sdc
lvcreate -L 500G -n lv_mysql vg_data
mkfs.ext4 /dev/vg_data/lv_mysql
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
# 在/etc/hosts.allow中添加
sshd: 192.168.1.100
# 在/etc/hosts.deny中添加
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。 - 条件判断:
if [ -f "/etc/nginx/nginx.conf" ]; then
echo "配置文件存在"
fi
- 定时任务:通过
crontab -e
添加0 3 * * * /backup.sh
实现每日3点备份。
4.2 日志分析与故障排查
- 集中日志:使用
rsyslog
将日志发送至远程服务器,配置/etc/rsyslog.conf
。 - 日志切割:
logrotate
工具按时间或大小轮转日志,示例配置:/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
systemctl reload nginx
endscript
}
五、企业级应用场景
5.1 高可用集群部署
- Keepalived:通过VRRP协议实现IP漂移,配置
/etc/keepalived/keepalived.conf
中的virtual_ipaddress
。 - 负载均衡:使用
HAProxy
的frontend
和backend
配置实现四层负载均衡。
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)可确保知识体系的时效性与准确性。
发表评论
登录后可评论,请前往 登录 或 注册