当前位置:首页 > 技术 > 正文内容

Linux系统核心知识与实践操作

访客 技术 2026年7月25日 1

文件系统与常用操作

在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:终止指定编号的后台工作

磁盘存储管理

物理磁盘初始化流程

  1. 分区:使用fdisk对设备进行MBR或GPT分区
  2. 格式化:创建文件系统,如mkfs.ext4 /dev/sdb1
  3. 挂载:关联分区与目录树节点,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源服务器步骤:

  1. 安装必要组件:yum install httpd createrepo
  2. 发布RPM包至/var/www/html/repos/
  3. 生成元数据:createrepo /var/www/html/repos/
  4. 启动服务:systemctl start httpd
  5. 客户端配置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

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。