Linux运维基础

news2024/12/23 21:01:22

一.vim编辑器

1.编辑器介绍

vi/vim是visual interface的简称,是Linux中最经典的文本编辑器,同图形化界面中的文本编辑器一样,vi是命令行下对文本文件进行编辑的绝佳选择,粗暴理解相当于windows下的记事本。

vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字
体来辨别语法的正确性,极大方便了程序的设计和编辑性。我们现在一般都有vim了,不再提vi。

2.编辑器工作模式

  • 命令模式( Command mode ):命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。
  • 输入模式(Insert mode ):也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
  • 底线命令模式(Last line mode ):以:开始,通常用于文件的保存、退出。

文件进入即为命令模式,三种状态的切换如下所示:

j9dV.jpg

3.使用语法

vi 文件路径

vim 文件路径

如果文件路径表示的文件不存在,那么此命令会用于在该路径创建一个新文件并编辑它;如果文件路径表示的文件存在,那么此命令用于编辑已有文件。

4.命令模式下的常用快捷键

序号快捷键描述
1i进入插入模式
2a在光标后插入
3A在行尾插入
4o在当前行下面新建一行并插入
5O在当前行上面新建一行并插入
6w光标向前移动一个词
7b光标向后移动一个词
80移动到行首
9$移动到行尾
10yy复制当前行
11p粘贴
12u撤销
13ctrl + r重做
14:w保存文件
15:q退出 Vim
16:q!强制退出 Vim,不保存修改

命令模式下的快捷键非常多,这里只是列出几个,更多的快捷键大家可以自己探索。

5.底线命令模式下的常用快捷键

序号快捷键描述
1:w保存文件
2:q退出 Vim
3:q!强制退出 Vim,不保存修改
4:wq保存文件并退出 Vim
5:x保存文件并退出 Vim
6:set nu显示行号
7:set nonu取消显示行号
8/string搜索字符串 string(按 n 键查找下一个匹配项)
9?string反向搜索字符串 string(按 N 键查找上一个匹配项)
10:s/old/new/g替换每一行中的所有 old 字符串为 new 字符串
11:help打开 Vim 帮助文档
12:set number显示行号
13:set nonumber隐藏行号

6.演示

这个是一个动态的连续过程,不好用一张图表达,大家自己尝试。

二.用户权限

1.基本认知

首先,哪怕你没学习,也应该知道我们普通用户在很多地方是受限的,提示需要管理员用户权限,在Linux中,我们把管理员用户称为root用户,其拥有操作系统的最大权限。

普通用户的权限,一般在其HOME目录内是不受限的。一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。

2.su-exit

1.基本认知

  • 语法1: su [-] [用户名]

  • 作用:用于账户切换

  • [-] : 符号是可选的,表示是否在切换用户后加载环境变量

  • 参数:用户名,表示要切换的目标用户,也可以省略,省略表示默认切换到root

2.情况说明

  • 切换用户后,可以通过exit命令回到上一个用户,也可以使用快捷键ctrl+d
  • 使用普通用户,切换到其它用户需要输入密码,如切换到root用户
  • 使用root用户切换到其它用户,无需密码,可以直接切换

3.sudo

1.作用

我们虽然可以切换到root用户,但是一般不建议长期使用root用户,避免带来系统损坏。一般我们使用普通用户,在执行某个命令权限不够时,可以使用sudo为命令授权,临时以root用户权限执行。

2.运用

  • 语法:sudo 其他命令
  • 作用:为这条命令授予root用户权限

但是并不是所有的用户都有权利使用sudo,为普通用户配置sudo认证才行。

4.配置sudo认证

流程:

  • 切换到root用户,执行visudo命令
  • 在打开的文件最后一行添加 用户名 ALL=(ALL) NOPASSWD:ALL
  • 通过:wq保存
  • 切换回普通用户即可

NOPASSWD:ALL的意思是普通用户使用sudo命令时不需要输入密码。

三.用户与用户组

1.个人理解

用户我们应该都知道,但是在Linux中也是支持用户组的,用户组即多个用户构成的一个小组。就类比于一个班级,老师就是root用户,ABC普通用户构成一小组,DEF普通用户构成二小组,同时有GHF三个普通用户没有构成小组,这种情况也是允许的,每个小组各包含三个普通用户。

这里需要补充一点,有可能分组时有某个用户特殊,它既是一小组也是二小组,这种情况在Linux中也是允许的。

所以理解用户与用户组之后,我们可以知道Linux中关于权限的管控级别有2个级别,分别是:

  • 针对用户的权限控制
  • 针对用户组的权限控制

比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。

2.用户组管理

首先我们需要知道,只有root用户才能进行用户组管理哦,root用户通过以下命令来管理用户组:

  • groupadd 用户组名:创建用户组
  • groupdel 用户组名:删除用户组

3.用户管理

1.创建用户

  • 语法:useradd [-g -d] 用户名
  • 选项1:-g 用来指定用户组,如果不使用-g会自动创建一个和用户同名的组并加入。例如useradd text表示建立一个text用户并使他加入一个叫text的组中。
  • 选项2:-d 用来指定用户的home路径,如果不使用那么创建的用户默认的home路径就是/home/用户名

2.删除用户

  • 语法:userdel [-r] 用户名
  • 选项:-r 用来删除用户的home目录,不使用-r删除用户时home目录会保留

3.查看用户所属组

  • 语法:id [用户名]
  • 参数:如果不填用户名,表示查看自己

补充:root用户可以使用该命令查看所有普通用户的组,普通用户也可以使用该命令但仅可查看自己。

4.修改用户所属组

  • 语法:usermod -aG 用户组 用户名
  • 作用:使指定用户加入指定用户组

注意:用户加入指定用户组后,它也还是它原来用户组的。

5.getent

1.基本认知1

  • 语法:getent passwd
  • 作用:查看当前系统中有哪些用户

注意:getent passwd用来查看哪些用户,聪明如你应该知道getent还可以查看其他内容,这里的语法仅仅使查看用户的命令,没有系统的解释getnet用法,可以自己探索。

2.补充2

如果你使用过getent passwd,你会发现它每行输出一个用户但还有其他信息,那么其他信息到底是什么呢?格式如下:

用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

3.基本认知2

  • 语法:getent group
  • 作用;显示当前系统有哪些组

4.补充2

输出信息有三组,格式如下:组名称:组认证(显示为x):组ID

6.结果演示

jKi3.jpg

四.权限信息

1.权限信息位置

jls6.jpg

2.认知权限细节

通过1我们知道权限控制信息的位置,下面来详细认识权限信息:

jEhd.jpg

下面通过一个例子来详细了解:现在有 drwxr-xr-x,表示

  • 这是一个文件夹,首字母d表示
  • 所属用户权限是:rwx,可读,可写,可执行
  • 所属用户组权限:r-x,可读,不可写,可执行
  • 其他用户权限:r-x,可读,不可写,可执行

补充:rwx,大家或多或少都接触一点,rw好理解,就是x可能有点难以理解,x表示可以将文件作为程序执行或可以将工作目录改到此文件夹

五.修改权限信息

前面我们知道可以查看文件或文件夹的权限信息,现在学习怎么修改权限信息

1.修改权限

只有文件、文件夹的所属用户和root用户可以进行修改

2.chmod

  • 语法:chmod [-R] 权限 文件或文件夹
  • 选项:-R 表示对文件夹的全部内容应用同样的操作

示例:

  • chmod u=rwx g=r-x o=–x hello.txt 表示把hello.txt文件的权限修改为 u=rwx g=r-x o=–x
  • chmod -R u=rwx g=r-x o=–x text 表示把文件夹text及其里面全部内容权限修改为 u=rwx g=r-x o=–x

3.数字序号表示权限

权限可以用3位数字来代表,第-位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。

数字的细节如下: r记为4, w记为2, x记为1,可以有:

  • 0:无任何权限, 即—
  • 1:仅有x权限,即–x
  • 2:仅有w权限,即-w-
  • 3:有w和x权限 即-wx
  • 4:仅有r权限,即r–
  • 5:有r和x权限,即r-X
  • 6:有r和w权限,即 rw-
  • 7:有全部权限,即 rwx

所以我们之前的命令chomd u=rwx g=r-x o=--x hello.txt 可以修改为chowd 751 hello.txt

4.chown

通过前面学习,知道可以使用chmod修改序号1部分的文件控制信息,同时也可以使用chown命令修改序号2、3部分的用户、用户组信息。

  • 语法:chown [-r] [用户]:[用户组] 文件或文件夹
  • 选项:-R,同chmod,对文件夹里面的内容应用相同规则
  • :用于分隔用户和用户组

补充:如果 [用户]:[用户组] 的参数只有一个表示只修改用户信息。

只有root用户才能使用这个命令修改用户、用户组的信息。

六.说明

新星计划:Linux运维@刘晨阳导师创作打卡2!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/446899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java版UWB人员定位系统源码,提供位置实时显示、历史轨迹回放、电子围栏、行为分析、智能巡检等功能

运用UWB定位技术开发的人员定位系统源码 文末获取联系! 本套系统运用UWB定位技术,开发的高精度人员定位系统,通过独特的射频处理,配合先进的位置算法,可以有效计算复杂环境下的人员与物品的活动信息。 提供位置实时显…

SLAM论文速递【SLAM—— DynaSLAM:动态场景中的跟踪、建图和修复—4.19(1)

论文信息 题目: DynaSLAM:Tracking,Mapping and Inpainting in Dynamic Scenes DynaSLAM:动态场景中的跟踪、映射和修复论文地址: https://arxiv.org/pdf/1806.05620.pdf发表期刊: IEEE Robotics and Automation Letters ( Volume: 3, Issu…

RPC一文精通

基础: http是基于应用层协议,对请求和响应进行规范包装,一次http请求就会进行一次tcp连接和断开连接,属于短链接 udp是异步响应,无需建立连接,就可以发送封装的IP数据包 tcp是基于传输层协议,并规范了三…

Python单向循环链表操作

目录 一、单向循环链表 单向循环链表图 二、单向循环链表的操作 1、判断链表是否为空 2,链表长度 3,遍历整个链表 4,在链表头部添加元素 5、链表尾部添加元素 6,在指定位置插入元素 7,修改指定位置的元素 8&a…

JavaSE 和 Java EE 分别是什么

Java 作为最流行的编程语言受到了许多人的喜爱,其在编程中的地位自不必多说。 对于许多才刚刚入门 Java 的朋友来讲,常常会产生这样的困惑,JavaEE是什么?JavaSE又是什么? Java SE Java SE 是 Java Platform, Standa…

Liunx下进程间通信

文章目录 前言1.进程间通信相关介绍2.管道1.匿名管道2.管道的原理3.通过代码来演示匿名管道4.命名管道5.命名管道的原理6.命名管道代码演示 3.System V共享内存1.共享内存原理2.相关系统接口的介绍与共享内存的代码演示3.共享内存的一些特性 4.system V消息队列与system V信号量…

依赖注入方式

Spring中有哪些注入方式? 我们先来思考 向一个类中传递数据的方式有几种? 普通方法(set方法)构造方法 依赖注入描述了在容器中建立bean与bean之间的依赖关系的过程,如果bean运行需要的是数字或 字符串呢? 引用类型简单类型(基本数据类型与String) Spring就…

Primo Ramdisk内存盘工具软件

简介 Primo Ramdisk 软件的主要功能是通过独特的软件算法将物理内存模拟成一个超快速的硬盘,在这个虚拟硬盘上的读写操作均在内存中完成。由于物理内存的访问速度远远超过物理硬盘,因此虚拟硬盘具有非常高的数据读写速度,从而突破系统IO瓶颈&…

“SCSA-T学习导图+”系列:下一代防火墙

本期引言: 近年来,随着数字化业务带给我们高效和便捷的同时,信息暴露面的增加、网络边界的模糊化以及黑客攻击的产业化,使得网络安全事件相较以往成指数级增加。传统防火墙基于五元组的方式对进出网络的数据流量进行访问控制&…

医院影像图像科室工作站PACS系统 DICOM 三维图像后处理与重建

PACS报告系统的主要任务是通过运用不断积累诊断常用语,减轻出报告的劳动强度,并且将报告保存成电子文档以便日后查阅。在PACS的报告系统中,有三种不同层次的方法输入文字—“高级模板”、“分类词条”和“短语词典”。这三种方法的内容都可以…

记一次从JS到内网的横向案例

前言 前段时间参加了一场攻防演练,使用常规漏洞尝试未果后,想到不少师傅分享过从JS中寻找突破的文章,于是硬着头皮刚起了JS,最终打开了内网入口获取了靶标权限和个人信息。在此分享一下过程。 声明:本次演练中&#xf…

C/C++每日一练(20230422)

目录 1. 存在重复元素 🌟 2. 组合总和 🌟🌟 3. 给表达式添加运算符 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日…

java基于J2EE的学生宿舍信息管理系统

本目 录 摘 要 I ABSTRACT II 第一章 绪论 1 1.1课题研究背景 1 1.2课题的目的和意义 1 1.3开发工具及简介 2 1.3.1开发工具 2 1.3.2 JSP技术 3 1.3.3 JavaScript 4 第二章 需求分析 4 2.1可行性分析 4 2.1.1技术的可行性 4 2.1.2经济的…

Faster RCNN系列1——Anchor生成过程

Faster RCNN系列: Faster RCNN系列1——Anchor生成过程 Faster RCNN系列2——RPN的真值与预测值概述 Faster RCNN系列3——RPN的真值详解与损失值计算 Faster RCNN系列4——生成Proposal与RoI Faster RCNN系列5——RoI Pooling与全连接层 一、RPN模块概述 RPN模块…

jsp946+java物流信息管理平台-sqlserver

本系统是一个独立的系统,用来解决物流信息信息的管理问题。采用JSP技术构建了一个有效而且实用的物流信息信息管理平台,目的是为高效地完成对物流信息信息的管理。 1、内部办公功能:包含工作计划、通告管理、公文管理; 包括可以…

手机录音误删怎么恢复?恢复录音,就这么简单!

案例:手机录音删除了还能恢复吗? 【友友们,苹果手机录音删除了还可以恢复吗?里面有一些关于会议记录的录音,不小心被我删了,有哪些方法可以快速恢复录音文件?】 如果您在使用iPhone手机录音时误…

Python小姿势 - ### Python之禅

Python之禅 Python之禅(The Zen of Python)是Python之父Guido van Rossum所著的一篇文章,总结了Python语言的哲学。 文章开头写道: Beautiful is better than ugly. Explicit is better than implicit. Simple is better than com…

代码随想录--字符串--反转字符串题型

反转字符串 不能给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 我们直接用双指针,一个指头一个指尾,swap交换,然后同时往中间走一步再进入循环交换即可。 反转字符串II 这道题我们容…

linux(18.04)编译安装python3.6的全过程,pip python不与linux系统环境混乱

因为使用要求,使得我需要在linux环境下安装一个独立的python环境,不干扰其他环境。 一,下载python资源包 两种下载方式二选一,谁快选谁 linux下载: 不同的python版本,安装过程是一样的,下载…

蒙层禁止页面滚动

学习链接&#xff1a;蒙层禁止页面滚动的方案 <!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title>蒙层禁止页面滚动的方案<…