hello~ 很高兴见到大家! 这次带来的是C++中关于Linux基本指令这部分的一些知识点,如果对你有所帮助的话,可否留下你宝贵的三连呢?
个 人 主 页: 默|笙

在这里插入图片描述

文章目录

  • 一、认识Linux
  • 二、操作系统(OS)
  • 三、基本指令
    • 1. 目录与普通文件
      • 1.1 目录
      • 1.2 普通文件
    • 2. pwd 与 whoami
    • 3. mkdir 与 touch
      • 3.1 mkdir
      • 3.2 touch
    • 4. ls
    • 5. 绝对路径和相对路径
    • 6. tree 与 cd
      • 6.1 tree
      • 6.2 cd
    • 7. rmdir 与 rm
      • 7.1 rmdir
      • 7.2 rm
    • 8. 关于类型 与 file

一、认识Linux

  1. Linux 本身是一个强大、稳定、安全、开源且免费的操作系统内核。而我们通常所说的Linux是基于Linux这个操作系统内核构建的完整操作系统。
  1. 为什么要学习Linux?

因为它很牛:它在服务器领域是绝对的霸主,又在超级计算、嵌入式设备和开发领域占据主导地位。在桌面系统这块,虽然市场份额不如windows和macOS,但它也是一个非常不错可供替代的选择。(我们平常电脑上看到的桌面就是桌面系统)。

  1. 为什么这么牛?

因为它开源且免费->安全->强大与稳定。基石是它的开源与免费,任何人都能瞧见它的底层代码,像windows这样的不开源的商用系统,微软搞点小动作我们是完全不知道的,而且一旦发现问题也能够及时解决,修复速度是远超闭源系统的。开源与免费能保证它的安全,同时又能吸引全球各种大佬为其贡献代码,久而久之,Linux变得强大与稳定。

  1. Linux 的名字来源于其创始人 林纳斯・托瓦兹(Linus Torvalds) 的名字与 “Unix” 的结合,关于Unix:它是一切现代操作系统的思想源头和技术基础,当然它和Linux没有继承关系,Linux不是它的直系后代。也有人认为Linux名字的由来是 Linux是 Linux is not Unix 的缩写(这是为了讽刺Unix的商业化即收费而有的幽默调侃)。

  2. Linux分为技术版本和商业版本:

技术版本:操作系统源代码版本即内核版本。由开发者社区主导,免费开源,技术更新快,适合学习、开发和个人使用。
在这里插入图片描述
商业版本:在社区版(技术版本)基础上进行企业级加固(如安全合规、热补丁、长周期支持),通过付费订阅提供SLA(技术保险合同)保障的技术支持与稳定性承诺。
在这里插入图片描述

二、操作系统(OS)

操作系统是管理计算机硬件与软件资源的系统软件,扮演用户/应用与硬件之间的桥梁角色。它基于操作系统内核。

  1. 它就像我们人体的大脑一样,大脑可以协调各个器官,它可以协调管理各个系统(设备驱动、文件管理、内存管理)。因为有它,我们才可以正常使用计算机。正如没有大脑的躯体只是肉体,没有操作系统的计算机只是一堆硅片与金属,是它让计算机“活”了起来。

在这里插入图片描述

三、基本指令

先来了解一些基本指令:

ls:罗列该目录下的所有子目录与文件。
pwd:查看用户当前所在绝对路径。
whoami:显示当前谁在访问Linux系统。
mkdir:创建一个子目录。
cd:改变工作目录。将当前工作目录改变到指定的目录下。
touch:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建⼀个不存在的文件。
rmdir:删除空目录,不是空的它还删不了。
rm:

1. 目录与普通文件

1.1 目录

我们先来认识一下什么是目录:
目录(Directory) 是计算机文件系统中用于分类存储文件和其他目录的容器,也就是文件夹。

  1. 根目录:符号 ‘/ ‘,它是整个Linux文件系统的起点(就像树的根部,这个系统的结构就像一棵多叉树,tree命令会讲到)。
  2. 家目录:符号 ‘~ ’,这是用户的私人空间。

普通用户:家目录在 /home/用户名(如 /home/alice),我是alice这个普通用户。
管理员(root):家目录是 /root(您当前所在位置),我是root这个管理员。

1.2 普通文件

普通文件是存储数据的基础单元(文本/图片/程序等),在windows系统中就是名字带有后缀的文件(如.h、.cpp等)。

  1. 文件 = 文件的内容 + 文件的属性。文件的属性也会占用内存,比如我在windows系统中创造一个空文件,它没有内容,但是也会占据磁盘空间。
  2. 有隐藏文件的存在。Linux系统里的隐藏文件往往以.开头。(之后会讲)

2. pwd 与 whoami

语法: pwd
作用:查看用户当前所在绝对路径。

在这里插入图片描述

  1. 它的意思是:我目前在根目录下的root子目录。

语法: whoami
作用:显示当前谁在访问Linux系统,我是谁。

在这里插入图片描述

  1. 我当前是root管理员。

3. mkdir 与 touch

3.1 mkdir

  1. 语法: mkdir [-p] [文件]
  2. 作用:创造一个子目录。

在这里插入图片描述

  1. 在root目录下创建一个test子目录。
    在这里插入图片描述
    在这里插入图片描述
  2. 加上选项 -p,我们可以创建一系列的目录。

3.2 touch

  1. 语法:touch [选项] [文件]
  2. 作用:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建⼀个不存在的文件。

在这里插入图片描述

  1. 在test目录下,创造一个test.c的普通文件。

4. ls

  1. 语法:ls [选项] [目录或文件]
  2. 作用:罗列该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
  1. 选项:选项(Options) 是用于修改命令行为的特殊参数,通常以 - 或 – 开头。它们像“开关”一样,让用户精细控制命令的执行方式。

常用选项有:

  1. -a: 列出目录下的所有文件,包括以 . 开头的隐含文件。
  2. -d:将目录像文件⼀样显示,而不是显示其下的文件。如:ls -d 指定目录。
  3. -l:列出文件的详细信息。ls -l 写法等同于 ll。

选项可以组合使用。

我在root目录下面用mkdir指令创建了一个 test普通子目录和一个 .youcanseeme的隐藏子目录:
在这里插入图片描述
在这里插入图片描述

  1. 补充:这里的 . 的意思是当前目录,ls -d -l 显示的是当前目录以及它的属性。

5. 绝对路径和相对路径

绝对路径:是从根目录(/)开始的完整路径。参照点与起点固定唯一。
相对路径:是从当前目录开始的路径。参照点与起点随当前所在位置改变而改变。

  1. 绝对路径的唯一性无论你当前在文件系统的哪个位置(哪个工作目录),同一个文件或目录的绝对路径永远不变。
  2. 相对路径的相对性路径是否有效要取决于当前所在目录。一旦自己所处目录改变,原来的相对路径很可能会失效,没有失效往往也会指向完全不同的地方。
  3. 绝对路径其实也能算是相对路径以root为参照点的一种情况。
  4. 相对路径依赖特殊符号:
  1. ‘ . ’ : 代表当前目录。
  2. ’ .. ':代表上一级目录。
  3. ’ ~ ‘ :代表家目录。
  1. 之前有提到过,Linux下的文件系统的结构就像一棵多叉树,事实也确实如此。其中,目录是树形结构的基础。

在这里插入图片描述

其中每一个目录都有着不同的功能和职责,比如/bin存放二进制文件,/usr存放安装程序。

  1. 结论1:这棵多叉树,叶子节点一定是空的目录或者普通文件。
  2. 结论2:路上的非叶子节点,本质上是目录。
  1. 无论是绝对路径还是相对路径,它们标识文件都是具有唯一性的(一个全局唯一,一个上下唯一),所以才能根据路径来找到文件。而这依赖于每个目录都只有一个父节点(从后往前推只有一条路到起点,这是因为只有一个父节点,那么反推回来也是如此)。
  2. Linux的任何目录下,都要隐藏存在 . 和 .. ,可以把目录理解为一个节点,而这两个是两个节点自带的指针,一个指向它自己,一个指向自己的父节点。根节点的 .. 也指向自己。

6. tree 与 cd

6.1 tree

默认系统下,tree是没有安装的,安装需要一条指令,输入指令,它会自动为你安装:
centos: yum install -y tree
ubuntu: apt install -y tree

在这里插入图片描述

  1. 输入指令,它就会以当前目录为起点,为你生成一棵数来显示结构。

6.2 cd

  1. 语法:cd [指定目录路径或相对路径依赖的特殊符号]
  2. 作用:改变工作目录。将当前工作目录改变到指定的目录下。

在这里插入图片描述

  1. 第一个切换到家目录,第二个切换到根目录,第三个切换到test目录,使用绝对路径和相对路径都可以。
  2. 还有一个:cd - ,这个是切换到上一次所处路径。比如我现在 /root/test这里,我用 cd / 切换到根目录,之后我使用 cd - 就能切换回去到 /root/test。

7. rmdir 与 rm

7.1 rmdir

语法:rmdir [-p] [dirName]
作用:删除空目录,不是空的它还删不了。不太好用,主要了解rm。

7.2 rm

语法:rm [-f-i-r-v] [dirName/dir]
作用:删除文件或目录。

  1. 常用选项:

-f:即使文件属性为只读(即写保护),亦直接删除。不会询问你是否要删除。
-i:删除前逐⼀询问确认。
-r:删除目录及其下所有文件。它的本质是递归删除,如果一个目录不为空,它会进入这个目录,若这个目录中有子目录,再查看这个子目录是否为空然后根据情况再进入,一直到叶子节点(空目录或文件),再开始删除,然后回归,然后删除,直到删完为止。

在这里插入图片描述

  1. 可以试试删除根目录,不过之后需要重装一遍系统。一般只有root管理员账户才有这个权利。

8. 关于类型 与 file

在Linux系统里面,文件的类型与后缀是没有关系的。但是一些Linux里的工具比如gcc编译器就要看后缀,所以一般都会加上后缀。

在这里插入图片描述

  1. 我们可以通过属性来查看它的类型,看它是目录还是普通文件。
  2. 要查看一个文件的具体类型,需要file指令。
    在这里插入图片描述

今天的分享就到此结束啦,如果对读者朋友们有所帮助的话,可否留下宝贵的三连呢~~
如果可以, 那就让我们共同努力, 一起走下去!

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dify 学习笔记

目录 启动项目 浏览器访问: dify删除工作流 代码是开源dify 启动项目 cd E:\project\qwen\dify-main\docker docker compose up -d 浏览器访问: http://127.0.0.1/apps dify删除工作流 右下角,三个点,点击弹出框&#xff0…

【YOLOv8改进 - 特征融合】FCM:特征互补映射模块 ,通过融合丰富语义信息与精确空间位置信息,增强深度网络中小目标特征匹配能力

YOLOv8目标检测创新改进与实战案例专栏 专栏目录: YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例 专栏链接: YOLOv8基础解析+创新改进+实战案例 文章目录 YOLOv8目标检测创新改进与实战案例专栏 介绍 摘要 文…

算法训练营day30 贪心算法④ 重叠问题 452. 用最少数量的箭引爆气球、435. 无重叠区间 、 763.划分字母区间

贪心算法的第四篇博客,主要是重叠问题的练习,思路都较为简单,最后一题可能需要着重思考一下 452. 用最少数量的箭引爆气球 遍历数组,如果存在重叠则减少一支箭(不重叠则增加一支箭) 重叠的判定&#xff1a…

Gradio, Streamlit, Dash:AI应用开发的效率之选

在人工智能时代,如何快速将模型原型转化为交互式应用,是许多开发者面临的挑战。Gradio、Streamlit 和 Dash 作为流行的Python框架,各自以其独特的优势,帮助我们高效地构建AI应用界面。本文将深入对比这三大框架的优缺点、适用场景…

数学基础弱能学好大数据技术吗?

很多同学刚进入大学,一听到“大数据”“数据分析”这些词,就觉得必须得是数学大佬才能玩得转。高数线代概率论,光听名字就头大,更别说那些复杂的公式和推导了。但事实真的是这样吗?数学不好,就不能学大数据…

子进程信号处理

SIGCHLD 信号详解‌‌一、信号定义与作用‌‌SIGCHLD‌ 是 UNIX/Linux 系统中由内核向父进程发送的信号,用于通知子进程的状态变化(如终止、停止或恢复)‌。其主要作用包括:‌回收子进程资源‌:避免子进程终止后成为僵…

WPF 项目设置应用程序图标和设置程序集图标

在 WPF 项目中更改生成的可执行文件(.exe)图标需要完成两个关键步骤:设置应用程序图标和设置程序集图标。以下是详细操作指南: 第一步:准备图标文件 准备一个 .ico 格式的图标文件(必须使用 ICO 格式&…

JMeter压测黑马点评优惠券秒杀的配置及请求爆红问题的解决(详细图解)

目录 一、前言 二、优惠券秒杀压测配置 三、已配置token但是请求全部爆红的问题 四、配置JSON断言后的效果 一、前言 在学习黑马点评优惠券秒杀功能的压力测试时,由于老师没有任何引导而是直接开始测试,所以本博客记录一下JMeter压测黑马点评优惠券秒…

Nginx 运维实战: 什么是反向代理,如何配置?

在互联网的庞大架构中,Nginx 作为一款高性能的 Web 服务器和反向代理服务器,发挥着至关重要的作用。其中,反向代理功能更是 Nginx 被广泛应用的核心原因之一。本文将深入探讨什么是反向代理,以及如何在 Nginx 中进行反向代理的配置…

短视第三套多功能主题3.0二开模板苹果CMS插件重构版

这款短视第三套多功能主题二开模板苹果CMS插件重构版源码,基于市面上现有的二开版本进行的重制修正更新。目前已经完美适配新版 4049 以上的苹果Cms系统,无需担心因系统版本问题导致的不兼容情况。​主题插件重构后支持一键启动插件自动安装模板&#xf…

详解力扣高频SQL50题之1148. 文章浏览 I【入门】

传送门:1148. 文章浏览 I 题目 Views 表: ---------------------- | Column Name | Type | ---------------------- | article_id | int | | author_id | int | | viewer_id | int | | view_date | date | ---------------------- 此表可能会存在重复…

内外网互传文件 安全、可控、便捷的跨网数据交换

内外网互传文件 安全、可控、便捷的跨网数据交换破解企业数字化痛点,重新定义文件传输标准在数字化转型浪潮中,企业面临着前所未有的挑战:内网系统需要严密防护,外网协作又要高效便民。如何在网络安全与业务效率之间找到完美平衡&…

性能监控装饰器-python

看项目时,发现一个性能监控装饰器,感觉挺有意思的。于是借鉴了他的思路,自己重新写了我认为更简洁的代码。作用:可以放在类上和方法上,如果放在类上,则监控所有方法。根据设置的阈值,判断方法执…

qt常用控件-05

文章目录qt常用控件-05LineEditTextEditcombo box结语很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!! 今天我们进一步c11中常见的新增表达 作者:٩( ‘ω’ )و260 我的专栏:qt&am…

Python进阶知识之pandas库

目录 一、Series:一维带标签的数组 二、DataFrame:二维表格型数据结构 三、Series 的核心操作 四、 DataFrame 的核心操作 五、 索引的特殊用法 六、 loc 与 iloc:DataFrame 的高级查询 七、综合案例 一、Series:一维带标签…

【GIT】基础知识及基本应用

很高兴为您详细介绍Git的相关知识。Git是一个分布式版本控制系统,常用于软件开发中的代码管理和协作。以下是关于Git的一些基础知识:1. 安装和配置安装:Windows:可以从GitHub下载适用于Windows的安装包。MacOS:可以通过…

Maven Scope标签:解锁Java项目依赖管理的秘密武器

一、Maven 与依赖管理简介在 Java 项目开发的庞大体系中,Maven 堪称基石般的存在,发挥着极为关键的作用。它遵循 “约定优于配置” 的理念,让项目的构建过程变得规范有序、结构化且具备良好的重复性 。比如,它强制执行标准的项目结…

IP43半加固笔记本L156H

IP43半加固笔记本L156H 产品特性:● 标配Intel I7-7700HQ 4核8线程处理器 ● 操作系统支持Windows7/10 64bit / Li n u x ● DDR4 16G 高速内存 zui高支持64G ● 全高清显示面板15.6寸,1920X1080 ● 内置海德射频模块SMA接口 ● 工作温度:…

ZooKeeper 是什么?

ZooKeeper 是一个分布式协调服务,由 Apache 基金会开发,专为分布式系统设计。它提供了高可用、高性能、一致性的核心服务,帮助分布式应用解决诸如配置管理、命名服务、分布式锁、集群协调等问题。ZooKeeper 的核心特点:简单易用&a…

Java学习第六十三部分——K8s

目录 📫 一、关键概述 🔍 ​​二、定义起源​​ 🚀 ​​三、核心特点​​ 🏗️ ​​四、核心组件​​ 🧩 ​​五、资源对象​​ ⚡ ​​六、应用场景​​ 🧱 ​​七、Java与K8s 🛠️ ​…