Linux基础|青训营笔记

108 阅读8分钟

Linux基础

1、计算机硬件

控制器
运算器
存储器单元
输入单元
输出单元

2、计算机操作系统

定义:管理、控制计算机系统中的硬件和软件资源,用于用户与系统硬件之间传递信息。

管理计算机资源:处理器管理
               存储管理
               设备管理
               文件管理

提供用户接口:   命令接口
                图形用户接口
                程序调用接口

3、Linux系统结构

Linux系统一般有四个主要部分:内核
                           Shell
                           文件系统
                           应用程序
                           
Linux体系结构:①内核是硬件与软件之间的中间层
              ②内核是一个资源管理程序
              ③内核提供一组面向系统的指令
              

3.1、进程管理

       ·进程是正在执行的一个程序或命令
       ·进程有自己的地址空间,占用一定的系统资源
       ·一个CPU核同一时间只能运行一个进程
       ·进程由它的进程ID和它父进程ID唯一识别

3.2、进程调度

        ·R 可执行性状态
        ·S 可中断的睡眠状态
        ·D 不可中断的睡眠状态
        ·T 暂停状态或跟踪状态
        ·Z 退出状态,进程成为僵尸进程
        ·X 退出状态,进程即将被销毁
        

3.3、进程调度原则

         ·CPU 使用率:需要使 CPU 尽可能忙。
         ·吞吐量:一个时间单元内完成的进程数量。对于长进程,吞吐量可能为每小时一个进程;对于短进程,吞吐量可能为每秒 10 个进程。
         ·周转时间:从进程提交到进程完成的时间段称为周转时间。
         ·等待时间:进程在就绪队列中等待所花费的时间之和。
         ·响应时间:从提交请求到产生第一响应的时间。
         ·进程调度准则就是要:①使 CPU 使用率和吞吐率最大化,②周转时间、等待时间和响应时间最小化。这两个准则是互相矛盾的,不可能同时满足,所以要综合考虑。

3.4、进程的系统调用

         内核空间:系统内核运行的空间
         用户空间:应用程序运行的空间

image.png

3.5、文件系统

image.png

3.5.1 虚拟文件系统

   ·对应层提供一个标准的文件操作接口
   ·对文件系统提供一个标准的文件接入接口

image.png

3.6、用户权限+文件权限

image.png

3.7 Linux基础命令操作

>    首先介绍一个名词"控制台(console)",它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。
> 
> ls命令 :列举出目录下的文件和目录信息(list)。ls最常用的参数有三个:-a -l -F。ls -a除了显示一般文件名外,连隐藏文件也会显示出来。ls -l这个命令可以使用长格式显示文件内容,如果需要查看更详细的文件资料,就要用到ls -l这个指令。ls -F使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连接文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
> cd命令 : 改变目录(change dir)
> mkdir,rmdir命令 :mkdir命令用来建立新的目录,rmdir用来删除以建立的目录.
> cp命令 :拷贝文件或目录,具体用法是cp -r 源文件(source) 目的文件(target),参数r是指连同元文件中的子目录一同拷贝,如果a目录中有其他的子目录或文件,递归拷贝命令 。
> rm命令 : 这个命令是用来删除文件的,rm命令常用的参数有三个:-i, -r, -f。具体用法为:rm -i 文件名,系统会询问是否删除;rm -r 目录名这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。rm -f 文件名(目录名)这个操作可以进行强制删除。
> mv命令 :这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。另外因为linux下面没有rename的命令,所以如果你想给一个文件或目录重命名时可以用以下方法:mv 原文件(目录)名 新的文件(目录)名 。
> du,df命令 :du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况。
> cat命令:这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,它的用法如下:cat text 显示text这个文件;cat file1 file2 依顺序显示file1,file2的内容;cat file1 file2>file3 把file1,file2的内容结合起来,再"重定向(>)"到file3文件中。 ">“是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如:cat >file1 ,结果是会"空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。另外,如果你使用如下的指令: cat file1>>file2,这将变成将file1的文件内容"附加"到file2的文件后面,而file2的内容依然存在,这种重定向符>>比>常用,可以多多利用。
> more,less命令 :这是两个显式一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。more指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显式。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以当我们想随意浏览,阅读文章时,less是个非常好的选择。
> clear命令 :这个命令是用来清除屏幕的,它不需要任何参数,就可以使用它清除屏幕上的信息。
> pwd命令 :这个命令的作用是显示用户当前的工作路径。
> ln命令:功能是为某一个文件在另外一个位置建立一个链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
> man命令 : 如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man
> logout命令 :这是退出系统的命令,要强调的一点是,linux是多用户多进程的操作系统,因此如果你不用了,退出系统就可以了,关闭系统你就不用操心了,那是系统管理员的事情。但有一点切记,即便你是单机使用linux,logout以后也不能直接关机,因为这不是关机的命令。
> mount命令 :装载的命令是mount,格式如下:mount -t 文件系统类型 设备名 装载目录 文件系统类型就是分区格式。
> date命令 :时间。

命令参数不全时,按1/2次tab。

个人总结

这一节课的笔记跟我在学校上的操作系统类似,在学校上完课再来掘金系统巩固一下,感觉知识在慢慢消化,对相关概念掌握更加透彻了。