vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
vim的这些优势主要体现在以下几个方面:
1.vim拥有所有vi命令功能;
2.vi只能在Unix / Linux,vim可以在Unix / Linux,windows系统上使用
3.vim编辑器,自动根据文件你内容显示不同的颜色
Yum -y install vim
底行模式: 在最下面一行执行的命令 底行模式
\
进入方式 vim filename? ?进入编辑模式 i
从编辑模式退出 按esc 再输入:wq 单击回车键
:set nu 显示行号
:n 到文本的第n行
:set nonu 取消行号
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
$ 当前行的最后一个字符
u 取消上一步操作 Ctrl+r 返回到undo之前
r 替换光标所在处字符
R 从光标所在处开始替换,按esc结束
x 删除光标所在字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到末尾行的所有内容
D 删除光标所在处到行尾的内容
:25,27d 删除指定范围的行,从第25行到第27行
Shift+ zz 保存退出,与“:wq”作用相同
v 进入字符可视模式
V 或 Shift + v 进入行可视模式
Ctrl + v 进入块可视模式
Linux中vi编辑器的使用详解,下面的引号和括号不算啊
光标的移动除了键盘上的上下左右键.也可以是小写模式下,按键盘上的"h,j,k,l",
"ctrl+b":屏幕往后移动一页
"ctrl+f":屏幕往前移动一页
"ctrl+u":屏幕往后移动半页
"ctrl+d":屏幕往前移动半页
输入任何一个整数,然后输入"shift+G" 就可以到这一页的开头了.
按键盘上的大写"G"移动到文章的最后.
按"$"符号将光标移动到行尾
"^"将光标移到行头
"w":将光标移到下一行头
b":跟"w"相反.移到上一行行头
"e":将光标移到下一行尾.
如果想让文本显示行号.就在【命令行】 模式下,在文本最后输入":set nu"命令.就可以了
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴 功能。
用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的.
替换
「r」:替换光标所在处的字符。 ,按一下"r"然后输入要即可.
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。
按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.
在命令模式下使用“s/原字符/新字符/g” 代表当前行所有
如果想全局替换,s变为%s
:%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g)
--注:把abc替换成123
(或者: %s/str1/str2/g 用str2替换文件中所有的str1)
:20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g)
--注:把20行到30行内abc替换成123
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
显示当前登录的用户: whoami
使用cat命令来查看一下保存用户信息的文件 ,保存用户信息的文件保存在 /etc/passwd文件里面
cat /etc/passwd
保存用户组的文件:/etc/group
保存用户组密码的文件:/etc/gshadow
用户配置文件:/etc/default/useradd
常用语法:#groupadd [选项] 用户组名
常用选项:
-g:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从1000之后递增;
案例:使用groupadd指令创建一个新的用户组,命名为xxx
groupadd xxx
添加一个组 ?组的名字是qy172 组的id 是1172
Groupadd -g id的值 组的名字
groupmod [选项] 组名
常用选项:
-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字
-n:类似于用户修改“-l”,表示设置新的用户组的名称
Groupmod -g id的值 -n ?新组的名字 旧的组的名字
把testbaby?组的id 改成8888?组的名字改成baby8888
groupdel 组名
注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移出所有用户。
-- change group premission
chgrp 组名 文件名
chgrp g1 /home/test
chgrp 组名 文件名
添加
Groupadd
Groupmod
Groupdel
Useraddd 用户名字
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-c comment:添加注释
验证是否成功:
a. 验证/etc/passwd的最后一行,查看是否有yyl的信息;
b. 验证是否存在家目录(在Centos下创建好用户之后随之产生一个同名家目录);
注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
a. 创建同名的家目录;
b. 创建同名的用户组;
切换用户
从root往普通用户切换不需要密码,但是反之则需要密码;
Useradd -g?-G-u-c
Userdel 名字
Userdel -r 名字 ?删除这个用户的所有的信息(组,家目录,密码)
改
usermod -L 用户名
usermod -L yyl
usermod -U 用户名
R ?read ??4
W write ?2
X ?excute 1
drwxr-xr-x
第一位代表的是文件的属性 ?
d 代表的目录
L 代表的是链接
- 代表的是文件
Rwx 从2-4 三位代表的是当前用户的权限 读写操作
r-x??从5-7 代表的是当前用户所在的组的权限 读 和操作
r-x??其他组 ?读和操作的权限
查看当前时间
[root@localhost ~]# date
格式化当前的时间
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2021-02-21 21:57:00
date "+%F %T"
获取之前或者之后的某个时间(备份)
#date -d "-1 day" "+%Y-%m-%d %H:%M:%S"
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
查看硬件时间
[root@localhost ~]# hwclock
Sun 21 Feb 2021 09:59:01 PM PST -0.992879 seconds
设置当前的时间
[root@localhost ~]# date -s "2024-01-11 11:21:00"
Mon Feb 22 14:00:00 PST 2021
将系统时间同步到硬件时钟
[root@localhost ~]# hwclock --systohc
[root@localhost ~]# date && hwclock
时间不一致的问题:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime