馬哥面授班20期-第一周(計算機基礎,linux入門)

一.計算機發展歷史及硬件組成部分

    計算機發展歷史:第一代:(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

(0)
DYWDYW
上一篇 2016-07-26
下一篇 2016-07-26

相關推薦

  • sed和vim

    1、如何設置tab縮進為4個字符? vi .vimrc //編輯用戶家目錄下的vim配置文件 set tabstop=4 2、復制/etc/rc.d/init.d/functions文件至/tmp 目錄;替換/tmp/functions 文件中的/etc/sysconfig/init 為/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干貨 2016-08-10
  • 網絡接口配置-bonding

    網絡接口配置-bonding ?Bonding 就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址。 Bonding的工作模式 ?Mode 0 (balance-rr) 輪轉(Round-robin)策略:從頭…

    Linux干貨 2016-09-05
  • 壓縮和解壓縮

    今天我們所講一些壓縮以及解壓縮的內容,可以方便我們去傳輸一些數據較大的文件,以及可以降低我們的內存使用率, 節省空間。我們常用的工具對單個文件進行壓縮有4種,對于多個文件進行打包壓縮有2種。 1、compress(單個文件壓縮)     壓縮后的文件后綴名都是.Z結尾     compress fi…

    2017-08-12
  • 1.計算機的組成原理與linux初識

    計算機的組成原理 抽象 具體 Linux初識 負責與硬件交互,并向外提供系統調用 Linux大家庭 suse系列: opensuse suse enterprise redhat系列: centos redhat Debian系列: ubuntu debian 命令總結 顯示本機IP(需要root權限) [root@localhost dev]# ifcon…

    Linux干貨 2017-07-02
  • M22 Centos環境設置

    Centos有4個地方存儲環境變量:/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc /etc/profile:定義了系統環境變量pathmunge()函數如果第二個參數是“after”,PATH=$PATH:$1設置MAIL路徑為/var/spool/mail/$USER設置root帳號的環境變量設置HI…

    Linux干貨 2017-03-05
  • RAID磁盤列陣

                            RAID   RAID是英文Redundant Array o…

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