Linux系统概述

Linux是一种开源操作系统内核,由Linus Torvalds于1991年首次发布。它以稳定性、安全性和灵活性著称,广泛应用于服务器、嵌入式设备和个人计算机。

基本命令

文件和目录操作

  • ls:列出目录内容

  • pwd:查看当前所在目录路径

  • cd:切换目录

  • mkdir:创建目录

  • touch:创建文件

  • rm:删除文件或目录

  • cp:复制文件

  • mv:移动或重命名文件

  • cat:查看⽂件内容

  • more/less:分⻚查看⼤⽂件

系统信息

  • uname -a:显示系统信息
  • df -h:查看磁盘空间
  • free -h:查看内存使用情况
  • top:实时显示系统进程

用户和权限

用户管理

  • useradd:添加用户
  • passwd:修改用户密码
  • usermod:修改用户属性
  • userdel:删除用户

权限系统

  • 三种权限:读(r)、写(w)、执行(x)
  • 三类用户:所有者、组用户、其他用户
  • chmod:修改文件权限
  • chown:修改文件所有者

 

常用命令

  • 更新软件列表:sudo apt update
  • 安装软件:sudo apt install 软件名
  • 卸载软件:sudo apt remove 软件名
  • 搜索软件:apt search 关键词

网络配置

基本命令

  • ifconfigip addr:查看网络接口
  • ping:测试网络连接
  • netstat:显示网络状态
  • ssh:远程登录

防火墙

  • iptables:传统防火墙工具
  • ufw:Ubuntu简易防火墙
  • firewalld:RedHat系列防火墙

系统服务

服务管理

  • systemctl start 服务名:启动服务
  • systemctl stop 服务名:停止服务
  • systemctl restart 服务名:重启服务
  • systemctl enable 服务名:设置开机启动

日志查看

  • journalctl:查看系统日志
  • dmesg:查看内核日志
  • /var/log/:系统日志文件目录

文件编辑

常用编辑器

  • nano:简单易用的文本编辑器
  • vim:功能强大的编辑器
  • emacs:高度可定制的编辑器

vim基本操作

  • 普通模式:移动光标、删除字符
  • 插入模式:编辑文本
  • 命令模式:保存、退出等操作
  • i进入插入模式,Esc返回普通模式,:wq保存退出

进程管理

常用命令

  • ps:查看进程状态
  • kill:终止进程
  • htop:交互式进程查看器
  • nice:调整进程优先级
  • renice:修改运行中进程优先级

定时任务

crontab

  • crontab -e:编辑定时任务
  • crontab -l:列出定时任务
  • crontab -r:删除所有定时任务

格式说明

* * * * * 命令
分 时 日 月 周

脚本编程

Shell脚本基础

  • 第一行指定解释器:#!/bin/bash
  • 赋予执行权限:chmod +x 脚本名
  • 执行脚本:./脚本名

基本语法

  • 变量:变量名=值(注意等号两边无空格)
  • 条件判断:if [ 条件 ]; then ... fi
  • 循环:for 变量 in 列表; do ... done
  • 函数:函数名() { ... }

日志分析

查看系统日志

journalctl 是 systemd 日志管理工具,适用于大多数现代 Linux 发行版。
journalctl -xe 查看最近的日志,-x 提供额外解释,-e 跳转到日志末尾。
journalctl -u service_name 查看特定服务的日志。

查看内核日志

dmesg 显示内核环形缓冲区中的消息,常用于硬件和驱动问题排查。
dmesg | grep -i error 过滤出错误信息,-i 忽略大小写。
dmesg -T 以可读时间格式显示日志。

查看系统消息日志

/var/log/messages/var/log/syslog 存储常规系统消息。
tail -f /var/log/syslog 实时跟踪日志更新。
grep "error" /var/log/messages 筛选错误信息。

查看认证日志

/var/log/auth.log/var/log/secure 记录认证相关事件(如 SSH 登录)。
grep "Failed" /var/log/auth.log 检查失败的登录尝试。

查看应用程序日志

应用程序通常将日志存储在 /var/log/ 目录下,如 Nginx 的 /var/log/nginx/error.log
cat /var/log/nginx/error.log 查看完整日志文件内容。

日志轮转与清理

logrotate 是日志轮转工具,配置文件位于 /etc/logrotate.conf/etc/logrotate.d/
ls -l /var/log/ 检查日志文件大小,避免磁盘空间耗尽。

高级过滤与分析

awksed 可用于复杂日志分析。
grep -A 5 -B 5 "error" /var/log/syslog 显示匹配行及其前后 5 行上下文。
journalctl --since "2023-01-01" --until "2023-01-02" 按时间范围筛选日志。

其他常用命令

last 查看用户登录历史。
who /var/log/wtmp 显示当前和过去登录的用户信息。
cat /var/log/boot.log 查看系统启动日志。

安全基础

基本措施

  • 定期更新系统
  • 使用强密码
  • 限制root登录
  • 配置防火墙
  • 禁用不必要服务

审计工具

  • last:查看登录记录
  • who:显示当前登录用户
  • fail2ban:防止暴力破解
  • lynis:系统安全审计工具

虚拟化技术

常见方案

  • KVM:基于内核的虚拟化
  • Docker:容器化技术
  • LXC:轻量级容器
  • VirtualBox:桌面虚拟化

基本命令

  • virsh:管理KVM虚拟机
  • docker ps:查看运行中容器
  • lxc-ls:列出LXC容器

备份与恢复

常用工具

  • tar:归档工具
  • rsync:文件同步
  • dd:磁盘复制
  • btrfs:支持快照的文件系统

备份策略

  • 全量备份
  • 增量备份
  • 差异备份
  • 定期测试恢复

性能调优

优化方向

  • 内核参数调整
  • 文件系统选择
  • 服务配置优化
  • 硬件资源分配

调优工具

  • sysctl:修改内核参数
  • tuned:自动化性能调优
  • perf:性能分析工具
  • strace:系统调用跟踪

常见发行版

主流发行版

  • Ubuntu:用户友好,适合初学者
  • Debian:稳定,广泛用于服务器
  • CentOS:企业级,基于Red Hat
  • Arch Linux:滚动更新,高度可定制
  • Fedora:前沿技术测试平台

选择建议

  • 服务器:CentOS/RHEL、Ubuntu Server
  • 桌面:Ubuntu、Linux Mint
  • 开发:Fedora、Arch Linux
  • 嵌入式:Buildroot、Yocto

学习资源

在线文档

  • Linux手册页:man 命令名
  • TLDP(The Linux Documentation Project)
  • Arch Wiki(适用于各种发行版)

实践建议

  • 在虚拟机中安装Linux
  • 尝试命令行操作
  • 参与开源项目
  • 搭建个人服务器
  • 阅读内核源代码
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐