《鸟哥的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)是一种生成模型,主要用于学习数据的潜在表示并生成新样本。它由两个主要部分组成:编码器和解码器。 编码器:将输入数据映射到潜在空间,…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...