Linux入门(四)
unit4
1.管理输入输出
*在linux系统中,正确输出的编号为1,错误输出编号为2在系统中用普通用户执行 "kiosk"
find /etc -name passwd
因为kiosk用户权限问题会有以下输出
find: ‘/etc/pki/CA/private’: Permission denied //权限不够报错
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/passwd //正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: 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
/etc/pam.d/passwd //正确输出
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find /etc -name passwd > file 重定向正确输出
find /etc -name passwd 2> file 重定向错误输出
find /etc -name passwd &> file 重定向所有输出
将正确结果存入gao“文件中,其余结果显示输出。
*将错误结果存入文件“gao”中,正确结果输出。
从下图gao文件里可见,会覆盖文件里原有的内容。
>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>&1是将错误的编码(2)转为正确的编码(1),放入管道,wc -l再统计管道里的行数,结果为18.
*统计正确的行数
注:即将错误的放入文件gao中(2>gao),则管道里只有正确的,结果为2.
*统计错误的行数
注:2>&1即将错误的(16个)转为正确的放入管道,而>gao则把正确的(2个)直接存入文件gao中
故管道里只有2>&1而来的16个,则wc -l统计的结果为16.
而如果将上图命令中的2>&1和>gao调换顺序,如下图,可以看出结果为0。因为>gao命令先把2个正确的
放入文件中了,2>&1命令又把16条错误的转换成为正确的编码,于是,前面的>gao命令又检测到16条正
确的,再次将其放入文件gao中,此时管道里为0,故统计结果为0.
2.vim
1).vim 命令模式
在vim异常退出时,系统中会在所编辑的文件目录中生成.file.swp
vim再次编辑此文件时会出现相应提示
按 "o" open
按 "e" edit
按 "r" recover
按 "d" delete .swap file
按 "q" quit
在vim的命令模式下可以配置vim的工作方式
:set nu 行号添加
:set nonu 取消行号
:set mouse=a 添加鼠标选择
:set cursorline 行线显示
永久设定方式
vim /etc/vimrc 此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才数不需要:
2).vim命令模式下关键字搜索
/关键字
n向下匹配
N向上匹配
下图为查找关键字etc
3)vim命令模式下字符的管理
*字符的复制
yl 复制一个字母
y3l 复制3个字母
yw 复制一个单词
y3w 复制3个单词
yy 复制一行
y3y 复制3行
p 复制完成后按“P”粘贴
*字符的删除
dl 删除一个字母
d3l 删除3个字母
dw 删除一个单词
d3w 删除3个单词
dd 删除一行
d3d 删除3行
*字符的剪切
cl 剪切一个字母
c3l 剪切3个字母
cw 剪切一个单词
c3w 剪切3个单词
cc 剪切一行
c3c 剪切3行
esc ---> p 剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式
4)vim的可视化模式
在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符
可视模式下批量添加字符
ctrl+v 选中要加入字符所在列
按“I”进入插入模式,写入要加入的字符
按esc退出
5)批量修改字符
:%s/原有字符/替换后字符 只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符/g 替换所有
:1,5s/原有字符/替换后字符/g 替换1-5行
eg:将所有find替换成000
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
ctrl+n 在gedit中打开一个新的tab
ctrl+s 保存文件
ctrl+o 打开文件
ctrl+x 剪切字符
ctrl+v 粘贴字符
ctrl+c 复制字符
yelp help:gedit gedit的图形手册