尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Linux系统与Vim编辑器实战指南

Linux系统与Vim编辑器实战指南 1. Linux系统概述从内核到发行版200字引言 第一次接触Linux是在大学机房看着黑色屏幕上闪烁的光标我完全不知道如何下手。如今十五年过去Linux已成为我日常开发不可分割的一部分。这篇文章将带你系统认识Linux的体系结构掌握那些真正高频使用的命令技巧以及高效使用Vim编辑器的实战方法。无论你是刚接触Linux的新手还是想巩固基础的开发者这些经验都能让你少走弯路。Linux本质上只是一个内核由Linus Torvalds在1991年发布。真正我们使用的都是基于内核的发行版(Distribution)它们在内核基础上集成了各种软件包和工具链。主流的发行版主要分为两大阵营基于Red Hat的CentOS/RHEL/Fedora系列基于Debian的Ubuntu/Mint系列选择哪个发行版开始学习我的建议是Ubuntu Desktop版原因有三社区支持最完善遇到问题容易找到解决方案软件包管理简单apt-get命令对新用户友好桌面环境成熟可以平滑过渡从Windows/Mac注意生产环境更推荐CentOS/RHEL但学习阶段Ubuntu的易用性更重要2. Linux命令实战从生疏到熟练2.1 文件操作核心命令ls命令可能是你第一个学习的命令但有几个参数特别实用ls -lh # 人类可读的文件大小显示 ls -t # 按修改时间排序 ls -R # 递归显示子目录cp/mv命令的进阶用法cp -a source_dir target_dir # 保留所有属性复制 mv --backupnumbered file.txt dir/ # 覆盖前自动备份踩坑记录在服务器上执行rm -rf /是灾难性的建议设置别名alias rmrm -i # 删除前确认2.2 文本处理三剑客grep的实用技巧grep -r pattern /path # 递归搜索 grep -v exclude file # 反向匹配 grep --colorauto # 高亮显示sed的典型场景sed -i s/old/new/g file # 替换文件内容 sed -n 5,10p file # 打印5-10行awk处理字段数据awk -F: {print $1} /etc/passwd # 打印所有用户名 awk NR%21 file # 打印奇数行2.3 系统管理命令查看系统信息uname -a # 内核版本 cat /proc/cpuinfo # CPU信息 free -h # 内存使用 df -h # 磁盘空间进程管理ps aux | grep nginx # 查找进程 kill -9 PID # 强制终止 nice -n 10 command # 调整优先级3. Vim编辑器从入门到高效3.1 基础编辑模式Vim有三种基本模式普通模式(Normal)移动光标、执行命令插入模式(Insert)输入文本可视模式(Visual)选择文本新手最常卡在不知道当前处于什么模式。我的建议是按ESC总是返回普通模式显示模式状态在~/.vimrc中添加set showmode set cursorline3.2 高效移动技巧行内移动0行首^第一个非空字符$行尾f{char}跳转到字符屏幕移动Ctrlf向下翻页Ctrlb向上翻页H/M/L屏幕顶部/中间/底部3.3 文本编辑进阶多文件编辑:split file.txt # 水平分割 :vsplit file.txt # 垂直分割 Ctrlw 方向键 # 切换窗口宏录制qa开始录制到寄存器a执行操作q停止录制a执行宏3.4 必备vimrc配置我的基础配置set number 显示行号 set tabstop4 Tab宽度 set expandtab Tab转空格 set hlsearch 高亮搜索 syntax on 语法高亮4. 常见问题与解决方案4.1 权限问题排查遇到Permission denied时ls -l file # 查看权限 stat file # 详细属性 sudo !! # 用root权限重试上条命令修改权限chmod 755 script.sh chown user:group file4.2 环境变量问题查看当前环境变量printenv # 所有变量 echo $PATH # 查看PATH永久添加环境变量# 在~/.bashrc中添加 export PATH$PATH:/new/path source ~/.bashrc # 立即生效4.3 软件安装问题Ubuntu下安装软件sudo apt update sudo apt install package查找软件包apt search keyword apt show package5. 性能监控与优化5.1 实时监控工具top命令的增强版htopsudo apt install htop htop关键指标解读Load average CPU核心数内存使用关注available而非freeIO等待高可能是磁盘瓶颈5.2 网络状态分析查看连接ss -tulnp # 比netstat更高效 lsof -i :80 # 查看80端口进程测速工具sudo apt install iperf3 iperf3 -c server_ip5.3 开机启动优化查看启动服务systemctl list-unit-files --typeservice禁用不需要的服务sudo systemctl disable service_name6. Shell脚本入门6.1 基础语法结构示例脚本#!/bin/bash # 注释这是一个demo脚本 if [ $# -eq 0 ]; then echo Usage: $0 filename exit 1 fi for file in $; do if [ -f $file ]; then echo Processing $file wc -l $file fi done6.2 实用脚本片段备份脚本#!/bin/bash backup_dir/backups [ -d $backup_dir ] || mkdir -p $backup_dir tar -czf $backup_dir/backup_$(date %F).tar.gz ~/Documents日志分析awk {print $1} access.log | sort | uniq -c | sort -nr | head -106.3 调试技巧调试模式bash -x script.sh常用调试命令set -x # 开启调试 set x # 关闭调试 trap echo $LINENO ERR # 出错时打印行号7. 进阶学习路径7.1 内核参数调优查看当前参数sysctl -a临时修改sudo sysctl -w kernel.parametervalue永久生效# 在/etc/sysctl.conf中添加 kernel.parameter value sudo sysctl -p7.2 容器化基础安装Dockersudo apt install docker.io sudo systemctl enable --now docker基础命令docker ps -a docker images docker exec -it container_name bash7.3 安全加固基础安全措施sudo apt install fail2ban # 防暴力破解 sudo ufw enable # 启用防火墙 sudo passwd -l root # 禁用root登录定期检查sudo apt install lynis sudo lynis audit system十五年的Linux使用经验告诉我最好的学习方式就是不断实践。遇到问题时记得善用man命令和--help参数大多数问题其实官方文档都有答案。保持好奇心从每天使用命令行开始你会逐渐发现Linux的强大之处。
返回列表