前情提要
本章节是Linux
操作系统的基本指令及相关结构
的相关知识~
接下来我们即将进入一个全新的空间,对操作系统(系统层面)等相关知识有一个全新的视角~
以下的内容一定会让你对Linux
有一个颠覆性的认识哦!!!
以下内容干货满满,跟上步伐吧~
作者介绍:
作者: 热爱编程不起眼的小人物
作者的Gitee:代码仓库
系列文章&专栏推荐: 《刷题特辑》、 《C语言学习专栏》、《数据结构_初阶》 、《C++轻松学_深度剖析_由0至1》我和大家一样都是初次踏入这个美妙的“元”宇宙 希望在输出知识的同时,也能与大家共同进步、无限进步
这里为大家推荐一款很好用的刷题网站呀点击跳转
导航小助手
- 本章重点
- 一.Linux的相关认识
- 二.Linux基本操作指令
- Ⅰ.ls指令
- Ⅱ.pwd指令
- Ⅲ.touch指令
- Ⅳ.mkdir指令
- Ⅴ.cd指令
- Ⅵ.rmdir指令
- Ⅶ.rm指令
- Ⅷ.man指令
- Ⅸ.cp指令
- Ⅹ.mv指令
- Ⅺ.cat指令
- Ⅻ.echo指令
- 三.文件&目录&路径
- Ⅰ.文件的认识与理解
- Ⅱ.路径的认识与理解
- Ⅲ.目录的认识与理解
- 结尾
认识Linux操作系统
了解Linux系统下的基本操作指令
了解Linux下对文件、目录的理解
Linux操作系统:
Linux就如Windows,都是操作系统,其中:
Windows操作系统是一款图形化
操作系统,因为是经过封装的,所以一定是操作方便,但不便于深入理解的
Linux操作系统是一款命令行
操作系统,因为没有经过封装,所以更加贴近系统,但不便于操作
但无论是命令行还是图形化,两款操作系统的功能定位都是一样的,都是访问计算机的方式
Linux能够用于哪些地方呢?
Linux能够进行各种语言的开发工作,基本主要以后端语言为主:C++、Java、Python……
Linux能够进行各种指令操作,从而完成各种文件相关的管理工作
接下来我们就开始认识Linux吧~
1️⃣基本语法: ls ➕ [选项] ➕ [目录或文件](若不输入,则默认对当前路径执行操作)
2️⃣指令功能: 查看当前路径下的所有子目录和文件的名字
3️⃣简单来说: 就跟在Windows下进入某个目录后,直接看到所有的文件一样【只不过Linux下需要自己手动输入才会显示】
4️⃣常用选项:
-a
:在原有功能的基础上,将以.
开头的隐含文件也展示出来
相当于Windows上的下述操作:
-l
:在原有功能的基础上,将文件详细信息展现出来(包括:文件大小、最后修改时间、权限……)
相当于Windows上的下述操作:
1️⃣基本语法: pwd
2️⃣指令功能: 查看当前所在的目录(路径)
3️⃣ 简单来说: 就跟在Windows下的路径栏一样【只不过Linux下需要自己手动输入才会显示】
1️⃣基本语法: touch ➕ [选项] ➕ [文件名字]
2️⃣指令功能: 在当前目录(路径)下新建一个不存在的文件(自己命名)
3️⃣ 简单来说: 就类似于Windows下的右键新建一个文件夹
1️⃣基本语法: mkdir ➕ [选项] ➕ [目录名字]
2️⃣指令功能: 在当前目录(路径)下新建一个不存在的目录(自己命名)
4️⃣常用选项:
1️⃣基本语法: cd ➕ [目录名字]
2️⃣指令功能: 切换操作目录(路径)
3️⃣ 简单来说: 就跟在Windows下的路径栏的前进、后退一样去切换工作目录(路径)
4️⃣常用举例:
cd ../
:表示返回上级目录【即路径的回退
功能】
cd /root/dir
:以绝对路径去定位,进入dir
目录【即从根目录 为起点,通过我们写的绝对路径进入到目标目录中】
cd ../my_dir
:以相对路径去定位,进入my_dir
目录【即从当前所在的目录为起点,去进入到目标目录中】
cd ~
:进入用户家目录
cd -
:返回到最近访问的目录中
以上的常用举例可能在目前无法完全理解,但会在如下的文件、路径、目录认识的内容中进行补充,会有更进一步的认识
1️⃣基本语法: rmdir ➕[选项] ➕ [目录名字]
2️⃣指令功能: 删除(一串)空目录
3️⃣ 简单来说: 是与mkdir指令相对应的,mkdir是用于创建空目录,而rmdir是用于删除空目录
❗特别注意:
空目录
,但只要目录下还有一串目录的话,也是不允许被删除的1️⃣基本语法: rmdir ➕[选项] ➕ [目录/文件名字]
2️⃣指令功能: 可以同时删除文件或目录
3️⃣ 简单来说: 相比于rmdir,不再局限于删除空目录,而是文件和目录可以一起删除
4️⃣常用选项:
-r
:递归去删除目录及其下所有文件【此选项可以用于删除一串目录的情况】
-f
:强制执行删除,不再询问【如果不加则系统会在删除每一个文件/目录前进行二次询问确认】
补充:
在Linux中有一个通配结构
的功能,即*
(通配结构)可代表任何东西
即如果我们想要删除某个目录下所有后缀为.c
的文件,那我们就可以rm -rf *.c
,此时就表示删除后缀为.c
的所有文件了
即假如我们想查看当前目录下所有名为file
的文件,那我们就可以ls file*
即可达到此功能
1️⃣基本语法: man ➕[选项] ➕ [指令]
2️⃣指令功能: 可以在Linux上查询相关指令的用法……
3️⃣ 简单来说: 就是Linux中自带了一个操作手册,方便我们查询相关指令的功能……
1️⃣基本语法: cp ➕[选项] ➕ [源文件/目录] ➕ [目标文件/目录]
2️⃣指令功能: 复制文件/目录
3️⃣ 简单来说: 就是将当前目录下(或其它目录下的文件也可以,可以通过书写绝对路径
or相对路径
去指定)的某个文件或目录,拷贝到指定的地方(可以通过书写绝对路径
or相对路径
去指定)
4️⃣常用选项:
-r
:通过递归处理,将指定目录下的所有文件与子目录一并处理
-f
:即即使是拷贝的目的地已经存在某些同名文件或目录,依然强制执行拷贝,并覆盖目的地一开始所存在的同名文件或目录
❗特别注意:
我们可发现拷贝(删除)文件或目录时,我们一般加上-r
选项(只拷贝单个),这是因为:
文件在Linux下为多叉树结构,我们只需要递归即可完成目录/文件下的子目录/文件的全部拷贝(删除)
1️⃣基本语法: mv ➕[选项] ➕ [源文件/目录] ➕ [目标文件/目录]
2️⃣指令功能: 剪切文件/目录 或 对文件重命名功能
3️⃣ 简单来说: 功能和cp指令类似,只不过cp指令是复制,mv指令为剪切;若mv指令的第二个参数不是路径而是名字,则是对源文件/目录进行重命名
4️⃣常用选项:
-f
:表示强制剪切,即如果目的文件/目录已存在,会直接覆盖,不再询问❗特别注意:
-r
(递归),默认直接就可以完成此功能1️⃣基本语法: cat ➕[选项] ➕ [文件]
2️⃣指令功能: 查看并将文件内容从上到下依次按顺序打印出来
3️⃣常用选项:
补充:
1️⃣基本语法: echo ➕ [文本内容]
2️⃣指令功能: echo指令会读取我们输入的文本内容,并打印显示到控制台上
文件的理解:
文件是一个大概念,不仅仅单指文件内容本身,还包括文件的属性
即文件 = 内容 + 属性
❓此时我们便有个疑惑: 如果我们在磁盘上新建一个文件,那修改文件要不要占用磁盘上的空间呢
答案是肯定的,这是因为文件 = 内容数据 + 属性数据
这是因为:不仅仅只有文件的内容被算作数据存储在磁盘上,文件的属性也算作数据(在计算机看来依旧是数据)存储在磁盘上
所以修改任意一个,都会对文件在磁盘上的空间占用有影响
以上就是对文件
的完整理解啦~
Linux下路径的理解:
1️⃣/
:表示路径分隔符【路径中的第一个/
表示根目录
,回退到根目录
下后,就不能再回退了】
2️⃣./
:表示当前路径
3️⃣../
:表示上级路径,可以帮助我们路径切换【这也就是为什么cd ../
表示路径的回退】
Linux下目录的理解:
本质: Linux的整个目录结构,本质上是一颗多叉树结构
简单来说:就是在一个目录下还可以创建一个目录,不断延申、生长下去
在这个多叉树中:
非叶子节点
:为目录
叶子结点
:为文件
or空目录
由上我们可得知: 任何一个目录的路径都是唯一且确定的
这是因为:一个父节点可以有多个孩子结点,但任意一个孩子结点都只有唯一一个父节点
即父节点是唯一且确定的,可以通过父亲找到我们想要找的孩子(反之亦然),所以路径具有唯一性
✨综上:
❗这也就是为什么:
我们可以通过书写绝对路径从根目录下出发去定位到某一个目录(或目录下的文件),从而操作它,这也就是为什么我们上面的cd
指令可以通过绝对路径定位到一个目录中
而相对路径就是从现在所处的目录下出发,去一步一步寻找到我们想要找到的文件
Eg:如上图中的,假设我们起始路径在/uer/bin
中,想切换到工作目录(即Dream-Y.ocean
用户的目录下)
我们就可以cd ../../home/Dream-Y.ocean
【从左往右一步一步执行操作】
意思就是:先从bin
目录下一步一步回退到/
(根目录)下,然后再进入到home/Dream-Y.ocean
目录下
补充:
✨综上:
绝对路径:很少再日常中使用,一般会出现在比较正式的场合中(如:配置文件……)
相对路径:操作起来比较简单、方便,多用于日常操作中
以上就是Linux的目录结构啦~
综上,我们基本了解了Linux中的 “基本指令及相关结构” 的知识啦~
恭喜你的内功又双叒叕得到了提高!!!
感谢你们的阅读
后续还会继续更新,欢迎持续关注哟~
如果有错误❌,欢迎指正呀
✨如果觉得收获满满,可以点点赞支持一下哟~✨