初识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操作系统))
  • 🙂相比于图形化界面操作计算机的方法,纯命令行操作(指令操作)计算机的方法有如下特点:
  1. 🙂指令是操作系统直接为我们提供的操作接口,因此指令操作能让我们更贴近操作系统
  2. 🙂图形化界面操作实质是调用经过封装的指令,因此直接输入指令操作计算机效率更高
  • 🙂因此在企业级开发中,我们通常使用的都是纯命令行界面的Liunx操作系统

三.😆Linux基本指令之文件管理篇😆

1.操作系统组织文件的数据结构

  • 😄在磁盘中,操作系统组织文件所使用的数据结构为多叉树:

 关于操作系统文件树的几个重要概念和知识点:

  1. 🤪文件树中的文件分为两大类型:一种是目录文件(相当于windows下的文件夹),一种是普通文件(用于存储各种数据,代码段(比如.c文件),指令段等等的文件)
  2. 🤪普通文件位于文件树的叶子结点位置:
  3. 🤪整颗文件树有且只有一个根目录(Linux下根目录文件名为"/"),根据数据结构中树的特点,文件树中,每个非根结点有且只有一个前驱结点(后继结点可以有多个)

操作系统中文件的标识

  • 🤪文件的绝对路径:一个文件的绝对路径指的是从根目录出发,沿着连通路径访问到该文件所经历的最短路径(根据树的结构特点,该路径一定是唯一的)(因此文件的绝对路径可以用于标识文件)
  • 🤪文件的标识分为两个部分:文件的绝对路径 + 文件名
  • 🤪在操作系统的命令行界面,可以通过 "." +文件的标识直接访问某个文件:(以上图中的test.c为例)
    vim ./home/work/test.c  //通过vim编辑器打开test.c文件
    

树形结构组织文件的优势:

  1. 🤪树的结构保证树的每个非根节点有且只有一个前驱结点,因此文件的标识(绝对路径+文件名)是唯一的,因此我们可以唯一地标识一个文件很明确地定位它
  2. 🤪树形结构引索文件的效率很高.比如:由一亿个文件构成的满二叉树结构,树的高度只有三十多层,即每个文件的绝对路径长度最大为三十左右,从根目录开始要访问某个文件只需遍历三十多个结点,效率非常高(试想若换成顺序结构,各文件的绝对路径长度会非常大)

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
  • 🥰操作系统中各数据容器(指令作为可执行程序本身也可能是数据容器)之间的数据交互都是通过管道实现的 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/13113.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SQL sever数据库----基础增删改查操作与where条件限制

where条件限制方法 在SQL sever中使用where语句&#xff0c;可以对各种操作添加限制条件 基础格式为 ———————— where 逻辑表达式 例如限制条件的查询 select 范围 from 表名 where 逻辑表达式 逻辑表达式就是一个判断 如 a > 5 、a6>9、a>5 and b>5 各种…

php+vue+mysql校园大学生兼职信息网站系统

商家功能模块 商家通过点击后台管理&#xff0c;进入页面可以进行首页、个人中心、热门兼职管理、兼职接单管理、学生咨询管理、兼职任务管理、完成评价管理等功能模块&#xff0c;进行相对应操作 兼职接单管理&#xff1a;通过兼职接单管理可以进行获取兼职名称、专业、分类、…

Jenkins 流水线

采用Jenkins的自由风格构建的项目&#xff0c;适合用于测试和学习&#xff0c;主要问题有&#xff1a; 构建过程中整体流程是不可见的&#xff0c;无法确认每个流程花费的时间出现问题不方便快速的定位无法进行版本化管理多个任务中有很多步骤需要重复搭建 Jenkins的Pipeline…

ServletConfig和ServletContext 的介绍和代码实现

目录 ServletConfig ServletConfig 基本介绍 ServletConfig 类能干什么 为什么需要 ServletContext 1. 方案 1-DB 2. 方案 2-ServletCntext 代码实战 ServletContext ServletContext 基本介绍 ServletContext 可以做什么 代码实战 代码实战2 ServletConfig Servle…

SpringBoot单元测试断言 assertions

断言 断言&#xff08;assertions&#xff09;是测试方法中的核心部分&#xff0c;用来对测试需要满足的条件进行验证。这些断言方法都是 org.junit.jupiter.api.Assertions 的静态方法。JUnit 5 内置的断言可以分成如下几个类别&#xff1a; 1、简单断言 2、数组断言 通过 …

原来情感可以这样影响用户体验设计

&#x1f525;情绪的基本情况 Emotion&#xff1a;即刻的生理反应&#xff0c; Feeling&#xff1a;物理的或者心理上的&#xff0c;是emotion经过思考后的 Mood&#xff1a;持续时间更长&#xff0c;是一种状态&#xff0c;受到很多因素影响&#xff08;天气、睡眠&#x…

OpenCV算法加速的一些学习总结

一、概述 算法加速在实际软件层面应用来说 大数据和复杂计算的过程中 算法优化&#xff0c;指降低算法计算复杂度&#xff0c;设计新算法快速求解&#xff0c;比如Hungarian匹配算法。或牺牲一些内存&#xff0c;预计算一些重复计算的过程&#xff0c;减少程序层面的复杂度。 …

微软文字转语音不能试用了,分享三个方法给大家!

最近很多小伙伴告诉我&#xff0c;微软文字转语音不能在线试用了&#xff0c;这是因为微软关闭了官方的使用页面&#xff0c;所以现在不能直接使用微软的网页版进行文字转语音了。 那么我们还有没有更好的方法去“白嫖”微软的文字转语音呢&#xff1f; 答案是肯定的&#xf…

MTU 网卡bond 简介

MTU 最大传输单元MTU&#xff08;Maximum Transmission Unit&#xff0c;MTU&#xff09;&#xff0c;是指网络能够传输的最大数据包大小&#xff0c;以字节为单位。MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值&#xff0c;或者…

被裁后找不到工作,本质上是因为原来的能力就配不上高薪,如果技术好,根本不怕被裁,相当于白送n+1!...

被裁员后&#xff0c;能要求公司补缴公积金吗&#xff1f; 一位网友问&#xff1a; 被裁员了&#xff0c;要求公司把历史公积金全部足额缴纳&#xff0c;现在月薪2.3万&#xff0c;但公司每个月只给自己缴纳300元公积金&#xff0c;结果一次补了二十多万&#xff0c;一次性取出…

Linux工具——yum和vim

目录 &#x1f34f;Linux软件包管理器-yum&#x1f34e;yum简介&#x1f34e;rzsz工具&#x1f34e;注意事项&#x1f34e;软件包查看&#x1f34e;如何安装和卸载软件 &#x1f34f;Linux编辑器-vim&#x1f34e;vim的基本概念&#x1f34e;vim的基本操作&#x1f34e;vim正常…

Linux基础——FTP原理与配置

Linux基础——FTP原理与配置 一、文件传输协议——FTP服务二、ftp配置文件解析三、FTP服务器搭建 一、文件传输协议——FTP服务 FTP是典型的C/S结构的应用层协议&#xff0c;需要由服务器软件、客户端软件两个部分共同实现文件传输功能 FTP 连接模式 FTP服务器默认使用TCP协议…

盖子的c++小课堂——第十七讲:递归

前言 通知一下&#xff0c;以后每周不定期更新&#xff0c;有可能是周六更新&#xff0c;也可能是周日吧&#xff0c;反正会更新的~~还有我新出的专栏《跟着盖子读论语》&#xff0c;记得订阅一下啊跟着盖子学《论语》_我叫盖子的盖鸭的博客-CSDN博客 三元表达式 三元表达式…

中国版ChatGPT来了!快跟我一起申请文心一言吧

随着ChatGPT的快速进化吸引了全球网友的眼球 国内厂商也纷纷推出了相似的产品 其中百度推出的“文心一言”已经正式开始的相关的测试 很多人都在问 文心一言入口在哪&#xff1f; 文心一言邀请码在哪可以领&#xff1f; 文心一言怎么申请内测&#xff1f; 自从文心一言发…

计算机视觉——yolov5回归与跨网格预测、训练技巧(下篇)

yolov5 1. yolov5网络架构与组件1.1 网络可视化工具 netron1.2 不同模型的配置1.3 Focus 模块1.4 CSPNet 跨阶段局部网络1.5 SPP 空间金字塔池化1.6 PANet 路径聚合网络 2. 损失函数2.1 类别预测2.2 边界框回归2.3 回顾IoU2.4 IoU推广——GIoU loss2.5 IoU推广——DIoU loss2.6…

大四的告诫

&#x1f442; LOCK OUT - $atori Zoom/KALONO - 单曲 - 网易云音乐 &#x1f442; 喝了一口星光酒&#xff08;我只想爱爱爱爱你一万年&#xff09; - 木小雅 - 单曲 - 网易云音乐 其实不是很希望这篇文章火&#xff0c;不然就更卷了。。 从大一开始&#xff0c;每天10小时…

腾讯云轻量4核8G12M应用服务器带宽、月流量详细性能评测

腾讯云轻量4核8G12M应用服务器带宽&#xff0c;12M公网带宽下载速度峰值可达1536KB/秒&#xff0c;折合1.5M/s&#xff0c;每月2000GB月流量&#xff0c;折合每天66GB&#xff0c;系统盘为180GB SSD盘&#xff0c;地域节点可选上海、广州或北京&#xff0c;4核8G服务器网来详细…

Praat脚本-037 | 批量把标注TextGrid生成韵律文本

目录 引题方案一方案二方案三获取脚本关注版权说明 引题 Praat是一种非常出色、轻便、开源免费的标注工具&#xff0c;它的最主要用途是标注&#xff0c;即对语音信号中的一些特征、信息进行标注&#xff0c;保存为TextGrid文件&#xff0c;这个TextGrid文件实质 上就是一种文…

Harmony OS 开发指南——源码下载和编译

本文介绍了如何下载鸿蒙系统源码&#xff0c;如何一次性配置可以编译三个目标平台&#xff08;Hi3516&#xff0c;Hi3518和Hi3861&#xff09;的编译环境&#xff0c;以及如何将源码编译为三个目标平台的二进制文件。 坑点总结&#xff1a; 下载源码基本上没有太多坑&#xf…

Web前端-Vue2.0框架学习

Web前端-Vue框架学习 1. 前端工程化与Webpack1.1 隔行变色的demo实现1.2 webpack的基本使用1.3 webpac插件1.3.1 webpack-dev-server插件1.3.2 html-webpack-plugin 1.4 webpack中的loader&#xff08;加载器&#xff09;1.4.1 css-loader1.4.2 less-loader1.4.3 url-loader &a…
最新文章