一 文件重定向(linux中认为一切皆为文件)
文件描述符
标准输入 从键盘获取数据 0
标准输出 在屏幕上显示正确数据 1
标准错误 在屏幕上显示错误的数据 2
1 使用>进行文件重定向
history > a 把history的内容放在a文件中 命令 (文件描述符)> 文件
注意:>会先把右侧的文件清空在写入新的内容
2 >> 不清空,追加写入
ls >> a 命令 2> a 将错误的输出导入文件 a中,正确不会导入
3 一个特殊的文件:/dev/null
所有写入该文件的内容都会被清空
ls > /dev/null 2 > &1 将1和2的输出都导入/dev/null中
&1前面的&不能丢,否则就认为1是一个文件。
二 文件编辑
1 图形界面的编辑器:gedit
2 终端文件编辑:vi ------>vim(vi加强版)
命令行模式:ZZ(保存退出)
底行模式: x:保存退出
q:退出
w:保存不退出
wq:保存退出
q!:不保存退出
命令行模式:1 跳转
G:跳到最后一行
gg:跳到第一行
nG:跳到第n行
n+方向键 :移动n个单位
数字0:跳到当前行的起始位置
$:跳到当前行的末尾
w:往后跳一个单词
nw:往后跳n个单词
2 删除
dd:删除当前行
ndd:删除n行
dw:删除某个单词
D:删除当前行光标后面的内容
d0:删除当前行光标前面的内容
x:删除单个字符
3 恢复
u:恢复上一次操作
ctrl+r:撤销上一次操作
4 复制粘贴
yy :复制
nyy:复制n行
yw:复制一个单词
y$:复制同一行光标后的内容
y0:复制当前行光标前面的内容
p:粘贴
np:粘贴几次
5 其他
替换字符+r:替换单个字符
R:从光标位置开始下次输入
大括号对应:%
自动格式化程序:gg=G
底行模式
1 查找:/要查找的内容(从上往下找)
? 要查找的内容(从下往上找)
2 替换
s/old/new 用new替换old(只替换当前行的第一个old)
s/old/new/g 用new替换当前行的所有old
m,ns/sold/new/g 用new替换m和n之间的所有old
%s/old/new/g 全文替换
%s/old/new/g/c 替换时会有提示
3 分屏
sp 垂直分屏 ctrl+ww 切换分屏(命令行模式)
vsp 文件名 (水平分屏)
4 其他
! 命令 执行外部命令
set nu 显示行号
set no nu 不显示行号
syntax on 语法高亮
syntax off 取消语法高亮
5 vim配置
vim配置文件在目录:vim /etc/vim/vimrc