Linux系统核心知识与实践操作
文件系统与常用操作
在Linux中,可以通过多种方式切换图形界面和文本终端。使用Ctrl+Alt+F1可进入图形界面,而Ctrl+Alt+F2至F6则用于返回命令行模式。若需安装KDE桌面环境,可通过执行yum -y groupinstall "KDE Plasma Workspaces"完成。
常用快捷键
- Ctrl + A:光标移至行首(等同于Home键)
- Ctrl + E:光标移至行尾(对应End键)
- Ctrl + U:删除当前光标前所有字符
- Ctrl + K:清除从光标位置到行末的内容
- Ctrl + L:清屏操作(功能同clear命令)
Vim编辑器高级技巧
# 光标控制
0 # 移动到本行开始
$ # 定位至本行结尾
gg # 跳转到文档第一行
G # 快速到达最后一行
w/b # 分别向前/向后跳转到单词起始处
e/ge # 向前/向后移动到词尾
# 文本复制与粘贴
yy # 复制整行内容
nyy # 连续复制n行数据
p/P # 将缓冲区内容粘贴到下一行/上一行
J # 合并当前行与下一行文本
# 删除操作
dd # 删除当前整行
ndd # 删除包括当前行在内的连续n行
x/X # 删除光标所在字符/前一个字符
d$ # 清除从光标到行尾的所有内容
# 撤销与重做
u # 回退上一步操作
Ctrl + r # 重新执行被撤销的动作
.
区域设置与时区配置
通过locale命令可以查看当前系统的语言和地区设定。其中LANG变量作为基础值影响所有未明确指定的LC_*类别。例如设置export LC_TIME=zh_CN.UTF-8可让时间显示采用中文格式。
要将系统时区调整为中国标准时间,应运行以下指令:
sudo timedatectl set-timezone Asia/Shanghai
验证是否生效可通过date +"%Z%z"命令检查输出结果是否为CST+0800。
用户与权限管理
/etc/passwd 和 /etc/shadow 文件结构
/etc/passwd包含七个字段:用户名:密码占位符:UID:GID:描述信息:主目录路径:登录Shell。普通用户的UID通常大于等于1000。
/etc/shadow文件记录加密后的密码及相关策略,其关键字段包括:
- 加密算法标识:以$6$开头表示SHA-512加密
- 密码最后修改日期:自1970年1月1日起计算的天数
- 密码有效期控制:最小/最大更改间隔、警告周期等
用户管理命令
# 创建新账户
useradd -s /bin/bash -g users -u 1001 -d /home/testuser -c "Test User"
# 修改用户属性
usermod -aG wheel testuser # 添加用户到wheel组
usermod -s /sbin/nologin testuser # 更改默认shell
# 批量更新密码
echo "testuser:newpass" | chpasswd
访问控制列表(ACL)
传统UGO权限模型仅支持单个用户和组的授权,而ACL提供了更细粒度的权限分配能力。当文件设置了ACL规则后,ls命令显示的权限末尾会由.变为+。
# 设置特定用户的读写权限
setfacl -m u:alice:rw /shared/file.txt
# 查看详细ACL信息
getfacl /shared/file.txt
# 移除个别规则或全部扩展权限
setfacl -x u:alice /shared/file.txt
setfacl -b /shared/file.txt
特殊权限位
- SUID:使程序运行时临时获取属主权限,适用于如passwd这类需要提权操作的工具
- chattr:用于设定不可变属性,如
chattr +i file可防止文件被删除或修改
进程与服务监控
进程状态解读
| 状态码 | 含义 |
|---|---|
| R | 正在运行或可执行 |
| S | 可中断睡眠 |
| D | 不可中断等待(通常为I/O阻塞) |
| T | 已停止 |
| Z | 僵尸进程 |
性能监测工具
top命令提供实时动态视图,关键指标包括CPU利用率、内存占用及负载平均值。常用参数组合如下:
top -d 3 -p 1,2,3 # 每3秒刷新一次,仅监控PID为1,2,3的进程
后台任务管理
- jobs:列出当前shell下的后台作业
- fg %n:将第n个后台任务恢复到前台执行
- bg %n:继续暂停的后台进程
- kill %n:终止指定编号的后台工作
磁盘存储管理
物理磁盘初始化流程
- 分区:使用fdisk对设备进行MBR或GPT分区
- 格式化:创建文件系统,如
mkfs.ext4 /dev/sdb1 - 挂载:关联分区与目录树节点,
mount /dev/sdb1 /mnt/data
逻辑卷管理(LVM)
LVM允许动态调整存储容量,主要组件包括PV(物理卷)、VG(卷组)和LV(逻辑卷)。
# 初始化物理卷并构建卷组
pvcreate /dev/sdc
vgcreate datavg /dev/sdc
# 创建500MB逻辑卷并格式化
lvcreate -L 500M -n datalv datavg
mkfs.xfs /dev/datavg/datalv
# 动态扩容已有逻辑卷
lvextend -L +200M /dev/datavg/datalv
xfs_growfs /mount/point
网络配置与安全
网络接口设置
可通过编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件配置静态IP地址:
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
防火墙规则管理
iptables实现四表五链架构,典型应用场景包括:
# 封禁整个C类网段
iptables -A INPUT -s 192.168.1.0/24 -j DROP
# 开放Web服务端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 禁止ICMP请求(关闭ping响应)
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
自动化运维工具
批量远程执行
pssh套件支持多主机并行操作:
# 并发执行命令
pssh -H "host1 host2" -l user -A "uptime"
# 批量上传文件
pscp.pssh -H "host1,host2" localfile /tmp/
# 从远程主机下载日志
pslurp -H "host1" /var/log/messages ./logs/
增量同步工具
rsync常用于高效的数据镜像:
rsync -avz --delete source/ user@remote:/destination/
# 参数说明:
# a 归档模式;v 详细输出;z 压缩传输;--delete 保持目标端纯净
软件包管理系统
YUM仓库配置
搭建本地HTTP源服务器步骤:
- 安装必要组件:
yum install httpd createrepo - 发布RPM包至/var/www/html/repos/
- 生成元数据:
createrepo /var/www/html/repos/ - 启动服务:
systemctl start httpd - 客户端配置baseurl=http://server/repos/
源码编译安装
标准三步法:
./configure --prefix=/opt/app
make && make install
定时任务调度
cron表达式语法
# 分钟 小时 日 月 星期 命令
0 2 * * * /backup/script.sh # 每日凌晨两点执行
*/5 * * * * /check/service # 每五分钟检测服务状态
systemd定时器
相比传统cron,systemd timer能更好地集成系统服务生命周期:
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target