RHCSA 笔记 持续更新中

可以参考的网站:Linux的菜鸟教程

一些命令和暴力破解密码

暴力破解密码

(以防意外  先拍摄快照 后期转到拍摄快照的位置)

先将虚拟机关机,再开机,得把鼠标点进去,在如下图中中断内核的自动运行,在此处按e

(上面的是正常进入红帽时的内核版本  下面的是需要救援时才需要进入的)

RHCSA 笔记 持续更新中_第1张图片

 vmlinuz代表内核模式 

在linux这一行末尾加上rd.break   (相当于打断内核的加载)

再按ctrl+xRHCSA 笔记 持续更新中_第2张图片

 把一个根系统加载了读写权限

RHCSA 笔记 持续更新中_第3张图片

为指定用户修改密码,并将此内容在开启过程时运行

RHCSA 笔记 持续更新中_第4张图片

两次退出RHCSA 笔记 持续更新中_第5张图片

 等待即可

一些命令

ethernet ens160 ens336 ens16777736

#IP A 有环回地址 #ifconfig

#hostname查看主机名

[用户@连接到的主机 当前所在目录路径(工作目录)]命令提示符# $ [root@localhost ~]

目录等于文件夹

hostname

localhost.local

家目录 创建用户自动创建一个和用户同名的目录

通用匹配符 ~

#pwd print work doing direct 打印正在工作的完整路径

我是谁 我在哪 我要做什么

#hostname A 改主机名为A

#hostnamectl set-hostname www 永久更改主机名,重启也生效

命令格式

命令

命令 参数(对象)

命令 -选项

命令 -短选项(一个字母)(方式) 参数

命令 --长选项(完整的单词)

VMware-workstation

www.xshell.com 下面有家庭学校免费版 远程连接工具

iso 镜像

osi 七层

ios 苹果操作系统

机架式

刀片式

塔式

小型机

部署学习环境:虚拟机VMware workstation+红帽8.5

查看命令解释器 echo $SHELL

[root@RHCSA ~]# sh

sh-4.4# exit

exit

[root@RHCSA ~]#

[root@RHCSA ~]# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

[root@RHCSA ~]# chsh -l

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

ssh 22

关机 shutdown -h now poweroff 相当于断电 halt -f 强制关机

重启 reboot

[root@www ~]cat /etc/redhat-release Red Hat Enterprise Linux release 8.5 (Ootpa)

[rootawww~]#uname -r 内核版本

4.18.0-348.e18.x8664

主版本.子版本.bug修改次数-编译版本号.企业.架构

passwd 设置用户密码修改用户密码 -d删除 管理员:可以指定用户名可以更改任意用户的密码 不需要旧密码删除用户密码 密码可以不满足复杂规则要求 普通用户:不能指定用户名默认只能更改自己的密码

文件结构:

                           /

                root           home

                                     |

                                  radhat

cd切换目录

绝对路径:一切从根开始查找 /home/redhat

相对路径:相对于当前所在路径开始查找 cd redhat

cd ../../.. 返回上一级的上一级的上一级

~当前用户家目录

.当前目录

..上一级目录

-匹配上一次所切换的路径

linux思想:一切皆文件

ls list

命令 -选项... 参数...

ls -a 把隐藏文件也显示出来 (. .. 两个目录的属性)

ls -l== ll 长格式显示文件信息(文件基本属性文件名)

ll -h 以人类可读的形式 文件大小单位标记

ll -d 显示指定目录的属性信息

ll -i 显示文件的inode节点号

Irwxrwxrwx. 1 root root 7 Jun 21 2021 bin

第一列

权限标识符

第二列

硬链接次数

第三列

文件的所属用户

第四列

文件的所属组

第五列

大小

第六列

创建时间或者修改时间

第七列,最后一列

文件名

1 l代表链接文件

*用于不同目录下文件的共享。* 链接文件一般指的是一个文件的软连接(或符号链接) 软链接相当于给原文件创建了一个快捷方式, 如果删除原文件,则对应的软链接文件也会消失。 如果想要创建一个文件的链接文件 可以使用 ln 命令来创建 文件名为浅蓝色

2 -代表普通文件

用于存放数据、程序等信息的文件。 类比于windows下的txt文档,可以在里面编辑内容 他一般是灰色字体,绿色字体的是可执行文件,红色字体的是压缩文件。

3 d代表目录文件(文件夹)

Linux 中的目录也是文件,目录文件中保存着该目录下其他文件的 inode 号 和文件名等信息,目录文件中的每个数据项都是指向某个文件 inode 号的链接,删除文件名就等于删除与之对应的链接。 蓝色

设备文件 (黄色) 分为块设备文件和字符设备文件

4.b表示块设备文件:用于与I/O设备提供连接的一种文件, 块设备有磁盘、光盘等, 设备文件一般存放在 /dev/ 目录下,

5 C 字符设备文件

字符设备文件以字节流的方式进行访问,字符设备就是输入输出设备,键盘,鼠标,显示器,甚至是终端,终端就是标准的输入输出设备

6 p 管道文件

主要用于在进程间传递数据。

可以使用 mkfifo 命令来创建一个管道文件

在 FIFO 中可以很好地解决在无关进程间数据交换的要求,FIFO 的通信方式类似于在进程中使用文件来传输数据,只不过 FIFO 类型的文件同时具有管道的特性,在读取数据时,FIFO 管道中同时清除数据。

棕色

7 s 套接字文件 套接字(socket)文件通常用于网络数据连接。 套接字= (IP地址:端口号)

紫色

FHS(文件系统层次化标准)

RHCSA 笔记 持续更新中_第6张图片

/ Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录

/bin Binary的缩写,存放普通用户可执行的程序或命令

/boot 存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动

/dev dev 是设备(device)的英文缩写。包含所有的设备文件

/etc 存放了系统管理时要用到的各种配置文件和子目录

/home 存放一般用户的个人目录

/lib 是库(library)英文缩写,存放系统的各种库文件

/lib64 存放系统本身需要用到64位程序的共享函数库(library)

/mnt/media 可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点

/opt 该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统

/proc 可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的

/root 超级用户的个人目录,普通用户没有权限访问

/run 保存自系统启动以来描述系统信息的文件

/sbin 和/bin类似,这些文件往往用来进行系统管理,只有root可使用

/srv srv 是服务(server)的简写,服务启动之后需要访问的数据目录

/sys 本目录是将内核的一些信息映射文件,以供应用程序所用

/tmp 用来存放不同程序执行时产生的临时文件。

/home 存放一般用户的个人目录

/usr 一般用户程序安装所在的目录,用于安装各种应用程序

/var 通常各种系统日志文件放在这里

RHCSA 笔记 持续更新中_第7张图片

元数据 数据

文件属性 内容

文件名是目录文件中的数据

RHCSA 笔记 持续更新中_第8张图片

硬链接:多个文件指向同一个节点号

创建多个硬链接 防止误删除 对文件名进行备份

RHCSA 笔记 持续更新中_第9张图片

面试重点:软硬链接区别

(1)符号链接又叫软链接,和原文件不是一个文件。例如Windows的快捷方式,

作用特点:在指定路径查找某个文件访问快速便捷,删除源文件快捷方式不能访问

创建对象:文本文件目录文件都可以创建,并且可以跨文件系统

创建链接文件:ln -s 原文件 链接文件

如何判断是否是链接文件:l

(2)硬链接

慨念:多个文件名指向同一个node

作用特点:防止用户误删除,备份(仅对文件名备份)

创建对象:对目录文件不能创建并且不可以跨文件系统(跨盘)

创建硬链接:n原文件新文件

ln -选项 参数

ln 创建硬链接文件

ln 源文件 目标文件(创建的链接文件)

-s 创建一个软链接文件

ln -s 源文件目标文件(创建的链接文件)

touch a.txt
mkdir dirname 创建目录文件
ln -s a.txt a.lnk
ll 查看
echo 12345 >> a.lnk

cat a.txt

注:创建链接文件如果源文件和目标文件不在同一个路径,源文件和目标文件都用绝对路径

创建一个文本文件

touch 文件名(区分大小写)

创建硬链接

touch file

ln file fff

RHCSA 笔记 持续更新中_第10张图片

 inode号相同

echo this is a file >> file 编辑文件内容

为什么目录文件的链接次数为2

每一个目录都有一个当前目录的标识符 .

[root@RHCSA ~]# touch /root/file
[root@RHCSA ~]# ln -s /root/file /haha

lrwxrwxrwx.   1 root root   10 Oct 23 14:05 haha -> /root/file

[root@RHCSA /]# touch /home aaa
[root@RHCSA /]# touch /a.txt
[root@RHCSA /]# ln -s /home/aaa /a.txt

[root@RHCSA /]# ln /home/aaa /root/A

date命令

date 查看当前时间

[root@RHCSA ~]# date
Sun Oct 23 22:53:33 CST 2022

 按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:

[root@RHCSA ~]# date "+%Y-%m-%d %H:%M:%S"       如果没有双引号,则为两个参数
2022-10-23 22:54:39

将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:

[root@kongd ~]# date -s "20201101 8:30:00"

Sun Nov 1 08:30:00 CST 2020

将系统的当前时间设置为月日时分年.秒的格式

[root@RHCSA ~]# date 101112122020.10
Sun Oct 11 12:12:10 CST 2020

 cal 命令

RHCSA 笔记 持续更新中_第11张图片

1752 9月

少了12天

英国更换历法

timedatectl命令

timedatectl [参数]

timedatectl status   显示状态信息

RHCSA 笔记 持续更新中_第12张图片

 timedatectl list-timezones  列出已知时区

RHCSA 笔记 持续更新中_第13张图片

 timedatectl   set-time    设置系统时间

[root@kongd ~]# timedatectl set-time 2021-05-18

timedatectl set-timezone   设置生效时区

[root@kongd ~]# timedatectl set-timezone Asia/Shanghai

wget命令

wget [参数] 网 址

-b 后台下载模式

-P 下载到指定目录

-t 最大尝试次数

-c 断点续传

-p 下载页面内所有资源,包括图片、视频等

-r 递归下载

[root@kongd ~]# wget https://down.qq.com/qqweb/LinuxQQ/linuxqq_2.0.0-b2-1089_x86_64.rpm

[root@kongd ~]# rpm -i linuxqq_2.0.0-b2-1089_x86_64.rpm

rpm红帽的下载格式

创建目录(make directory)——mkdir命令

命令格式: mkdir [-p] [/路径/]目录名 -p——可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖

mkdir -pv p1/p2/p3/p4 v详细的

RHCSA 笔记 持续更新中_第14张图片

统计目录及文件的空间占用情况——du命令

功能:查看某个目录中的各级子目录所占用的磁盘空间数。

命令格式: du [选项] [目录名] 如果不跟目录名,则缺省为当前目录。

-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。

-s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小。

-h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。

复制(copy)文件或目录--cp命令

功能:目录或文件的复制。

命令:cp [选项] 源文件 目标文件

-a 通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录

-d 拷贝时保留链接。

-f 在覆盖已经存在的目标文件时不提示。

-i 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷 贝。

-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标 文件必须为一个目录名。

-l 不作拷贝,只是链接文件

移动(mv)文件或目录--mv命令

mv命令用于剪切或重命名文件

语法格式为:“mv [参数] 源文件名称 目标文件 名称”。 剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某 个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作

RHCSA 笔记 持续更新中_第15张图片

删除(remove)文件或目录--rm命令

格式:rm [选项] 文件或目录名及路径

功能:删除文件或目录,可包含一个或多个文件名(各文件间用空格分隔)或用通配符表达,以实现删除多 个文件或目录。

-f 在覆盖已经存在的目标文件时不提示。

-i 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷 贝。

-r 递归删除整个目录树

touch [选项] 文件或目录名列表

功能: 若指定的文件或目录已存在,则将文件或目录的日期和时间修改为当前系统的日期和时间。 若指定的文件不存在,则以指定的文件名创建空文件

创建多个文件

RHCSA 笔记 持续更新中_第16张图片

 RHCSA 笔记 持续更新中_第17张图片

RHCSA 笔记 持续更新中_第18张图片

查看文件

1.查看文本文件的内容——cat命令

命令格式:cat [选项] 文件名列表

说明:文件名可使用通配符

常用选项:

-n——对输出内容中的所有行标注行号。

-b——对输出内容中的非空行标注行号。

2.分页查看文件内容——more和less命令

命令格式: more | less [选项] 文件名

常用选项:

-数字——仅适用于more命令,用来指定分页显示时每页的行数。

+num——指定从文件的第num行开始显示。

-c——从顶部清屏然后显示文件内容。

3.命令:head | tail [选项] 文件名     默认十行

常用选项有:

-num——指定需要显示文件多少行的内容,若不指定,默认只显示十行。

-f——使tail不停地去读取和显示文件最新的内容, 以监视文件内容的变化。这样有实时监视的效果。

tail命令更多的用于查看系统日志文件,以便于观察重要的系统消息,特别是结合使用-f选项,tail会自动实时 地把打开文件中的新消息显示到屏幕上,从而跟踪日志文件末尾的内容变化,直至按【Ctrl+C】键终止显示 和跟踪。

vi

没有颜色

vim

有颜色

u撤回

d+enter 删除当前所在行以及下一行

dd 删除当前所在行

4dd 删除开始以下的四行

dG 光标位置删除到文档尾

dgg 删除光标当前位置到行首

x 删除光标所在字符

S删除所在行 并进入insert

yy 复制

4yy 复制开始以下的四行

cc 剪切

5cc 剪切开始以下的四行

p粘贴

行号 G 跳转到指定行

G 跳转到最后一行

gg 跳转到第一行

$ 跳转到一行行尾

^ 一行行首

命令--->插入模式:

A 插入内容到行尾

a 插入内容到下一个字符

O 插入内容到光标所在位置上一行

o 插入内容到光标所在位置下一行

S 删除光标所在行并插入

s 删除光标所在字符并插入

i 当前位置

I 行首

末行模式

:set nu 设置行号

:set nonu 不显示行哈

?bin 查找bin 高亮

:noh 取消高亮

:45 跳转到45行

:q 退出

:q!强制退出

:wq! 强制保存退出

:w file11 把文件也写到file11里面

:r /etc/passwd 读取到光标所在行的下一行

:s /要替换的字符串/替换后的字符串/g

:s /0/2/ 替换 当前所在行的第一个

:%s /0/2/ 该文件的所有行

:%s /0/2/g 替换 在文档中所有都替换

ctrl+z 直接退出进程

[root@RHCSA ~]# rm -rf .user.swp

ctrl+v --> 键盘选取对应的块标记---> I---> 编辑内容 ---->按esc

nano也可以编辑

变量是可以命名的内存空间

4.6

单引号强引用

管道符

passwd root

echo redhat | passwd --stdin root 标准输入流

head -5 /etc/passwd |tee file 会覆盖

head -5 /etc/passwd |tee -a file 只会添加

cat /etc/passwd > file 重定向符 会覆盖

cat file

cat /etc/passwd >> aaa 追加重定向符 追加写入

< 输入重定向符

cat < /etc/passwd 输出到屏幕了 (省略)

<<终止结束符

cat << EOF

[root@RHCSA ~]# cat << EOF
> 1
> 234
> EOF
1
234
[root@RHCSA ~]#

[root@RHCSA ~]# cat << EOF > bbb
> 1
> 2
> 3
> EOF

[root@RHCSA ~]# cat bbb
1
2
3

1正确 2错误 &正确和错误

head -3 /etc/passwd 1> ccc 2>bbb  将正确结构写到ccc里面  将错误写到bbb里面

head -3 /etc/passwd > file 2>&1 等价于  head -3 /etc/passwd &>file 将错误输出的和正确输出的都输出

grep命令

 关键字标红并输出

-c   关键字 有几行

-i  忽略大小写

-n 显示行号

-v   显示没有这个关键字的行

-A      -A 2:搜索时显示匹配到的那一行以及下2行

RHCSA 笔记 持续更新中_第19张图片

 -B             搜索时显示匹配到的那一行以及上2行

-C              搜索时显示匹配到的那一行以及上下2行

-O              显示关键字一共出现过多少个

* 表示通配符 

grep命令如果有特殊字符需要用单引号

RHCSA 笔记 持续更新中_第20张图片

^顶尖符       行首

 $        行尾

grep '[abc]' aaa   将aaa包含abc字符的内容显示

 

 grep '[a-z]' aaa   将aaa中有字母的显示

grep '^[^1,34/5]' aaa    将在行首不包含1,34/5的显示

grep '^$' aaa 显示空白行

^# 匹配以井号开头的

 grep -v ^# /etc/login.def |gref -v ^$  不显示以井号开头  不显示空行

grep -r haha ./*   搜索haha在哪个目录下

文本剪切 cut

-d  指定分隔符

-f 指定列

-c 指定第几个字符

--output-delimiter=     指定分隔符号

cut -d : -f 1 /etc/passwd  

cut -c 1-3 /etc/passwd

cut -d : -f 3,4,5 --output-delimiter=" " /etc/passwd

sort   按字符比较

-t 指定间隔符

-n 按数值

-r 按逆序

-k  指定字段排序

[root@RHCSA ~]# sort -rn -t : -k 3 /etc/passwd

 uniq 只去重连续的行

-c   统计重复的行的次数

-d   只显示重复的行

-D 显示重复出现的所有行

一般先排序,再去重

sort aaa | uniq

history 显示所敲的命令

tr 替换命令

tr -c   反选定

tr -t  等长度字符替换

tr -d 删除指定字符

tr -s  多个连续的字符替换为某一个字符    

RHCSA 笔记 持续更新中_第21张图片

RHCSA 笔记 持续更新中_第22张图片

[root@RHCSA ~]# history | tr -s " " " " | cut -d " " -f 3- | sort | uniq -c | sort -n | tail -3
      8 cd ~
     12 ls
     31 ll

把命令最高的前三行显示

 wc 参数 文件名   统计指定文本文件的行数,字数或字节数

wc -l  只显示行数

-w 统计单词数 

或 echo /etc/passwd 文件一共有`cut -d : / -f : 1`行

``  等价于  $()

 一个中文占三个字节   繁体字是占四个字节

which 查找文件路径 基于5个环境变量

查找的是可执行文件 x

RHCSA 笔记 持续更新中_第23张图片

whereis 查找环境变量下的文件  不是可执行文件也可以找到

locate 123    路径有123的都显示出来  基于数据库搜索

 updatedb 更新数据库   数据库可以提高读写速度

find查找

find [查找路径] 寻找条件 操作

        / 

-atime 访问时间

-mtime 修改时间    文件内容修改

-ctime 改变时间(改动时间属性 权限)

 4 第四天前的这一整天

-4 <=4天前

+4 4天前的

find / -mtime -30 30天内修改过的文件
 

find / -newer f1 ! -newer f2   查找在f1之后在f2之前的文件

find -prune  排除

find /pub -path /pub/dir -prune  -o -name 6

-o 代表或者

RHCSA 笔记 持续更新中_第24张图片

 find / -type f -name abc  找文本文件并且文件名叫abc

 find / -type f -a -name abc

find / -name 1* -o -name *1  找到以1开头或以1 结尾的文件

find -size  50 K 以单位来搜索  

find -user   -group  -nouser -nogroup -uid -gid    

find -inum

find -ok

find -exec    以换行符为分割

find -perm   

|xargs    参数传递  一次性

find / -name test -ok rm -rf {} \;

zip命令    压缩后源文件还在

zip 文件名

zip -r 递归压缩

zip -m test1.zip test2.zip 添加

zip -d 23.zip 2   删除

zip text.txt -x test1.txt 文件排除某个文件

zip -9   压缩率最高的

gzip和gunzip命令     压缩后源文件不在了

bzip2、bunzip2

xz、unxz命令

tar命令   对多个文件压缩   不在同一路径下

tar [选项] 打包文件名   被打包的源文件或目录列表

   -c   创建

   -x     释放

   -t      查看压缩包的文件信息

   -v   显示详细信息

   -f    压缩包名     多个文件包名        

  -p    

  -z

[root@RHCSA ~]# type cd
cd is a shell builtin

查看命令帮助手册

man  内置命令  

man 1 目录名       查看第五章节

命令  --help 

passwd 该当前命令

命令的返回结果

echo $?  查看命令是否执行成功    0表示成功  非0是失败

pinfo选项

可以超链接

info

time cd /      time touch file查看执行时间

cd内置命令  几乎没有时间

touch外置命令     几微秒

alias 别名

#alias userfile="cat /etc/passwd" 

#userfile 则可查看

仅在当前终端生效

永久生效

#vim /etc/bashrc

G o

在最后写

#alias userfile="cat /etc/passwd" 

重新加载程序   或   #bash

unalias 取消别名

vim ~/.bashrc 只针对当前用户

su 用户    切换用户  

#su -l redhat

#su - redhat 更改用户并切换自己家目录

pstree   查看进程

#注释

history

vim ~/.bash_history

history -w

清空历史

rm -rf ~/.bash_history

history -c

history 3 显示最近三条   

history -w

cat ~/.bash_history

!3   匹配上三条所执行的命令

!!3

!-3

快捷键

ctrl+l  清屏

通配符

*         匹配任意字

?        单个字符

[]        方括号内任意一个

[^]

私有模式:默认用户对应的组是和用户同名的组
公有模式:
用户的类别
        管理员:root    root   0 (用户id为0一定是管理员用户)
        普通用户:     1--65535
                系统用户  1-999       1-200 系统用户  权限比管理员低一些 比普通用户高一些
                一般用户  redhat        1000-60000  

可登录式shell
非登陆式shell
name:password:UID:GID:GECOS:directory:shell
用户名
密码占位符

用户的1D
组ID  (标记当前用户的基本组)
用户的猫述和注释
用户家目录~         /home

shell   可登录式shell    例  /bin/bash
           非登陆式shell    例   /sbin/nologin

查看这个用户     id 用户名

                        cat /etc/passwd | grep ^用户名     行首是关键字信息

修改用户信息   usermod [选项]  用户

更改登录名称    usermod -l 更改后的名字   更改前的名字

修改用户id   uid               -u 1000    尽量1000以后

修改基本组GID                -g   1000

修改用户的附加组(默认没有附加组,等于添加)          -G   root

描述信息做标记                -c  18910017654

指定家目录                        -d /

更改用户的shell                 -s /sbin/nologin

锁定该用户                        -L    root用户可访问    其他普通用户登录就不行

解锁用户                            -U 

删除用户信息

userdel -r  用户名     递归删除   如果这个基本组只有一个用户,则会删除这个基本组

userdel 用户名    在/home中和   /var/spool/mail还有的  

添加用户信息

useradd和 mod类似     补充  -r指定用户为系统用户

useradd -r user2   创建系统用户   

#cat /etc/default/useradd

#cat /etc/login.defs        -------->设置了创建用户的默认信息               

RHCSA 笔记 持续更新中_第25张图片

组类别
        管理组
        蔷通组:
                默认组,基本组
                额外组

groupadd

id -g user1 查看用户的组id

id -u user1 查看用户id值

id user1 查看用户的uid和gid

cat /etc/group | grep ^g1   查看g1的组名是否存在

cat /etc/group

组名:组密码占位符:gid:该组中的用户名

groupmod

groupmod -n  组名   更改组名

                 -g  更改组id

groupdel 组名

groupdel g1  额外组不管里面有没有用户,都可以被删除

groupdel user1  不能删除基本组

/etc/shadow  用户密码

/etc/gshadow   组密码

更改密码

1.#passwd更改当前用户的密码

2.#echo redhat | passwd --stdin root     对于root用户修改密码   密码暴露  可以删除这条历史信息

通过 history -d 183  来删除       history -c 是删除所有的历史纪录

3.chpasswd < 文本文件     可以修改多个账户的密码  文本文件有   用户名:密码

4.echo redhat:123456 | chpasswd    修改redhat的密码

cat /etc/shadow    记录了所有用户的密码

RHCSA 笔记 持续更新中_第26张图片

第二个字段  密码   如果没有密码 用!!或 * 表示

第三个字段 是最近一次更改密码的时间,以距离1970年1月1日的天数表示

第四个字段  密码最短时间  如果0 则可以长期使用

第五个字段  密码最长时间   99999  永不过期

passwd  -m   修改密码的最长时间

passswd -n  修改密码的最短时间

passwd  -w  警告(快过期了)

                -l   锁定

                -u   解锁

gpasswd g1  修改组密码

newgrp   g1  更改为组g1     

#gpasswd  -a  用户名   组名   将用户加入组

#gpasswd -r 删除组密码

#usermod  usermod -G 组名 用户

#gpasswd - d  将用户从组中移除

#gpasswd  -M 用户名1,用户名2   组名  一次性将多个用户加入到指定组中

#gpasswd  -A 用户名  组名   将此用户设置为组长

#gpasswd  -R  锁定组密码

实验
创建学习组1,学习组2; 他们的组gid分别为1111,2222,添加成员并将uid为1088,
和uid为1066的成员为两组的组长,其中一组组长有一个处号’1aoda.
不同学习组进入需要密码才能进入(设置密码):即使密码泄露也不希望组之外的成员进入。

#groupadd  -g 1111 stu1

#groupass -g 2222 std2

#useradd -u 1088 haha

#useradd xixi

#useradd -u 1066 user1

#useradd user2

#usermod -G std1 haha

#gpasswd -a xixi std1

#gpasswd -M user1,user2 std2

#gpasswd -A haha  std1

#usermod -c laoda haha

#gpasswd std1

#gpasswd std2

#gpasswd -R std1

#gpasswd  -R std2

给用户授权一些权限

vim /etc/sudoers

 redhat不设置密码

 

 RHCSA 笔记 持续更新中_第27张图片

#users

 当前主机的用哪些身份做了验证  远程登录的身份

root root  redhat

#w   查看登录信息

RHCSA 笔记 持续更新中_第28张图片

 #whoRHCSA 笔记 持续更新中_第29张图片

RHCSA 笔记 持续更新中_第30张图片

 #whoami

当前用户信息

#groups redhat

显示当前的属于的组

#last 近期主机的登录的用户

rwx

每三组字符为一组   三组:所属用户的权限  所属组权限 其他用户的权限 

./+ 扩展权限标识符     . 没有扩展权限  +有扩展权限

8 4 2 1

d r w x    r-x          r-x.   2 root  root   6 Jul  music

7               5           5

文本文件:r 查看文件内容(cat tac more less tail head vim nano grep)

                w 编辑文本内容 (vim nano   echo > >> cat < file)

                x 执行(运行文本内容)命令文件

目录文件:r    ll  ls    ls-l   查看目录文件中的文件

                w   在该目录下创建或者删除文件

                x   打开目录文件   cd

系统中默认创建文本的权限是什么?644    默认最高权限666

系统中默认创建目录的权限是什么?755    默认最高权限777

权限掩码值:#umask=022(权限过滤符)  按字符过滤

                     #umask=033

666  rw- rw- rw-

033  ---  -wx -wx

633 rw- r-- r--           644    (不借位  按字符想减)

权限修改方式:
chown更改文件的所属用户     chown 所属用户 FILENAME   

( 只能root用户可以修改 )        chown 所属用户:所属组  FILENAME

                                                chown .所属组 FILENAME
chgrp更改文件的所属组   chgrp 所属组 FILENA777ME
chmod 更改文件权限        chmod ugo=rwx   FILENAME chmod u=rw.g+w.o-r FILENAME

                                          chmod 644 FILENAME

                                           chmod 6 FILENAME == 006    66=066

      (作为管理员可以更改任意文件权限,但是普通用户只能改属于改自己的文件)                                 

./1   执行当前目录的1文件

对于目录文件有读取权限:rw
                             写权限:rwx

文件三组权限的匹配顺序:

首先判读发起者用户(登录用户)是否是文件的所属用户,是:只匹配所属用户位的权限

                                                                                           不是:判断是否是该文件的所属组用户,如果是只匹配组权限,不是,直接匹配其他用户位的权限。

权限匹配规则:(安全上下文)

判读可执行文件进程发起者身份,通过进程文件的发起者身份对目标文件是否有读写执行文件

        命令文件                        (当前终端的发起者身份)

直接判断发起者身份对于目标文件是否是所属用户,是直接判断文件所属用户的权限;是:只匹配所属用户位的权限   不是:判断是否是该文件的所属组用户,如果是只匹配组权限,不是,直接匹配其他用户位的权限。

RHCSA 笔记 持续更新中_第31张图片

RHCSA 笔记 持续更新中_第32张图片

将文件 /etc/fstab 复制到 /var/tmp/fstab 。配置 /var/tmp/fstab 的权限以满足如下条件:

        文件 /var/tmp/fstab 自 root 用户所有
        文件 /var/tmp/fstab 属于组 root
        文件 /var/tmp/fstab 应不能被任何人执行
        所有其他用户(未来)能够读取 /var/tmp/fstab

#cp /etc/fstab /var/tmp/fstab

#chown root /var/tmp/fstab

#chgrp root/var/tmp/fatab

#chmod ugo-x /var/tmp/fstab
#chmod -x /var/tmp/fstab = chmod a-x /var/www/fstab

#chmod o+r /var/tmp/fstab

创建具有以下特征的协作目录 /home/managers:/home/managers 的组用权是 sysmgrs。
  目录应当可被 sysmgrs 的成员读取,写入和访问。但任何其他用户不具这些权限。        (当然,root 用户有权访问系统上的所有文件和目录)。

#mkdir /home/managers
#groupadd sysmgrs
#chown .sysmgrs
/home/managers
1811588
#chmod g=rwx /home/managers
#chmod o=-/home/managers
#chmod g=rwx,o=-/home/managers    #chmod 770 /home/managers 

特殊权限:
u+s   4  SU1D所属用户的特权位/禁锢位 (仅对一个可执行文件(命令)设置有意义,该命令文件的进程的所属用户不是用户发起者身份,而是对一个可执行文件(命令)文件自身的身份)   rws   没有的话rwS

RHCSA 笔记 持续更新中_第33张图片
g+s   2  SG1D所属组的特权位/禁锢位(可对一个可执行文件(命令)设置有意义,该命令文件的进程的所属组不是用户发起者的基本组,而是可执行文件(命令)自身的所属组)可对目录文件设置:对该目录的所属组禁锢:后期用户在该目录下创建的文件的所属组都是目录文件的所属组。


0+t    1  sticky  冒险位   (仅对目录文件设置有意义,用户只能删除该目录属于自己的文件,不删除别人的文件)

扩展权限:

查看文件的扩展权限
#getfacl   FILENAME 

RHCSA 笔记 持续更新中_第34张图片

设置扩展权限 

对于指定用户设置扩展权限 #setfacl -m u:redhat:rwx FILENAME

对于指定组设置扩展权限 setfacl -m g:g1:rwx FILENAME

删除扩展权限

删除指定用户扩展权限#setfacl -x u:redhat:   zhang1   

清空扩展权限列表#setfacl -b FILENAME

RHCSA 笔记 持续更新中_第35张图片

RHCSA 笔记 持续更新中_第36张图片

RHCSA 笔记 持续更新中_第37张图片

RHCSA 笔记 持续更新中_第38张图片

网络管理:

对当前主机配置动、静态ip地址

(1)自动获取地址

ip地址

        掩码

网关

dns

(2)手动配置地址

nmcli 网络管理命令行工具

nmcli device show 显示设备属性信息(详细信息)

设备 status 查看设备和配置(会话)连接状态

delete 删除指定的网卡设备

connect 连接

disconnect 断开连接(设备和会话的连接)

nmcli connection

会话(配置)

vim /etc/sysconfig/network-scripts/ifcfg-ens160

1.添加ens160设备会话(配置)文件
        网络管理命令       添加     设备类型 以太网卡   设备名  ens160   会话名    home
[root@localhost ~]# nmcli connection add type ethernet   ifname ens160 con-name home
Connection 'home' (23565ffe-898c-4c55-8373-f2d54de34751) successfully added.

2.手动配置地址---home配置文件
[root@localhost ~]# nmcli connection modify home  ipv4.method manual ipv4.addresses 192.168.10.222/24 ipv4.gateway  192.168.10.2 ipv4.dns 114.114.114.114 +ipv4.dns 8.8.8.8 connection.autoconnect yes
[root@localhost ~]# nmcli connection up home   激活会话(配置)文件
 
  ----------------------------
[root@localhost ~]# nmcli connection modify  home ipv4.method  manual
[root@localhost ~]# nmcli connection modify  home ipv4.addresses  192.168.10.123/24  
[root@localhost ~]# nmcli connection modify  home ipv4.gateway   192.168.10.2   
[root@localhost ~]# nmcli connection modify  home ipv4.dns 114.114.114.114    
[root@localhost ~]# nmcli connection modify  home connection.autoconnect yes   
3.home配置文件---动态获取ip地址
(1)[root@localhost ~]# nmcli connection modify home ipv4.method  auto
  将home会话静态模式改为动态获取模式(静态地址没有删除,所以激活该会话文件,默认静态和动态地址都有)
  [root@localhost ~]# nmcli connection up home   激活会话(配置)文件   
(2)[root@localhost ~]# nmcli connection edit  home     
nmcli> goto ipv4
nmcli ipv4> remove  addresses 192.168.10.222   
nmcli ipv4> remove  dns 114.114.114.114
nmcli ipv4> remove gateway  192.168.10.2
nmcli ipv4> set method auto
nmcli ipv4> save
nmcli ipv4> quit
将home会话静态模式改为动态获取模式,先删除静态地址信息,更改模式
[root@localhost ~]# nmcli connection up home   激活会话(配置)文件

对当前主机配置动静态p地址

自动获取地址

         p地址
        掩码
        网关
        dns
手动配置地址

图形化界面

nmtui
nm-connection-editor

软件包  包名

获取软件包

网上下载,,本地获取

文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。

/mnt  临时挂载点

mount /dev/

baseos   

RHCSA 笔记 持续更新中_第39张图片

第一种: rpm格式软件包管理

rpm

 -qa 查询所有已安装的软件包

 rpm -qa |grep 包名字符串

 -ql 查看软件释放的文件

 -qf 通过文件绝对路径可以找出该文件通过哪个包释放

 -ivh 安装软件包

 -evh 卸载软件包

 -Uvh 更新软件包

 -qpi 查看软件包详细信息

yum install [-y] 包名 安装指定的软件包,-y则在工作过程中需要使用者响应, 这个选个参数可以直接回答yes
yum update [-y] 包名 升级指定的软件包或主机中所有已安装的软件包
yum remove [-y] 包名 卸载已经安装在系统中的指定的软件包
yum provides 文件名 查找指定的文件属于哪个包; rpm -qf
yum info 包名 查看指定软件包的详细信息 rpm -qpi
yum repolist [all] 查看系统中yum资源库配置信息
yum search 模糊包名 查看模糊包名的软件包
yum grouplist 查看仓库里而所有包组
yum groupinfo 包组名 查看指定包组里而的详细信息
yum groupinstall 包组名 安装指定包组里面的所有包
yum list all 列出仓库里所有可安装的软件包
yum list installed [包名] 列出己经安装的所有的或指定的rpm包(包名中可使用匹配符) rpm -qa
yum clean all 清除下载到本机的指定的软件包或所有软件包的yum源缓存

rpm 简单,需要加载配置 yum/dnf 需要加载配置

 包名 软件名

 必须指定包的路径

 不能自动解决依赖关系

1.确认包的所在位置(本地,网络获取-开源镜像站centos fedora rucky)

#mount /dev/sr0 /mnt 仅在当前主机运行状态下生效

2.yum配置文件(仓库文件)

vim /etc/yum.repos.d/*.repo

[源表示名]

name=描述信息

baseurl=本地协议/网络协议

gpgcheck=公私要验证0关闭 1开启

enabled= 启用 0关闭 1开启

配置本地源
[root@localhost Packages]# cat /etc/yum.repos.d/base.repo 
[BaseOS] 
name=RHEL8-BaseOS-pkg
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
 
 
 
#网络源
[BaseOS1]
name=BaseOS1
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/BaseOS/x86_64/os
gpgcheck=0
[AppStream1]
name=AppStream1
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/AppStream/x86_64/os
gpgcheck=0

3.安装软件包

#dnf install 软件

第二种:源码程序包安装

配置 编译 安装

案例一:tar源码包安装
(1)安装编译程序,编译工具
#dnf  install gcc  gcc-c++ make
(2)解压源码程序包
#rz    --把源码包传输到linux主机
(源码程序包必须放在一个对普通用户有rx权限的目录下)
#mkdir  /test    --把包放在test目录    755
#cd /test   对包解压缩
#tar -zxvf   tar-1.29.tar.gz
(3)配置
#cd tar-1.29
#su - redhat
$cd /test/tar-1.29
$./configure
$exit
(4)编译
#make
(5)安装
#make install

跨主机传输文件

window--linux

(1)xftp---sftp安全文件传输协议--端口22   
(2)linux中安装lrzsz
rz   ---接受文件
sz  FILENAME    发送文件

linux--linux

(1)sftp
 (2) scp   文件   目标主机对应的路径下                   发送文件
     #scp  /root/134   [email protected]:/root
     scp   目标主机对应的路径下文件   目录下                接受文件
     #scp  [email protected]:/root/132   /root
    -r  发送接受目录文件

appstream

dnf   对软件仓库的进行管理

#dnf clean all  清除缓存

#dnf remove 软件名 == #dnf  erase  软件名  -y  卸载   -y可以不用输入y

#dnf groupinstall  组名   组安装

#dnf provides /usr/etc/vim

#dnf search ftp

#jobs   查看后台进程
#w
平均负载值
一分钟  五分钟   十分钟
uptime  


ps  显示前台的进程
# ps -ef    所有进程
uid    pid    ppid    c        stime    tty    time    cmd
root       5304       4969      0         09:53     pts/0    00:00:00 ps -ef
发起者    进程号    父进程     cpu的占用率    启动时间    终端    
#ps aux    静态显示
ps aux --sort %cpu | less  以进程所占大小进行排序

   
#pstree   树状结构   没有命令        

pgrep -l sshd


重点:top    每隔三秒刷新     动态的
    

top - 10:24:02 up  4:45,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 265 total,   1 running, 263 sleeping,   1 stopped,   0 zombie            各类进程的数量信息
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st        cpu的统计结果
MiB Mem :   1806.2 total,    579.7 free,    682.1 used,    544.4 buff/cache
MiB Swap:   4096.0 total,   4096.0 free,      0.0 used.    956.4 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND     
     1 root      20   0  187500  13796   8940 S   0.0   0.7   0:01.70 systemd    


pr  优先级        ni    

-d  
-b
-n

kill -9 5220    强制杀死进程
killall 命令    


sleep 60  睡60s

sleep 600 &   放在后台运行

fg 1 把后台放前台       

bg  %2 让作业2在后台运行

ctrl+z  把前台放后台

nohup 保护进程

&  把前台进程放后头


vim fdisk nmcli dnf


为什么分区   只能对分区指定文件系统类型(格式化类型)
多个分区   方便管理(可以定义多种文件系统类型,文件类型分类存储)
linux     /     swap          /boot    一般
    /     swap                 必须

磁盘单位:    扇区---512个字节
        块------4k
dos --mbr 一扇区  512    446  主引导程序  64   四个分区表项   一个分区表占用16  2结束标记

        只能把一个主分区=扩展分区+逻辑分区  (最好24)
       gbt  可128个分区
.
1.是否具备分区条件
#lsblk 查看系统块设备
2.fdisk(mbr)   不可大于2tb             parted(gbt)  可大于2tb
 fdisk   /dev/nvme0n2
3,指定文件系统类型
#mkfs.xfs /dev/nvme0n2p1
#mkfs.ex4 /dev/nvme0n2p2
4.使用分区
#mount /dev/nvme0n2p1 /p1 临时挂载
                    文件系统名称      挂载点目录
#umount /p1
    挂载点或者文件名称

vim /etc/fstab
文件系统名称   挂载点目录  格式类型  参数   检查     是否备份(0  1   2)
#mount -a     
#reboot
5.检查方法   
#mount    查看所有挂载点信息
#df -h    文件系统


swap分区

#parted     
                

你可能感兴趣的:(linux)