管理输入输出、vim文本编辑14

1.管理输入输出

(1)在linux系统中,正确输出的编号为1,错误输出编号为2
(2)在系统中用普通用户执行 "student"
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


操作过程如下图所示:


(3)find /etc -name passwd >file      ##重定向正确输出


(4)find /etc -name passwd 2> file     ##重定向错误输出


(5)find /etc -name passwd &> file     ##重定向所有输出

 注意:

      (1)>,2>,&>都会覆盖原文件内容

      (2)>file   ##清空文件file的内容


(6)find /etc -name passwd >> file     ##追加正确输出

 如下图所示,追加正确输出并不会覆盖原文件的内容。


(7)find /etc -name passwd2>> file    ##追加错误输出


(8)find /etc -name passwd &>> file    ##追加所有输出


注意:

    (1)>> 2>> &>>不会覆盖源文件内容,会把相应的输出字符方到文件的最后

    (2)交互指用户有操作系统给出结果的过程


(9)echo>>file<<end
     >1
     >2
     >3
     >end

     cat>>file<<end
     >1
     >2
     >3
     >end


操作如下图所示


注意:

    (1)多行输入,catecho必须有否则无法输出
    (2)
student用户操作。
    (3) <<end
避免交互


(10)|管道,管道的作用是将前一条命令的输出变成管道后命令的输入
ls /bin | wc -l    ##
统计ls /bin命令输出的行数


操作如下图所示,统计出ls /bin命令输出了1582行。


注意:

    (1)系统中错误的输出是无法通过管道的。
    (2)用 2>&1可以把错误的输出编号由2变成1。如下图所示。


(3)tee复制输出到指定位置
date |tee file |wc -l  ###tee
命令复制date命令的输出到file中,并统计输出行数。该命令操作如下图所示。



2.vim

(1)vim命令模式
vim一场退出时,系统中会在所编辑的文件目录中生成.file.swp(异常退出指断电、直接关闭shell窗口等)
vim
再次编辑此文件时会出现相应提示
"o"  open
"e"  edit
"r"  recover   ##将.file.swp的内容还原到被编辑文件
"d"  delete.swap file
"q"  quit


如下图所示:


当出现上图,按R后,会编辑结束回到shell窗口,再次编辑该文件时,会出现下图:

按Q键进入编辑文件界面,编辑结束回到shell,再次编辑该文件就可以直接编辑了。


(2)vim的命令模式下可以配置vim的工作方式
:set nu        ##
行号添加
:set nonu      ##
取消行号
:set mouse=a       ##
添加鼠标选择
:set cursorline    ##
行线显示


操作及结果如下图所示:



以上设定都是临时的,永久设定方式为:
vim /etc/vimrc     ###
此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的参数不需要:


如下图所示,在shell窗口输入vim /etc/vimrc,进入到vim的配置文件,在最后一行加上参数,保存文件并退出就可以了。

(3)vim命令模式下关键字搜索
/
关键字

n
向下匹配
N
向上匹配


如下图所示,在shell窗口输入vim filename,进入vim命令模式后输入/nu,回车后就会将关键字高亮显示,按住n、N就可以向上、向下匹配。

3.vim命令模式下字符的管理

(1)字符的复制
yl      ##
复制一个字母
y3l     ##
复制3个字母
yw      ##
复制一个单词
y3w     ##
复制3个单词
yy      ##
复制一行
y3y     ##
复制3
p       ##
复制完成后按“P”粘贴


如下图所示,将光标放置于第一行的首字母处,按下yl然后再按p就会复制首字母;光标位于第一行的world的w处,按下y3l就会复制wor,再按下p即完成粘贴。



(2)字符的删除
dl      ##
删除一个字母
d3l     ##
删除3个字母
dw      ##
删除一个单词
d3w     ##
删除3个单词
dd      ##
删除一行
d3d     ##
删除3

##与复制相比删除操作要简单,直接把光标放置于需要删除的位置,使用相应的删除命令即可。

如下图,将光标置于第一行首字母,按下dd就删除该行的所有的内容了。

(3)字符的剪切
cl        ##
剪切一个字母
c3l      ##
剪切3个字母
cw      ##
剪切一个单词
c3w    ##
剪切3个单词
cc       ##
剪切一行
c3c     ##
剪切3
esc ---> p  ##
剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式


(4)vim的可视化模式

在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符

可视模式下批量添加字符
*>> ctrl+v
选中要加入字符所在列
*>>
“I”进入插入模式,写入要加入的字符
*>>
esc


如下图所示,通过vim的可视化模式,在每行hello后面批量添加####。

(5)批量修改字符
:%s/
原有字符/替换后字符      ##只替换每一行中出现的第一个原有字符
:%s/
原有字符/替换后字符/g   ##替换所有
:1,5s/
原有字符/替换后字符/g  ##替换1-5


如图所示,在命令模式下输入:%s/hello/hi

得到的结果如下图所示,其余的使用方法类似。


(6)vim的分屏功能
ctrl+w s    ###
上下分屏
ctrl+w v    ###
左右分屏
ctrl+w c    ###
关闭光标所在屏幕
ctrl+w
上下左右     ###光标移动到指定屏幕
:sp file2                 ##
同时编辑当前文件和file2


如下图所示,Ctrl+w+s、Ctrl+w+v可以上下、左右分屏。

如下图所示,输入:sp file2可以同时编辑当前文件和文件2。


(7)vim光标移动
在命令模式下
:
数字       ##移动到指定的行
G       ##
文件最后一行
gg      ##
文件第一行

在插入模式下
i        ##
光标所在位置插入
I        ##
光标所在行行首
a       ##
光标所在字符的下一个位置
A       ##
光标所在行行尾
o       ##
光标所在行下一行
O       ##
光标所在行上一行
s       ##
删除光标所在字符插入
S       ##
删除光标所在行插入


如下图所示,在命令模式下,输入:10,回车后光标就移动至第10行的行首了


(8)vim的退出模式
:q        ##
当用vim打开文件但没有对字符作任何操作时可直接退出
:q!       ##
当用vim打开文件并对字符作操作,放弃所有操作退出
:wq     ##
保存退出
:wq!    ##
强行保存退出,对超级用户及文件所有人生效(wq!适用于文件是自己的,或自己是root用户)

##当文件编辑结束后,我们可以根据需要选择vim的退出模式。

(9)vim手册
vimtutor    ##vim
的手册
:q             ##
退出vimtutor


如下图所示,在shell窗口输入vimtutor,就会进入到vim手册文件。退出则输入:q

(10)两个文件对比编辑

vimdiff 文件1 文件2    ##在一个窗口同时打开两个文件,并将不同的内容高亮显示


如下图所示,同时打开两个文件并将文件中不同的内容高亮显示。

4.gedit

ctrl+n         ##gedit中打开一个新的tab
ctrl+s         ##
保存文件

ctrl+o         ##
打开文件
ctrl+x         ##
剪切字符
ctrl+v         ##
粘贴字符
ctrl+c         ##
复制字符
yelp help:gedit    ##gedit
的图形手册


如下图所示,在shell窗口输入gedit file,打开该文件,使用Ctrl+n即可在gedit中打开一个新的tab


如下图所示,使用Ctrl+o即可打开文件。




发布了27 篇原创文章 · 获赞 2 · 访问量 8362
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章