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

1.描述計算機的組成及其功能。

   組成:CPU (運算器+控制器),存諸器(內存與硬盤),輸入設備,輸出設備。

   運算器:對數據進行加工處理的部件(包括算述運算與邏輯運算)。

   控制器:負責從存儲器取出指令,按指令的要求發出控制信號,使各部件協調的,一步步的完成各種操作。

   存儲器:計算機記憶或暫存數據的部件

   輸入設備:人機接口,負責輸入信息(數據與指令)轉成計算機能識別二進代碼,送入存儲器保存。

   輸出設備:輸出計算機處理的結果并轉換成便于人們識別的形式。

2.按系列羅列Linux的發行版,并描述不同發行版之間的聯系和區別。

   linux的發行版大體分為2類:商業版(Enterprise)和社區版(Community);商業版如Redhat、Solaris等,社區版如FreeBSD、Debian、CentOS等;

   Linux大體可以分為4大家族:

   (1)Redhat系列包括RHEL、Fedora、CentOS,使用Yum方式管理軟件包,使用人群較大,較為流行;RHEL有一套完善的認證體系;

   CentOS是其社區克隆版本,二者穩定性非常好,適合服務器使用;Fedora的穩定性較差;

   (2)Debian系列包括Debian和Ubuntu等,使用apt-get/dpkg 包管理方式;

                    據我所接觸到的很多游戲公司以及一些國外的軟件開發公司偏好使用。

   ubuntu是基于debian發行版,是一個以桌面應用為主的linux操作系統,在桌面化linux操作系統上較為流行,目前ubuntu有一套完整的ubuntu生態體系(手機、平板、PC端、服務器端、云端);

   Linux Minit也是基于Debian的一個發行版;

   (3)SUSE系列包括SLES,openSUSE等,是Noverll公司產品;SLES是企業版,openSUSE是社區版;

            SUSE采用Yast包管理方式,是基于RPM為基礎的;

   (4)其它發行版本如Gentoo、Arch等,Gentoo、Arch定制性很強,上手比較困難;

3.描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。

   linux的哲學思想:

   (1)一切皆文件;

   linux系統上所有的東西都是以文件形式出現的;如磁盤設備、驅動、進程、管道等都被抽象成了文件;

   (2)能簡寫,絕不全寫;

   linux上很多命令基本上選項參數都帶有簡寫模式,設置一些"命令+參數"都被定義別名,使用一個命令來表示;

   (3)盡量避免捕獲用戶接口;

   (4)作用范圍越小的越是最終生效的;

   在linux上很多服務配置文件中都分為全局配置和局部配置,如果有重復的參數配置時,通常都是以局部配置的參數配置為準,作用域小的最終生效;

   (5)組合小命令完成復雜任務;

   linux上的命令通過一些參數的配合具有很強大的能力,通過合適的命令組合通常都能夠完成非常復雜的任務;

   如查看當前系統上tcp的連接情況:

   netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

   使用netstat和awk命令的組合就能快速地統計到結果;

4.描述Linux系統命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、histroy、shutdown、poweroff、reboot、hwclock、data命令的使用,并配合相應的示例來闡述。

  (1)ifconfig命令

   #ifconfig -a:列出所有接口的詳細信息;

   [root@director1 ~]# ifconfig -a

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255

   inet6 fe80::20c:29ff:fe59:396f  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:6f  txqueuelen 1000  (Ethernet)

   RX packets 444  bytes 41402 (40.4 KiB)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 372  bytes 53149 (51.9 KiB)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 172.16.0.1  netmask 255.255.255.0  broadcast 172.16.0.255

   inet6 fe80::20c:29ff:fe59:3979  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:79  txqueuelen 1000  (Ethernet)

   RX packets 0  bytes 0 (0.0 B)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 12  bytes 888 (888.0 B)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

   inet 127.0.0.1  netmask 255.0.0.0

   inet6 ::1  prefixlen 128  scopeid 0x10<host>

   loop  txqueuelen 0  (Local Loopback)

   RX packets 0  bytes 0 (0.0 B)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 0  bytes 0 (0.0 B)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   #ifconfig <interface>:查看指定接口的網絡信息;

   [root@director1 ~]# ifconfig eth0

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255

   inet6 fe80::20c:29ff:fe59:396f  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:6f  txqueuelen 1000  (Ethernet)

   RX packets 482  bytes 44862 (43.8 KiB)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 404  bytes 59267 (57.8 KiB)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   #ifconfig <interface> <address>[/<prefixlen>]|[netmask] [broadcast]:添加子網卡并配置臨時地址;

   [root@director1 ~]# ifconfig eth1:0 172.16.0.100/24

   [root@director1 ~]# ifconfig eth1:0

   eth1:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 172.16.0.100  netmask 255.255.255.0  broadcast 172.16.0.255

   ether 00:0c:29:59:39:79  txqueuelen 1000  (Ethernet)

   #ifconfig <interface> up|down:臨時啟用或關閉網卡;

   [root@director1 ~]# ifconfig eth1 down

   [root@director1 ~]# ifconfig 

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255

   inet6 fe80::20c:29ff:fe59:396f  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:6f  txqueuelen 1000  (Ethernet)

   RX packets 1150  bytes 106278 (103.7 KiB)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 913  bytes 129375 (126.3 KiB)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

   inet 127.0.0.1  netmask 255.0.0.0

   inet6 ::1  prefixlen 128  scopeid 0x10<host>

   loop  txqueuelen 0  (Local Loopback)

   RX packets 0  bytes 0 (0.0 B)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 0  bytes 0 (0.0 B)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

#ifconfig <address> mtu <NUM>:設置網卡的最大傳輸單元,默認是1500;

   [root@director1 ~]# ifconfig eth0 mtu 1460

   [root@director1 ~]# ifconfig eth0|grep mtu

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1460

   (2)echo命令

   用法:echo [參數] [字符串]

   參數:

   -n:輸出不換行;

   -E:不啟用反斜杠轉義功能,默認;

   -e:啟用反斜杠轉義功能;

   \\:插入'\'字符;

   \a:發出警告聲;

   \b:刪除前一個字符;

   \c:最后不加入換行符號;

   \v|\f:換行但光標仍舊停留在原來位置;

   \n:換行且光標移至行首;

   \r:光標移至行首,但不換行;

   \t:插入tab符;

   示例:

   [root@director1 ~]# echo 'hello \n world'

   hello \n world

   [root@director1 ~]# echo -e 'hello \nworld'

   hello 

   world

   特殊用法:

   輸出顏色文本

   [root@director1 ~]# echo -e "\033[44;31;1m HELLO \033[0m world"

   \033[44;31;1m HELLO:設置背景為藍色,前景為紅色,加粗的HELLO;

   \033[0m:重新設置屏幕到默認設置;

   (3)tty命令

   打印連接到標準輸出的終端文件名稱

   用法: tty [參數]

   參數: 

   -s,–slient,–quiet:不顯示輸出,指返回退出狀態碼;

   –help:顯示幫助信息;

   –version:顯示tty版本;

   示例: 

   [root@director1 ~]# tty

   /dev/pts/0

   [root@director1 ~]# tty -s

   [root@director1 ~]# echo $?

   0

   [root@director1 ~]# tty –version

   tty (GNU coreutils) 8.22

   Copyright (C) 2013 Free Software Foundation, Inc.

   License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

   This is free software: you are free to change and redistribute it.

   There is NO WARRANTY, to the extent permitted by law.

   Written by David MacKenzie.

(4)startx命令

   啟動X Windows服務;

   用法: startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]

   (5) export命令

   用法:export [-fn] [名稱[=值] …] 或 export -p

   -f:指定shell函數

   -n:刪除每個NAME名稱的導出屬性

   -p:顯示所有導出的變量和函數的列表

   (6) pwd命令

   顯示出當前/活動目錄的名稱

   示例:

   [root@kvm apache2]# pwd

   /usr/local/apache2

   (7) history命令

   顯示當前終端輸入過的歷史命令信息;

   用法:history [參數]

   參數:

   -c:清空歷史命令;

   -d offset:刪除offset位置的歷史條目;

   NUM:讀取最新的NUM個歷史命令;

   -r:讀取歷史文件的內容,使用它們作為當前歷史;

   -w:將當前歷史列表寫入到歷史文件,覆蓋原有內容;

   示例:

   [root@kvm apache2]# history 4

   1017  man history

   1018  history -3

   1019  history 

   1020  history 4

   [root@kvm apache2]# history -c

   [root@kvm apache2]# history 

     22  history 

   (8) shutdown命令:

   用于關閉系統,可以指定立即或一段時間之后關閉系統;

   用法:shutdown [-t sec] [-arkhncfF] time [warning-message]

   參數: 

   -a:使用 /etc/shutdown.allow 來驗證身份;

   -t sec:通知 init在轉換到其它運行級別前,發送警告 (warning) 信號后延時 (sec) 秒數后再發送關閉 (kill) 信號;

   -k:并非關機,只是向所有人顯示警告信息;

   -r:重啟;

   -h:停機;

   -f:重啟時跳過磁盤檢測;

   -F:重啟時強制磁盤檢測;

   -c:取消運行中的shutdown進程;

   time:指定關機時間

   warning-message:指定發送所有用戶的告警信息;

   示例: 

   [root@kvm apache2]# shutdown -h +5 "shutdown after 5 minutes "

   Shutdown scheduled for 二 2016-08-09 14:12:39 CST, use 'shutdown -c' to cancel.

   [root@kvm apache2]# 

   Broadcast message from root@kvm (Tue 2016-08-09 14:07:39 CST):

   shutdown after 5 minutes 

   The system is going down for power-off at Tue 2016-08-09 14:12:39 CST!

   shutdown -c

   Broadcast message from root@kvm (Tue 2016-08-09 14:07:43 CST):

   The system shutdown has been cancelled at Tue 2016-08-09 14:08:43 CST!

   (9) poweroff命令

   用來關閉系統并切斷電源;

   用法:poweroff [參數]

   可不加參數;

   參數: 

   -n:關閉操作系統時不執行sync操作; 

   -w:不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中; 

   -d:關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄; 

   -f:強制關閉操作系統; 

   -i:關閉操作系統之前關閉所有的網絡接口; 

   -h:關閉操作系統之前將系統中所有的硬件設置為備用模式。

   (10) reboot命令

   用來重啟系統;

   用法:reboot [參數]

   可不加參數; 

   參數:

   -d:重新啟動時不把數據寫入記錄文件/var/tmp/wtmp;

   -f:強制重新開機,不調用shutdown指令的功能;

   -n:保存數據后再重新啟動系統;

   -w:僅做測試,并不真的將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件;

   -h:在系統關機或poweroff之前,將所有的硬盤處于待機模式;

   -i:關閉網絡設置之后再重新啟動系統;

   (11) hwclock命令

   可以顯示當前時間、設置硬件時鐘的時間和設置硬件時鐘為系統時間,也可設置系統時間為硬件時鐘的時間;

   用法: hwclock [參數]

   功能:

   -r:讀取硬件時鐘并打印結果;

   -s,–hctosys:從硬件時鐘設置系統時間;

   -w,–systohc:從當前系統時間設置硬件時鐘;

   -c:定期將系統時鐘與CMOS時鐘相比較;

   -v:顯示版本信息

   (12) date命令

   顯示或設置日期時間;

   用法:

   date [OPTION]… [+FORMAT] 

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

   常用參數:

   -u:顯示目前的格林威治時間

   %H:小時(00..23)

   %M:分鐘(00..59)

   %S:秒(00..60) 

   %T:相當于%H:%M:%S

   %Y:年份,如2016

   %m:月份(01..12)

   %d:天,如01,11;

   %F:相當于%Y-%m-%d

   %D:直接顯示日期(mm/dd/yy)

   %a|%A:顯示星期

   示例:

   [root@kvm apache2]# date +"%F %T"

   2016-08-09 14:32:57

5.如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。

 獲取命令幫助信息的方法:

   (1)COMMAND -h 

   (2)COMMAND –help 

   (3)help COMMAND 

   (4)man COMMAND 

   (5)info COMMAND

   man文檔章節分類:

   1:普通的命令;

   2:系統調用;

   3:庫函數;

   4:特殊文件,如/dev目錄下各種文件;

   5:文件格式;

   6:游戲相關;

   7:其它內容相關;

   8:系統管理命令相關;

   9:內核例程相關;

6.請羅列Linux發行版的基礎目錄命名法則及功用規定

   [root@director1 ~]# tree -L 1 /

   /

   ├── bin -> usr/bin

   ├── boot

   ├── dev

   ├── etc

   ├── home

   ├── lib -> usr/lib

   ├── lib64 -> usr/lib64

   ├── media

   ├── mnt

   ├── opt

   ├── proc

   ├── root

   ├── run

   ├── sbin -> usr/sbin

   ├── srv

   ├── sys

   ├── tmp

   ├── usr

   └── var

   /:根目錄,文件系統入口;

   /bin:存放一般用戶都可使用的二進制可執行命令;

   /boot:存放Linux內核及系統引導程序所需的文件;

   /dev:存放特殊設備文件;

   /etc:系統管理和配置文件;

   /home:普通用戶的家目錄;

   /lib:標準程序設計庫或動態鏈接共享庫,根文件系統上的程序所需的共享庫;

   /media:空目錄,可用于用戶臨時掛在其它文件系統;

   /mnt:空目錄;

   /opt:給主機安裝額外軟件預留的目錄;

   /proc:虛擬目錄,是系統內存的映射;

   /root:root用戶的家目錄;

   /sbin:超級管理命令,通常存放的是系統管理員使用的命令;

   /srv:服務啟動之后需要訪問的數據目錄;

   /sys:偽文件系統,是系統內核的映射;

   /tmp:臨時目錄;

   /usr:應用程序存放的目錄;

   /var:某些大文件的溢出區,如日志

原創文章,作者:N22-昆山-Dexter_Wang,如若轉載,請注明出處:http://www.www58058.com/36523

(0)
N22-昆山-Dexter_WangN22-昆山-Dexter_Wang
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • corosync的高可用——高可用mariadb數據庫

    corosync, pacemaker,nfs高可用mariadb 實驗環境: 4臺CentOS 7 的主機,并關閉的iptalbes和selinux功能 主機1:10.1.43.101 node1 corosync+pacemaker+amp 主機2:10.1.43.102 node2 corosync+pacemaker+amp 主機3:10.1.43.…

    Linux干貨 2016-11-24
  • web service之http協議

    一.概述 1.web應用的核心是http協議(HyperText Transfer Protocol),http協議的由兩部分組成,客戶端程序和服務器端程序,通過交換http報文進行會話。web頁面則是由對象(也叫資源)組成的,對象直白的說就是一個個的文件,而這些對象可以通過URL引用,URL由兩部分組成,存放對象的主機名和對象的文件路徑,而這些對象都存儲在…

    Linux干貨 2016-11-03
  • mysql編譯安裝

    MYSQL編譯安裝:參考(http://v.youku.com/v_show/id_XMjc4MDUwNjYyOA==.html?from=s1.8-1-1.2&spm=a2h0k.8191407.0.0)(http://oldboy.blog.51cto.com/2561410/1917295)     編譯安裝mysql,最好…

    Linux干貨 2017-06-09
  • shell腳本之變量、運算、條件測試。

    概述 程序:指令+數據 程序編程風格: 過程式:以指令為中心,數據服務于指令 對象式:以數據為中心,指令服務于數據 shell程序:提供了編程能力,解釋執行 計算機:運行二進制指令; 編程語言: 低級:             匯編 高級:…

    Linux干貨 2016-08-15
  • OpenSSL:實現創建私有CA、簽署證書請求詳解

    一、OpenSSL:CA默認配置信息     1.證書簽發機構CA:公共信任CA、私有CA                建立私有CA方式如下: 小范圍測試使用openssl、 大…

    Linux干貨 2016-04-30
欧美性久久久久