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 16:17
下一篇 2016-08-08 16:17

相关推荐

  • ​源码编译安装LNMP

    源码编译安装LNMP 环境:CentOS6.6 IP: 172.16.10.10/16 GW:172.16.0.2 主机名称: lnmp.test.net 一、常规设置: 网卡: 临时 ifconfig eth0 172.16.10.10/16 up 永久 [root@www ~]# vim /etc/sysconfig/network-scripts/if…

    Linux干货 2016-11-14
  • 重定向及tr命令详解及其在管道中的使用简述

    一、标准输入和输出及其重定向         1.标准输入指的是来自键盘的输入,通常用0来表示;标注输出是默认输出到当前终端窗口,用1来表示;标准错误输出同样默认输出到当前终端窗口,用2来表示。除标准输出之外,我们还可以通过重定向来更改默认的输入和输出方式。   &nb…

    Linux干货 2016-08-11
  • DNS服务与bind配置

    DNS服务   DNS: Domain Name Service,协议   BIND:Bekerley Internat Name Domain, ISC (www.isc.org)   本地名称解析配置文件:hosts           linux:/et…

    Linux干货 2016-09-26
  • 基于mysql数据库的日志分析系统

    现如今,日志已经成为了我们分析系统及相关服务的一个重要工具。而日志也具有其相对较为固定的格式以便于进行统计查询。其大致格式如下: 日期时间            主机      &…

    Linux干货 2016-10-23
  • 主流Linux发行版对比

      对服务器来说,没有最好的Linux发行版。一切都取决于企业的实际需求。 如今Linux已不再只是一款自由操作系统,它还承载了许多企业的核心应用。在对比流行的Linux发行版时,不仅要考虑有吸引力的功能集,还要关注系统的支持与服务。 服务器管理员担心操作系统的维护和支持周期。维护生命周期指的是Linux发行版持续提供产品补丁和更新的时间。支持方面…

    Linux干货 2016-10-31
  • 设定Linux自动登陆

    设定Linux自动登陆 在实验场景中我们可能会经常重新启动Linux,然后反复输入账户密码登陆。为了在每次启动后快速进入系统减少在实验场景中不必要的工作,我们可以设定Linux在启动后自动登陆到指定账户(实验中一般为root账户)。基于Linux一切皆文件的思想,我们可以通过修改配置文本的方式决定是否启用自动登录,以及自动登录的账户是普通用户账户还是root…

    Linux干货 2017-07-15