当前位置: 首页 > news >正文

常用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的三种模式

  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:

相关文章:

常用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 中默认二级缓存是不开启的&#xff0c;如果要使用需手动开启。在 mybatis-config.xml 配置文件中设置 cacheEnabled true &#xff0c;配置如下&#xff1a; <?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 …...

论文投稿指南——中文核心期刊推荐(工程材料学)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…...

【动态规划】背包问题题型及方法归纳

背包问题的种类 背包问题是在规定背包容量为j的前提下&#xff0c;每个物品对应的体积为v[i]&#xff0c;价值为w[i]&#xff0c;从物品0到物品i中选择物品放入背包中&#xff0c;找出符合某种要求的价值。 &#xff08;1&#xff09;背包问题种类 01背包&#xff1a;每种物…...

全球十大资质正规外汇期货平台排行榜(最新版汇总)

外汇期货简称为FxFut&#xff0c;是“Forex Futures”的缩写&#xff0c;是在集中形式的期货交易所内&#xff0c;交易双方通过公开叫价&#xff0c;以某种非本国货币买进或卖出另一种非本国货币&#xff0c;并签订一个在未来的某一日期根据协议价格交割标准数量外汇的合约。 …...

使用Paramiko时遇到的一些问题

目录 1.背景 2.问题合集 1&#xff09;“bash: command not found” 2&#xff09;Paramiko中正常的输入&#xff0c;却到了stderr&#xff0c;而stdout是空 3&#xff09;命令实际是alias 1.背景 在自动化脚本中&#xff0c;使用了库Paramiko&#xff0c;远程SSH到后台服…...

数据预处理(无量纲化、缺失值、分类特征、连续特征)

文章目录1. 无量纲化1.1 sklearn.preprocessing.MinMaxScaler1.2 sklearn.preprocessing.StandardScaler2. 缺失值3. 分类型特征4. 连续型特征数据挖掘的五大流程包括&#xff1a;获取数据数据预处理特征工程建模上线 其中&#xff0c;数据预处理中常用的方法包括数据标准化和归…...

【C#基础】C# 运算符总结

序号系列文章2【C#基础】C# 基础语法解析3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用文章目录前言运算符1&#xff0c;算术运算符2&#xff0c;布尔逻辑运算符3&#xff0c;位运算符4&#xff0c;关系运算符5&#xff0c;赋值运算符6&#xff0c;其他运算符7&am…...

存储性能软件加速库(SPDK)

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

微服务(五)—— 服务注册中心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美赛数学建模资料思路模型

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

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...