歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux入門及 Basics

Linux入門及 Basics

日期:2017/3/3 11:05:53   编辑:Linux技術

二進制:

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、使用文本文件保存配置信息;

本文出自 “11900715” 博客,謝絕轉載!

Copyright © Linux教程網 All Rights Reserved