admin 管理员组

文章数量: 887006

CAM智能化助力PCB智能制造

文章目录

  • CAM智能化助力PCB智能制造
  • 前言
  • 一、系统化
    • 1.定义
    • 2.思考
    • 3.方法
  • 二、标准化
    • 1.人员的标准化管理
      • 前章.专业人员培训
        • 人员培训课程表
      • 第一章.Linux系统学习
        • 第1课.系统安装
          • 第1节.虚拟机安装(Windows)
          • 第2节.Centos7系统镜像下载安装
        • 第2课.系统配置
          • 第1节.网络配置
          • 第2节.SMB共享服务配置
          • 第3节.网络配置
          • 第4节.VNCSERVER服务配置
          • 第5节.自动任务配置
        • 第3课.常用命令
        • 第4课.Vim编辑器
      • 第二章.开发环境配置
        • 第5课.安装Anaconda3(Python3)
          • 第1节.Windows下安装配置Anaconda3
          • 第2节.CentOS 7下安装配置Anaconda3
        • 第6课.常用的Python模块安装
        • 第7课.安装集成开发工具(PyCharm)
        • 第8课.安装数据库(MySQL/SQLServer)
        • 第9课.安装navicat(数据库操作客户端)
        • 第10课.CAM软件脚本语言环境配置
        • 第11课.Git安装配置
        • 第12课.Svn安装配置
      • 第三章.工程软件学习
        • 第13课.Genesis2000/InCAM/InCAMPro安装配置
        • 第14课.Genesis2000/InCAM/InCAMPro操作基础
        • 第15课.Genesis2000/InCAM/InCAMPro系统参数
        • 第16课.Genesis2000/InCAM/InCAMPro基础命令
      • 第四章.系统维护学习
        • 第17课.Linux系统常见异常问题汇总
      • 第五章.脚本开发学习
        • 第18课.Python3基础
        • 第19课.Python3进阶
        • 第20课.Python3高阶
        • 第21课.Python3编程实战开发(CAM脚本开发)
        • 第22课.Python3编程实战开发(Line_Hooks开发)
        • 第23课.Python3编程实战开发(脚本全自动执行)
        • 第24课.Python3编程实战开发(外挂脚本执行)
      • 第六章.项目开发学习
        • 第25课.快板系统项目详解
    • 2.制作规范的标准化建设
      • 操作流程制定
      • 执行标准建立
      • 操作指引建立
    • 3.实施过程的标准管控
      • 制作项目建立
      • 任务计划排定
      • 任务计划追踪
  • 三、自动化
  • 四、切片化
  • 五、智能化
  • 六、无人化
  • 总结


前言

古语云:路漫漫其修远兮,吾将上下而求索!

  • 二十一世纪二十年代了,科技发展日新月异,所有的事物都在快速发展,人类的文明也得到了极大的繁荣,唯一不变的是美帝国主义亡我之心不死,作为红旗下茁壮成长的我终于不再是早上八九点钟的太阳,我现在至少是中午的太阳.我有一个梦想,我希望世界和平,梦想太大风浪大,我没出过海经不起什么大风大浪,这个梦想我肯定实现不了,人贵要有自知之明,踏着梦想砥砺前行我肯定说得到,做不做得到我不知道,但是我坚信还是要先做,怕死不死不成立,我们追求稳步前进但是一定心怀远大梦想,梦想一定是我们前进道路的方向,失去梦想的人注定只能行尸走肉.
    正所谓敢想敢干,说干就干.首先,我介绍一下我自己,本人生于红旗下,成长于天地间,自呱呱坠地就使得我家倾家荡产,没有错,我就是计划生育的非计划人口,30年前的国家负担,30年后生育的主力,生我嫌多,我生嫌少,我的成长过程自然而又充满变革,时代的红利都完美的避开,我就是悲催的80后,成长在大变革大发展的30年,如今新的30年已经重新开启,我们的国家已经走完由穷到富的历史征程,接下来将进入由富到强新的发展阶段,新的变革潮流已经形成,墨守成规者必定会在新潮流新趋势下被淘汰,敢于革新者必将成为下一阶段的领头羊,各行各业无所不一,做为一名合格的搬砖人员或者行业沙子能拿3K还是30K每月考验的不光是你的智慧,更是眼界与胆识.
    PCB制造业在国内已经取得长足的进步及发展,随着产品种类的丰富多样及生产工艺能力的不断提升,对工程前端生产指示及工具设计都提出了更高的要求,如何提高效率,品质将是制前工程永恒的课题,作为PCB制前工程自动化资深从业人员,我无时无刻不在思考这个课题,以我之浅见,完成课题核心在于“解放思想,开拓眼界,大胆实施,强力执行”!解放何种思想?1.效率不够人来凑,人手不够加班凑;2.改变工程部门在工厂处于辅助部门的认知,改变系统开发人员在工程处于辅助人员甚至服务员的认知;以我为主,坚持系统化,自动化,智能化!

一、系统化

1.定义

  • 将工作分割细化,以点带面,使复杂的笼统的工作分割为有组织有结构的具体的工作细则,简而言之,化繁为简,以量变产生质变,以质变产出奇效.

2.思考

  • 如何系统化?
    答:首先将工作按职责划分并分类,然后将分类后的工作分割成单元模块,再次将单元模块具体操作步骤化,最后将每步执行脚本化.

  • 能否详细说明?
    答:举例说明,CAM自动化系统,单凭字面仅能泛化理解,并不能直观的感受及认识什么是自动化系统,接下来用思维导图的方式给大家展示:

    • 如上图所示,我们看到的所有模块汇总就叫CAM自动化系统,样例中又包含三大子系统或者子模块,子系统又包含更小的颗粒系统或者模块,以此不停的细化分割直至到最小的分支或者颗粒,如果以人为例,我们就可以称之为"人类生物系统",所以CAM自动化系统并不是简单的脚本程式汇总,而是一个相对庞大的需要统一协调的达成一至执行的框架性执行合集,从来就不是所谓"系统人员"一个人的事,而是一整个部门甚至全公司更甚至全行业同行的事情,我们将这个系统分拆组合,细化分类的整个过程就做系统化,系统化是自动化实施的基石,没有经过系统化的自动化我们称之为形式自动化,并不能真正解决根本问题,没有有效组织及规范要求的自动化程式,功能再强大也仅仅只是功能强大,就如一堆无组织无纪律的散兵游勇,再勇敢也只是散兵游勇,并不能发挥出团队合作的效能.

3.方法

  • 学会使用工具,使用何种工具?
    首先人与动物最大的区别在于人会使用工具及易于沟通交流,21世纪的工具是相当丰富的,掌握更多的资源及工具就能掌握先机,就能实现利益最大化,所有人在社会的阶层地位都是由个人掌握的资源和能力来决定的,我们说的能力就是对各类工具的使用能力及与任何对象的沟通能力,任何一种能力都能使我们获取更多的资源,所以任何时候都要对自己的能力有清晰的认知.
    综上所述,我们在工作中学会使用各类工具,掌握更多工具使用技巧,学会沟通交流就会让你在同行中抢得先机.
    回到正题,我们在系统化的过程中使用何种工具,本人极力推荐思维导图软件XMind,
    这是一款功能强大且易掌握使用的多平台国产软件,当然还有许多类似的功能软件大家可以自行搜索选择合适自己的即可.
    下面我们看看用思维导图软件整理后的CAM系统人员工作及管理事项,会不会将我们的思维具象化,让所有人都能懂你在做什么,你要做什么,你要怎么做.
    • 以上我们讲到了思维导图工具的使用及思维具象化的方法,接下来我们学习使用工具将我们要做的事情变成有组织有结构有计划的可执行的任务(维护计划和项目开发计划),使用企业微信的公司我强烈推荐直接在企业微信中搞定一切,没有企业微信也不用慌,我们可以使用WPS,方法是一样的,企业微信集成了我们制作项目的所需的一切软件功能,如思维导图,流程图,excel,工作群组搭建,线上会议及任务追踪等.
    • 如下图,我们制作一个需求的处理的周工作任务计划,任务计划包含了周制作项目及时间计划,同时我们还可以添加所有需要关注周计划的相关人员,真正做到信息实时共享,进度全盘掌握.

二、标准化

1.人员的标准化管理

  • 团队的搭建及分工

    工程PIE开发维护
    提出,测试,执行需求整理规范及标准方案制定,项目开发及文档编写项目维护升级及培训
  • 建立项目开发标准流程图

  • 1.3.团队的管理
    自动化的实施分为开发和维护两个过程,团队的建立并不是传统的某个专门部门,一般实施会建立项目部门,这样做的好处在于,统一协调,统一行动,让各职能部门真正发挥各自领域的专业性,团队核心能力说明:

    • (1).工程部门熟悉运作流程及制作要求,部分优秀人员的操作经验就是良好的自动化实施基础,但是并不是所有的人员能力及经验都是全面的,均衡的,工程负责人也并不是全能,建立项目组的目的就是让优秀的人员及良好的经验都能参与到实施的过程中来,让优秀的个人经验变成优秀的团队经验,既能提升团队协作能力,也能让的用户全程参与实施,做一名参与者而不是机械的执行人员或者旁观者,总而言之就是充分挖掘工程人员的潜力及充分利用良好的经验;
    • (2).PIE部门作为成本管控及标准制定的担当可以为团队的标准化管理及规范管理提供专业的助力,从体系端规范自动化实施的管理标准,让一切项目的执行都是有据可查,有规可依,避免项目制作规则混乱及不成文靠嘴上说的问题出现;
    • (3).软件部开发组,作为实际的实施部门,根据需求及规则制定详细的实施及开发计划,让所有的需求及规范都能变为实际可操作的程式代码,这个过程控制一般会要求制定专业的项目制作甘特图,以便大家都是能实时的掌控项目的进度;
    • (4).软件部维护组,任何项目的开发完结并不能代表整个项目的完结,所有的需求及规则都是动态的,需要专业的系统维护人员根据需求部门的反馈,及时完善,优化及导入新的规则.
    • 综上所述,自动化项目的实施都会分为两个阶段,开发阶段及维护阶段,项目的团队管理并不是以固定部门职责来定义,而是以项目负责人为核心来管理运行,如何选定项目负责人自然是以对项目的理解,掌控及实施能力来定义,这样能有效避免一言堂及屁股指挥大脑的情况发生.
  • 1.4.系统人员的培训(以Centos7/InCAMPro/Python3/PyQt5环境为主)
    专业的人做专业的事,专业的人员培养必不可少,任何时候掌握人才培养的能力永远比找寻人才更能抢占先机,培训课程及计划必须安排上:

    前章.专业人员培训

    人员培训课程表
    章节课程小节关键点课时
    第一章.Linux系统学习第1课.系统安装1.虚拟机安装(Windows)掌握虚拟机基本配置60min
    2.Centos7系统镜像下载安装分区只做引导分区,内存交换分区,根分区60min
    第2课.系统配置1.网络配置了解网络配置10min
    2.SMB共享服务配置掌握SMB服务配置10min
    3.NFS共享服务配置掌握NFS服务配置10min
    4.VNCSERVER服务配置掌握vncservers服务配置30min
    5.自动任务配置掌握crontab配置及原理30min
    第3课.常用命令1.Centos7常用终端指令cd,df,ps,ls,ln,su,cp,mv,scp,ssh,rm,touch,mkdir60min
    第4课.vim编辑器1.vim基础操作掌握vim基本操作30min
    第二章.开发环境配置第5课.安装Anaconda3(Python3)1.Anaconda安装了解为什么选择Anaconda30min
    2.Python3环境配置不能覆盖系统原有Python环境,会影响系统10min
    第6课.常用的Python模块安装1.PyQt5图像界面模块安装conda安装和pip安装10min
    2.pymysql/pymssql数据库操作模块安装掌握常用数据库操作模块的安装10min
    3.xlrd/xlwt库安装掌握常用excel处理模块的安装10min
    4.其他常用库安装掌握常用处理模块的安装10min
    第7课.安装集成开发工具(PyCharm)1.PyCharm安装掌握集成开发软件的安装配置10min
    2.PyCharm常规设置一些常用的插件及AI插件,集成环境的配置20min
    3.PyCharm配置Python环境虚拟环境及本地环境10min
    4.PyCharm下安装Python第三方模块掌握集成开发环境下常用模块的安装方法10min
    第8课.安装数据库(MySQL/SQLServer)1.安装CentOS时自动安装装MySQL数据库服务掌握系统安装时的一些必要服务同步安装10min
    2.MySQL数据库服务常规安装配置掌握Linux下的MySQL数据库安装20min
    3.SqlServer数据库服务安装配置掌握Windows下Sql Server数据库的安装20min
    第9课.安装navicat(数据库操作客户端)1.数据库操作客户端navicat安装掌握数据库客户端软件navict的安装及激活10min
    2.navicat配置数据库连接掌握客户端连接数据库的基本操作10min
    3.navicat常规操作掌握通过客户端对数据库的查改增删基本操作10min
    第10课.CAM软件脚本语言环境配置1.解释型语言脚本运行配置文件讲解掌握奥宝CAM软件脚本运行机制10min
    2.编译型型语言脚本运行配置文件讲解/10min
    第11课.Git安装配置1.下载安装Git程序了解git的作用,掌握基本的代码托管操作10min
    2.配置Git用户信息/10min
    3.上传并提交代码(gitee代码托管平台)/10min
    4.下载托管的代码(gitee代码托管平台)/10min
    第12课.Svn安装配置1.下载安装Svn程序了解Svn的作用,掌握基本的代码托管操作10min
    2.配置Svn用户信息/10min
    3.上传并提交代码(本地服务器)/10min
    4.下载托管的代码(本地服务器)/10min
    第三章.工程软件学习第13课.Genesis2000/InCAM/InCAMPro安装配置1.Genesis2000安装(Windows)理解各个模块的基本功能和配置方法10min
    2.Genesis2000安装(CentOS)掌握Linux下genesis服务配置30min
    3.InCAM/InCAMPro安装(CentOS)掌握Linux下incam服务配置及License配置30min
    4.CAM软件服务端配置理解服务端与客户端的异同30min
    第14课.Genesis2000/InCAM/InCAMPro操作基础1.操作界面及功能模块介绍了解软件基本操作(功能模块对照)10min
    2.基本操作演示掌握最基本的操作功能30min
    3.进阶操作演示掌握一些技巧性的操作30min
    第15课.Genesis2000/InCAM/InCAMPro系统参数1.系统参数设置掌握系统常规参数设置15min
    2.自定义功能及界面设置掌握快捷键及自定义功能的添加设置15min
    3.软件Library管理及配置掌握系统常规参数设置15min
    4.系统管理员模块配置掌握系统管理员模块参数设置15min
    第16课.Genesis2000/InCAM/InCAMPro基础命令1.常用LMC的录制掌握原始代码基本获取方式及转化方式30min
    2.完整的LMC参数查询掌握完整原始代码获取方式及查询官方文档10min
    3.LMC及Line_Hooks防呆指令掌握软件防呆设计原理及使用时机20min
    第四章.系统维护学习第17课.Linux系统常见异常问题汇总1.系统网络异常掌握网络异常查询方式10min
    2.系统服务异常掌握系统服务配置方法20min
    3.系统磁盘空间容量异常掌握磁盘空间自动监控及管理方法30min
    第五章.脚本开发学习第18课.Python3基础1.Python3环境搭建掌握Python3语言环境的搭建10min
    2.PyCharm开发环境配置掌握Python3开发环境的搭建10min
    3.Python3基础语法掌握Python3基础语法30min
    4.Python3数据类型理解字符串,数值,元组,列表,集合,字典类型20min
    5.Python3数据类型转换掌握数据类型之间的相互转换方法10min
    6.Python3注释掌握Python3的注解方式并灵活应用10min
    7.Python3运算符掌握Python3的常用运算符10min
    8.Python3条件控制掌握Python3的条件控制语句10min
    9.Python3循环语句掌握Python3的循环控制语句10min
    10.Python3推导式理解并能灵活应用推导式10min
    11.Python3函数理解函数的基本结构10min
    12.Python lambda(匿名函数)理解lambda函数并掌握一些常见的应用场景10min
    13.Python3数据结构理解Python3数据结构的基本操作10min
    14.Python3模块掌握模块的导入及基本调用方法10min
    15.Python3输入和输出掌握常用的格式化方法(%, ‘{0}’.fomat(a)等)10min
    16.Python3文本处理掌握文本处理的基本操作及异常处理10min
    17.Python3模块之OS(文件/目录方法)掌握最常用的OS模块基本操作10min
    18.Python3错误和异常掌握程式异常处理机制10min
    第19课.Python3进阶1.Python3面向对象理解面向对象思想及面向对象编程的好处20min
    2.Python3命名空间和作用域了解Python3关键字,掌握命名规则及作用域10min
    3.Python3标准库了解Python3标准库及熟练使用常见标准库10min
    4.Python3实例掌握Python3编程基本技能30min
    5.Python测验检验Python3编程基本技能水平30min
    第20课.Python3高阶1.Python3正则表达式掌握常用的正则表达式写法基本检验方法30min
    2.Python数据库连接驱动之MySQL掌握Pyhton3对MySQL数据库的驱动及操作20min
    3.Python数据库连接驱动之Sql Server掌握Pyhton3对Sql Server数据库的驱动及操作10min
    4.Python3邮件发送之SMTP掌握Pyhton3自动发送邮件的处理方式30min
    5.Python3多线程掌握Pyhton3多线程编程10min
    6.Python3数据解析之XML掌握Pyhton3对XML的解析10min
    7.Python3数据解析之JSON掌握Pyhton3对JSON的解析10min
    8.Python3日期和时间处理掌握Pyhton3对日期及时间的处理10min
    9.Python3内置函数了解Python3常用内置函数10min
    10.Python3模块安装工具之pip掌握pip工具的操作10min
    11.Python3模块之urllib了解Python3网页URL操作及网页内容处理30min
    12.Python3模块之operator了解operator模块基本应用场景10min
    13.Python3模块之math了解math模块基本数学运算函数10min
    14.Python3模块之requests掌握requests模块调用WebApi10min
    15.Python3模块之random理解模块主要用于生成随机数10min
    16.Python3模块之PyQt5掌握模块并能灵活的开发出各种交互界面60min
    17.Python3模块之pymysql/pymssql掌握模块并能轻松的通过模块操作数据库30min
    第21课.Python3编程实战开发(CAM脚本开发)1.自定义基础接口包IncamClasses.py理解Python3连接CAM软件的基础命令模块30min
    2.自定义基础接口包InfoClasses.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    3.自定义基础接口包LcmClasses.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    4.自定义基础接口包MainClasses.py掌握模块基本结构及扩展方法,灵活应用与开发10min
    5.自定义基础接口包JobClasses.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    6.自定义基础接口包sendMail.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    7.自定义基础接口包GuiClasses.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    8.自定义基础接口包SqlClasses.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    9.自定义基础接口包TextClasses.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    10.自定义基础接口包FileClasses.py掌握模块基本结构及扩展方法,灵活应用与开发30min
    11.自定义基础接口包gatewayClasses.py理解模块与IncamClasses.py的异同10min
    12.牛刀小试(切换InCAMPro系统单位)掌握基本的脚本开发能力10min
    13.往前一步(自动添加Pad脚本)进一步掌握脚本开发能力10min
    14.加快脚步(有交互的添加Pad脚本)掌握基本的交互界面脚本开发能力10min
    15.奔跑向前(自动交互的添加Pad脚本)掌握基本的自动界面交互脚本开发能力30min
    16.破风而行(模块化的系统开发)掌握脚本开发能力的同时掌握脚本的扩展能力10min
    17.顺势而上(面向AI编程)了解新的科技所带来的效率提升20min
    第22课.Python3编程实战开发(Line_Hooks开发)1.如何用Python3来开发Line_Hooks脚本理解奥宝CAM软件的脚本运行机制及防呆机制10min
    2.实战操作(新建料号防呆脚本开发)掌握前置,后置防呆脚本的开发20min
    3.实战操作(用户操作记录)理解奥宝CAM软件的保存机制及日志存储方式20min
    4.实战操作(建立料号履历)理解软件机制,利用Line_Hooks做一些灵活操作30min
    5.实战操作(让用户无法犯错)掌握主动防呆,过程防呆,替用户把住易错点30min
    6.实战操作(让用户无感操作)掌握主动防呆,过程防呆,替用户做一些常用操作30min
    7.实战操作(让用户只做该做的事)掌握主动防呆,过程防呆,替用户规划好操作权限30min
    第23课.Python3编程实战开发(脚本全自动执行)1.奥宝CAM软件的无界面模式了解奥宝CAM软件无界面模式及常用场景10min
    2.实战操作(无界面输出tgz资料)掌握常用的无界面执行指令及脚本开发30min
    3.实战操作(无人值守输出tgz资料)掌握无人值守脚本的开发及应用30min
    第24课.Python3编程实战开发(外挂脚本执行)1.奥宝CAM软件的gateway执行模式了解奥宝CAM软件gateway指令及常用场景30min
    2.实战操作(通过外挂管理料号库)掌握通过外挂执行CAM脚本指令30min
    3.实战操作(通过外挂实现camguide)深入理解并充分利用gateway模式开发脚本60min
    第六章.项目开发学习第25课.快板系统项目详解1.项目建立及需求分析了解项目的概念及如何做需求分析20min
    2.项目小组建立及任务分解了解项目成员划分及任务分解规则20min
    3.项目计划制作及执行掌握项目计划甘特图及项目推进进度追踪方法20min
    4.了解项目整体架构及编程思想/10min
    5.外挂主体程式讲解掌握主体程式开发及功能架构10min
    6.外挂功能模块组成掌握功能模块开发方法10min
    7.外挂的扩展及维护掌握扩展方法及功能模块维护方法10min
    8.一切皆可外挂理解集成化界面带来的效率提升核心点10min

    第一章.Linux系统学习

    第1课.系统安装
    第1节.虚拟机安装(Windows)
    • 步骤1.VMware Workstation Pro下载: 下载地址

    • 步骤2.安装虚拟机软件(安装演示):

      注意事项:
      1.虚拟机硬件配置不能超过本机实际硬件配置;
      2.根据实际的需求选择硬件配置;
      3.新建虚拟机时可以先不装载ISO文件,待完成所有配置后在执行加载系统ISO文件安装.

      课后作业:

      • 下载VMware WorkStation Pro安装包。
      • 运行VMware WorkStation Pro安装包。
      • 安装VMware WorkStation Pro。
      • 输入许可证密钥(如果有)。
      • 完成安装并启动VMware WorkStation Pro。
      • 配置网络和虚拟机设置。
      • 开始使用VMware WorkStation Pro。
    第2节.Centos7系统镜像下载安装
    • 步骤1.CentOS7系统ISO镜像下载: 网易163镜像源下载地址

    • 步骤2.虚拟机安装CentOS7系统镜像(安装演示):

      • (1).选择配置好的虚拟机并添加下载好的操作系统镜像:

      • (2).启动虚拟机并安装CentOS7镜像文件:

      • (3).安装完成后进入CentOS 7系统的图形界面,默认使用kde桌面模式:

      注意事项:
      1.分区选择手动新建分区,只分(boot分区,内存交换swap分区及"/"根分区);
      2.安装时选择"带GUI的服务器"模式并且直接勾选全部服务模块安装;
      3.在安装过程中配置好普通用户及网络服务

      课后作业:

      • 下载CentOS 7系统ISO镜像安装包。
      • 安装CentOS 7系统ISO镜像。
      • 在安装过程中按要求完成系统配置。
      • 完成安装CentOS 7系统ISO镜像后进入KDE桌面。
    第2课.系统配置
    第1节.网络配置

    网络配置参考: 超详细CentOS7 NAT模式(有图形化界面)网络配置

    • 步骤1.查看网络状态
      首先,我们需要查看当前 CentOS 系统的网络状态。我们可以通过运行以下命令来检查网络状态:

      ip addr show
      

      该命令会列出所有网络接口及其配置信息。我们可以看到每个接口的 IP 地址、MAC 地址和状态等信息。如果系统上有多个网络接口,则需要查看每个接口的状态和配置。

    • 步骤2.配置网络接口
      如果您需要手动配置网络接口,则可以编辑 /etc/sysconfig/network-scripts/ifcfg- 文件。该文件包含系统的网络配置信息。其中 是网络接口的名称,例如 eth0。
      例如,如果您要配置 eth0 接口,可以使用以下命令编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件:

      sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
      

      在该文件中,您可以设置 IP 地址、子网掩码、网关和 DNS 等信息。以下是一个样例配置文件:

      DEVICE=eth0
      TYPE=Ethernet
      ONBOOT=yes
      BOOTPROTO=static
      IPADDR=192.168.1.100
      NETMASK=255.255.255.0
      GATEWAY=192.168.1.1
      DNS1=8.8.8.8
      DNS2=8.8.4.4
      

      在该配置文件中,
      DEVICE 表示网络接口的名称,
      ONBOOT 设置为 yes 表示开机自动启用该接口,
      BOOTPROTO 设置为 static 表示手动配置 IP 地址,
      IPADDR 表示 IP 地址,
      NETMASK 表示子网掩码,
      GATEWAY 表示默认网关,
      DNS1 和 DNS2 表示 DNS 服务器地址。
      可以根据需要修改这些值。

    • 步骤3. 重启网络服务
      完成配置后,您需要重启网络服务以使更改生效。可以使用以下命令重启网络服务:

      sudo systemctl restart network
      

      该命令将会将新的配置文件写入系统,并重启网络服务以使更改生效。

    • 步骤4. 检查网络连接
      完成配置和重启后,您应该能够使用 ping 命令检查网络连接。例如,您可以使用以下命令 ping 网关 IP 地址:

      ping 192.168.1.1
      

      如果 ping 命令能够成功响应,则表示网络连接正常。

      注意事项:
      1.设置静态IP地址时确保IP没有被分配;
      2.网络设置时IPv6默认设置为忽略;
      3.IPv4设置网络默认设置为静态IP,具体的配置参数需由IT提供.

      课后作业:

      • 完成通过终端操作配置好CentOS7网络。
      • 完成通过操作界面配置好CentOS7网络。
    第2节.SMB共享服务配置
    • 步骤1.使用root权限登录到CentOS 7服务器:

      在普通用户终端输入"su"后回车;
      输入root密码后回车切换到root用户
      
    • 步骤2.使用root权限登录到CentOS 7服务器安装共享服务:
      使用命令yum install samba -y安装Samba软件包。

      yum  -y  install  samba
      

      结果截图如下:

    • 步骤3.在Samba配置文件中定义共享目录:

      • (1).打开文件/etc/samba/smb.conf并添加以下行:
        其中,[share]为共享名称,comment为共享描述,path为共享目录的路径,browseable表示是否可浏览,writable表示是否可写入,guest ok表示是否允许匿名用户访问。
        vim  /etc/samba/smb.conf
        [centos7]
         comment = Centos7 DVD directory.  
         path = /media  
         public = yes  
         read only = yes
        
      • (2).输入上述内容,定义一个新的只读共享centos7:
        设置物理目录为 /media
        mkdir  /media
        mkdir  /media/cdrom/
        mount  /dev/cdrom  /media/cdrom/
        
    • 步骤4.挂载光盘到/meda/cdrom,以方便用户远程访问:
      使用命令systemctl start smb启动Samba服务,并使用systemctl enable smb设置开机自启。

      systemctl start smb (启动共享)
      testparm (确认参数没问题)
      

      完成上述结果截图如下:

    • 步骤5.以账号(用户)访问共享:

      • (1).设置账号:
        useradd  vina
        pdbedit  -a  –u  vina
        (密码)
        (再输入密码)
        
        其中,vina是你自己定义的Samba用户名。你会被要求输入密码。
        结果截图如下:
      • (2).设置安全访问:
        (防火墙配置:如果启用了防火墙,需要开放Samba服务的相关端口,包括TCP端口139和445,以及UDP端口137和138)
        systemctl  stop  firewalld
        setenforce  0
        sestatus  -b  | grep  samba (用命令可了解当前安全访问状态)
        
        结果截图如下:
      • (3).测试访问:在另一台Windows客户端电脑上,使用Windows资源管理器访问该共享目录,输入Samba用户账号和密码,即可访问共享目录。
        在客户机访问共享打开一个窗口
        在地址栏输入\192.168. 168.129 (这里为自己虚拟机IP地址)
        在登录窗口输入用户名:vina(这里也为你自己设置的用户名,不可用中文),输入密码。
        打开光碟的共享名,看到文件后结果截图如下:

      课后作业:

      • 下载并安装samba服务
      • 配置SMB服务并成功共享Linux系统目录到本机
    第3节.网络配置
    • NFS共享服务配置:详细参考链接
    • NFS 网络文件系统,是一种使用于分布式文件系统的协议,功能是通过网络让不同的机器,不同的操作系统能够彼此分享各自的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
    • NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中,在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样。
    • NFS服务器是通过读取/etc/exports配置文件设定那个客户端可以访问那些NFS共享文件系统,如下我们提供了NFS的基本配置写法。
      [共享目录]    [允许谁来访问][权限]    [可用主机名][权限]    [其他主机权限]
      /nfs        192.168.1.1(rw)             localhost(rw)        *(ro,sync)
      /nfs        192.168.1.0/24(rw)       localhost(rw)        *(ro,sync)
      /nfs        192.168.1.1(rw)        192.168.1.2(ro)  192.168.1.3(ro,sync)
      
    • 步骤1.NFS服务端配置
      • (1).在配置NFS共享文件之前,我们先来放行NFS的几个常用服务,并将防火墙默认设置为拒绝状态.

        [root@localhost ~]# firewall-cmd --add-service=nfs
        [root@localhost ~]# firewall-cmd --add-service=mountd
        [root@localhost ~]# firewall-cmd --add-service=rpc-bind
        [root@localhost ~]# firewall-cmd --add-service=nfs --permanent
        [root@localhost ~]# firewall-cmd --add-service=mountd --permanent
        [root@localhost ~]# firewall-cmd --add-service=rpc-bind --permanent
        
      • (2).通过YUM仓库快速安装NFS相关的软件包.

        [root@localhost ~]# yum install -y rpcbind nfs-utils*
        Package rpcbind-0.2.0-47.el7.x86_64 already installed and latest version
        Package 1:nfs-utils-1.3.0-0.61.el7.x86_64 already installed and latest version
        Nothing to do
        
      • (3).创建需要共享的文件,并拷贝相关的文件内容,并设置SeLinux规则.

        [root@localhost ~]# mkdir -p /public
        [root@localhost ~]# chmod o+rw /public/
        [root@localhost ~]# chcon -R -t public_content_t /public/
        
      • (4).修改NFS主配置文件,并写入要访问的主机列表.

        [root@localhost ~]# vim /etc/exports
        /public 192.168.1.0/24(rw,sync)
        #[共享目录]    [允许谁来访问][权限]    [可用主机名][权限]    [其他主机权限]
        #/nfs        192.168.1.1(rw)        localhost(rw)        *(ro,sync)
        #/nfs        192.168.1.0/24(rw)    localhost(rw)        *(ro,sync)
        
      • (5).重启NFS服务,和守护进程,并设置开机自启动.

        [root@localhost ~]# systemctl restart nfs
        [root@localhost ~]# systemctl restart rpcbind
        [root@localhost ~]# systemctl enable nfs
        [root@localhost ~]# systemctl enable rpcbind
        [root@localhost ~]# systemctl restart nfs-server
        [root@localhost ~]# systemctl enable nfs-server
        
    • 步骤2.NFS客户端配置
      • (1).通过YUM仓库快速安装NFS相关的软件包.

        [root@localhost ~]# yum install -y rpcbind nfs-utils*
        Package rpcbind-0.2.0-47.el7.x86_64 already installed and latest version
        Package 1:nfs-utils-1.3.0-0.61.el7.x86_64 already installed and latest version
        Nothing to do
        
      • (2).创建挂载点,并设置SeLinux规则.

        [root@localhost ~]# mkdir -p /mnt/nfsmount
        [root@localhost ~]# chcon -R -t public_content_t /mnt/nfsmount
        
      • (3).手动挂载目录,可通过mount命令来实现,并将配置文件写入到开机自启动列表.

        # mount -t nfs -o 选项 服务主机:/服务器共享目录  /本地挂载没记录
        [root@localhost ~]# mount -t nfs -o rw,sync 192.168.1.5:/public /mnt/nfsmount
        [root@localhost ~]# df -hT |grep "public"
        
        Filesystem              Type      Size  Used Avail Use% Mounted on
        192.168.1.5:/public     nfs4       17G  1.9G   16G  12% /mnt/nfsmount
        
        [root@localhost ~]# vim /etc/fstab
        192.168.1.1:/public /mnt/nfsmount  nfs  default  0 0
        
      • (4).NFS提供了查看NFS共享状态的一系列命令.

        [root@localhost ~]# nfsstat        #显示服务端与客户端状态
        [root@localhost ~]# nfsstat -s     #只显示服务端状态
        [root@localhost ~]# nfsstat -c     #只显示客户端状态
        [root@localhost ~]# nfsstat -n     #仅显示NFS与RPC信息
        [root@localhost ~]# nfsstat -m     #显示挂载信息
        [root@localhost ~]# nfsstat -l     #以列表信息显示信息
        
        [root@localhost ~]# rpcinfo -m 127.0.0.1   #显示指定主机rpcbind操作列表
        [root@localhost ~]# rpcinfo -p 127.0.0.1   #显示指定主机RPC注册信息 
        [root@localhost ~]# rpcinfo -s             #显示所有RPC注册信息
        
        [root@localhost ~]# showmount -e 127.0.0.1  #显示服务器可用资源
        [root@localhost ~]# showmount -a 127.0.0.1  #查看所有客户链接信息
        [root@localhost ~]# showmount -d 127.0.0.1  #只显示客户输出信息
        
        [root@localhost ~]# exportfs -a   #全部挂载或卸载配置文件中的内容
        [root@localhost ~]# exportfs -r   #重新加载配置文件中的信息
        [root@localhost ~]# exportfs -u   #停止单一目录的共享
        [root@localhost ~]# exportfs -au  #停止所有服务端的共享
        [root@localhost ~]# exportfs -ra  #重新共享所有目录
        
      课后作业:
      • 下载并安装NFS服务
      • 配置NFS服务并成功共享Linux系统目录
    第4节.VNCSERVER服务配置

    原文链接

    • 步骤1.VNC 简介
      VNC(Virtual Network Computing) 是使用网络建立连接的一个虚拟桌面,用来远程操作计算机的一种技术,日常会有很多中场景需要远程来控制和操作服务器等计算机。

    • 步骤2. CentOS 安装 VNC Server
      在root用户下使用 yum 安装 tigervnc-server。

      # yum install tigervnc-server
      

      看到“完毕”则表示安装成功!

    • 步骤3. 配置 VNC Server
      拷贝一份 VNC 配置文件模板到如下目录。

      # cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
      
      • (1). 指定用户
        CentOS 7 需要编辑配置文件,修改 user 关键字为实际用户名;其它版本不需要进行该步骤。

        # sudo vim /etc/systemd/system/vncserver@:1.service
        


        [例]:这里笔者的用户名为 imaginemiracle,该位置修改为对应的用户名即可。

      • (2). 启动对应配置文件的服务
        重新加载系统服务

        # systemctl daemon-reload
        

        开启该服务

        # systemctl start vncserver@:1
        

        开启自启动该服务

        # systemctl enable vncserver@:1
        
    • 步骤4. 开启 VNC Server
      切换到对应用户

      # su imaginemiracle
      

      执行 vncpasswd 配置 VNC 连接密码,这里不设置仅查看模式的密码,因为一般用不到仅查看的方式。

      执行如下命令启动对应的 VNC Server

      $ vncserver :1
      

      注意:后面的 id 号即表示哪个桌面 id,其使用的端口号为 5900+id,如此处使用的端口号则为 5901,若使用防火墙则需要开放该端口,才可以连接。

    • 步骤5. 连接使用

      • (1).新建连接

      • (2).这里在 VNC Server 处填写 IP:ID,Name 处随意写。

        注意:这里笔者使用的是之前的配置,若按照本文配置来,则这里的 id 需要改为 1。

      • (3).配置完成后,双击连接,若出现如下弹窗则说明 VNC Server 启动成功,其后面的 590X 表示该服务所使用的端口号。(5900 + ID)

      • (4).点击继续并输入密码即可进入远程虚拟桌面

        OK,连接成功!

      日常处理:
      1.如何规避vnc密码限制必须6位字符及客户端免密登录vnc?
      答:进入用户终端,输入"vncpasswd -f 你的密码或者空字符 > /home/username/.vnc/passwd"后回车两次
      2.批量终止vnc窗口服务?
      答:进入用户终端,输入"pkill Xvnc"或者"pkill vncserver"
      $ vncpasswd -f incam > /home/incam/.vnc/passwd
      $ pkill Xvnc

      课后作业:

      • 下载并安装VNCSERVER服务
      • 配置VNCSERVER服务并成功共享Linux系统桌面
    第5节.自动任务配置
    • 在 centos7上使用crontab定时任务,自动定时执行脚本
      添加/编辑 Crontab

      crontab -e                        
      crontab [-u username] -e       
      默认情况下,系统会编辑当前用户的crontab命令集合
      

      查看Crontab

      crontab -l                        
      crontab [-u username] -l
      

      删除Crontab

      crontab -r                        
      crontab [-u username] -r   
      慎用。可以直接crontab -e 进行编辑
      

      载入

      crontab [-u user] file     
      将file做为crontab的任务列表文件并载入crontab                        
      如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
      

      配置路径

      /var/spool/cron/root (以用户命名的文件) 是所有默认存放定时任务的文件            
      /etc/cron.deny 该文件中所列出用户不允许使用crontab命令
      /etc/cron.allow 该文件中所列出用户允许使用crontab命令,且优先级高于/etc/cron.deny/var/log/cron    该文件存放cron服务的日志
      

      示例

      每五分钟执行  */5 * * * *        
      每105分钟执行一次        */105 * * * *            
      每小时执行     0 * * * *                        
      每天执行        0 0 * * *                        
      每周执行       0 0 * * 0                        
      每月执行        0 0 1 * *                        
      每年执行       0 0 1 1 *    
                        
      1.每天 02:00 执行任务                            
          0 2 * * * /bin/sh backup.sh                        
                            
      2.每天 5:00和17:00执行任务                            
          0 5,17 * * * sh /a.sh
                                  
      3.每分钟执行一次任务                            
          * * * * *  sh /a.sh
                                  
      4.每周日 17:00 执行任务                            
          0 17 * * sun  sh /a.sh
                                  
      5.每 10min 执行一次任务                            
          */10 * * * * sh /a.sh
                                  
      6.在特定的某几个月执行任务                            
          * * * jan,may,aug * /script/script.sh                        
                                  
      7.在特定的某几天执行任务                            
          0 17 * * sun,fri /script/scripy.sh                        
          在每周五、周日的17点执行任务                        
                                  
      8.在某个月的第一个周日执行任务                            
          0 2 * * sun  [ $(date +%d) -le 07 ] && /script/script.sh                            
                                  
      9.每四个小时执行一个任务                            
          0 */4 * * * sh /a.sh
                                  
      10.每周一、周日执行任务                            
          0 4,17 * * sun,mon sh /a.sh
                                  
      11.每30秒执行一次任务                                                
          * * * * * sh /a.sh
          * * * * *  sleep 30; sh /a.sh
                                  
      12.多个任务在一条命令中配置                            
          * * * * * sh /a.sh sh /b.sh
                                  
      13.每年执行一次任务                            
          @yearly sh /a.sh
          @yearly 类似于“0 0 1 1 *”。它会在每年的第一分钟内执行,通常我们可以用这个发送新年的问候。 
                                                     
      14.系统重启时执行                            
          @reboot sh /a.sh
                                  
      15.将 Cron 结果重定向的特定的账户                            
          默认情况下,cron 只会将结果详情发送给 cron     被制定的用户。如果需要发送给其他用户,可以通过如下的方式:                    
            # crontab -l                        
            MAIL=bob                        
            0 2 * * * /script/backup.sh       
      
    • 实战演练:

      • 项目需求:自动备份CAM资料库近三天有修改保存的料号(增量备份)
      • 执行时间:午夜00:30,中午12:30,下午18:00(每天三次)
      • 执行权限:root管理员用户
      • 执行模式:全自动执行
      • 信息推送:邮件&企业微信消息推送
      • 参考项目<PCB制前工程CAM资料日备份项目制作>

      课后作业:

      • 编写一个获取系统当前日期的脚本并自动发送邮件到指定邮箱
    第3课.常用命令
    • Centos7常用终端指令:
      CentOS7命令合集:查看网络博客1
      CentOS7命令合集:查看网络博客2
      示例

      cd
      #用法:
      cd    路径    
      #含义:(change directory,改变目录)
      #作用:用于切换当前的工作目录的
      
      ls
      #用法:
      ls    路径    
      #含义:(打开目录)
      #作用:用于打开当前的工作目录或者指定目录
              
      df        
      #用法:
      df -h
      #含义:查看磁盘分区空间使用情况
      #作用:检测磁盘空间使用情况
      #案例:益阳磁盘空间检测报警(当被监控空间容量达到80%时自动发送邮件报警,达到98%时自动锁死CAM资料制作保存功能,避免爆盘)
      
      ps
      #用法
      ps -ef | grep python3
      #含义:查看包含python3字符的进程信息
      #作用:清除死进程
      #案例:清除后台僵死的python3脚本(根据进程信息,kill相关的进程PID)        
      
      ln        
      #用法
      ln -s /opt/python/bin/python /usr/bin/mypython
      #含义:将/opt/python/bin/python解释器软链接为/usr/bin/mypython
      #作用:在不改变本身真实目录的情况下虚拟一个可用的路径或文件
      #案例:将自己的anaconda虚拟的python3解释器做为系统下的python3使用(ln -s /opt/anaconda/envs/python3.7.5/bin/python /usr/bin/python3)
      
      su
      #用法
      su incam
      #含义:切换到incam用户,当su后面不带任何参数时默认切换到root用户
      #作用:在一个终端下进入不同的用户并进行相关操作
      #案例:切换到普通用户incam
      
      cp
      #用法
      cp 指定文件 新文件
      cp /tmp/aaa /tmp/bbb
      #含义:将/tmp/aaa文件复制出一个/tmp/bbb文件
      #作用:复制文件或路径
      #案例:/
      
      mv
      #用法
      mv 指定文件 新文件
      mv /tmp/aaa /tmp/bbb
      #含义:将/tmp下的aaa文件改名为bbb文件
      #作用:修改文件(夹)名称,移动文件(夹)
      #案例:/
      
      scp
      #用法
      scp 服务器:目录文件 复制过来后存放的文件路径
      scp 172.20.7.19:/tmp/aaa /tmp
      #含义:将172.20.7.19/tmp下的aaa文件复制到本机/tmp下
      #作用:远程复制文件(夹)到本地
      #案例:/
      
      ssh
      #用法
      ssh root@服务器IP地址
      ssh root@172.20.7.19
      #含义:以root用户远程访问172.20.7.19服务器终端
      #作用:远程操作指定服务器终端
      #案例:以X模式进入172.20.7.19远端服务器启动genesis(ssh incam@172.20.7.19 -X; get启动Genesis2000)
      
      rm
      #用法
      rm 文件
      rm -rf /tmp/aaa
      #含义:直接删除/tmp下aaa文件或者文件夹
      #作用:删除指定文件(夹)
      #案例:/
      
      touch
      #用法
      touch 文件
      touch /tmp/aaa
      #含义:在/tmp下新建一个aaa文件
      #作用:新建文件
      #案例:/
      
      mkdir
      #用法
      mkdir 文件夹
      mkdir -p /tmp/aaa
      #含义:递归创建/tmp/aaa文件夹
      #作用:新建文件夹
      #案例:/
      
      source
      #用法
      source shell脚本文件
      source /tmp/aaa.csh
      #含义:在当前环境直接获取/tmp/aaa.csh中定义的变量等
      #作用:不执行脚本但能获取脚本中设定的变量
      #案例:/
      
      xdg-open
      #用法
      xdg-open 软件启动文件
      xdg-open aaa.pdf
      #含义:自动调用系统默认pdf软件打开aaa.pdf文件
      #作用:自动打开不确定文件
      #案例:/
      
    • 实战演练:

      • 项目需求:自动监控及预警CAM资料库&server目录磁盘空间
      • 执行时间:早上08:00,中午12:00,下午17:30(每天三次)
      • 执行权限:root管理员用户
      • 执行模式:全自动执行
      • 信息推送:邮件推送&自动锁定InCAM/InCAMPro料号保存机制
      • 参考项目<Centos7下用Python写一个磁盘空间自动预警脚本>

      课后作业:

      • 自行收集更多的常用命令并按示例记录好常用案例
    第4课.Vim编辑器
      1. vim基础操作
        网络参数教程:VIM操作基础命令
      • A.文件操作
        • (1).打开文件
          VIM 使用 –o 或 –O 选项打开多个文件,其中 –o 表示垂直并排,例如 vim -o lesson4 lesson5 lesson6。大O表示水平排列
          对于垂直并排的文件:使用 ctrl + w + 上、下方向,表示上、下切换文件;
          对于水平并排的文件:使用 ctrl + w + 左、右方向,表示左、右切换文件。
          退出动作是针对所有的(ALL):qa、qa!、wqa

        • (2).退出、保存文件

          按键含义
          :w filename保存为filename文件名,filename为空保存当前文件
          :q退出编辑
          :q!放弃修改直接退出
          :qa、qa!、wqa退出所以文件
        • (3). vim键入shell命令
          输入 :!ls / ,可以在切换到shell命令ls,查看root目录下文件列表

      1. 光标操作
      按键含义
      h
      j
      k
      l
      1. 插入模式
      按键含义
      i在光标的前边进入插入模式
      I在光标所在行的行首进入插入模式
      a在光标的后边进入插入模式
      A在光标所在行的行尾进入插入模式
      o在光标所在行的下方插入空行并进入插入模式
      O在光标所在行的上方插入空行并进入插入模式
      s删除光标指定的字符并进入插入模式
      S将光标所在行清除并进入插入模式
      1. 普通模式
      • (1). 通用操作

        按键含义
        0将光标定位到行首的位置
        ^同上
        $将光标定位到行尾的位置
        b将光标定位到光标所在单词的起始处
        e将光标定位到光标所在单词的结尾处
        w将光标定位到下一个单词的起始处(注意,是光标所在单词的下一个单词)
        gg将光标定位到文件的开头
        G将光标定位到文件的末尾
        u撤销最后一次修改
        U撤销对整行的修改
        Ctrl + r恢复撤销的内容
        Ctrl + g查看文件名等状态
        %匹配(),[],{}的另一部分
      • (2).删除操作

        按键含义
        d0删除光标从当前位置(不包含)到该行行首的所有字符
        d^同上
        d$删除从光标当前位置(包含)到该行行尾的所有字符
        db删除从光标当前位置(不包含)到单词起始处的所有字符
        de删除从光标当前位置(包含)到单词结尾处的所有字符
        dw删除从光标当前位置(包含)到下个单词起始处的所有字符
        dh删除光标前面一个字符dl删除光标指定的字符
        dj删除光标所在行以及下一行的所有字符
        dk删除光标所在行以及上一行的所有字符
        dd删除光标所在行的所有字符
        dgg删除光标所在行(包含)到文件开头的所有字符
        dG删除光标所在行(包含)到文件末尾的所有字符
        x删除单个字符
        可与数字进行组合,如3dj,表示删除光标下面3行
      • (3).复制、粘贴

        按键含义
        y复制命令
        yy复制当前行
        p将粘贴板内容粘贴到光标前
        P将粘贴板内容粘贴到光标后
        r替换命令,单个字符

        可与数字进行组合,如3k向上移动3行

      • (4).查找、替换

        按键含义
        /findcontent光标将定位到光标开始时至查找到的第一个内容处。如需查找下一个,则按下enter键,按下n键查找下一个,按下N查找上一个
        :行号光标跳转到某行
        :/s/old/new将光标所在行的第一个 old 替换为 new
        :%s/old/new/g替换整个文件中每个匹配的字符串
        :%s/old/new/gc在替换时vim咨询弹出 (y/n/a/q/l/E/Y) 确认信息:
        y 表示替换
        n 表示不替换
        a 表示替换所有
        q 表示放弃替换
        l 表示替换第一个并进入插入模式
        ^E 表示用 Ctrl+e 来滚动屏幕
        ^Y 表示用 Ctrl+y 来滚动屏幕
        :5,13s/old/new/g替换第 5 行到第 13 行之间的所有old为new
        :行号光标跳转到某行

        删除空格行:非编辑状态下输入:   g/^$/d
        删除行首空格:非编辑状态下输入:  %s/^\s*//g
        删除行尾空格:非编辑状态下输入:  %s/\s*$//g
        VIM删除空白行: 在命令状态下输入: :g/^\s*$/d
        :g 代表在全文档范围内 ^代表行的开始 \s*代表空白字符 &代表行的结束 d代表删除 用//将3段代码隔开

      1. 可视模式
        普通模式下按v键进入可视模式
        可视模式下使用hjkl选中行,使用“数字 + >”,向右缩进数次。其中,>表示右缩进,<表示左缩进

      课后作业:

      • 使用VIM编辑器新建一个"/tmp/test"文件,分别执行写入,修改,复制,返回,重做,删除行操作并保存文本
      • 在终端实际操作练习vim基本操作,熟练掌握最常用的vim操作指令

    第二章.开发环境配置

    第5课.安装Anaconda3(Python3)
    第1节.Windows下安装配置Anaconda3
    • 1.Anaconda简介
      Anaconda,一个开源的Python发行版本,可用于管理Python及其相关包,包含了conda、Python等180多个科学包及其依赖项。
      网络教程地址:原文链接

    • 2.运行环境
      Windows11 (Window10用户亦可参考,仅环境变量打开位置不同)。

    • 3.安装Anaconda

      • (1).百度“Anaconda”或者输入网址“https://www.anaconda/”进入Anaconda官网。

        默认版本为Windows,点击“Download”即可下载 。

      • (2).下载完成后双击“Anaconda3-2022.10-Windows-x86_64.exe”进行安装。

      • (3).点击“Next”。

      • (4).点击“I Agree”。

      • (5).点击“Just Me” 之后点击“Next”。(如果电脑有多个用户,选择“All User”)。

      • (6).设置安装路径,最好为全英文且文件夹需为空,之后点击“Next”。

      • (7).选择手动安装路径,之后点击“Install”。(因为上一个Anaconda也是手动添加路径,本次依然选择手动添加,大家有兴趣的也可尝试上面的自动添加路径。)

      • (8).点击“Next”。

      • (9).点击“Next” 。

      • (10).点击“Finish”。

        到这里Anaconda已经安装完成了,接下来到配置环境变量。

    • 4.手动配置环境变量(重点)

      • (1).打开“此电脑”,右键点击“属性”,选择“高级系统设置”,点击“环境变量”。

      • (2).在系统变量中找到“Path”(注意是区分是系统变量,不是环境变量;个别电脑“Path”可能大小写不同,但都是一样的,只是书写方式不同。)
      • (3).双击“Path”,新建环境变量。
        分三次输入以下信息(按自己实际安装路径输入):
        Anaconda安装路径
        Anaconda安装路径\Scripts
        Anaconda安装路径\Library\bin

        上图所示为个人安装路径,三条变量信息新建完成后点击“确定”。
    • 5.测试Anaconda环境是否配置成功

      • (1).WIN+R打开cmd。
      • (2).输入“conda --version”。(查看conda版本)
      • (3).输入“conda info”。
      • (4).输入“activate”,回车。之后输入“python”。

        如果输出内容与上图类似(可能版本号不同),则说明环境变量配置成功。
        至此,Anaconda安装已全部完成。
    第2节.CentOS 7下安装配置Anaconda3

    网络教程地址:原文链接

    • 1.Anaconda下载
      进入anaconda官方网站下载个人免费版本,网站链接,点击download,选择Linux平台的安装包

    • 2.Anaconda安装

      • (1).执行如下指令,安装anaconda

        # 进入当保存文件的目录,执行此指令, 后期由于版本更新,可能会与此文件命名有所不同
        bash Anaconda3-2020.11-Linux-x86_64.sh
        
      • (2).按照安装提示,键入回车

        Please, press ENTER  to continue
        >>> ENTER
        
      • (3).安装此版本时,会强制用户看完整个协议,直接一路回车就行,直到看到确认信息

        # 输入yes,表示同意安装协议
        Do you accept the license terms? [yes|no][no] 
        >>> yes
        

      • (4).确认安装路径(可修改,也可以使用自定义)

        # 使用默认路径,直接键入回车,使用自定义路径,直接输入安装路径
        # 此处使用 /opt/anaconda3作为安装路径
        Anaconda3 will now be installed into this location:
        /root/anaconda3  
        - Press ENTER to confirm the location  
        - Press CTRL-C to abort the installation  
        - Or specify a different location below
        
        [/root/anaconda3] >>> /opt/anaconda3
        

        注:安装位置可以在执行安装脚本的时候直接指定,可以这样修改执行内容:

        bash Anaconda3-2020.11-Linux-x86_64.sh -p /opt/anaconda3
        

        这样可跳过软件安装路径确认阶段,直接安装到指定目录下。

      • (5).环境变量初始化

        # 此处询问是否初始化conda的环境,直接输入yes
        Do you wish the installer to initialize Anaconda3
        by running conda init? 
        [yes|no][no] >>> yes
        


        安装完成

      • (6).初始化时,anaconda将配置写入了~/.bashrc 文件,直接执行

        source ~/.bashrc
        

        后即可正常使用了。

      • (7).配置多用户使用
        将anaconda初始化时,写入到 ~/.bashrc 文件中的内容复制到 /etc/bashrc 文件中,内容如下(此处仅为示例,请复制本机对应文件中的相应内容)

        # >>> conda initialize >>>
        # !! Contents within this block are managed by 'conda init' !!
        __conda_setup="$('/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
        if [ $? -eq 0 ]; then
            eval "$__conda_setup"
        else
            if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
                . "/opt/anaconda3/etc/profile.d/conda.sh"
            else
                export PATH="/opt/anaconda3/bin:$PATH"
            fi
        fi
        unset __conda_setup
        # <<< conda initialize <<<
        

        再执行 source /etc/bashrc 指令即可。

    • 3.配置镜像源

      • 3.1.conda配置镜像源:
        使用conda进行安装时,访问的是国外的网络,所以下载和安装包时会特别慢。我们需要更换到国内镜像源地址,这里我更换到国内的清华大学地址。(永久添加镜像)
        Windows和Linux 对于conda修改镜像源的方法一样

        • (1).查看anaconda中已经存在的镜像源

          conda config --show channels
          

        • (2).添加镜像源(永久添加)

          conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/free/
          conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main/
          conda config --add channels https://mirrors.tuna.tsinghua.edu/anaconda/cloud/conda-forge/
          

        • (3).设置搜索时显示通道地址

          conda config --set show_channel_urls yes
          
        • (4).若不想按照上述步骤添加镜像,可使用以下命令直接指定安装时使用的镜像地址(以opencv为例):

          conda install opencv -c https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main/
          

        • (5).添加完后查看

          conda config --show channels
          
      • 3.2.pip使用国内镜像源:
        一般在使用conda install安装时会出现包无法找到或者安装失败的情况,此时可以使用pip install来尝试安装(以opencv为例):

        pip install opencv
        

        若安装速度过慢可单独指定安装镜像加快安装:

        pip install opencv -i https://mirrors.aliyun/pypi/simple/
        

        此处列举国内常用pip安装镜像:
        清华:https://pypi.tuna.tsinghua.edu/simple
        阿里云:https://mirrors.aliyun/pypi/simple
        中国科技大学: https://pypi.mirrors.ustc.edu/simple
        华中理工大学:https://pypi.hustunique
        山东理工大学:https://pypi.sdutlinux
        豆瓣:https://pypi.douban/simple

        channels:
          - defaults
        show_channel_urls: true
        default_channels:
          - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main
          - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/free
          - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/r
          - https://mirrors.tuna.tsinghua.edu/anaconda/cloud/Paddle/
        custom_channels:
          conda-forge: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
          msys2: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
          bioconda: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
          menpo: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
          pytorch: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
          simpleitk: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
        
    • 4.root用户安装的anaconda如何给普通用户使用
      服务器里安装了anaconda,结果发现只有root用户才能使用,其他的用户都无法使用conda命令!
      【解决方案】
      首先,root用户安装anaconda的时候,需要安装在普通用户可以访问的目录下,比如/usr/local、/opt、/home之类的
      其次,普通用户登陆后,需要执行以下conda init 使conda的路径等系统环境变量信息写入当前用户的bashrc下
      例:
      anaconda 装在了 (需要查看anaconda3安装路径)

      /opt/anaconda3
      

      普通用户 需要执行

      /opt/anaconda3/bin/conda init bash
      

      你需要根据自己的实际情况修改bin之前的目录
      普通用户再执行启用配置命令

      source ~/.bashrc
      

      然后重新连接SSH (推荐)
      或者
      即使你没有重新连接ssh也可以通过(没试过)

      source activate base
      

      conda activate base
      

      能正常使用conda后,你就可以创建你自己的环境了,例

      conda create -n xxx python=3.7
      

      环境会装在home中你的用户文件夹下,可以通过

      conda env list
      

      查看对应的地址
      以上操作的问题是,那个用户需要使用conda,就需要按以上步骤执行一遍,并没有设置成所有用户都可以调用的方式。

    课后作业:

    • 在Windows上安装并配置好Anaconda3,虚拟出Python3.7.5环境
    • 在Centos 7上安装并配置好Anaconda3,虚拟出Python3.7.5环境
    第6课.常用的Python模块安装
    • 1.安装python模块
      • PyQt5图像界面模块安装
        使用conda安装
        (1).激活环境(例如:需要在已虚拟好的python3.7.5下安装)

        conda activate python3.7.5
        

        退出虚拟环境可以使用conda deactivate命令
        (2).安装PyQt5模块

        conda install PyQt5
        

        (3).验证PyQt5模块是否安装成功(如下:进入python解释器,导入安装的PyQt5模块,没有任何提示信息表示安装成功)

        python3.7.5
        >>> import PyQt5
        >>>
        

        使用pip安装

        pip install PyQt5
        
      • pymysql/pymssql数据库操作模块安装
        使用conda安装
        (1).激活环境(例如:需要在已虚拟好的python3.7.5下安装)

        conda activate python3.7.5
        

        退出虚拟环境可以使用conda deactivate命令
        (2).安装pymysql/pymssql模块

        conda install pymysql
        

        (3).验证pymysql/pymssql模块是否安装成功(如下:进入python解释器,导入安装的pymysql模块,没有任何提示信息表示安装成功)

        python3.7.5
        >>> import pymysql
        >>>
        
      • xlrd/xlwt/xlutils库安装
        (1).激活环境(例如:需要在已虚拟好的python3.7.5下安装)

        conda activate python3.7.5
        

        退出虚拟环境可以使用conda deactivate命令
        (2).安装xlrd/xlwt/xlutils模块

        conda install xlrd
        

        (3).验证xlrd/xlwt/xlutils模块是否安装成功(如下:进入python解释器,导入安装的xlrd模块,没有任何提示信息表示安装成功)

        python3.7.5
        >>> import xlrd
        >>>
        

    课后作业:

    • 使用conda自行安装一款python第三方库
    • 使用pip安装python开发需要的第三方库
    第7课.安装集成开发工具(PyCharm)
    • 系统要求
      在安装 Pycharm 之前,请确保您的计算机满足以下系统要求:

      • Windows:Windows 7 或更高版本(64 位)。
      • macOS:macOS 10.13 或更高版本。
      • Linux:GNOME、KDE 或 XFCE(64 位)。
    • 下载 Pycharm

        1. 打开浏览器,访问 JetBrains 官方网站。
        1. 在页面上找到“Download”按钮,点击进入下载页面。
        1. 根据您的操作系统,选择相应的版本进行下载。Pycharm 提供了专业版(Professional)和社区版(Community),专业版功能更丰富,但需要付费订阅,社区版则是免费开源的,对于大多数初学者和普通开发者来说,社区版已经足够使用。
    • 安装 Pycharm(以 Windows 为例)

        1. 找到下载好的 Pycharm 安装程序(.exe 文件),双击运行。
        1. 在欢迎界面中,点击“Next”。
        1. 选择安装路径。建议您选择非系统盘(如 D 盘)的目录进行安装,以避免占用系统盘过多空间。点击“Browse”选择安装目录后,点击“Next”。
        1. 选择安装选项。您可以根据自己的需求选择创建桌面快捷方式、关联文件类型等选项。一般情况下,保持默认设置即可。点击“Next”。
        1. 选择开始菜单文件夹。默认情况下,Pycharm 会在开始菜单中创建一个文件夹,您也可以修改文件夹名称或选择不创建。点击“Install”开始安装。
        1. 安装过程可能需要一些时间,请耐心等待。安装完成后,点击“Finish”。
    • 首次运行 Pycharm

        1. 安装完成后,如果您在安装过程中选择了创建桌面快捷方式,可以直接双击桌面上的 Pycharm 图标启动;否则,可以在开始菜单中找到 Pycharm 并点击启动。
        1. 首次运行 Pycharm 时,会弹出一个对话框,询问您是否要导入之前的设置。如果您是首次使用 Pycharm,可以选择“Do not import settings”,然后点击“OK”。
        1. 接下来,会弹出一个许可证激活对话框。如果您使用的是社区版,直接点击“Evaluate for free”即可开始免费试用;如果您有专业版的许可证,可以点击“Activate”并输入许可证信息进行激活。
    • 配置 Pycharm

        1. 项目设置
          点击“Create New Project”创建一个新项目。在弹出的对话框中,选择项目的存储路径、Python 解释器等信息。如果您已经安装了 Python,可以在“Python Interpreter”下拉列表中选择对应的解释器;如果没有安装,Pycharm 会提示您安装。点击“Create”创建项目。
        1. 界面设置
          Pycharm 的界面可以根据您的喜好进行定制。您可以通过“View”菜单中的选项来显示或隐藏各种工具窗口,如项目窗口(Project)、代码编辑器(Editor)、终端(Terminal)等。
          在“Settings”(Windows 下为“File”->“Settings”,macOS 下为“Pycharm”->“Preferences”)中,您可以进一步配置 Pycharm 的各种功能,如代码风格、编辑器字体、快捷键等。
    • 至此,Pycharm 已经安装并配置完成,您可以开始使用它进行 Python 项目的开发了。

    第8课.安装数据库(MySQL/SQLServer)
    第9课.安装navicat(数据库操作客户端)
    第10课.CAM软件脚本语言环境配置
    第11课.Git安装配置
    第12课.Svn安装配置

    第三章.工程软件学习

    第13课.Genesis2000/InCAM/InCAMPro安装配置
    第14课.Genesis2000/InCAM/InCAMPro操作基础
    第15课.Genesis2000/InCAM/InCAMPro系统参数
    第16课.Genesis2000/InCAM/InCAMPro基础命令

    第四章.系统维护学习

    第17课.Linux系统常见异常问题汇总

    第五章.脚本开发学习

    第18课.Python3基础
    第19课.Python3进阶
    第20课.Python3高阶
    第21课.Python3编程实战开发(CAM脚本开发)
    第22课.Python3编程实战开发(Line_Hooks开发)
    第23课.Python3编程实战开发(脚本全自动执行)
    第24课.Python3编程实战开发(外挂脚本执行)

    第六章.项目开发学习

    第25课.快板系统项目详解

2.制作规范的标准化建设

操作流程制定

执行标准建立

操作指引建立

3.实施过程的标准管控

制作项目建立

任务计划排定

任务计划追踪


三、自动化


四、切片化


五、智能化


六、无人化


总结

提示:持续更新中......

本文标签: 助力 智能 CAM PCB