2018.09.23
1.vim的三种模式
普通模式:浏览文件
插入模式:对文件进行编辑
命令模式:临时更改vim的工作方式,需要更改/etc/vimrc文件
##命令模式##
2.字符管理
y 复制
y(3)l 复制单(3)个字母
y(3)w 复制单(3)个单词
y(3)y 复制单(3)行
y(G)y 复制全部
注:单词之间需要分割符号
d 删除
d(3)l 删除单(3)个字母
d(3)w 删除单(3)个单词
d(3)d 删除单(3)行
c 剪切
c(3)l 剪切单(3)个字母
c(3)w 剪切单(3)个单词
c(3)c 剪切单(3)行
注:在剪切之后vim会进入插入模式,要粘贴需要按[Esc]后[p]键粘贴
p 粘贴
u 撤销
ctrl+r 恢复撤销
vim编辑文件liuyu
yGy复制全部并按p粘贴
d8d删除后8行
c3l后在行尾P粘贴
u(3次,剪切,移动光标,粘贴)撤销3步
ctrl+r(3次,粘贴,移动光标,剪切)撤销恢复
3.vim可视化模式
v 字符可视化
V 行可视化
ctrl + v 块可视化
【v】移动光标实现字符可视化
【V】移动光标实现行可视化
【ctrl】+【V】移动光标实现块可视化
4.字符的替换
:%s/要替换的字符/替换成的字符/g
:%s/a/b/g
:1,5s/a/b/g 用b替换1到5行的a
按【:】输入2,4s/bin/haha/g,将2-4行中的bin字符串替换成haha
替换后
5.vim的分屏功能
ctrl+w s 上下分屏
ctrl+w v 左右分屏
ctrl+w c 关闭光标所在屏幕
ctrl+w 上下左右 光标移动到指定屏幕
:sp file2 同时编辑当前文件和file2
vim编辑文件liuyu
ctrl+w后按s,上下分屏
ctrl+w后按v,左右分屏
ctrl+w后按下方向键,光标移动至下方分屏上
ctrl+w后按c,关闭光标所在下方分屏
单屏编辑文件liuyu状态下【:】输入sp passwd,同时编辑两个文件。
6.在命令模式下光标的移动
gg 光标移动到文件的第一行
G 光标移动到文件的最后
:数字 光标移动到指定行
ZZ 保存退出
注意:ZZ在普通模式下使用
gg 光标移动至文件起点
G 光标移动到文件末尾
:5 光标跳至第5行
##插入模式##
7.在插入模式下光标的移动
i 在光标当前位置插入
I 在光标所在行首进行插入
o 在光标所在行另起一行插入
O 在光表所在行上一行起一行插入
a 在光标所在位置下一字符插入
A 在光标所在行尾进行插入
s 删除单个字符并进入插入模式
S 删除整行并进入插入模式
光标位于文件1行1列按【i】,直接在文章开头插入
光标位于文件3行2列按【S】,删除第3行并插入
8.vim的退出
q 文件未进行编辑操作辑时退出
wq 保存并退出
q! 强制退出不保存
wq! 强制退出保存,对只读文件编写,仅用户对当前文件有写权限使用
![](https://s1.51cto.com/images/blog/201809/27/e76bbe728e1a8e65380503ca40158862.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
按【:】后输入wq,保存文件并退出,重新进入文件修改内容已保存
文件内容修改后:q无法退出,:q!退出成功不保存
如图,当前用户对one文件仅有读权限
vim编辑时提示只读
:wq无法保存退出,:wq!强制保存退出,文件拥有者转换为当前用户
9.用户(组)的意义
系统最底层安全设定方式之一
方便限定使用者或组的权限
10.用户的查看
id a 查看a用户的id信息
-u 查看用户的uid
-g 查看用户的gid
-G 查看用户的所有组id
-n 用名称代替id号,要配合-ugG使用
分别查看用户的uid,组id,附加组id,配合-n使用显示对应的名称(图中为kiosk)
11.切换用户
su- a 切换至a用户
注:
1.-表示切换用户的同时切换环境。
2.高级用户切换低级用户不用密码,低级向高级或平级切换需要密码。
3.每切换一次用户都会在对应用户进程中打开一个shell
编辑完成后需要及时退出(exit或ctrl+d)
如图,kiosk用户切换至root时需输入密码,而root向较低级用户kiosk切换时无需
12.用户在系统中的存储方式
/etc/passwd 用户信息文件 用户名:密码:uid:gid:说明文字:家目录:配置文件
/etc/group 用户组信息文件 组名:组密码:组id:组成员
/etc/shadow 认证信息文件
/home/username 用户的家目录
如图,为存储的用户信息
13.用户管理命令
userdel a 删除用户a
-r 删除用户所有信息
useradd a 添加用户a
-u 88 指定用户uid为88
-g 55 指定用户gid为55,55组必须存在
-G 55 指定用户附加组id,55组必须存在
-d h 指定用户的家目录名为h
-c ha 指定用户的说明文字为ha
-s bin/bash 指定用户的登陆配置文件为bin/bash
groupadd a 建立用户组a
-g 88 建立用户组并指定用户组id为88
groupdel a 删除用户组a
usermod
usermod -l b a 将用户a的名称改为b
usermod -u b a 将用户a的uid改为b
usermod -g b a 将用户a的gid改为b
usermod -G b a 将用户a的附加组改为b
usermod -G "" a 删除用户a的所有附加组
usermod -c ha a 将用户a的说明文字改为ha
usermod -md /jia a 将用户a的家目录改为jia
usermod -s /sbin/nologin a 更改用户a的shell
usermod -L a 冻结用户
usermod -U a 解锁用户
建立uid为88,说明文字为haha的用户liuyu
递归删除用户liuyu的所有信息
root用户冻结用户liuyu,普通用户kiosk无法切换至liuyu,liuyu无法登入
14.用户认证信息
/etc/shadow
共有9列
用户名称:用户密码:用户密码最后一次被更改的时间:密码最短有效期:密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列
15.用户密码
passwd a 更改a用户密码
passwd -l a 加锁a用户的密码
passwd -e a 更改用户最后一次修改用户的时间为0,强制用户a修改密码
passwd -u a 解锁a用户的密码
passwd -d a 清空a用户的密码
passwd -n 1 a a用户在1天之内不能修改密码
chage -E 2018-09-23 a a用户在2018年9月23日到期
root修改用户kiosk密码
root用户设置liuyu在1天内不能修改密码,用户liuyu暂时无法更改。
##文件权限##
16.文件权限存在的意义
系统最底层安全设定方式之一
保证文件可以被相应的用户做相应的操作
17.文件权限的查看
ls -l a(A) 列表显示a文件(A目录中所有文件)的属性
ls -ld A 列表显示A目录本身的属性
ll a(A) 列表显示a文件(A目录中所有文件)的属性
ll -d A 列表显示A目录本身的属性
ls -l显示当前目录中的文件属性ll等效,ls -ld显示目录file本身属性ll -d等效。
18.读取文件权限信息
- | rw-rw-r-- | 1 | kiosk | group | 4189 | Sep 23 22:21| 0923
1 2 3 4 5 6 7 8
1文件类型
- 空文件或者文本
d 目录
l 软链接(类比windows环境下的快捷方式)
s socket套接字(类比模块的接口)
b block块设备
c 字符设备
2权限
1-3:文件所有者的权限
4-6:文件所有者所在组其他成员的权限
7-9:文件所有者所在组之外,其他人的权限
3
文件:文件的硬链接个数(文件内容被记录的次数)
目录:目录中子目录的个数
4文件的所有者
文件的所有者为kiosk
5文件所有者所在的初始组
文件所有人所在的初始组为group
6
文件:文件的大小
目录:目录中字文件元数据大小(即文件的基础属性)
注:其中文件名称每字符占一个字节
7文件内容最后被修改的时间
8文件名称
19.修改所有人和所有组
(a已存在的用户名 A已存在的用户组名 b要修改的文件名 B需要修改的目录名)
chown a b(B) 修改文件b(目录B)的所有者为a
chown a.A b(B) 修改文件b(目录B)的所有者为a所有组为A
chown -R a.A B 修改目录B及其中所有文件的所有者为a所有组为A
chgrp A b(B) 修改文件b(目录B)的所有组为A
chgrp -R A B 修改目录B及其中所有文件的所有组为A
##文件的权限##
@权限的理解
r: 对文件:是否可以查看文件中内容
对目录:是否可以查看目录中有什么子文件或子目录
w: 对文件:是否可以改变文件里面记录的字符
对目录:是否可以对目录中子目录或子文件元数据进行更改
x: 对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录
@更改方式
chmod <+-=> a(A)
chmod u+x a(A) 给a文件(A目录)的所有者添加执行权限
chmod g-r a(A) 给a文件(A目录)的所在组成员删去读权限
chmod o=rwx a(A) 给a文件(A目录)的其他成员添加读/写/执行权限
chmod 421 a(A) 给a文件(A目录)的所有者添加r所在组添加w其他添加x
注:对于文件而言最危险的权限为x。(二进制代码文件运行需要执行权限)
对于目录而言最危险的权限为w。(对目录拥有写权限意味可以随意删除)
系统默认不添加危险的权限。rwx分别对应421即(7表示rwx,5表示-wx,1表示--x)