【学习笔记】Linux

Linux

  • 1、 介绍
    •       1.1、概述
    •       1.2、特点
    •       1.3、Linux的发行版
  • 2、 基础篇 —— 文件系统
    •       2.1、文件系统
    •       2.2、目录结构
  • 3、 基础篇 —— VI/VIM 编辑器
    •       3.1、概述
    •       3.2、编辑器模式及常用命令
  • 4、 基础篇 —— 网络配置
    •       4.1、VMware NetWork
    •       4.2、链接测试
    •       4.3、网络连接模式
    •       4.4、修改虚拟机的 IP 为静态
    •       4.5、配置主机名及远程登录
  • 5、 基础篇 —— 系统管理
    •       5.1、进程和服务
    •       5.2、服务管理框架
    •       5.3、systemctl
    •       5.4、系统运行级别
    •       5.5、配置开机自启动
    •       5.6、关机重启命令
  • 6、 进阶篇 —— 常用基本命令
  • 7、 进阶篇 —— 软件包管理
  • 8、 终结篇 —— Shell 编程
    •       8.1、变量
    •       8.2、脚本传参
    •       8.3、运算
    •       8.4、条件判断
    •       8.5、循环控制
    •       8.6、交互式读取参数
    •       8.7、函数
    •       8.8、文本处理工具
    •       8.9、综合案例 —— 消息发送与接收

1、 介绍

      1.1、概述

        Linux 是一种开源的类 Unix 操作系统,其内核最初由林纳斯·托瓦兹(Linus Torvalds)在1991年开发。它是现代计算机系统中广泛使用的操作系统之一,涵盖从嵌入式设备到超级计算机的广泛应用场景

安装:linux、

      1.2、特点

特点描述
开源和自由软件Linux 内核及其大多数应用软件都是开源的,任何人都可以查看、修改和分发源码,其根据GNU通用公共许可证(GPL)发布,用户可以自由使用、修改和再发布
多用户和多任务支持多个用户同时使用计算机资源,每个用户有自己的权限和文件系统空间,也能够同时运行多个任务,确保系统资源高效利用
安全性和稳定性严格的权限管理和用户隔离机制,减少了系统受到恶意攻击的风险。广泛用于服务器和关键任务系统,具备高可靠性和长期稳定运行能力
支持多种硬件平台从嵌入式系统、个人电脑到大型服务器和超级计算机,Linux 都有相应的版本和优化
丰富的应用软件拥有丰富的软件库,包括桌面应用、开发工具、服务器软件、科学计算软件等
强大的网络功能Linux 原生支持多种网络协议,广泛用于网络服务器、路由器和防火墙等网络设备中

      1.3、Linux的发行版

        Linux 有许多不同的发行版(Distribution),每个发行版在核心 Linux 内核的基础上,捆绑了不同的应用程序和配置工具,以满足不同用户的需求

常见的发行版描述
Fedora前沿技术的试验场,经常引入新技术
CentOS源自Red Hat Enterprise Linux,适合企业和服务器使用
Debian稳定性高,适合服务器和开发者
Ubuntu用户友好,适合桌面用户和新手
Linux Mint对初学者友好的桌面发行版,基于Ubuntu
Arch Linux高度可定制,适合高级用户

2、 基础篇 —— 文件系统

      2.1、文件系统

        Linux 文件系统是一种层次化的结构,用于组织和管理计算机上的数据。以下是一些常见的 Linux 文件系统

文件系统描述
ext4这是目前最常用的 Linux 文件系统之一,它是 ext 文件系统家族的最新版本。它支持大文件和大容量磁盘,并提供了更好的性能和可靠性
ext3ext3 是 ext 文件系统家族的前身,与 ext4 相比,它的性能稍逊,但在稳定性和兼容性方面更受信任。它支持日志记录,可以在系统崩溃后更快地恢复
XFSXFS 是一个高性能的文件系统,特别适合用于大型文件和大容量存储。它支持高并发和大型文件系统,适用于高负载的服务器环境
BtrfsBtrfs 是一个具有许多先进特性的先进文件系统,包括快照、压缩、校验和以及数据和元数据的复制。它被设计为面向企业和桌面用户的全功能文件系统
ZFSZFS 是一种先进的文件系统和逻辑卷管理器,具有强大的数据完整性和管理特性。它支持软件 RAID、数据压缩、快照、复制等功能,但在 Linux 中的集成有时可能需要额外的配置
F2FSF2FS 是一个专为闪存存储设备(如固态硬盘)设计的文件系统,具有优化的性能和寿命管理,适用于移动设备和嵌入式系统

      2.2、目录结构

        Linux 文件系统的目录结构是一种层次化的树状结构,它只有一个根目录 / ,从根目录 / 开始,每个目录可以包含文件和子目录,形成了一个逐级嵌套的结构。并且有虚拟目录的概念,即Linux 中的一些目录是虚拟目录,不实际存储在硬盘上,而是由内核在运行时创建的,用于提供系统信息的访问接口
        对比 Windows 文件系统的目录结构来说,Windows 中可以有多个根目录,它使用了驱动器字母(如 C:\、D:\)来表示不同的存储设备,每个存储设备都有自己的根目录,且这些根目录之间是相互独立的

操作系统优点缺点
Linux① 统一的文件系统结构:Linux 的单一根目录提供了统一的文件系统结构,使得管理和访问文件更加简单直观
② 虚拟目录的灵活性:Linux 的虚拟目录提供了对系统信息的灵活访问,可以方便地获取和管理系统状态
③ 适用于服务器环境:Linux 的文件系统结构适用于服务器环境,能够更好地支持多用户和多任务处理
① 对新用户不友好:Linux 的文件系统结构对于新用户可能比较复杂,需要一定时间来适应和理解
② 软件兼容性:某些应用程序可能针对特定的文件系统结构进行了优化,可能在 Linux 上运行时需要进行额外的配置或兼容性处理
Windows① 驱动器字母的灵活性:Windows 的驱动器字母提供了对不同存储设备的灵活管理和访问,用户可以轻松地识别和切换不同的存储设备
② 多个根目录的独立性:Windows 的多个根目录使得不同存储设备之间相互独立,可以更好地管理和保护数据
③ 适用于桌面环境:Windows 的文件系统结构适用于桌面环境,能够更好地满足个人用户的需求
① 混乱的文件系统结构:Windows 的多个根目录和特殊目录可能导致文件系统结构比较混乱,使得管理和访问文件不够直观
② 性能问题:Windows 的文件系统结构可能对系统性能产生一定的影响,特别是在处理大量文件时可能会出现性能问题

         通过左上角“位置” → “计算机” 可以看到 Linux 的文件有如下这些,其中图标的右下角带有小箭头的类似于 Windows 的快捷方式
在这里插入图片描述
         将 Linux 的文件结构绘制成层次化树状结构如下

目录描述
/(根目录)Linux 文件系统的根目录,所有文件和目录都从这里开始
/bin包含系统启动和运行所需的基本命令(如 cd、ls、cp、mv 等)的可执行文件
/boot包含引导加载程序和内核映像文件,用于系统启动
/dev包含系统使用的设备文件,如硬盘、键盘、鼠标等
/etc包含系统的配置文件,如网络配置、用户账户配置等
/home包含每个用户的个人文件和目录,每个用户都有一个单独的子目录
/lib包含系统运行时所需的共享库文件
/media用于挂载可移动媒体设备(如光盘、USB 驱动器等)的挂载点
/mnt用于临时挂载其他文件系统的挂载点
/opt用于存放可选软件包的安装目录
/proc虚拟文件系统,提供关于当前运行进程和系统内核状态的信息
/root超级用户(root)的家目录
/run存储系统运行时数据
/sbin包含系统管理员使用的系统管理命令
/srv存储与服务相关的数据
/sys是一个虚拟文件系统,由 Linux 内核暴露,提供了一个统一的接口来访问内核对象和硬件设备的信息
/tmp用于存放临时文件的目录,系统重启时会清空其中的内容
/usr包含用户安装的应用程序、库文件等
/var包含经常变化的文件,如日志文件、临时文件等

虚拟文件系统(Virtual File System,VFS):是操作系统内核中的一个抽象层,提供了统一的接口,使得不同类型的文件系统能够被操作系统以相同的方式访问和管理。VFS 使得内核可以处理多种文件系统,而不需要为每种文件系统编写单独的代码

3、 基础篇 —— VI/VIM 编辑器

      3.1、概述

         vi 和 vim 是 Unix 和 Linux 系统中广泛使用的文本编辑器
         vi(Visual Interface)是最早的文本编辑器之一,几乎在所有 Unix 系统上都可以找到。它是轻量级的,并且不依赖图形界面,因此在许多系统管理任务中非常有用。而 vim 是 vi 编辑器的增强版,提供了许多额外功能,如语法高亮、代码折叠、插件支持等

vim的特性描述
语法高亮根据文件类型自动高亮显示语法,提升代码阅读和编写的效率
多级撤销支持多次撤销和重做操作,允许用户轻松回滚和恢复编辑
插件系统支持通过插件扩展功能,可以自定义和增强编辑器
高级编辑功能包括自动补全、宏录制与播放、文本对象操作等

         为了接下来的代码演示,先将 /etc/profile 拷贝到 /root 目录下

拷贝:cp 被拷贝的文件 存放位置

         首先感受一下使用两种编辑器查看文件时,在“语法高亮”上的不同

# 复制
cp /etc/profile /root
# 使用 vim 查看这个文件,发现有颜色
cd /root
vim profile
:q
# 使用 vi 查看这个文件,发现没有颜色
vi profile
:q

      3.2、编辑器模式及常用命令

         编辑器有三种主要模式

模式命令描述
一般模式进入:vim xxx在此模式下,主要用于查看文本以及复制、粘贴、删除文本等操作

编辑模式开始编辑:i或者a或者o
退出编辑:ESC键
在此模式下,主要用于编辑文本
命令模式在底部输入命令:: xxx或者/ xxx
返回:ESC键
在此模式下,主要用于保存文件、退出编辑器等

在这里插入图片描述

一般模式的常用命令描述
u撤回一步
p粘贴(粘贴行:在光标所在行的下方进行粘贴;粘贴多个字符:在光标右边进行粘贴)
yy复制一行
数字yy / y数字y复制多行
y^(y+shift+6)复制从行头到光标前一个字母
y$(y+shift+4)复制从光标处到行尾
yw复制一个单词及后方的空格(光标需要放在首字母,否则会被截断)
y数字w复制多个单词及后方的空格(光标需要放在第一个单词的首字符,否则第一个单词会被截断)
dd删除一行
数字dd / d数字d删除多行
d^(y+shift+6)删除从行头到光标前一个字母
d$(y+shift+4)删除从光标处到行尾
dw删除一个单词及后方的空格(光标需要放在首字母)
d数字w删除多个单词及后方的空格(光标需要放在第一个单词的首字母)
x剪切一个字符(当前的光标)
X(shift+x)剪切一个字符(当前光标的前一个)
r字符将光标所在的字符进行更改
R(shift+r)类似于进入编辑模式,可以替换多个字符,”替换“跟”插入“的体验不一样
^(shift+6)移动到行头
$(shift+4)移动到行尾
b移到当前单词的开头
e移到当前单词的结尾
w移到下一个单词的开头
数字G移动到某一行的行头
G移到文件最后一行的行头
L移动到当前窗口最后一行的行头
``
编辑模式的常用命令描述
i光标不动地进入编辑模式
I(shift+i)光标移到当前行的行头,然后进入编辑模式
a光标右移一位地进入编辑模式
A(shift+a)光标移到当前行的行尾,然后进入编辑模式
o光标下移一行地进入编辑模式
O(shift+o)光标上移一行地进入编辑模式
s删除光标所在的字符,并移动到被删除字符的右一个字符处,然后进入编辑模式
S(shift+s)删除光标所在的行,并移动到被删除行的行头,然后进入编辑模式
命令模式的常用命令描述
:q退出 vi/vim 编辑器
:q!强制退出编辑器且不保存
:w保存
:wq保存并退出 vi/vim 编辑器
:set nu显示行号
:set nonu不显示行号
/查找的内容查找(搭配:n查找下一处,N查找上一处,:noh不要高亮显示)
:s/查找的内容/替换的内容替换掉光标所在行的第一个匹配的内容
s/查找的内容/替换的内容/g替换掉光标所在行的全部匹配的内容
%s/查找的内容/替换的内容替换掉每一行的第一个匹配的内容
%s/查找的内容/替换的内容/g全文替换

4、 基础篇 —— 网络配置

      4.1、VMware NetWork

         打开主机的高级网络设置查看主机有哪些网络适配器,可以看到有一个 VMware Network Adapter VMnet1 和一个 VMware Network Adapter VMnet8,这是在安装 VMware Workstation 或 VMware Player 之类的虚拟化软件时,VMware 自动为主机配置的虚拟网络适配器(又称虚拟网卡),以便支持虚拟机的网络连接,不同的 VMNet 处于不同的虚拟网络中

TIP:在典型的计算机系统中,网络接口卡(NIC,Network Interface Card)可以分为物理网卡和虚拟网卡。物理网卡包括有线以太网网卡和无线网卡(WLAN),而虚拟网卡通常是由虚拟化软件(如 VMware)创建的,用于虚拟机与宿主机及其他虚拟机之间的网络通信

网卡的功能主要有:
1、对于发送数据来说:数据封装和解封装、数据传输
2、对于接收数据来说:地址解析和控制、数据接收
3、通用:提供物理层接口、流量控制、中断处理、网络协议支持

         VMware 提供了几种不同类型的虚拟网络,主要包括 VMnet0、VMnet1 和 VMnet8,每个适配器处于不同网络模式的虚拟网络中

适配器类型对应的网络模式
VMnet0桥接网络
VMnet1
仅主机网络
VMnet8
NAT网络

      4.2、链接测试

        由于我在创建虚拟机过程中进行网络配置时选择了 NAT 模式,因此现在我应该看我的 VMnet8 网卡地址:192.168.137.1。然后再找到虚拟机的网卡地址:192.168.137.128

使用命令行的查看方式
查看虚拟机的地址(Linux):ifconfig(看ens那一栏的)
查看主机的地址(Windows):ipconfig

        然后就可以使用ping来测试是否连接的通了

TIP:谁被 ping 不通可以找谁的防火墙,例如虚拟机 ping 主机 ping 不通,那应该是主机的防火墙拦截了 ICMP 报文的请求(ping 使用的就是 ICMP 协议),由于 VMnet8 虚拟网络适配器通常被 Windows 识别为公共网络连接(因为这些虚拟网络通常是默认配置,并没有明确标识为家庭(专用)或公司网络(域)),因此将 Windows 的公用配置文件的入站连接改为允许即可
在这里插入图片描述

      4.3、网络连接模式

网络模式作用用途典型应用
桥接网络将虚拟机直接连接到物理网络,使其像物理网络上的独立设备一样存在(主机起到网桥的作用)使虚拟机获得与宿主机相同的网络访问权限,可以直接访问网络中的其他设备虚拟机需要与网络中的其他设备(如服务器、打印机等)进行正常通信
仅主机网络创建一个仅宿主机和虚拟机之间的网络,没有外部网络访问权限用于虚拟机和宿主机之间的隔离网络通信,不与外部网络进行交互创建一个独立的测试环境,不受外部网络影响
NAT网络通过 NAT 方式让虚拟机使用宿主机的网络连接与外部网络通信使虚拟机能够通过宿主机访问外部网络,同时保持内部网络隔离需要虚拟机访问互联网或外部网络资源,但希望内部网络通信隔离

         Ⅰ. VMware 实现桥接模式的细节如下,首先了解两个概念:
         ① 虚拟交换机:在VMware中,每个虚拟网络(如VMnet0、VMnet1等)实际上是由一个虚拟交换机构成的。这个虚拟交换机用于连接虚拟机和物理网络

虚拟交换机的工作机制描述
初始化连接虚拟交换机与主机的物理网卡建立连接
MAC地址表虚拟交换机会维护一个MAC地址表,这个表记录了各个虚拟机的MAC地址和对应的端口(虚拟网卡)
数据包转发当虚拟机发送数据包时,虚拟交换机会检查目的MAC地址,根据MAC地址表决定将数据包转发到哪个端口。如果目的MAC地址在表中,虚拟交换机会将数据包转发到对应的虚拟网卡。如果目的MAC地址不在表中,虚拟交换机会进行泛洪,将数据包发送到所有端口

         ② 虚拟网卡和物理网卡:每台虚拟机都有一个虚拟网卡(vNIC),这个虚拟网卡通过虚拟交换机与主机的物理网卡(pNIC)相连。在桥接模式下,虚拟交换机与物理网卡直接关联,允许虚拟机通过主机的物理网络接口直接访问网络

流程细节描述
虚拟网卡创建与配置当用户创建一台虚拟机时,VMware会为该虚拟机分配一个或多个虚拟网卡(vNIC),每个虚拟网卡都会被分配一个唯一的MAC地址,用于网络层的数据通信,在选择桥接模式后,虚拟网卡就准备好通过虚拟交换机与物理网卡进行通信
虚拟交换机VMware会在主机上创建一个虚拟交换机(vSwitch)。这个虚拟交换机是一个软件实现的交换机,工作在数据链路层,用于在虚拟机之间以及虚拟机与物理网络之间转发以太网帧,每个虚拟网卡被分配一个虚拟端口(vPort)连接到虚拟交换机,而虚拟交换机会绑定主机的物理网卡(pNIC)
虚拟机发包虚拟机A生成一个数据包,并通过其虚拟网卡(vNIC)发送该数据包
虚拟交换机接收数据包通过vNIC的虚拟端口进入虚拟交换机(vSwitch)
转发到物理网卡虚拟交换机根据MAC地址表决定转发路径,如果数据包的目的地址在外部网络,虚拟交换机会将数据包转发到在主机物理网卡上虚拟出来的网桥上(网桥就会将数据发到外部网络中,相当于将显卡当成了一个网桥/交换机媒介)
物理网络中的转发虚拟网桥将数据包发送到外部网络,由物理网络设备(如交换机、路由器)进行处理
接收方处理数据包到达目的设备(如另一台物理机或虚拟机),目的设备处理并响应

TIP:Promiscuous Mode:在一些配置下,物理网卡可能会进入混杂模式(promiscuous mode),这样它可以接收所有通过该网卡的数据包,而不仅仅是发给它的那些。这对于虚拟机监控网络流量(如使用Wireshark进行抓包)非常有用

         Ⅱ. VMware 实现 NAT 模式的细节如下,首先了解一个概念:
         ① 虚拟路由器:VMware 在 NAT 模式下创建了一台虚拟路由器。这个“虚拟路由器”负责在虚拟机和主机之间进行网络通信和地址转换

虚拟路由器的组成描述
虚拟NAT设备负责地址转换(NAT),将虚拟机的私有IP地址转换为主机的公共IP地址。它类似于物理网络中的家庭路由器的NAT功能
虚拟DHCP服务器为连接到NAT网络的虚拟机动态分配IP地址、子网掩码、网关和DNS服务器地址
虚拟网络适配器连接虚拟机到主机的虚拟网络接口,确保虚拟机能够通过虚拟NAT设备访问外部网络
流程细节描述
虚拟机启动和IP地址分配虚拟机通过虚拟网络适配器连接到VMnet8,并向虚拟DHCP服务器请求IP地址。虚拟DHCP服务器分配一个私有IP地址(例如192.168.137.x)给虚拟机(此时对应的虚拟网网关应该是192.168.137.2,而分配给主机虚拟网卡的 ip 应该是192.168.137.1)
数据包的流动当虚拟机需要访问外部网络时,数据包会通过VMnet8发送到虚拟NAT设备。虚拟NAT设备将虚拟机的私有IP地址转换为主机的公共IP地址,并通过主机的物理网络接口将数据包发送到外部网络
响应数据包的返回外部服务器的响应数据包通过主机的公共IP地址返回到主机,虚拟NAT设备根据之前记录的连接信息,将响应数据包的目标地址转换回虚拟机的私有IP地址,然后通过VMnet8将数据包发送回虚拟机

TIP:由于虚拟路由器使用了 NAT 转换,因此主机本来是没办法反向访问虚拟机的,然而 VMware 会为主机配置一个虚拟网卡(现在是双网卡),这样就使得主机也能直接跟虚拟交互了

      4.4、修改虚拟机的 IP 为静态

         下面演示在 NAT 模式下将 IP 修改为静态的方法

进入配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33

# 配置如下TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# BOOTPROTO="dhcp" # 旧的 BOOTPROTO 为自动DHCP
BOOTPROTO="static" # 更换 BOOTPROTO 改为静态配置
DEFROUTE="yes"
....

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电路笔记 : 嘉立创EDA 导入、查找、设计管理器(快速寻找网络标签)功能+DRC错误检查和处理

导入功能 查找功能 可查找多种类型,如原件名称、网络标签等 设计管理器 图层查看 DRC错误 规则设置 线距问题 大多数PCB制造商能够可靠地生产5 mil间距的走线和间隙。这是一个常见的标准,适合大多数消费级和工业级电子产品。在5 mil以上的间距&#xff…

Android APP memory统计方法

目录 进程的内存信息概述 关键的术语 测试步骤 测试步骤 数据处理 数据分析: 进程内存信息 Dumpsys meminfo -a PID Procrank Procmem PID 特殊内存信息 Mali ION(multi-media,gralloc) 进程地址空间信息 /proc/pid/smaps Showmap PID …

计算机网络 —— 运输层(TCP三次握手)

计算机网络 —— 运输层(TCP三次握手) 三次握手第一次握手第二次握手第三次握手两次握手行不行? 我们今天来学习TCP的三次握手: 三次握手 TCP三次握手是TCP协议中建立连接的过程,旨在确保双方准备好进行可靠的通信。…

【HarmonyOS】鸿蒙入门学习

一、开发前的准备 (一)HarmonyOS 开发套件介绍 (二)开发者主要使用的核心套件 主要为代码开发阶段会使用到的 DevEco Studio、ArkTS、ArkUI三个工具。 (三)熟悉鸿蒙官网 1、网址 https://developer.hua…

第P10周:Pytorch实现车牌识别

第P10周:Pytorch实现车牌识别 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 在之前的案例中,我们多是使用datasets.ImageFolder函数直接导入已经分类好的数据集形成Dataset&#xff…

创建节约机关怎样向媒体投稿报道宣传?

创建节约机关并向媒体投稿报道宣传是一项重要的工作,它不仅能够提升机关的形象,还能促进社会各界对节约型社会的认识和支持。 作为一名新晋信息宣传员,初入职场的我满腔热血,怀揣着用文字传递价值的理想,却在投稿的道路上屡遭波折。面对每月的宣传任务,我…

自动控制原理【期末复习】(二)

无人机上桨之后可以在调试架上先调试: 1.根轨迹的绘制 /// 前面针对的是时域分析,下面针对频域分析: 2.波特图 3.奈维斯特图绘制 1.奈氏稳定判据 2.对数稳定判据 3.相位裕度和幅值裕度

飞腾派初体验(2)

水个字数,混个推广分,另外几个点还是想吐槽一下 - 1,上篇文章居然没有给开发板一个硬照,补上 - 飞腾派 自拍 2. 现在做镜像用Win32DiskImager的多吗?我记得当年都是dd命令搞定,玩树莓派的应该记得这个命令…

linuxcentos将本地库JAR/arr批量导入到Nexus3.x

背景 我们现在要搞一个私服maven来管理对应的依赖包,需要上传包。用nexus只能单个文件搞,批量导入不行,而且还要单独配置groupID什么的。不多BB,上教程 建脚本 vi mavenimport.sh内容是这个 #!/bin/bash # copy and run this script to t…

6.13--CSS

行内样式 <!DOCTYPE html> <html lang"en"> <head> <title>This is title</title> </head> <body> <p style"font-size: 16px; color: red;">大家好</p> </body> </html> 内部样式表…

piRNA-疾病研究最新综述 – 数据库、软件工具、webserver和计算模型

piRNA被世界顶尖科学期刊《Science》评为2006年年度十大科学突破之一。之后有关piRNA的研究也成为CNS文章的常客。 2022年6月7日发表在Briefings in Bioinformatics上的这篇综述为我们整理了39个piRNA特异性和非特异性数据库及生物信息学资源&#xff1b;并根据piRNA的功能&…

UniApp或微信小程序中scroll-view组件使用show-scrollbar在真机Android或IOS中隐藏不了滚动条的解决办法

show-scrollbar 属性 不论是使用 变量 还是直接使用 布尔值或者直接使用 css 都是在 ios、Android 上是都没有效果。。 真机中还是出现滚动条 解决办法 添加下面CSS ::-webkit-scrollbar {display: none;width: 0 !important;height: 0 !important;-webkit-appearance: no…

贪吃蛇双人模式设计(2)

敲上瘾-CSDN博客控制台程序设置_c语言控制程序窗口大小-CSDN博客贪吃蛇小游戏_贪吃蛇小游戏csdn-CSDN博客 一、功能实现&#xff1a; 玩家1使用↓ → ← ↑按键来操作蛇的方向&#xff0c;使用右Shift键加速&#xff0c;右Ctrl键减速玩家2使用W A S D按键来操作蛇的方向&am…

网络编程(三)UDP TFTP协议

文章目录 一、 UDP&#xff08;一&#xff09;概述&#xff08;二&#xff09;流程 二、收发函数&#xff08;一&#xff09;recvfrom&#xff08;二&#xff09;sendto 三、实现一个简单的udp服务端和客户端四、实现tftp客户端协议 一、 UDP &#xff08;一&#xff09;概述 …

shell条件测试和if语句

“C:\Users\Jessica\Desktop\6.12.assets\image-20240612094159578.png”# shell条件测试和if语句 一、条件测试 1、$? 返回码 判断命令或者脚本是否执行成功&#xff08;最近的一条&#xff09; 0 true 为真就是成功 成立 非0 false 失败或者异常 2、test命令 可以进行…

Docker 镜像源更换

实现 替换docker 镜像源 前提要求 安装 docker docker-compose 参考创建一键更换docker国内镜像源 Docker 镜像代理DaoCloud 镜像站百度云 https://mirror.baidubce.com南京大学镜像站

【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt窗口 | 对话框 | 创建自定义对话框 文章编号&#xff1a;Qt 学习笔记…

opencv 通过滑动条调整阈值处理、边缘检测、轮廓检测、模糊、色调调整和对比度增强参数 并实时预览效果

使用PySimpleGUI库创建了一个图形用户界面(GUI),用于实时处理来自OpenCV摄像头的图像。它允许用户应用不同的图像处理效果,如阈值处理、边缘检测、轮廓检测、模糊、色调调整和对比度增强。用户可以通过滑动条调整相关参数。 完整代码在文章最后,可以运行已经测试; 代码的…

怎么修改Visual Studio Code中现在github账号

git config --global user.name “你的用户名” git config --global user.email “你的邮箱” git config --global --list git push -u origin your_branch_name git remote add origin