####管理输入与输出####
在linux系统中,正确输出编号为1,错误输出编号为2.
使用student用户执行find /etc -name passed命令,因为student用户的权限问题会出现如下情况:
[kiosk@foundation44 Desktop]$ find /etc/ -name passwd find: ‘/etc/pki/CA/private’: Permission denied ##报错:没有权力进入## find: ‘/etc/pki/rsyslog’: Permission denied find: ‘/etc/dhcp’: Permission denied find: ‘/etc/lvm/archive’: Permission denied find: ‘/etc/lvm/backup’: Permission denied find: ‘/etc/lvm/cache’: Permission denied find: ‘/etc/selinux/targeted/modules/active’: Permission denied /etc/passwd ##正确输出## find: ‘/etc/audit’: Permission denied /etc/pam.d/passwd find: ‘/etc/polkit-1/rules.d’: Permission denied find: ‘/etc/polkit-1/localauthority’: Permission denied find: ‘/etc/firewalld’: Permission denied find: ‘/etc/ipsec.d’: Permission denied find: ‘/etc/audisp’: Permission denied find: ‘/etc/vmware-tools/GuestProxyData/trusted’: Permission denied find: ‘/etc/grub.d’: Permission denied find: ‘/etc/libvirt’: Permission denied find: ‘/etc/cups/ssl’: Permission denied find: ‘/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 -l 1962 [kiosk@foundation44 Desktop]$
系统中错误的输出是无法通过管道符的,但是用 2>&1 可以把错误的输出编号由2变成1
tee 复制输出到指定位置
例如:date |tee file |wc -l ##tee命令复制date命令的输出到file中,并统计输出行
数##
[kiosk@foundation44 Desktop]$ date | tee file | wc -l 1 [kiosk@foundation44 Desktop]$ cat file Thu 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 ####换掉文件中的空格(注意:\ /之间是空格键)####