linux基础认识
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 关键词
网络配置
基本命令
ifconfig或ip 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/ 检查日志文件大小,避免磁盘空间耗尽。
高级过滤与分析
awk 和 sed 可用于复杂日志分析。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
- 尝试命令行操作
- 参与开源项目
- 搭建个人服务器
- 阅读内核源代码
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)