Linux运维基础

简介: Linux运维基础

一.vim编辑器

1.编辑器介绍

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


vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字

体来辨别语法的正确性,极大方便了程序的设计和编辑性。我们现在一般都有vim了,不再提vi。

2.编辑器工作模式

命令模式( Command mode ):命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。

输入模式(Insert mode ):也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode ):以:开始,通常用于文件的保存、退出。

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


5f1527e636d4b3684985ab3ea57c9e42.jpg

3.使用语法

vi 文件路径

vim 文件路径

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

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

序号 快捷键 描述

1 i 进入插入模式

2 a 在光标后插入

3 A 在行尾插入

4 o 在当前行下面新建一行并插入

5 O 在当前行上面新建一行并插入

6 w 光标向前移动一个词

7 b 光标向后移动一个词

8 0 移动到行首

9 $ 移动到行尾

10 yy 复制当前行

11 p 粘贴

12 u 撤销

13 ctrl + 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.结果演示

494576507d931896ab311139e9fd8a5e.jpg

四.权限信息

1.权限信息位置

5df0ded81136d646ea58432a285086cf.jpg

2.认知权限细节

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

bb6650f85f2d81677c0f875dfdbd8db3.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!

相关文章
|
安全 Shell Linux
|
运维 网络协议 Linux
|
Web App开发 运维 Linux
|
运维 Linux 数据库
|
运维 Linux 开发工具
|
运维 Shell Linux