【linux】Linux基本指令(上)
创始人
2024-06-02 22:40:20
0

前言:
在之前我们已经简单了介绍了一下【Linux】,包括它的概念,由来啊等进行了讲解,接下来我们就将正式的踏入对其的学习!!!

本文目录

  • 👉操作系统的概念
  • 1.命令的语法
    • 1.1命令介绍
    • 1.2选项介绍
    • 1.3参数介绍
  • 2.常用指令
    • 👉ls 指令
    • 👉 pwd命令
    • 👉 cd 指令
    • 👉 touch指令
    • 👉 tree指令
    • 👉 mkdir指令(重要)
    • 👉 rmdir指令 && rm 指令(重要)
    • 👉 man指令(重要)
    • 👉 cp指令(重要)
    • 👉 mv指令(重要)
    • 👉 cat 指令

👉操作系统的概念

在正式学习之前,我们先插入一个知识点,即“操作系统”,那么到底什么是操作系统呢?当我们了解这个知识点之后,我们才能更好的理解整个过程。

在这里插入图片描述

在如今的信息化时代,计算机软件是系统的灵魂,而作为软件核心的操作系统,已与现代计算机系统密不可分、融为一体。计算机系统大致可以分为如上几层。操作系统管理着各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介。

1.硬件如中央处理器、内存、输入/输出设备等,提供基本的计算资源。
2. 应用程序如字处理程序、电子制表软件、编译器、网络浏览器等,规定按何种方式使用这些资源来解决用户的计算问题。
3.操作系统控制和协调各用户的应用程序对硬件的分配与使用。

在计算机系统的运行过程中,操作系统提供了正确使用这些资源的方法。

👉综上所述,操作系统( Operating System , OS )是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件。


1.命令的语法

一般情况下,【Linux】的基础命令都是由命令、选项、参数三个部分组成。在某些命令下,也可以由命令加参数组成。(注意:一般在这三部分中间是需要有空格,不然命令会报错

1.1命令介绍

顾名思义,就是用户让计算机去做什么。举个例子:在终端上输入【ls】,就是让计算机去执行【ls】这个命令,之后计算机就会显示执行完这个命令的回显。如图下:

在这里插入图片描述

1.2选项介绍

选项就是用来具体命令。(可以理解为修饰命令)还是拿【ls】来举例,在终端上输入【ls -a】那么显示的东西将会与【ls】显示的不同。如下图,出现了很多.开头的文件,这些文件都是隐藏文件,如果不用【-a】这个选项,那么【ls】不会显示,所以选项是用来使命令更加具体。

在这里插入图片描述

1.3参数介绍

参数就是具体的对象。


2.常用指令

首先我先直接打出几个命令,让大家先见识一下,之后我们在对其进行深入了解,具体如下:
在这里插入图片描述

ls:显示当前目录下的文件列表(包括目录,普通文本文件…)
mkdir:在当前路径下,创建一个目录/文件夹(window)
pwd:显示当前我所处的路径
cd:进入指定的目录
touch:创建指定的普通文件
whoami:查看我是谁

接下来我们就一个个的去进行深入学习。

👉ls 指令

语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

首先我们先讨论一波什么叫做 【当前路径】
我就以平时自己存代码的路径为例,当我们在Windows下去进行点击直到到我们存放的路径下:
在这里插入图片描述

此时,上述的即为我当前的路径,随着路径的不断的变化,我们不断的改变,当前路径是在不断的变化的,所以顾名思义当前路径就是 目前用户所处的路径

所以,以下我们可以理解为:【pwd】执行的即为我们运行【ls】时所处在的路径
在这里插入图片描述
通过上述代码我们不难发现一个问题, 【ls】只让我们看到文件名,当我们需要了解文件的更多信息时应该怎么办呢?

我们可以通过以下的命令来进行相应的查看需求,具体如下:
在这里插入图片描述
👉解析:
这里的【-l】我们理解为【list】的意思,以这样的方式显示文件的更多信息,大家千万不要理解为命令只有相应的命令,我们还可以带选项的。

紧接着我们如何理解下面多出来的这些东西呢?这些都是什么呢?
在这里插入图片描述
要理解这个文件,我们先来理解以下问题。今天当我们在Windows下创建一个新文件时,我们可以知道创建出来之后默认的都是为0的,这是基本常识大家应该都知道:
在这里插入图片描述
那么这个文件在哪存放的呢?很显然是在磁盘上存放着的
当我们刚开始创建这个文件之后,很显然目前还是一个空文件,那么问题来了。这个空文件在磁盘上要不要占据空间呢?
👉大家可能会这样理解,上述我们创建了一个记事本,在这个记事本里面是没有内容的,并且也显示出了大小为【0kb】。但是大家是否会发现,当我们点击新建之后,弹出的这些内容大家是否注意过呢?
在这里插入图片描述
这些东西是“数据”吗,文件的内容虽然是空的,但是文件也有相应的文件名,文件的时间以及大小等。答案是肯定的,即—以上这些是数据,这些称为文件的属性数据,因此即便你创建了一个空文件,内容里面没有东西,但是它的属性我们都会进行保存。到此,我们可以得出一条结论,即 【文件=内容+属性】

到此,大家是否能理解上述【ls -l】命令下,会多出些数据呢.

除了上述命令之外,我们还有很多的选项,具体如下:

-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 一行只输出一个文件。

我们以【ls -a】为例进行举例说明:

在这里插入图片描述
当我们输入【-a】选项时, 列出目录下的所有文件,包括以 【.】开头的隐含文件。
那么这个隐含文件如何理解呢,怎么证明出来呢?我们通过代码来进行举例:
在这里插入图片描述
👉解析:

在当前路径下创建了名为【hello】的目录,在这个目录里面又创建了一个名为【world】的文件,其中它们之前都带有【.】,当我们通过【ls
-l】选项执行时,我们可以看到刚开始创建的并未给我们打印出来,而当我们执行【ls -l -a】时,此时便打印出来了。

为了达到同样的效果,我们可以直接输入【ls -la】也是支持的。
在这里插入图片描述
到此,我们对【ls】指令的学习便到一阶段了,如果大家有兴趣,可以去尝试敲一下。


👉 pwd命令

语法: pwd
功能:显示用户当前所在的目录

建议:
如果大家长时间不用,以及每次登陆时,我建议大家先执行一下这个指令,查看自己在哪里


👉 cd 指令

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。

在之间将隐藏文件的时,打印出来都会有一个【.】和一个【…】,那么是否所有的都是这样呢?我们先通过代码来进行查看:
在这里插入图片描述
👉解析:
当我们进入【dir】目录下又创建了一个新的目录【seconddir】,当我们打印出来时,我们可以发现,依然出现了说的那种情况。什么意思呢?先抛出答案,我在具体给大家分析:
在这里插入图片描述
接下来我们还是通过代码来理解这两者之间到底什么意思?具体如下:
在这里插入图片描述
大家注意我圈画的地方,开始时我们执行【pwd】指令,显示我们当前的路径,接下来我们执行【cd .】之后我们可以发现,得到的结果跟我们之前的一样,紧随其后我们执行【cd …】之后我们可以发现此时就退到当前路径的上一级路径位置,所以【cd … 】就是 返回上级目录。

此时,又会引出了一个问题,那就是当我们有限次的【cd …】后,最后会怎么样呢?我们通过代码来仔细观看:
在这里插入图片描述
此时我们可以发现,当我们执行到【cd …】后如果打印出的当前目前为【/】,之后我们继续执行的话,结果依旧如此,这个很好理解,就是到底了。这时,我们就可以理解为Linux下**【/】**就是我们的根目录。

我们跟Windows下对比来进行理解:

在这里插入图片描述

通过对比和之前的知识,我们不难得出在Windows下文件夹里可以包含文件夹,在我们的Linux也也是一样的道理 ------ Linux目录下可以包含目录,整体结果是一颗“多叉树”的样子!!!

在这里插入图片描述

在这时,我们的问题又来了(大家是不是有种陷在里面的感觉了),在这种情况下,我们要定位文件呢?

👉答案是通过 【路径】,我们通过上述的结构以及我们之前学习过的数据结构的基本知识,我们不难看出,虽然一个目录可以存储很多子目录,但是任何一个子目录都是只有一个父结点,因此往上去找是唯一的,具备唯一性,所以当我们想要去查找目录时,我们可以从根目录下逐级的去查找!!!

例如:
上述图片中当我们想要去查找【test.c】时,我们可以这样去找:
/home/bit/test.c -----这种从根目录开始去遍寻的方式,我们叫做绝对路径

上述方法不难看出,当我们的目录太多时这样的方式进行下去效率就会很低,那么除了上述方法之外,我们是否还有其他方式去查找呢?

👉答案是有的,我们还有一种名为相对路径的查找方式,顾名思义这种方法就是相对于此时我们所在的路径下进行查找操作!!!

例如:
当我们用绝对路径去查找我们的【bin】目录时,我们的做法如下:
/user/bin
此时当我们用相对路径的方法去查找【lib】目录时,做法如下:
… / lib

通过代码来进行直接理解:
在这里插入图片描述

此时,我们所处的路径下,我们可以绝对路径的方式去访问。而此时当我们想要访问【dir】目录下的【myfile.txt】时,我们就可以通过相对路径的方式去查找。因此,我们后面经常会使用相对路径来进行定位!!!

这个知识点我们便讲解完毕了!!!

【cd】还有一些选项指令,具体如下;

cd … : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd …/day02/ : 相对路径
cd~:进入用户家目
cd -:返回最近访问目录

我们进行一一举例说明:
【cd ~】:进入用户家目录,直接上代码展示
在这里插入图片描述
【cd -】:返回最近访问目录
在这里插入图片描述
上图便直观的展示出了【cd -】的功能。

这个知识点的结尾给大家介绍一个“热键”——【tab】键。什么意思呢?当我们不记得指令怎么写或者不知道当前目录下有什么时,我们就可以使用这个热键来进行操作,通过不断的【tab】看能不能【tab】出来,如果没有则说明敲的时候出错了。


👉 touch指令

语法:touch [选项]… 文件…
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

这个命令很简单,就是在当前目录下创建一个文件:
在这里插入图片描述

常用选项:

-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。

在这里普及两个知识点,就是【nano】和【cat】这两个命令。什么意思呢?
【nano】:就相当于记事本的功能,在这里里面不限制我们的语法,你想写什么就可以写什么。通过代码来具体理解:
在这里插入图片描述
在里面之后想要退出来的话,我们可以【Ctrl+x】之后,在输入【y】,即可退出到我们原有界面。

【cat】:就是把我们当前记事本中的内容打印出来,当我们执行这个代码时,具体如下:
在这里插入图片描述
当我们想要把这个代码跑起来的时候,我们通过【gcc】的方式进行编译最终把它打印到显示器上:

在这里插入图片描述


👉 tree指令

以树状结构显示Linux执行的目录结构

在这里插入图片描述


👉 mkdir指令(重要)

语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录

常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

我们还是以代码为例进行直观的感受:
在这里插入图片描述

👉解析:
通过上述代码我们不难看出,当我们直接输入【mkdir d1/d2/d3/d4】时是无法正确执行的。只有加上【-p】选项才能执行,直接创建了一串路径。


👉 rmdir指令 && rm 指令(重要)

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

语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录

刚才我们创建了一串的路径,【rmdir】可以删除它吗?我们直接看代码
在这里插入图片描述
👉解析:

我们发现这里是删不掉它的,当我们去tree一下的时候发现里面还有文件,所以【rmdir】只能删除空目录!!!

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除


紧接着就是【rm】指令:

rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
在这里插入图片描述

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


👉 man指令(重要)

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是

man帮助是Linux系统中最常用的查询命令方式。

man 语法: man [选项] 命令

例如我们之后会学习到一个指令【fork】,此时我们并不知道它什么意思,这时我们就可以去【man】手册中去查。具体如下:

当我们输入【man fork】后,就会弹出以下:
在这里插入图片描述

请注意标红的地方,这里的数字是什么意思呢?:
在这里插入图片描述

解释一下,面手册分为8章

1 是普通的命令
2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)
3是库函数,如printf,fread
4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd,
就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

常用选项

-k 根据关键字搜索联机帮助 num 只在第num章节找
-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按 下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。


还有一个指令就是【help】,这个查询帮助是命令本身自带相关的查询信息,才能使用。不然,系统会显示报错。
在这里插入图片描述
它也会显示该命令相关语法,以及使用方法。不过没有【man】帮助详细,如果在【help】中没有找到可以用【man】去查询想要的结果。


👉 cp指令(重要)

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录

我们还是通过具体的代码来进行展示说明:
在这里插入图片描述
👉 解析:

开始我们创建了一个目录和一个空文件,此时当我们【tree】时,发现各个都是独立的,当我们执行了拷贝指令之后,我们再去【tree】,此时我们会发现,在【dir1】目录下此时包含了文件【file.txt】,成功的把文件拷贝了过去,当我们执行【ls dir1】时也可以发现当前目录下存在【file.txt】文件。

常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理


👉 mv指令(重要)

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录

语法: mv [选项] 源文件或目录 目标文件或目录
功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

1、移动目录

接下来还是通过代码来直观的理解:
在这里插入图片描述
现在已经移动过去了,那么我们该如何把文件又移动回来呢?看下图代码:
在这里插入图片描述

2、也可以用于重命名(会改变源文件的状态)


在当前目录下,有了文件名为【file.txt】我们想把它改名为【name.txt】时,此时我们输入命令,系统则会在当前路径下寻找,然后在进行相应操作。

在带大家看行代码,我们在分析一波:
在这里插入图片描述
👉我们浅浅的分析一下。如果你当前(mv)后面跟的就是文件名,那么它做相应的重命名工作,如果只跟某一个路径则是相应的剪切的功能,但是如果你后面跟的除了文件名紧接着再跟的是目录,到这还没完,后面在跟了一个不存在的文件名,如果是这样,则它既帮我们完成剪切工作,又帮我们完成重命名工作。

常用选项:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!


👉 cat 指令

语法:cat [选项][文件]
功能: 查看目标文件的内容

这个命令在上面已经讲到过,这里就不在多提了。

常用选项:

-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行


到此,本期的内容便结束了。本期主要讲的就是关于【Linux】的基本命令,关于这些基本的命令,大家结合以上知识体会后一定要上手去操作!!!

最后,如果以上内容对你有帮助的话,记得三连哟!!!

在这里插入图片描述

相关内容

热门资讯

谢灵运山水诗对李白的创作影响 谢灵运山水诗对李白的创作影响  东晋诗人谢灵运,作为中国古典诗歌山水诗派的开创者之一,在晋宋之交,为...
永远的守巢人诗歌_歌颂老师   又到毕业季,又有不少的孩子即将离开那个呵护了他们三年的小乐园,开始第一次学会和朋友们说再见。下面...
小学生抗疫情诗歌 小学生抗疫情诗歌  无论是身处学校还是步入社会,大家一定没少看到经典的诗歌吧,诗歌语言言简义丰,具有...
忘不掉你的承诺诗歌 忘不掉你的承诺诗歌  当自己心中的那个他走了之后,  让人最难忘记的是“记忆”  因为,  那一段记...
你是我心中永远的痛爱情诗歌 你是我心中永远的痛爱情诗歌  你我曾经  肩并肩、手牵着手徜徉在花丛中  一起观赏人间的四季美景  ...
爱情的诗歌 有关爱情的诗歌  在平时的学习、工作或生活中,大家都看到过许多经典的诗歌吧,诗歌是按照一定的音节、韵...
适合过年听的欢快的歌曲 适合过年听的欢快的歌曲  过年期间都是一个很喜庆的时间,很多店铺商场都开始放一些音乐去吸引客人或者说...
醉生梦死诗歌 醉生梦死诗歌醉生梦死诗歌1  禁果的滋味  苦涩而甜蜜  人生第一次爱过  不知不觉已成悲伤之人  ...
《雨说》诗歌 《雨说》诗歌  在平日的学习、工作和生活里,许多人都接触过一些比较经典的诗歌吧,诗歌饱含丰富的感情和...
蜗行诗歌 蜗行诗歌  在生活、工作和学习中,大家总免不了要接触或使用诗歌吧,诗歌在形式上,不是以句子为单位,而...
国庆节的诗歌 关于国庆节的诗歌再过几天就是十月一号的国庆节了,自古以来,吟诗作赋是文人对节日的表达感情方式之一。下...
歌颂伟大的母亲党成立100周... 弹指间,2021年来了,我们伟大的母亲中国共产党也走过了100年,那歌颂伟大的母亲中国共产党成立10...
欧阳修的醉翁亭记 欧阳修的醉翁亭记  《醉翁亭记》不仅是一首千古传诵的游记,散文中饶有诗情画意,别具清丽格调,是一篇具...
关于中秋节的诗歌大全 关于中秋节的诗歌大全,小编为你推荐下文,希望可以帮助到你。欢迎你的阅读参考。1、《中秋》唐·李朴皓魄...
《落日怅望》诗歌鉴赏 《落日怅望》诗歌鉴赏  落日怅望  马戴  孤云与归鸟,千里片时间。  念我何留滞,辞家久未还。  ...
小学画课文原文 小学画课文原文  画为初唐诗人王维所做的一首五言绝句。下面就随小编一起去阅读小学画古诗原文,相信能带...
诗歌赏析:《六月的雨》 诗歌赏析:《六月的雨》  在平日的学习、工作和生活里,大家都经常接触到诗歌吧,诗歌是一种抒情言志的文...
泰山嵯峨夏云在,疑是白波涨东... “泰山嵯峨夏云在,疑是白波涨东海。”出处 出自 唐代 李白 的《早秋单父南楼酬窦公衡》“泰山嵯峨夏云...
彻夜难眠的经典诗句 彻夜难眠的经典诗句  在平凡的学习、工作、生活中,大家都经常接触到诗句吧,诗句具有语言节奏鲜明的特点...
描写长江雄阔的诗句 描写长江雄阔的诗句  白日依山尽,黄河入海流。王之涣《登鹳雀楼》  春别曲【唐】张籍长江春水绿堪染,...