一.計算機發展歷史及硬件組成部分
計算機發展歷史:第一代:(1946-1957)電子管時代,第二代:(1958-1964)晶體管時代,
第三代:(1965-1970)集成電路時代,第四代:(1971以后)大規模集成電路時代。
計算機硬件組成部分:
運算器:執行各種運算和邏輯運算的操作部件。
控制器:制邏輯單元的核心組件。
輸出設備:輸出計算機的處理結果。
輸入設備:把原始數據和處理這些數據的程序通過輸入接口輸入到計算機的存儲器中。
存儲器:
內部存儲器:用于存放計算機當前正在運行的程序、數據等;內部存儲還分為隨機存取存儲器RAM和只讀存儲器ROM。
外部存儲器:用于存放大量不參加計算機運算和處理的程序,數據等。
高速緩沖存儲器:CPU與內存交換數據的緩沖區,是為了解決內存與CPU速度不匹配問題而設計的存儲設備
二.服務器硬件組成部分,操作系統以及linux發行版本
服務器Server是計算機的一種,是網絡中為客戶端計算機提供各種服務高性能的計算機。服務器在網絡操作系統的控制下,將硬盤,磁帶,打印機等轉中網絡設備給網絡上的客戶站點共享,也能為網絡用戶提供集中計算,信息發布及數據管理等。
服務器按應用功能可分為:Web服務器,數據庫服務器,日志服務器,文件服務器等等。
服務器按外形分類:塔式服務器,機架式服務器(高度以U為計算單位,1U=1.75英寸=44.45毫米),刀片式服務器。
服務器硬件組成部分:
cpu英文縮寫(central Peocessing Unit),又叫中央處理器,有控制器和運算器組成,cpu主流類型:x86。
主板:(mainboard),系統板(systemboard)或母板(motherboard)是計算機最基本的也是最重要的部件之一。
內存:內存是介于cpu和外部存儲之間,cpu對外部存儲中程序和數據進行高速運算時存放程序指令,數據和中間結果的空間,物理實質就是一組具備數據輸入輸出和數據存儲功能的高速集成電路。內存是cpu能直接尋址的存儲空間,存取速度快。
硬盤:物理存儲的介質
電源:支持服務器的電力負載
風扇:散熱
顯卡:GPU(Graphic processing Unit)圖形處理器
Pci:擴展槽
熱插拔:又叫熱交換技術(HotSwap)允許不關機的狀態下更換有故障支持熱插拔技術的設備,熱插拔一硬盤技術和Raid技術配合可以使服務器在不關機的狀態下恢復故障硬盤上的數據,并不影響網絡用戶對數據的使用。
服務器三大操作系統:windows,linux,Unix(System,BSD)
linux發行版本:slackware,debian,redhat(rhel,CentOS,中標麒麟,fedrea)Archlinux,Gentoo,LFS,Android
DAS(Direct Attached Storage)直接連接存儲,存儲設備與主機緊密相連。
NAS(Network Attached Storage)網絡連接存儲,通過局域網在多個文件服務器之間實現了互聯,基于文件的協議。
SAN(Storage Area Networks)存儲區間網絡,利用告訴的光纖網絡鏈接服務器和存儲設備,基于SCSI,IP,ATM等多種高級協議,實現存儲共享
三、linux哲學原理
一切皆文件,包括硬件也能以文件的形式顯示出來。
有眾多單一目的的小程序組成,一個程序完成一個功能。
鏈接一個個小程序,組合起來完成復雜的任務。
避免令人困惑的用戶界面。
配置數據存儲在文本里。
四、linux基礎
管理員用戶:# 一個特殊的管理用戶,也叫超級用戶,對系統損害幾乎有無限的能力。
管理員用戶全靠uid來判斷,uid為0,就是管理員。
[root@English6 ~]# id root uid=0(root) gid=0(root) groups=0(root) 由此可見,root用戶uid為0,所以root為管理員用戶。
普通用戶:$ 權限有限,對系統草成傷害的能力有限。
終端:
物理終端:對應/dev/console 直接接入本機的顯示器和鍵盤設備。
虛擬終端:對應/dev/pts 附加在物理終端上以軟件方式虛擬實現的終端。
交互式接口:啟動終端后,在終端設備上附加一個交互式應用程序。分為GUI和CLI兩種。
查看當前的終端設備:tty
[root@English6 ~]# tty /dev/pts/1
Shell:linux命令解釋器,接收用戶輸入的命令把它送入內核執行;shell也是一種編程語言.
bash shell:linux標準的shell。
顯示當前實用的shell:echo $shell
[root@English6 ~]# echo $SHELL /bin/bash
顯示當前系統使用所有shell:cat /etc/shells
[root@English6 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh
執行命令:輸入命令,用回車鍵發送,在shell程序中找到輸入命令所對應的可執行程序或代碼,并由其分析提交給內核分配資源將其運行起來。
shell中可執行的命令有兩種:
內部命令:shell自帶的命令,通過某命令形式提供。
外部命令:當先系統的某文件路徑下有對應的可執行程序文件。
區分內部命令還是外部命令:type
[root@English6 ~]# type history history is a shell builtin 顯示history是內部命令。 [root@English6 ~]# type date date is /bin/date 顯示date是外部命令。
hash:查詢外部命令路徑結果會緩存在kv存儲中,
[root@English6 ~]# hash hits command 0 /bin/date 2 /bin/cat
hash -r:清除緩存
[root@English6 ~]# hash -r [root@English6 ~]# hash hash: hash table empty
命令格式:command[options][arguments]
選項:用于啟用或關閉命令的某個或某些功能。
短選項:-c,-l,-h
長選項:–word,–all,
參數:命令的作用對象,比如文件命,用戶名等。
五、linux基礎命令及應用
ls:列出當前路徑下的文件或文件夾。
[root@English6 ~]# ls anaconda-ks.cfg Documents install.log.syslog Public a.out Downloads Music Templates Desktop install.log Pictures Videos
pwd:查看當前目錄下的完整路徑。
[root@English6 dev]# pwd /dev
cd:cd /dev 進入dev目錄,cd進入系統根目錄。
[root@English6 ~]# cd /bin [root@English6 bin]# pwd /bin [root@English6 bin]# cd [root@English6 ~]# pwd /root
lscpu:查看cpu信息。
[root@English6 ~]# lscpu Architecture: 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: 58 Model name: Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz Stepping: 9 CPU MHz: 1795.921 BogoMIPS: 3591.84 Hypervisor vendor: VMware Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0,1
lsb_release:查看系統版本發行信息。
[root@English6 ~]# lsb_release LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
lsblk:查看當前硬盤信息。
[root@English6 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 200M 0 part /boot ├─sda2 8:2 0 48.8G 0 part / ├─sda3 8:3 0 19.5G 0 part /testdir ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 3.9G 0 part [SWAP] sr0 11:0 1 3.7G 0 rom /media/CentOS_6.8_Final
free:查看內存信息。
[root@English6 ~]# free total used free shared buffers cached Mem: 1004136 880784 123352 2188 52948 487032 -/+ buffers/cache: 340804 663332 Swap: 4095996 0 4095996
uname:查看內核信息。
[root@English6 ~]# uname Linux
hostname:查看完整的主機名。
[root@English6 ~]# hostname English6.8
ifconfig:查看網絡信息。
[root@English6 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:A0:BF:D3 inet addr:192.168.1.108 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fea0:bfd3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31862 errors:0 dropped:0 overruns:0 frame:0 TX packets:13403 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:34253289 (32.6 MiB) TX bytes:1199229 (1.1 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:791 errors:0 dropped:0 overruns:0 frame:0 TX packets:791 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:113525 (110.8 KiB) TX bytes:113525 (110.8 KiB)
touch:創建一個空白文件。
cat:查看文本文件。
[root@English6 ~]# touch wang [root@English6 ~]# ls anaconda-ks.cfg Documents install.log.syslog Public wang a.out Downloads Music Templates Desktop install.log Pictures Videos [root@English6 ~]# cat /root/wang [root@English6 ~]# 用cat查看wang這個文件,沒顯示出wang的值,表示wang是個空白文件。
whoami:當前在哪個用戶下登錄。
[root@English6 ~]# whoami root
su -:切入管理員用戶,su – (用戶名)切換到某一用戶。
[root@English6 ~]# su - DYW [DYW@English6 ~]$ whoami DYW [DYW@English6 ~]$ su - Password: [root@English6 ~]# whoami root
cal:查看當月的日歷。
[root@English6 ~]# cal July 2016 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
date:查看系統時間,
clock:查看硬件時間。 -s以硬件時間為準,調整系統時間;-w以系統時間為準,調整硬件時間;
[root@English6 ~]# date Sun Jul 24 13:07:25 CST 2016 [root@English6 ~]# clock Sun 24 Jul 2016 01:07:32 PM CST -0.504216 seconds
screen部分應用:連接的是同一個機器,用同一個用戶 安裝screen:rpm -i/光驅/packages/screen
screen -s 新建一個會話
screen -x 連接回話
screen -r 恢復會話
echo:輸出,顯示字符。
命令格式:echo[-n]字符串,其中選項n表示輸出文字后不換行;字符串能加引用,也能不佳引號。用echo命令輸出加引號的字符串時,將字符串原樣輸出;用echo命令輸出不加引號的字符串時,將字符串中的各個單詞作為字符串輸出,各字符串之間用一個空格分割。
echo顯示文字:echo[-ne][字符串],echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開,并在最后加上換行號。
$:表示變量
‘’:強引用,
“”:弱引用,
[root@English6 ~]# a=123 [root@English6 ~]# echo "$a" 123 [root@English6 ~]# echo '$' $
“=$():命令引用
[root@English6 ~]# echo "ls" ls [root@English6 ~]# echo 'ls' ls [root@English6 ~]# echo `ls` anaconda-ks.cfg a.out Desktop Documents Downloads install.log install.log.syslog Music Pictures Public Templates Videos wang
-n:不要在最后自動換行。-e:打印轉義字符。
[root@English6 ~]# echo -e "7\t8" 7 8 [root@English6 ~]# echo "7\t8" 7\t8
文本輸出:
\a發出警告聲;
\b刪除前一個字符;
\c最后不加上換行符號;
\f換行光標仍舊停留在原來的位置;
\n換行且光標移至行首;
\r光標移至行首,但不換行;
\t插入rab;
\v與\f相同;
\\插入\字符;
\nnn插入nnn(八進制)所代表的ASCII字符。
history:查看你輸入的命令歷史
[root@English6 ~]# history 1 vi /etc/sysconfig/network-scripts/ifcfg-eth0 2 ls 3 cd 4 pwd 5 cd /dev
登錄shell時,會讀取命令歷史文件中記錄的命令 /.bash_history。登錄進shell后新執行的命令只會記錄在緩存中,這些命令會在用戶退出時“追加”在命令歷史文件中。
六、如何使用幫助
whatis:查看命令的作用。
[root@English6 ~]# whatis ls ls (1) - list directory contents ls (1p) - list directory contents 查看ls命令的作用。
help:幫助命令。
用type看是不是內部命令
內部命令:help command
man bash
[root@English6 ~]# type cd cd is a shell builtin 表示cd為內部命令。 [root@English6 ~]# help cd cd: cd [-L|-P] [dir] Change the shell working directory. Change the current directory to DIR. The default DIR is the value of the HOME shell variable. ......此處省略
外部命令:command –help
[root@English6 ~]# type date date is hashed (/bin/date) 表示date是外部命令。 [root@English6 ~]# date --help Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] Display the current time in the given FORMAT, or set the system date. .......此處省略
man:manual的簡寫,幫助文檔,在/usr/share/man,外部命令可以實用man來查看。
man command
man:命令默認查看最小章節,man 1-9command
1:用戶名令
2:系統調用
3:C庫調用
4:設備文件及特殊文件
5:配置文件格式
6:游戲
7:雜項
8:管理類的命令
9:linux內核API
原創文章,作者:DYW,如若轉載,請注明出處:http://www.www58058.com/25047