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

【Linux杂货铺】Linux学习之路:期末总结篇1

第一章

什么是Linux?

  1. Linux 是 UNIX 操作系统的一个克隆;
  2. 它由林纳斯 · 本纳第克特 · 托瓦兹从零开始编写,并在网络上众多松散的黑客团队的帮助下得以发展和完善;
  3. 它遵从可移植操作系统接口(POSIX)标准和单一 UNIX 规范标准;
  4. 具有现代成熟的 UNIX 操作系统的所有功能,包括真正的多任务、虚拟内存、共享库、按需加载、规范的内存管理等;
  5. 最初基于32位x86的PC开发,现在包括32位和64位版本的处理器。

Linux的诞生、发展依赖着五个重要支柱?

  1. UNIX 操作系统;
  2. MINIX 操作系统;
  3. GNU计划;
  4. POSIX 标准;
  5. Internet网络。

如何理解:Unix –> minix –> (linux) [posix] <- gnu

Unix 作为一个原始的有影响力的操作系统,启发了许多后续的系统,包括用于教学的 minix、基于 Unix 的开源操作系统 Linux(它遵循 POSIX 标准以确保兼容性),以及 GNU 项目(它提供了许多与 Unix 兼容的工具和库,通常与 Linux 内核一起使用以形成完整的操作系统)。


POSIX

  1. POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX),POSIX标准定义了操作系统应该为应用程序提供的接口标准。其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945;
  2. POSIX的诞生和UNIX的发展是密不可分的,IEEE最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性;
  3. POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC OpenVMS 支持 POSIX 标准。

Linux操作系统的版本

  1. Linux 内核;
  2. Linux 发行版:Linux发行版是一个由Linux内核、大量基于Linux的应用软件和工具软件整合而成的操作系统。典型的Linux发行版包括Linux内核、GNU工具和库,附加软件、文档、窗口系统、桌面环境、软件包管理器;
  3. 把 Red Hat、Ubuntu、Debian等直接说成 Linux 其实是不确切的,它们是 Linux 的发行版本,更确切地说,应该叫作“以Linux为核心的操作系统软件包”。

Linux的应用领域?

  1. 传统企业级服务器领域;
  2. 智能手机、平板电脑、上网本等移动终端;
  3. 物联网、车联网等应用场景;
  4. 面向日常办公的桌面应用场景;
  5. 云计算、区块链、大数据、深度学习等应用场景。


第二章

  • Linux发行版为用户提供了GUI(图形用户界面)。GUI有效降低了普通用户使用Linux的难度。而诸如排版、制图、多媒体等代表性的桌面应用,更离不开GUI的支持。

X Window是什么?

  1. X Window采用C/S架构,基于X协议,通过网络进行图形界面存取。
  2. 因此X window是Linux操作系统一个可选的组件。
  3. 它是 UNIX 与类 UNIX 系统最流行的窗口系统;
  4. 它是一个跨网络与跨操作系统的窗口系统,可用于几乎所有的现代操作系统。

与微软Windows的区别?

在这里插入图片描述

  • X Window: 采用C/S架构,基于X协议,通过网络进行图形界面存取。因此X window是Linux操作系统一个可选的组件;
  • 微软Windows: 微软Windows的图形环境与内核紧密结合,图形环境直接访问微软windows内核。

X Window 架构?

  • X 服务器(X server)、X 客户端(X client)和通信协议(X protocol)三部分组成;
  • 基于X协议。1987 年发布了该协议的第11 版。
  • X Window System也被称为 X11 。

在这里插入图片描述

Unity 桌面环境(了解)

  1. Unity 是基于 GNOME 桌面环境的用户界面,由Canocical公司开发,主要用于 Ubuntu 操作系统;
  2. 与 GNOME 及KDE 不同,Unity并不是一个完整完整的桌面环境,它主要实现了桌面环境的面板部分,其他桌面环境要素仍然使用现有方案;
  3. Unity桌面环境与GNOME桌面环境在外观上存在较大差异;
  4. Unity 被设计成的可更高效地使用屏幕空间,与传统的桌面环境相比所消耗的系统资源更少。


第三章

Shell简介

Shell是Linux操作系统的用户界面。Shell提供了用户与系统内核进行交互操作的一种接口。Shell调用了系统内核的大部分功能来执行程序。

  • 解释用户在命令行提示符下输入的命令;
  • 提供个性化的用户环境,通常由Shell初始化配置文件实现;
  • 编写Shell脚本,实现高级管理功能。

history 命令

  • 使用history命令会列出所有使用过的命令并编号;
history			#不加参数,列出近期的命令记录
history 10		#查看最近的10条历史命令记录
history -c		#清空历史记录

grep命令

grep 是一个强大的文本搜索工具,它允许你在文件中搜索特定的字符串或模式,并将匹配的行打印到标准输出。

grep 'hello' file.txt

这将在 file.txt 文件中搜索包含 “hello” 的行,并将它们打印到标准输出。


管道

Shell程序可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道。

管道符:|

#在 /etc/passwd 文件中搜索包含 "zp" 的行
cat /etc/passwd | grep zp

重定向

输入/输出重定向就是改变输入输出的方向。

输出重定向

输出重定向是指命令的结果不再输出到显示器上,而是输出到其他地方,一般是文件中。

#将某个命令执行的输出保存到文件中
[命令] > [文件]		#输出重定向,文件中已存在相同的文件,那么覆盖源文件中的内容。
[命令] >> [文件]	#输出追加重定向

输入重定向

输入重定向就是改变输入的方向,不再将键盘作为命令输入的来源,而是使用文件作为命令的输入。

#输入重定向
[命令] < [文件]		#将文件的内容分作为命令的输入#例子:
#wc 是一个常用的 Unix/Linux 命令,用于计算字节数、字数和行数。
#-l 选项指定了 wc 只计算行数。
wc -l < /etc/profile	#27
#输入追加重定向
#当前标准输入来自命令行的一对分隔符之间的内容。
[命令] << [分隔符]
> [文本内容]
> [分隔符]#例子:
wc -l <<EOF
> 1111111
> 2222222222222222
> 333333333333
> 44444444444444
> EOF	#4

错误重定向

错误重定向,即将某一命令执行的出错信息输出到指定文件中。

[命令] 2> [文件][命令] 2>> [文件] #输入追加重定向,将错误信息添加到已存在的文件

命令排列

命令排序:是指希望一次执行多个命令。

#使用 ";" 连接时,先执行命令1,不管命令1是否出错,接下来都会执行命令2
命令1; 命令2#使用 "&&" 连接时,只有当命令1运行完毕并返回正确结果后,才会执行命令2
命令1 && 命令2#使用 "||" 连接时,只有当命令1执行不成功(产生一个非0的退出码)时,才能执行命令2
命令1 || 命令2

命令续行

命令续行:通常指的是将一个长命令或语句分成多行来输入或编写的功能。

#转义符
#对特殊字符进行转义:
echo "\$zp"		#输出结果$zp#命令续行
#再反斜杠后面紧跟按回车键,表示下一行是当前行的续行。
mv \
> zp \
> zpdir #"mv zp zpdir"表示将zp文件移动到zpdir目录中

pidof命令

pidof 命令用于查找与给定程序名相关的所有进程的进程ID(PID);


命令替换

可以将一个命令的结果作为命令的参数,这就是命令替换

#使用 "$()"
命令1 $(命令2)#使用 "``"
命令1 `命令2`#例子
vi &	#以后台方式启动vi进程
kill -9 $(pidof vi) #通过命令替换,查找并杀死vi进程
#解释:
#pidof vi 会返回所有与 vi 或 vim 相关的进程的PID
#$() 是一个命令替换,它会执行括号内的命令,并将其输出替换到当前位置
#$(pidof vi) 会被替换为与 vi 或 vim 相关的所有进程的PID列表

命令别名

命令别名(alias):允许用户为命令或命令组合定义简短的替代名称。这可以提高命令行界面的效率,特别是当你需要频繁执行复杂的命令或命令组合时。

#查看已定义的别名
alias#创建别名
alias [别名]=[需要定义别名的命令]	#如果命令中有空格,需要使用双引号""#使用别名——与普通命令使用方法一样#取消别名
unalias [别名]

Linux命令行帮助系统

#使用man命令获取帮助 —— 用于查看Linux操作系统的手册,主要资源位于/user/share/man
man [选项] [名称]#使用info命令获取帮助 —— 具有更强的交互性
info 命令名称#使用--help选项获取帮助 —— 可以显示命令的使用方法和命令选项的含义。
命令名称 --help

相关文章:

【Linux杂货铺】Linux学习之路:期末总结篇1

第一章 什么是Linux? Linux 是 UNIX 操作系统的一个克隆&#xff1b;它由林纳斯 本纳第克特 托瓦兹从零开始编写&#xff0c;并在网络上众多松散的黑客团队的帮助下得以发展和完善&#xff1b;它遵从可移植操作系统接口&#xff08;POSIX&#xff09;标准和单一 UNIX 规范…...

GPT-5的到来:智能飞跃与未来畅想

IT之家6月22日消息&#xff0c;在美国达特茅斯工程学院的采访中&#xff0c;OpenAI首席技术官米拉穆拉蒂确认了GPT-5的发布计划&#xff0c;预计将在一年半后推出。穆拉蒂形象地将GPT-4到GPT-5的飞跃比作高中生到博士生的成长。这一飞跃将给我们带来哪些变化&#xff1f;GPT-5的…...

gin中间件

在web应用服务中&#xff0c;完整的业务处理在技术上包含客户端操作&#xff0c;服务端处理&#xff0c;返回处理结果给客户端三个步骤。但是在在更负责的业务和需求场景。一个完整的系统可能要包含鉴权认证&#xff0c;权限管理&#xff0c;安全检查&#xff0c;日志记录等多维…...

swagger常用注解

最近查看接口文档的时候发现&#xff0c;POST方法中的query没法在swagger中显示&#xff0c;查了才发现这是因为Swagger或OpenAPI规范默认将HTTP POST请求的参数识别为请求体&#xff08;body&#xff09;参数&#xff0c;而不是查询字符串&#xff08;query&#xff09;参数。…...

【Flink metric(1)】Flink指标系统的系统性知识:获取metric以及注册自己的metric

文章目录 一. Registering metrics&#xff1a;向flink注册新自己的metrics1. 注册metrics2. Metric types:指标类型2.1. Counter2.2. Gauge2.3. Histogram(ing)2.4. Meter 二. Scope:指标作用域1. User Scope2. System Scope ing3. User Variables 三. Reporter ing四. System…...

命令模式(Command Pattern)

命令模式&#xff08;Command Pattern&#xff09; 定义 命令模式是对命令的封装&#xff0c;每一个命令都是一个操作&#xff1a;请求的一方发出请求要求执行一个操作&#xff1b;接收的一方收到请求&#xff0c;并执行操作。 命令模式解耦了请求方和接收方&#xff0c;请求…...

掌握Symfony的模板继承:构建强大且灵活的Web界面

掌握Symfony的模板继承&#xff1a;构建强大且灵活的Web界面 在Symfony框架中&#xff0c;模板继承是一个强大的功能&#xff0c;它允许开发者创建可重用的布局模板&#xff0c;并通过扩展这些模板来构建具体的页面。这种机制不仅提高了代码的可维护性&#xff0c;还使得页面结…...

uboot基本使用网络命令和从服务器端下载linux内核启动

网络命令ip地址设置: setenv gmac_debug 0; setenv mdio_intf rgmii; setenv bootdelay 1; setenv ethaddr 00:xxxx:81:70; // mac地址 setenv ipaddr xxx; //开发板 IP 地址 setenv netmask 255.255.255.0; setenv gatewayip xxx.1; setenv serverip xxxx; //服…...

解决ArcGIS导出的svg格式的图片插入Word后的字体问题

背景 在ArcGIS中设置字体为Times New Roman&#xff0c;但导入Word后字体转为等线。 ArcGIS中的Layout 导入Word​​​​​​ 原因分析 Word无法识别嵌入进SVG格式文件中的字体。 解决方案 在Export Layer窗口中&#xff0c;将Embed fonts取消勾选&#xff0c;Convert cha…...

如何确保 Puppet 配置在复杂网络环境中的可靠分发和同步?

在复杂网络环境中确保 Puppet 配置的可靠分发和同步可以采取以下措施&#xff1a; 网络拓扑规划&#xff1a;在复杂网络环境中&#xff0c;首先需要进行网络拓扑规划&#xff0c;确保网络结构合理&#xff0c;并能够支持可靠的分发和同步机制。 Puppet Master 多节点部署&…...

2024最新!将mysql的数据导入到Solr

Solr导入mysql的数据 如何安装导入数据前准备配置Solr的Jar包以及Mysql驱动包1.1、将solr-8.11.3\dist下的两个包进行移动1.2、将mysql-connect包也移动到该位置1.3、重启Solr项目 配置xml2.1、第一步我们需要创建核心2.2、第二步修改xml(这里是结合19年的教程)2.3、 创建data-…...

Python数据分析第二课:conda的基础命令

Python数据分析第二课&#xff1a;conda的基础命令 1.conda是什么? conda是一个开源的包管理系统&#xff0c;可以帮助我们进行管理多个不同版本的软件包&#xff0c;还可以帮助我们建立虚拟环境&#xff0c;以便对不同的项目进行隔离。 简单来说&#xff0c;conda是一个软…...

LayoutInflater加载流程

简介 LayoutInflater在日常的Android开发中是经常使用的类&#xff0c;常常用于XML中View的加载相关流程。本文主要总结一些其常见api的源码流程。 获取LayoutInflater 我们一般会在Activity的onCreate方法中会通过setContentView方法设置自己的布局layoutId&#xff0c;Act…...

PLC数据采集案例

--------天津三石峰科技案例分享 项目介绍 项目背景 本项目为天津某钢铁集团下数字化改造项目&#xff0c;主要解决天津大型钢厂加氢站数字化改造过程中遇到的数据采集需求。项目难点PLC已经在运行了&#xff0c;需要采集里面数据&#xff0c;不修改程序&#xff0c;不影响P…...

基于单片机和LabVIEW 的远程矿井水位监控系统设计

摘要 &#xff1a; 针 对 现 有 矿 井 水 位 监 控 系 统 存 在 结 构 复 杂 和 不 能 远 程 监 控 的 问 题 &#xff0c; 设计了基于单片机和&#xff2c;&#xff41;&#xff42;&#xff36;&#xff29;&#xff25;&#xff37; 的远程矿井水位监控系统 &#xff0c; 详…...

element 表格嵌套表单验证指定行

elementui表格嵌套动态表单&#xff0c;单独验证某一行输入项是否符合校验规则&#xff1b; input动态绑定校验 :prop"imgTable. scope.$index .bxName" <el-form :model"formTable" ref"formTable" inline size"small"><…...

CORE Mobility Errorr的调试

在运行CORE tutorial 3中的mobility示例时&#xff0c;出现如下错误&#xff1a; 当看到这个问题的时候&#xff0c;并没有仔细去分析日志和现象&#xff0c;在core-daemon的进程打印界面只看了一下最后的出错堆栈&#xff1a; 2024-06-27 10:43:48,614 - ERROR - _server:_ca…...

基于weixin小程序乡村旅游系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;旅游景点管理&#xff0c;景点类型管理&#xff0c;景点路线管理&#xff0c;系统管理 商家帐号账号功能包括&#xff1a;系统首页&#xff0c;旅游景点管理&…...

详解三种常用标准化 Batch Norm Layer Norm RMSNorm

参考&#xff1a; BN究竟起了什么作用&#xff1f;一个闭门造车的分析《动手学深度学习》7.5 节 深度学习中&#xff0c;归一化是常用的稳定训练的手段&#xff0c;CV 中常用 Batch Norm&#xff1b; Transformer 类模型中常用 layer norm&#xff0c;而 RMSNorm 是近期很流行…...

云计算运维工程师面试

1. 云计算运维工程师的角色和职责是什么? 回答: 云计算运维工程师负责确保云计算环境(包括硬件和软件系统)的高可用性和稳定性。他们的主要职责包括: 监测系统和应用程序的性能,确保它们正常运行。故障排除,快速响应并解决系统或应用程序中出现的问题。容量规划,根据…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

[拓扑优化] 1.概述

常见的拓扑优化方法有&#xff1a;均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有&#xff1a;有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...