《C++ 赋能 K-Means 聚类算法:开启智能数据分类之旅》
在当今数字化浪潮汹涌澎湃的时代,人工智能无疑是引领科技变革的核心驱动力之一。而在人工智能的广袤天地中,数据分类与聚类作为挖掘数据内在价值、揭示数据潜在规律的关键技术手段,正发挥着前所未有的重要作用。K-Means 聚类算法,作为数据聚类领域的经典之作,以其简洁高效的特性而备受瞩目。当我们将目光聚焦于 C++这一强大而高效的编程语言时,会发现它与 K-Means 聚类算法的结合犹如天作之合,能够为数据处理与分析带来卓越的性能表现和无限的创新可能。
一、K-Means 聚类算法原理深度剖析
K-Means 聚类算法的核心思想犹如一场精心策划的“划分地盘”游戏。想象一下,我们有一群数据点散落在一个多维空间中,算法的任务就是将这些数据点划分到不同的“阵营”(簇)中。首先,我们需要随机确定 K 个“中心点”,这些中心点就像是各个阵营的“首领”,它们的位置在一开始是随机设定的。然后,每个数据点都会根据与这些中心点的距离,被划分到距离最近的那个中心点所代表的簇中。这就好比每个数据点都要“选择”跟随一个首领,而选择的依据就是谁离自己更近。
当所有数据点都完成了初步的阵营选择后,接下来就是“首领”们的调整环节。每个簇的新中心点会根据该簇内所有数据点的位置重新计算确定,这就好像首领们根据自己阵营内成员的分布情况,重新调整自己的位置,以便更好地领导这个阵营。之后,数据点们会再次根据新的中心点位置重新选择自己所属的阵营。如此反复,这个过程就像是一场动态的博弈,数据点和中心点不断地调整、适应,直到整个系统达到一种相对稳定的状态,也就是簇内数据点的分布不再发生明显变化,或者达到了预先设定的迭代次数上限。
二、C++在 K-Means 聚类算法实现中的独特优势
C++作为一种编译型语言,在执行效率方面具有与生俱来的优势。与一些解释型语言相比,C++代码在运行前经过编译过程,直接生成机器码,这使得程序在执行时能够以更快的速度运行,充分发挥计算机硬件的性能潜力。在处理大规模数据的 K-Means 聚类任务时,这种高效性尤为关键。想象一下,如果处理海量数据时程序运行速度缓慢,将会耗费大量的时间和资源,而 C++能够显著缩短计算时间,提高算法的执行效率,让数据聚类过程如虎添翼。
C++强大的内存管理机制也是其在实现 K-Means 聚类算法时的一大亮点。开发人员可以灵活地控制内存的分配和释放,根据算法的实际需求精准地管理内存资源。在 K-Means 算法中,需要对数据点和聚类中心等数据结构进行高效的存储和操作,C++能够确保内存的使用恰到好处,避免不必要的内存浪费和频繁的内存分配回收操作,从而进一步提升算法的整体性能。这就好比一位精明的管家,能够合理安排家中的资源,让一切都井井有条地运行。
此外,C++丰富的库和工具生态系统为 K-Means 聚类算法的实现提供了丰富的资源支持。例如,一些高性能的数学库可以方便地进行向量和矩阵运算,这些运算在计算数据点与聚类中心的距离等关键步骤中频繁出现。借助这些成熟的库,开发人员可以减少大量底层代码的编写工作,将更多的精力集中在算法的核心逻辑优化和业务需求实现上,大大提高了开发效率和代码质量。
三、C++实现 K-Means 聚类算法的核心步骤与逻辑解析
在 C++实现 K-Means 聚类算法的征程中,第一步是数据的读取与预处理。这就如同为一场盛大的宴会准备食材,我们需要将待聚类的数据从各种数据源(如文件、数据库等)中读取出来,并进行必要的清洗和转换操作,去除噪声数据和异常值,将数据转换为适合算法处理的格式。例如,如果数据是文本格式的,可能需要解析并提取出关键的数值信息;如果数据存在缺失值,需要根据具体情况进行合理的填充或处理。只有准备好高质量的“食材”,才能为后续的聚类分析奠定坚实的基础。
接下来,是聚类中心的初始化环节。这是算法的起始点,我们可以采用随机初始化的方法,在数据空间中随机选择 K 个点作为初始的聚类中心。当然,也有其他一些更智能的初始化策略,比如基于数据分布特征的初始化方法,可以在一定程度上提高算法的收敛速度和聚类效果。这一步就像是在地图上随机确定几个起始点,为后续的区域划分提供基准。
然后,进入到核心的迭代计算阶段。在每一次迭代中,需要遍历所有的数据点,计算每个数据点到各个聚类中心的距离。这一过程涉及到大量的数学计算,尤其是向量距离的计算,例如欧几里得距离的计算。根据距离的远近,将每个数据点划分到距离最近的聚类中心所属的簇中。完成数据点的划分后,紧接着需要更新每个簇的聚类中心。这通常是通过计算簇内所有数据点的均值来实现的,新的聚类中心将更好地代表该簇的数据分布特征。如此反复进行迭代,直到满足算法的收敛条件,即簇内数据点的分布不再发生显著变化,或者达到了预先设定的最大迭代次数。这一迭代过程就像是一场持续的调整与优化过程,数据点和聚类中心在不断地相互适应、相互影响,最终形成稳定的聚类结构。
四、性能优化与实际应用案例展示
在 C++实现 K-Means 聚类算法时,有多种性能优化策略可供采用。其中,多线程编程是一种非常有效的手段。由于 K-Means 算法在计算数据点与聚类中心距离以及更新聚类中心等步骤中,各个数据点之间的计算相对独立,因此可以利用多线程技术并行处理不同的数据点,充分发挥多核处理器的性能优势。例如,在一个拥有四核处理器的计算机上,可以创建四个线程,每个线程负责处理一部分数据点的计算任务,从而大大缩短算法的执行时间。
内存优化也是提高算法性能的关键环节。通过合理地组织数据结构,减少内存碎片化,以及采用缓存优化技术等,可以提高内存的访问效率,减少数据读取和写入的时间开销。例如,使用连续的内存块来存储数据点和聚类中心,可以提高缓存命中率,加快数据的处理速度。
在实际应用领域,C++实现的 K-Means 聚类算法有着广泛的应用场景。在图像识别领域,可以对图像中的像素点进行聚类,从而实现图像分割、物体识别等任务。例如,将图像中的像素根据颜色、纹理等特征聚类成不同的区域,进而识别出图像中的不同物体或场景。在市场分析领域,可以对消费者的购买行为数据进行聚类分析,将具有相似购买习惯的消费者划分到同一簇中,从而帮助企业更好地了解市场细分情况,制定精准的营销策略。例如,通过聚类分析发现某一群消费者经常购买高端电子产品和时尚服饰,企业就可以针对这一群体推出相关的促销活动或个性化推荐服务。在生物信息学领域,C++实现的 K-Means 聚类算法可以用于基因序列分析、蛋白质结构分类等研究,帮助科学家们挖掘生物数据中的潜在规律和模式,为疾病诊断、药物研发等提供有力的支持。
五、总结与展望
C++与 K-Means 聚类算法的结合为数据处理与分析领域带来了强大的工具和解决方案。通过深入理解 K-Means 聚类算法的原理,充分发挥 C++的优势,我们能够高效地实现这一算法,并在实际应用中取得良好的效果。然而,随着数据规模的不断扩大和应用需求的日益复杂,我们仍面临着诸多挑战和机遇。未来,在人工智能与大数据技术不断发展的背景下,C++在 K-Means 聚类算法以及其他数据挖掘和机器学习算法的实现方面,将继续不断创新和优化,为推动各领域的智能化发展贡献更多的力量。无论是在科学研究领域探索未知的奥秘,还是在商业应用场景中创造价值,C++与 K-Means 聚类算法的协同作战都将有着广阔的前景和无限的潜力,值得我们不断深入探索和研究。
相关文章:
《C++ 赋能 K-Means 聚类算法:开启智能数据分类之旅》
在当今数字化浪潮汹涌澎湃的时代,人工智能无疑是引领科技变革的核心驱动力之一。而在人工智能的广袤天地中,数据分类与聚类作为挖掘数据内在价值、揭示数据潜在规律的关键技术手段,正发挥着前所未有的重要作用。K-Means 聚类算法,…...
用Python开发一个经典贪吃蛇小游戏
Python 是开发小游戏的绝佳工具,借助第三方库,如 pygame,我们可以快速开发一个经典的贪吃蛇游戏。本篇将介绍如何用 Python 实现一个完整的贪吃蛇小游戏。 一、游戏设计 1.1 游戏规则 玩家通过方向键控制贪吃蛇移动。贪吃蛇吃到食物后会变长,同时得分增加。如果贪吃蛇撞到…...
《大宋豪侠传》客户端源码 + 服务端源码 + 工具源码 + 资源,大小16.3G
《大宋豪侠传》客户端源码 服务端源码 工具源码 资源,大小16.3G 下载地址: 通过网盘分享的文件:【源码】《大宋豪侠传》客户端源码 服务端源码 工具源码 资源,大小16.3G 链接: https://pan.baidu.com/s/1lUf84LzXKB3iM7L-1P…...
使用vue-seamless-scroll实现echarts图表大屏滚动,出现空白间隔的解决方案
一、背景介绍 最近的业务开发需求,想要实现echarts图表大屏滚动,小编首先采用vue-seamless-scroll进行实现,结果发现第二屏出现空白间隔,尝试了多种解决方案均不生效,最终选择换一个方案。 二、封装的ScrollList组件…...
zsh配置
zsh配置 https://zhuanlan.zhihu.com/p/58073103 $ cat .zshrc If you come from bash you might have to change your $PATH. export PATH H O M E / b i n : / u s r / l o c a l / b i n : HOME/bin:/usr/local/bin: HOME/bin:/usr/local/bin:PATH Path to your oh-my-zs…...
Brain.js(八):RNNTimeStep 实战教程 - 股票价格预测 - 实操需警慎
前置声明,个人浅度炒股,但计划将基金转入股市。然后 股市有风险,不是技术可以完全预测的,但是在无头绪的时候,用技术指标做个参考也不错。 本文涉及到的股票预测,只是代码简单示例,实操需警慎&a…...
Python+requests实现接口自动化测试
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传…...
java------------常用API preiod duration 计算时间差
1,preiod 如果末天数比初天数小,需要进一位 package API;import java.time.LocalDate; import java.time.Period;public class preiod {public static void main(String[] args) {// 计算时间差// LocalDate获取对象其中的一个方法LocalDate d1 LocalD…...
Android水波纹效果
Android水波纹效果 需要到水波纹效果的场景还蛮少的。万一刚好你需要呢 一、思路: 自定义组件SpreadView 二、效果图: 看视频更直观点: Android轮子分享-水波纹效果 三、关键代码: public class SpreadView extends View {pr…...
yolov8 转华为昇腾om脚本
目录 yolov8 转华为昇腾 om脚本 测试ok 推理demo: yolov8 转华为昇腾 om脚本 测试ok import sys import osos.chdir(os.path.dirname(os.path.abspath(__file__)))import torchcurrent_dir = os.path.dirname(os.path.abspath(__file__))paths = [os.path.abspath(__file__)…...
【人工智能】从基础到实践:用Python和PyTorch实现深度学习图像分割模型
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 图像分割是计算机视觉中的核心任务之一,旨在将图像划分为具有语义意义的区域,在自动驾驶、医疗影像分析等领域有广泛应用。本篇文章将从图像分割的基础知识出发,详细讲解分割任务的目标、评价指标以及常…...
AI绘画设计实战-Day2
Stable Diffusion 提示词前缀 FF,(masterpiece:1.2),best quality,highres,extremely detailed CG,perfect lighting,8k wallpaper,anime,comic,game CG, FF,(杰作:1.2),最高质量,高分辨率,极其…...
详解LeetCode地下城游戏(动态规划)——区分两种状态表示形式
地下城游戏 题目链接:174. 地下城游戏 状态表示: 按照以往题的表示,dp[i][j]表示:从起点(0,0)位置到达(i,j)位置时,所需的最小初始健康值。但是…...
CV(3)--噪声滤波和特征
前言 仅记录学习过程,有问题欢迎讨论 图像噪声(需要主动干扰的场景): 添加高斯噪声:概率密度函数服从高斯分布的一类噪声 通过设置sigma和mean生成符合高斯分布的随机数,然后计算输出像素,放缩…...
[C++]常对象、常对象成员、指向对象的常指针、指向常对象的指针变量以及对象的常引用
一、 常对象 1.定义: 一个常对象就是声明为常量的对象。我们不能改变这个对象的任何成员数据。具体来说,它是通过const关键字来声明的。 2.语法格式: const 类名 对象名;3.代码示例: class MyClass { public:int x;void setX…...
Spring Boot微服务应用实战:构建高效、可扩展的服务架构
在当今的软件开发领域,微服务架构凭借其高度的灵活性、可扩展性和可靠性,已成为众多企业的首选。而Spring Boot,作为Spring框架的一个子项目,以其简洁的API、快速的应用启动以及内嵌的Servlet容器等特点,成为了构建微服…...
如何通过 Windows 自带的启动管理功能优化电脑启动程序
在日常使用电脑的过程中,您可能注意到开机后某些程序会自动运行。这些程序被称为“自启动”或“启动项”,它们可以在系统启动时自动加载并开始运行,有时甚至在后台默默工作。虽然一些启动项可能是必要的(如杀毒软件)&a…...
力扣每日一题 - 1812. 判断国际象棋棋盘中一个格子的颜色
题目 还需要你前往力扣官网查看详细的题目要求 地址 1.给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。2.如果所给格子的颜色是白色,请你返回 true,如果是黑色ÿ…...
Python subprocess.run 使用注意事项,避免出现list index out of range
在执行iOS UI 自动化专项测试的时候,在运行第一遍的时候遇到了这样的错误: 2024-12-04 20:22:27 ERROR conftest pytest_runtest_makereport 106 Test test_open_stream.py::TestOpenStream::test_xxx_open_stream[iPhoneX-xxx-1-250] failed with err…...
UI自动化测试框架:PO模式+数据驱动
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1. PO 设计模式简介 什么是 PO 模式? PO(PageObject)设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Pa…...
第四十六篇 Vision Transformer论文翻译
论文连接:https://arxiv.org/abs/2010.11929 GitHub:https://github.com/google-research/vision_transformer 摘要 虽然Transformer架构已成为自然语言处理任务的实际标准,但其在计算机视觉中的应用仍然有限。在计算机视觉中,注意力机制要么与卷积网络结合使用,要么在保…...
如何在Ubuntu中利用repo和git地址下载获取imx6ull的BSP
01-设置git的用户名和邮箱 git config --global user.name "suwenhao" git config --global user.email "2487872782qq.com"这里不设置的话后面在第5步的repo配置中还是会要求输入,而且以后进行相关操作都要输入,不妨现在就进行配置…...
redis数据结构和内部编码及单线程架构
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 1. 数据结构和内部编码 Redis会在合适的场景选择合适的内部编码 我们可以通过objectencoding命令查询内部编码 : 2. 单线程架构 …...
2412d,d的6月会议
信息:gtkD的文档位置 原文 总结 DMDARM后端 Razvan问Walter他对DMD的ARM后端的分发,并想知道他是否考虑过其他选择,如整合DMD前端与LDC后端. Walter说,人们写信告诉他,他们喜欢使用DMD,因为它体积小,速度快.多年来,就要求他实现ARM后端. 有的人想写一个,但后来因为太难或太耗…...
提升网站流量的关键:AI在SEO关键词优化中的应用
内容概要 在当今数字时代,提升网站流量已成为每个网站管理员的首要任务。而人工智能的技术进步,为搜索引擎优化(SEO)提供了强有力的支持,尤其是在关键词优化方面。关键词是连接用户需求与网站内容的桥梁,其…...
【模型对比】ChatGPT vs Kimi vs 文心一言那个更好用?数据详细解析,找出最适合你的AI辅助工具!
在这个人工智能迅猛发展的时代,AI聊天助手已经深入我们的工作与生活。你是否曾在选择使用ChatGPT、Kimi或是百度的文心一言时感到一头雾水?每款AI都有其独特的魅力与优势,那么,究竟哪一款AI聊天助手最适合你呢?本文将带…...
利润表在Zebra BI 中的应用(一)
效果如图。本案例采用极简式对比 需要注意的是:如原始数据是一维的,则需要确保比较的各年份所含项目一致,缺失的也要占位,否则会出错! 2022% of Revenue(占收入%) DIVIDE( [值_2022], CALCULA…...
12.09 C++作业2
利用函数重载,实现对整形数组的冒泡排序,对浮点型数组的冒泡排序 #include <iostream>using namespace std;int maopao(int(&ra)[10]) {//求数组长度int len sizeof(ra)/sizeof(ra[0]);int i,j,t;for(int i0;i<len;i){cin >>ra[i];}…...
MongoDB性能监控工具
mongostat mongostat是MongoDB自带的监控工具,其可以提供数据库节点或者整个集群当前的状态视图。该功能的设计非常类似于Linux系统中的vmstat命令,可以呈现出实时的状态变化。不同的是,mongostat所监视的对象是数据库进程。mongostat常用于…...
如何防范顶级应用程序安全威胁
如今的网络攻击数量是五年前的两倍多。因此,掌握最新的应用程序安全威胁对于防止数据泄露、经济损失和声誉受损至关重要。您还需要实施强大的安全实践,以保护应用程序免受最常见和最危险的威胁。 顶级应用程序安全威胁......以及如何防范这些威胁 1. 注…...
Java版-图论-拓扑排序与有向无环图
拓扑排序 拓扑排序说明 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列…...
汽车一键启动开关 、一键启动按键 、一键启动按钮
汽车一键启动按钮是智能汽车的重要部分,通常用于启动和关闭引擎。 具体功能: 启动引擎:在许多现代汽车中,一键启动按键取代了传统的钥匙启动方式。只需轻轻按下一键启动按钮,车辆电源即被接通,…...
SWIRL:有望成为2025年顶级AI搜索引擎
现在几乎每家公司都会有内部文档系统,如阿里的语雀、钉钉,字节的飞书,Confluence,印象笔记等等都可以提供给B端在局域网部署。因此,如果能把搜索功能做得高效,就能提高自家产品的竞争力。 想象一下…...
QT requested database does not belong to the calling thread.线程中查询数据报错
QT requested database does not belong to the calling thread.线程中查询数据报错 QString name "ttx"; QSqlQueryModel* sql_model; QString sql_comm QString("select * from dssb_moddve_loddt_tab where name%1").arg(name); sql_model->set…...
活着就好20241210
亲爱的朋友们,大家早上好!🌞 今天是10号,星期二,2024年12月的第十天,同时也是第50周的开始,农历甲辰[龙]年十一月初六日。在这晨光熹微的美好时刻,愿那温暖而明媚的阳光轻轻拂过你的…...
Flutter动画(二)内建隐式动画Widget
动画效果介绍中给出了选择动画的决策树: 使用动画框架不在我们讨论的话题内。flutter支持的动画包括隐式动画和显式动画。 隐式动画和显式动画 隐式动画和显示动画是两种不同的动画实现方式,它们的主要区别在于控制权和动画的重复性。 隐式动画&#…...
【人工智能基础08】卷积神经网络习题:卷积神经网络计算、图像填充、卷积的表达与设计
文章目录 1. 卷积核计算2. 卷积神经网络计算3. 卷积核关注的特征问题解答水平边缘检测与水平条纹检测45度条纹检测 4. 图像检测5. 卷积网络是特殊的全连接网络6. 输出矩阵的三种填充方法7. 卷积设计8.9 成像公式10. 卷积的计算次数11. 全连接层的计算 1. 卷积核计算 卷积操作过…...
前端-使用vue-cli脚手架创建项目
1.下载node:2.下载完检查是否安装成功 在cmd中输入:node --version或node -v 再在cmd中输入: npm -v npm默认的仓库地址是在国外,速度慢,所以设置淘宝镜像,速度就提升了,不设淘宝镜像也可以。 3.设置…...
功能篇:JAVA实现自定义注解
在Java中创建自定义注解可以通过使用interface关键字来完成。自定义注解可以包含元素(即参数),并且你可以指定这些元素的默认值、保留策略以及应用的目标。以下是实现自定义注解的基本步骤和示例代码。 ### 自定义注解的组成部分 1. **元素…...
调度系统:Temporal 在大数据领域的局限分析
在大数据领域的任务管理中,Temporal 和 Apache Airflow 各有优劣。要选择更适合的工具,需根据具体需求(如任务复杂性、依赖管理、分布式能力等)权衡。 以下是两者的比较及 Temporal 在大数据领域的局限分析: Tempora…...
保姆级教学 uniapp绘制二维码海报并保存至相册,真机正常展示图片二维码
一、获取二维码 uni.request({url: https://api.weixin.qq.com/wxa/getwxacode?access_token${getStorage("token")},responseType: "arraybuffer",method: "POST",data: {path: "/pages/index/index"},success(res) {// 转换为 Uint…...
不是“我应该做什么”,而是“我想做什么”
1. 识别内心的渴望 首先,我们需要识别自己真正的愿望和激情所在。这可能需要一些时间和自我反思。问自己:在没有任何外界压力的情况下,我真正想做的是什么?是赚钱、生活、旅行、追星,还是其他什么?识别这些…...
【openwrt】openwrt-21.02 基于IP地址使用ipset实现策略路由操作说明
openwrt版本信息 DISTRIB_ID=OpenWrt DISTRIB_RELEASE=21.02-SNAPSHOT DISTRIB_REVISION=r0-6bf6af1d5 DISTRIB_TARGET=mediatek/mt7981 DISTRIB_ARCH=aarch64_cortex-a53 DISTRIB_DESCRIPTION=OpenWrt 21.02-SNAPSHOT r0-6bf6af1d5 DISTRIB_TAINTS=no-all busybox override …...
Linux内核Kernel启动过程
一、内核启动的基本流程 1. 启动加载程序 (Bootloader) 启动加载程序(如GRUB、LILO、syslinux等)负责将内核映像从存储设备加载到内存中,并准备好内核启动所需的环境。 加载内核映像:启动加载程序将压缩的内核映像(如…...
苍穹外卖复习(持续更新)
文章目录 苍穹外卖复习Day01Day02(新增员工) 苍穹外卖复习 Day01 Day02(新增员工)...
子网划分实例
看到有人问这个问题: 想了一下,这是一个子网划分的问题: 处理方法如图: 这是一个子网划分的问题 设备1用三层交换机,端口设置为路由模式,设备2和设备3为傻瓜交换机模式 设备2和设备3下挂设备都是26为掩码&…...
二进制部署Prometheus+grafana+alertmanager+node_exporter
Prometheus 是一个开源的监控和告警工具包,旨在提供高可靠性和可扩展性。它最初由 SoundCloud 开发,现已成为云原生计算基金会(CNCF)的一部分。以下是 Prometheus 的一些关键特性和概念: 1. **时间序列数据库**&#…...
数据结构——图(遍历,最小生成树,最短路径)
目录 一.图的基本概念 二.图的存储结构 1.邻接矩阵 2.邻接表 三.图的遍历 1.图的广度优先遍历 2.图的深度优先遍历 四.最小生成树 1.Kruskal算法 2.Prim算法 五.最短路径 1.单源最短路径--Dijkstra算法 2.单源最短路径--Bellman-Ford算法 3.多源最短路径--Floyd-…...
Android APK打包流程
文章目录 前言1. 资源打包(通过 AAPT)2. 处理 AIDL 文件3. Java 源代码编译4. Dex 转换5. APK 打包6. APK 签名7. APK 对齐总结 前言 Android APK 打包过程包括多个关键步骤,每个环节都提供了不同的操作机会。开发者可以在这些步骤中进行自定…...
《Liunx系统》之基础操作命令
目录 简介 1. 文件和目录操作 1.1 查看当前目录 1.2 列出目录内容 1.3 切换目录 1.4 创建目录 1.5 删除目录 1.6 创建文件 1.7 删除文件 2. 文件内容操作 2.1 查看文件内容 2.2 搜索文件内容 2.3 复制文件 2.4 移动文件 3. 系统信息和进程管理 3.1 查看系统信息…...