《鸟哥的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)是一种生成模型,主要用于学习数据的潜在表示并生成新样本。它由两个主要部分组成:编码器和解码器。 编码器:将输入数据映射到潜在空间,…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
