目录
[1.1 pwd](#1.1 pwd)
[1.2 ls](#1.2 ls)
[1.3 mkdir + cd + clear](#1.3 mkdir + cd + clear)
[1.4 touch](#1.4 touch)
[1.5 ls部分补充](#1.5 ls部分补充)
[1.6 whoami](#1.6 whoami)
[1.7 有关目录以及路径](#1.7 有关目录以及路径)
前言:
今天是Linux系列的第一章节,对于Linux的主线学习大概会更新两个半月左右,中间穿插着算法等的学习,那么这里对于Linux的历史背景就不赘述了,有兴趣的同学可以上网自行搜索。
我们首先抛出几个问题,为什么我们要学习Linux ?Linux究竟是什么?Linux相对于闭源的操作系统来说有什么优点?Linux的应用场景是哪里?
第一,为什么学习Linux?
在当今的科技时代中,Linux在其中扮演着举足轻重的角色,不仅是为了加强IT职业的素养,对于从事这门工作的人来说Linux是必须要掌握的技术。
第二,Linux究竟是什么?
Linux是操作系统,那么什么是操作系统?这里简单来说,操作系统是一个软件,对硬件和软件进行同时管理的一门软件,我们日常安装,卸载东西都要通过操作系统来解决,软件来管理软件是很常见的事。那么,如果没有操作系统,我们打游戏的时候甚至要手动拨片,拨硬件的二进制位产生对应动作,十分麻烦,所以开机的过程就是加载操作系统这个软件的过程。
第三,Linux相对于闭源的操作系统来说有什么优点?
Linux是开源的,也就是说源代码我们是可以获取的,那么也就意味着Linux是稳定的,强大的,高效的,毕竟聚集了世界顶尖的程序员撰写的。
第四,Linux的应用场景是哪里?
Linux的应用场景可以是企业的应用后台,也可以是安卓手机,因为安卓手机的操作系统就是Linux,以及嵌入式领域和智能家居方面。这部分同学们可以了解一下苹果手机和安卓手机的爱恨情仇,以及它们背后的故事。
以上是Linux的部分了解,因为Linux是开源的,所以Linux的版本有很多,我们大致可以分为商业化版本和技术版本,商业化版本如:
这些都是商业化版本,我们平常学习的时候都是使用技术版本,常用的是2.6.11.
版本号分为 主版本号.次版本号.修正次数,其中次版本号分为奇数和偶数,奇数是开发版本,偶数是稳定版本。
那么对于想要看Linux源码的同学可以上官网:https://www.kernel.org/进行获取。
好了,话不多说,我们开始今天的Linux的学习,基本指令。
基本指令
这里因为本章的基本指令比较少,所以先罗列出来:
pwd ls mkdir cd clear whoami touch
1.1 pwd
pwd用来查看当前的所处路径:
现在我们所处的路径是根目录,所以显示的是/。
1.2 ls
ls是罗列出当前目录的所有文件名,当然我们现在没有创建,就还没有:
当时因为我们在根目录,所以有很多都是系统自带的,不然不信我们用mkdir创建一个目录然后进去观察;
我们现在的操作就是创建了一个Linux目录,然后进入到Linux目录里面,就会发现什么都没有。
1.3 mkdir + cd + clear
mkdir make direction,创建目录的英文缩写,所以该指令是用来创建目录的,那么上文也演示了,cd是用来进入目录或者是文件的。
那么可以看到,上面的界面似乎有些繁杂,我们想要清屏,就可以用clear来清屏:
清屏了之后就会变成这样。
1.4 touch
touch的作用是用来创建文件,比如:
我们现在就创建了文本文件,在Linux的目录下。
所以可以得出结论,touch和mkdir的区别就是一个创建的文本文件一个是创建的目录,这里为什么不说文件夹呢?
因为在Linux里面,一个文件的集合称为目录,就像windows的文件夹一样,文本文件和Windows的称呼是一样的。
在学习Linux的时候,我们应该结合windows来理解。
1.5 ls部分补充
首先我们引入一个问题:
我们在这里创建了一个文本文档,大小为什么是0?难道它在磁盘里面不占空间吗?
当然不是的,它肯定会在磁盘里面占空间的,但是为什么大小是0呢?
因为文件分为文件属性和文件内容,也就是说,我们虽然创建了一个文本文件,但是内容我们没有更新,所以计算出来的大小是0,但是文件属性,比如文件类型,文件名,文件的创建时间,都会被解析并以字符串的形式进行存储。
所以我们刚才使用ls的时候,展现出来的是文件的常见属性,现在我们想要看文件的详细信息应该怎么做呢?
使用指令ls -l即可
我们就可以看到文件的详细信息了,并且细心的同学可能会发现,ls -l 可以合并为ll,这时ls的一个补充。
那么现在再来介绍一下ls -l -a,可以写为ls -la或者是ls -al,这条指令的作用是用来展现路径的,像:
那么就有人疑惑了,怎么会有. .. 呢?咱们先不急,后面介绍。
1.6 whoami
whoami多好理解,我是谁,这条指令的意思就你知道现在的用户名是谁的,现在我们使用的是root:
1.7 有关目录以及路径
这是本文的重点。
在windows里面,文件夹是文件夹或者是文本文件的集合,在Linux里面称为目录,在windows的路径如下:
D:\C++\cpp-training\Cpp-learning
我们可以发现,存在\,这是什么呢?这是路径分割符,在linux下的路径分隔符是/:
是相反的两个斜杠。那么为什么要具有路径的概念呢?因为不管是Linux还是windows,本质来说是一个多叉树,每个节点只有一个父节点,所以根据路径我们绝对可以找到我们想要的文件,得出结论,路径具有唯一性。
那么现在就可以解决. .. 的问题了,这里给出答案,.是隐藏的文件也可以是当前路径,..是上级路径的说法,那么怎么验证.是隐藏的文件呢?
创建了.test.txt文件之后,直接展示文件信息是展示不出来的,就像windows里面的:
对.的行为可以说就是对隐藏的项目进行了操作。
那么怎么验证.也是当前路径呢?
我们处在Linux的路径下,那么cd .进入当前路径,相对于没有变,所以pwd之后还是一样的。
上级路径同理可得:
我们就成功回退到根目录了。
那么我们如何判断什么是目录什么是文件呢?
我们只需要判断文件的前缀,d开头的是目录,-开头的是普通文件:
linx是d开头的,是目录,test.txt是文件,得证。
现在引入绝对路径和相对路径的概念:
绝对路径就是从根目录一直往下走,走到我们想要的文件的那里,整个路径叫做绝对路径:
C:\Program Files\Microsoft Visual Studio 14.0\Common7
这种就是绝对路径,那么相对路径就是:
如果我们处在bin目录,想要访问lib目录我们可以 cd ./../lib 也可以直接../lib,相对于当前路径的一个访问路径,相对路径和绝对路径来说的差别就是起点不同而已。
以上是基本指令的一部分,关于更多的子指令,我们后面再介绍。
感谢阅读!