馬哥教育網絡班22期+第1周課程練習

Linux的發行版以及不同發行版之間的聯系與區別   

Linux發行版主要的大分支有三個:dibian  S.U.S.E  redhat

一個操作系統由kernelapplication組成。編譯封裝的時候根據不同的application,可以編譯成不同的發行版本。

所有的linux發行版都是基于GPL的版權,它們的內核都是linux的(只是可能版本不同),所以源碼都必須提供出來。

一個大的發行版本可以分為桌面版(個人版)、企業版。大的發行版本還可以有許多其他的衍生版本

主要發行版本的關聯關系:

         Redhat:紅帽linux

桌面版: 桌面這塊的業務已經移交給了fedora

企業版:RHEL

                   Centosredhat 的社區企業版,現已被Redhat收購

         S.U.S.E:基于slackwre的發行版,它引用了一些redhat的特性,如RPM

                   S.U.S.Eopensuse一般在歐洲用的比較多。

         Debian

                   它不是由商業組織發行的,是由一個獨立松散的組織來維護。相對其他的linux發行版本,debian更自由及開放,所以相對來說,這個發行版給與用戶的選擇更多。

                   Debian的發行版的分支上有一個桌面衍生版,ubuntu,它的桌面效果非常好。

Linux的哲學思想

1.       一切皆文件

2.       由各個目的單一的小程序組成,小程序組合完成復雜的功能

3.       盡量避免跟用戶交互,以便可以通過腳本等方式進行自動化任務

4.       使用文本文件保存配置

 

 

1.       一切皆文件

Linux下所有的東西都以文件來顯示:

硬件:硬件設備也顯示為文件,提供硬件的訪問入口及關聯驅動。主要有塊設備文件及字符設備文件兩種形式,顯示為b,c

普通的文件:顯示為f,包含二進制文件、可執行文件、ASCI文件

目錄文件:  顯示為d,表示一個文件的路徑映射

符號連接文件:顯示為l,在元數據區數據塊指針指向了另外一個文件的訪問路徑。

管道文件:顯示為p

套接字文件:顯示為s

2.       由各個目的單一的小程序組成,小程序組合完成復雜的功能

有點類似于模塊化的設計,把一個復雜功能拆分成各個單獨的模塊。每個模塊負責一個簡單功能。這樣可以提高代碼的實現,維護,重用。

3.       盡量避免跟用戶交互,以便可以通過腳本等方式進行自動化任務

一個程序一旦發起為進程,在這個生命周期內,盡量減少和用戶的交互,依靠系統自身的機制,完成自動化任務。

4.       使用文本文件保存配置

文本文件易于和底層進行交互,這樣可以方便管理員用文本來進行管理

計算機的組成及其功能

根據馮諾依曼體系,計算機分為5部分:運算器、控制器、存儲器、輸入設備、輸出設備

運算器:通過存儲器和輸入設備提供的數據,并有控制器提供指令所在的地址,完成一次指令運算。

控制器:告訴運算器數據與指令從哪里獲取。

存儲器:內存(RAM)存放指令與數據。數據掉電失效。

輸入與輸出設備:也可以稱呼為IO設備,完成數據的輸入與數據結果的輸出。通常的輸入輸出設備有:硬盤,網卡,顯示器,鍵盤……

 

各個組成之間的關聯關系

1.       運算器一般與控制器放在一起,統稱CPU

2.       CPU與存儲器及IO設備之間通過總線相連。為了完成尋址、獲取數據、及獲取指令這三個功能,CPU與其他設備之間的總線分為地址總線、數據總線、控制總線

3.       在南北橋架構中,CPU與存儲器(內存)之間通過北橋來完成功能交互,北橋是高速總線;與IO設備之間通過南橋來完成功能交互,南橋是低速總線,匯總后連入北橋。

IO也有一些高速的接口例如PCIE可以讓IO設備直接連入北橋。

 

各個設備之間速度在數量級上的概念

CPU、存儲器、IO設備之間的速率各不相同。按照速度快慢:CPU——存儲器——IO

設備性能相關

為了完成數據交互,設備與設備間的速率相匹配,才能提升性能

CPU的速率最快,存儲器的速率比較慢,所以CPU為了可以更好地與存儲器完成數據交互,提升性能,可以添加中間件(緩存)。

獲取命令的使用幫助

命令分為兩種:外部命令及內部命令

    內部命令:

        help COMMAND 

            例:help cd

  外部命令

     1)命令自帶簡要格式的使用幫助 (簡單的使用說明)

            例:ls –help

     2)使用手冊

          man +COMMAND

            位置:/usr/share/man

            例:man ls

    3)獲取命令的在線文檔

            info COMMAND 

    4)很多應用程序會自帶幫助文檔

            一般存放在 /usr/share/doc/APP-VERSION

    5) 主流的發行版官方文檔

            http://www.redhat.com/doc

    6)程序的官方文檔

        官方站點上的“Document”

    7) 善用搜索引擎

            google   

man手冊章節說明

man手冊下的各個章節的含義如下

        位置: /usr/share/man

                        man1,man2..            

                 1.用戶命令

                 2.系統調用

                 3.C庫調用

                 4.設備文件及特殊文件

                 5.文件格式

                 6.游戲使用幫助

                 7.雜項

                 8.管理工具及守護進程        

可以通過查看指定章節的手冊信息

    man 數字 COMMADN  

        例:man 5 passwd  查看man手冊中第五章節的passwd命令幫助

Linux的FHS

FHS:Filesystem Hierarchy Standard 

通過FHS,規范了每個不同的目錄下應該存放什么文件。

/bin:所有用戶可用的基本命令程序文件 

/sbin:供系統使用的工具程序  

/boot: Static files of the boot loader  引導加載器必須用到的各靜態文件:kerenl、initramfs(initrd),grub

/dev :Devices files 存儲特殊文件或者設備文件

/etc:主機特有的系統配置文件(靜態)

/home:用戶家目錄(可選)

/lib: 為系統啟動或根文件系統上的應用程序(/bin,/sbin)提供共享庫及為內核提供內核模塊

/lib64;64位的庫

/media:

/mnt:其他文件型的臨時掛載點

/opt:附加應用程序的安裝位置

/root:root用戶的家目錄

/srv: 當前主機為服務提供的數據

/tmp:存放臨時文件

/usr:全局共享的只讀數據路徑 usr Hierarchy

bin ,sbin

lib lib64

include:C程序用到的頭文件

share:架構特有的文檔存放位置 命令手冊頁,自帶文檔

        /local:hierarchy

/usr/local:hierarchy.讓系統管理員安裝本地應用程序,也通常用于安裝第三方程序

/var:hierarchy 存儲經常發生變化的數據的目錄

            lib     

            local

            lock

            log    

            opt     

            run     

            spool

            tmp     

/proc:虛擬文件系統,用來為內核及進程存儲其相關信息:他們大多為內核參數,例如:net.ipv4_forward 虛擬為net/ipv4/ip_forward

/sys:sysfs 虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑,其主要作用在于為管理linux設備提供了一種統一模型的接口

  *  /proc 和 /sys 都是基于內存的,也就是說已關機就沒了

Linux上命令的使用格式皆一些常規命令的用法

Linux命令的語法通用格式

    COMMAND OPTIONS ARGUMENTS

命令(COMMAND):

         一般分為兩類:外部命令及內部命令

                   內部命令:由shell程序自帶的命令

                   外部命令:獨立的可執行文件,文件名即命令名

選項(OPTIOS):

         指定命令的運行特性,改變了命令的實現功能及表現形式

         選項分兩種:

                   -char 短選項

                   –word 長選項

                   長選項,如果有選項參數的話通過“=”來進行連接,中間沒有空格

                   短選項,如果有選項參數的話通過“space” 來進行連接,有時可以沒有空格

                   多個短選項間可以合并,長選項不行

                   選項與選項間通過“space”來隔開

參數(argtments):

         命令的作用對象

         不同的命令帶的參數的格式不一樣,有些命令可以同時帶多個參數(中間以空格隔開)

Linux常用命令

    ifconfig,echo,tty,startx ,export,pwd,history,shutdown,poweroff,reboot,hwclock,date

ifconfig:

用來顯示網卡的配置信息或者為網卡進行配置

用法:

      ifconfig [interface]

      ifconfig interface [aftype] options | address …

示例:

ifconfig [eth0]

    顯示系統的網卡配置信息,如果帶參數eth0,則只顯示eth0一塊網卡的信息

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D3:C4:B2  

          inet addr:192.168.122.3  Bcast:192.168.122.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fed3:c4b2/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:32894 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2849 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:4187189 (3.9 MiB)  TX bytes:223104 (217.8 KiB)

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:16 errors:0 dropped:0 overruns:0 frame:0

          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:1272 (1.2 KiB)  TX bytes:1272 (1.2 KiB)

                     ifconfig interface [aftype] options | address …

            可以為網卡 配置IP,掩碼等參數

[root@localhost ~]# ifconfig lo 127.0.0.1 netmask 255.0.0.0  設置lo的網卡IP地址為127.0.0.1 掩碼為255.0.0.0

[root@localhost ~]# ifconfig eth0 up        開啟eth0網卡

[root@localhost ~]# ifconfig eth0 down    關閉eth0網卡

* 用ifconfig命令配置的信息在shell進程關閉后消失

echo:命令回顯

用法:

    echo [SHORT-OPTION]… [STRING]…

 選項:

    -e 激活轉義字符

示例:

[root@localhost ~]# echo "hello world"

hello world

[root@localhost ~]# echo "hello world\n"

hello world\n

[root@localhost ~]# echo -e "hello world\n"

hello world

tty:顯示當前的終端

            用法:

               tty [options]

            示例:

[root@localhost ~]# tty

/dev/pts/1

startx:啟動GUI

            用法:

                startx [options]


export:導入或者顯示環境變量,和declare -i 命令類似

            用法:

                1.export name=VALUE        賦予一個值給環境變量name

*用export命令導入的環境變量在shell進程結束后被釋放

                2.export                               查看當前的環境變量  

            示例:

[root@localhost ~]# export name=1

[root@localhost ~]# export 


pwd:顯示當前的工作目錄

            用法:

                 pwd [OPTION]…

            示例:

[root@localhost tmp]# pwd

/tmp

history:用戶之前執行過的命令歷史

           示例:

[root@localhost ~]# history   顯示當前內存中保存中的命令歷史

    1  whereis tree

    2  man tree

    3  man whereis

[root@localhost ~]# history -c 清空命令歷史

[root@localhost ~]# history 

    1  history 

[root@localhost tmp]# history -r  把歷史命令從文件中讀取并載入內存

[root@localhost tmp]# history -w  把內存中的歷史命令載入文件中

[root@localhost tmp]# history 5   顯示最近的5條歷史命令

   12  ls -ld /tmp/

   13  history 

   14  history -w

   15  history 

   16  history 5

[root@localhost tmp]# !12 執行歷史命令列表中的第12個命令

[root@localhost tmp]# ??!執行上次命令

[root@localhost tmp]# !l 執行命令列表中最近l個以l開頭的命令

在環境變量中有3個和hisory相關的環境變量,可以修改他們的值來做到定制history功能

HISTSIZE:shell保留的history條目,默認1000   

HISTFILE: 歷史命令保存的文件 歷史命令被寫入文件之后會被永久保存。 /root/.bash_history

HISTFILESIZE:歷史命令文件的大小,默認1000

shutdown:關機

shutdown [OPTION]…  TIME [MESSAGE]

用法:

[root@localhost tmp]# shutdown -h now  立刻關機

[root@localhost tmp]# shutdown -r now   立刻重啟

[root@localhost tmp]# shutdown -c         取消正在執行的關機的操作


poweroff:關機

reboot:重啟

hwclock:顯示或設定硬件時鐘

    用法:

        hwclock [functions] [options]

    示例:        

[root@localhost test.GvCZXb]# hwclock 

2016年08月14日 星期日 22時24分00秒  -0.878324 seconds

[root@localhost test.GvCZXb]# hwclock -s  以硬件時間為準,把系統時間調整和硬件時間相同

[root@localhost test.GvCZXb]# hwclock -w  以系統時間為準,把硬件時間調整和系統時間相同

date

    顯示日期時間以及修改系統時間

    用法:          

date [OPTION]… [+FORMAT]

date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

   示例:

[root@localhost test.GvCZXb]# date  顯示當前系統時間

2016年 08月 14日 星期日 22:31:03 CST

[root@localhost test.GvCZXb]# date 081422322016.30 修改當前系統時間

2016年 08月 14日 星期日 22:32:30 CST

[root@localhost test.GvCZXb]# date +%F   顯示年–月–日

2016-08-14

[root@localhost test.GvCZXb]# date +%Y   顯示年份

2016

[root@localhost test.GvCZXb]# date +%T   顯示時間

22:34:51

[root@localhost test.GvCZXb]# date +%m   顯示月份

08

[root@localhost test.GvCZXb]# date +%d   顯示日期

14

[root@localhost test.GvCZXb]# date +%H   顯示小時

22 

[root@localhost test.GvCZXb]# date +%M   顯示分鐘

36

[root@localhost test.GvCZXb]# date +%S   顯示妙

11

[root@localhost test.GvCZXb]# date +%s   顯示從UTC時間,從1970年1月1號0點0分距現在多少秒

1471185433



    

    


    

    


    


    

    

             





    

    



原創文章,作者:N22-蘇州-striker,如若轉載,請注明出處:http://www.www58058.com/35478

(0)
N22-蘇州-strikerN22-蘇州-striker
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • 文本處理工具之sed

                         文本處理工具之sed 一 、sed的簡介    1、Stream EDitor…

    2017-05-01
  • 配置基于mysql的虛擬用戶認證vsftp服務器

    1.安裝vsftp、mysql、epel_release(epel源,后面要安裝的pam_mysql認證模塊需要這個源)、pam_mysql 2.剛裝的mysql運行一下/usr/bin/mysql_secure_installation 3.建立數據庫vsftpd,建表user,     create database vsftpd; …

    Linux干貨 2016-06-22
  • 習題

    1.當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 2.當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 3.當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的只讀文件file1是否可修改和刪除? 4.復制/etc/fstab文件到/var/tmp下,設置文件所有者為wa…

    Linux干貨 2016-08-04
  • 文本處理練習題

    文本處理練習:   1.找出本機ip地址   [root@localhost ~]# ifconfig |head -2 |tail -1 |tr -s ' ' ':' |cut -d: -f3   10.1.252.221   2.查看本機分區最大的利用率   [root@l…

    Linux干貨 2016-08-08
  • 文件、目錄——Linux基本命令(7)

    1.     文件名規則 (1)文件名最長255個字節          (2)包括路徑在內文件名稱最長4095個字節 (3)文件顏色          藍色-…

    2017-07-17
  • 筆記一.如何使用VMWare Workstations 12 創建虛擬機

    筆記一.如何使用VMWare Workstations 12 創建虛擬機   一、準備工作 1.下載并安裝VMWare Workstations 12 http://www.epinv.com/post/6304.html 下載鏈接 二、創建虛擬機步驟 1.打開VMWare Workstations 12 選擇創建虛擬機 2.在創建虛擬機…

    Linux干貨 2017-02-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-17 16:01

    寫的很好,排版還可以在漂亮一點,加油,沒寫全把

欧美性久久久久