当前位置: 首页 > news >正文

linux—基础命令及相关知识

1.0Linux的哲学思想(优势)

1、一切都是一个文件,一切硬件设备包括硬件接口都可以以文件形式显示

2、系统小型,轻量级,300个包(不装桌面的情况下)

3、避免令人困惑的用户界面(图形界面)

4、在windows操作系统中,没有后缀名会无法打开文件,linux不以后缀名区分文件,没有后缀名对Linux操作没有影响

5、免费

2.0Linux理解

shell的概念(区别于Xshell(远程管理服务器的软件))

shell指代的是一类软件的集合(操作系统的一部分,用kill命令是杀不掉的,-9命令可以强杀),作用是翻译,计算机使用的是二进制语言,shell的作用就是将人类语言翻译成机器能够听懂的语言,将命令传达给操作系统内核执行(centos\ubuntu等都是以Linux为内核的操作系统),操作系统将命令交给电脑硬件处理。

  • Linux系统中运行的一种特殊程序(完成特定任务的一串代码)

  • 用户与内核(Linux)的“翻译官”

  • 用户登陆Linux系统(作用:调度硬件,分配资源,网络管理)时,自动加载一个shell(所有系统,叫法可能有所不同)程序

  • Bash(Shell的一种(可以多开,Linux本就是多人多任务的系统环境,每个bash互相独立又相自联系),比如还有sh、csh、tcsh、nologin(奇葩))是Linux系统中默认使用的Shell程序

tips:桌面本身为一个软件,打开进程管理器,关闭删除explorer,桌面就会消失,打开文件,运行新任务,打开explorer.exe,桌面就会恢复。

3.0Linux命令的分类

命令的本质是程序,需要安装,很多命令在安装完操作系统后不用安装,是因为一些命令集成于Shell(不仅是翻译界面,本身也是一系列程序的集合,例如命令)解释器程序内部,这些命令被称为内部命令(例如cd,shell的一部分,自动载入内存(内部命令在bash里,而bash在内存里),可以直接使用,没有相对应的独立文件),而需要我们额外安装的命令我们称为外部命令(例如ls,装系统的时候选中软件选择里的开发工具自动安装),每个命令都对应一个文件,必须知道其对应的文件位置,由shell加载后执行,外部命令存放在硬盘里,使用时需要内存读取后使用,所以速度比内部命令慢。

type -a命令可以用于区分命令是内部命令还是外部命令,查看命令是否有相对应文件

3.1linux命令执行方式与过程

绝对路径执行

例如/usr/bin/ls

[root@localhost ~]# /usr/bin/ls 
通过输入绝对路径执行命令
anaconda-ks.cfg  original-ks.cfg  text	text2  tt

置入环境变量

将命令置入设置好的环境变量路径    /usr/local/sbin、/usr/local/bin、/usr/bin、/usr/sbin/、/root/bin

[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
(直接输入ls命令会按顺序寻找,找到就停)
(例子:将ls命令升级后,将升级后的ls命令放入/usr/bin/下面,升级前的命令放入/usr/local/sbin/下,直接输入ls命令,会显示老版本的ls命令,要注意不同模式下命令的存放位置)

(例子:将ls命令升级后,将升级后的ls命令放入/usr/bin/下面,升级前的命令放入/usr/local/sbin/下,直接输入ls命令,会显示老版本的ls命令,要注意不同模式下命令的存放位置)

Linux命令执行过程

hash -d命令删除掉缓存表中的命令后,shell程序会重新去环境变量路径中寻找。

3.2.Linux命令格式

通用的命令行使用格式:命令  [选项]  [参数] (英文字符区分大小写,windows不区分)

  • 命令唯一不变
  • 整条命令中最关键的一部分
  • 短格式选项:使用符号“-”引导(多个单字符选项可以组合在一起使用,例如ls -al)
  • 长格式选项:使用符号”--“引导

命令 -字母 命令--单词 命令 选项 

ls -a      命令 -字母
ls --all   命令 --单词
ip a =ip addr unix风格
[root@localhost ~]# cd ~;ls
分号可以先执行前面再执行后面,前面一个命令执行不成功不影响后面命令的执行
anaconda-ks.cfg  original-ks.cfg  text  text2  tt

3.3编辑Linux命令行

快捷键作用
Tab

补全命令或者参数(如果命令是唯一的,按一次直接补全,如果命令不唯一,按两次显示所有衍生命令,输入关键字符按Tab补全命令

有些命令参数只能是文件夹(文件\用户名),选错无法补齐

\反斜杠命令换行
ctrl+U清空至行首
ctrl+A移动至行首
end移动至行尾
ctrl+K清空至行尾
ctrl+L清平(把光标移动到最顶格)
ctrl+C强制退出当前操作
ctrl+S/Q锁屏解锁
page上下键可以快捷选择使用过的历史命令
[root@localhost /]# user
useradd     userdel     userhelper  usermod     usernetctl  users       
[root@localhost /]# userdel
[root@localhost /]# l\
> s
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

3.4获得命令帮助的一些方法(不如百度)

命令作用
help cd查看内部命令
ls --help查看外部命令
man man 查看man手册
man 1 passwd看passwd命令作用
man 5 passwd看passwd文件内容

3.5Linux一些基础命令

帮助:命令 --help  (命令相关帮助)

ls --help     查看ls的命令帮助
mkdir --help  查看mkdir的命令帮助

显示进程树:pstree   (可视化的展示当前操作系统所有的进程以及其父子关系)

                     pstree -p (显示进程树中每个进程的ID(PID))

tips:PID,每个进程的唯一标识符,以便系统能够有效管理和调度。

pstree     可视化的展示当前操作系统所有的进程以及其父子关系
pstree -p  显示进程树中每个进程的ID(PID)

显示文件内容:type     (显示指定文件(命令)内容)

                          type -a(显示指定命令所有指定位置)

[root@localhost ~]# type ls          显示指定命令ls的内容
ls is aliased to `ls --color=auto'
[root@localhost ~]# type -a ls       显示指定命令所有定义位置(懒惰模式?)
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
[root@localhost ~]# type cd          
cd is a shell builtin(cd是shell内置命令)type -a命令可以用于区分命令是内部命令还是外部命令

移动文件:mv 

mv /usr/bin/ls /mnt/     将/usr/bin/下的ls移动到/mnt/下面

删除文件或目录:rm (删除指定的文件和目录) 

                             rm -r(删除该目录以及其所有递归目录)

                             rm -f(强制删除)

rm text        删除当前目录下的text文件夹
rm -r ./text   删除当前目录下的text文件夹及其所有递归目录
rm -f ../      强制删除上一级目录

显示文件内容:cat  

[root@localhost /]# cat etc/passwd 显示etc文件夹下的passwd文件
root:x:0:0:root:/root:/bin/bash
root:当前用户
x:密码的校验符
0:用户编号
0:用户组编号
root:备注信息
/root:用户家目录
/bin/bash:用户登录默认加载的bash

显示当前目录所在的绝对路径:pwd

切换当前所在目录:cd 目标位置(切换到目标位置)

                                cd ~ 或者  cd (切换到当前用户的家目录)

                                cd -              (切换到上一次执行cd之前所在的目录)

                                cd ..               (切换到上级所在目录)

[root@localhost /]# cd 
[root@localhost ~]# cd /
[root@localhost /]# cd -
/root
[root@localhost ~]# cd /usr/bin
[root@localhost bin]# cd -
/root
[root@localhost ~]# pwd
/root

   列表 :ls           (以列表形式列出当前目录下所有文件及子目录)       

               ls -l       (以长列表形式列出当前目录下所有文件及子目录,可以看到文件的属性)

               ls -a      (显示所有文件及隐藏文件,包括.和..)

               ls -d      (显示当前文件夹,一般是.,加上l后可查看属性)

               ls  -h     (友好显示,会给文件大小加上单位,kb及以上才会加上单位)

               ls -R     (递归显示所有文件及文件夹)

               ls -t       (按时间排序,越新的在越上面)

               ls -S      (按大小排序,越大的在越上面)

               ls -r        (倒序显示)

[root@localhost ~]# cd ~
[root@localhost ~]# mkdir -p aa/bb/cc
[root@localhost ~]# ls
1  aa  anaconda-ks.cfg  original-ks.cfg  text  text2  tt
[root@localhost ~]# ls -al
total 56
dr-xr-x---.  7 root root 4096 Oct 22 12:32 .
dr-xr-xr-x. 17 root root  239 Sep  7 20:13 ..
-rw-r--r--.  1 root root    0 Oct 22 10:49 1
drwxr-xr-x.  3 root root   16 Oct 22 12:32 aa
-rw-------.  1 root root 2761 Sep  5 19:01 anaconda-ks.cfg
-rw-------.  1 root root 3833 Oct 21 20:00 .bash_history
-rw-r--r--.  1 root root   18 Dec 28  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 28  2013 .bash_profile
-rw-r--r--.  1 root root  185 Sep 10 02:26 .bashrc
drwx------.  3 root root   18 Sep  5 19:57 .cache
drwxr-xr-x.  3 root root   18 Sep  5 19:57 .config
-rw-r--r--.  1 root root  100 Dec 28  2013 .cshrc
-rw-------.  1 root root   38 Oct 22 10:01 .lesshst
-rw-------.  1 root root 2041 Sep  5 19:01 original-ks.cfg
-rw-r--r--.  1 root root  129 Dec 28  2013 .tcshrc
drwxr-xr-x.  2 root root   36 Oct 20 19:33 text
-rw-r--r--.  1 root root   24 Sep 17 08:47 text2
drwxr-xr-x.  2 root root   22 Sep  9 08:53 tt
-rw-------.  1 root root  779 Oct 20 18:35 .viminfo
-rw-------.  1 root root  132 Oct 20 18:27 .xauthd5k9Xm
-rw-------.  1 root root  134 Oct 22 05:51 .Xauthority
[root@localhost ~]# ls -d
.
[root@localhost ~]# ls -dl
dr-xr-x---. 7 root root 4096 Oct 22 12:32 .
[root@localhost ~]# ls -tr
original-ks.cfg  anaconda-ks.cfg  tt  text2  text  1  aa
[root@localhost ~]# ls -R aa
aa:
bbaa/bb:
ccaa/bb/cc:
[root@localhost ~]# 
第一个字符文件的类型及功能
-普通文件,图片,文本,压缩包等
d目录文件夹
l软链接,类似于windows中的快捷方式
c字符文件,键盘
d快设备,硬盘(4k一读,最合理的读写速度,大了影响空间,小了影响速度)
s套接字
p管道文件

AB两个程序互传数据需要用到套接字和管道文件,套接字是双向的,分为网络套接字(a和b传送数据)和本地套接字,管道文件是单向的,一般都在ram里,用的时候才有,一般run文件夹下居多。

.表示selinux,是一种保护措施,文件的使用时间相当于修改时间,文件的链接数指的是硬链接。

查找文件和目录:find

别名:alias (自定义命令="原始命令")

alias my1="cd etc/profile"
unalias my1 删除创建的别名
别名>内部>hash>外部   优先级

创建文件夹:mkdir

                      mkdir -p (创建递归文件夹)

tips:不要创建p p的文件名,如果要创建,格式用“p p”;rm -f -f无效,因为shell把-f认为是选项,所以要rm -rf ./-rf,尽量不要创建带-文件,尽量用数字和字母创建名字

[root@localhost ~]# mkdir -p aa/bb/cc
[root@localhost ~]# ls -R aa
aa:
bbaa/bb:
ccaa/bb/cc:mkdir -pv /mysql/{3306,2237,3308}/{bin,log,pid,data,etc}  创建递归目录并显示创建信息

创建文件:touch(文件不存在时,创建文件,文件存在时,刷新文件时间)

查看占用磁盘空间:du(查看当前目录及其所有子目录占磁盘空间的大小)

                                 du -a(查看当前目录及其所有子目录以及文件所占空间的大小)

                                 du -s(显示当前文件夹占磁盘的总大小)

                                 du -h(显示单位)

                                 du -d(显示层级,例如d1、d2、d3

tips:ll显示的是文件的真实大小,du显示的是文件占磁盘的空间

4.0通配符

一些符号不表示原来的意思,重新赋予它新的含义,用来匹配文件或者文件夹的名字

通配符含义
代表任意一个字符(?.txt不包含10.txt)
*

代表任意长度的字符(*.txt包含所有以txt结尾的文件)

(*p,p结尾;p*,p开头;*p*包含p)

{a..z}{1..10}{A..Z}表示a到z,1到10,A到Z,touch   {1..10}

[0-9][0-9]

[a-c]

表示单个字符,0-9当中一位,ls [0-9][0-9]表示从00-99

表示a,A,b,B,c

[[:lower:]]表示a-z
[[:upper:]]表示A-Z

[^0-9]

[^a]

匹配列表中所有字符以外的字符

除了名为a以外的所有文件及文件夹,由于单个字符,10等文件名也不行,10可以用[^a][0-9]表示

[[:digit:]]表示0-9
[[:alpha:]]表示所有字母

5.0软硬链接

硬链接:ln 源文件的路径 硬链接的路径

软链接:ln -s 源文件的路径 软链接的路径

相关文章:

linux—基础命令及相关知识

1.0Linux的哲学思想(优势) 1、一切都是一个文件,一切硬件设备包括硬件接口都可以以文件形式显示 2、系统小型,轻量级,300个包(不装桌面的情况下) 3、避免令人困惑的用户界面(图形…...

Spring Boot 实现 WebSocket(注解方式)

本文介绍如何使用 Spring Boot 的注解方式实现一个简单的 WebSocket 服务&#xff0c;支持客户端与服务器之间进行实时通信。 1. 引入依赖 在 pom.xml 文件中添加 WebSocket 相关依赖。 <dependencies><!-- Spring Boot WebSocket 支持 --><dependency>&l…...

windows下Qt的安装方法

Qt Creator是个人非常喜欢的一款开发工具&#xff0c;喜欢用其来开发C和CPC平台项目&#xff0c;当然也可以用其来开发Android和Auto平台项目&#xff0c;但其现在采用离线安装&#xff0c;限于网络问题&#xff0c;安装速度非常慢。 现在介绍一种可以完成快速的安装方法。 下…...

嵌入式面试题 ARM常见面试题

一.ARM内核分为哪几类?他们之间有什么区别? ARM内核主要分为三类,Cortex-A,Cortex-R,Cortex-M三种,A代表Applications,向用户提供全方位解决方案,主要用于复制的应用场合,比如智能手机、移动计算平台,数字电视、机顶盒、打印机或服务器等。R代表Real-Time Embedded,…...

分布式调度器--Spring Task 的使用

目录 1、启动类&#xff08;App.java&#xff09;上加EnableScheduling注解&#xff1a; 开启基于注解的任务调度器 2、同步定时任务 3、多线程&#xff08;异步&#xff09;定时任务 3.1 配置线程池 3.2 开启异步支持 3.3 定义异步方法 4、Api说明 4.1 fixedDelay 4.…...

Java应用程序的测试覆盖率之设计与实现(四)-- jacoco-maven-plugin

一、什么是jacoco-maven-plugin jacoco源码jacoco文档 除了使用jacoco.cli.jar导出并生成覆盖率报告外&#xff0c;还可以使用jacoco-maven-plugin&#xff0c;它是maven集成了jacoco的一款插件。 在工程pom.xml里配置插件jacoco-maven-plugin。 <plugin><groupId&g…...

UI 提供的 progress-step 要怎么实现?

前言 这天突然收到了 UI 修改设计稿的消息通知&#xff1a;“xxx 已修改 xxx 项目并 了你&#xff0c;请及时查看变更内容”&#xff0c;一条、两条、三条 …&#xff0c;修改消息铺天盖地而来&#xff0c;然后就什么都看不到了&#xff08;因为我选择开启消息免打扰&#xf…...

DBSwitch和Seatunel

一、DBSwitch 什么是DBSwitch?它主要用在什么场景&#xff1f; 通过步骤分析可以看到这个是通过配置数据源&#xff0c;采用一次性或定时方案&#xff0c;同步到数据仓库的指定表&#xff0c;并且指定映射关系的工具。有点类似于flinkcdc的增量同步。 参考&#xff1a; dbs…...

【日志】力扣刷题 -- 轮转数组

2024.10.06 【力扣刷题】 经典面试150—转轮数组—中等 189. 轮转数组 - 力扣&#xff08;LeetCode&#xff09; 第一次做&#xff0c;暴力循环 // 超出时间限制 void rotate(int* nums, int numsSize, int k) {for(int i 0; i < k; i){int right numsSize - 1;int temp…...

Java 项目 Dockerfile 示例:从基础镜像选择到环境变量配置的详细指南

Java 项目 Dockerfile 示例&#xff1a;从基础镜像选择到环境变量配置的详细指南 本文提供了一个 Java 项目的 Dockerfile 示例&#xff0c;展示了如何为 Java 应用创建高效的 Docker 镜像。Dockerfile 从 OpenJDK 8 的 Java 运行环境开始&#xff0c;配置了工作目录和 JVM 启…...

WebGL编程指南 - 高级变换与动画基础

学习使用一个矩阵变换库&#xff0c;该库封装了矩阵运算的数学细节。快速上手使用该矩阵库&#xff0c;对图形进行复合变换。在该矩阵库的帮助下&#xff0c;实现简单的动画效果。 矩阵变换库&#xff1a;cuon-matrix.js OpenGL中的函数&#xff1a; 书中 cuon-matrix.js 函数…...

银行客户贷款行为数据挖掘与分析

#1024程序员节 | 征文# 在新时代下&#xff0c;消费者的需求结构、内容与方式发生巨大改变&#xff0c;企业要想获取更多竞争优势&#xff0c;需要借助大数据技术持续创新。本文分析了传统商业银行面临的挑战&#xff0c;并基于knn、逻辑回归、人工神经网络三种算法&#xff0…...

制程质量管理方案设计

质量管理系统框架——QMS 涵盖产生产制造体系的全生命周期的质量管理过程 与SAP、WMS、MES、OA等业务系统进行集成&#xff0c;整合各业务系统中的质量信息 利用整合的全价值链质量信息&#xff0c;寻找质量改进点和质量创新点 系统功能模块管理 系统管理&#xff1a;用户管理…...

uniapp移动端优惠券! 附源码!!!!

本文为常见的移动端uniapp优惠券&#xff0c;共有6种优惠券样式&#xff08;参考了常见的优惠券&#xff09;&#xff0c;文本内容仅为示例&#xff0c;您可在此基础上调整为你想要的文本 预览效果 通过模拟数据&#xff0c;实现点击使用优惠券让其变为灰色的效果&#xff08;模…...

【分布式技术】中间件-zookeeper安装配置

文章目录 安装部署1. 安装ZooKeeper2. 配置ZooKeeper3. 启动ZooKeeper服务器4. 使用ZooKeeper命令行客户端5. 使用ZooKeeper的四个基本操作6. ZooKeeper集群模式7. 安全和权限8. 监控和日志 相关文献 安装部署 在Linux环境中操作ZooKeeper通常涉及以下几个方面&#xff1a; 1…...

高等数学 7.6高阶线性微分方程

文章目录 一、线性微分方程的解的结构*二、常数变易法 方程 d 2 y d x 2 P ( x ) d y d x Q ( x ) f ( x ) (1) \cfrac{\mathrm{d}^2 y}{\mathrm{d}x^2} P(x) \cfrac{\mathrm{d}y}{\mathrm{d}x} Q(x) f(x) \tag{1} dx2d2y​P(x)dxdy​Q(x)f(x)(1) 叫做二阶线性微分方程。…...

LSP的建立

MPLS需要为报文事先分配好标签&#xff0c;建立一条LSP&#xff0c;才能进行报文转发。LSP分为静态LSP和动态LSP两种。 静态LSP的建立 静态LSP是用户通过手工为各个转发等价类分配标签而建立的。由于静态LSP各节点上不能相互感知到整个LSP的情况&#xff0c;因此静态LSP是一个…...

huggingface的数据集下载(linux下clone)

1. 安装lfs sudo apt-get install git-lfs 或者 apt-get install git-lfs 2. git lfs install git lfs install 3. git clone dataset包 第2&#xff0c;3步骤的截图如下&#xff1a;...

Java使用dom4j生成kml(xml)文件遇到No such namespace prefix: xxx is in scope on:问题解决

介绍addAttribute和addNamepsace: addAttribute 方法 addAttribute 方法用于给XML元素添加属性。属性&#xff08;Attributes&#xff09;是元素的修饰符&#xff0c;提供了关于元素的额外信息&#xff0c;并且位于元素的开始标签中。属性通常用于指定元素的行为或样式&#…...

深入探讨Java中的LongAdder:使用技巧与避坑指南

文章目录 一、什么是LongAdder&#xff1f;二、LongAdder的简单使用示例代码&#xff1a; 三、LongAdder的工作原理四、LongAdder的常见使用场景五、使用LongAdder时的注意事项&#xff08;避坑指南&#xff09;1. 不要滥用LongAdder2. sum()方法与精度问题3. 避免过度使用rese…...

【本科毕业设计】基于单片机的智能家居防火防盗报警系统

基于单片机的智能家居防火防盗报警系统 相关资料链接下载摘要Abstract第1章 绪论1.1课题的背景1.2 研究的目的和意义 第2章 系统总体方案设计2.1 设计要求2.2 方案选择和论证2.2.1 单片机的选择2.2.2 显示方案的选择 第3章 系统硬件设计3.1 整体方案设计3.1.1 系统概述3.1.2 系…...

C语言 动态数据结构的C语言实现单向链表-2

建立一个单向链表 在单向链表中查找节点---查找尾节点 在单向链表中查找节点 --- 查找第 n 个节点 向单向链表中插入一个节点 向单向链表的尾部插入一个节点 向单向链表中某节点后插入一个节点 向单向链表中插入一个节点 删除单向链表中的某一节点 链表 vs 数组 动态数据结构...

Github 2024-10-23C开源项目日报 Top10

根据Github Trendings的统计,今日(2024-10-23统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目10PLpgSQL项目1Redis - 内存数据库和数据结构服务器 创建周期:5411 天开发语言:C协议类型:BSD 3-Clause “New” or “Revised” Licen…...

ubuntu20.04 opencv4.0 /usr/local/lib/libgflags.a(gflags.cc.o): relocation报错解决

在一个只有ubuntu20.04的docker环境中配置opencv4.0.0, 什么库都没有&#xff0c;都要重新安装&#xff0c; 其他的问题在网上都找到了解决方案&#xff0c;唯独这个问题比较棘手&#xff1a; [ 86%] Linking CXX executable …/…/bin/opencv_annotation /usr/bin/ld: /usr/lo…...

android openGL ES详解——混合

一、混合概念 混合是一种常用的技巧&#xff0c;通常可以用来实现半透明。但其实它也是十分灵活的&#xff0c;你可以通过不同的设置得到不同的混合结果&#xff0c;产生一些有趣或者奇怪的图象。混合是什么呢&#xff1f;混合就是把两种颜色混在一起。具体一点&#xff0c;就…...

计网--物理层

目录 物理层的任务 1、常见概念 2、信道极限容量 3、传输介质 &#xff08;1&#xff09;导引型传输介质 &#xff08;2&#xff09;非导引型传输介质 4、信道复用技术 &#xff08;1&#xff09;频分 / 时分 复用 &#xff08;2&#xff09;波分复用WDM &#xff08;…...

算法的学习笔记—数组中的逆序对(牛客JZ51)

&#x1f600;前言 在算法和数据结构领域&#xff0c;"逆序对"是一个经典问题。它在数组中两个数字之间定义&#xff0c;若前面的数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。我们要做的就是&#xff0c;给定一个数组&#xff0c;找出数组中所有的逆…...

Golang | Leetcode Golang题解之第498题对角线遍历

题目&#xff1a; 题解&#xff1a; func findDiagonalOrder(mat [][]int) []int {m, n : len(mat), len(mat[0])ans : make([]int, 0, m*n)for i : 0; i < mn-1; i {if i%2 1 {x : max(i-n1, 0)y : min(i, n-1)for x < m && y > 0 {ans append(ans, mat[x…...

什么是全局污染?怎么避免全局污染?

全局污染&#xff08;Global Pollution&#xff09;是指在编程过程中&#xff0c;过度使用全局变量或对象导致命名冲突、代码可维护性下降及潜在错误增加的问题。在 JavaScript 等动态语言中&#xff0c;尤其需要关注全局污染的风险。 全局污染的影响 1. 命名冲突 3. 意外修改…...

C# 串口通信教程

串口通信&#xff08;Serial Communication&#xff09;是一种用于设备之间数据传输的常见方法&#xff0c;通常用于与外部硬件设备&#xff08;如传感器、机器人、微控制器&#xff09;进行通信。在 C# 中&#xff0c;System.IO.Ports 命名空间提供了与串口设备交互的功能&…...