vim的模式
普通模式
浏览文件
插入模式
对文件内容进行编辑
命令模式
临时更改vim的工作方式,对字符批量处理
编辑配置文件:vim /etc/vimrc
下面对vim的模式进行介绍
1.调整vim的工作方式
set nu 设置行号
set mouse=a 设置鼠标
永久设置要更改vim的配置文件
进入vim后输入冒号即可开始在下方输入命令
2.字符搜索
/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。
按n键转到下一个匹配,按N键转到上一个匹配。
3.字符管理
y
yl 复制一个字母
y3l 复制3个字母
yw 复制一个单词
y3w 复制3个单词
yy 复制一行
y3y 复制3行
用yw命令复制fni,用p粘贴 用yy命令复制一行,用p粘贴
d
dl 删除一个字母
d3l 删除3个字母
dw 删除一个单词
d3w 删除3个单词
dd 删除一行
d3d 删除3行
将上图复制的单词用dw命令删除一个,用dl命令删除下一行的第一个字母,用dd删除一行
c
cl 剪切一个字母
c3l 剪切三个字母
cw 剪切一个单词
c3w 剪切三个单词
cc 剪切一行
c3c 剪切三行
注意:在剪切之后vim会进入插入模式,要粘贴时按ESC键退出插入模式,然后按P粘贴
p 粘贴
u 撤销
ctrl+r 恢复撤销
将上图倒数第一行用cl命令剪切后粘贴到句子末尾,将上图倒数第二行用cc命令剪切然后粘贴到最后一行
4.vim可视化模式
v 字符可视化
V 行可视化
ctrl+v 块可视化
批量条家字符
ctrl+v 选中要加入字符所在的列
按大写I键
加入字符
按ESC
下图分别为字符可视化,行可视化,块可视化,可用方向键上下键选择可视化的部分
5.字符的替换
:%s/要替换的字符/替换成的字符/g
:%s/westos/redhat/g
:1,5s/westos/reahat/g #替换1到5行
将一到五行的替换为aaa 图为效果 图中的高亮显示可用命令:noh去掉
6.vim的分屏功能
ctrl+w s 上下分屏
ctrl+w v 左右分屏
ctrl+w c 关闭光标所在屏幕
ctrl+w 上下左右 光标移动到指定屏幕
:sp file2 同时编辑当前文件和file2
图中仅演示左右分屏,其他读者可自己继续尝试
7.在命令模式下的光标移动
gg 光标移动到文件的第一行
G 光标移动到文件最后
:数字 光标移动到指定行
ZZ 保存退出
插入模式下光标移动
i 光标所在位置插入
I 光标所在行行首插入
o 光标所在行下一行插入
O 光标所在行上一行插入
a 光标所在字符的下一个字符插入
A 光标所在行的行尾插入
s 光标所在字符删除并插入
S 光标所在行删除并插入
:q 退出,在文件内容没有改变时使用
:wq 退出保存
:q! 强制退出不报讯,在改变文件后不想保存时使用
:wq! 强制退出保存,在对只读文件编写时使用。注意:所编辑的只读文件必须是当前用户的文件(root除外)
1.用户存在的意义
2.组存在的意义
3.用户的查看
查看当前用户
whoami
系统中用户的查看
id 查看指定用户的id信息
id
-u 查看用户的uid
-g 查看用户的gid
-G 查看用户所在的所有组的id
-n 显示名字而不是id数字
4.切换用户
su - 用户名称
su - 中‘-’表示用户身份切换时同时切换当前用户环境
su - 执行高级用户切换到低级用户时不需要密码,低级用户切换到高级用户需要密码,平级切换也需要
注意:每次su切换到其他用户操作完成之后退出,再切换到另外用户
切换到root超级用户
5.用户在系统中的存储方式
/etc/passwd
用户信息文件
用户名称:用户密码:uid:gid:说明文字:家目录:默认shell
eg:root:x:0:0:root:/root:/bin/bash
/etc/group
用户组信息文件
组名:组密码:组id:组成员
eg:root:x:0:
/etc/shadow
认证信息文件
/home/username
用户的家目录
#######用户管理命令
用户的删除
userdel
userdel westos 删除用户但不删除用户的配置文件
userdel -r 删除用户并删除用户的配置文件
用户的建立
useradd -u 8888 westos 指定用户uid
useradd -g 21 westos 指定用户初始组id,‘21’用户组必须存在
useradd -G 21 westos 指定用户附加组id,‘21’用户组必须存在
useradd -c “hello” westos 指定用户的说明
useradd -d /home/lee westos 指定用户的家目录
useradd -s /sbin/nologin westos 指定用户默认shell
groupadd 建立用户组
groupadd -g 8888 建立用户组并指定用户组id
groupdel 删除用户组
添加一个指定uid为8888的新用户,指定用户的说明文字为hello
更改用户信息
usermod
usermod -l 新名称 westos 更改用户的名称
usermod -u 8888 westos 更改用户的uid
usermod -g 21 westos 更改用户的初始组
usermod -G 21 westos 更改用户的附加组
usermod -G “” westos 删除用户所有的附加组
usermod -c “gg” westos 指定用户的说明文字
usermod -md “/home/lee” westos 更改用户的家目录
usermod -s /sbin/nologin westos 更改用户的shell
更改新建用户zzz的用户uid
/etc/shadow/ 记录用户认证信息
此文件一共九列
用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列
passwd westos 更改westos的密码
passwd -l westos 对密码加锁
passwd -u westos 解锁
passwd -d westos 清空westos密码
passwd -e westos 设置最后一次更改密码的时间为0,用户在登陆时会被强制修改密码
passwd -n 1 westos 设置普通用户一天之内不能更改密码(用户密码最短有效期)
passwd -E 2018-09-23 westos westos用户在2018-09-23到期(用户到期日)
usermod -L westos 冻结用户
usermod -U westos 解锁用户
注意:
普通用户更改密码时
必须知道当前用户原始密码
密码不能是纯数字或纯字母
密码不能和帐号名称相似
密码不能是有序的字母和数字的组合
更改用户zzz的密码
冻结用户后,用户登录后就会出现如下的情况
解封后即能登陆成功
文件权限存在的意义
系统最底层安全设定方式之一
保证文件可以被相应的用户做相应的操作
文件权限的查看
ls -l file
ls- ld dir
ll file
ll -d dir
文件权限的读取
-rw-rw-r--. 1 kiosk kiosk 0 Sep 23 22:56 file
[1]
1.文件类型
- 空文件,或者文本
d 目录
l 软链接
s socket套结字
b block块设备
c 字符设备
[2]
rw- | rw- | r--
1 2 3
1.[u]文件拥有者对文件能做什么操作
2.[g]文件所有组对文件能做什么操作
3.[o]其他人能对文件做什么操作
[3]
对文件:文件硬链接个数(文件内容被记录的次数)
对目录:目录中子目录的个数(不是文件)
【4】
文件所有人
【5】
文件所在组
【6】
对文件:文件的大小
对目录:目录中子文件元数据大小
【7】
文件内容被修改的时间
【8】
文件名名称
##### 如何修改文件的所有人和所有组
chown | chgrp
chown username file|dir 更改文件或目录的所有人
chown user.group file/dir 更改文件或目录的所在组
chown -R user.group dir 对目录的所属组进行递归修改
chgrp group file/dir 对文件或目录的所属组进行修改
chgrp -R group dir 对目录的所属组用递归的方式进行修改
修改文件1的所有人为zhangmin
同时修改文件1的所有人和所在组
#### 如何修改文件的权限
对权限的理解
r
对文件:是否可以查看文件的内容 --->cat file
对目录:是否可以查看目录中有什么子文件或子目录 --->ls dir
w
对文件:是否可以改变文件里面记录的字符
对目录:是否可以对目录中子目录会子文件的元数据进行更改
x
对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录
更改方式
chmod <+|-|=>
chmod u+x /mnt/file1
chmod g-r /mnt/file1
chmod ug+r /mnt/file1
chmod u+r,g+x /mnt/file1
chmod +x /mnt/file1
chmod u+x /mnt/file1
chmod o=r-x /mnt/file1
rwx
210
r=4
w=2
x=1
r-x|r--|--x
5 4 1
7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---
用chmod命令给文件的拥有者和文件的所有组增加执行的权限
用数字的方式给文件的拥有者和文件的所有组和其他人都给予读写执行的权限