1. vim 的基本介绍和使用
Linux内置vi文本编辑器。Vim具有程序编辑的能力,可以看作是vi的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计,代码补全,编译以及错误跳转等方便编程的功能特别丰富。
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
1.1 vim的三种模式
- 正常模式:vim编辑器的默认模式,在一打开文件时即为这个模式。通过上下左右键移动光标和相关指令,完成删除复制粘贴字符的操作。
- 插入模式:按下 i,I,o,O,a,A,r,R等任何一个字母后才会进入编辑模式。
- 命令行模式: 输入 esc + : , (esc键和冒号)。在命令行模式下可以输入相关指令,完成读取,存储,替换,退出vim,显示行号…
利用Vim进行文件编写,通过vim后面指定文件名和类型即可
vim 文件名.文件类型
1.2 常用vim命令【小白】
在命令模式下使用,行号可有可无,如果没有则是指定当前行,有的话就是从光标当前往下找指定的行数,然后一并进行操作。
比如:20 yy
意思为从当前行往下找,一共20行都进行复制。
复制
[行号] yy
,粘贴[行号] pp
,删除[行号] dd
。撤销:
u
,u 可以撤销上一步,就像windows中的ctrl+z
。行号:在命令模式下,通过
:set nu
可以显示行号 ,:set nonu
取消显示行号。定位:在一般模式下,通过
G
将光标定位到文件末尾,gg
将光标定位到文件开头。在命令行模式下,通过行号 shift+g
可以定位到指定的文件行。查找:
/关键字
,文件中搜索某个关键字可以通过这个指令来完成(在一般模式和命令模式下完成),然后如果找到多个重名关键字可以通过n
来进行查找下一个。保存:命令行模式下
:wq
,保存并且退出,:q
退出,:w
保存写入,:q!
不保存然后直接退出。
1.3 Vim键盘图:
2. Linux用户管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
2.1 添加用户
添加新的用户,通过指令useradd 选项 用户名
的方式来进行用户添加。
useradd 选项 用户名
#选项的参数值可以是:
# -c comment 指定一段注释性描述。
# -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
# -g 用户组 指定用户所属的用户组。
# -G 用户组,用户组 指定用户所属的附加组。
# -s Shell文件 指定用户的登录Shell。
# -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
# tip:选项参数可以不写
选项列表:
在Linux中,/home目录为存放普通用户的主目录,Linux中的每个用户都有一个自己的目录,一般目录名就是该用户的账号名。
例子:使用shell为Linux添加一个用户,并且查看其用户目录
首先,我们查看当前Linux中的用户都存在那些用户
cd /home/ # 目录切换到普通用户的主目录
ls # 查看当前普通用户都存在哪些用户
然后进行用户添加,添加名为fish的用户
useradd fish
为fish用户设定密码(注意这里记得看清楚用户名,如果不输入用户名的话默认是对当前用户执行)
passwd fish
2.2 删除用户
删除用户通过指令 userdel 选项 用户名
(选项与useradd命令是一致的),删除用户可以分为,删除用户账号和删除用户账号及用户目录。
仅删除用户账号:userdel 用户名
,删除用户账号及用户目录userdel -r 用户名
。
例子:删除一个用户账号其名为fish,删除一个用户账号及用户目录,其名为demo,然后对其home目录进行查看。
userdel fish # 只删除fish的用户账号
ls # 进行查看
userdel -r demo # 删除demo用户的账号及用户目录
ls # 进行查看
2.3 修改账号
修改在用户账号的信息使用usermod命令,其格式为usermod 选项 用户名
。
例子:创建一个用户past,将其用户目录指定为pastTest,然后再通过usermod命令将用户目录改为past目录。
创建用户past,并且将其用户目录指定为pastTest
useradd past -d /home/pastTest # 新增用户past指定其用户目录为pastTest
cd /home/ # 切换到home目录下
ls # 查看home下的普通用户目录
使用cat /etc/passwd
命令查看用户的详细信息,可见past用户的用户目录在pastTest。
cat /etc/passwd
修改用户past的用户目录为past,然后进行查看
usermod -d /home/past/ past # usermod 选项 用户
cat /etc/passwd # 查看用户的详细文件信息
3. Linux系统用户组的管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
用户组其实类似于角色这一个概念,系统可以对有共性/权限的多个用户进行统一的管理。
语法格式:新增用户组=>groupadd 组名
,删除用户组=>groupdel 组名
,修改用户组=>usermod -g 用户组 用户名
例子:创建两个用户dog,cat将他们的组名设置为animal.
groupadd animal # 创建一个animal的用户组
useradd -g animal dog # 语法格式 useradd -g 用户组 用户名 (将dog用户添加到animal用户组中)
useradd -g animal cat
使用cat /etc/passwd
命令,查看用户信息
使用cat /etc/group
命令,查看组名信息
4. 用户和组相关文件
4.1 /etc/passwd 文件
/etc/passwd文件是用户管理工作涉及的最重要的一个文件,Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。
用户的配置文件,记录用户的各种信息。
每行的含义:用户名:口令:用户标识号:组标识号:注释信息描述:主目录:登录Shell
例如:
robin:x:1000:1000:robin:/home/robin:/bin/bash
4.2 /etc/shadow 文件
口令的配置文件。
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
例如:
robin:$6$zzbJ.SeyxtEs.Sz7$fZ4wz8x18OeeHghwYk0zO7/muOSRPt2djNdXXHO54hMTjlik4MhEoqmF505Cfw1wTZbkERBYgVBhLh/6hvnKh0:19402:0:99999:7:::
4.3 /etc/group文件
组的配置文件,记录Linux包含的组的信息。
每行的含义: 组名:口令:组标识号:组内用户列表
例如:
robin:x:1000: