RHCSA认证-Linux(RHel9)-Linux入门


文章目录

  • 概要
  • 一、创建、查看和编辑⽂本
    • 1.1 输出重定向
    • 1.2 vim编辑器
    • 1.3 shell 变量
    • 1.5 获取帮助
  • 二、管理本地用户和组
    • 2.1 描述用户
    • 2.2 切换用户和赋权
    • 2.3 用户管理
    • 2.4 用户组管理
    • 2.5 密码策略
  • 三、控制文件访问
    • 3.1 列出文件和文件权限
    • 3.2 更改文件权限和拥有者
    • 3.3 控制默认权限
    • 3.4 使用命令行工具管理文件
    • 3.5 制作文件间的链接
    • 3 .6 环境变量
    • 3.7 附
  • 四、监控和管理程序
    • 4.1 查看进程
    • 4.2 作业控制
    • 4.3 终止进程
    • 4.4 监控活动进程
    • 4.5 列出系统守护进程
    • 4.6 控制系统守护进程
  • 五、OpenSSH 服务
    • 5.1 远程服务
    • 5.2 免密登录
    • 5.3 禁止root 直接登录
  • 六、分析和存储日志
    • 6.1 日志体系机构
    • 6.2 查看系统日志
    • 6.3 保留系统日志
    • 6.3 保持准确的时间
  • 七、RHEL 网络管理
    • 7.1 测试和解释网络配置
    • 7.2 管理网络设置和设备
    • 7.3 配置文件修改网络配置
  • 八 归档与系统间复制文件
    • 8.1 查看大小
    • 8.2 打包
    • 8.3 压缩
    • 8.4 复制
  • 九 安装与升级软件包
    • 9.1 rpm
    • 9.2 dnf
  • 十 Linux 文件系统
  • 134一、提高命令行生产效率
  • 134二、Linux 计划任务
    • 2.1、例:定时同步任务
  • 134 三、系统调优
    • 3.1 tuned简介
    • 3.2 tuned使用
  • 134 四、管理SELinux
    • 4.1 SeLinux 工作模式
    • 4.2 调整Selinux的Contexts
  • 134 五、 管理基本存储
    • 5.1 分区
    • 5.2 格式化 挂载
  • 134 六、 逻辑卷管理
    • 6.1 lv ,vg,pv简介
    • 6.2创建,扩展逻辑卷
  • 134 七、 访问NFS网络
    • 7.1 NFS 简介
    • 7.2 NFS安装配置
    • 7.3 自动挂载网络
  • 134 九、管理网络安全
    • 9.1 firewall-cmd命令
    • 9.2 管理SeLinux端口标签
  • 134 十一、运行容器
    • 11.1 容器技术介绍
    • 11.2 容器管理工作
    • 11.3 容器镜像
    • 11.4 配置容器注册表

概要

红帽认证考试全上机实操,一天考完,上午的RHCSA认证是三小时,对应的是RH124和RH134的课程内容,而下午的RHCE认证是四小时,对应的是RH294课程内容。考试后的成绩正常会在72小时内公布,满分均为300,达到210分合格,会连同成绩和电子证书发送到考试邮箱中。
红帽认证架构师(Red Hat Certified Architect,RHCA)属于Linux系统的最高级别认证,是公认的Linux操作系统顶级认证,考生需要在获得RHCSA与RHCE认证后再完成5门课程的考试才能获得RHCA认证,因此难度最大,备考时间最长,费用也最高(考试费约在1.8万元~2.1万元人民币)。该认证考察的是考生对红帽卫星服务、红帽系统集群、红帽虚拟化、系统性能调优以及红帽云系统的安装搭建与维护能力。

RHCSA
1.1、红帽系统管理阶段一:(RH124) RH124主要学习系统管理的基础知识,例如安装系统、用户管理、网络管理、远程管理以及软件管理等等
1.2、红帽系统管理阶段二:RH134 RH134主要学习编写Shell自动化脚本、磁盘管理、计划任务、系统安全维护等等
RHCE
1.3、红帽系统管理阶段三:Linux 自动化(RH294) RH294主要学习ansible自动化管理工具的使用方法。专为需要自动执行置备、配置、应用部署和编排的 Linux®
系统管理员和开发人员设计。了解如何在管理工作站上安装和配置 Ansible®;使托管主机做好自动化的准备;编写 Ansible Playbook 以自动执行任务;运行 playbook 以确保服务器正确部署和配置
2、RHCA 诊断和故障排除专家考试:RH342

以考促学,红帽认证学习,Linux全面系统学习最好的方式,没有之一

一、创建、查看和编辑⽂本

1.1 输出重定向

标准输⼊、标准输出和标准错误
在这里插入图片描述
在这里插入图片描述
/dev/null 回收站
在这里插入图片描述

echo hell0 >test.txt 2>>erro.txt  #正确输入test,错误输入erro
Echo hell0 >test.txt 2>&1  # 错误输入和1一样
Echo hell0 &>test.txt  # 错误输入合并
echo heollo > /dev/pts/3 # 输入到另一终端

在这里插入图片描述
在这里插入图片描述

cat -n ClassPrep.txt | head -n 9 |tail -n 2  # 取8,9行ls --help | tee bak.txt | less # 管道

在这里插入图片描述

1.2 vim编辑器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

:w /tmp/filenew # 另存为
:%s/a/t/g # 全局(g)把a替换(s)t
:set sw=2 #修改缩进行
V#进入visual模式
G#选中到行尾部或方向箭头选择
>#向右缩进
.#重复上一次操作#1.Ctrl+v  2.下箭头到(需移动的内容) 3.Shift+i 首行移动 4.Esc (其他行移动) #或 1.v 2.下箭头 3.Shift+>(整体移动) 4..(重复执行)u(撤回上次)

1.3 shell 变量

Shell是一个命令行解释器,它接受应用程序/应用命令,调用操作系统内核。
Shell是一个功能强大的编程语言,易编写,易调试,灵活性强。
在这里插入图片描述

在Linux系统中,用户可以通过查看/etc/shells 文件来了解可用的Shell解释器,
并根据个人喜好或特定用途进行选择。
此外,用户还可以通过命令echo $SHELL来查看当前使用的Shell解释器。
sh 与bash的关系通过ll /bin/ |grep bash 注意bin/

在这里插入图片描述

history 查看历史命令,~/.bash_history 文件保存历史命令。logout 后才将当前的history保存到~/.bash_history中。
history -w 将缓存中的命令保存到~/.bash_history文件中。
/etc/profile HISTSIZE=1000 配置保存的条数。可通过echo $HISTSIZE
环境变量  env #全局 set #临时
临时和永久:# 临时:当前会话当中,在shell中直接定义GREETING="Hello, World!" #注意,等号两边不能有空格$GREETINGSET | less    /GREETING # 查询set# 永久:定义在文件当中 # sh文件vim run.sh#! /bin/bash  #脚本以#!/bin/bash开头,指定解释器。echo "hello world"echo "$HOSTNAME" 针对用户和全局用户:~/.bashrc全局:/etc/bashrc   /etc/profile.d/

脚本以#!/bin/bash开头,指定解释器。
在这里插入图片描述
临时加入路径,PATH=$PATH
在这里插入图片描述
针对用户
在这里插入图片描述
针对全局
在这里插入图片描述

1.5 获取帮助

(1)man手册
在这里插入图片描述

man man

在这里插入图片描述

使用man命令时,如果不加数字参数,它会首先搜索第一节的内容。例如,执行man ls将会显示第一节中关于ls命令的手册,而不会显示其他章节中同名但不同功能的命令或函数的信息。如果需要查看特定章节的手册,可以在man命令后加上相应的章节数字和斜杠,如man 5 passwd来查看/etc/passwd文件格式的说明。

此外,man命令提供了多个选项来帮助用户更好地搜索和浏览手册页,如-k用于搜索包含指定关键字的手册页,-a用于显示所有章节的匹配项,而-f则类似于whatis命令,显示给定关键字的简短描述信息。

(2)RPM包文档

# 查询
dnf search manual
#安装
dnf -y install httpd-manual.noarch
# 查询
rpm -ql httpd-manual-2.4.51-7.el9_0.noarch
......
cat /etc/httpd/conf.d/manual.conf
# This configuration file allows the manual to be accessed at
# http://localhost/manual/
Alias /manual /usr/share/httpd/manual<Directory "/usr/share/httpd/manual">Options IndexesAllowOverride NoneRequire all grantedRedirectMatch 301 ^/manual/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn)(/.*)$ "/manual$1"
</Directory>
......
# 测试
curl http://localhost/manual/
# 服务启动
systemctl status httpd.service
systemctl enable --now httpd.service
# 防火墙
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http
firewall-cmd --reload

在这里插入图片描述
防火墙设置后 localhost改为servera
在这里插入图片描述
(3)官方文档

在这里插入图片描述

二、管理本地用户和组

2.1 描述用户

在这里插入图片描述
id 0 超级用户, 1000及以上普通用户,0-1000 程序用户
在这里插入图片描述

2.2 切换用户和赋权

在这里插入图片描述

 '-' =  '-l'  = '-login'  切换用户最好带上'-',环境变量也一起带上

在这里插入图片描述

visudo
......
#用户
100 root          ALL=(ALL)       ALL
#组
109 %student      ALL=(ALL)       NOPASSWD: ALL #student组 所有主机所有用户,免密所有权限
......[student@servera ~]$ sudo -i
[root@servera ~]# tail /var/log/messages

2.3 用户管理

在这里插入图片描述

[root@servera lih] useradd -u 1007 -g 1000 -c mi 
-d /home/mtest -s /sbin/nologin haha
# 新增用户
cat /etc/passwd
......
haha:x:1007:1000:mi:/home/mtest:/sbin/nologin
......
usermod -l mm haha -u 1008 -g 1001 -d /home/mtest2
#修改用户名等。
#发现修改用户目录/home/test2后 没用增加目录,当递归-r 删用户时没用删掉。
......
mm:x:1008:1001:mi:/home/mtest2:/sbin/nologin
......
userdel -r haha # 递归删用户
# 删除用户及其主目录:如果想要删除用户的同时
#一并删除该用户的家#目录,可以使用-r选项,即
userdel -r username。
#这会删除用户的家目录以及其中的文件。
# linux账号密码分开保存
# window (sam同一文件)
ls /etc/passwd /etc/shadow   

在这里插入图片描述

2.4 用户组管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

usermod -G gdm test1 # -G 附加组 将用户添加到了额外的组内,#修改/etc/group成员
usermod -aG gdm test1 # 两个以上
gpasswd -a test1 gdm # 添加test1在附件组中 和上面一样
gpasswd -d test1 gdm # 删test1从附件组中usermod -g gdm test2 # -g 主要组 修改/etc/passwd 中group组

在这里插入图片描述

2.5 密码策略

在Linux系统中,man命令是用于显示系统手册页(Manual pages)的工具,它提供了详细的命令、函数和配置文件的信息。手册页被分为不同的节(sections),每个节覆盖不同类型的主题。具体来说:

第1节:用户命令,即普通的可执行程序或shell命令。
第2节:系统调用,也就是内核提供的函数。
第3节:库调用,指的是程序库中的函数。
第4节:特殊文件,通常位于 /dev 目录下的设备文件。
第5节:文件格式和约定,包括系统使用的文件和文件系统的格式。 当您使用man 5加上某个命令或关键字时,比如man 5
passwd,您将会查看到与/etc/passwd文件相关的信息,这属于第5节的内容范畴。通过这种方式,您可以获取关于特定命令或主题的详细信息,了解其用法、选项以及相关约定。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

> useradd tom
> cat /etc/shadow|tail -1
#无密码
......
tom:!!:19892:0:99999:7:::
......
>echo mima|passwd tom --stdin
......
Changing password for user tom. passwd: all
authentication tokens updated successfully. 
......
> cat /etc/shadow |tail -1
#有密码
......
tom:$6$QuhJwvmGp18yRhwQ$.rT.:19892:0:99999:7:::
......
> passwd -d tom
......
Removing password for user tom.passwd: Success 
......
>cat /etc/shadow |tail -1
# 空密码
......tom::19892:0:99999:7::: 
......

在这里插入图片描述

tom:!!:19892:0:99999:7:::
在/etc/shadow文件中,每个用户都有一个对应的记录行,这些字段包括登录名、加密口令、最后一次修改时间、最小时间间隔、最大时间间隔、警告时间、不活动时间以及失效时间。

最小时间间隔:这个字段决定了两次密码修改之间所需的最小天数。例如,如果设置为7,用户不能在修改密码后的一周内再次修改密码。这可以防止用户通过频繁更改密码来尝试攻击系统或绕过某些安全限制。
最大时间间隔:该字段表示密码保持有效的最大天数。如果设置为90,用户必须在90天内更换密码,否则账户会被锁定或密码自动失效。这促使用户定期更新密码,减少密码被盗用的风险。

在这里插入图片描述

chage -d 0 -m 2 -M 90 -W 10 tom
cat /etc/shadow |tail -1
#修改密码策略 修改时间0,修改最小时间间隔2天,最大90天,警告在失效前10天。
......
tom::0:2:90:10:::
......vim /etc/login.defs #密码配置默认值
......
131 PASS_MAX_DAYS   99999
132 PASS_MIN_DAYS   0
133 PASS_WARN_AGE   7
......

在这里插入图片描述

三、控制文件访问

上节讲用户分配不同的隶属组,
本节讲文件对不同用户,组分配权限

3.1 列出文件和文件权限

[root@servera lih]ls -ld /tmp/lih/  #-d文件夹
drwxr-xr-x. 3 root root 4096 Jun 17 22:29 /tmp/lih/
[root@servera lih]ls -l /tmp/lih  # 文件
total 12
-rw-r--r--. 2 root root 164 Jun 16 22:47 add.txt

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 更改文件权限和拥有者

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

suid 拥有所有者权限,
suid= 执行命令 使用该命令所属用户的身份执行 u+s 4
sgid =该目录中新建文件,继承文件夹所属组 g+s 2
stick =root和拥有者可以删除和修改 o+t 1

在这里插入图片描述
sgid 统一组权限.
在这里插入图片描述
在这里插入图片描述
/tmp文件夹下的权限

在这里插入图片描述
在这里插入图片描述

3.3 控制默认权限

在这里插入图片描述
在这里插入图片描述

当umask设置为0001时,新建文件的权限是666,而不是665,是因为系统默认不允许文件拥有执行权限,如果需要为文件添加执行权限,可以使用chmod命令手动设置

3.4 使用命令行工具管理文件

mv cp 默认会覆盖原有文件,rm默认删除文件,建议使用safe-rm

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3.5 制作文件间的链接

创建硬链接 ln /path/to/source /path/to/dest
创建软链接 ln s /path/to/source /path/to/dest

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

硬连接和软连接是Linux系统中用于文件共享和管理的两种不同的链接方式。具体区别分析如下:

硬连接(HardLink):硬连接允许一个文件拥有多个有效路径名,它们都指向同一个索引节点(inode),并且共享相同的数据块。这意味着所有的硬链接实际上是同一个文件的不同命名。删除一个硬链接并不影响其他硬链接,只有当最后一个硬链接被删除时,文件系统才会释放该文件的数据块。
软连接(Symbolic Link):软连接又称为符号连接,类似于Windows系统中的快捷方式。软链接实际上包含另一文件的位置信息,它通过路径指向另一个文件。软链接可以跨文件系统,而且不同文件系统上的两个文件可以创建软链接。如果原始文件移动了位置或者被删除,软链接将会失效。
综上所述,硬连接是通过多个路径名指向同一文件,而软连接则通过一个特殊的文件来存储另一个文件的路径信息。硬连接更加紧密地与原文件关联,而软连接则提供了更多的灵活性,但也依赖于原始文件的存在。软连接可以跨网络,硬链接同一个索引点inode,用于其他用户可读。

3 .6 环境变量

环境变量
临时和永久:# 临时:当前会话当中,在shell中直接定义GREETING="Hello, World!" #注意,等号两边不能有空格$GREETINGSET | less    /GREETING # 查询set# sh文件vim run.sh#! /bin/bashecho "hello world"echo "$HOSTNAME" 
# 永久:定义在文件当中
针对用户和全局用户:~/.bashrc全局:/etc/bashrc   /etc/profile.d/

临时文件,run.sh
在这里插入图片描述
针对用户
在这里插入图片描述
针对全局
在这里插入图片描述

[root@servera ~]# echo the time is $(date +%A)

在这里插入图片描述

grep na /etc/resolv.conf| grep 250 > list

3.7 附

which、whereis、locate和find都是Linux操作系统中用于查找文件或命令位置的实用工具。
which:线性搜索PATH中的目录,返回第一个匹配的可执行文件路径。简单快速,但只能找到可执行文件
whereis:利用数据库文件进行搜索,速度相对较快,但可能无法实时反映最新文件变动。但不能搜索普通文件,也可能不是最新的文件信息。
locate:不搜索文件系统,而是搜索一个数据库/var/lib/locatedb,因此速度非常快,但不能找到最近修改或新创建的文件。
find:直接在文件系统中搜索,可以提供最精确的结果,但效率较低,资源消耗大。

[root@servera ~]grep -r  -E '(^|\s)30d($|\s)'  /home/user/documents # 默认是在当前路径递归查找
# 内容30d 前后为空格
#/usr/lib/tmpfiles.d/
#/usr/lib/tmpfiles.d/tmp.conf:q /var/tmp 1777 root root 30d
[root@servera ~]locate tmp |grep tmp.conf
#/usr/lib/tmpfiles.d/systemd-tmp.conf
#/usr/lib/tmpfiles.d/tmp.conf
[root@servera ~]whereis vim
#vim: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
[root@servera ~]which vim
#/usr/bin/vim
[root@servera ~]find / -name vim
#/usr/share/vim
#/usr/bin/vim[root@servera ~] apropos grep swap  # Linux某个命令忘记了,只记得其中几个字母怎么查
#查看内容
cat /etc/ssh/ssh_config |grep -v '^#'|grep -v '^$'
#-v 取相反 ^匹配以某个字符串开头 $匹配以某个字符串结尾
#查找服务
systemctl list-units -t service |grep ssh # - 简写
systemctl list-unit-files -t service |grep ssh
#/etc中查找220 错误除外 根目录下内容会很多
grep -r 220 /etc 2>/dev/null 
# 模糊查找服务
systemctl list-units |grep tmp
dnf provieds systemd-tmpfiles-clean.timer
# 模糊查找安装包dnf list |grep dhcp
#已安装的配置文件 rpm -qa |grep http rpm -qc httpd-2.4.51-7.el9_0.x86_64
# /etc/httpd/conf/httpd.conf# 查询是statics,非安装包
systemctl status systemd-tmpfiles-clean.timer
# 查询服务是哪个包安装的两种方式
1.find /usr/bin -name r* # 模糊查找命令which crond #/usr/sbin/crondrpm -qf /usr/sbin/crond # 文件的对应的包
2.dnf provides crond

四、监控和管理程序

4.1 查看进程

在这里插入图片描述

4.2 作业控制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 终止进程

在这里插入图片描述

在这里插入图片描述

4.4 监控活动进程

在这里插入图片描述

[root@servera ~]# ps efo uid,nice,time,cmd #显示当前用户进程,O列出显示内容

在这里插入图片描述

4.5 列出系统守护进程

ps aux | head -2
systemctl list-units --type=service | head # --全拼
systemctl list-units -t service |grep ssh # - 简写
systemctl list-unit-files -t service |grep ssh

在这里插入图片描述

dnf search ssh
rpm -ql openssh-server.x86_64 | grep ssh

在这里插入图片描述

4.6 控制系统守护进程

在这里插入图片描述

systemctl status atd.service # 查询状态
systemctl stop atd.service  # 停止状态
systemctl disable atd.service # 开机自启动关
systemctl enable --now atd.service #开机自启动,--now 立即启动

在这里插入图片描述

systemctl mask atd    #禁用守护进程启动
systemctl stop atd    #但并没有停止,可停止
systemctl start atd   #但启动不了
systemctl enable atd  #自启动设置不了
systemctl unmask atd  # 取消禁用
systemctl enable --now atd # 开启启动和自启动

在这里插入图片描述

五、OpenSSH 服务

5.1 远程服务

在这里插入图片描述

ssh serverb
ssh root@servera cat /tmp/lih

在这里插入图片描述
在这里插入图片描述

5.2 免密登录

在这里插入图片描述

客户端 私钥位置 : ~/.ssh/id_rsa

在这里插入图片描述

服务端 公钥位置

#AuthorizedKeysFile 是一个配置选项,
#用于指定 SSH 服务器上存储授权密钥的文件路径。
#这个文件通常包含允许用户通过 SSH 登录的公钥。
vim /etc/ssh/sshd_config  # 查看密钥文件路径
······
47 AuthorizedKeysFile      .ssh/authorized_keys
······
cat ~/.ssh/authorized_keys # 查看密钥

在这里插入图片描述

基于密钥认证的配置

在这里插入图片描述
在这里插入图片描述

ssh-keygen  # 生产密钥
ssh-copy-id centos5  # 不写默认为root用户

在这里插入图片描述

复制到centos5 中

在这里插入图片描述

发现不同用户还需再复制?

在这里插入图片描述

5.3 禁止root 直接登录

在这里插入图片描述

查询到ssh配置文件

在这里插入图片描述

vim /etc/ssh/sshd_config 
......
#PermitRootLogin yes
PermitRootLogin no  # 禁止root远程登录
PasswordAuthentication no # 禁止密码登录
......
systemctl restart sshd

在这里插入图片描述
在这里插入图片描述

六、分析和存储日志

6.1 日志体系机构

在这里插入图片描述

systemctl status rsyslog.service 
ls /var/log
systemctl status systemd-journald
ls /run/log/journal

在这里插入图片描述
在这里插入图片描述

6.2 查看系统日志

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

vim /etc/rsyslog.conf
......46 *.info;mail.none;authpriv.none;cron.none /var/log/messages50 authpriv.notice  /var/log/test/no51 authpriv.info  /var/log/test/in
......
systemctl restart  rsyslog.service
logger -p authpriv.notice haha
logger -p authpriv.info haha

在这里插入图片描述

logger haha

在这里插入图片描述

6.3 保留系统日志

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

journalctl -S yesterday -u sshd -n
#昨天(S)sshd(服务)最后5行(n)时间也可以用--since表示
journalctl --since '2024-06-18 00:00:00' --until now \
-u sshd -n 
journalctl -f #跟随
systemctl list-units |grep jour* # 查具体服务
systemctl status systemd-journald.service #查配置
man 5 journald.conf #查具体配置
vim /etc/systemd/journald.conf #根据文档配置
......17 [Journal]18 Storage=persistent19 #Compress=yes
......
reboot
#查看/var/log/journal/则生效了
ls /run/log/journal/ /var/log/journal/

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

6.3 保持准确的时间

在这里插入图片描述
在这里插入图片描述

 timedatectl set-timezone Asia/Shanghai

在这里插入图片描述
在这里插入图片描述

s’ynchronize 同步去掉syn

yum search ntp
dnf provides chronyd
rpm -qc chrony.x86_64
vim /etc/sysconfig/chronyd

在这里插入图片描述
在这里插入图片描述

七、RHEL 网络管理

7.1 测试和解释网络配置

在这里插入图片描述

ip a
ip route #网关
ss -antup #服务all number tcp udp p

在这里插入图片描述
在这里插入图片描述

“lo”通常代表回环接口(loopback interface),而“eth0”则指代系统中的第一个以太网接口。

“lo”接口是一个虚拟的网络接口,它的主要作用是让操作系统能够与自己通信。通常情况下,它的IPv4地址被设置为127.0.0.1,子网掩码为255.0.0.0。这个地址也被称为本地主机地址,用于在本机内部进行网络通信测试或者系统服务之间的通信。由于“lo”是一个虚拟的接口,所以它不像物理网卡那样有实体的硬件地址(MAC地址)。

相对地,“eth0”表示的是第一个以太网接口,也就是第一个连接到网络的物理或虚拟网卡。每个以太网接口都对应一个硬件网卡(一个MAC地址),其工作由相应的驱动程序控制。如果系统中存在多个以太网接口(如eth1、eth2等),这可能意味着除了物理网卡之外,还有无线网卡或多个虚拟网卡存在。

在这里插入图片描述

在这里插入图片描述

7.2 管理网络设置和设备

在这里插入图片描述
在这里插入图片描述

systemctl status NetworkManager
nmcli connection show
nmtui  # 图形画配置
nmcli con up name #重新生效

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.3 配置文件修改网络配置

在这里插入图片描述
在这里插入图片描述
域名解析

cat /etc/hosts #本地解析
cat /etc/resolv.conf #域名解析配置
host servera#主机解析
nslookup servera# 域名解析
# 以上是NetworkManager启动时生效
/etc/NetworkManager/system-connections/
grep -r '220$' /etc 2>/dev/null #查找220内容结尾的文件
find / -name *resolv.conf
cat /run/NetworkManager/resolv.conf

八 归档与系统间复制文件

在这里插入图片描述在这里插入图片描述

du和df命令都被用于获得文件系统大小的信息:
df用于报告文件系统的总块数及剩余块数,df命令反映的实际情况包含了用户数据(文件及目录)和Meta Data du -s
/用于报告文件系统使用的块数,du -s命令返回的值反映了分配给文件及目录的磁盘块数

8.1 查看大小

 #显示的是文件或目录实际使用的磁盘空间,#并以人类可读的格式展示每个项目的大小 -h
df -h /boot 
#显示的是文件系统的总空间、已使用空间和剩余空间,
#同样以人类可读的格式展示 -h
du -sh /boot

在这里插入图片描述

8.2 打包

tar -cf boot.rar /boot/  
#c创建create f文件
tar -xf boot.rar  -C /tmp  
#x提取extract f文件  -C change directory
tar -tf boot.tar 
#t查看list 
tar --help |grep gzip
tar -czf boot.rar.gz /boot/ #以gzip格式压缩

在这里插入图片描述

8.3 压缩

bzip2 和 gzip ,xz用于文件压缩的命令行工具,它们在Unix和类Unix系统中非常常用。工具的命名来源于它们所使用的压缩算法:BZIP2 和GZIP,LZMA2
grep:当需要快速搜索且模式相对简单时,grep 是一个很好的选择。它也适用于那些不支持扩展正则表达式的环境。
egrep:当搜索需要复杂模式匹配时,egrep 更加适用。它可以处理更复杂的逻辑,如多选一(|)和分组(())等

 man tar |egrep 'bzip2|gzip|xz' #查看压缩格式tar -cJf boot.rar.xz /boottar -cJf boot.rar.xz /boot#或file查看文件类型tar -xf  #reh7后解压 -x自动识别格式

在这里插入图片描述

8.4 复制

scp(Secure Copy)、sftp(SSH File Transfer Protocol)和rsync(Remote Synchronization)都是用于Linux系统中文件传输的命令
scp和sftp更适合一次性的文件传输任务,而rsync则更适合定期的文件同步和备份

# 命令位置
[root@lh ~]# which sftp
/usr/bin/sftp
[root@lh ~]# which scp
/usr/bin/scp
[root@lh ~]# which rsync
/usr/bin/rsync
# 哪个软件包安装
[root@lh ~]# rpm -qf /usr/bin/sftp
openssh-clients-7.4p1-21.el7.x86_64
[root@lh ~]# rpm -qf /usr/bin/scp
openssh-clients-7.4p1-21.el7.x86_64
[root@lh ~]# rpm -qf /usr/bin/rsync
rsync-3.1.2-10.el7.x86_64[root@lh ~]# rpm -qc openssh-server
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd
[root@lh ~]# grep sftp /etc/ssh/sshd_config
Subsystem       sftp    /usr/libexec/openssh/sftp-server
#则ssh 启动的情况下就可以使用sftp

在这里插入图片描述

案例
scp:
scp /test.txt root@172.16.70.71:/home/newtest.txt
#用户需要将本地文件/test.txt上传到这台服务器的/home目录下,并更名为newtest.txt
sftp:
#可以首先使用sftp命令连接到服务器,
#然后使用类似mkdir, cd, put, get等指令进行操作
rsync:
rsync -avz /data user@target_server:/data
#此命令将源服务器上的/data目录内容同步到目标服务器上的同名
#目录,-avz选项表示以归档模式进行并压缩数据传输,提高效率。

九 安装与升级软件包

9.1 rpm

rpm命令主要用于管理RPM(Red Hat Package
Manager)软件包,这些软件包包含了用于Linux系统的各种应用程序和组件。rpm命令可以处理软件的安装、升级、查询、验证和删除等任务

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

9.2 dnf

YUM(Yellowdog Updater Modified)和DNF(Dandified
YUM)是两种在Linux系统中广泛使用的软件包管理器。这两种工具都基于RPM(Red Hat Package Manager),旨在简化软件包的安装和更新过程,同时自动解决依赖问题。DNF是YUM的一个分支,意在替代YUM成为Fedora系统的默认软件包管理器。DNF提供了改进的性能和更强大的功能,如支持模块化内容、更佳的依赖解决机制

在这里插入图片描述

每个.repo文件定义了一个或多个软件仓库的配置,其中主要部分包括baseurl、enabled、gpgcheck和priority等参数。
如果priority参数未被设置,YUM默认将依照/etc/yum.repos.d/目录下的文件的排列次序来决定优先级。首先被列出的文件将被优先使用 cat /etc/yum.repos.d/*

在这里插入图片描述

dnf clean all # 清除缓存
dnf repolist  'chro*' # 
dnf search  http   # 查找
yum provides http
dnf history

访问阿里云官网获取Red Hat镜像地址
用文本编辑器/etc/yum.repos.d/redhat.repo

[rhel9-baseos]
name=Aliyun RHEL 9 BaseOS
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck=0
enabled=1
[rhel9-appstream]
name=Aliyun RHEL 9 AppStream
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0
enabled=1

十 Linux 文件系统

在这里插入图片描述

[root@lh ~]blkid  # UUID和type
[root@lh ~]lsblk -f  #type
[root@lh ~]df -hT    #type

在这里插入图片描述

man find |grep find.*exec # 查看案例

134一、提高命令行生产效率

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

for lih in {1..9};do echo "lih$lih";done
# 反撇(Esc'键下)输出命令内容
for user in `cat /etc/passwd | cut -d : -f 1 |head `; do echo $user;done;

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

if [ $? -eq 0 ];then echo ok;else echo not ok;fi

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

134二、Linux 计划任务

在这里插入图片描述
在这里插入图片描述

crontab -e 所编辑的文件通常位于/var/spool/cron/目录下

# /etc/crontab
# 分 时 天 月 周
# 每小时
0 * * * * command 表示每小时的第0分钟执行 command
# 每天
0 0 * * * command 表示每天的00分执行 command
#连续执行
*/5,则表示从该时间的每个第 n 个单位开始执行。
#具体时间执行1,3,5,1-5
crontab -e -u uername 给别人安排 仅超级用户

在这里插入图片描述
在这里插入图片描述

2.1、例:定时同步任务

每分钟把servera /etc 同步到serverb /mnt。步骤如:
1.在servera上生成ssh 并把密钥给serverb
2.rsync 同步任务
3.crontab 定时任务

1.
servera:ssh-keygenssh-copy-id root@serverb
serverb:vim /etc/ssh/sshd_config...PermitRootLogin yes...
2. #同步rsync -a /etc/*  root@serverb:/mnt/  #man rsync 例子-avz#查看ssh root@serverb ls /mnt |wc -l
3.
crontab -e
*/1 * * * * rsync -a /etc/*  root@serverb:/mnt/4.# 在servera 中写入文件观察
touch file{1..9}
#serverb 观察
ls /mnt |wc -l
# 删
crontab -r

在这里插入图片描述

134 三、系统调优

3.1 tuned简介

在这里插入图片描述

对于普通用户来说,优化Linux应用环境可能是相当具有挑战性的。它涵盖了各种领域,并且有许多参数需要考虑,比如CPU、存储、缓存策略和内存管理。尽管Linux有默认设置可以处理大多数情况和场景,但是对于高性能、高并发和高可用性系统等特殊场景,需要进行调整。本文讨论的特性是tuned,它是Linux系统中常用的一种调优服务
调优方式:
静态调整:内核参数针对整体性能预期而设置的,不会随实际负载变化而调整,但配 置简单
动态调整:tuned 守护进程会监控和收集系统各个组件的数据,并依据数据提供的信 息动态调整系统设置,达到动态优化系统的目的.
Tuned服务可以自动调整系统设置以优化性能和功耗.

3.2 tuned使用

yum install -y tuned   # 安装软件包
systemctl start tuned  # 启动tuned服务
systemctl stop tuned   # 停止tuned服务
systemctl enable --now tuned   # 设置开机自启动
systemctl enable tuned  # 自启动/禁止自启动tuned-adm recommaend # 查询推荐
tuned-adm profile throughput-performance # 开启高性能
tuned-adm active # 显示当前性能模式
tuned-adm off # 关闭tuned服务的相关配置目录:
/usr/lib/tuned/         # 原生的性能模式/etc/tuned              # DIY的性能模式
├── active_profile      # 当前的性能模式
├── bootcmdline         
└── tuned-main.conf
# -20,20
nice -n -20 sleep 10000 & #直接以特定优先级安排任务

134 四、管理SELinux

在这里插入图片描述

4.1 SeLinux 工作模式

在这里插入图片描述

[root@lh ~] setenforce 0
[root@lh ~] getenforce
Permissive
[root@lh ~] setenforce 1
[root@lh ~] getenforce
Enforcing

安全标签 -Z

当一个主体Subject(如一个程序)尝试访问一个目标Object(如一个文件),SELinux安全服务器SELinux Security
Server(在内核中)从策略数据库Policy Database中运行一个检查。基于当前的模式mode,如果 SELinux
安全服务器授予权限,该主体就能够访问该目标。如果SELinux安全服务器拒绝了权限,就会在/var/log/messages中记录一条拒绝信息

在这里插入图片描述

# 审计日志
sealert -a /var/log/audit/audit.log

在这里插入图片描述

4.2 调整Selinux的Contexts

在这里插入图片描述

sealert -a /var/log/audit/audit.logsemanage fcontxt -a -t xxx_t 'foldel(/.*)'
restorecon  -RvF  /Folde

134 五、 管理基本存储

5.1 分区

在这里插入图片描述

MBR(Master Boot Record)和GPT(GUID Partition
Table)是两种不同的磁盘分区表格式,它们在设计、功能、支持的磁盘容量和分区数量等方面存在显著区别
在Linux系统中,fdisk和gdisk是两种常用的磁盘分区工具,它们在管理硬盘分区方面扮演着重要的角色。以下是具体介绍:
fdisk:传统的Linux磁盘分区工具,主要用于MBR分区,操作简便,适合大多数旧版系统和小型磁盘。
gdisk:作为fdisk的升级版,主要使用GPT分区类型,适用于现代操作系统和大容量磁盘,支持更多先进的特性如分区命名和错误检测。
parted是一个功能强大的磁盘分区工具,支持MBR和GPT分区表,适用于大硬盘和需要非交互式操作的场景。

fdisk /dev/vdb
partprobe /dev/vdb #生效
lsblk  #查看gdisk /dev/vdbparted /dev/vdd mkpart primary ext3 1G 2G # 非交互
parted /dev/vdc rm 1  # 删(分区方案未删)
# 一个硬盘有且只应有一个分区方案wipefs -a /dev/vdb # 擦去硬盘所有分区以及其分区方案
fdisk交互界面中,输入 d 选择删除分区的操作
#wipefs命令更注重于数据的安全清除,而fdisk的删除分区操作则侧重于分区表的管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 格式化 挂载

# 创建文件系统。格式化,给分区一个文件系统,
mkfs.xfs /dev/vdb1
#挂载(一次性挂载,重启丢失)
mount /dev/vdb1 /mnt 
#查看
mount -a
df -h

在这里插入图片描述

手工挂载会消失,写入/etc/fstab 永久生效

cat /etc/fstabb
# 查看UUid
blkid
# 配置挂载
vim /etc/fstab
...
dev/vdb1 /mnt xfs defalts 0 0
...
/etc/fstab
mount -a # 先验证,在挂载

/etc/fstab文件是Linux系统中用于定义磁盘分区挂载方式和属性的配置文件。它控制着系统在启动时如何挂载文件系统,同时对于管理磁盘空间和文件系统非常关键。以下是具体介绍:

字段:这一列指定了要挂载的文件系统设备的名称或是该设备的UUID、卷标等。例如,/dev/sda1表示第一个SATA硬盘的第一个分区,而UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126则使用通用唯一标识符来标识设备。使用UUID或卷标可以避免因为添加或移除硬盘导致设备名改变的问题。
字段:挂载点是文件系统在文件系统中的挂载位置。例如,/home表示将文件系统挂载到/home目录下。挂载点必须是已经存在的目录,且通常需要有适当的读写权限以允许所有用户或特定用户访问。
字段:这一列指明了分区上的文件系统类型,如ext4、vfat、ntfs等。正确指定文件系统类型对于操作系统正确管理和使用该分区至关重要。
字段:此列提供了与挂载文件系统相关的各种选项,选项之间用逗号分隔。例如,defaults选项包含了一组常用选项,如rw(可读写)、exec(允许执行二进制文件)、nouser(只有root可以挂载)等。根据需要,还可以指定如noauto(不自动挂载)、user(允许任何用户挂载)等选项。
字段:这一列已较少使用,其设计初衷是用来决定是否让备份工具dump备份这个文件系统。一般设置为0表示不使用dump备份,设置为1表示使用。但在现代系统中,dump工具已很少使用。
字段:这一列决定了系统在启动时执行文件系统检查(fsck)的顺序。0表示不检查,1表示首先检查根文件系统,其他数字表示在根文件系统之后按照数字顺序进行检查。具有相同数字的文件系统会同时进行文件系统检查。

交换分区是硬盘上的一部分空间,用作虚拟内存扩展,旨在提高系统稳定性和处理能力

mkswap /dev/vdb1
swapon  /dev/vdb1 #激活swap分区,free 查看
......
UUID=XXX swap swap defaults 0 0
......

134 六、 逻辑卷管理

6.1 lv ,vg,pv简介

逻辑卷和分区在存储管理中扮演着重要的角色。逻辑卷提供了高度的灵活性和动态管理能力,适用于需要频繁调整存储空间的场景;而分区则提供了简单明了的存储隔离和优化方法,适用于需要固定存储分配的场景。根据具体需求选择合适的存储管理方式,将有助于提高系统的效率和稳定性。

在这里插入图片描述
在这里插入图片描述

6.2创建,扩展逻辑卷

pvcreate /dev/vdb #创建pv
vgcreate lhvg /dev/vdc /dev/vdb #创建vg
vgremove -f lhvg  #-f强制删
......
#Physical volume "/dev/vdb" successfully created 自动创建
#Volume group "lhvg" successfully created
......
lvcreate -n lihlv -L +1G lhvg #创建lv
#查看
pvs #或pvdisplay
vgs #或vgdisplay
lvs #或lvdisplay
lsblk #或blkid看uuid,xfs格式 或df -h
lvdisplay #看lv格式路径
mkfs.xfs /dev/lhvg/lihlv #格式化lv
mount /dev/lhvg/lihlv /mnt #临时挂载# 增加空间
lvextend /dev/lhvg/lihlv -L +6G # 增加lv
vgextend lhvg /dev/vdd # 增加vg
lvextend /dev/lhvg/lihlv -L +4G xfs_growfs /mnt/
#xfs_growfs扩展已挂载的XFS文件系统的大小
lvextend /dev/lhvg/lihlv -L +4G -r
#或-r 一步扩容# 移动空间 
pvmove /dev/vdb #自动随机到其他vd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

134 七、 访问NFS网络

7.1 NFS 简介

NFS(Network File System)是一种网络文件系统,它允许在网络上的不同机器和操作系统之间共享文件。NFS可以在多种操作系统之间共享文件,包括Linux、UNIX和Windows

这种技术是由SunMicrosystems公司开发的,并且已经成为UNIX和类UNIX操作系统中广泛使用的文件共享解决方案。以下是 基本概念 定义:NFS通过TCP/IP网络实现文件的远程访问和共享,使得用户能够像操作本地文件一样操作网络上的文件。
工作原理:NFS基于客户端/服务器CS架构,其中NFS服务器导出(共享)文件系统,客户端则挂载这些共享并作为本地文件系统使用。

挂载点由dev换为网络设备

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.2 NFS安装配置

dnf install nfs-utils
mkdir nfsfolder
chmod 777 /opt/lih/nfsfolder/ -R
vim /etc/exports
......
#用于控制NFS客户端对共享目录的访问权限
#* 表示适用于所有客户端。
#sync 表示同步写入操作,确保数据一致性。
#ro 表示只读访问权限
/opt/lih/nfsfolder *(sync,ro)
......
# 查询服务
systemctl list-unit-files |grep nf
# 启动服务
systemctl enable nfs-server.service --now
# 测试配置文件是否正确
#-r 表示重新挂载/etc/exports中的设置 -v 表示在重新挂载时显示详细的共享目录信息
exportfs -rav
#本地测试共享
showmount -e localhost
showmount -e 172.25.250.11

在这里插入图片描述

7.3 自动挂载网络

在这里插入图片描述

134 九、管理网络安全

在这里插入图片描述

9.1 firewall-cmd命令

在这里插入图片描述

#本机已经启用的监听端口: 
ss -ant
ss -tunlp
#查看防火墙的状态4
systemctl status firewalld
firewall-cmd --state 
#显示
firewall-cmd --list-all 
#增加服务
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=8080/tcp --zone=public   /
firewall-cmd --reload #重新载入配置
#查看防火墙开放的端口信息
firewall-cmd --list-ports
firewall-cmd --list-all 

9.2 管理SeLinux端口标签

在这里插入图片描述
SeLinux做一个监督工作,允许或者拒绝服务使用特定端口

#添加
vim /etc/httpd/conf/httpd.conf
.....
47 Listen 801
......
#添加se审查,否则重启http报错
# 帮助手册查询增加
man semanage port |grep \#
semanage port -a -t http_port_t -p tcp 801
#查询
semanage port -l | grep http
semanage port -l |grep   -E '(^|\s)80($|,)'

在这里插入图片描述

#重启服务,发现无法启动
#关闭selinux后可以,可以查看se日志
setenforce 0 #关闭
sealert -a /var/log/audit/audit.log #日志
semanage port -a -t PORT_TYPE -p tcp 801 #根据日志内容修改

134 十一、运行容器

11.1 容器技术介绍

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

11.2 容器管理工作

docker 和podman的区别
在这里插入图片描述

在这里插入图片描述

11.3 容器镜像

在这里插入图片描述

dnf install container-tools

11.4 配置容器注册表

在这里插入图片描述

附部分题:

# 查找文件 
*$ find / -user jacques -exec cp -a {} /root/findfiles \;
# 查找字符串
*$ grep ng /usr/share/xml/iso-codes/iso_639_3.xml#配置系统调优
*$ tuned-adm recommend
*$ tuned-adm profile virtual-guest

设置 root 密码

Send key, Ctrl+Alt+Del

组合键Ctrl-E,光标跳到行尾添加,空格rd.break空格console=tty0

#ctrl+x后会自动进入救援模式,提示输入密码:
Give root password for maintenance
(or press Control-D to continue): 直接回车
sh-5.1# mount | grep sysroot
*sh-5.1# mount -o remount,rw /sysroot
sh-5.1# mount | grep sysroot
*sh-5.1# chroot /sysroot
*sh-5.1# echo flectrag | passwd --stdin root
*sh-5.1# touch /.autorelabel
sh-5.1# sync

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

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

相关文章

昆明理工大学MBA工商管理上课方式

--昆工MBA考研、管理与经济学院、125100工商管理、125602项目管理、199管理类综合能力、F009 政治、F008政治项目管理概论

有关在.Net Core中以TEXT类型将Json格式字段存到数据库的学习

导言 在写个值日接口时发现值日表中的值日时段是可以分多段的&#xff0c;想了想可以使用Json类型来存&#xff0c;不过之前没接触过在后端操作Json格式存到数据库的情况&#xff0c;之后学也了解到了一下方法来实现&#xff0c;故记录一下。 过程 从前端到后端再到数据库的 JS…

千亿大数据平台——MySQL大数据优化

一、自增量的作用 1. 唯一性标识 - 为表中的每一行数据提供一个唯一的、自动生成的标识符&#xff0c;确保数据的唯一性和准确性。 2. 简化数据关联 - 在多个表之间进行关联操作时&#xff0c;自增量字段可以作为便捷的关联键&#xff0c;方便建立和维护表之间的关系…

C#和数据库高级:虚方法

文章目录 一、抽象方法和抽象类中的思考1.1、回顾抽象方法的特点1.2、针对抽象方法问题的引出 二、虚方法的使用步骤2.1、虚方法重写方法的调用2.2、系统自带的虚方法2.3、重写Equals方法2.4、虚方法和抽象方法的比较 三、虚方法和抽象方法的联系3.1、ToString()方法的应用 一、…

字母与符号检测系统源码分享

字母与符号检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

ChatGLM-6B-部署与使用

✨ Blog’s 主页: 白乐天_ξ( ✿&#xff1e;◡❛) &#x1f308; 个人Motto&#xff1a;他强任他强&#xff0c;清风拂山冈&#xff01; &#x1f4ab; 欢迎来到我的学习笔记&#xff01; 什么是ChatGLM-6B 一、简介 ChatGLM-6B 是由清华大学知识工程实验室&#xff08;KEG&…

Python:百度贴吧实现自动化签到

早知道&#xff0c;还是python。 Github项目仓库在这。 相关API 签到贴吧列表 签到分为两个接口&#xff0c;PC端签到一次经验2&#xff0c;而移动端签到则是一次经验6。该用哪个接口已经很明显了。不过这里还是列出PC端的签到API。 # PC端签到接口 # sign_url "https:…

时序预测 | Python实现KAN+LSTM时间序列预测

时序预测 | Python实现KAN+LSTM时间序列预测 目录 时序预测 | Python实现KAN+LSTM时间序列预测预测效果基本介绍程序设计预测效果 基本介绍 时序预测 | KAN+LSTM时间序列预测(Python) KAN作为这两年最新提出的机制,目前很少人用,很适合作为时间序列预测的创新点,可以结合…

python全栈开发《37.列表(元组)的count函数》

元组的count函数的功能和用法与列表的count函数完全一致。 1.count的功能 返回当前列表中某个成员的个数。 2.count的用法 fruits [苹果,西瓜,水蜜桃,西瓜,雪梨] count fruits.count(西瓜) print(count) 运行结果&#xff1a; 2 注意&#xff1a;列表的内置函数count拿到需要…

【读书笔记-《30天自制操作系统》-24】Day25

本篇内容也比较简单。首先开发了蜂鸣器的API&#xff0c;然后增加更多的颜色显示。为了同时运行两个应用程序&#xff0c;又增加了一个命令行窗口。 1. 蜂鸣器 首先是增加蜂鸣器的功能。 蜂鸣器与定时器一样&#xff0c;是由PIT控制的。 蜂鸣器发声的控制&#xff1a; 音高…

Linux:Bash中的文件描述符详解

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的所有进程&#xff0c;都拥有自己的文件描述符(File Descriptor, FD)&#xff0c;它是操作系统在管理进程和文件时的一种抽象概念。每个文件描述符由一个非负整…

开关电源自动测试系统的测试设备与特色

突破传统测试系统的操作维护困难等限制&#xff0c;NSAT-8000开关电源自动测试系统以其开放式架构和0代码模式&#xff0c;带来了不一样的开关电源自动化测试体验。 开关电源自动测试系统的测试设备 开关电源自动测试系统核心硬件包括&#xff1a;可编程交直流电源、电子负载、…

使用 HFD 加快 Hugging Face 模型和数据集的下载,解决443报错

Hugging Face 提供了丰富的预训练模型和数据集&#xff0c;而且使用 Hugging Face 提供的 from_pretrained() 方法可以轻松加载它们&#xff0c;但是&#xff0c;模型和数据集文件通常体积庞大&#xff0c;用默认方法下载起来非常花时间。 本文将指导你如何使用 HFD&#xff08…

小新 Pro13 + windows 11 家庭中文版(网络适配器及地址配置)

网络适配器位置及地址配置 网络适配器简介 计算机系统&#xff1a;网络适配器详解&#xff0c;全面剖析 网络适配器位置 不同于win11之前的版本&#xff0c;win11的网络适配器的位置如下&#xff1a; 1、右键 右下角的网络图标-》网络和internet设置-》高级网络设置-》可以…

冒泡排序bubble sort

冒泡排序&#xff08;bubble sort&#xff09;通过连续地比较与交换相邻元素实现排序。这个过程就像气泡从底部升到顶部一样&#xff0c;因此得名冒泡排序。 算法流程 def bubble_sort(nums: list[int]):"""冒泡排序"""n len(nums)# 外循环&…

46.哀家要长脑子了!

1.435. 无重叠区间 - 力扣&#xff08;LeetCode&#xff09; 方法一&#xff1a;动态规划 实际上本质就是找最长的无重叠子序列&#xff0c;那么我们可以遍历这个区间的集合&#xff0c;只要前一个区间的右端点是小于等于后一个区间的左端点&#xff0c;那么这两个区间就不是重…

如何将Excel表格嵌入Web网页在线预览、编辑并保存到自己服务器上?

猿大师办公助手作为一款专业级的网页编辑Office方案&#xff0c;不仅可以把微软Office、金山WPS和永中Office的Word文档内嵌到浏览器网页中实现在线预览、编辑保存等操作&#xff0c;还可以把微软Office、金山WPS和永中Office的Excel表格实现网页中在线预览、编辑并保存到服务器…

虚拟机:4、配置12.5的cuda和gromacs

前言&#xff1a;本机环境是win11&#xff0c;通过wsl2安装了ubuntu实例并已实现gpu直通&#xff0c;现在需要下载12.5的cuda 一、查看是否有gpu和合适的cuda版本 在ubuntu实例中输入 nvidia-smi输出如下&#xff1a; 说明该实例上存在gpu驱动&#xff0c;且适合的CUDA版本…

硬件测试(五):信号补偿

一、简介 高速信号的趋肤效应以及传输线的介质损耗&#xff0c;使信号在传输过程中衰减很大&#xff0c;导致最后得到的信号失真。为了在接收终端能得到比较好的波形&#xff0c;就需要对受损的信号进行补偿&#xff0c;常用的补偿技术有&#xff1a;预加重、去加重和均衡三种信…

思科安全网络解决方案

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…