💂 个人主页:苏州程序大白
🤟作者介绍:中国DBA联盟(ACDU)成员,CSDN全国各地程序猿(媛)聚集地管理员。目前从事工业自动化软件开发工作。擅长C#、Java、机器视觉、底层算法等语言。2019年成立柒月软件工作室。
💬如果文章对你有帮助,欢迎关注、点赞、收藏(一键三连)和C#、Halcon、python+opencv、VUE、各大公司面试等一些订阅专栏哦
🎗️ 承接各种软件开发项目
💅 有任何问题欢迎私信,看到会及时回复
👤 微信号:stbsl6,微信公众号:苏州程序大白
🎯 想加入技术交流群的可以加我好友,群里会分享学习资料
- 定义:
操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。
- 操作系统功能:
1、管理好硬件设备,为用户提供调用方法。
2、是计算机中最重要的系统环境。
3、管理各种其他的软件和程序的运行。
4、对系统中文件进行管理。
- 操作系统分类:
1、:Windows ,MacOS 为主,图形界面良好用户群体大。
2、:Linux,Unix 为主,安全,稳定,费用低占有量大。windows 占有率比较低。
3、:Linux 为主,主要用于小型智能设备,如智能手机,机器人等。
- Linux 诞生:
1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,林纳斯经常要用他的终端仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时,他年仅 21 岁!林纳斯利用 C 做工具,编写了 Linux 内核,后来经过全世界的网友的帮助,最终成为优秀的操作系统。
- Linux 系统特点:
1、Linux 是一款开源免费的操作系统。
2、支持多种硬件平台。
3、支持多用户。
4、具有非常强大的网络功能。
- Linux 应用领域:
1、:目前是服务器系统中最广泛一种。
2、:新版本的 Linux 系统特别在桌面应用方面进行了改进,达到相当的水平。
3、:由于 Linux 系统开放源代码,可以方便修改,在嵌入式设备领域有很广阔的市场。
- Linux 系统构成:
1、:Linux 操作系统的核心代码,是 Linux 系统的心脏,提供了系统的核心功能,用来与硬件交互。Linux 内核官网
2、:通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能。
3、:它使得用户能够与操作系统进行交互,负责接收用户命令,然后调用操作系统功能。
4、 :包含桌面系统和基础的软件操作工具等。
- Linux 发行版本:
严格的来讲, 只是一个系统内核,即计算机软件与硬件通讯之间的平台。一些组织或厂家将 内核与 (系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工具,这样就构成了一个发型套件,目前市面上较知名的发行版有:、、、、、、、、 等。
作为 发行版中的后起之秀, 在短短几年时间里便迅速成长为从 初学者到资深专家都十分青睐的发行版。由于 是的自由软件,用户可以登录 的官方网址免费下载该软件的安装包。Ubuntu 官网
- 定义:
文件系统是计算机操作系统的重要的组成部分,用于组织和管理计算机存储设备上的大量文件。
- 文件系统结构:
熟悉的 windows 文件系统,分不同盘符。
Linux 的文件组织中没有盘符。将根(/)作为整个文件系统的唯一起点,其他所有目录都从该点出发。
犹如一颗倒置的树,所有存储设备作为这颗树的一个子目录。
- 普通文件和目录:
普通文件:包括文本,压缩包,音频视频等文件都是普通文件。
目录:即文件夹,在 Linux 系统下多称之为目录。
- 系统目录功能(了解):
1、/bin 目录
目录包含了引导启动所需的命令或普通用户可能用的命令 (可能在引导启动后)。这些命令都是二进制文件的可执行程序 (bin 是 binary---- 二进制的简称),多是系统中重要的系统文件。
2、/sbin 目录
目录类似 ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
3、/etc 目录
目录存放着各种系统配置文件,其中包括了用户信息文件 ,系统初始化文件 等。 正是因为这些文件才得以正常地运行。
4、/root 目录
目录是超级用户的目录。
5、/lib 目录
目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
6、/dev 目录
目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问 来访问鼠标的输入,就像访问其他文件一样。
7、/usr 文件系统
是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。本地安装的程序和其他东西在 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。
8、/var 文件系统
包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。
9、/home
普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。
- 绝对路径和相对路径表达:
1、:指文件在文件系统中以根目录为起始点的准确位置描述。例如 就是绝对路径。最要的标志就是以 作为路径描述的开头。
2、:指相对于用户当前位置为起始点,对一个文件位置的逐层描述。例如,用户处在 目录中时,只需要 就可确定这个文件。在相对路径描述时。表示当前目录, 表示上一级目录。
Linux 下有非常丰富的命令,可以用来完成大部分重要的 Linux 服务器操作维护功能,而且至今有些功能仍然通过命令操作比较方便。
实际工作中,大量服务器维护工作都是工程师通过远程控制来完成的,并没有图形界面,这时维护工作都需要通过命令来完成。
作为后端工程师,我们将来所写的代码都需要在服务器上运行,掌握基本的 Linux 操作命令有助于我们将来对项目的部署和控制工作。
- 终端与命令行
:使用命令对 Linux 系统进行操作的窗口。
:书写 Linux 命令的提示行。
- 命令格式:
注:这里的 使用了复数形式 ,意思是可以有多个命令。例如: 可以简化为
- 通配符:
作用:对一类文件名称的书写进行简化,例如 、、……,用户不必一一输入文件名,可以使用通配符完成。
- 管道:
管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。
- 帮助命令:
查阅 命令的使用手册,摁 退出。
- 基础操作命令:
- 文件操作:
- 压缩解压:
- 权限管理:
在设置权限时,可以字母,也可以使用三个数字分别对应拥有者、组和其他用户的权限。
注: 中虽然执行是 但是一般使用 作为执行,而不是 。
- 显示展示命令:
- 其他命令:
- 什么是 vi
是 操作系统中一个自带的编辑器。没有图形界面,只能编译文本内容,没有字体段落等设置,通过命令强大的命令完成一系列的编写工作。
在实际工作中,要对 服务器上的文件进行简单的修改,使用 vi 进行快速的编辑即可。
对一些配置文件的修改,需要一定的权限,这时 vi 编辑器是最佳选择。
vi 编辑器在系统管理、服务器管理编辑文件时,其功能不是图形界面的编辑器能比拟的。
- 操作使用
打开和新建文件
- 工作模式:
1、命令模式:
打开文件首先进入命令模式,是使用 vi 的 入口。通过 命令 对文件进行常规的,在其他图形编辑器下,通过 快捷键 或者 鼠标 实现的操作,例如:定位、翻页、复制、粘贴、删除。
2、末行模式:
执行 保存、退出 等操作。要退出 vi 返回到控制台,需要在末行模式下输入命令。末行模式 是 vi 的 出口。
3、编辑模式:
正常的编辑文字
- 进入编辑模式命令:
- 底行模式常用命令:
-
命令模式常用命令
-
- 行内移动:
-
- 行数移动
- 撤销和恢复撤销:
- 删除文本
- 剪切、复制、粘贴
- 替换
R 命令可以进入 ,替换完成后,按下 ESC 可以回到。
- 查找
查找到指定内容之后,使用 查找下一个出现的位置。
可以取消行号显示。
-
:Linux 操作系统可以有不同的用户,这是系统管理的重要一环,不同的用户有自己独立的空间内容。
-
:为了方便对用户管理,Linux 操作系统使用用户组的概念。将不同的用户添加到对应的组中,可以方便用户设置权限的设置。
-
:Linux 系统中的 root 用户通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限,一般工作中不会使用 root 用户进行系统操作,防止一些误操作带来系统损坏
** 注:设置密码后为新用户添加 sudo 权限,sudo 打开 /etc/sudoers 文件增加如下内容。然后 :w! 强制保存 :q 退出。**
注:如果切换用户终端命令行只有一个 $ 提示,也没有任何颜色提示,则 vi 打开 /etc/passwd 文件,存储的是所有的用户和密码信息,将该用户对应的内容修改,设置 bash 命令解释器。
注:如果删除失败说明刚刚使用了该用户没有注销,需要重启再删除。或者执行下面命令。
下安装的软件包是 。由于当时 系统中软件包存在复杂的依赖关系。因此,通常使用网络安装。安装软件包通常需要使用管理员权限。软件包下载位置:。
ssh 是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。在数据传输方面有很多应用。之前说到,实际工作中经常需要远程访问服务器,ssh 就是通用的远程访问服务器的方法。
- 常用命令:
ssh 秘钥
什么时候使用: 如果使用的客户端个人计算机是自己独有的计算机,经常通过 ssh 访问服务器,此时不想频繁输入密码,则可以使用秘钥处理。
- 使用方法
1、在个人计算机中生产秘钥对 : 执行以后会在主目录下生成 文件夹,其中包含私钥文件 和公钥文件 。
2、在服务器主机上创建文件(云服务器当中会自动为我们创建) ,将信任的计算机的 文件内容追加到服 文件的最后即可。
在服务器中并没有 pycharm 这些集成编译工具,所有当我们最后将程序部署在服务器上执行时,往往需要通过终端运行 python 程序。
1、编写 python 程序在第一行增加解释器声明。
2、修改文件的权限,使其有可执行权限。
3、通过指定文件位置执行代码。
🌟让天下没有学不会的技术🌟
学习C#不再是难问题
🌳《C#入门到高级教程》🌳
有关C#实战项目
👉C#RS232C通讯源码👈
👉C#委托数据传输👈
👉C# Modbus TCP 源代码👈
👉C# 仓库管理系统源码👈
👉C# 欧姆龙通讯Demo👈
👉C#+WPF+SQL目前在某市上线的车管所摄像系统👈
👉2021C#与Halcon视觉通用的框架👈
👉2021年视觉项目中利用C#完成三菱PLC与上位机的通讯👈
👉VP联合开源深度学习编程(WPF)👈
✨有关C#项目欢迎各位查看个人主页✨
🌟机器视觉、深度学习🌟
学习机器视觉、深度学习不再是难问题
🌌《Halcon入门到精通》🌌
🌌《深度学习资料与教程》🌌
有关机器视觉、深度学习实战
👉2021年C#+HALCON视觉软件👈
👉2021年C#+HALCON实现模板匹配👈
👉C#集成Halcon的深度学习软件👈
👉C#集成Halcon的深度学习软件,带[MNIST例子]数据集👈
👉C#支持等比例缩放拖动的halcon WPF开源窗体控件👈
👉2021年Labview联合HALCON👈
👉2021年Labview联合Visionpro👈
👉基于Halcon及VS的动车组制动闸片厚度自动识别模块👈
✨有关机器视觉、深度学习实战欢迎各位查看个人主页✨
🌟Java、数据库教程与项目🌟
学习Java、数据库教程不再是难问题
🍏《JAVA入门到高级教程》🍏
🍏《数据库入门到高级教程》🍏
有关Java、数据库项目实战
👉Java经典怀旧小霸王网页游戏机源码增强版👈
👉js+css类似网页版网易音乐源码👈
👉Java物业管理系统+小程序源码👈
👉JavaWeb家居电子商城👈
👉JAVA酒店客房预定管理系统的设计与实现SQLserver👈
👉JAVA图书管理系统的研究与开发MYSQL👈
✨有关Java、数据库教程与项目实战欢迎各位查看个人主页✨
🌟分享Python知识讲解、分享🌟
学习Python不再是难问题
🥝《Python知识、项目专栏》🥝
🥝《Python 检测抖音关注账号是否封号程》🥝
🥝《手把手教你Python+Qt5安装与使用》🥝
🥝《用一万字给小白全面讲解python编程基础问答》🥝
🥝《Python 绘制Android CPU和内存增长曲线》🥝
🥝《☀️苏州程序大白用万字解析Python网络编程与Web编程☀️《❤️记得收藏❤️》》🥝
有关Python项目实战
👉Python基于Django图书管理系统👈
👉Python管理系统👈
👉2021年9个常用的python爬虫源码👈
👉python二维码生成器👈
✨有关Python教程与项目实战欢迎各位查看个人主页✨
🌟分享各大公司面试题、面试流程🌟
面试成功不是难事
🍏《2021年金九银十最新的VUE面试题☀️《❤️记得收藏❤️》》🍏
🍏《只要你认真看完一万字☀️Linux操作系统基础知识☀️分分钟钟都吊打面试官《❤️记得收藏❤️》》🍏
🍏《❤️用一万字给小白全面讲解python编程基础问答❤️《😀记得收藏不然看着看着就不见了😀》》🍏
✨有关各大公司面试题、面试流程欢迎各位查看个人主页✨