文章目录
- Linux命令
-
- man手册
- man手册页面交互操作指令
- man命令
- which命令
- vim 编辑器
-
- vim模式
- 命令行快捷键
- vim 配置
- Linux输入输出重定向
-
-
- 标准输出重定向到文件
- 标准输出重定向到程序
- tee 命令
-
Linux命令
man手册
| 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 -k passwd

which命令
# 查看vi命令代表什么
[ljw@centos7 ~ 15:47:55]$ which vi
alias vi='vim'
/usr/bin/vim
vim 编辑器
# 安装vim 工具
[root@centos7 ~15:44:30]# yum install vim
vim模式
- 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 ~/.vimrc
set number # 显示行号
set showcmd # 显示操作命令
set ai ts=2 # ai,自动缩进
set cursorcolumn # 列高亮对齐显示
set cursorline # 行高亮对齐显示
Linux输入输出重定向
标准输出重定向到文件
#查看/etc目录下 文件名是passwd的文件
[ljw@centos7 ~ 18:17:49]$ find /etc -name passwd

#将找到的文件覆写到passwd.list文件中
[ljw@centos7 ~ 18:23:28]$ find /etc -name passwd > passwd.list
[ljw@centos7 ~ 18:25:14]$ cat passwd.list
/etc/pam.d/passwd
/etc/passwd
>passwd.list 也可写1>passwd.list 1和>要连着
#将找到的文件追加到passwd.list文件中
[ljw@centos7 ~ 18:27:00]$ find /etc -name passwd >> passwd.list
[ljw@centos7 ~ 18:28:55]$ cat passwd.list
/etc/pam.d/passwd
/etc/passwd
/etc/pam.d/passwd
/etc/passwd
# 将不是需要找的文件写到passwd.err文件中
[ljw@centos7 ~ 18:31:57]$ find /etc -name passwd 2> passwd.err
# 追加
[ljw@centos7 ~ 18:32:26]$ find /etc -name passwd 2>> passwd.err
# 创建空文件,也可以用于清空文件内容
[ljw@centos7 ~ 18:33:01]$ > passwd.err
[ljw@centos7 ~ 18:35:02]$ cat passwd.err
[ljw@centos7 ~ 18:35:08]$
# 将找到的文件和错误的文件 写到同一个文件中
[ljw@centos7 ~ 18:35:11]$ find /etc -name passwd &> passwd.all
# 追加
[ljw@centos7 ~ 18:36:46]$ find /etc -name passwd &>> passwd.all
标准输出重定向到程序
管道符 | :将上一个命令的输出,输入给下一个命令
**|&**标准错误和标准输出同时传递给下一个命令,作为下一个命令的标准输入。
# 使用man命令搜索ext4相关手册,并保存到ext4.man文件中
[ljw@centos7 ~ 18:37:10]$ man -k ext4 > ext4.man
[ljw@centos7 ~ 18:40:34]$ cat ext4.man
# 过滤文件中含有ewsize的
[ljw@centos7 ~ 18:40:52]$ grep resize ext4.man
resize2fs (8) – ext2/ext3/ext4 file system resizer
# 用管道符将两个命令合起来
[ljw@centos7 ~ 18:41:51]$ cat ext4.man | grep resize
resize2fs (8) – ext2/ext3/ext4 file system resizer
注意:管道符后命令必须能够接收标准输入,例如ls不接收管道传递来的标准输入
tee 命令
作用:接收管道传递来的标准输入,并继续作为标准输出输出
# tee命令将接收到的信息打印到屏幕并覆盖保存到passwd.list文件中
[ljw@centos7 ~ 18:51:53]$ find /etc -name passwd 2>/dev/null | tee passwd.list # find /etc -name passwd 2>/dev/null 是将错误的信息扔掉
/etc/pam.d/passwd
/etc/passwd
#tee命令追加
[ljw@centos7 ~ 18:56:08]$ find /etc -name passwd 2>/dev/null | tee -a passwd.list
/etc/pam.d/passwd
/etc/passwd
[ljw@centos7 ~ 18:56:14]$ cat passwd.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 -k passwd | tee passwd.man | grep passwd
标准输入重定向给程序
# 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]$ cat test.txt
127.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]$ cat test.txt
132
dsa
asd
补充
cat > test.txt << EOF # 覆盖写入
cat >> test.txt << EOF # 追加写入(不覆盖)




