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

相关推荐

  • Sed文本文件工具的使用详解

    Sed文本文件工具的使用详解 一、概述 sed 工具实际上就是一个非交互式的编辑器,主要是为了处理文本而生的,我们知道处理文本的三剑客是 grep sed awk 我们之前学习过 grep 文本过滤工具,它的主要作用是为了过滤文本,而sed 工具也是过滤文本,只不过sed工具针对的是文件中的每一行,而且sed工具更加强大,下面还具体说明一下sed 工具的原理…

    Linux干货 2016-10-09
  • 高级文件系统管理之逻辑卷管理

    一,概述 逻辑卷管理器(LVM)     LVM: Logical Volume Manager, Version:2          dm:device mapper (设备映射),将一个或多个底层块设备组织成一个逻辑设备的模块 &nb…

    Linux干货 2016-09-10
  • CentOS通过bind配置DNS服务器

    一、创建DNS主服务器 1、安装bind并配置主配置文件     主服务器为CentOS 7,主服务地址为172.16.11.55     安装bind [root@xinfeng ~]# yum install bind  &n…

    Linux干货 2016-04-18
  • Linux的哲学思想

    初学Linux,了解一下Linux的哲学思想,对学习Linux还是非常有帮助的。 在了解Linux的哲学思想之前,可以先考虑一下,现在我们所学的Linux系统到底是面向什么应用场景而研发和使用的?个人认为:面向企业,是一个服务器操作系统。其所关注的地方是:高性能、可靠性、易维护性。 基于上述方面的考虑,Linux系统在构建和设计的时候,遵循了如下的哲学思想进…

    Linux干货 2017-08-30
  • LVS负载均衡初接触

    Linux Cluster : Cluster : 计算机集合, 为解决某个特定问题组合起来形成的单个系统; Linux Cluster 类型 : LB : Load Balancing, 负载均衡;()HA : High Avaiibality, 高可用;( 通过冗余的方式让活动主机出现问题时取而代之, 并具有原主机一致的功能)HP : High Perf…

    Linux干货 2016-10-28
  • 脚本实现httpd创建虚拟主机

    概述 本文使用脚本实现基于主机名的虚拟主机按需创建: 脚本可接受参数,提供独立站点目录; 生成独立站点首页; 脚本可接受参数,参数虚拟主机名称; 每虚拟使用单独的配置文件; 脚本可接受参数,参数虚拟主机名称; 环境 系统基于CentOS7.2,并通过yum安装httpd 2.4.6 建议关闭防火墙和selinux。 演示   客户机将域名解析写入/…

    Linux干货 2016-10-08