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:显示文件的很多属性,叫做长格式
第一个为的标识表示不一样,如下
-:普通文件(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路径中,否则无法执行。
本文出自 “G-LAB郭主任” 博客,请务必保留此出处http://atomguo.blog.51cto.com/744135/1767903
原文地址:http://atomguo.blog.51cto.com/744135/1767903