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.www58058.com/29707

(0)
wuxiaotianwuxiaotian
上一篇 2016-08-08 16:17
下一篇 2016-08-08 20:10

相關推薦

  • bash進階學習ing

    使用read命令來接受輸入使用read來把輸入值分配給一個或多個shell變量: -p 指定要顯示的提示 -t TIMEOUT read 從標準輸入中讀取值,給每個單詞分配一個變量所有剩余單詞都被分配給最后一個變量read -p “Enter a filename: “ FILE 條件選擇if語句選擇執行:注意: if語句可嵌套單分支if 判斷條件: the…

    Linux干貨 2016-08-21
  • MAN手冊各章節功能介紹及快捷鍵鍵位整理

       初學linux ,請教別人的時候,遇到人不耐煩回答我等菜菜的問題,都會說一句,“自己去man”,“翻過man了嗎,再來問吧”,哦,my gd,這個man到底是何方超人啊,其實man就是linux自帶的文檔,假如你不知道ls這個命令的用法,你可以試著敲入 man  ls  ,然后來看看,會有啥結果。效果不錯吧,一般…

    Linux干貨 2016-10-18
  • linux中的磁盤陣列(RAID)

    RAID: Redundant Arrays of Inexpensive Disks  Independent 提高IO能力: 通過磁盤并行讀寫實現 提高耐用性能: 磁盤冗余來實現 級別: 多塊磁盤組織在一起的工作方式有所不同: RAID是的方式: 外接式磁盤陣列: 通過擴展卡提供適配能力 內接式RAID: 主板集成RAID控制器 Softwar…

    Linux干貨 2016-08-29
  • Web緩存核心技術點需知

    Edit Web緩存核心技術點需知 5.1 HTTP首部控制 5.2 基于新鮮度檢測機制: 2.1 特征1:時間局部性 2.2 特征2:空間局部性 2.3 緩存的優點 2.4 哪類數據應該被緩存 2.5 哪類數據可緩存但不應該被緩存 2.6 緩存命中率決定緩存有效性 2.7 緩存數據生命周期 2.8 緩存處理步驟 2.9 緩存和普通數據讀取的區別 1. 完整…

    Linux干貨 2016-11-14
  • LVS詳解

    LVS詳解 LVS(Linux Virtual Server),意即Linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。 LVS 是一個工作在四層的負載均衡器,實現和 iptables/netfilter 類似,工作在內核空間的 TCP/IP 協議棧上,LVS 工作在 INPUT H…

    Linux干貨 2016-11-11
  • 學而時習之

    1、 Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理類命令 ls, 查看:cat,more,less,tail,head,tac 復制:cp 移動:mv 刪除:rm 創建:touch 元數據屬性:stat 查看內容類型:file 文本編輯器:nano,vi Linux的文件類型       &…

    Linux干貨 2016-09-24
欧美性久久久久