常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
- 1. vim 的基本介绍和使用
- 1.1 vim的三种模式
- 1.2 常用vim命令【小白】
- 1.3 Vim键盘图:
- 2. Linux用户管理
- 2.1 添加用户
- 2.2 删除用户
- 2.3 修改账号
- 3. Linux系统用户组的管理
- 4. 用户和组相关文件
- 4.1 /etc/passwd 文件
- 4.2 /etc/shadow 文件
- 4.3 /etc/group文件
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:
相关文章:

常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件1. vim 的基本介绍和使用1.1 vim的三种模式1.2 常用vim命令【小白】1.3 Vim键盘图:2. Linux用户管理2.1 添加用户2.2 删除用户2.3 修改账号3. Linux系统用户组的管理4. 用户和组相关文件4.1 …...

阿里云服务器部署前后端分离项目
阿里云服务器部署 【若依】 前后端分离项目 文章目录一、域名解析二、服务器操作系统置空三、部署方式四、需安装环境配置五、Linux服务器安装相应内容(具体安装步骤)(一)安装JDK(3种方式)使用Yum安装&…...

内核经典数据结构list 剖析
前言:linux内核中有很多经典的数据结构,list(也称list_head)为其中之一,这些数据结构都是使用C语言实,并且定义和实现都在单独的头文件list.h中。可以随时拿出来使用。list.h的定义不同linux发行版本路径不同,我们可以在/usr/incl…...
华为OD机试 - 考优选核酸检测点(Python)| 真题+思路+考点+代码+岗位
优选核酸检测点 题目 张三要去外地出差,需要做核酸,需要在指定时间点前做完核酸, 请帮他找到满足条件的核酸检测点。 给出一组核酸检测点的距离和每个核酸检测点当前的人数给出张三要去做核酸的出发时间 出发时间是 10 分钟的倍数 同时给出张三做核酸的最晚结束时间题目中…...

在魔改PLUS-F5280开发板上使用合封qsp iflash
文章目录引言硬件调整软件调整总结引言 由于目前灵动官网暂未发布正式版的PLUS-F5280开发板,可以使用现有的PLUS-F5270 v1.2开发板(下文简称PLUS-F5270开发版)替换为MM32F5280微控制器芯片,改装为PLUS-F5280开发板。本文记录了使…...

uni-app 瀑布流
效果图 一、组件 components/u-myWaterfall.vue <template><view class"u-waterfall"><view id"u-left-column" class"u-column"><slot name"left" :leftList"leftList"></slot></view&…...
华为OD机试 - 去除多余空格(Python)| 真题+思路+考点+代码+岗位
去除多余空格 题目 去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。 条件约束: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQABYuJD-1676475739950)(https://…...
MyBatis 二级缓存简单使用步骤
1、二级缓存使用 在 MyBatis 中默认二级缓存是不开启的,如果要使用需手动开启。在 mybatis-config.xml 配置文件中设置 cacheEnabled true ,配置如下: <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE c…...
kubeadmin kube-apiserver Exited 始终起不来查因记录
kubeadmin kube-apiserver Exited 始终起不来查因记录 [rootk8s-master01 log]# crictl ps -a CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD b7af23a98302e …...

论文投稿指南——中文核心期刊推荐(工程材料学)
【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...

【动态规划】背包问题题型及方法归纳
背包问题的种类 背包问题是在规定背包容量为j的前提下,每个物品对应的体积为v[i],价值为w[i],从物品0到物品i中选择物品放入背包中,找出符合某种要求的价值。 (1)背包问题种类 01背包:每种物…...

全球十大资质正规外汇期货平台排行榜(最新版汇总)
外汇期货简称为FxFut,是“Forex Futures”的缩写,是在集中形式的期货交易所内,交易双方通过公开叫价,以某种非本国货币买进或卖出另一种非本国货币,并签订一个在未来的某一日期根据协议价格交割标准数量外汇的合约。 …...
使用Paramiko时遇到的一些问题
目录 1.背景 2.问题合集 1)“bash: command not found” 2)Paramiko中正常的输入,却到了stderr,而stdout是空 3)命令实际是alias 1.背景 在自动化脚本中,使用了库Paramiko,远程SSH到后台服…...

数据预处理(无量纲化、缺失值、分类特征、连续特征)
文章目录1. 无量纲化1.1 sklearn.preprocessing.MinMaxScaler1.2 sklearn.preprocessing.StandardScaler2. 缺失值3. 分类型特征4. 连续型特征数据挖掘的五大流程包括:获取数据数据预处理特征工程建模上线 其中,数据预处理中常用的方法包括数据标准化和归…...
【C#基础】C# 运算符总结
序号系列文章2【C#基础】C# 基础语法解析3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用文章目录前言运算符1,算术运算符2,布尔逻辑运算符3,位运算符4,关系运算符5,赋值运算符6,其他运算符7&am…...

存储性能软件加速库(SPDK)
存储性能软件加速库SPDK存储加速存储性能软件加速库(SPDK)SPDK NVMe驱动1.用户态驱动1)UIO2)VFIOIOMMU(I/O Memory Management Unit)3)用户态DMA4)大页(Hugepage…...

微服务(五)—— 服务注册中心Consul
一、引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency>二、配置yml文件 server:port: 8006spring:application:name: cloud-payment-con…...

冷冻电镜 - ChimeraX Density Map 密度图 操作
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/129055160 由冷冻电镜所生成的Volume,需要观察其内部结构,使用ChimeraX进行操作。 加载Volumes,例如my_volume.mrc 效果如下: 高斯滤波 在命令行(Co…...
Matlab 点云旋转之轴角式
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 三维空间中表示旋转的方法有很多种,轴角式是其中非常经典的一种表示方式。虽然欧拉角表示旋转的方法很是常用,但欧拉角存在着万向锁这个问题,因此轴角式旋转在旋转使用中更为合适。其原理也很是明了,如下所述:…...

2023美赛数学建模资料思路模型
美赛我们为大家准备了大量的资料,我们会在比赛期间给大家分析美题目和相关的思路 全文都是干货,大家仔细阅读,资料文末自取! 首先我们来看美赛23年题型的一个变化: 美赛23年题目变化: A题:连…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...