yum -y install vim
出现以下就是安装成功
vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
vim的这些优势主要体现在以下几个方面:
1.vim拥有所有vi命令功能;
2.vi只能在Unix / Linux,vim可以在Unix / Linux,windows系统上使用
3.vim编辑器,自动根据文件你内容显示不同的颜色
进入方式 vim filename
进入编辑模式 i
从编辑模式退出 按esc 再输入:wq 单击回车键
基本上vim可以分为三种状态,分别是命令模式 (command mode)、插入模式 (Insert mode) 和底行模 式 (last line mode).
命令行模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last )
插入模式:也称为编辑文本模式 只有在Insert mode下,才可以做文字输入,按 「ESC」键可回到命令行模式。
底行模式: 将文件保存或退出vi,也可以设置编辑环境,如搜索、替换、保存、退出、撤销、高亮等等
不过一般我们在 使用时把vi简化成两个模式,就是将底行模式 (last line mode)也算入命令行模式command mode)。
可以显示颜色
在最底部set nu
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
$ 当前行的最后一个字符
Shift+ zz 保存退出,与“:wq”作用相同
v 进入字符可视模式
V 或 Shift + v 进入行可视模式
Ctrl + v 进入块可视模式
u 取消上一步操作 Ctrl+r 返回到undo之前
r 替换光标所在处字符
R 从光标所在处开始替换,按esc结束
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
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
要想实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除、修改以及用户密码的管理。
用户组的管理。
注意三个文件:
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
显示当前登录的用户: whoami
用户管理
查看用户信息
使用cat命令来查看一下保存用户信息的文件 ,保存用户信息的文件保存在 /etc/passwd文件里面
cat /etc/passwd
: 号代表含意:
yyl:x:1000:1000:yyl:/home/yyl:/bin/bash
root 用户名 : x 密码:0 :0 :root :/root :/bin/bash
域分割符这个文件有7个域分别是:
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户名称,后期登录的时候需要输入;
密码位:此密码位置一般情况都是“x”,表示密码的占位;
用户标示号:用户的识别符
默认组标示号:该用户所属的主组ID;
注释:用于描述用户的信息
家目录:用户登陆系统的默认目录,默认是在/home/下、
解释器:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;
根用户都是从0开始的(第三个域)
除了第一行root外,下面的都是操作系统的伪用户(除普通用户外)
超级用户:(root,UID=0)
普通用户:(UID在500到60000)
伪用户:(UID在1到499)
伪用户不能登录系统,而且没有宿主目录
为什么需要伪用户:没有用户登录时,linux系统依然要运行,有很多进程在跑着,所以必须需要一些伪用户来执行那些命令
root:$6$SZEY4if7AdQloPZp$qCYvpjK9DQedV.vA/Da7oWciD7BvMJ.gMc7VJ7bDBrIrsawuGAOKZS1CqWQA0Gm3.G45J6iNiALw2Ypu5k422.::0:99999:7:::
用户名:密码:更改密码的日期:密码不可被更改的天数(0随时可以更改):密码需要更新的时间:
提前几天进行提醒
:号的含义
保留:最后一个栏位是保留的,看以后有没有新功能加入。
保存用户组的文件:/etc/group
保存用户组密码的文件:/etc/gshadow
用户配置文件:/etc/default/useradd
常用语法:#groupadd [选项] 用户组名
常用选项:
-g:类似用户添加里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字,如果自己不指定,则默认从1000之后递增;
案例:使用groupadd指令创建一个新的用户组,命名为xxx
groupadd xxx
groupmod [选项] 组名
常用选项:
-g:类似用户修改里的“-u”,-g表示选择自己设置一个自定义的用户组ID数字
-n:类似于用户修改“-l”,表示设置新的用户组的名称
案例:修改Administrators用户组,将组ID从502改成520,将名称改为admins
groupmod -g 520 -n admins Administrators
改组名字
联合使用
groupdel 组名
注意:当如果需要删除一个组,但是这个组是某个用户的主组时,则不允许删除;如果确实需要删除,则先从组内移出所有用户。
usermod -g 用户组 用户名
注:-g–gid,修改用户的gid,该组一定存在
多组:
usermod -G 组名,组名 用户名
usermod -G test,root yyl
-- change group premission
chgrp 组名 文件名
chgrp g1 /home/test
chmod 770 /home/test
750
用数字来表示权限(r=4,w=2,x=1,-=0)
useradd [选项] 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-c comment:添加注释
案例:创建用户 yyl 不带任何选项
验证是否成功:
a. 验证/etc/passwd的最后一行,查看是否有yyl的信息;
b. 验证是否存在家目录(在Centos下创建好用户之后随之产生一个同名家目录);
注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
a. 创建同名的家目录;
b. 创建同名的用户组;
创建一个用户 yzh 主组是root 附加组是yyl id是2000 注释是 yzh班级
案例:添加选项,创建用户lisi,让lisi属于501主组,附加组500,自选号666,注释是 lisi。
useradd -g 501 -G 500 -u 666 lisi
注意:查看用户的主组可以查看passwd文件,查看附加组可以查看group文件。
组合使用
usermod [选项] 用户名
Usermod:user modify,用户修改
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义号
-l:修改用户名
案例:修改yyl用户主组为500,附加组改为501
usermod -g 500 -G 501 yyl
案例:修改yyl用户用户名,改为yuyongli
usermod -l 新的用户名 旧的用户名
#usermod -l yuyongli yyl
注意:已经登录的用户不能修改
groups 用户名 --- 用户所在的组
Linux不允许没有密码的用户登录到系统,因此前面创建的用户目前都处于锁定状态,需要设置密码之后才能登录计算机。
passwd 用户名
案例:设置yuyongli用户的密码
设置密码之后在shadow文件中能够看出用户是否有密码。
在设置用户密码之后可以登录帐号,例如此处需要登录yuyongli
切换用户命令:su [用户名] (switch user)
从root往普通用户切换不需要密码,但是反之则需要root密码;
常用语法:userdel [选项] 用户名
常用选项: -r:表示删除用户的同时,删除其家目录;
案例:删除yuyongli用户
注意:已经登录的yuyongli用户删除的时候提示删除失败,但是没有登录的lisi用户可以正常删除
如果想要删除yuyongli这个用户可以强制删除
a. ps -ef|grep yuyongli
b. kill -9 xxx
提示:所有跟用户操作的命令(除passwd外)只有root超级管理员有权限执行。
ls /home
usermod -L 用户名
usermod -L yyl
usermod -U 用户名
查看当前时间
[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