天天看點

2016年7月19日學習筆記

2016年7月19日學習筆記

計算機系統的組成部分

計算機系統由硬體系統和軟體系統兩大部分組成

硬體系統

馮.諾依曼體系結構:

1946年數學家馮.諾依曼提出運算器,控制器,存儲器,輸入裝置,輸出裝置。

具體變現為一下硬體:

運算器,控制器  ------>  CPU

存儲器          ------>  記憶體(斷電資料清空),硬碟(可永久存儲資料)

輸入裝置------>  鍵盤,滑鼠等

輸出裝置------>  顯示器 列印機等

軟體系統

OS : Operating System,通用的軟體程式

作業系統需要提供以下功能:

硬體驅動

程序管理

記憶體管理

網絡管理

安全管理

檔案管理

OS 分類:

伺服器OS :

RHEL, Centos ,Windows Server ,AIX

桌面OS :WIN 7 , WIN 10 ,Mac OS ,fedora

移動裝置OS :Andoriod ,IOS ,YunOS

開發接口标準:

如果需要使用者直接和硬體打交道很困難,由于硬體隻能識别二進制檔案,離人類語言相對比較遙遠,所有就定義了相關标準:

ABI :應用二進制接口,它描述了應用程式與OS之間底層接口,允許編譯好的目标代碼在使用相容的ABI的系統中無需改動就可以運作;

API :應用程式接口,它定義了源碼和庫之間的接口,是以同樣的源代碼可以在支援這個API的任何系統中編譯。

POSIX : 可移植性作業系統接口(有時間好好研究下)

伺服器三大系統

Windows :windows 2012  windows 2010

Linux :GUN/Linux

Slackware :SUSE linux Enterprise Server (SLES)

Opensuse (桌面)

Debian : ubuntu ,mint

Redhat : rhel

Centos

Fedora

Unix :System  (Bell Lab)

        AIX   (IBM)

   Solaris (SUN)

HP-UX (HP)

BSD:(Berkeley System Distribution)

NetBSD

OpenBSD

FreeBSD

Linux 哲學思想:

1.一切都是一個檔案(包括硬體);

2.小型,單一用途的程式;

3.連接配接程式,共同完成複雜的任務;

4.避免令人困惑的使用者界面;

5.配置資料存儲在文本中。

伺服器架構

以前的伺服器架構的(OIE):

資料庫:oracle資料庫

伺服器:IBM的小計

資料存儲:EMC資料存儲

現在服務架構:

資料庫:mysql(免費開源資料庫)

伺服器:X86伺服器

資料存儲:自定義存儲伺服器

關于機關換算:

計算機最小機關: b   bit 位

位元組byte:1byte = 8  b

2^10=1024=1K

2^20=1024K=1M

2^30=1024M=1G

2^40=1024G=1T

2^50=1024T=1P

2^60=1024P=1E

2^70=1024E=1Z

2^80=1024Z=1Y

2^901024Y=1B

Linux分區概括

關于Linux識别硬碟後,硬碟的顯示型式

sata  scsi  sas   塊裝置   字元裝置

/dev/sda,sdb.............sdz.sdaa.sdab

檔案系統

檔案系統:

硬碟檔案系統:ntfs , fat , ext2 , ext3 , ext4 , xfs , btrfs

CD光牒檔案系統:iso9660

分區類型:(擴充分區不一定是sda4 開始的)

MBR : 主引導記錄(master boot record)

  主分區:    1 disk <= 4 個;

  擴充分區:  1 disk <= 1個;

邏輯分區:/sda5-

GPT:

UEFI:

Linux分區要求:(Linux分區一個/就行)    

/dev/sda1/boot :

/dev/sda2/ :

/dev/sda3 swap :

/dev/sda4   擴充分區

/dev/sda5/testdir :

Linux 在分區和安裝系統時,可以看見背景的資料顯示

ctrl+alt+f2: 可以切化指令界面

ctrl+alt+f6: 可以切化圖形界面

基礎知識還需要加強(隻是基本的了解還多需要深入了解):

1.關于作業系統與電腦的通信過程(機器語言,彙編語言,C語言等等);

2.關于不同作業系統的磁盤分區及存儲資料方式學習;

學習的Linux的指令(後期慢慢做整理)

lscpu , file ,cat , yes , strace yes ,ltrace yes , lsblk ,df  

lscpu指令

功能說明:顯示關于CPU的資訊

[root@Centos7 ~]# lscpu

Architecture:          x86_64            #架構x86_64

CPU op-mode(s):        32-bit, 64-bit    

Byte Order:            Little Endian

CPU(s):                2

On-line CPU(s) list:   0,1

Thread(s) per core:    1

Core(s) per socket:    1

Socket(s):             2

NUMA node(s):          1

Vendor ID:             GenuineIntel

CPU family:            6

Model:                 60

Model name:            Intel(R) Core(TM) i5-4210M CPU @ 2.60GHz

Stepping:              3

CPU MHz:               2594.040

BogoMIPS:              5188.08

Hypervisor vendor:     VMware

Virtualization type:      full

L1d cache:             32K

L1i cache:             32K

L2 cache:              256K

L3 cache:              3072K

NUMA node0 CPU(s):     0,1

file指令

功能說明:該指令用來識别檔案類型,也可用來辨識一些檔案的編碼格式。它是通過檢視檔案的頭部資訊來  擷取檔案類型,而不是像Windows通過擴充名來确定檔案類型的。

              執行權限 :All User

              指令所在路徑:/usr/bin/file

文法: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ...

舉例:

[root@localhost bin]#  file dd  ---->檢視指令dd的檔案類型

dd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

[root@localhost bin]# file  cut ---->檢視指令dd的檔案類型

cut: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

[root@localhost bin]# file link ---->檢視指令dd的檔案類型

link: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

[root@localhost tmp]# file vgauthsvclog.txt.0

vgauthsvclog.txt.0: ASCII text

[root@localhost tmp]# file yum.log

yum.log: empty

[root@localhost tmp]# file yum_save_tx-2016-07-21-16-547yikMQ.yumtx  ---->檢視普通檔案類型

yum_save_tx-2016-07-21-16-547yikMQ.yumtx: ASCII text

cat:看文本檔案的指令

[root@localhost tmp]# cat /etc/issue

CentOS release 6.8 (Final)

Kernel \r on an \m

==============================

Welcome to my hostname SA!

Welcome to my hostname SC

lsblk : 檢視硬碟數量

功能說明:

lsblk(列出塊裝置)指令用于列出所有可用塊裝置的資訊,但是,它不會列出RAM盤的資訊。塊裝置有硬碟,閃存盤,CD-ROM等等。

            sblk指令包含在util-linux-ng包中,現在該包改名為util-linux。這個包帶了幾個其它工具,如dmesg。要安裝lsblk,請在此處下載下傳util-linux包。

文法:

 lsblk   [options]   [device...]

參數:

-a  : 預設選項

-m :Output info about device owner, group and mode(顯示裝置的屬主,屬組和權限)

-s  :逆序選項

[root@Centos7 ~]# lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  200G  0 disk

├─sda1   8:1    0  190M  0 part /boot

├─sda2   8:2    0 46.6G  0 part /

├─sda3   8:3    0  3.7G  0 part [SWAP]

├─sda4   8:4    0    1K  0 part

└─sda5   8:5    0 18.6G  0 part /testdir

sr0     11:0    1  7.2G  0 rom  /run/media/root/CentOS 7 x86_64

說明:

7個欄目名稱如下:

NAME : 這是塊裝置名。

MAJ:MIN : 本欄顯示主要和次要裝置号。

RM : 在本例中裝置sdb和sr0的RM值等于1,這說明他們是可移動裝置。

SIZE : 本欄列出裝置的容量大小資訊。例如298.1G表明該裝置大小為298.1GB,而1K表明該裝置大小為1KB。

RO : 該項表明裝置是否為隻讀。在本案例中,所有裝置的RO值為0,表明他們不是隻讀的。

TYPE :本欄顯示塊裝置是否是磁盤或磁盤上的一個分區,在本例中,sda和sdb是磁盤,而sr0是隻讀存儲(rom)。   

MOUNTPOINT : 本欄指出裝置挂載的挂載點。

df : 檢視磁盤空間

功能說明:linux中df指令的功能是用來檢查linux伺服器的檔案系統的磁盤空間占用情況。可以利用該指令來  擷取硬碟被占用了多少空間,目前還剩下多少空間等資訊。

文法: df  [選項]  [檔案]

必要參數:

-a :全部檔案系統清單

-h :友善閱讀方式顯示

-H :等于“-h”,但是計算式,1K=1000,而不是1K=1024

-i :顯示inode資訊

-k :區塊為1024位元組

-l :隻顯示本地檔案系統

-m :區塊為1048576位元組

--no-sync :忽略 sync 指令

-P :輸出格式為POSIX

--sync :在取得磁盤資訊前,先執行sync指令

-T :檔案系統類型

選擇參數:

--block-size=<區塊大小> :指定區塊大小

-t<檔案系統類型> :隻顯示標明檔案系統的磁盤資訊

-x<檔案系統類型> :不顯示標明檔案系統的磁盤資訊

--help :顯示幫助資訊

--version :顯示版本資訊

[root@Centos7 ~]# df  ---->顯示所有磁盤資訊

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda2       48803552 3297940  45505612   7% /

devtmpfs          486148       0    486148   0% /dev

tmpfs             500680      88    500592   1% /dev/shm

tmpfs             500680    7204    493476   2% /run

tmpfs             500680       0    500680   0% /sys/fs/cgroup

/dev/sda5       19520512   32928  19487584   1% /testdir

/dev/sda1         191148  141200     49948  74% /boot

tmpfs             100136      12    100124   1% /run/user/0

/dev/sr0         7587292 7587292         0 100% /run/media/root/CentOS 7 x86_64

[root@Centos7 ~]# df  -TH ---->檔案類型,人類可讀的方式

Filesystem     Type      Size  Used Avail Use% Mounted on

/dev/sda2      xfs        50G  3.4G   47G   7% /

devtmpfs       devtmpfs  498M     0  498M   0% /dev

tmpfs          tmpfs     513M   91k  513M   1% /dev/shm

tmpfs          tmpfs     513M  7.4M  506M   2% /run

tmpfs          tmpfs     513M     0  513M   0% /sys/fs/cgroup

/dev/sda5      xfs        20G   34M   20G   1% /testdir

/dev/sda1      xfs       196M  145M   52M  74% /boot

tmpfs          tmpfs     103M   13k  103M   1% /run/user/0

/dev/sr0       iso9660   7.8G  7.8G     0 100% /run/media/root/CentOS 7 x86_64

讓Centos自動開機登入,修改檔案配置如下:

gedit /etc/gdm/custom.conf

[daemon]

AutomaticLoginEnable=True

AutomaticLogin=root

學習過的其它小指令cat:看文本檔案的指令yes:螢幕上無限出現Y

strace  yes:(檢視系統調用YES指令程式)

繼續閱讀