第四课-操作系统

大学学习计算机课程时,最重要的课程就是组成原理、操作系统,在工作中可能对组成原理的理解可以让我们更好的理解他的运行和结构;而操作系统是我们日常开发、运维会常接触到的。但是和教材上的关注点不一样,书上说的更多的是概念,而日常开发、运维是更多关注的是操作,但是只有更好的理解到原理,才能对系统有更好理解。

操作系统是什么

操作系统是一种软件,它管理计算机硬件和其他软件资源,并提供给应用程序和用户一个统一的接口。操作系统充当计算机硬件和软件之间的中介,负责协调和控制计算机系统的各个组件,以实现任务的执行。

操作系统的主要功能包括:

  1. 进程管理:操作系统负责管理和调度计算机中的进程(程序的执行实例)。它分配计算机资源(如处理器时间、内存和输入/输出设备)给不同的进程,并控制它们的执行顺序和优先级。
  2. 内存管理:操作系统管理计算机的内存资源,包括分配和回收内存空间给进程、虚拟内存管理、内存保护和内存交换等。
  3. 文件系统管理:操作系统管理计算机上的文件和目录,提供文件的创建、读取、写入和删除等操作。它还负责文件的组织和访问控制。
  4. 输入/输出管理:操作系统管理计算机与外部设备之间的数据传输和交互。它提供输入/输出接口、设备驱动程序和数据缓冲区等功能,以支持各种设备的使用。
  5. 用户界面:操作系统提供用户与计算机系统交互的界面。这可以是命令行界面(CLI)或图形用户界面(GUI),使用户可以执行命令、访问文件和应用程序等。
  6. 网络通信:现代操作系统通常具有网络通信功能,支持计算机之间的数据传输和网络连接。它提供网络协议栈、网络驱动程序和网络配置等功能。

常见的操作系统包括:

Windows:由微软公司开发的操作系统。Windows有多个版本,适用于个人计算机和服务器等不同的应用场景。

macOS:由苹果公司开发的操作系统,用于苹果的Macintosh电脑和MacBook系列产品。

Linux:一种自由和开放源代码的操作系统。它有多个发行版,如Ubuntu、Debian、Red Hat等,广泛用于服务器和嵌入式系统等领域。
在这里插入图片描述

  • 但是运维CentOS Linux部分停止维护了,ubuntu跟他差不多,在再继续维护,只有部分命令存在差异,大家也可以看下。
    CentOS 官网正式宣布,将停止维护 CentOS Linux,并将更多资金和人力投入到 CentOS Stream 中。
    CentOS Linux 8 将在 2021 年底停止维护,CentOS Linux 7 将在 2024 年 6 月底停止维护。

Android:由谷歌开发的移动设备操作系统,主要用于智能手机和平板电脑。

iOS:苹果公司的移动设备操作系统,用于iPhone、iPad和iPod Touch等设备。

Unix:一种多用户、多任务的操作系统,广泛应用于服务器和大型计算机系统。

服务器Linux常用命令

学习操作系统可以包括对操作系统原理的学习、操作系统的安装和配置、命令行和脚本编程、系统管理和故障排除等方面的内容。日常会使用到的有如下几个

在Linux系统中,以下是关于用户管理、设备管理、网络管理和文件权限的一些基本知识:

  1. 用户管理:

    • 创建用户:可以使用useradd命令创建新用户,例如useradd username
    • 删除用户:可以使用userdel命令删除用户,例如userdel username
    • 修改用户密码:可以使用passwd命令修改用户的密码,例如passwd username
    • 用户组管理:可以使用groupadd命令创建用户组,usermod命令将用户添加到用户组或从用户组中移除。
  2. 设备管理:

    • 设备文件:在Linux系统中,设备通常表示为文件。设备文件位于/dev目录下,例如硬盘设备文件为/dev/sda,串口设备文件为/dev/ttyS0
    • 设备信息:可以使用lsblk命令查看系统中的块设备信息,使用lspci命令查看PCI设备信息,使用lsusb命令查看USB设备信息等。
    • 设备驱动程序:设备驱动程序是与硬件设备通信的软件模块。Linux系统中的设备驱动程序通常以内核模块的形式存在,可以使用lsmod命令查看加载的内核模块。
  3. 网络管理:

    • IP地址配置:可以使用ifconfig命令查看和配置网络接口的IP地址,例如ifconfig eth0
    • 网络接口管理:可以使用ip命令管理网络接口,例如ip link set eth0 up将接口eth0启用,ip link set eth0 down将接口eth0禁用。
    • 路由配置:可以使用route命令配置和管理路由表,例如route add default gw 192.168.0.1添加默认网关。
  4. 文件权限:

    • 文件权限表示为读取(r)、写入(w)和执行(x)的组合,分为所有者权限、群组权限和其他用户权限。
    • ls -l命令可以查看文件的权限和属性。
    • chmod命令可以修改文件的权限,例如chmod u+x file将文件的执行权限授予所有者。
  5. 查看日志:

    • tail命令:用于查看日志文件的末尾内容。默认情况下,tail命令会显示文件的最后10行。您可以使用n选项来指定要显示的行数,例如tail -n 20 filename将显示文件的最后20行。
    • head命令:与tail命令相反,head命令用于查看日志文件的开头内容。默认情况下,head命令会显示文件的前10行。您可以使用n选项来指定要显示的行数,例如head -n 20 filename将显示文件的前20行。
    • less命令:less命令可以用于逐页查看日志文件。它允许您在文件中向前和向后浏览,并使用搜索功能查找特定的内容。要使用less命令查看日志文件,只需输入less filename,然后使用箭头键和Page Up/Page Down键进行导航。
    • grep命令:grep命令用于在文件中搜索指定的模式或关键字。您可以使用grep命令来过滤日志文件并只显示包含特定关键字的行。例如,grep "error" filename将显示包含"error"关键字的行。
    • cat命令:cat命令用于将文件的内容输出到终端。您可以使用cat命令查看整个日志文件的内容,但请注意,如果日志文件非常大,可能会导致终端输出过多信息而不易查看。
  6. 组合命令

    在Linux中,可以通过将多个命令组合在一起来实现更复杂的操作。以下是一些常用的组合命令:

    • 管道(|):管道符号用于将一个命令的输出传递给另一个命令作为输入。例如,command1 | command2将command1的输出作为command2的输入。这对于处理大量数据或在不同命令之间进行数据转换非常有用。

      示例:cat filename | grep "keyword"将读取filename文件的内容,并将包含"keyword"关键字的行输出到终端。

    • 重定向(>、>>、<):重定向符号用于将命令的输出重定向到文件或从文件中获取输入。>用于将输出重定向到文件(覆盖原有内容),>>用于将输出追加到文件末尾,<用于从文件中获取输入。

      示例:command > output.txt将command的输出写入output.txt文件中,如果文件不存在,则创建新文件;如果文件已存在,则覆盖原有内容。

      示例:command >> output.txt将command的输出追加到output.txt文件的末尾。

      示例:command < input.txt从input.txt文件中获取输入并传递给command。

    • 分号(;):分号用于在一行中执行多个命令,无论前一个命令是否成功。命令将按照顺序依次执行。

      示例:command1 ; command2将先执行command1,然后执行command2。

    • 逻辑与(&&)和逻辑或(||):逻辑与和逻辑或用于根据前一个命令的执行结果来决定是否执行下一个命令。逻辑与(&&)表示只有前一个命令成功执行(返回退出状态码为0),才会执行下一个命令;逻辑或(||)表示只有前一个命令失败执行(返回退出状态码不为0),才会执行下一个命令。

      示例:command1 && command2只有当command1成功执行后,才会执行command2。

      示例:command1 || command2只有当command1执行失败后,才会执行command2。

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 黑马qt公开课是一套为期5天的课件,主要介绍了Qt框架的基础知识和应用。Qt框架是一个跨平台的开发工具,可以方便地进行应用程序的设计、开发和调试,被广泛应用于图形界面开发、嵌入式系统和移动应用等领域。 在5天的课程中,学习者将对Qt框架的整体架构有一个全面的认识,包括Qt及其常用库的概念、功能和用法,也学会了如何使用Qt Designer进行界面设计和基于信号与槽的事件编程。 此外,课程还将介绍Qt中常用的编程模式和技术,如MVC架构、文件操作、网络编程等,并通过实例让学习者深入理解和应用这些概念和技术。 5天的课件中还提供了大量的实践操作,让学习者通过编写实际案例,深入理解所学知识,并更好地掌握Qt框架的基础和应用,为以后的工作打下坚实的基础。 总之,如果你想快速入门Qt框架的基础知识和应用,那么黑马qt公开课—5天的课件,将是一个非常好的选择。 ### 回答2: 黑马qt公开课的课件共分为5天,内容涵盖了Qt的基础知识、UI设计、绘图系统、多线程编程和网络编程等方面。通过这5天的学习,学员可以全面掌握Qt的开发技能和应用场景,具备开发Qt应用程序的能力。 第一天课程主要介绍了Qt的基础知识,包括Qt窗口和控件、信号与槽机制、事件处理、布局和样式等内容。通过这些基础知识的学习,学员可以了解Qt的基本工作原理和操作方法。 第二天的课程主要讲解了Qt的UI设计,包括UI设计器的使用、自定义控件和样式等内容。学员可以从中学习到如何设计美观、直观的用户界面。 第三天的课程则主题为Qt的绘图系统,包括2D和3D绘图、动画效果和图形转换等内容。在这一天的课程中,学员可以学习到如何使用Qt进行图形绘制和界面效果的优化。 第四天的课程主要介绍了Qt的多线程编程,包括线程的创建和管理、互斥锁和信号量等内容。学员可以从中学习到如何在Qt中实现多线程应用程序。 第五天的课程则主题为Qt的网络编程,包括socket编程、HTTP协议和Web服务等内容。学员可以从中学习到如何使用Qt进行网络编程,实现客户端和服务器的互通。 总体来说,黑马qt公开课的5天课程涵盖了Qt的核心知识点,让学员能够全面掌握Qt的开发技能和应用场景。通过这些课程的学习,学员可以成为一名合格的Qt开发工程师。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值