【Linux探索学习】第一弹——Linux的基本指令(上)——开启Linux学习第一篇

前言:

在进入Linux学习之前,我们首先要先做好以下两点:1、已经基本掌握C语言或C++,2、已经配置好了Linux的环境,做完以上两点后我们就开始Linux的学习,今天我们首先要学习的就是Linux中最基础的操作:基础指令,由于本人也是现学现卖,所以在文中多多少少会有讲解不到位或出错的地方,如果你发现文章中的不足或错误,欢迎在评论区中指出或者与我私信交流,感谢各位大佬观看!!!

目录

一、初步了解部分基础指令

1. ls指令

2. pwd指令

3. mkdir指令

4. cd指令

二、ls指令

三、pwd指令

四、cd指令

五、touch指令

六、mkdir指令

七、rmdir指令和rm指令

八、总结


为了能让大家更容易理解,我会采用Linux的指令和Windows界面操作相对比的方式来讲解Linux的基础指令

一、初步了解部分基础指令

大部分基础指令的功能都是要互相结合起来的,所以直接从单个基础指令讲解是比较难理解的,也不便于我们自己去模拟,所以我们首先先把几个基础指令结合起来,看看它们都是如何使用的以及各自的功能,然后在下面我们再分别对各个基础指令进行详细讲解

1. ls指令

ls指令是用来显示当前目录下的所有文件

下面的用空格隔开的蓝色字体就是一个一个的文件

2. pwd指令

pwd指令是用来显示我们当前操作所处的命令行的位置

此时下面的/root就是当前所处的路径,它可以对标我们在Windows中的文件位置

3. mkdir指令

mkdir是用来创建目录的(此处的目录就类似于Windows中的文件夹)

上面示例中我们就用mkdir创建了一个叫dir4的目录,同时我们还发现我们可以结合ls指令查看当前目录所包含的文件的功能,来直接查看我们是否把这个目录成功创建在当前路径下

4. cd指令

cd指令的作用是进入目录中(类似于Windows中的进入文件夹)

在上面我们用mkdir指令创建了一个dir4的目录,在这里我们就可以用cd指令进入

同时我们还可以结合pwd指令观察是否进入

以上就是我们需要先大概了解的基础指令,下面我们就开始对每个基础指令展开讲解

二、ls指令

首先,我们要先知道一个内容:指令是可以携带选项的

比如下面的例子:

通过上面我们已经知道 ls指令 可以显示当前目录下的所有文件,但是下面的 ls -l指令 同样将这些文件显示了出来,且前面有一大串信息,那这是什么呢?其实前面的信息就是对应文件的详细信息:比如文件的类型、创建时间等,所以 ls -l指令 的作用其实就是显示出文件的详细信息

在展开讲解下一步之前我们先来科普一个小知识,通过上面的例子我们已经知道了在一个文件中,除了它里面存储的内容是数据需要存储之外,文件自身所包含的信息(比如文件类型、创建时间等等)也是数据,也是需要存储在内存中的,所以文件的正确认识应该是:文件=文件内容+文件属性,文件操作=对文件内容的操作 或者 对文件属性的操作

下面我们再看一个ls带选项的例子

与普通的 ls指令 相比,下面的 ls -a指令 多出了许多前面带点的文件,其实这些带点文件叫做隐藏文件,在Windows中也有隐藏文件

ls -a指令 的作用就是让这些隐藏文件也显现出来

这里我们再拓展一个小知识点,在上面这个图片中,我们观察到前两个隐藏文件为 . 和 . . (一个点和两个点),这两个隐藏文件是在所有目录下都存在的,其中两个点代表上个目录,一个点代表当前目录,这个小知识点在下文会用到,但是具体原因要等我们学到后面才知道

通过上面两个例子其实已经可以得出:指令加选项的作用是让同一个指令完成不同的功能

上面我们给出的是ls指令的其中两个选项,其他的就不再一一列举了

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

三、pwd指令

pwd指令的作用就是查看我们当前所处的路径

pwd指令 是没有特殊选项的,用法上面已经提过,下面我们还会再用一下

四、cd指令

cd指令 的功能就是进入改变当前目录,进入到指定的目录中去

cd指令也没有特殊选项的概念,但是也分几个特殊的进入方式

cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
我们先来看第一个,在上面我们已经提过两个点代表上个目录,所以我们cd进入后就可以返回到上个目录中,可以结合pwd指令观察

如图,起初我们是在dir1文件中,它的上级目录为/root,我们cd两个点后就回退到/root中

同时我们还可以做如下尝试:如果一直向上回退会怎么样呢?

如图所示,我们发现如果一直向上回退,最终就会一直在/目录中

我们显示/目录下的文件,可以发现是有一大堆的,这就有点类似于树状结构,/目录就是树根,下面的就是各种子树

相对路径和绝对路径的概念也在图中诠释了,不做多的讲解了,下面我们最后再看一下后两个概念:cd ~ 和 cd -

cd ~ 可以让我们直接进入到用户家目录,也就是对应着上面图中二叉树的第二层

cd - 则是可以让我们回退到上一步所在的目录中

五、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指令可以创建文档就可以了

这种开头的就是用touch指令创建的文档

六、mkdir指令

mkdir指令在上面也讲过,就是用来创建目录的

此时我们可以看到/root目录下面只有snap一个目录

使用mkdir就可以在/root下创建目录

mkdir需要额外学习的选项操作主要有一个 -p选项

mkdir -p 可以递归创建多个目录

七、rmdir指令和rm指令

rmdir指令的功能是删除空目录,而rm指令的功能则是删除文档和目录

且rm结合选项有更广的用处

比如我们在上面时所建立的文档和目录

其中dd1不是空目录,dir1和dir2为空目录,而test.c则是文本文档

其中只有dir1和dir2可以用mkdir直接删除

而dd1和test.c则不可以,因为它们两个一个不是空目录,一个则是文本文档,需要用rm或rm结合选项来删除

rm的常用选项有:

-f 即使文件属性为只读 ( 即写保护 ) ,亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件

八、总结

以上就是我们linux探索学习第一章的全部内容,总结内容放在下面图中

感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!

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

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

相关文章

网络安全-ssrf

目录 一、环境 二、漏洞讲解 三、靶场讲解 四、可利用协议 4.1 dict协议 4.2 file协议 4.3 gopher协议 五、看一道ctf题吧(长亭的比赛) 5.1环境 5.2开始测试 ​编辑 一、环境 pikachu,这里我直接docker拉取的,我只写原…

如何在SpringCloud中使用Consul进行服务发现与配置管理

Spring Cloud是一个用于构建分布式系统的开发工具包。它提供了一系列解决方案,用于在分布式系统中管理和协调服务发现、配置管理、负载均衡、容错机制等功能。Consul是一种用于服务发现、配置管理和分布式一致性的工具,与Spring Cloud可以很好地集成在一…

飞驰云联FTP替代方案:安全高效文件传输的新选择

FTP协议广泛应用各行业的文件传输场景中,由于FTP应用获取门槛低、使用普遍,因此大部分企业都习惯使用FTP进行文件传输。然而面临激增的数据量和网络安全威胁的不断演变,FTP在传输安全性与传输性能上有所欠缺,无法满足企业现在的高…

【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL77

编写乘法器求解算法表达式 描述 编写一个4bit乘法器模块,并例化该乘法器求解c12*a5*b,其中输入信号a,b为4bit无符号数,c为输出。注意请不要直接使用*符号实现乘法功能。 模块的信号接口图如下: 要求使用Verilog HDL语言实现以上…

活动目录安全

活动目录安全 1.概述2.常见攻击方式SYSVOL与GPP漏洞MS14-068漏洞Kerberoast攻击内网横移抓取管理员凭证内网钓鱼与欺骗用户密码猜解获取AD数据库文件 3.权限维持手段krbtgt账号与黄金票据服务账号与白银票据利用DSRM账号利用SID History属性利用组策略利用AdminSDHolder利用SSP…

BUUCTF [SCTF2019]电单车

使用audacity打开,发现是一段PT2242 信号 PT2242信号 有长有短,短的为0,长的为1化出来 这应该是截获电动车钥匙发射出的锁车信号 0 01110100101010100110 0010 0前四位为同步码0 。。。中间这20位为01110100101010100110为地址码0010为功…

JavaScript --json格式字符串和对象的转化

json字符串解析成对象 &#xff1a; var obj JSON.parse(str) 对象转化成字符串&#xff1a;var str1 JSON.stringify(obj1) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Com…

【数据结构初阶】链式二叉树接口实现超详解

文章目录 1. 节点定义2. 前中后序遍历2. 1 遍历规则2. 2 遍历实现2. 3 结点个数2. 3. 1 二叉树节点个数2. 3. 2 二叉树叶子节点个数2. 3. 3 二叉树第k层节点个数 2. 4 二叉树查找值为x的节点2. 5 二叉树层序遍历2. 6 判断二叉树是否是完全二叉树 3. 二叉树性质 1. 节点定义 用…

OpenStack Yoga版安装笔记(十三)neutron安装

1、官方文档 OpenStack Installation Guidehttps://docs.openstack.org/install-guide/ 本次安装是在Ubuntu 22.04上进行&#xff0c;基本按照OpenStack Installation Guide顺序执行&#xff0c;主要内容包括&#xff1a; 环境安装 &#xff08;已完成&#xff09;OpenStack…

畅阅读微信小程序

畅阅读微信小程序 weixin051畅阅读微信小程序ssm 摘 要 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用j…

leetcode24. 两两交换链表中的节点,递归

leetcode24. 两两交换链表中的节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;he…

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】

Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 目录 Unity 设计模式 之 结构型模式 -【装饰者模式】【外观模式】【享元模式】【代理模式】 一、简单介绍 二、装饰者模式&#xff08;Decorator Pattern&#xff09; 1、什么时候使用装…

Python3爬虫教程-HTTP基本原理

HTTP基本原理 1&#xff0c;URL组成部分详解2&#xff0c;HTTP和HTTPS3&#xff0c;HTTP请求过程4&#xff0c;请求&#xff08;Request&#xff09;请求方法&#xff08;Request Method&#xff09;请求的网址&#xff08;Request URL&#xff09;请求头&#xff08;Request H…

aws s3 存储桶 前端组件上传简单案例

写一个vue3 上传aws oss存储的案例 使用到的插件 npm install aws-sdk/client-s3 注意事项 &#xff1a; 1. 本地调试 &#xff0c; 需要设置在官网设置跨域 必须&#xff01;&#xff01;&#xff01; 否则调试不了 &#xff0c;前端代理是不起作用的 &#xff0c;因为是插…

【AIGC】ChatGPT RAG提取文档内容,高效制作PPT、论文

目录 一、理解 RAG 技术 二、利用 ChatGPT 的 RAG 技术提取文档内容 三、高效制作 PPT 四、高效撰写论文 五、最佳实践与建议 六、工具推荐 随着人工智能生成内容&#xff08;AIGC&#xff09;的快速发展&#xff0c;利用先进的技术工具如 ChatGPT 的 RAG&#xff08;Ret…

spring boot项目对接人大金仓

先确认一下依赖 第一 是否引入了mybatis-plus多数据源&#xff0c;如果引入了请将版本保持在3.5.0以上 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>${dynam…

Java 中创建线程几种方式

目录 概述 一. 继承Thread类 1. 特点 2. 注意事项 3. 代码示例 二. 实现Runnable接口 1. 特点 2. 注意事项 3. 代码示例 三. 实现Callable接口 1. 特点 2. 注意事项 3. 代码示例 概述 在Java中&#xff0c;线程&#xff08;Thread&#xff09;是程序执行的最小单…

已解决sublime text 3 注册激活

问题&#xff1a;未激活 解决方法&#xff1a; 安装sublime3后&#xff0c;将Patch.exe文件放入sublime 安装文件下 运行Patch.exe&#xff0c;复制粘贴注册码到 preference->enter license&#xff1b;操作如下 点击“Use license”,提示如下图表示激活成功&#xff1a; 重…

Mac使用gradle编译springboot-2.7.x源码

1 开发环境&#xff1a; JDK8 ideaIU-2024.2.2 gradle-7.6.3 代理网络 2 下载springboot源码 代码仓库网址 git clone -b 2.7.x https://github.com/spring-projects/spring-boot.git3 安装gradle gradle下载网址 https://services.gradle.org/distributions/ 安装此文件指…

你的提交信息还在拖后腿?看这里,提升代码质量的绝招!

文章目录 前言一、什么是约定式提交&#xff1f;二、创建新仓库三、将代码推送到远程仓库的步骤1.检查当前远程仓库2.添加代码到暂存区3. 进行约定式提交4. 推送代码到远程仓库5. 完成推送 总结 前言 在当今软件开发领域&#xff0c;Git已经成为最广泛使用的版本控制系统之一。…