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 + zCtrl + r:撤销的撤销,在win上是Ctrl + yvim可视化模式- 字符可视化:在普通模式下按小写
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有效