【Linux02】LInux初始入门
1、LInux操作系统发展与演变
ENIARC:
CUP:运算器、控制器。寄存器、缓存
存储器:内存、RAM
Input:指令+数据
Output:结果
程序:指令+数据 算法+数据结构
字节是最小存储单位,cpu以字节的形式进行读取,32位操作系统一次可以读取32bit 2^32=2^2 * 2^10 * 2^10 *2^10 bit =4GB
内存是编址的存储单元
单任务: CPU和内存速度不匹配,CPU空闲
多任务:中断系统
Bell,MIT,GE=Mutics
DEC:PDP-汇编语言
Unics = unix(1969)
B:Dennis Ritch,C
Berkeley:
Bill Joy, BSRG,1977, BSD(Berkeley System Distribution)
Mircrosoft: Bills Gates
SUN: Bill Joy
Apple:XEROX
1985: Richard Stallman
GNU: GNU is NOT Unix
GPL:General Public License
FSF:Free Software Foundation
X-windows
gcc: GNU C Compiler
vi; visual interface
Unix二次发行版
SUN:Solaris
IBM:AIX
HP:HP-UX
Andrew: Minix, 4000+行
1990:BSD
1991年8月: Linux
GPL
2、操作系统改概念
操作系统为每个程序虚拟出一个美好花园,让每个程序觉得只有自己独占硬件系统,
程序是静态,进程是动态
广义上的操作系统:Kernel+Applications
狭义上的操作系统:Kernel
GNU提供Applications,Linus提供Kernel,就成了GNU/Linux,简称Linux
GNU/Linux是以源码(文本)的形式提供
大教堂式开发
集市式开发
Mac:BSD
选定了方向就一直坚持下去
OS的接口有两类:
GUI:Graphic User Interface
GNome:C,GTK
KED: C++,QT
CLI: Command LIne Interface
bash
zsh
sh
3、操作系统的功能:
驱动程序
进程管理
安全管理
网络管理
文件系统
......
API:Application Program Interface
程序员面对的编程接口
POSIX:Portable Operating system
是为了不同操作系统提供统一的编程接口,它会把统一的API转化成不同系统的ABI
硬件-->Kernel(system call)-->Library-->POSIX
ABI:Application Binary Interface windows(exe,msi),linux(deb,elf)
程序运行面对的运行接口
不同系统的API是一样的,不同系统的ABI不一样,中间通过POSIX转化,使得不同系统上开发的程序可以相互移植运行
linux和window的API兼容,编译后的ABI不兼容
Unix-Like的系统API和ABI都兼容
4、Linux 发行版
GNU:
不同厂商把Linux源码编译成二进制格式运行称为Linux的发行版
主要发行版:
1、Debian: 更轻巧,对技术能力要求更高
Ubuntu
mint
knopix
2、Slackware
S.u.S.E
OpenSUSE
3、Redhat
Redhat 9.0
Redhat Enterprise Linux: RHEL 主要是出问题了,只提供源码,编译成二进制运行要收服务费
CentOS:Community enterprise OS
Fedora Core
4、Gentoo
5、ArchLinux
软件版本号
major.minor.release 2.1.3
Linux:0.99, 2.2, 2.4, 2.6, 3.0, 4.0
www.kernel.org
GNU:
vi
gcc
发行版也有自己的版本号
RHEL:5.x, 6.x, 7.x
Debian: 8.x
OpenSuSE:13.x
5、Linux基础
CPU架构:
x86
x64(amd64)兼容x86
m68000:摩托罗拉
arm:手持智能设备
ultrasparch:SUN
power:IBM
MIPS
alpha:HP-ux
闭源:不提供源代码
开源协定:
GPL:General Public License 最为严格的开源
LGPL:Lesser GPL
FSF:Free Software Foundation
BSD:宽松的GPL
Apache:宽松的GPL
ASF:Apache Software Foundation
双线授权:许多人采用的方式
Community:遵循开源协定
Enterprise:更易用,收费
程序管理
程序的组成部分
二进制程序
配置文件
库文件(二次开发)
帮助文件
程序包管理
把程序组成的文件打包成一个或有限几个文件
安装:把程序的各部分文件放在指定目录下
卸载:把程序的各部分文件输删除
Debian:dpkg, apt-get
Redhat:rpm,yum(dnf)
S.u.S.E:rpm, zypper
ArchLinux:port
Gentoo:
LFS:Linux From Scratch
#localectl set-locale LANG=zh_CN.utf8 //设置中文
【Linux02】LInux初始入门的更多相关文章
- Linux pwn入门教程(10)——针对函数重定位流程的几种攻击
作者:Tangerine@SAINTSEC 本系列的最后一篇 感谢各位看客的支持 感谢原作者的付出一直以来都有读者向笔者咨询教程系列问题,奈何该系列并非笔者所写[笔者仅为代发]且笔者功底薄弱,故无法解 ...
- 6)Linux程序设计入门--消息管理
)Linux程序设计入门--消息管理 前言:Linux下的进程通信(IPC) Linux下的进程通信(IPC) POSIX无名信号量 System V信号量 System V消息队列 System V ...
- 7)Linux程序设计入门--网络编程
)Linux程序设计入门--网络编程 Linux系统的一个主要特点是他的网络功能非常强大.随着网络的日益普及,基于网络的 应用也将越来越多. 在这个网络时代,掌握了Linux的网络编程技术,将令每一个 ...
- Linux系统入门---开机启动流程
目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: ...
- IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)
IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...
- Linux 基础入门(新版)”实验报告一~十二
实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- Linux 基础入门 第二周9.21~9.27
一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...
- 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP
使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...
随机推荐
- 能否不同udp socket绑定到同一IP地址和port
http://www.softlab.ntua.gr/facilities/documentation/unix/unix-socket-faq/unix-socket-faq-4.html http ...
- U盘模式无法引导进入pe系统
有些笔记本.一体机 特别是win8.win10系统维护时需要 通过u盘进入pe系统,就是进不去,需要到bios中更改一下设置. 1.首先我们将已经使用u启动u盘启动盘制作 ...
- Admin后台权限管理、三大认证
目录 APIView的请求生命周期 三大认证规则 权限六表 自定义User表 详细配置演示 models.py setting.py admin.py 使用过程: 控制填写信息的字段 控制添加权限 控 ...
- .net List回收
转 static void Main(string[] args) { List<int> list = new List<int>(); for (int i = 0; i ...
- python笔记23(面向对象课程五)
今日内容 上节作业 单例模式 class Foo: pass obj1 = Foo() # 实例,对象 obj2 = Foo() # 实例,对象 日志模块(logging) 程序的目录结构 内容回顾 ...
- 2020软件工程作业01 Deadline: 2020/03/07 20:00pm
1.建立博客 https://github.com/smithLIUandhisbaby 20177572 https://www.cnblogs.com/smith324/ 2.回顾——我的初心 对 ...
- Centos7.6 Mysql数据库自动备份配置
1.查看磁盘空间情况 执行 df -h 选择剩余空间最大的目录 (以/目录为例) 2.创建备份目录: cd / mkdir backup cd backup 3.创建备份Shell脚本: vim mo ...
- webpack打包进行丑化压缩遇到(TypeError Cannot read property 'compilation' of undefined)问题
今天再重新配置老项目node打包环境的时候遇到了一个问题. 在打包的时候报: TypeError: Cannot read property 'compilation' of undefined 错误 ...
- 不用循环游标,一句update代码实现滚动计算
发现一段经典SQL,不用循环游标,一句update代码实现滚动计算结存.为方便理解,结合实例测试之 --1,源数据#t1,jcshl初值为每个sid的当前库存数量,要实现的效果:每个sid的后一结存数 ...
- MATLAB应用专题part2-电力电子仿真技术
有匪君子,如切如磋,如琢如磨. --<诗经·卫风·淇奥> 这篇博客知识我记录一下我在仿真学习中积累到的知识和遇到的坑. 第一部分:知识部分 1.为什么电阻与电感串联电路中电流的波形比电压的 ...