【Linux学习】(2)OS的简单了解|Linux的基本指令操作

news2024/11/23 21:50:05

前言

本文将先简单了解什么是操作系统,再讲解一些Linux的基本指令。

一、操作系统的简单了解

1、什么是操作系统(Operating System,简称OS)?

  • OS是一款做软硬件管理的软件。
  • 软硬件的体系结构图:在这里插入图片描述
    • 硬件:软硬件层次中处与最低层的就是硬件,硬件眼睛能看到,手能摸到,是客观存在的,例如:CPU、内存……
    • 设备驱动:设备驱动处于OS和硬件之间,相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正确工作。因此,驱动程序被比作“硬件和系统之间的桥梁”。(早期计算机都是通过硬件电路直接控制的,所以当时只有硬件,需要用户手动控制硬件。随着发展,硬件功能越来越完善,所以需要一款软件对硬件做管理,管理的软件叫做OS,但是硬件变得复杂了,所以每一种硬件要被正确访问,就在OS和硬件之间又提供了设备驱动)
    • 应用软件:在应用软件处与操作系统之上,我们需要有各种不同的应用软件,来满足用户不同的应用场景(下三层为我们提供了一套软硬件服务,可是用户的需求并不是直接用OS,所以在OS之上又提供了各种应用软件)

2、为什么要有操作系统?

  • 一个好的操作系统的衡量指标有:稳定、快速、安全……
  • 为什么要有操作系统:
    • 从操作系统的核心工作来看:通过对下管理好软硬件资源的手段,达到对上提供良好的(稳定、快速、安全) 操作/使用环境

3、小结

  • 现在OS我们只需要记住两个点:管理贯穿
  • 管理: OS在软硬件体系结构中处于一种承上启下的作用,他主要的核心工作是对下管理好底层的软硬件,对上提供一个良好的操作环境。
  • 贯穿: 我们在计算机上的所有行为都会转换成硬件行为(例如:printf——显示器打印;玩游戏——向网络发送数据等)——》我们所有的软件行为,全部都要自顶向下贯穿计算机的软硬件结构——》几乎我们所有的软件行为,都和OS直接或间接相关。

二、Linux下的基本指令

1、Linux操作的特点

  • Linux操作的特点:以纯命令行为主,但Linux也有图形化界面(大多为专业人员使用,因为一般企业的Linux服务器都没有图形化界面)
  • Windows操作的特点:以图形化界面为主,但也有命令行(大多为普通用户使用,在乎体验、好用)
  • 无论是图形化、还是指令,其本质都是一样的。但是指令更贴近我们的OS。
  • 思考:先有指令,还是先有图形化?
    • 先有指令,再有图形化,因为先有键盘(因为计算机首先需要解决输入输出的问题 ),后有鼠标(有了图形化才有了鼠标),即硬件产生的先后顺序决定了操作的先后顺序。

2、先整体了解几条基本指令

  • ls:显示当前目录下的所有子目录与文件
  • pwd:显示用户当前所在目录
  • mkdir dirname:在当前目录下创建一个名为“dirname”的目录
  • touch 文件名:新建一个不存在的文件
  • cd 目录:改变工作目录,将当前工作目录改变到指定的目录下


tip:

  1. Linux中文件被分为两种:①在Linux中文件夹通常叫做目录;②普通文件(例如:.c / .txt等)
  2. 新建目录(文件),指令和目录(文件)之间必须要有空格(也可以有多个空格,但建议一个空格即可)
  3. 目录它指的是文件系统中用来组织和存放文件的位置

如下Linux指令与Windows界面操作对比图:

在这里插入图片描述

3、ls指令

  • 语法: ls [选项] [目录或文件]
  • 功能:
    • 对于目录,该命令列出该目录下的所有子目录与文件。
    • 对于文件,将列出文件名以及其他信息
  • 常用选项:
    • -l 列出文件的详细信息
    • -a 列出目录下的所有文件,包括 . 开头的隐含文件
    • -F 在每一个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOS;“=”表示套接字(sockets)。(目录类型识别)
    • -d 将目录像文件一样显示,而不是显示其下的文件(即只显示该目录,不显示其内部的文件)。如:ls -d 指定目录
    • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
    • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
    • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
    • -r 对目录反向排序。
    • -t 以时间排序。
    • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
    • -R 列出所有子目录下的文件。(递归)
    • -1 一行只输出一个文件。


tip:

  1. 指令是可以携带“选项”的
  2. “选项”可以让同一个指令,表现不同的行为,即可将其理解为指令的子功能
  3. 可以通过使用“选项”,让指令展现它不同的子功能
  • 示例:
  • ls:显示当前目录下的所有子目录与文件
    在这里插入图片描述
  • ls -d :将目录像文件一样显示,而不是显示其下的文件(即只显示该目录,不显示其内部的文件)。如:ls -d 指定目录
    在这里插入图片描述
  • ls -l:列出文件的详细信息(即显示更多的文件属性)
    在这里插入图片描述
    在这里插入图片描述
  • ls -a:列出目录下的所有文件,包括 . 开头的隐含文件
    在这里插入图片描述
  1. 在Linux中,以 . 开头的文件,我们称之为隐藏文件!
  2. Linux任何一个目录下面都有两个隐藏文件 . 和 . . ,如下图:在这里插入图片描述
  3. . . :表示当前路径的上级路径,它的意义是回退到上级目录。在这里插入图片描述
  4. . :表示当前路径,它的意义是帮用户定位当前目录下的一个文件(例如:运行可执行文件a.out——》./a.out)
  • ls -F: 在每一个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOS;“=”表示套接字(sockets)。(目录类型识别)
    在这里插入图片描述
  • 选项可以组合在一起使用,特殊ls -l 等价与 ll
    在这里插入图片描述
  • 小结:ls所有携带的“选项”,都是帮助我们对文件属性去查看的。
  • 重新理解文件:
  1. 因为文件的属性也是数据,是数据就要存储,所以文件=文件内容+文件属性
  2. 所以文件只有两种操作:
    • 对文件内容的操作
    • 对文件属性的操作

4、pwd指令

  • 语法: pwd
  • 功能: 显示用户当前所在的目录
  • 常用选项:
  • 示例:在这里插入图片描述
  • 路径分隔符:
  1. 路径分隔符:
    • Linux的路径分隔符:/(斜杆)
    • Windows的路径分隔符:\(反斜杠)
  2. Linux的根目录为“/”(回退到“/”就不能回退了)
  • 小结:Linux不能直接看到用户当前所在的目录,需要pwd指令才能看到用户当前所在目录

5、whoami指令

  • 语法: whoami
  • 功能: 查看当前登录用户是谁
  • 示例:在这里插入图片描述
  • 家目录:
  • Linux中的用户分为两类:超级用户root(只有一个)与其它(普通用户,可以有多个)
  • 家目录:
    • /root:root用户的家目录
    • /home/xxx:xxx普通用户的家目录
  • Centos系统中,所有的普通用户,用户账号都会统一放在/home
  • 支持多用户登录的OS,叫做多用户OS,典型的多用户OS有Linux、Windows
  • root账号下所有命令行的前缀是#,普通账号下所有命令行的前缀是$

6、cd指令

  • 语法: cd 目录
  • 功能: 改变工作目录,将当前工作目录改变到指定的目录下
  • cd指令其它几个常用的用法:
    • cd . . :回退到上级目录(. . 表示当前路径的上级路径)
    • cd 绝对路径:使用绝对路径,进入指定目录
    • cd 相对路径:使用相对路径,进入指定目录
    • cd ~:让对应的用户,进入到自己所在的家目录( ~表示特定用户的家目录)
    • cd -:切换到我上一次所在的目录(-表示我上一次所在路径)
  • 目录结构&绝对路径&相对路径:

在这里插入图片描述

  1. 一个目录,里面可以再放目录或者普通文件
  2. Linux的目录结构整体是一棵多叉树,它的叶子结点,一定是空目录或者非目录文件,路上结点一定是一个非空目录
  3. 所以我们所有的对文件或者目录的增删改查,本质都是对这棵多叉树的增删改查
  4. 所以我们定位一个文件,通常用路径来进行定位——》因为路径定位具有唯一性——》因为它的结构是树,所以任何结点都只有一个父节点
  5. 绝对路径:我们把从/开始定位到指定目录,具有唯一性的路径,叫做绝对路径
  6. 相对路径:我们以自己当前所处目录(非根目录)为起始参照位置,来定位到指定目录的路径,叫做相对路径(当起始参照位置改变时,可能相对路径失效!)
  7. 怎么使用相对路径与绝对路径:
    • 绝对路径往往比较长,但是不变,一般在一些固定场景,配置文件中使用
    • 一般命令行输入,比较常用相对路径
  • 示例:
    在这里插入图片描述

7、touch指令

  • 语法: touch [选项] 文件
  • 功能:
    • touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间
    • 或者新建一个不存在的文件
  • 常用选项:
    • -a 或–time=atime或–time=access或–time=use只更改存取时间
    • -c 或–no-create 不建立任何文档
    • -d 使用指定的日期时间,而非现在的时间
    • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
    • -m 或–time=mtime或–time=modify 只更改变动时间
    • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
    • -t 使用指定的日期时间,而非现在的时间
  • 这里我们不学习touch指令的“选项”,只需要知道touch不能创建目录,只能创建普通文件在这里插入图片描述

8、tree指令

  • 语法: tree [选项] 目录
  • 功能: 将以树状图的形式显示指定目录下所有子目录与文件
  • 常用选项:
    • -L level:限制目录树的层数
    • -a:显示所有文件和目录,包括以点(.)开始的隐藏文件
    • -d:仅显示目录名,不包括文件名
  • 如果你没有下载tree,请在root用户下,输入以下指令进行安装:
yum install -y tree
  • 示例:在这里插入图片描述

9、mkdir指令

  • 语法: mkdir [选项] dirname
  • 功能: 在当前目录下创建一个名为“dirname”的目录
  • 常用选项:
    • -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
  • mkdir一次只能创建一个目录,当我们需要创建一串路径(即递归建立多个目录)时需要使用选项-p在这里插入图片描述

10、rmdir指令&&rm指令

rmdir是一个与mkdir相对应的指令。mkdir是创建目录,而rmdir是删除目录

  • 语法: rmdir [选项] dirname
  • 适用对象: 具有当前目录操作权限的所有使用者
  • 功能: 删除空目录
  • 常用选项:
    • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
  • rmdir一次只能删除一个空目录,不能删除非空目录和文件在这里插入图片描述
  • rmdir携带-p选项,当子目录被删除后如果父目录变成空目录,就连父目录一起删除在这里插入图片描述

rm指令不仅可以删除文件还可以删除目录

  • 语法: rm [选项] [文件名/目录]
  • 适用对象: 所有使用者
  • 功能: 删除文件或目录
  • 常用选项:
    • -f 即使文件属性为只读(即写保护),亦直接删除
    • -i 删除前逐一询问确认
    • -r 删除目录及其下所有文件


tip:

  • 使用rm指令删除时,如果是root用户会提示你是否确定删除(普通用户则不会提示)
  • Linux删除一个文件或目录后就是直接删除,很难找回,所以删除时一定要确定是否删除
  • rm -rf /:删除根目录,即相当于删除OS
  • 删除文件时,如果文件正在使用,不会删除
  • rm:rm可以直接删除指定文件,但是不能直接删除目录
    在这里插入图片描述
  • rm -f 文件名/目录 :rm携带-f选项后,不会再提示用户是否删除,直接删除
    在这里插入图片描述
  • 因为目录本身是递归式定义的,所以也需要递归式删除,所以rm删除目录需要携带选项-r在这里插入图片描述
  • 普通用户删除文件不提示,可以rm携带-i选项,删除前询问用户是否确认删除在这里插入图片描述

知识补充:通配符

*:通配符,匹配任意名称的文件

在这里插入图片描述

三、重点总结

  1. OS现在我们需要记住两个点:管理贯穿
  2. Linux操作的特点:以纯命令行为主
  3. Linux中文件分为两种:目录和普通文件
  4. ls [选项] [目录或文件]:查看文件属性或目录内容(属性)
  5. 指令是可以携带“选项”的,“选项”可将其理解为指令的子功能(选项可以组合在一起使用)
  6. 在Linux中,以.开头文件,我们称为隐藏文件
  7. 在Linux任何一个目录下面都会有两个隐藏文件 . 和 . .
    • .:表示当前路径,它的意义是帮用户定位当前目录下的一个文件
    • . .:表示当前路径的上级路径,它的意义是回退到上级目录
  8. 文件=文件属性+文件内容(所以对文件的操作也只有两种)
  9. pwd:显示用户当前所在目录(Linux不能直接看到用户当前所在目录,需要pwd指令才能看到用户当前所在目录)
  10. 路径分隔符:
    • Linux的路径分隔符:/(斜杆)
    • Windows的路径分隔符:\(反斜杠)
  11. whoami:查看当前登录用户是谁
  12. Linux的用户分为两类:超级用户root和普通用户
  13. 家目录:
    • /root:root用户的家目录
    • /home/xxx:xxx普通用户的家目录
  14. cd 目录:切换目录
  15. 目录结构:Linux的目录结构是一棵多叉树,它的叶子结点一定是目录或非目录文件,路上结点一定是一个非空目录
  16. 我们定位一个文件,通常用路径来定位(因为任何结点都只有一个父节点。)
  17. 绝对路径:从根目录开始定位到指定目录,具有唯一性的路径
  18. 相对路径:以自己当前所处目录(非根目录)为起始参照位置,来定位到指定目录的路径
  19. touch 文件:创建文件
  20. tree [选项] 目录:以树状图形式显示指定目录下所有子目录与文件
  21. mkdir [选项] dirname:在当前目录下创建一个名为dirname的目录
  22. rmdir [选项] dirname:删除空目录(注:不能删除非空目录和文件)
  23. rm [选项] [文件名/目录]:可以直接删除指定文件,删除指定目录需要携带-r选项(目录是递归式定义,所以也需要递归式删除)
  24. 注意:Linux删除一个文件或目录后就是直接删除了,很难找回,所以删除时一定要确定是否删除
  25. *:通配符,匹配任意名称文件

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索高级聚类技术:使用LLM进行客户细分

在数据科学领域,客户细分是理解和分析客户群体的重要步骤。最近,我发现了一个名为“Clustering with LLM”的GitHub仓库,它由Damian Gil Gonzalez创建,专门针对这一领域提供了一些先进的聚类技术。在这篇文章中,我将概…

「 网络安全常用术语解读 」SBOM主流格式SWID详解

国际标准化组织(ISO)和国际电工委员会(International Electrotechnical Commission,IEC)发布了ISO/IEC 19770-2软件标识(Software Identification,SWID)标签标准,该标准定…

Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍

往期回顾 Qt绘图与图形视图之Graphics View坐标系的简单介绍-CSDN博客 Qt绘图与图形视图之基本图元绘制的简单介绍-CSDN博客 Qt绘图与图形视图之自定义图元实现拖拽、拉伸、旋转功能-CSDN博客 Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍 一、基本概念 Qt模型视图代理…

前端页面平滑过渡解决方案

一、问题产生 在使用图片作为页面背景时,无法使用transtion进行平滑过渡,直接切换背景又会降低使用体验。 二、解决方式 使用clip-path对背景图片裁剪配合transtion实现平滑过渡的效果 三、效果展示 网址:ljynet.com 四、实现方式 tem…

ICode国际青少年编程竞赛- Python-1级训练场-for循环练习

ICode国际青少年编程竞赛- Python-1级训练场-for循环练习 1、 for i in range(3):Dev.step(4)Dev.turnLeft()2、 for i in range(3):Dev.step(2)Dev.turnRight()Dev.step(2)Dev.turnLeft()3、 for i in range(3):Dev.step(2)Dev.turnRight()Dev.step(2)Dev.turnLeft()4、 for…

32.Docker认识

Docker介绍 Docker是一个快速交付应用,运行应用的技术。 1.可以将程序、依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统。 2.运行时利用沙箱机制行程隔离容器,各个应用互不干扰。 3.启动、移除都可以通过一行命令完成&am…

算法学习系列(五十五):背包模型(三)

目录 引言一、潜水员二、背包问题求具体方案三、机器分配四、开心的今明五、金明的预算方案 引言 今天介绍的是背包模型,还是以题目的形式来介绍的。主要讲了背包问题求方案,就是由最优方案递推回去即可。还有就是一些比较经典的背包问题,其…

Spring Boot | Spring Security ( SpringBoot安全管理 )、Spring Security中 的 “自定义用户认证“

目录 : Spring Boot 安全管理 :一、Spring Security 介绍二、Spring Security 快速入门2.1 基础环境搭建 :① 创建Spring Boot 项目② 创建 html资源文件③ 编写Web控制层 2.2 开启安全管理效果测试 :④ 添加 spring-boot-starter-security 启动器⑤ 项目启动测试 三…

Windows server2016关闭ie增强

要关闭Windows Server 2016上的IE增强安全配置,请按照以下步骤操作: 打开“服务器管理器”。点击“本地服务器”。在服务器管理器中,找到“IE增强的安全配置”,点击旁边的“启用”,打开“Internet Explorer增强的安全配…

android init进程启动流程

Android系统完整的启动流程 android 系统架构图 init进程的启动流程 init进程启动服务的顺序 bool Service::Start() {// Starting a service removes it from the disabled or reset state and// immediately takes it out of the restarting state if it was in there.flags_…

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 删除并获得点数(难度⭐⭐)(70)

1. 题目解析 题目链接:740. 删除并获得点数 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 问题分析 本题是「打家劫舍」问题的变种,但核心逻辑依然保持一致。题目要求从给定的数组nums中选择…

【 书生·浦语大模型实战营】作业(七):大模型实战评测

【 书生浦语大模型实战营】作业(七):大模型实战评测 🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学…

「2024年」前端开发常用工具函数总结 TypeScript

前言 在前端开发中,工具函数是提高代码复用率、保持代码整洁和增加开发效率的关键。使用 TypeScript 编写工具函数不仅可以帮助开发者捕捉到更多的类型错误,还可以提供更清晰的代码注释和更智能的代码补全。下面是一些在 TypeScript 中常用的前端开发工…

【iOS】方法交换(Method Swizzling)

文章目录 前言一、原理与注意用法注意要点Method Swizzing涉及的相关API 二、应用场景与实践1.统计VC加载次数并打印2.防止UI控件短时间多次激活事件3.防崩溃处理:数组越界问题4.防KVO崩溃 总结 前言 上文讲到了iOS的消息发送机制,在消息机制中我们了解…

【打工日常】云原生之使用docker部署Web在线流程图软件

一、drawio介绍 1.drawio简介 draw.io是一款免费、开源、高质量的WEB在线流程图软件,无需注册登录,支持多种图表类型和元素,可在线编辑和导出。它是一个可配置的图表/白板可视化应用程序。该应用程序的设计主要是按原样使用。draw.io不适合作…

AI诗歌创作

诗歌作为一种文学形式,能够通过优美的语言和深刻的意境表达情感和思想,触动人心,引发共鸣。然而,如今随着生活节奏的加快和人们对实用性的追求,写诗这一传统艺术渐渐被人们所忽略。幸运的是,随着人工智能技…

【C++】双指针算法:四数之和

1.题目 2.算法思路 这道题目十分困难,在leetcode上的通过率只有36%,大家要做好心理准备。 在做个题目前强烈建议大家先看看我的上一篇博客:有效三角形个数,看完之后再去leetcode上写一写三数之和,搞懂那两个题目之后…

基于STM32的最小系统电路设计(STM32F103C8T6为例)

前言:本篇博客为嵌入式硬件领域的文章,对 STM32 的最小系统电路设计进行教学。本篇博客以嘉立创 EDA(标准版)进行绘制 STM32F103C8T6 的最小系统电路 PCB 板,STM32 的最小系统通常包括:微控制器、时钟电路、…

[Power Automate] 关联Teams,发起通知并进行审批

1、 workflow 创建一条teams chat,定义teams members 和 chat title 2、添加通知内容到刚刚创建的chat 里 3、发起teams 审批流程(通过这个action,进行teams内部的审批) 4、审批结果判断,在这个基础上进行审批之后的操作&#xff…

Mamba3D革新3D点云分析:超越Transformer,提升本地特征提取效率与性能!

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! Mamba3D革新3D点云分析:超越Transformer,提升本地特征提取效率与性能! 引言:3D点云分析的重要性与挑战 3D点云…