一篇吃透 Linux 入门核心:man帮助 + Vim全快捷键 + 重定向超详细实战

发布时间:2026/7/18 13:57:06

一篇吃透 Linux 入门核心:man帮助 + Vim全快捷键 + 重定向超详细实战 一篇吃透 Linux 入门核心man帮助 Vim全快捷键 重定向超详细实战一、前言本篇博客整理 CentOS7 系统核心基础知识点包含Linux帮助查询体系、Vim编辑器全功能实操、标准输入输出重定向、管道与Tee命令搭配大量可直接运行实战命令、场景示例适合Linux新手入门、课堂复习、作业总结。二、Linux系统获取帮助的方式Linux 提供多套帮助查询机制适配内置命令、外部命令、配置文件、系统手册、官方文档不同场景。2.1 man 手册系统官方手册2.1.1 man 简介man 是 manual手册的缩写Linux 官方标准帮助文档通过section 章节区分不同类型手册解决「命令和配置文件同名」的查询冲突如 passwd 既是命令也是配置文件。2.1.2 man 章节对照表核心SECTION 章节内容类型1用户命令可执行命令、Shell程序2系统调用内核提供的用户空间接口3库函数程序依赖的系统函数库4特殊文件设备文件、驱动文件5文件格式配置文件规范、结构说明6系统游戏历史保留章节7协议、标准、文件系统惯例8系统管理特权命令运维管理员使用9Linux 内核 API内核调用接口2.1.3 man基础命令使用# 1. 临时切换英文手册解决中文乱码/翻译不全[fangbingcentos7 ~18:19:22]$LANGen_US.utf8# 2. man 命令帮助语法[fangbingcentos7 ~18:19:11]$man--helpUsage:man[OPTION...][SECTION]PAGE... -C, --config-fileFILE use this user configurationfile-d,--debugemit debugging messages -D,--defaultreset all options to their default values --warnings[WARNINGS]enablewarnings......# 3. 查询 passwd 命令用法章节1[fangbingcentos7 ~18:24:43]$man1passwd# 4. 查询 /etc/passwd 配置文件格式章节5[fangbingcentos7 ~18:26:22]$man5passwd2.1.4 man 页面交互快捷键less 通用命令结果PageDown或者空格键向前向下滚动一个屏幕PageUp向后向上滚动一个屏幕向下箭头向前向下滚动一行向上箭头向后向上滚动一行d向前向下滚动半个屏幕u向后向上滚动半个屏幕/string在man page中向前向下搜索stringn在man page中重复之前的向前向下搜索N在man page中重复之前的向后向上搜索g转到man page的第一行。G转到man page的最后一行。q退出man 并返回到shell命令提示符2.1.5 man 数据库更新与关键字搜索# 使用root 用户更新 man 手册索引库[fangbingcentos7 ~18:31:31]$su-lroot Password: Last login: Thu Jul1613:54:21 CST2026on pts/1[rootcentos7 ~18:31:41]# mandb正在删除 /usr/share/man 里的旧数据库条目...# 按关键字搜索相关手册模糊查询[fangbingcentos7 ~18:33:36]$man-kpasswdchgpasswd(8)- update group passwordsinbatch mode chpasswd(8)- update passwordsinbatch mode fgetpwent_r(3)- getpasswdfileentry reentrantly getpwent_r(3)- getpasswdfileentry reentrantly gpasswd(1)- administer /etc/group and /etc/gshadow grub2-mkpasswd-pbkdf2(1)- Generate a PBKDF2 password hash. lpasswd(1)- Change group or user password lppasswd(1)- add, change, or delete digest passwords. pam_localuser(8)- requireusersto be listedin/etc/passwdpasswd(1)- update users authentication tokens sslpasswd (1ssl) - compute password hashes passwd (5) - password file passwd2des (3) - RFS password encryption pwhistory_helper (8) - Helper binary that transfers password hashes from passwd or s... saslpasswd2 (8) - set a users sasl password smbpasswd(5)- The Samba encrypted passwordfilevncpasswd(1)- change the VNC password# 按关键字搜索相关手册模糊查询同时过滤需要的数据[fangbingcentos7 ~18:34:25]$man-kext4|grepresizer resize2fs(8)- ext2/ext3/ext4filesystem resizer2.2 help 命令Shell 内置命令专属适用场景Shell 自带内置命令history、cd、exit 等man 无法精准查询必须使用 help。# 查询历史命令帮助[fangbingcentos7 ~18:39:28]$helphistoryhistory:history[-c][-d offset][n]orhistory-anrw[filename]orhistory-psarg[arg...]2.3 --help 通用帮助所有外部命令通用输出精简版参数说明查询速度最快。[fangbingcentos7 ~18:40:05]$ls--helpUsage:ls[OPTION]...[FILE]...注意history、cd内置 →只能 helpls、cat、find外部 →man / --helpvim、dhcp第三方 →需要 yum install2.4 /usr/share/doc 官方文档# 查看 dhcp 服务官方配置示例[fangbingcentos7 ~18:43:40]$cat/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example2.5 which / whereis 路径查询命令2.5.1 which查询命令别名、程序执行路径仅可执行程序。# 查看vi命令代表什么以及路径[fangbingcentos7 ~18:47:30]$whichvialiasvivim/usr/bin/vim2.5.2 whereis查询命令程序文件、手册文件、源码文件全路径。# whereis 查看关键字对应的程序位置帮助文档源码passw:[fangbingcentos7 ~18:51:44]$whereispasswdpasswd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz三、Vim 编辑器实操详解3.1 Vim 版本介绍vim-minimal极简版本仅保留 vi 基础功能无语法高亮vim-enhanced增强版支持语法高亮、拼写检查课堂主流使用vim-X11图形界面版 gvim带菜单栏可视化操作3.2 Vim 四大核心模式命令模式默认打开文件默认进入所有快捷键跳转、复制、删除操作均在此模式插入模式编辑模式按 i/I/a/A/o/O 进入可输入内容ESC 返回命令模式底行模式扩展命令命令模式按:进入用于保存、退出、批量修改、全局替换可视模式v字符选中、V行选中、Ctrlv矩形块选中用于批量复制删除3.3 命令模式核心快捷键3.3.1 光标跳转w/e/b向后单词开头/单词末尾/向前单词0/^快速跳转到行首$跳转到行尾gg文件第一行G文件最后一行(/)上一句/下一句{/}上一段/下一段3.3.2 进入插入模式i光标当前位置插入I行首插入a光标后追加A行尾追加o下方新建空行插入O上方新建空行插入3.3.3 复制粘贴yy复制整行y数字y复制指定行数y2y 复制2行p光标后粘贴P光标前粘贴3.3.4 删除操作x删除当前字符X删除前一个字符dw删除单个单词d数字w删除多个单词D/d$删除当前光标到行尾dG删除当前行到文件末尾3.3.5 撤销与重做u撤销上一步操作U撤销整行修改Ctrlr反向撤销重做3.3.6 替换修改s删除当前字符并进入编辑S清空整行进入编辑cw删除单词并编辑C删除到行尾并编辑r单次字符替换R持续替换模式ESC退出3.4 底行模式常用命令# 基础配置:set number# 显示行号:set showcmd# 右下角显示操作指令# 行操作:11,28d# 删除11-28行:%s/old/new/g# 全局替换所有匹配内容# 文件操作:w# 保存不退出:wq / ZZ# 保存并退出:q!# 强制退出放弃修改3.5 实战DHCP 配置文件定制# 1. 配置阿里YUM源[fangbingcentos7 ~18:54:35]$su-lroot Password: Last login: Thu Jul1618:31:41 CST2026on pts/1[rootcentos7 ~19:02:42]# curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo[rootcentos7 ~19:02:56]# curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 2. 安装DHCP服务[rootcentos7 ~19:03:05]# yum install -y dhcp# 3. 拷贝官方示例配置文件[rootcentos7 ~19:03:18]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf[rootcentos7 ~19:05:09]# lsdhcpd.conf 公共 模板 视频 图片 文档 下载 音乐 桌面# 4. Vim编辑配置文件[rootcentos7 ~19:05:12]# vim dhcpd.conf编辑操作流程:set number showcmd开启行号、指令提示gg跳转首行d46d删除前46行:11,28d删除指定区间行/You搜索关键词dG删除剩余内容:%s/10.5.5/10.1.8/g全局替换网段逐行修改参数网关、DNS、广播地址、租期ZZ保存退出3.6 Vim 个性化配置全局配置所有用户/etc/vimrc个人配置当前用户~/.vimrc# 编辑个人配置文件[fangbingcentos7 ~19:12:46]$vim~/.vimrc配置如下setnumber# 显示行号setshowcmd# 显示操作命令setaits2# 自动缩进Tab占2个空格setcursorline# 高亮当前行setcursorcolumn# 高亮当前列四、Linux 输入输出重定向4.1 三大标准流核心概念Linux 一切皆文件进程默认绑定3个标准文件描述符名称文件编号默认设备作用标准输入 stdin0键盘进程读取外部数据标准输出 stdout1终端屏幕进程输出正常结果标准错误 stderr2终端屏幕进程输出错误信息重定向作用改变默认输入输出位置将结果输出到文件、将文件内容作为程序输入。4.2 标准输出重定向4.2.1 覆盖输出 / 1# 正确结果写入文件错误依旧屏幕输出[fangbingcentos7 ~19:13:03]$find/etc-namepasswd1passwd.list find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied......后面省略[fangbingcentos7 ~19:13:25]$catpasswd.list /etc/pam.d/passwd /etc/passwd# 简写形式1可省略[fangbingcentos7 ~19:19:05]$find/etc-namepasswdpasswd.list find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied......后面省略[fangbingcentos7 ~19:19:22]$catpasswd.list /etc/pam.d/passwd /etc/passwd4.2.2 追加输出 / 1[fangbingcentos7 ~19:21:33]$find/etc-namepasswdpasswd.list find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied......后面省略[fangbingcentos7 ~19:23:20]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd4.2.3 错误重定向 2 / 2# 错误信息单独写入文件正确结果屏幕输出[fangbingcentos7 ~19:23:37]$find/etc-namepasswd2passwd.err /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:24:57]$catpasswd.err find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied......后面省略# 错误信息追加写入正确结果屏幕输出[fangbingcentos7 ~19:25:05]$find/etc-namepasswd2passwd.err /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:25:39]$catpasswd.err find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied......后面省略 find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied......后面省略4.2.4 混合重定向 / # 正确错误信息统一覆盖写入[fangbingcentos7 ~19:25:43]$find/etc-namepasswdpasswd.all[fangbingcentos7 ~19:29:21]$catpasswd.all find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied /etc/pam.d/passwd......后面省略# 正确错误信息统一追加写入[fangbingcentos7 ~19:29:28]$find/etc-namepasswdpasswd.all[fangbingcentos7 ~19:30:30]$catpasswd.all find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied /etc/pam.d/passwd......后面省略 find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied /etc/pam.d/passwd......后面省略4.2.5 快速清空/创建文件# 快速清空文件[fangbingcentos7 ~19:32:28]$passwd.all[fangbingcentos7 ~19:32:39]$catpasswd.all[fangbingcentos7 ~19:32:45]$# 空追加文件不存在则创建存在则无操作[fangbingcentos7 ~19:32:45]$passwd.all[fangbingcentos7 ~19:33:41]$catpasswd.all[fangbingcentos7 ~19:33:44]$4.3 管道符作用将前一个命令的标准输出作为后一个命令的标准输入实现命令串联。补充 |同时传递标准输出标准错误。# 示例1搜索ext4扩容命令man-kext4|grepresizer[fangbingcentos7 ~19:37:14]$man-kext4|grepresizer resize2fs(8)- ext2/ext3/ext4filesystem resizer# 示例2提取网卡IP[fangbingcentos7 ~19:41:38]$ipaddr|grepens33$|awk{print $2}|awk-F/{print $1}10.1.8.10# 示例3匹配错误输出[fangbingcentos7 ~19:37:40]$ls-lfile-{1..6}|grepfile-6 ls: cannot access file-6: No suchfileor directory4.4 tee 命令屏幕输出文件保存核心作用一份输出双向复用既打印到终端又保存到文件。# 覆盖写入文件[fangbingcentos7 ~19:42:07]$find/etc-namepasswd2/dev/null|teepasswd.list /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:43:17]$catpasswd.list /etc/pam.d/passwd /etc/passwd# 追加写入文件-a 参数[fangbingcentos7 ~19:43:31]$find/etc-namepasswd2/dev/null|tee-apasswd.list /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:44:08]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd# 多级管道继续处理[fangbingcentos7 ~19:44:12]$man-kpasswd|teepasswd.man|greppasswdchgpasswd(8)- update group passwordsinbatch mode chpasswd(8)- update passwordsinbatch mode fgetpwent_r(3)- getpasswdfileentry reentrantly getpwent_r(3)- getpasswdfileentry reentrantly......(后面省略)4.5 标准输入重定向4.5.1 基础输入重定向 # 将文件内容作为cat的输入[fangbingcentos7 ~19:47:01]$cat/etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain64.5.2 多行输入重定向 EOF快速批量写入多行内容到文件是Shell脚本高频用法。# 多行内容写入文件[fangbingcentos7 ~19:48:36]$cattest.txtEOFhello wordhello pythenhello linuxEOF[fangbingcentos7 ~19:49:32]$cattest.txt hello word hello pythen hello linux4.5.3 Here String 短字符输入 # 直接传递单行字符串作为输入[fangbingcentos7 ~19:50:24]$cathello wordhello word五、核心思考题总结输出重定向改变程序默认输出位置区分覆盖/追加、正确/错误/混合输出可实现日志分离、文件清空、信息持久化管道符命令流水线串联多个处理命令无需中间文件高效过滤处理数据tee命令解决「想看输出又想保存日志」的场景兼顾终端预览和文件存储输入重定向将文件/字符串作为程序输入替代手动键盘输入实现自动化脚本执行

相关新闻