####管理输入与输出####
在linux系统中,正确输出编号为1,错误输出编号为2.
使用student用户执行find /etc -name passed命令,因为student用户的权限问题会出现如下情况:
[kiosk@foundation44 Desktop]$ find /etc/ -name passwdfind: ‘/etc/pki/CA/private’: Permission denied ##报错:没有权力进入##find: ‘/etc/pki/rsyslog’: Permission deniedfind: ‘/etc/dhcp’: Permission deniedfind: ‘/etc/lvm/archive’: Permission deniedfind: ‘/etc/lvm/backup’: Permission deniedfind: ‘/etc/lvm/cache’: Permission deniedfind: ‘/etc/selinux/targeted/modules/active’: Permission denied/etc/passwd ##正确输出##find: ‘/etc/audit’: Permission denied/etc/pam.d/passwdfind: ‘/etc/polkit-1/rules.d’: Permission deniedfind: ‘/etc/polkit-1/localauthority’: Permission deniedfind: ‘/etc/firewalld’: Permission deniedfind: ‘/etc/ipsec.d’: Permission deniedfind: ‘/etc/audisp’: Permission deniedfind: ‘/etc/vmware-tools/GuestProxyData/trusted’: Permission deniedfind: ‘/etc/grub.d’: Permission deniedfind: ‘/etc/libvirt’: Permission deniedfind: ‘/etc/cups/ssl’: Permission deniedfind: ‘/etc/sudoers.d’: Permission denied[kiosk@foundation44 Desktop]$
find /etc -name passwd > file ##重定向正确输出##
find /etc -name passwd 2> file ##重定向错误输出##find /etc -name passwd &> file ##重定向所有输出##注:>,2>,&>都是命令输出将file文件的原内容覆盖;> file ##清空文件file##
find /etc -name passwd >> file ##追加正确输出##
find /etc -name passwd 2>> file ##追加错误输出##find /etc -name passwd &>> file ##追加所有输出##注:>>,2>>,&>>都只是将命令输出追加到file文件内容后面,不会覆盖原内容;| 管道符:管道符的作用是将前一条命令的输出变成管道符之后命令的输入
例如:ls /bin | wc -l ##统计ls /bin 命令输出的行数##[kiosk@foundation44 Desktop]$ ls /bin | wc -l1962[kiosk@foundation44 Desktop]$系统中错误的输出是无法通过管道符的,但是用 2>&1 可以把错误的输出编号由2变成1tee 复制输出到指定位置例如:date |tee file |wc -l ##tee命令复制date命令的输出到file中,并统计输出行数##
[kiosk@foundation44 Desktop]$ date | tee file | wc -l1[kiosk@foundation44 Desktop]$ cat fileThu Mar 2 20:05:14 CST 2017[kiosk@foundation44 Desktop]$
####vim####
vim的三个模式:编辑模式,命令模式,可视模式
进入编辑模式(即插入模式):
i ##光标所在位置插入##
l ##光标所在行行首##a ##光标所在字符的下一个位置##A ##光标所在行行尾##o ##光标所在行下一行##O ##光标所在行上一行##s ##删除光标所在字符插入##S ##删除光标所在行插入##命令模式下:
/关键字 ##搜索关键字##
n向下匹配,N向上匹配:数字 ##移动到指定的行##
G ##文件最后一行##gg ##文件第一行##:set nu ##行号添加##
:set nonu ##取消行号##:set mouse=a ##添加鼠标选择##:set cursorline ##行线显示##注:永久设定需将参数加入到vim的配置文件/etc/vimrc
:q ##当用vim打开文件但没有对字符作任何操作时可直接退出##
:q! ##当用vim打开文件并对字符作操作,放弃所有操作退出##:wq ##保存退出##:wq! ##强行保存退出,对超级用户及文件所有人生效##1.字符的复制
yl ##复制一个字母##
y3l ##复制3个字母##yw ##复制一个单词##y3w ##复制3个单词##yy ##复制一行##y3y ##复制3行##p ##复制完成后按“P”粘贴##2.字符的删除dl ##删除一个字母##
d3l ##删除3个字母##dw ##删除一个单词##d3w ##删除3个单词##dd ##删除一行##d3d ##删除3行##3.字符的剪切cl ##剪切一个字母##c3l ##剪切3个字母##cw ##剪切一个单词##c3w ##剪切3个单词##c3c ##剪切3行##esc ---> p ##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式##4.批量修改字符
:%s/原有字符/替换后字符 ##只替换每一行中出现的第一个原有字符##
:%s/原有字符/替换后字符/g ##替换所有##:%s/\t//g ##把全文的tab键替去掉,\t 表示tab键##:%s/^\ *//g ##把全文行首的空格去掉,"^\ *"表示行首的空>格##:%s/^\#\ */#/g ##把全文#后的空格去掉##可视模式:
在命令模式下按“ctrl+v”进入到可视模式,在可视模式下可以区域选择字符
分屏功能
ctrl+w s ##上下分屏##
ctrl+w v ##左右分屏##ctrl+w c ##关闭光标所在屏幕##ctrl+w 上下左右 ##光标移动到指定屏幕##:sp file2 ##同时编辑当前文件和file2##批量添加字符ctrl+v进入可视模式---->选中要加入字符所在列
---->按“I”进入插入模式,写入要加入的字符---->按esc补充:
vimtutor ##vim的手册
:q ##退出vimtutor####gedit####
ctrl+n ##在gedit中打开一个新的tab##
ctrl+s ##保存文件##ctrl+o ##打开文件##ctrl+x ##剪切字符##ctrl+v ##粘贴字符##ctrl+c ##复制字符##yelp help:gedit ##gedit的图形手册##练习题:
[root@localhost Desktop]# grep ich /usr/share/mime/packages/freedesktop.org.xml |tee /root/lines ####复制/usr/share/mime/packages/freedesktop.org.xml文件中ich所在行,并复制到/root /lines文件中####
[root@localhost Desktop]# vim /root/lines ####用vim打开/root/lines文件####在vim的命令模式下输入:%s/\ //g ####换掉文件中的空格(注意:\ /之间是空格键)####