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

相关推荐

  • 文本处理sed的使用

    语法:sed【option】、、、‘script’ inputfile、、、 选项:         -n:不输出模式空间内容到屏幕,即不自动打印        -e: 多点编辑        -f:/PATH/SCRIPT_FILE: 从…

    Linux干货 2017-05-01
  • N21沉舟14周作业

    系统的INPUT和OUTPUT默认策略为DROP; iptables -P INPUT DROP iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响…

    Linux干货 2016-11-14
  • sed初步认识

     ◆ sed基础概念 ◆ sed用法 一.sed 基础概念: Stream EDitor (流/行编辑器) sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕…

    2017-03-16
  • 文本处理三剑客之sed及vi编辑使用

    作用:       sed是Linux系统文本处理工具中的三剑客之一,它是一种流编辑器,以行为单位,能够使用正则表达式;跟其他文本处理工具模式相同,不对原文件直接操作,而是先借用一个临 时的数据缓冲区存放文文本数据,同时还有一个自己独特的空间"pattern space",我们称之为sed的模式空间,它的处理…

    Linux干货 2016-08-11
  • Linux文本处理三剑客之一grep

            终于又到了一周一篇博客的日子 在这学习已经三周了,慢慢养成了写博客的好习惯,也慢慢的懂得了怎么写博客。这周给我印象最深刻的就是正则表达式,原本打算要写前几天所学的内容,但是昨天学到正则表达式让我有点懵,所以我今天会用一天的时间去给大家详细讲解正则表达式,争取让那些和我一样困解的人能够豁然开朗,也正是因为…

    2017-07-29
  • 负载均衡一个PHP应用

    1、mariadb、nfs服务器的设置 (centos 7) [root@localhost ~]# rpm -q rpcbind rpcbind-0.2.0-32.el7.x86_64 [root@localhost ~]# rpm -q nfs-utils (默认n…

    Linux干货 2016-10-31