1.输入输出的管理
在Linux系统中,正确输出的编号为1,错误输出编号为2
上图中:
正确输出:
/etc/passwd
/etc/pam.d/passwd
其余为错误输出:(没有权利,报错)
find /etc -name passwd > file ##重定向正确输出
find /etc -name passwd 2> file ##重定向错误输出
find /etc -name passwd &> file ##重定向所有输出
![](https://i-blog.csdnimg.cn/blog_migrate/82fcf9316ffe2c5f5f40a9f757d75547.png)
需要注意的是: >, 2> ,&> 都会覆盖源文件内容,但是>>,2>>,&>>不会覆盖原文件的内容.
find /etc -name passwd >> file ##追加正确输出
find /etc -name passwd 2>> file ##追加错误输出
find /etc -name passwd &>> file ##追加所有输出
![](https://i-blog.csdnimg.cn/blog_migrate/f917ff5349a9f1f4f5dd7988fc275a08.png)
注意: >file ##清空file
管道: '|'
管道是将前一条命令的输出变成管道后命令的输入
![](https://i-blog.csdnimg.cn/blog_migrate/041d50465a39b7b05517e3f7790158dc.png)
系统中错误的输出是无法通过管道的。
find /etc/ -name passwd >file | wc -l ##正确的输出指向file,同时显示错误的输出的行号(但是错误输出不能通过管道,所以行号为0)
用 2>&1 可以把错误的输出编号由2变成1
tee 复制输出到指定位置
date | tee file |wc -l ##把系统时间的输出复制到file,同时输出行号(下图行号为‘1’)
执行日历的命令也是如此,复制到file并且显示出结果的行号
![](https://i-blog.csdnimg.cn/blog_migrate/a5e2cd17683aeba51a454855b3d749fc.png)
2.vim的使用:
在vim的命令模式下可以配置vim的工作方式:
set nu ##行号添加
set nonu ##取消行号
set mouse=a ##添加鼠标选择
set cursorline ##行线显示
以上设定都是临时的,永久设定方式需要更改配置文件
vim /etc/vimrc ###此文件为vim的配置文件,在此文件中加入以上参数,保存之后,下次进入vim时,就会按照更改的参数那样显示
注意:当更改信息时,不确定是否正确时,应先copy再更改!!!
vim命令模式下关键字搜索:
/关键字
n向下匹配
N向上匹配
vim命令模式下字符的管理:
(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个单词
cc ##剪切一行
c3c ##剪切3行
esc ---> p ##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式
vim的可视化模式:
在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符
可视模式下批量添加字符:
ctrl+v 选中要加入字符所在列
按“I”进入插入模式,写入要加入的字符
按esc
批量修改字符:
:%s/原有字符/替换后字符 ##只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符/g ##替换所有
:1,5s/原有字符/替换后字符/g ##替换1-5行
vim的分屏功能:
ctrl+w s ###上下分屏
:数字 ##到指定的所在行
:18 ##直接到18行
ctrl+w v ###左右分屏
ctrl+w c ###关闭光标所在屏幕
ctrl+w 上下左右 ###光标移动到指定屏幕
:sp file2 ##同时编辑当前文件和file2
在插入模式下
i ##光标所在位置插入
I ##光标所在行行首
a ##光标所在字符的下一个位置
A ##光标所在行行尾
o ##光标所在行下一行
O ##光标所在行上一行
s ##删除光标所在字符插入
S ##删除光标所在行插入
vim的退出模式:
:q ##当用vim打开文件但没有对字符作任何操作时可直接退出
:q! ##当用vim打开文件并对字符作操作,放弃所有操作退出
:wq ##保存退出
:wq! ##强行保存退出,对超级用户及文件所有人生效
vim手册 #### 查询vim的参数用法
vimtutor ##vim的手册
:q ##退出vimtutor
3.用户的管理:
监控命令为:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home
(1)用户建立
useradd 参数 用户名字
-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须存在
-G ##指定附加组,这个组必须存在
-c ##用户说明
-d ##用户家目录
-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
(2)用户删除
userdel -r 用户名称 -r表示删除用户信息及用户的系统配置
(3)组的建立
groupadd -g ##建立组
groupdel 组名字 ##删除组
(4)用户id信息查看
id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字
-a ##显示所有信息
(5)用户信息更改
usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c ##更改说明
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称
-s ##更改shell
-L ##冻结帐号
-U ##解锁
冻结student用户,当再次进入登录界面student不显示,也就是被冻结了
例题(1):
例题(2):
可以看出:
/pub对所有用户及用户组可读,可写,可执行;
/cw对root及caiwu用户组可读,可写;
/sc对root及shengchan用户组可读,可写。