Linux命令(3) | 小白零基础快速上手

发布时间:2026/7/18 3:37:50
Linux命令(3) | 小白零基础快速上手 文章目录Linux命令man手册man手册页面交互操作指令man命令which命令vim 编辑器vim模式命令行快捷键vim 配置Linux输入输出重定向标准输出重定向到文件标准输出重定向到程序tee 命令Linux命令man手册SECTION内容类型1**用户命令**可执行命令和shell程序2系统调用从用户空间调用的内核例程3库函数由程序库提供4特殊文件如设备文件5文件格式用于许多配置文件和结构6游戏过去的有趣程序章节7惯例、标准和其他协议、文件系统8系统管理和特权命令维护任务9Linux内核API(内核调用)man手册页面交互操作指令命令结果PageDown或者空格键向前向下滚动一个屏幕PageUp向后向上滚动一个屏幕向下箭头向前向下滚动一行向上箭头向后向上滚动一行d向前向下滚动半个屏幕u向后向上滚动半个屏幕/string在man page中向前向下搜索stringn在man page中重复之前的向前向下搜索N在man page中重复之前的向后向上搜索g转到man page的第一行。G转到man page的最后一行。q退出man 并返回到shell命令提示符man命令# 使用 -k 选项搜索关键字[ljwcentos7 ~17:00:24]$man-kpasswdwhich命令# 查看vi命令代表什么[ljwcentos7 ~15:47:55]$whichvialiasvivim/usr/bin/vimvim 编辑器# 安装vim 工具[rootcentos7 ~15:44:30]# yum install vimvim模式command 模式该模式下键盘中的字母有特殊含义。例如G跳转到最后一行gg跳转到第一行。edit 模式在command模式下按i进入该模式。在该模式可以输入内容。在该模式下按Esc返回command模式。extended command 模式在command模式下按:进入该模式。在该模式下可以保存文件(:w)退出编辑:q强制退出编辑:q!报错并退出:wq。visual edit 模式在command模式下按 v单个字符选中、V整行选中或者ctrlv按矩形选中进入该模式。在该模式下用于选中文件随后可以复制或删除选中的内容。命令行快捷键定位文件内容w向后1个word(光标在单词开头)e向后1个word(光标在单词末尾)b向前1个word^或0行首$行尾(上一个句子头部)下一个句子尾部。{上一个自然段}下一个自然段。gg第一行G最后一行。less 使用g第一行G最后一行。进入插入模式i 当前位置插入。(insert)I行首插入。a当前位置追加。(append)A行末追加。o向下新开一个空白行。O向上新开一个空白行。复制yy复制1行相当于y1y。以此类推 y2y y2w y2b。粘贴p 当前位置后粘贴P 当前位置前粘贴删除x删除当前单个字符。5x删除当前字符和后续4个字符。X删除前一单个字符。dw删除1个word以此类推 d5w d3b d2d d$。D从当前删除到最后相当于d$。回退u撤销上一个操作。U撤销整行修改。Ctrlr反向撤销与u相反。修改相当于删除后插入s删除当前字符并进入编辑模式。S删除当前行并进入编辑模式。c代表替换动作例如cw删除1个word并进入编辑模式。以此类推 c5w。C从当前删除到最后并进入编辑模式。替换r替换单个字符后回退到命令行模式。R替换模式一直替换直到按Ese返回命令行模式。:w(保存); :q(退出); :q!(不保存退出); [:wq]/ZZ(保存退出)vim 配置全局/etc/vimrc 给所有用户设置一些默认值用户~/.vimrc 特定用户的个性化设置[laomacentos7 ~]$vim~/.vimrcsetnumber# 显示行号setshowcmd# 显示操作命令setaits2# ai自动缩进setcursorcolumn# 列高亮对齐显示setcursorline# 行高亮对齐显示Linux输入输出重定向标准输出重定向到文件#查看/etc目录下 文件名是passwd的文件[ljwcentos7 ~18:17:49]$find/etc-namepasswd#将找到的文件覆写到passwd.list文件中[ljwcentos7 ~18:23:28]$find/etc-namepasswdpasswd.list[ljwcentos7 ~18:25:14]$catpasswd.list /etc/pam.d/passwd /etc/passwdpasswd.list 也可写1passwd.list1和要连着#将找到的文件追加到passwd.list文件中[ljwcentos7 ~18:27:00]$find/etc-namepasswdpasswd.list[ljwcentos7 ~18:28:55]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd# 将不是需要找的文件写到passwd.err文件中[ljwcentos7 ~18:31:57]$find/etc-namepasswd2passwd.err# 追加[ljwcentos7 ~18:32:26]$find/etc-namepasswd2passwd.err# 创建空文件也可以用于清空文件内容[ljwcentos7 ~18:33:01]$passwd.err[ljwcentos7 ~18:35:02]$catpasswd.err[ljwcentos7 ~18:35:08]$# 将找到的文件和错误的文件 写到同一个文件中[ljwcentos7 ~18:35:11]$find/etc-namepasswdpasswd.all# 追加[ljwcentos7 ~18:36:46]$find/etc-namepasswdpasswd.all标准输出重定向到程序管道符 | 将上一个命令的输出输入给下一个命令| 只传递标准输出 stdout不传递标准错误 stderr。并且支持多段管道**|**标准错误和标准输出同时传递给下一个命令作为下一个命令的标准输入。# 使用man命令搜索ext4相关手册并保存到ext4.man文件中[ljwcentos7 ~18:37:10]$man-kext4ext4.man[ljwcentos7 ~18:40:34]$catext4.man# 过滤文件中含有ewsize的[ljwcentos7 ~18:40:52]$grepresize ext4.man resize2fs(8)- ext2/ext3/ext4filesystem resizer# 用管道符将两个命令合起来[ljwcentos7 ~18:41:51]$catext4.man|grepresize resize2fs(8)- ext2/ext3/ext4filesystem resizer注意管道符后命令必须能够接收标准输入例如ls不接收管道传递来的标准输入tee 命令作用接收管道传递来的标准输入并继续作为标准输出输出# tee命令将接收到的信息打印到屏幕并覆盖保存到passwd.list文件中[ljwcentos7 ~18:51:53]$find/etc-namepasswd2/dev/null|teepasswd.list# find /etc -name passwd 2/dev/null 是将错误的信息扔掉/etc/pam.d/passwd /etc/passwd#tee命令追加[ljwcentos7 ~18:56:08]$find/etc-namepasswd2/dev/null|tee-apasswd.list /etc/pam.d/passwd /etc/passwd[ljwcentos7 ~18:56:14]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd# 用man命令找到所有passwd相关的手册通过tee命令将含有passwd的打印出来并存到passwd.man文件中[ljwcentos7 ~18:56:30]$man-kpasswd|teepasswd.man|greppasswd标准输入重定向给程序# cat 直接接收文件参数读取内容[ljwcentos7 ~18:59:11]$cat/etc/hosts#输入重定向把文件给cat读取[ljwcentos7 ~18:02:01]$cat/etc/hosts#输出重定向将内容保存到test.txt中[ljwcentos7 ~19:02:35]$cat/etc/hoststest.txt[ljwcentos7 ~19:07:03]$cattest.txt127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6判断命令是否接收标准输入最简单的方式就是将文件内容作为标准输入重定向给程序。# 用cat重定向将多行内容写入文件# 给定一个起始值EOF直到单独一行EOF结束输入[ljwcentos7 ~19:12:28]$cattest.txtEOF132dsaasdEOF[ljwcentos7 ~19:12:58]$cattest.txt132dsa asd补充cat test.txt EOF # 覆盖写入 cat test.txt EOF # 追加写入(不覆盖)