1. Window上的库文件是.dll格式的;Linux上的库文件是.so的

2. 计算机架构

      计算机底层硬件资源:是完全独立的,用来给上层数据执行运算

      Kernel内核:作为一个中间层,让上层程序透明化对底层硬件的需求,上层通过内核调用底层硬件,这就是我们所说的系统调用,但是系统调用太过于底层,就像你需要买馒头的时候,系统调用却给你了一堆麦子,所以基于系统调用的程序运行需要做很多的事情,但是系统调用绝对是权限最高的,或者说是最接近底层的,***能攻入一个系统的内核是很危险的。

      Library API(库):为了让上层程序直接调用硬件而做的很多个打包的软件。就像把内核给你的麦子,你可以做成埋头、饺子、包子等,根据你上层的程序需求直接用库的API软件接口。

      上层的各种程序:比如Shell、Word、PPT。。。。。

3. 如果自己开发一个操作系统,必不可少的逐渐就是硬件、内核、Shell和Shell做必须的库,就可以做成一个简单的操作系统,只不过这个系统是没有其他功能的而已。

4. Linux登录时的认证

       Login:用户名(用户ID)

       AAA:Authentication(认证)、Authorization(授权)、Audition(审计,一般通过日志记录)

5. magic number(魔数):程序的执行入口,在程序前面的二进制的特殊的字符,比如我们写程序的时候会在前面写的#!/bin/bash,这就是程序执行入口,就是魔数

6. list:ls----列出,列表,列出指定路径下的文件(显示当前目录下的文件)

      目录:也是文件,是一种路径映射

      很多选项:

            -l:显示文件的很多属性,叫做长格式

-l输出


                    第一个为的标识表示不一样,如下

                     -:普通文件(f)

                    d:目录文件

                    b:块设备文件(block)

                    c:字符设备文件(character)

                    l:符号链接文件(symbolic link file)

                    p:命令管道文件(pipe)

                    s:套接字文件(socket)

                 后面的9位,三位一组,没有的用-表示,rwx(读-写-执行)

                 文件硬链接的次数

                 文件的属主(owner)

                 文件的属组(group)

                 文件的大小(size),单位是字节

                 时间戳(timestamp),最近一次被修改的时间、最近一次被访问的时间、最近一次被改变的时间。(修改是表示文件内容修改,改变是文件的属性被改变)


              -h:做单位转换

                      -a:显示隐藏文件,隐藏文件以“.”开头的

                  . 表示当前目录的隐藏文件

                  ..表示父目录        

                -A:显示当前目录的隐藏文件,不显示上级目录的隐藏文件


              -d:显示目录自身属性

            -r:逆序显示文件

             -R:递归显示文件(就是把文件中的所有文件夹也给你显示)


7. pwd:显示当前的目录时什么。顶级目录一般用"/“表示

8. index node:在Linux系统中每个文件都有自己的唯一的数字编号,可以通过如下命令去查看

             -i:显示文件的唯一inode号

9. 切换目录用cd:change directory,只能是目录的名字在cd后面

      cd后面不接任何参数,表示切换到主目录或者叫家目录

      cd ~用户名,进入指定用户的家目录,只有管理员有权限进入

      cd -可以在当前目录和现在的目录之间切换

10. Linux命令的类型:

                  内置命令(Shell内置)

                 外部命令:在文件系统某个路径下有一个与命令名称相应的可执行文件

      可以用type显示命令属于哪种文件类型

11. 什么叫环境变量?

       命名的内存空间叫做变量,变量赋值,比如NAME=“atom”

 hash:可以看到你使用的命令被hit了多少次,第一次执行的命令回去查找,后面的相同的命令都是从缓存中提取的。缓存容器是存放命令的hash值,比你直接去取数据快很多。

  PATH:使用冒号分隔的路径。是一种环境变量。如果一个新的程序命令必须要放到PATH路径中,否则无法执行。