文章目录
- Linux命令
- man手册
- man手册页面交互操作指令
- man命令
- which命令
- vim 编辑器
- vim模式
- 命令行快捷键
- vim 配置
- Linux输入输出重定向
- 标准输出重定向到文件
- 标准输出重定向到程序
- tee 命令
Linux命令
man手册
| SECTION | 内容类型 |
|---|---|
| 1 | **用户命令(**可执行命令和shell程序) |
| 2 | 系统调用(从用户空间调用的内核例程) |
| 3 | 库函数(由程序库提供) |
| 4 | 特殊文件(如设备文件) |
| 5 | 文件格式(用于许多配置文件和结构) |
| 6 | 游戏(过去的有趣程序章节) |
| 7 | 惯例、标准和其他(协议、文件系统) |
| 8 | 系统管理和特权命令(维护任务) |
| 9 | Linux内核API(内核调用) |
man手册页面交互操作指令
| 命令 | 结果 |
|---|---|
| PageDown或者空格键 | 向前(向下)滚动一个屏幕 |
| PageUp | 向后(向上)滚动一个屏幕 |
| 向下箭头 | 向前(向下)滚动一行 |
| 向上箭头 | 向后(向上)滚动一行 |
| d | 向前(向下)滚动半个屏幕 |
| u | 向后(向上)滚动半个屏幕 |
| /string | 在man page中向前(向下)搜索string |
| n | 在man page中重复之前的向前(向下)搜索 |
| N | 在man page中重复之前的向后(向上)搜索 |
| g | 转到man page的第一行。 |
| G | 转到man page的最后一行。 |
| q | 退出man ,并返回到shell命令提示符 |
man命令
# 使用 -k 选项搜索关键字[ljw@centos7 ~17:00:24]$man-kpasswdwhich命令
# 查看vi命令代表什么[ljw@centos7 ~15:47:55]$whichvialiasvi='vim'/usr/bin/vimvim 编辑器
# 安装vim 工具[root@centos7 ~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(整行选中)或者ctrl+v(按矩形选中),进入该模式。在该模式下,用于选中文件,随后可以复制或删除选中的内容。
命令行快捷键
- 定位文件内容:
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,撤销整行修改。
- Ctrl+r,反向撤销,与u相反。
修改,相当于删除后插入:
- s,删除当前字符,并进入编辑模式。
- S,删除当前行,并进入编辑模式。
- c,代表替换动作,例如cw,删除1个word,并进入编辑模式。以此类推 c5w。
- C,从当前删除到最后,并进入编辑模式。
替换:
- r,替换单个字符后回退到命令行模式。
- R,替换模式,一直替换直到按
Ese返回命令行模式。
:w(保存); :q(退出); :q!(不保存退出); [:wq]/ZZ(保存退出)
vim 配置
- 全局:/etc/vimrc 给所有用户设置一些默认值
- 用户:~/.vimrc 特定用户的个性化设置
[laoma@centos7 ~]$vim~/.vimrcsetnumber# 显示行号setshowcmd# 显示操作命令setaits=2# ai,自动缩进setcursorcolumn# 列高亮对齐显示setcursorline# 行高亮对齐显示Linux输入输出重定向
标准输出重定向到文件
#查看/etc目录下 文件名是passwd的文件[ljw@centos7 ~18:17:49]$find/etc-namepasswd#将找到的文件覆写到passwd.list文件中[ljw@centos7 ~18:23:28]$find/etc-namepasswd>passwd.list[ljw@centos7 ~18:25:14]$catpasswd.list /etc/pam.d/passwd /etc/passwd>passwd.list 也可写1>passwd.list1和>要连着#将找到的文件追加到passwd.list文件中[ljw@centos7 ~18:27:00]$find/etc-namepasswd>>passwd.list[ljw@centos7 ~18:28:55]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd# 将不是需要找的文件写到passwd.err文件中[ljw@centos7 ~18:31:57]$find/etc-namepasswd2>passwd.err# 追加[ljw@centos7 ~18:32:26]$find/etc-namepasswd2>>passwd.err# 创建空文件,也可以用于清空文件内容[ljw@centos7 ~18:33:01]$>passwd.err[ljw@centos7 ~18:35:02]$catpasswd.err[ljw@centos7 ~18:35:08]$# 将找到的文件和错误的文件 写到同一个文件中[ljw@centos7 ~18:35:11]$find/etc-namepasswd&>passwd.all# 追加[ljw@centos7 ~18:36:46]$find/etc-namepasswd&>>passwd.all标准输出重定向到程序
管道符 | :将上一个命令的输出,输入给下一个命令
| 只传递标准输出 stdout,不传递标准错误 stderr。并且支持多段管道
**|&**标准错误和标准输出同时传递给下一个命令,作为下一个命令的标准输入。
# 使用man命令搜索ext4相关手册,并保存到ext4.man文件中[ljw@centos7 ~18:37:10]$man-kext4>ext4.man[ljw@centos7 ~18:40:34]$catext4.man# 过滤文件中含有ewsize的[ljw@centos7 ~18:40:52]$grepresize ext4.man resize2fs(8)- ext2/ext3/ext4filesystem resizer# 用管道符将两个命令合起来[ljw@centos7 ~18:41:51]$catext4.man|grepresize resize2fs(8)- ext2/ext3/ext4filesystem resizer注意:管道符后命令必须能够接收标准输入,例如ls不接收管道传递来的标准输入
tee 命令
作用:接收管道传递来的标准输入,并继续作为标准输出输出
# tee命令将接收到的信息打印到屏幕并覆盖保存到passwd.list文件中[ljw@centos7 ~18:51:53]$find/etc-namepasswd2>/dev/null|teepasswd.list# find /etc -name passwd 2>/dev/null 是将错误的信息扔掉/etc/pam.d/passwd /etc/passwd#tee命令追加[ljw@centos7 ~18:56:08]$find/etc-namepasswd2>/dev/null|tee-apasswd.list /etc/pam.d/passwd /etc/passwd[ljw@centos7 ~18:56:14]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd# 用man命令找到所有passwd相关的手册,通过tee命令将含有passwd的打印出来并存到passwd.man文件中[ljw@centos7 ~18:56:30]$man-kpasswd|teepasswd.man|greppasswd标准输入重定向给程序
# cat 直接接收文件参数读取内容[ljw@centos7 ~18:59:11]$cat/etc/hosts#输入重定向把文件给cat读取[ljw@centos7 ~18:02:01]$cat</etc/hosts#输出重定向,将内容保存到test.txt中[ljw@centos7 ~19:02:35]$cat</etc/hosts>test.txt[ljw@centos7 ~19:07:03]$cattest.txt127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6判断命令是否接收标准输入:最简单的方式就是将文件内容作为标准输入重定向给程序。
# 用cat重定向将多行内容写入文件# 给定一个起始值EOF直到单独一行EOF结束输入[ljw@centos7 ~19:12:28]$cat>test.txt<<EOF>132>dsa>asd>EOF[ljw@centos7 ~19:12:58]$cattest.txt132dsa asd补充
cat > test.txt << EOF # 覆盖写入 cat >> test.txt << EOF # 追加写入(不覆盖)