《鸟哥的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)是一种生成模型,主要用于学习数据的潜在表示并生成新样本。它由两个主要部分组成:编码器和解码器。 编码器:将输入数据映射到潜在空间,…...

【高等数学】多元微分学(二)
隐函数的偏导数 二元方程的隐函数 F ( x , y ) 0 F(x,y)0 F(x,y)0 推出隐函数形式 y y ( x ) yy(x) yy(x). 欲求 d y d x \frac{d y}{d x} dxdy 需要对 F 0 F0 F0 两边同时对 x x x 求全导 0 d d x F ( x , y ( x ) ) ∂ F ∂ x d x d x ∂ F ∂ y d y d x ∂ F…...

.NET 中的 Web服务(Web Services)和WCF(Windows Communication Foundation)
一、引言 在当今数字化时代,不同的软件系统和应用程序之间需要进行高效、可靠的通信与数据交换。.NET 框架中的 Web 服务和 WCF(Windows Communication Foundation)为此提供了强大的技术支持。它们在构建分布式应用程序、实现跨平台通信以及…...

Linux小知识2 系统的启动
我们在上文中介绍了文件系统,提到了Linux的文件系统存在一个块的概念,其中有一个特殊的块:引导块。这和我们这里要讲的系统启动有关。 BIOS 基本输入输出系统,基本上是一个操作系统最早实现也是最早运行的第一个程序。是一个比较…...

Oracle-19g数据库的安装
简介 Oracle是一家全球领先的数据库和云解决方案提供商。他们提供了一套完整的技术和产品,包括数据库管理系统、企业级应用程序、人工智能和机器学习工具等。Oracle的数据库管理系统是业界最受欢迎和广泛使用的数据库之一,它可以管理和存储大量结构化和…...

Dubbo快速入门(二):第一个Dubbo程序(附源码)
文章目录 一、生产者工程0.目录结构1.依赖2.配置文件3.启动类4.生产者服务 二、消费者工程0.目录结构1.依赖2.配置文件3.启动类4.服务接口5.controller接口 三、测试代码 本博客配套源码:gitlab仓库 首先,在服务器上部署zookeeper并运行,可以…...

不同数据类型转换与转义的对比差异
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 在C和C语言中,类型转换与转义是有点像的,有时可能被误解,这块需要仔细辨别。 类型转换形如,把不同字节数或相同字节数的类型值进行转换,强调的是数值转换过去&…...

Kylin系统安装VMwareTools工具
如下图所示,安装好Kylin系统之后,还未安装VMwareTools工具,导致系统画面无法填充虚拟机 正常安装了VMwareTools工具后的系统画面 所以,接下来我们介绍一下如何在Kylin系统下安装VMwareTools工具 首先,点击VMware工具栏…...

uni-app 拍照图片添加水印
获取图片信息 uni.chooseImage({count: 6, //默认9sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有sourceType: ["camera"], //从相册选择success: async function (result: any) {if (!props.isMar…...

Docker-registry私有镜像仓库的安装
Docker-registry私有镜像仓库的安装 我在这里的镜像仓库搭建在ip为192.168.3.23的虚机中。 安装docker-registry 1.拉取镜像 # docker pull registry 2.查看镜像 # docker images REPOSITORY TAG IMAGE ID CREATE…...

在vue3中实现祖组件给后代组件传参,可以跨域几层。
使用provide和inject就可以 下面是祖组件代码: //这是祖组件// 引入provide import { provide } from "vue";//定义数据 const projectId ref("");// 给后代组件传参 provide("projectId", projectId); 下面是后代组件代码&#…...