02 Linux基础知识–vim学习&用户管理
vim模式
- 普通模式:浏览文件
- 插入模式:对文件内容进行编辑,输入
i
- 命令模式:临时更改vim的工作方式,对字符批量处理,输入
:
- 视图模式
- 选择模式
- Ex模式
vim配置文件
vim
的个人配置文件是~/.vimrc
,即在家目录下的一个隐藏文件,如果这个文件不存在那么就新建一个,这个配置文件是当前用户的不会影响到其他用户,如果是想要影响所有的用户的vim
配置那么就要修改/etc/vimrc
文件,修改文件只需要在文件的最后添加就可以了。
set shiftwidth=4
:配置自动缩进4个空格,当然要设自动缩进先.set sts=4
:即配置softtabstop为4.输入tab后就跳了4格set tabstop=4
:实际的tab即为4个空格,而不是缺省的8个Qset expandtab
:在输入tab后,vim用恰当的空格来填充这个tab
- 普通模式下按
g
跳到文件尾
调整工作方式
set nu
:设置行号set nonu
:取消行号set mouse=a
:设置鼠标set c
:显示行线
字符搜索
/
:从上向下搜索?
:从下向上搜索
复制/粘贴/删除/剪切/进入视图模式
y
操作yy
:复制一行y3y
:复制三行yl
:复制字符y4l
:复制四个字符yw
:复制一个单词y5y
:复制五行y + G
:复制从光标的当前行到文件结束
p
操作p
:粘贴
d
操作:与y
操作类似,删除的内容在剪切版上dd
:删除一行d3d
:删除三行dl
:删除字符d4l
:删除四个字符dw
:删除一个单词d5d
:删除五行x
:在视图模式下删除一个字符d + G
:删除光标当前行到最后
命令模式
5,10 move 15
:移动5到10行到15行,类似剪切+复制5,10 delete
:删除5到10行
c
操作:剪切,与y
操作和d
操作一样,不再赘述- 剪切之后vim会进入插入模式,要粘贴需要按
Esc
退出插入模式
- 剪切之后vim会进入插入模式,要粘贴需要按
o
操作:在当前行的下一行插入一个空行u
操作:撤销操作,在win
上是Ctrl + z
Ctrl + r
:撤销的撤销,在win
上是Ctrl + y
vim
可视化模式- 字符可视化:在普通模式下按小写
v
,并且可对选中的内容操作 - 行可视化:在普通模式下按大写
V
,并且可对选中的内容操作 - 块可视化:在普通模式下按
Ctrl + v
,选择块,按大写I
键,输入字符,Esc
退出。
- 字符可视化:在普通模式下按小写
字符替换
:%s/old/new/g
:替换old
为new
的全部的内容:1,5s/old/new/g
:替换1到5行替换:1,5 s/^/words/g
:在1到5行行首添加words:1,5 s/$/words/g
:在1到5行行尾添加words
编辑多个文件/分屏
sp filename
:在当前的vim,打开另一个文件- 分屏
Ctrl + w v
:左右分屏Ctrl + w s
:上下分屏Crtl + 上/下
:上下切屏,用于上下分屏Crtl + 左/右
:左右切屏,用于左右分屏Ctrl + w + c
:关闭当前的屏幕
光标移动
g
:跳到文件的行尾gg
:跳到文件的行首- 命令行模式下直接输入输入,跳到指定行
插入
- 小写
i
:光标所在位置插入
- 大写
I
:行首插入 - 小写
o
:在当前行的下一行插入一个空行 - 大写
O
:在当前行的上一行插入一个空行 - 小写
a
:光标所在字符的下一个字符插入 - 大写
A
:光标所在行的行尾进行插入 - 小写
s
:光标所在字符删除并插入 - 大写
S
光标所在行删除并插入 D
:删除当前光标所在位置到行尾
保存退出
q
:退出w
:写入!
:强制执行命令,如果没有权限写入则不会保存。x
:保存并退出- 普通模式下按两下大写
Z
保存退出
用户管理
用户查看
whoami
:查看用户id
查看用户信息id user
:查看用户id-u
:查看用户UID-g
:查看用户GID-G
:查看用户所在的所有组ID-n
:需要和-ugG
配合使用
用户切换
su - user
-
:切换用户的同时切换shell
- 只有
root
切换到其他用户不用输入密码,其他都需要输入密码。 - 退出用户
Ctrl + d
:退出当前用户- 输入
exit
退出当前用户
用户的存储
/etc/passwd
用户信息文件用户名
:密码
:UID
:GID
:用户说明
:用户的家目录
:用户的解释shell
/etc/group
用户的组id组名
:组密码
:GID
:组成员
/etc/shadow
用户的密码认证信息文件
/etc/gshadow
用户组的密码登陆组认证信息
用户增/删等操作
useradd username
:添加用户,kali
如果需要创建用户需要加参数-m
-d
:指定家目录-G
:指定附加组ID-u
:指定UID-g
:指定GID-M
:不创建家目录-p
:创建用户的时候设置用户登陆密码-c
:指定用户的说明文字,使用双引号"
引起来-s
:指定用户的默认登陆shell
userdel username
:删除用户默认不删除家目录-r
:删除用户的同时删除用户的家目录,邮箱等参数。彻底删除
用户创建如果没有设置密码需要设置密码否则不能登陆
passwd username
:设置/修改用户的密码。
组的增/删等操作
groupadd
:组的添加-g
:指定GID
-p
:设置用户组的密码
groupdel
:删除用户组usermod
:修改用户-L
:锁定用户-U
:解锁用户-l
:更改用户名称-u
:更改用户的UID-g
:更改用户的所属组-G
:更改用户的附加组-G ""
:删除用户的所有附加组-c string
:指定用户说明文字-md path
:更改用户的shell-s
:更改用户的shell
用户认证信息
文件路径信息
/etc/shadow
用户名称
;用户密码
:用户密码最后一次被更改的时间
:用户密码最短有效期
:用户密码最长有效期
:密码警告期限
:用户非活跃天数
:用户自定义列
修改用户密码
passwd
:修改用户密码
-l
:锁定用户-u
:解锁用户-d
:清空密码-n
:密码的最短有效期-x
:密码的最长有效期-w
:密码警告期-i
:用户的非活跃期-e
:使一个密码过期,普通用户再次登陆时需要修改密码-E
:设置用户密码到期时间
修改密码注意
- 普通用户修改密码的时候必须知道永久原始密码
- 密码不能和帐号类似
- 密码不能是纯数字
- 密码不能是有序的数字和字母的组合
文件属性
文件类型
-
:空文件,或者文本d
:目录l
:链接b
:块设备s
:socket文件c
:字符设备,鼠标键盘
权限
所有者权限(u):读(r)、写(w)和执行(x)
所属组权限(g):读(r)、写(w)和执行(x)
其他人权限(o):读(r)、写(w)和执行(x)
文件权限
r
:读权限,4- 普通文件查看文件内容
- 目录查看目录内的文件列表
w
:写权限,2- 普通文件修改文件内容
- 目录内的文件的属性修改
x
:执行权限,1- 对文件是否可以通过文件名调用文件内记录的程序
- 对目录是否能进入
文件的硬链接数
- 文件来说是硬链接数
- 目录来说是子目录的个数,包含
.
和..
文件属者
文件属组
大小
- 文件来说是文件大小
- 目录来说记录的文件的信息,大小是位数+文件名长度
最后一次被修改的时间
文件名
修改文件信息
chmod
:修改文件权限chown
:修改文件属主-R
:修改目录本身的所有者,还递归修改内部文件的所属者
chgrp
:修改文件属组
别名
alias
别名,需要添加到配置文件中,否则只会在当前shell
有效