Linux 基础操作(三)————vim进阶使用、输出及管理输出、管道、建立用户或用户组

上一节总结Linux系统结构、文件管理以及简单的正则表达式

这一节总结 vim 的使用进阶、输出及管理输出及建立/删除用户、建立/删除用户组

一、Vim 的使用进阶

1、Vim 异常退出
当我们强行关闭正在进行Vim 编写的shell时,就会产生vim的异常退出
这里写图片描述
它会显示以 O 、E 、R 、D 、 Q 、A为快捷键的显示
按 “o” open #直接打开文件
按 “e” edit #从上一次保存的位置开始编辑
按 “r” recover #从异常退出前的位置开始编辑
按 “d” delete .swap file #删除 .swap 文件,下次vim 此文件不再提示错误
按 “q” quits #退出

2、自定义vim的工作方式
在命令模式下输入
:set nu ##行号添加
:set nonu ##取消行号
:set mouse=a ##添加鼠标选择
:set cursorline ##行线显示
更多配置可百度,不过在vim里使用这些配置的话,重启vim会消失

可以在 /etc/vimrc 中最后加上配置参数即可
这里写图片描述

3、vim命令模式下关键字搜索
/ + 关键字
n 向下匹配
N 向上匹配

4、vim命令模式下字符的管理(复制、删除、剪切)
这里写图片描述
‘ l ‘ 是字母
‘ w ‘是单词
重复命令快捷键是‘行‘
当我们剪切后会自动进入插入模式!

5、vim的可视化模式—可视化模式下我们可以批量添加字符
将光标移动到需要加入的字符上,然后 ‘ ctrl+v ‘ 进入可视化模式(左下角会显示 VISUVL BLOCK)选中要加入字符所在列
这里写图片描述
这里我选中了第一列,我将要在第一列前加入‘123‘

按“I”进入插入模式,写入要加字符
这里写图片描述

之后按esc, ‘ 123 ‘就会被添加到第一列之前
这里写图片描述

6、批量修改字符
在命令模式下执行命令:
:%s/原有字符/替换后字符 ##只替换每一行中出现的第一个原有字符
这里写图片描述
这里我如果执行了就会把所有的‘123‘替换成‘空‘

:%s/原有字符/替换后字符/g ##替换所有
:1,5s/原有字符/替换后字符/g ##替换1-5行

7、vim的分屏功能ctrl+w ###上下分屏
ctrl+w v ###左右分屏
ctrl+w c ###关闭光标所在屏幕
ctrl+w 上下左右 ###光标移动到指定屏幕
ctrl+w 按完之后要在1S 左右按下一个快捷键
这里写图片描述
开启的屏幕会同时同步进行编辑,开了几个屏幕就得保存几个文件

命令模式下输入‘ :sp file2 ‘ ##同时编辑当前文件和file2
这里写图片描述
这时开启的屏幕不会同时同步进行编辑,退出和普通退出VIm的方法一样

在shell界面 执行’ vimdiff +文件+文件 ’ 命令 ##对比两个文件的不同,并高亮显示
这里写图片描述
移动光标要用 ctrl+w 左右 ,退出和普通退出VIm的方法一样

8、vim光标移动、退出及vim使用手册
这里写图片描述

二、输出及管理输出

这是一个非常非常让人头疼的知识点

1、输出是什么
输出就是经过处理后显示在你的字符设备(shell)上的信息,字符设备所在的目录是 /dev/pts
Linux中输出分为两种,一种是正确输出(编号 1),一种是错误输出(编号2)

在系统中用普通用户执行 find /etc -name passwd
因为student用户权限问题会有以下输出
find: ‘/etc/pki/CA/private’: Permission denied ##没有进入权力,报错
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/passwd ##正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/grub.d’: Permission denied
/etc/pam.d/passwd ##正确输出
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/named’: Permission denied

所以报错输出它的编号就是2,正确的就是1

2、输出重定向
当我们分清楚什么是输出后,我们就可以对输出进行管理,我们可以在屏幕中之显示正确的输出,而不显示错误的输出

下面看一条命令
这里写图片描述
这条命令的意思是是:查找 /etc/ 中 名字叫做 passwd 的文件,并将错误信息(编号 2)的输出重定向到 /dev/null 目录
/dev/null 可以看作是Linux的垃圾桶
所以它将错误的输出丢进垃圾桶,将正确的输出,输出到字符设备

‘ > ‘ 号是重定向符号,它具有覆盖的功能,所以可以使用 ‘ > +文件‘ 来清空文件
find /etc -name passwd > file ##重定向正确输出到file
find /etc -name passwd 2> file ##重定向错误输出到file
find /etc -name passwd &> file ##重定向所有输出到file

‘ >> ‘号是追加符号,它具有追加功能(在文件最后写入新的内容)
find /etc -name passwd >> file ##追加正确输出
find /etc -name passwd 2>> file ##追加错误输出
find /etc -name passwd &>> file ##追加所有输出

=================================================================
‘ << ‘号是输入符号,它具有输入功能
这个还得再研究研究

=================================================================

3、管道
‘ | ‘ 管道,管道的作用是将前一条命令的输出变成管道后命令的输入
ls /bin | wc -l ##统计ls /bin 命令输出的行数
系统中错误的输出是无法通过管道的
用 ‘ 2>&1 ‘可以把错误的输出编号由2变成1

现在做一个很头疼的实验:
统计通过查找 /etc 中名叫 passwd文件的错误信息个数,并显示再字符设备上

思路:首先查找 /etc 中名叫 passwd文件,那肯定是 ‘ find /etc -name passwd ‘这个命令没有错,因为管道不允许错误的信息通过,所以肯定需要用 ‘ 2>&1 ‘ 将输出编号由2变1,统计个数是‘ wc -l ‘参数,所以最后命令就可以为
“ find /etc -name passwd 2>&1 > /dev/null | wc -l ”
这里写图片描述

tee 命令 : 复制输出到指定位置
XXX |tee file |wc -l ###tee命令复制date命令的输出到file中,并统计输出行数
这里写图片描述
这里我们将需要统计的输出复制了一份到abc中,并执行wc命令

三、建立/删除用户、建立/删除用户组

用户相关知识:
这里写图片描述
/etc/skel/.* 中有用户默认家目录中的文件

2、添加用户
这里写图片描述
添加一个test 用户,添加用户是如果不做配置会默认创建用户、组、家目录

这里写图片描述
附加组就是将用户添加到其他组,拥有其他组的权限;
删除用户时要加上 -r 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值