常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件

简介: 这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。

1. vim 的基本介绍和使用

在这里插入图片描述

Linux内置vi文本编辑器。Vim具有程序编辑的能力,可以看作是vi的增强版,可以主动的以字体颜色辨别语法的正确性,方便程序设计,代码补全,编译以及错误跳转等方便编程的功能特别丰富。

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

1.1 vim的三种模式

  1. 正常模式:vim编辑器的默认模式,在一打开文件时即为这个模式。通过上下左右键移动光标和相关指令,完成删除复制粘贴字符的操作。
  2. 插入模式:按下 i,I,o,O,a,A,r,R等任何一个字母后才会进入编辑模式。
  3. 命令行模式: 输入 esc + : , (esc键和冒号)。在命令行模式下可以输入相关指令,完成读取,存储,替换,退出vim,显示行号…

在这里插入图片描述

利用Vim进行文件编写,通过vim后面指定文件名和类型即可

vim 文件名.文件类型

1.2 常用vim命令【小白】

在命令模式下使用,行号可有可无,如果没有则是指定当前行,有的话就是从光标当前往下找指定的行数,然后一并进行操作。

比如:20 yy 意思为从当前行往下找,一共20行都进行复制。

  1. 复制 [行号] yy,粘贴[行号] pp,删除[行号] dd

  2. 撤销:u,u 可以撤销上一步,就像windows中的 ctrl+z

  3. 行号:在命令模式下,通过 :set nu 可以显示行号 ,:set nonu 取消显示行号。

  4. 定位:在一般模式下,通过G将光标定位到文件末尾,gg将光标定位到文件开头。在命令行模式下,通过行号 shift+g可以定位到指定的文件行。

  5. 查找:/关键字,文件中搜索某个关键字可以通过这个指令来完成(在一般模式和命令模式下完成),然后如果找到多个重名关键字可以通过n来进行查找下一个。

  6. 保存:命令行模式下: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:

相关文章
|
3天前
|
缓存 监控 Linux
|
6天前
|
Linux Shell 数据安全/隐私保护
|
21小时前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
20 7
|
22小时前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
16 5
|
3天前
|
缓存 Linux 开发者
深入理解Linux命令 `autom4te`
`autom4te` 是 GNU Autotools 中不可或缺的组件,通过高效处理 M4 宏,生成配置脚本并提供强大的调试功能。了解 `autom4te` 的工作机制和常用选项,可以帮助开发者更好地编写和维护配置文件,从而提高软件项目的配置和编译效率。在实际应用中,结合 `autoconf` 等工具,`autom4te` 能够为项目的构建过程提供坚实的基础。
11 2
|
5天前
|
Linux 开发工具
linux文本管理命令
本文档介绍了Linux系统中常用的文本处理命令,包括`echo`、`cat`、`head`、`tail`、`wc`、`less`、`grep`以及重定向符号的使用方法和练习题。此外,还详细讲解了VIM编辑器的特点、工作模式、常用快捷键和高级技巧,帮助用户高效地进行文本编辑和处理。
20 4
|
5天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
19 2
|
4天前
|
缓存 监控 Linux
|
开发工具 数据库 git
我的vim配置文件
    强烈拥护开源精神,高举开源大旗,今天我就分享下我自己结合网上还有自己实际使用配的vimrc,可以给各位参考下,不要见笑,具体说明我在rc里写的也很详细,可以具体看下,也希望可以借这个机会能多认识认识几个Vimer们.
1091 0