1.管理输入输出
简介:在Linux系统中,文件、命令等一系列的输入输出在容量特别,我们需要将这些输入输出做一些管理,简单的来说就是根据企业里需要的或者客户的要求,以及运维行业的工作人员自身需要的一些信息,从众多的信息中提出出来,通俗地说就是顾虑我们需要的一些有的信息。特别是正确和错误的信息是我们在工作中排错过程中最需要的。
下面将介绍linux中的输入输出,以及用vim模式去查看文件,并对文件编辑,以及一些快捷方式。
1)
在linux系统中,正确输出的编号为1,错误输出编号为。这些信息都会被存储在相应的文件里面。
在系统中用普通用户执行
“student”
find /etc -name passwd
因为student用户权限问题(student是普通用户没有相应的权限,只有超级用户root有这些权限,在root执行相应的命令时,错误输出会被自动过滤,不会被显示出来)会有以下输出
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
find /etc -name passwd > file ##重定向正确输出
==上面的命令是将/etc -name passwd里的正确信息定向到file文件里面,存储起来,所以shell里显示的是错误的信息 。
find /etc -name passwd 2> file ##重定向错误输出
==上面的命令是将/etc -name passwd里的错误信息定向到file文件里面,存储起来,所以shell里显示的是正确的信息 。
find /etc -name passwd &> file ##重定向所有输出
注:上图是定向错误和定向正确的输出,&>file是同时进行上述的两个命令。
注意: >, 2> ,&> 都会覆盖源文件内容
file ##清空file
find /etc -name passwd >> file ##追加正确输出
find /etc -name passwd 2>> file ##追加错误输出
find /etc -name passwd &>> file ##追加所有输出
注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后
| 管道,管道的作用是将前一条命令的输出变成管道后命令的输入
ls /bin | wc -l ##统计ls /bin 命令输出的行数
系统中错误的输出是无法通过管道的。
用 2>&1 可以把错误的输出编号由2变成1
tee 复制输出到指定位置
date |tee file |wc -l ###tee命令复制date命令的输出到file中,并统计输出行数
2.vim
1)vim 命令模式
在vim的命令模式下可以配置vim的工作方式
:set nu ##行号添加(前面的行号包括空行,显示行号方便我们查找和修改)
:set nonu ##取消行号(根据要求也可以将行号给取消)
:set mouse=a ##添加鼠标选择(一般在vim的ctrl+v的可视化模式,是由上下左右键控制鼠标的,有时不方便操作,此命令可以帮助我们更好地操作)
:set cursorline ##行线显示(如图,光标所在行的命令下会显示一条直线,如果是这条完整命令不止一行,直线显示的是整个命令)
以上设定都是临时的,
永久设定方式
vim /etc/vimrc ###此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才需要
例如
set nu
set mouse=a
set cursorline
注意:命令面前的##
代表该命令注释掉,不起作用,后面不需要加符号
例如:取消行号,可以将set nu 注释掉##set nu ,或者直接删掉也可以,还可以加set nonu,但没有必要,因为系统默认的就是没有行号。
2)vim命令模式下关键字搜索
/关键字
n向下匹配
N向上匹配
3)vim命令模式下字符的管理
3.1字符的复制
yl ##复制一个字母
y3l ##复制3个字母
yw ##复制一个单词
y3w ##复制3个单词
yy ##复制一行
y3y ##复制3行
p ##复制完成后按“P”粘贴
3.2字符的删除
dl ##删除一个字母
d3l ##删除3个字母
dw ##删除一个单词
d3w ##删除3个单词
dd ##删除一行
d3d ##删除3行
3.3字符的剪切
cl ##剪切一个字母
c3l ##剪切3个字母
cw ##剪切一个单词
c3w ##剪切3个单词
cc ##剪切一行
c3c ##剪切3行
esc —> p ##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式
4)vim的可视化模式
在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符
可视模式下批量添加字符
*>> ctrl+v 选中要加入字符所在列
*>> 按“I”进入插入模式,写入要加入的字符
*>> 按esc
5)批量修改字符
:%s/原有字符/替换后字符 ##只替换每一行中出现的第一个原有字符,第二个之后不会被替代掉。
%s/ /_ ##用_取代空格,
:%s/原有字符/替换后字符/g ##替换所有
%s/sbin/sbin.log ##用sbin.log 替换掉所有的sbin
:%s/^\ //g ##把全文行首的空格去掉,”^\ “表示行首的空格(有时为了可观,需要用到这样的 功能,还有些命令如果前面有空格将不会起作用。
6)vim的分屏功能(快捷方式提供)
ctrl+w s ###上下分屏需要
ctrl+w v ###左右分屏
ctrl+w c ###关闭光标所在屏幕
ctrl+w 上下左右 ###光标移动到指定屏幕
:sp file2 ##同时编辑当前文件和file2
7)vim光标移动
在命令模式下
:数字 ##移动到指定的行
G ##文件最后一行
gg ##文件第一行
在插入模式下
i ##光标所在位置插入
I ##光标所在行行首
a ##光标所在字符的下一个位置
A ##光标所在行行尾
o ##光标所在行下一行
O ##光标所在行上一行
s ##删除光标所在字符插入
S ##删除光标所在行插入
8)vim的退出模式
:q ##当用vim打开文件但没有对字符作任何操作时可直接退出
:q! ##当用vim打开文件并对字符作操作,放弃所有操作退出
:wq ##保存退出
:wq! ##强行保存退出,对超级用户及文件所有人生效
9)vim手册
vimtutor ##vim的手册
:q ##退出vimtutor
#
3. gedit
gedti相当于Widows里的记事本,可以通过常用图形工具打开,也可以用文本方式在shell里直接打开,命令如下:gedit 2017.07.20,创建一个2017.07.20命名的gedit
==以下是一些常用的操作gedit的快捷方式
ctrl+n ##在gedit中打开一个新的tab
ctrl+s ##保存文件
ctrl+o ##打开文件
ctrl+x ##剪切字符
ctrl+v ##粘贴字符
ctrl+c ##复制字符
yelp help:gedit ##gedit的图形手册