【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服务端检索相关信息并完成相关网络配置, ...
随机推荐
- Java基础环境配置及HelloWorld
一.什么是JDK,JRE JDK(Java Development Kit Java开发工具包) JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE.所以安装了JDK, ...
- centos7使用MySQL的Yum存储库安装mysql5.7.27
下载yum源 官网地址:http://dev.mysql.com/downloads/repo/yum/ centos7系统: http://dev.mysql.com/get/mysql57-com ...
- docker容器互联,实现目录、服务共享
一.需求 docker使服务之间实现容器隔离,比如Javaweb项目前端.后端.数据库.数据库后台,分别把它们部署在不同的容器里面,实现隔离.但服务和服务之间也有互访的需求,这就涉及到容器网络和容器互 ...
- 用pycharm自带的数据库创建项目00
一.生成表格1.创建模型类(在 models.py文件中创建一个person类并且继承models.Models类) 2.生成表格(在项目目录下)(1)生成迁移文件:在pycharm下方的命令行Ter ...
- centos7使用fdisk:创建和维护MBR分区表
1.在VMware选择要添加硬盘的虚拟机,添加一块硬盘. 这样就有两块硬盘 2.重启虚拟机. cd /dev #dev是设备目录,下面有很多很多设备,其中就包含硬盘 ll grep | sd #过滤s ...
- Centos7内核版安装nginx环境问题及解决方法
错误信息:./configure: error: C compiler cc is not found解决方案:yum -y install gcc gcc-c++ autoconf automake ...
- MFC/QT 学习笔记(三)——MFC模板创建
新建项目->MFC模板->MFC应用程序->应用程序类型:单个文档:项目样式:MFC 标准->下一步...OK 此时点击运行,可直接弹出窗口. 调整 视图->类视图: · ...
- hive内置方法一览
引用 https://www.cnblogs.com/qingyunzong/p/8744593.html#_label0 官方文档 https://cwiki.apache.org/confluen ...
- 使用BeanUtils.populate将map集合封装为bean对象
1.前言 最近在做一个javaweb项目练练手,涉及到把jsp页面中表单的内容存到数据库,和request.getParameterMap配合使用可以将jsp页面表单的数据转化为bean对象. 2.介 ...
- vue-cli-service 报错
错误内容: vue-cli-service serve /bin/sh: vue-cli-service: command not found error Command failed with ex ...