@toc
写在前面
好久没有写博客了,学校快要期末考试了,这个是在零碎的时间的拼凑出来了的。闲言少序,在了解了Linux的历史背景后,我们需要开始初步开始学习如何使用Linux系统.
操作系统
我们需要花上一点时间,看看操作系统是什么东西.
由于我们操作硬件效率太过低下,难度也特别高,所以我们发明的操作系统.我们都知道C语言存在printf函数,我们可以通过这个函数在显示器上打印东西,而显示器是硬件,也就是说<font color = red>软件可以修改硬件</font>,我们来看看计算的组成.
- 最底层 : 硬件 包括键盘 显示器 网卡 显卡
- 驱动软件层 向下有各种硬件的驱动软件,调度硬件 ,向上提供各种接口
- 狭义上这一层是操作系统 包含 进程管理 ,文件管理 ,内存管理 ,驱动管理
- 用户层 包含图形化界面,各种库,应用程序
上面的是很官方的东西,我们用一个例子来举例.我们需要用银行的例子来举例,这也是蛋哥举得.
首先存在一个银行,里面有桌椅板凳和存钱的设备,这些就是硬件,另外存在不同的工作人员来使用这些硬件,他们就是驱动层,银行肯定是有业务的,所以存在业务管理人员负责调度这些驱动人员完成相应的工作.;我们作为用户就是使用手机电脑或者现场办理这些业务,那么手机和电脑就是相应的用户层,其中可能会存在黄牛,他们属于第三方的库,这就是一套银行系统.其中业务管理人员就是我们学的操作系统.
操作系统的作用
- 对下 管理底下的软硬件资源
- 对上 给用户提供一个良好的,稳定的,高效的用户环境
Linux操作系统
既然现实生活中也存在很多种银行,操作系统也是如此,Linux就是其中一款操作系统.
常见指令
什么是指令?指令是我们与Linux交互的手段,我们在Windows环境下,使用的是图形化界面,我们可以使用鼠标来进行点点点,但是在Linux环境下,我们不建议使用鼠标,更喜欢通过指令来和计算机进行交互,通过指令来让计算机完成自己想要的工作.在Linux系统下,可以使用的指令有很多,大概有1000多个,我们常用的大概是100左右.有人可能会对这感到恐惧,这么多?不要害怕,我们是渐进式学习的,用着用着这些指令就会明白了,对于那些不了解的指令,我们还可以上网去查,都有的.
为什么要学习指令
我们到底要不要学习指令呢?对于非专业人员不需要掌握,对于我们而言,学习操作系统我们一定需要了解指令.这是肯定的.指令先于鼠标出现,早期的计算机就是为了数据计算,需要键盘输入数据.人们从打字机那里来演变出了键盘,出现了键盘后,所有的操作系统都支持指令操作,知道乔布斯发现了图形化界面的操作系统.指令离OS最近,指令学习可以让我们掌握OS.
指令的选项
几乎所有的指令都会带选选项的,所谓的选项是对这个指令进一步的补充,就比如指令是一个导航搜索的地址,选项就是把这个地址进一步精确的多少米的范围.选项与选项之间是可以共同使用的,这个后面我们用到的时候在谈.
ls 指令
ls 指令 是查找当前目录下的东西包含该目录下的所有子目录与文件.
也就是说 在2022_06_03文件夹中包含一个code文件夹和一个file.txt文本文件,ls就可以把它们显出出来.
常用的选项
我们的选项有很多,这里我们先列出一些常用的选项.
- -l 列出文件的详细信息
- -a 列出目录下的所有文件,包括以 . 开头的==隐含文件==
-l 选项
通过这个选项我们可以看出该文件是文件夹,还是一个普通文件.
- 文件夹 也就是子目录 用drwxrwxr-x 表示
- 普通文件 用-rw-rw-r-- 表示
还可以看到该文件的大小,以及创建时间,可以说是很详细了.
-a 选项
-a可以看到该目录下所有的文件,包含隐藏文件,所谓的隐藏文件,就是不想让别人看到的文件,文件名前面带一个==.==
在Windows环境下,也存在隐藏文件.
我们来看看该选项的用法
-a和-l选项可以相互配合使用,不用在乎它们的相互顺序
一般情况下,我们知道这两个选项已经就够用了,下面还有一些不常用的选项.
- -d 将目录像文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录(绝对地址)
- -i 输出文件的 i 节点的索引信息
- -k 以 k 字节的形式表示文件的大小 ,配合 -l使用
- -n 用数字的 UID,GID 代替名称 (UID,GID先不用了解)
- -F 在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)
-d
-i
-k
-n
-F
. 和 ..
在我们使用-a选项中都看到了<font color = blue>. 和 ..</font>,那么这两个东西代表的都是什么意思呢?,我们这里先来简单的了解一下,具体如何使用会在下面的cd指令说的.
- . 表示 是当前目录
- .. 表示是上级目录
touch & mkdir 指令
这是两个指令,作用都是为了创建东西,它们相应的选项也是存在的,但是这里我先不和大家分享,只看它们最基本的功能.
我们看看它们的区别
- touch 创建文本文件,例如.txt文件
- mkdir 创建一个文件夹,类似Windows下的新建文件夹
我们先来看看它们的现象.
touch指令
可以创建文本文件,可以一个,可以多个,创建多个的时候,文件之间隔一个空格就可以了.
touch 文件名+后缀
touch 文件名1+后缀 文件名2+后缀
空文件占据硬盘的资源吗
这是一个常识问题,是占据硬盘资源的,我们在C语言中学过文件指针,它是文件属性之一,这些信息是保存在硬盘当中的,也就是说文件 = 文件内容 + 文件属性.
mkdir 指令
mkdir是创建文件夹的,我们一看就可以明白了.这个指令和touch一样,也可以一次创建多个文件夹,这种我们先不谈,我们要说说另外一种,创建一段路径
mkdir 文件夹名
创建一段路径 带了选项 -p
mkdir -p le1/le2/le3
rmdir & rm 指令
既然我们已经学了创建指令了,那么删除指令这里我们先提前说了吧.
rmdir
rmdir删除的是文件夹我们先来看看效果.
rmdir 文件夹名
但是我们有时会遇到这种情况,文件夹里面存在文件,单纯的使用rmdir就不能删除了,所以这个指令我们不常用,下面的rm会解决这个问题的,这才是我们的最爱.
rm
rm是删除普通文件的,我们这里先来看看它的作用.
rm 文件名+后缀
rm -r
我们可以通过rm -r来删除存在文件的目录,-r是递归的意思.
rm -r 目录名
rm -f
这个指令大家可能还用不到,这里提前说说,有的文件需要很高的权限,我们删除的时候计算机会问"你确定删除这个文件吗?",我们这个选项使用后,他就不会出现了,-f 中f是force的意思.我么就不演示了.
pwd 指令
pwd 这个指令就只有一个作用,查看当前所在的目录,这个很简单.
大家可能发现了,在linux中,路径分割符时==/==,而在Windows中,是==\==,大家不要记混了.
相对路径&绝对路径
大家都知道什么是绝对路径,就是我们可以通过他给的线索一定可以找到目标.所谓的相对路径是需要一个参考物的,相对路径也是如此,我们是以当前文件所处的地址为参考对象.
我们需要谈谈目录,目录是具有唯一性的,在Linux下,它们是由树形结构组成的.
- 相对路径 以当前文件为参考对象
- 绝对路经 从根目录出发,pwd查出的就是绝对路径
cd指令
我们在Windows环境下如何进入文件夹中,又是如何回到上级目录呢?我们可以通过点击鼠标来进行.
但是在Linux中,我们通过cd指令来操作,来看看把.
使用相对路径
我们可以cd时用相对路径,这样进入的就是该目录下的文件夹.
cd 文件夹名
使用绝对路径
我们已经学过了pwd指令了,如果我们想要一次性跳到我们想要的目录下,可以使用绝对路径.我们看看
cd 绝对路径
cd 回到上级目录
我们如何在Linux中回到上级目录呢?前面我们谈到了==..==表示是上级目录的意思,这样我们可以通过通过下面的指令来进行
cd ..
这里有一个问题,如果我们一直回到上级目录,会发生什么情况?我们会看到下面的情况.
我们会一直停留在一个目录下面,这也是可以理解的,我们在windows中也会出现这种情况,是我们已经到最开始的,目录了.
cd常见的快捷方式
我们这里只和大家分享两种快捷方式,一个是直接到家目录,另外一个是回到上次所在的目录.
cd ~
cd ~ 可以让我们直接回到家目录
cd -
可以回到上次所在的目录
【文章原创作者:武汉网站优化公司 http://www.5h5q.com/wzyh/ 复制请保留原URL】