《鸟哥的Linux私房菜基础篇》---1 Linux的介绍与如何开启Linux之路
目录
一、Linux的简单介绍
1、Linux的简介
2、Linux的起源与发展
3、主要特点
4、应用场景
二、开启Linux之路
1、学习Linux的相关知识
2、正规表示法、管线命令、数据流重导向
前言
整体大纲预览

一、Linux的简单介绍
1、Linux的简介
(1)Linux就是一套操作系统,Linux就是核心与系统呼叫接口那两层。
(2)Linux是Open Source的操作系统,所以Linux是具有【可移植性】。
软件移植: 如果能够参考硬件的功能函数并据以修改你的操作系统程序代码,那经过改版后的操作系统在另一个硬件平台上面运行了,这个动作通常称为【软件移植】。
2、Linux的起源与发展
(1)Linux起源于上世纪90年代初,由芬兰的林纳斯·托瓦兹(Linus Torvalds)开发。
(2)他最初发布了一个用于个人计算机的内核,即操作系统的主要核心,被命名为Linux。
(3)Linux不断更新迭代,拥有庞大的开发者社区,现已成为全球最受欢迎的开源操作系统之一。
3、主要特点
(1)开放性:Linux遵循开放系统互连(OSI)国际标准,其源代码是公开的,任何人都可以查看、修改和发布。
(2)多用户:Linux操作系统资源可以被不同用户使用,每个用户对自己的资源(例如文件、设备)有特定的权限,互不影响。
(3)多任务:Linux允许计算机同时执行多个程序,同时各个程序的运行互相独立。
(4)良好的用户界面:Linux向用户提供了两种界面,即用户界面和系统调用,同时还提供了图形用户界面(GUI),利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。
(5)设备独立性:Linux是具有设备独立性的操作系统,其内核具有高度适应能力,操作系统把所有外部设备统一当作文件来看待,只要安装驱动程序,任何用户都可以像使用文件一样操纵、使用这些设备。
(6)丰富的网络功能:Linux提供了完善的内置网络功能。
(7)可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
(8)良好的可移植性:Linux能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。
4、应用场景
(1)服务器操作系统:Linux被广泛用作服务器操作系统,包括Web服务器、数据库服务器、文件服务器等。
(2)嵌入式系统:Linux适用于嵌入式设备,如智能手机、平板电脑、网络路由器、电视盒子等。
(3)超级计算机:Linux在高性能计算领域得到广泛应用,能够支持大规模并行计算。
(4)云计算和虚拟化:Linux是云计算平台的主力操作系统,能够提供高度可扩展的虚拟化环境。
(5)科学研究:Linux在科学研究领域得到广泛应用,包括天文学、地球物理学、生物医学等。
(6)软件开发:Linux提供了丰富的开发工具和环境,广泛用于软件开发和系统管理。
(7)家庭用户:Linux也适用于家庭用户,可以用作个人电脑的操作系统,提供各种办公、娱乐和互联网应用。
(8)教育领域:Linux在学校和大学中得到广泛应用,用于教学、科研和学生使用。
二、开启Linux之路
1、学习Linux的相关知识
(1)计算机概论与硬件相关知识;
(2)先从Linux的安装与指令学起;
(3)Linux操作系统的基本技能:
【使用者、群组的概念】、【权限的观念】、【程序的定义】等等
(4)务必学会vi文字编辑;
(5)Shell与Shell Script的学习;
【正规表示法】、【管线命令】、【数据流重导向】
(6)一定要会软件管理员;
面临自己安装驱动程序或者安装额外软件的时候,Tarball/RPM/DPKG等软件管理员的安装方式的了解。
(7)网络基础的建立;
学习书籍参考:
计算机基础(http://www.study-area.org/compu/compu.htm)
网络基础(http://www.study-area.org/network/network.htm)
鸟哥的私房菜馆:http://linux.vbird.org
2、正规表示法、管线命令、数据流重导向
在Linux系统中,有几个重要的概念对于高效地进行文本处理和系统管理至关重要,这些概念包括正规表示法(Regular Expressions,简称Regex)、管线命令(Pipeline Commands)以及数据流重导向(Data Redirection)。
(1) 正规表示法(Regular Expressions)
正规表示法是一种用于文本搜索、替换和解析的强大工具。它允许用户定义一个模式(pattern),然后利用这个模式去匹配文本中的字符串。这个模式可以非常具体(例如,只匹配一个特定的单词),也可以非常广泛(例如,匹配所有电子邮件地址)。
• 基本组成:包括普通字符(如字母和数字)、特殊字符(如.表示任意单个字符,*表示前一个字符的零次或多次出现),以及括号、中括号等用于定义字符集和组的符号。
• 用途:常用于文本编辑器(如vi、vim)、文件搜索工具(如grep、sed、awk)等中,以执行复杂的文本匹配和替换操作。
(2) 管线命令(Pipeline Commands)
管线命令是指将一个命令的输出作为另一个命令的输入的方式。在Linux中,这通常通过管道符号(|)来实现。
• 工作方式:例如,ls -l | grep "txt" 这个命令首先执行ls -l列出当前目录下的文件和目录的详细信息,然后grep "txt"会从这些信息中筛选出包含“txt”的行。
• 用途:管线命令使得多个命令可以协同工作,处理复杂的文本处理和数据筛选任务。
(3) 数据流重导向
数据流重导向是指改变数据输入输出的方向,包括标准输入(stdin)、标准输出(stdout)和标准错误输出(stderr)。
重定向操作符:
>:将输出重定向到文件,如果文件已存在则覆盖。
>>:将输出追加到文件末尾,如果文件不存在则创建。
<:将文件内容作为输入重定向给命令。
2>:将标准错误输出重定向到文件。
&> 或 >file 2>&1:将标准输出和标准错误输出都重定向到同一个文件。
用途:数据重定向常用于将命令的输出保存到文件、将文件内容作为命令的输入,或者将错误信息记录到特定位置等场景。
综上所述,正规表示法、管线命令和数据流重导向是Linux系统中处理文本和数据流的三大重要工具。它们使得Linux用户可以以高效、灵活的方式处理复杂的文本和数据操作任务。
相关文章:
《鸟哥的Linux私房菜基础篇》---1 Linux的介绍与如何开启Linux之路
目录 一、Linux的简单介绍 1、Linux的简介 2、Linux的起源与发展 3、主要特点 4、应用场景 二、开启Linux之路 1、学习Linux的相关知识 2、正规表示法、管线命令、数据流重导向 前言 整体大纲预览 一、Linux的简单介绍 1、Linux的简介 (1)Linu…...
选择排序,插入排序,快速排序的java简单实现
代码功能 以下Java代码包含了三个排序算法的实现: 选择排序(Selection Sort):通过不断选择剩余元素中的最小值来排序数组。 插入排序(Insertion Sort):通过构建有序序列,对于未排序…...
数据库中,超出范围和溢出问题的一些处理方法
在数据库中,超出范围和溢出问题通常与数据类型、索引、以及数据存储的容量限制有关。以下是处理这些问题的一些方法: ### 1. 数据类型超出范围 **原因**: - 当尝试将超出数据类型范围的值插入到列中时,会发生错误。 **解决方法…...
Re75 读论文:Toolformer: Language Models Can Teach Themselves to Use Tools
诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名:Toolformer: Language Models Can Teach Themselves to Use Tools 论文下载地址:https://arxiv.org/abs/2302.04761 这篇文章是介绍tool learning的,大概来说就是…...
Android App系统签名
1.在AndroidManifest中添加 android:sharedUserId"android.uid.system" 2.获取系统签名 把以下所有文件放入同一个文件夹命名为sign 在Android系统源码中的\build\target\product\security目录下找到platform.x509.pem 和 platform.pk8两个文件; 在out/…...
Shiro认证(Authentication)
Shiro简介:特性和架构 Apache Shiro是一个功能强大且易于使用的Java安全(权限)框架,提供了认证、授权、会话管理、加密、与Web集成、缓存等功能。Shiro不仅可以在JavaSE环境中使用,也可以在JavaEE环境中使用。 特性 …...
Qt和c++面试集合
目录 Qt面试 什么是信号(Signal)和槽(Slot)? 什么是Meta-Object系统? 什么是Qt的MVC模式? 1. QT中connect函数的第五个参数是什么?有什么作用? 3. 在QT中ÿ…...
Spark 3.3.x版本中的动态分区裁剪(DPP,Dynamic Partition Pruning)的实现及应用剖析
文章目录 Dynamic Partition Pruning(DPP)的作用DPP生效的一些要点DPP生效的简单SQL示例DPP生效SQL的解析示例Deduplicate Correlated SubqueryRewrite Predicates as JoinRewrite Join With Dynamic SubqueryRewrite Dynamic Subquery as Dynamic Expre…...
Android 各国语言value文件夹命名规则
中文 values-zh英语values-en 阿拉伯语 values-ar 保加利亚语 values-bg加泰罗尼亚语values-ca 捷克语 values-cs 丹麦语 values-da 德语 values-de 希腊语 values-el 西班牙语 values-es 芬兰语 values-fi 法语 values-fr 希伯来语 values-iw 印地语 values-hi 克罗里亚语 …...
深入理解Redis锁与Backoff重试机制在Go中的实现
文章目录 流程图Redis锁的深入实现Backoff重试策略的深入探讨结合Redis锁与Backoff策略的高级应用具体实现结论 在构建分布式系统时,确保数据的一致性和操作的原子性是至关重要的。Redis锁作为一种高效且广泛使用的分布式锁机制,能够帮助我们在多进程或分…...
uniapp-小程序开发0-1笔记大全
uniapp官网: https://uniapp.dcloud.net.cn/tutorial/syntax-js.html uniapp插件市场: https://ext.dcloud.net.cn/ uviewui类库: https://www.uviewui.com/ 柱状、扇形、仪表盘库: https://www.ucharts.cn/v2/#/ CSS样式&…...
Go语言数据库操作深入讲解
go操作MySQL 使用第三方开源的mysql库: github.com/go-sql-driver/mysql (mysql驱动)github.com/jmoiron/sqlx (基于mysql驱动的封装) 命令行输入 : go get github.com/go-sql-driver/mysqlgo get github.com/jmoiron/sqlx Insert操作 登录后复制 // 连接Mysql data…...
搜维尔科技:SenseGlove Nova 2触觉反馈手套开箱测评
SenseGlove Nova 2触觉反馈手套开箱测评 搜维尔科技:SenseGlove Nova 2触觉反馈手套开箱测评...
步步精科技诚邀您参加2024慕尼黑华南电子展
尊敬的客户: 我们诚挚地邀请您参加即将于2024年10月14日至10月16日在深圳国际会展中心 (宝安新馆)举办的慕尼黑华南电子展(electronica South China)。本届将聚焦人工智能、数据中心、新型储能、无线通信、硬件安全、新能源汽车、第三代半导…...
OPC UA与PostgreSQL如何实现无缝连接?
随着工业4.0的推进,数据交换和集成在智能制造中扮演着越来越重要的角色。OPC UA能够实现设备与设备、设备与系统之间的高效数据交换。而PostgreSQL则是一种强大的开源关系型数据库管理系统,广泛应用于数据存储和管理。如何将OPC UA与PostgreSQL结合起来&…...
C语言[斐波那契数列2]
本篇文章讲述前一篇文章的细节,方便大家进行代码的运算。 本次代码题为: 输出斐波那契数列的前20位数,每行4位数。 详细解释: 在 main 函数中,首先定义了循环变量 i 和用于存储斐波那契数列项的三个长整型变量 f1 、 f2 和 temp 。其…...
八、Linux之实用指令
1、指定运行级别 1.1 基本介绍 运行级别说明 0 :关机 1 :单用户【找回丢失密码】 2:多用户状态没有网络服务(用的非常少) 3:多用户状态有网络服务(用的最多) 4:系统未使…...
2024_E_100_连续字母长度
连续字母长度 题目描述 给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。 输入描述 第一行有一个子串(1<长度<100),只包含大写字母。 第二行为…...
清空redo导致oracle故障恢复---惜分飞
客户由于空间不足,使用> redo命令清空了oracle的redo文件 数据库挂掉之后,启动报错 Fri Oct 04 10:32:57 2024 alter database open Beginning crash recovery of 1 threads parallel recovery started with 31 processes Started redo scan Errors in file /home/oracle…...
VAE(与GAN)
VAE 1. VAE 模型概述 变分自编码器(Variational Autoencoder, VAE)是一种生成模型,主要用于学习数据的潜在表示并生成新样本。它由两个主要部分组成:编码器和解码器。 编码器:将输入数据映射到潜在空间,…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
