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指令程式)