linux系统基本命令之管理输入输出,vim详解
linux系统基本命令(四)
一.管理输入输出
在linux系统中,正确输出的编号为1,错误输出编号为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
1>重定向
find /etc -name passwd > file ##重定向正确输出find /etc -name passwd 2> file ##重定向错误输出
find /etc -name passwd &> file ##重定向所有输出
echo hello world >file ###hello world 录入文件file 中 ##echo为打印命令
2>追加修改
find /etc -name passwd >> file ##追加正确输出
find /etc -name passwd 2>> file ##追加错误输出
find /etc -name passwd &>> file ##追加所有输出
注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后
3>录入多行
例如 cat >>文件名 <<起始标示>hello
>sjflkdjfk
>起始标示
passwd <<起始标示
>输入原始密码
>输入新密码
>再次输入新密码
>再次输入起始标示结束
输入完成后 避免交互命令时 可使用多行录入命令
当没有交互时 无法完成理想目的
例如: 普通用户切换到高级用户 (需要交互)
su - root <<起始标示>输入超级用户密码
>再次输入起始标示结束
会提示最新登陆到超级用户的时间 但会马上切换回普通用户
下一个行提示符显示的还是普通用户 无法完成切换目的 因为root没有交互界面
可以切换 但没有意义
4>| 管道,管道的作用是将 前一条命令的输出变成 管道后 命令的输入ls /bin | wc -l ##统计ls /bin 命令输出的行数(有多少文件名)
***系统中错误的输出是无法通过管道的。
用 2>&1 可以把错误的输出编号由2变成1
管道之后的命令在管道前命令第一个命令开始执行时执行tee 复制输出到指定位置(提高系统工作效率)
date |tee file |wc -l ###tee命令复制date命令的输出到file中,并统计输出行数
二.vim
修改vim的配置文件 永久性的添加自己想要的功能 可以百度查找相关命令
1.vim 命令模式
在vim异常退出时,系统中会在所编辑的文件目录中生成file.swpvim再次编辑此文件时会出现相应提示
按 "o" open
按 "e" edit
按 "r" recover
按 "d" delete .swap file
按 "q" quit
在vim的命令模式下可以配置vim的工作方式
:set nu ##行号添加
:set nonu ##取消行号
:set mouse=a ##添加鼠标选择
:set cursorline ##行线显示
以上设定都是临时的,
永久设定方式
修改vim的配置文件 永久性的添加自己想要的功能 可以百度查找相关命令 例如
vim /etc/vimrc ###此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才数不需要:
注意:当文件内容更改信息不确定正确与否额时候 应先备份要更改的文件
2.vim命令模式下关键字搜索
/关键字n向下匹配
N向上匹配
3.vim命令模式下字符的管理
1>.字符的复制
yl ##复制一个字母
y3l ##复制3个字母
yw ##复制一个单词
y3w ##复制3个单词
yy ##复制一行
y3y ##复制3行
2>.字符的删除
dl ##删除一个字母d3l ##删除3个字母
dw ##删除一个单词
d3w ##删除3个单词
dd ##删除一行
d3d ##删除3行
3>.字符的剪切 ##剪切会进入插入模式
esc ---> p ##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式cl ##剪切一个字母
c3l ##剪切3个字母
cw ##剪切一个单词
c3w ##剪切3个单词
cc ##剪切一行
c3c ##剪切3行
4>.撤销与恢复
u 撤销之前的操作ctrl +r 恢复之前的撤销
4.vim的可视化模式
在命令模式下按“ctrl+v”进入到可视模式
--VISUAL BLOCK----
在可视模式下可以区域选择字符进行编辑
可视模式下批量添加字符
*>> ctrl+v 选中要加入字符所在列
---VISUAL BLOCK----
选中要添加字符位置,
*>> 按大写“I”进入插入模式
----INSERT----
写入要加入的字符
*>> 按esc
5.批量修改字符
注意 当转化特殊符号时 应该在符号前加\ 中断加载函数库例如:$ 表示以。。结尾
/^/ /g 开头加五个空格
:%s/原有字符/替换后字符 ##只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符/g ##替换所有
:1,5s/原有字符/替换后字符/g ##替换1-5行
例::%S/^ *//g
6.vim的分屏功能
ctrl+w s ###上下分屏ctrl+w v ###左右分屏
ctrl+w c ###关闭光标所在屏幕
ctrl+w 上下左右 ###光标移动到指定屏幕
:sp file2 ##同时编辑当前文件和file2
vimdiff 文件 文件 ##找不同
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
三.gedit
ctrl+n ##在gedit中打开一个新的tab
ctrl+s ##保存文件
ctrl+o ##打开文件
ctrl+x ##剪切字符
ctrl+v ##粘贴字符
ctrl+c ##复制字符
yelp help:gedit ##gedit的图形手册