初识Linux+Linux基本指令(一)
目录
一.😆计算机与操作系统😆
计算机与操作系统发展史简介:
计算机与操作系统的关系:
二.😄Linux操作系统😄
开源软件的代名词:Linux
非图形化界面的Liunx
三.😆Linux基本指令之文件管理篇😆
1.操作系统组织文件的数据结构
关于操作系统文件树的几个重要概念和知识点:
操作系统中文件的标识
树形结构组织文件的优势:
2.操作系统中指令的本质
3.Linux之cd指令
Linux的系统用户
cd伴生指令
4.Linux之文件查阅指令
ls指令:目录文件查看
stat指令:
Linux中文本文件内容显示指令:
Linux中最常用的文本翻阅指令:less指令
5.目录文件和普通文件的创建与删除
6.文件的拷贝和剪切
7.输入输出重定向和Linux管道
输出重定向:
输入重定向:
初识Linux管道:
一.😆计算机与操作系统😆
计算机与操作系统发展史简介:
- 🧐世界上第一台计算机(1946年)是美国科学家为了计算导弹弹道而制造出来的庞然大物,那时候的计算机体积巨大,而且当时并没有操作系统的概念,所以计算机的操作和维护成本十分巨大,仅仅只有顶尖的实验室人员才能使用
- 🧐1969年,贝尔实验室的肯汤普森和丹尼斯里奇(C语言之父)分别用汇编语言和C语言实现了Unix操作系统,计算机的应用开始普及到一般的高校研究人员层面(Unix操作界面是纯粹的黑屏指令操作)
- 🧐随着技术的进步,计算机运算核心(芯片)的集成度越来越高,体积越来越小,计算效率越来越高。于是便有了芯片领域的摩尔定律:在一定大小的集成电路上,晶体管的数量每隔18个月就会增长一倍,芯片的性能也会随之提高,价格则会下降。
- 🧐芯片的快速发展和操作系统的出现,让微软和苹果两大公司最早看到了计算机民用化的可能性,并开始研发民用计算机和用户界面型操作系统(比如微软的window,苹果的mac)(这两家公司的研发成果大都是闭源的,即核心技术和源代码不对外公开),于是计算机进入了商业化的快速发展阶段直到今天。
计算机与操作系统的关系:
- 😍操作系统的内核是用于管理计算机硬件和软件的代码集群(一组程序和数据的集合),它的出现的初衷是为了使人们能够更加方便,更加低成本地使用计算机:
- 😍操作系统是计算机的管理者
- 😍操作系统对上要管理和控制所有的应用软件,并为其提供稳定的运行环境和资源
- 😍操作系统对下要管理和控制计算机的硬件体系资源,使其可以被合理地分配和利用
- 😍同时,操作系统还负责管理用户和应用软件之间的信息交互
二.😄Linux操作系统😄
开源软件的代名词:Linux
- 🙂上世纪90年代,来自芬兰的大学生Linus在Unix操作系统的基础之上开发出了Linux操作系统并将其进行开源(内核源代码完全对外公开)
- 🙂Linux内核代码公开后,有众多的软件工程师都参与了Liunx操作系统的改进和发展,使得Linux操作系统变得更加高效,更加稳定,更加安全(相比于闭源的操作系统(比如windows)),如今,Linux已被绝大多数企业应用于服务器开发,桌面操作系统开发,移动嵌入式开发,云计算/大数据等领域.
非图形化界面的Liunx
- 😇在非图形化界面的Linux之下,我们只能单纯利用命令行对计算机进行操作.
- 😇纯命令行界面:(XShell远程链接并操作云服务器(Linux操作系统))
- 🙂相比于图形化界面操作计算机的方法,纯命令行操作(指令操作)计算机的方法有如下特点:
- 🙂指令是操作系统直接为我们提供的操作接口,因此指令操作能让我们更贴近操作系统
- 🙂图形化界面操作实质是调用经过封装的指令,因此直接输入指令操作计算机效率更高
- 🙂因此在企业级开发中,我们通常使用的都是纯命令行界面的Liunx操作系统
三.😆Linux基本指令之文件管理篇😆
1.操作系统组织文件的数据结构
- 😄在磁盘中,操作系统组织文件所使用的数据结构为多叉树:
关于操作系统文件树的几个重要概念和知识点:
- 🤪文件树中的文件分为两大类型:一种是目录文件(相当于windows下的文件夹),一种是普通文件(用于存储各种数据,代码段(比如.c文件),指令段等等的文件)
- 🤪普通文件位于文件树的叶子结点位置:
- 🤪整颗文件树有且只有一个根目录(Linux下根目录文件名为"/"),根据数据结构中树的特点,文件树中,每个非根结点有且只有一个前驱结点(后继结点可以有多个)
操作系统中文件的标识
- 🤪文件的绝对路径:一个文件的绝对路径指的是从根目录出发,沿着连通路径访问到该文件所经历的最短路径(根据树的结构特点,该路径一定是唯一的)(因此文件的绝对路径可以用于标识文件)
- 🤪文件的标识分为两个部分:文件的绝对路径 + 文件名
- 🤪在操作系统的命令行界面,可以通过 "." +文件的标识来直接访问某个文件:(以上图中的test.c为例)
vim ./home/work/test.c //通过vim编辑器打开test.c文件
树形结构组织文件的优势:
- 🤪树的结构保证树的每个非根节点有且只有一个前驱结点,因此文件的标识(绝对路径+文件名)是唯一的,因此我们可以唯一地标识一个文件并很明确地定位它
- 🤪树形结构引索文件的效率很高.比如:由一亿个文件构成的满二叉树结构,树的高度只有三十多层,即每个文件的绝对路径长度最大为三十左右,从根目录开始要访问某个文件只需遍历三十多个结点,效率非常高(试想若换成顺序结构,各文件的绝对路径长度会非常大)
2.操作系统中指令的本质
- 😄操作系统中指令的本质是一系列可执行程序,我们可以使用which指令来查看特定指令的系统路径
- 😄实际上,操作系统中所有指令,工具,命令等等本质上都是可执行程序
3.Linux之cd指令
Linux的系统用户
- 🤔Linux操作系统是一个多用户的操作系统,新装的Linux操作系统一般只有一个root用户,root用户同时也是操作系统中权限最高的用户,在root用户下,我们可以通过如下命令添加用户,设置新用户密码,查看当前我们所登录的用户,以及删除用户:
adduser 用户名 //添加用户passwd 用户名 //设置用户密码whoami //查看当前我们所登录的用户userdel 用户名 //删除用户
🤔Linux操作系统的根目录为/,根目录下有多个子目录文件,其中有一个就是home目录文件,home目录文件中存放着各个非root用户的专属目录文件:
🤔与home目录同层的其他目录中一般存放与操作系统内核相关的程序文件
🤔每当我们登录Linux操作系统,就会默认来到所登录用户的专属目录文件之下,该目录称为该用户的初始工作目录,后续操作中我们可以通过指令:cd ~ 随时回到初始工作目录下,如果我们想查询自己当前所处的目录(所处的文件路径),可以使用指令:pwd
cd ~ //回到初始工作目录下 pwd //查看自己当前所处的文件路径
cd伴生指令
🤔改变工作目录:
- 🤔Linux下的相对路径:".."代表当前工作目录的上级目录, "."代表当前工作目录(".."和"."是相对路径的标识开头)
cd .. //返回上级目录
//通过文件的相对路径进入指定目录 cd ./文件名 //进入当前路径的 /文件 目录下 cd ../文件 //进入上级路径的 /文件 目录下//通过绝对路径进入指定目录 cd 文件标识
- 🤔图示:
- 🤔基于树的结构,返回上级路径的路径选择是唯一的
cd - //返回最近访问目录
4.Linux之文件查阅指令
ls指令:目录文件查看
- 🤔ls指令可以查看我们当前所处目录下的各个子文件(所处文件结点的各个子文件)
🤔指令常用选项:
ls -a //可以显示隐藏文件 ls -l //可以查看文件详细信息
🤔Linux中以"."开头的文件为隐藏文件
🤔"ls -l"中"-l"的含义是以list的形式显示更多文件信息
stat指令:
- 🤔如果想查看指定文件被创建,被修改的相关时间日志信息,可以使用stat指令:
stat 文件标识 //查看特定目录下各子文件的信息
Linux中文本文件内容显示指令:
- 🤔cat指令:显示文本文件中的内容
cat 文本文件标识 //显示指定文本文件内容
🤔head -数字:显示文本文件前一定行数的内容
head -20 文本文件标识 //显示文本文件前20行的内容
🤔tail -数字:显示文本文件后一定行数的内容
tail -20 文本文件标识 //显示文本文件尾20行的内容
Linux中最常用的文本翻阅指令:less指令
less /var/log/dmesg.old //翻阅日志信息
- less指令一般用于翻阅大篇幅的文本文件的内容,输入指令后可以通过[pageup][pagedown]按键上下翻阅文本
- 其中还内置很多搜索功能,可以通过man指令查看其详细功能(man指令本身的使用方法可以通过man自身来查看)
man 1 less // 1代表查看系统指令 less是所查看的指令手册 man man // 查看man自身的使用手册
5.目录文件和普通文件的创建与删除
- 🤔创建普通文件:
touch 文件名 //当前工作目录下创建文件
🤔在文件名前加上绝对路径或者相对路径,也可以实现在指定路径下创建普通文件
🤔创建目录文件
mkdir 已存在绝对路径或相对路径/目录名 //在指定目录下创建目录文件 mkdir -p 新建的绝对路径或相对路径 //在文件树中新增一条文件路径
🤔删除普通文件: rm指令
rm -f 文件绝对路径标识或相对路径标识 //删除指定目录下的普通文件
🤔删除目录文件: rmdir和rm指令
rmdir 目录文件绝对路径标识或相对路径标识 //删除一个空目录 rm -f -r 目录文件绝对路径标识或相对路径标识 //删除指定目录及其下的所有子文件
🤔-f 在Linux中一般表示强制操作(屏蔽提示);-r 在Linux中一般表示递归,可以对指定的文件树的某颗子树中所有内容进行某种操作,许多指令都有-f,-r这两个选项;
6.文件的拷贝和剪切
- 🥰文件的拷贝:
cp -f 待拷贝的文件的标识 拷贝出来的文件名 //拷贝指定的普通文件 cp -r -f 待拷贝的文件的标识 拷贝出来的文件名 //拷贝指定的目录文件(包括其所有子文件) //-r表示递归
🥰文件的剪切:
mv 已存在的文件的标识 绝对或相对路径 //将普通文件剪切到指定路径 mv -r 已存在的文件的标识 绝对或相对路径 //将目录文件(包括其子文件)剪切到指定路径mv 已存在的文件标识1 新文件标识2 //将文件1重命名为文件2//-r表示递归
7.输入输出重定向和Linux管道
输出重定向:
- 🥰Linux的众多输出指令(比如echo,cat的等等)的默认输出对象都是标准输出终端(显示在系统的命令行界面)
- 🥰">"可以以文本覆写的形式进行文本输出指令(比如echo,cat的等等)的输出重定向,比如echo指令默认会将特定文本内容输出到标准输出终端中,通过">"重定向可以将特定文本内容覆写到某个系统容器(比如文本文件)中:
echo "特定文本内容" > 文本文件标识 //将指定内容覆写到指定文本文件
🥰">>"可以以文本追加的形式进行文本输出指令(比如echo,cat的等等)的输出重定向,比如echo指令默认会将特定文本内容输出到标准输出终端中,通过">>"重定向可以将特定文本内容追加到某个系统容器(比如文本文件)中:
echo "特定文本内容" >> 文本文件标识 //将指定内容追加到指定文本文件
输入重定向:
- 🥰"<"可以以文本覆写的形式进行文本输入指令(比如cat等等)的输入重定向,比如cat指令默认会从键盘缓存区中读取数据,通过"<"重定向可以让cat从指定的容器中以文本覆写的方式读取数据:
cat < 文本文件标识 //从指定文件中以覆写的形式读取数据并显示在标准输出中
🥰"<<"可以以文本追加的形式进行文本输入指令(比如cat等等)的输入重定向,比如cat指令默认会从键盘缓存区中读取数据,通过"<<"重定向可以让cat从指定的容器中以文本追加的方式读取数据:
cat << 文本文件标识 //从指定文件中以追加的形式读取数据并显示在标准输出中
初识Linux管道:
- 🥰实例:通过如下指令可以查看某个文本文件file.txt第100到120行的内容:
head -120 file.txt | tail -20
- 🥰操作系统中各数据容器(指令作为可执行程序本身也可能是数据容器)之间的数据交互都是通过管道实现的
相关文章:

初识Linux+Linux基本指令(一)
目录 一.😆计算机与操作系统😆 计算机与操作系统发展史简介: 计算机与操作系统的关系: 二.😄Linux操作系统😄 开源软件的代名词:Linux 非图形化界面的Liunx 三.😆Linux基本指令之文件管理篇😆 1.操…...

部署架构 因为单体架构痛点 升级到微服务架构
如图为单体部署 痛点 多人协作可能产生很多的回归测试 代码管理复杂度提升 软件包升级会导致增加测试次数 举例 单体电商 1增加功能(增加小程序平台) 2 并发增加 出现 1 代码复用 2 系统间相互调用 3 接口不仅要对外服务,也得对内提供接口 4 数据分析功…...

mapreduce打包提交执行wordcount案例
文章目录 一、源代码1. WordCountMapper类2. WordCountReducer类3. WordCountDriver类4. pom.xml 二、相关操作和配置1. 项目打包2. 带参测试3. 上传打包后的jar包和测试文档4. 增大虚拟内存5.启动集群6.在hdfs上创建输入文件夹和上传测试文档Hello.txt7. 利用jar包在hdfs实现文…...

MyBatis(十六)MyBatis使用PageHelper
一、limit分页 mysql的limit后面两个数字: 第一个数字:startIndex(起始下标。下标从0开始。) 第二个数字:pageSize(每页显示的记录条数) 假设已知页码pageNum,还有每页显示的记录…...

铁路轨道不平顺数据分析与预测
铁路轨道不平顺数据分析与预测 1.引言 铁路轨道作为铁行车的基础设施,是铁路线路的重要组成部分。随着经济和交通运输业的发展,我国的铁路运输正朝着高速和重载方向迅速发展,与此同时,轨道结构承受来自列车荷载、运行速度的冲击…...

好家伙,9:00面试,9:06就出来了,问的实在是太...
从外包出来,没想到死在另一家厂子 自从加入这家公司,每天都在加班,钱倒是给的不少,所以也就忍了。没想到2月一纸通知,所有人不许加班,薪资直降30%,顿时有吃不起饭的赶脚。 好在有个兄弟内推我去…...

【MySQL】数据库约束和聚合函数的使用
目录 上篇在这里喔~ 1.数据库约束 1.NULL约束 2.UNIQUE唯一约束 3.DEFAULT默认值约束 4.PRIMARY KEY主键约束 5.FOREIGN KEY外键约束 2.表的设计 1.设计思路编辑 2.固定套路编辑 2.1一对一关系 2.2一对多关系 编辑 2.3多对多关系 编辑编辑编辑 3.插入…...

SpringMvcFoundation
SpringMvcFoundation 一. SpringMVC简介1.1 优点二.Spring入门案例2.1 导入坐标2.2 编写SpringBoot启动类2.3 编写controller2.4 入门案例工作流程分析2.4.1 启动服务器初始化过程2.4.2 单次请求过程2.5 PostMan简介2.5.1 PostMan基本使用2.6 请求与相应2.6.1 请求映射路径2.6.…...

从零学习SDK(7)如何打包SDK
打包SDK的目的是为了方便将SDK提供给其他开发者或用户使用,以及保证SDK的兼容性和安全性。打包SDK可以有以下几个好处: 减少依赖:打包SDK可以将SDK所需的库、资源、文档等打包成一个文件或者一个目录,这样就不需要用户再去安装或…...

Python OpenCV 3.x 示例:1~5
原文:OpenCV 3.x with Python By Example 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,你最…...

葵铭智能面经4.18
虽然是小厂,但面的还是挺有深度的 1.自我介绍 第一个项目 2.有没有用过流协议 3.视频保存有没有切片,有没有考虑过大视频上传的性能问题 4.项目是同步的还是异步的 第二个项目 5.搜索引擎是动态的还是静态的,有没有动态的去爬取boost库…...

MyBatis 03 -MyBatis动态SQL与分页插件
动态SQL与分页插件 动态SQL与分页插件 动态SQL与分页插件1 动态SQL1.1 < sql >1.2 < if >1.3 < where >1.4 < set >1.5 < choose >1.6 < trim >1.7 < foreach > 2 mybatis缓存2.1 一级缓存2.2 二级缓存 3 分页插件3.1 概念3.2 访问与…...

4.10、字节序列转换函数
4.10、字节序列转换函数 1.字节序转换函数2.字节序转换函数有哪些3.字节序转换函数的使用 1.字节序转换函数 当格式化的数据在两台使用不同字节序的主机之间直接传递时,接收端必然错误的解释之。解决问题的方法是:发送端总是把要发送的数据转换成大端字…...

研究LLMs之前,不如先读读这五篇论文!
目标:了解 LMM 背后的主要思想 ▪️ Neural Machine Translation by Jointly Learning to Align and Translate ▪️ Attention Is All You Need ▪️ BERT ▪️ Improving Language Understanding by Generative Pre-Training ▪️ BART Neural Machine Translati…...

认识BASH这个Shell
文章目录 认识BASH这个Shell硬件、内核与shell为什么要学命令行模式的Shell?Bash Shell的功能命令与文件补全(TAB)命令别名设置(alias)历史命令(history)任务管理、前台、后台控制(jobs,fg,bg)通配符程序化脚本 查询命令是否为Bash shell 的内…...

用SQL语句操作Oracle数据库——数据更新
数据更新 数据库中的数据更新操作有3种:1)向表中添加若干行数据(增);2)删除表中的若干行数据(删);3)修改表中的数据(改)。对于这3种操作…...

二维码+互联网云技术在中建二局施工项目管理中的应用实践
中建二局(全称:中国建筑第二工程局有限公司)是世界500强企业—中国建筑股份有限公司的全资子公司,是集房建、基建、核电、火电、风电等多种建设和投资相融合的、国内最具综合实力的大型国有企业集团公司。中建二局具有土木建筑、设…...

扩散模型原理记录
1 扩散模型原理记录 参考资料: [1]【54、Probabilistic Diffusion Model概率扩散模型理论与完整PyTorch代码详细解读】 https://www.bilibili.com/video/BV1b541197HX/?share_sourcecopy_web&vd_source7771b17ae75bc5131361e81a50a0c871 [2] https://t.bili…...

Metasploit高级技术【第九章】
预计更新第一章 Metasploit的使用和配置 1.1 安装和配置Metasploit 1.2 Metasploit的基础命令和选项 1.3 高级选项和配置 第二章 渗透测试的漏洞利用和攻击方法 1.1 渗透测试中常见的漏洞类型和利用方法 1.2 Metasploit的漏洞利用模块和选项 1.3 模块编写和自定义 第三章 Met…...

RK3568平台开发系列讲解(调试篇)IS_ERR函数的使用
🚀返回专栏总目录 文章目录 一、IS_ERR函数用法二、IS_ERR函数三、内核错误码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 IS_ERR 函数的使用。 一、IS_ERR函数用法 先看下用法: 二、IS_ERR函数 对于任何一个指针来说,必然存在三种情况: 一种是合…...

TouchGFX界面开发 | TouchGFX软件安装
TouchGFX软件安装 TouchGFX和STemWin类似,都是一个GUI框架,可以方便的在STM32 Cortex-M4 以及更高级别的STM32芯片上创建GUI应用程序。 本文中的TouchGFX软件安装,是基于已经安装有STM32CubeMX Keil MDK-ARM开发环境的情况下进行的&#x…...

使用 IDEA 远程 Debug 调试
背景 有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例。首先,启动springboot需要加上特定的参数。…...

红黑树和平衡二叉树的优缺点及应用场景
红黑树和平衡二叉树都是为了解决二叉搜索树的缺陷而提出的自平衡二叉树结构。它们的优缺点和应用场景如下: 红黑树: 优点: 时间复杂度为O(logN),可以快速查找、插入和删除。 红黑树具有良好的平衡性,树的高度保持较小,因此查找效率较高。 缺点: 实现比较复杂,需要遵守红黑树的…...

软文推广:真实有效提升软文排名与收录的三大方法!
软文是一种具有良好传播效果的文体,可以通过在搜索引擎中排名靠前的方式,为品牌或企业带来更多曝光。但是,如何让软文在搜索引擎中得到更好的收录和排名呢?在本文中,我们将讨论如何提升软文的收录和排名,以…...

SElinux的介绍及配置
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统 SELinux安全增强型Linux系统,是Linux内核子系统,旨在最大限度的减少服务进程对文件、端口等资源…...

vscode-python环境配置
vscode-python环境配置 1、环境基础 下载vscode找到python插件并安装安装python环境并配置环境变量 2、选择python解释器 尝试执行了一下,直接运行py文件,会使用c的调试工具,需要告诉vscode哪些是python Ctrl Shift P打开命令面板 执行…...

问卷调查样本量的确定方法
我们在进行问卷调查的时候,问卷的收集数量是重要的流程之一。问卷数量取决于几个因素,包括研究的目的和研究的类型。接下来,我们就聊一聊怎么确定所需的调查问卷数量。 1、确定研究目标。 确定所需问卷数量的第一步是明确研究目标。这一步是…...

ios客户端学习笔记(三):学习Swift的设计模式
设计模式是指在软件开发中常用的一些解决问题的方法和思想,它可以帮助你更好地组织代码和提高代码的可维护性。你需要学习常见的设计模式,如MVC、MVVM、单例模式、工厂模式等,在开发应用程序时应用它们。 当你学习常见的设计模式时ÿ…...

406. 根据身高重建队列
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 peopl…...

ESP32使用ESP-NOW协议实现一对多通信和MAC地址存储
目录 介绍ESP-NOW 协议概述在 ESP32 上配置 ESP-NOW使用 ESP-NOW 进行一对多通信在 ESP32 上存储发件人的 MAC 地址代码结论 介绍 ESP32 是一款功能强大的 Wi-Fi 和蓝牙双模模块,可用于使用 ESP-NOW 协议实现低功耗、高效率的一对多通信。本文将介绍如何使用ESP-NO…...