Linux入门 及Basics基础

二进制:

0, 1

5大部件:

CPU:计算器、控制器

Memory: 存储器(内存)

编址存储单元阵列

输入设备/输出设备:I/O

键盘:

VGA:


辅助存储器

网卡


编程:

低级语言:汇编(微码编程)

高级语言:JAVA, C++, C, Scala, Python


转件:


时序复用:


计算机:硬件+软件

硬件:开发,制造

软件:编写,编译


OS: Operating System

通用软件,主要负责管理底层硬件设备,并且将调用接口抽象为易用的形式


库:

独立的功能模块,可被共享使用


应用程序:

人机交互接口:

GUI:Graphic User Interface

Windows, Gnome, KDE, Xfce

CLI:Command Line Interface

shell: bash, zsh, tcsh

特定应用程序

开发工具

…… ……


通过软件虚拟出硬件平台的程序:

创建多个“虚拟机”

虚拟的硬件平台

而后可以虚拟机上装OS


如何虚拟:

CPU:时序复用,把CPU的计算能力切割成timeslice

内存:把物理中空闲的离散的一段或几段组织成一个假的连续的空间当内存

IO:模拟

硬盘,网卡


硬盘:通过文件来模拟硬件(回环设备)

网卡:时序复用,也可通过软件模拟


virutalization, emulation


CMOS:Complimentary Metal Oxied Substance

BIOS:Basic Input and Output System


POST: Power On  and Self Testing


Ctrl, Alt, Insert (Delete)





计算机的5大部件:

CPU、内存、I/O

CPU:运算器、控制器、寄存器、缓存

内存:编址的存储单元阵列

8bits = 1Bytes

I/O设备:

I/O控制器


VM:虚拟机


硬件规格 –> OS –> 动态库(so, dll) –> 应用程序

用户界面

GUI

CLI


POST –> OS (内核, kernel) 


CPU:众多指令

特权指令:操作硬件,获取敏感资源

普通指令:


CPU:

用户模式:运行程序的普通指令

内核模式:运行特权指令


编程:开发语言

写程序 –> 编译 –> 目标代码


declare -i num1=2

declare -i num2=3

sum=$[$num1+$num2]


CPU1: 摩托,M68000,m68k

CPU2: Intel, Core 2

程序 –> 编译器 –> “翻译后的结果是特定于某类CPU的”


编程:

汇编语言:方言

CPU1

CPU2

高级语言:通用语言

程序(通用语言) –> 编译 –> 方言(汇编) 


源代码:source code

二进制程序:binary


硬件平台:X86, X86_64 (amd64), m68k, power(IBM), PowerPC, mips, arm, alpha, ultrasparc…

复杂指令集:CISC

精简指令集


OS的代码:99%可用高级语言编写,余下的1%使用特定平台的汇编编写;


www.top500.org: 超级计算机排名


高级语言:

编译:需要将整个程序事先转换可运行格式

解释:转换一个语句运行一个语句


ENIARC: 

电子管 –> 晶体管 –> 集成电路 –> 超大规模集成电路


MainFrame: 


DEC:PDP, VAX

批处理作业系统 –> Multics(多用户, 多任务)–> Ken (PDP7)

Unics –> Unix 

Dennis: C

C –> Unix


Berkeley分校:BSRG, Bill Joy

1976, Ken


TCP/IP协议,虚拟内存:BSD(Berkeley System Distribution)

Unix: System V, sysv

  BSD


SUN microsystem

IBM


Microsoft: XENIX


DOS: Disk OS


Apple: GUI


VAX: VMS

Windows NT


OS/2: Vista


BSD Lite:

FreeBSD

OpenBAD

NetBSD


Minix


MIT: Stallman, freedom

GNU: GNU is Not Unix

GPL: General Public License


copyright, copyleft

emacs, gcc


Linus: 

Linux: Unix-like


www.kernel.org


GNU/Linux


GNU: 各种程序,源代码

Linux: 源代码


Linux系统发行版:

Debian

Slackware

S.U.S.E

RedHat


版本:

kernel: 

发行商版本:

包管理器



PC兼容机:


Linux系统:由来、kernel, GNU, GPL, 发行版

Linux: kernel, GNU

GNU: GPL

kernel: GPL


Linux发行版:

Debian: Ubuntu (desktop, server)

Slackware: SUSE (SLES, OpenSUSE)

RedHat: RHEL, Fedora Core

RHEL:src.rpm

CentOS: Community ENTerprise OS


ArchLinux: 借鉴了FreeBSD

Gentoo:

LFS, Linux From Scratch


Android: Linux + jvm + android

Linux + Busybox + jvm + android


软件包管理器:

RPM:RedHat Package Manager, PRM is Package Manager

deb: dpt


RHEL:

发行更新速度较慢,更关注稳定性;

rhel 5 –> rhel 6 –> rhel 7

/sbin/init

rhel5: sysv init

rhel6: upstart

rhel7: systemd


RHEL 6.6 –> CentOS 6.6


对系统执行交互式访问:通过终端

终端的类型:

物理终端:VGA, console

虚拟终端:tty

Ctrl+Alt+F1-6

/dev/tty#

串行终端:serial interface, sty

伪终端:pty

/dev/pts/#

图形终端:

GUI


Ctrl + Alt + F7

前提:X Server 要启动

GNome: startx

KDE: startkde


Linux的用户:

管理员:root, 拥有最高权限

普通用户:不具有管理权限

实现管理任务:临时切换至管理员

su, sudo


bash prompt: 命令提示符

#

$


环境配置:通过环境变量来实现,持久有效需要保存在配置文件中

PS1


几个基础性的命令:

tty: 显示当前终端设备

who: 查看当前系统上登录的所有用户及其信息


Ctrl + c: 取消当前命令的执行

Shift + PageUp/PageDown


注意:Linux严格区分字符大小写

tty,  Tty


Stallman: 自由软件

自由的含义:

自由使用;自由学习和修改;自由分发;自由创建衍生版;


Linux的哲学思想:

1、一切皆文件;

把几乎所有资源,包括硬件设备都虚拟为文件形式;

open, read, wirte, close, create, delete

2、由众多功能单一的程序组成;一个程序只做一件事情,而且要做好;

组合多个程序完成复杂任务;

3、尽量避免跟用户交互;

目标:易于编程实现自动化任务执行;

4、使用文本文件保存配置信息;

原创文章,作者:wuxiaotian,如若转载,请注明出处:http://www.178linux.com/29707

(0)
wuxiaotianwuxiaotian
上一篇 2016-08-08
下一篇 2016-08-08

相关推荐

  • class14磁盘管理(一)

    一、硬盘基础知识及分区类型 1、磁盘结构 设备文件 I/O Ports: I/O 设备地址 一切皆文件:   open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键…

    Linux干货 2016-08-29
  • socket编程原理

    1、问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然…

    Linux干货 2015-04-10
  • LAMP运行环境搭建及部署php程序软件

    前言     Linux+Apache+MySQL+PHP是大多数web服务器的运行环境,能熟练配置此运行环境是每个运维的必备基本技能,本文以安装MySQL管理工具PHPmyadmin以及博客软件wordpress为例,演示编译安装LAMP运行环境的过程。 一、实验拓扑图 二、安装步骤 2.1 编译安装Apache h…

    2015-11-26
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次既可。 [root@director ~]# who | cut -d' ' -f 1 | sort | uniq &nbsp…

    Linux干货 2016-12-13
  • Lnmp安装脚本

    1、源码编译安装LNMP架构环境; 此题略 此链接为安装nginx时,编译参数和各个模块和第三方模块的介绍,十分丰富,安装前可以参考学习 https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/ 2、编写一个脚本完成以下功能:    (1)、一键搭建…

    Linux干货 2016-12-05
  • Linux文本处理三剑客之awk详解

    前言 awk是一款强大的报告生成器,不同于sed和grep,它的侧重点是如何把文本信息更好的展示出来,常用与统计和格式化输出。awk相当于微型的shell,有着自己一套语法结构,例如:循环结构,数组,条件判断,函数,内置变量等功能。处理对象一般纯文本文件或纯文本信息。 用法详解 基本语法 awk [options] 'progra…

    Linux干货 2015-04-29