系统输入输出管理及vim命令
#######系统中的输入及输出管理######
输出的控制
正确输出的编号为1,错误输出编号为2
管理输出
输出重定向 输出追加
会覆盖原文件内容 不会覆盖原文件
> 重定向正确输出 >>追加向正确输出,添在尾部
2> 重定向错误输出 2>>追加错误输出
&> 重定向所有输出 &>>追加所有输出
data > /dev/pts/0 ##清除数据
字符设备 /dev/pts/0 ##显示字符的设备
find /etc/ -name passwd 1> westos ##1可加可不加
find /etc/ -name passwd 2> westos.err
find /etc/ -name passwd &> westos.all
find /etc/ -name passwd 1>> westos
find /etc/ -name passwd 2>> westos.err
find /etc/ -name passwd &>> westos.all
符号|
表示含义:管道符,将前一条命令的正确输出作为管道符命令的标准输入
stderr(标准错误)的输出不能通过管道
2>&1可以把stderr转化成stdout(标准输出)
ls /bin/ | wc -l ##输出bin目录下的文件数
find /etc/ -name passwd 1> westos 2>/dev/null | wc -l ##将2错误清零
find /etc/ -name passwd 1> westos 2>/dev/null | wc -l | wc -l
tee
复制输出到在指定位置
data | tee file | wc -l
输入重定向
输入重定向 格式化输入内容到文件(多行录入)
tr 'a-z' 'A-Z' <file cat > westos <<EOF
HELLO
WORLD
EOF
#####vim使用####
命令模式下配置vim的工作方式
:set nu ##加行号
:set nonu ##去除行号
:set mouse=a ##添加鼠标选择
:set cursorline ##添加所在行标识
以上操作只在当前打开的vim中生效
如果设定永久生效编辑文件
vim /etc/vimrc ##修改配置文件
vim使用快捷键
yl ##复制一个单词
y2l ##复制两个单词
yw ##复制一个字
y2w ##复制两个字
yy ##复制一行
y5y ##复制五行
u ##撤销
ctrl + r ##恢复撤销
p ##粘贴
dl cl ##删除一个单词 剪切一个单词
d2l c2l ##删除两个单词 剪切两个单词
dw cw ##删除一个字 剪切一个字
d2w c2w ##删除两个字 剪切两个字
dd cc ##删除一行 剪切一行
d5d c5c ##删除五行 剪切五行
注意:在执行剪切操作时,会自动进入插入模式,在执行粘贴时许按“Esc”
vim命令模式下关键字搜索
全部替换
%s/westos/root/g ##不加/g只替换单行第一个搜索到的
部分替换
1,%s/with/and/g 将文档中的with改为and
/关键字
n向下匹配
N向上匹配 ##退出时/加一段乱码即可
cp /etc/passwd . ##复制/etc/passwd到当前目录
cat -b passwd > file ##将passwd内容放入file
vim可视化
ctrl+v 选中要加入字符所在列
按“I”进入插入模式,写入要加入的字符
按esc
把光标移动到指定位置按crtl + v后执行删除,复制,剪切,粘贴操作,可用光标框选范围
:%s/nologin/westos/g ##不加/g只替换单行第一个词
:2,5s/nologin/westos/g ##替换2,3,4,5行的
##只能连续替换,不可2,5,7..
vim分屏
ctrl+w s 上下分屏
ctrl+w v 左右分屏
ctrl+w c 关闭光标所在屏幕
ctrl+w 上下左右 光标移动到指定屏幕
:sp file123 同时编辑当前文件和file123
vim光标移动
在命令模式下 在插入模式下
:数字 移动到指定的行 i 光标所在位置插入
G 文件最后一行 I 光标所在行行首
gg 文件第一行 a 光标所在字符的下一个位置
A 光标所在行行尾
o 光标所在行下一行
O 光标所在行上一行
s 删除光标所在字符插入
S 删除光标所在行插入
vim的退出模式
:q 当用vim打开文件但没有对字符作出任何操作时可直接退出
:q! 当用vim打开文件并对字符作操作,放弃所有操作推出
:wq 保存退出
:wq! 强行保存退出,对超级用户及文件所有人生效