在Linux里面,我们要摆脱图形化界面,所有的操作都在终端上面通过命令实现。(终端:Ctrl+Alt+T打开)
接下来我们看:
1.文件的目录结构
摆脱图形化界面,最重要的一个是我们心里要有意识知道我们在哪里。在Windows上,不管我们的文件路径多深或浅,我们都不需要去记,因为我们能看见图形界面上显示的文件路径,如下:
但在Linux里面,我们可以用命令pwd来看我们在哪儿,pwd就表示我们在哪儿(pwd:显示当前所在位置的绝对路径)。
下面来看Linux里面的目录结构,在Windows里面是有一个C盘,你可以自己磁盘分区,再分出来D盘,E盘等。而Ubuntu的目录结构长这样
借助图形化界面我们可以看到这是在Linux系统下电脑里所有的东西
我们可以看到它只有一个根目录(相当于C盘)
在Ubuntu下所有文件夹就叫目录,那么每个目录都是什么意思,每个目录都固定存放些什么内容呢。
(/etc)我们来看一下什么是系统配置文件,配置文件就是系统启动起来的时候,它会把一些相关信息存到配置文件里(比如字符集啥的),然后在系统启动之前,它先读一下配置文件,配置文件是什么,它就给你读成什么。 比如说有一些常用的字符集,我们经常说把哪个字符集改一下,那在电脑重启之后,这个字符集又变成原来未改之前的了。 除非你改配置文件,配置文件一改,那么在重启系统的时候,它读的是你改了之后的配置文件,那么字符集也就是改了之后的了。
(/home)一般是/home/stu或者/home/stu1.这就是你是哪一个用户的家目录,是stu用户(stu为登录注册时用户名)还是stu1用户的家目录,因为Linux是一个多用户的系统。
家目录是说我们这是一个多用户,那么一个用户他自己是一家,那么他自己的目录东西啥的就是他自己的家目录。
这个目录相当于把什么东西都给它写死了,那么什么东西可以放在什么目录下它才可以正常运行,也就是给要存放的东西分门别类好,不能乱存放。
比如我现在有一个文件夹叫music,那么我就把我所有的歌曲放到music底下。那么我们能不能有一首歌不放到music底下,比如放到usr底下,也可以,但它就违背了我们说的归类的原则。
那为什么要归类,主要就是一个速度快,还有刚说了Linux是个多用户系统,我们减少沟通成本。
比如说有人说你去music找一下音乐,那就是去music文件夹下找。那如果这时找不到这个音乐,那么就有2种解决方案。
第一种,它在music里面找不到的话,那它可能再去别的地方比如说媒体文件夹里面找一找,说不定媒体里面有。那这样它一来一回的速度就慢了。
第二种,在大多数情况下,人家就约定好了,我让你去找音乐,你就直接在music底下一找,如果没有就直接走了,返回说没有此文件。
也就是说我们约定好什么东西放在什么地方,你要是放在其他地方了,你这个系统文件找不到了,那它就运行不了了。
这就是刚才说的文件能不能乱放,可以,那这样在给其他人使用的时候,就还要专门给别人说明一下,比如我把库文件没放在专门放库的地方,我放到其他地方了。 那么别人使用你这个东西的时候还得先把他自己的代码改一改,把去找库文件的代码从专门放库的地方改到你存放的另一个位置。 那这样沟通成本就大了,因为这是一个多用户,不像我们之前就各用各的,那我自己在哪放,我自己知道。现在大家都约定好哪个里面放什么,相当于一个使用规则,每个地方放什么都固定的,大家都默认使用这个常识。
(/proc)我们来看一下什么是虚拟的文件系统目录。它是一种文件系统,比如说到后面学进程相关的,那么它存储的就是内核运行状态的一系列文件。我们可以通过这些文件来查看内核的相关的运行信息,或者说进程运行的一些信息。甚至我们可以改变这些文件,去达到改变内核运行状态的一个目的。
(/mnt)在原来的时候安装一个东西,都是临时挂载,现在几乎都是源码安装了,所以这个就弱化了。 那么什么叫临时挂载点,什么叫挂载?就是我们平时用的u盘、光盘上面存的一个文件系统,我们平时没有办法访问。我是不是要把它这个U盘要插在计算机的相应这个接口上,而这种插入就叫挂载操作。 那么临时挂载点什么意思,你在windows上,你把U盘插进去之后,你的挂载点 就是 我的电脑,也就是在我的电脑里就可以打开插入的U盘。 而在linux上,你挂载上面就是 mnt ,就你插入一个u盘,它就把东西存在 mnt 底下了。挂载现在用的比较少了。
2.练习打开终端,进入或回退到 相应的目录下去
进入(cd是进入)到 根目录(/) 底下(在终端里面,没有消息就是最好的消息,没有消息就代表你的命令执行成功)
(ls)可以看到一个目录里面放的所有东西
这就是我们刚说的根目录底下的所有文件目录,每一个目录都是它分门别类 应该放的东西。
图形化界面就是这样的
那么接下来我们要进到 家目录 底下就是 cd home
那么ls进入家目录底下我们可以看到只有stu一个用户,
后面说多用户的时候,也可以再加用户 ,例如这是3个用户的
下面进到用户stu里面,看一下里面都有什么文件
而这些东西我们也可以在图形化界面是操作实现,进入一个文件目录就是鼠标点击它进入它,然后界面上显示的就是它里面有什么。
我们上面的操作就是进入 根目录 下面的 家目录 下面的 stu用户,而cd就是可以逐层进入到下一个目录文件。
那么有进入就有回退,在图形化界面我们回退是点击左上角的x号,那么在终端回退是(cd..)
cd..就是退回到上一层目录文件,例如从用户stu退回到上一层家目录
(cd跟后面接的东西之间要有空格)
这就是脑海里要有目录结构图,心里要知道我在哪里哪一层目录上,如果不知道了,就是pwd,显示当前的路径
显示返回上一层后 在(/)根目录 底下的(home)家目录 处。
3.进到里面写东西,权限问题
当一页写满后不想在最下面写时,可以写一个clear,就相当于翻了新的一页,开始在第一行写。
翻页后我们进到 根目录 底下,如果要在根目录下面创建一个文件,使用命令touch,建一个文件名叫 a.txt 的文件就是touch a.txt.
我们会发现权限不够,为啥我的权限不够?因为我是普通用户。 你普通用户的家目录在哪,在根目录下的home你那个文件就是你那个用户名stu底下才是你的家目录,就相当于你只能在你的家里面做一些操作。 你不是管理员,所以不是所有的都能去做,所以你在根目录底下,你想建一个文件,那肯定写入不了,因为你不是管理员用户。 当然你想写的话,你就转换成管理员,或者在你的自己的家里面(stu底下)去写。
我们会发现如果在home底下去建这个 a.txt 文件,还是权限不够
所以在home这一层我们还是没有权限,所以要再下进一层,到stu的一层里,自己的家里才能去创建写一个文件
我们可以发现a.txt这个文件创建好了,并且stu底下有这个文件
(这里一般cd和ls要配合着使用,cd只是进去目录了但不显示目录下的东西,ls才是显示)
这里是一些常用的命令,这里我们看一下(cd.),点号就是当前的意思,比如我们用cd..退回到上一层home目录,再用cd.进入到就是当前的home目录
比如我们有时候当前的一个路径特别深,那我们在要找这个目录下的某个文件时,如果你就在当前这个路径上,就不用写前面的怎么进入当前目录文件的一长串,就用点号代替当前位置,如上图在当前的home目录下进入到其stu里面就是这样