馬哥教育絡班22期-第1周博客作業

第一周博客作業

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

計算機由硬件和軟件兩大部分組成:

1.1 計算機硬件組成與功能

計算機硬件由運算器、控制器、存儲器、輸入設備、輸出設備五大部分組成。

1.1.1 運算器

算術邏輯部件ALU,執行算術運算和邏輯運算。例如:加減乘除,移位,取模。運算器的核心是加法器。

1.1.2 控制器

控制器是計算機的指揮中心,它的主要作用是按照人們預先確定的操作步驟,控制著整個計算機部件之間協調運行。比如做計算,運算器先從存儲器取數,運算器作運算,再回存存儲器,這整個過程都由控制器協調完成。運算器和控制器統稱為中央處理器(CPU)。

1.1.3 存儲器

存儲器是計算機用來存儲信息的重要功能部件,主要功能是存放程序和數據。從存儲器中取出信息稱為讀出;將信息存入存儲器稱為寫入。存儲器讀出信息后,原內容保持不變;向存儲器寫入信息后,則原內容被新內容所代替。

存儲器分為三種:

(1)內存儲器(主存儲器)

   ●只讀存儲器(ROM):只能讀出,不能寫入,用于存放內容不變的信息,斷電后信息不會丟失。

   ●隨機存儲器(RAM):可隨機存取,用于存放現場的程序和,斷電后信息一會立即消失。

(2)外存儲器(輔助存儲器)

(3)高速緩沖存儲器cache

內存和外存的區別:

內存用于存放計算機當前正在運行的程序和數據,速度較快、容量較小,可直接與央處理器CPU信息。

外存用于存放暫時不用的程序數據,速度相對較慢,容量較大,價格較低,不能直接與中央器CPU交換信息,但它可以與內存交換信息。因此,外存儲器中的程序和數據必須調入內存方可被CPU訪問。

1.1.4 輸入設備

用來接收用戶輸入的原始數據和程序,并它們轉換為計算機能識別的二進制數存入到內存中。常用的輸入設備有鍵盤、鼠標、掃描儀等。

1.1.5 輸出設備

用于將存放在內存中同計算機處理的結果轉換為人們所能接受的形式。常用的輸出設備有顯示器、打印機、繪圖儀。

1.2 計算機軟件

計算機軟件可分為:系統軟件(system software)和應用軟件(Appliation software)

1.2.1 系統軟件

參與構成計算機系統、供用戶直接使用,以擴展計算機硬件功能,使其管理協調整個系統,彌補用戶操作習慣與計算機硬件、計算機設備的操作方法之間的鴻溝軟件。系統軟件一般是由計算機廠家或專業軟件開發商提供。它主要包括操作系統(DOS、UNIX、Linux、OS、Windows等)、各種程序設計語言。

計算機語言:

1)低級語言

低語語言分為機器語言和匯編語言,它們都是“面向機器”。

●機器語言:是由二進制0和1組成,是計算機唯一能直接識別并執行的語言。特征:“面向機器”的語言,可以被計算機直接接收執行,由它編寫的程序不易閱讀,而且指令代碼不易記憶。

●匯編語言:是用字母和符號等助記符表示指令和操作數地址的計算機語言,又稱為符號語言。特征:便于閱讀,編程速度、檢查調式有進步,但仍然是“面向機器”的語言,計算機不能直接識別和直接執行匯編程序。

2)高級語言

更接近于人類“自然語言”的程序設計語言。特征:各種計算機都通用,源程序必須編譯成二進制代碼方可執行,面向過程的語言,不依賴于機器。不依賴于計算機的硬件,各類計算機都通用,易于人們理解和掌握。如C,C++,Java、Python、ruby

操作系統的功能:

     1)將硬件規格抽象為系統調用(System call);

    2)進程管理;

    3)安全管理;

    4)網絡協議棧;

    5)內存管理;

6)文件系統;

7)硬件驅動;

1.2.2 應用軟件

它是為計算機在特定領域中的應用而開發的專用軟件,是用戶為解決各類實例應用問題而編制的專用軟件的總稱。它主包括文字處理軟件(Word、WPS)、表格處理軟件Excel、輔助設計軟件AutoCAD、實時控制軟件。

2、按系統羅列Linux的發行版,并描述不同發行版之間的聯系與區別

linux發行版本思維導圖.jpg

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

Linux的哲學思想:

1、一切比文件:幾乎把所有資源統統抽象為文件形式;包括硬件設備,甚至通信接口等;

2、由眾多功能單一的程序組成;一個程序只做一件事,并且做好;組合小程序完成復雜任務;

3、盡量避免跟用戶交互;目標:易于以編程的方式實現自動化任務;

4、使用文本文件保存配置信息;

4、說明Linux系統上命令的使用格式:詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例闡述。

ifconfig命令

ifconfig – configure a network interface(配置網絡接口)

【SYNOPSIS】

    ifconfig [OPTION]

參數
說明
up 啟動指定網絡設備/網卡;
down 關閉指定網絡設備/網卡;
-arp 設置指定網卡是否支持ARP協議;
-promisc 設置是否支持網卡的promiscuous模式,如果選擇此參數,網卡將接收網絡中發給它所有的數據包;
-allmulti 設置是否支持多播模式,如果選擇此參數,網卡將接收網絡中所有的多播數據包;
-a 顯示全部接口信息;
-s 顯示摘要信息(類似于 netstat -i);
add 給指定網卡配置IPv6地址;
del 刪除指定網卡的IPv6地址;
mtu<字節數> 設置網卡的最大傳輸單元 (bytes);
netmask<子網掩碼> 設置網卡的子網掩碼;
tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址;
hw<網絡設備類型><硬件地址> 設置網絡設備的類型與硬件地址;
io_addr<I/O地址> 設置網絡設備的IRQ;
media<網絡媒介類型> 設置網絡設備的媒介類型;
mem_start<內存地址> 設置網絡設備在主內存所占用的起始地址;
metric<數目> 指定在計算數據包的轉送次數時,所要加上的數目;
-broadcast<地址> 將要送往指定地址的數據包當成廣播數據包來處理;
-pointopoint<地址> 與指定地址的網絡設備建立直接連線,此模式具有保密功能;

【EXAMPLES】

[root@localhost ~]# ifconfig   #處于激活狀態的網絡接口
[root@localhost ~]# ifconfig -a  #所有配置的網絡接口,不論其是否激活
[root@localhost ~]# ifconfig eth0  #顯示eth0的網卡信息
[root@localhost ~]# ifconfig eth0 down  #關閉eth0網卡
[root@localhost ~]# ifconfig eth0 up    #開啟eth0網卡
[root@localhost ~]# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64  #為網卡添加IPv6地址
[root@localhost ~]# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 #為網卡刪除IPv6地址
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE  #修改MAC地址
[root@localhost ~]# ifconfig eth0 192.168.1.56  #給eth0網卡配置IP地址
[root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0  
#給eth0網卡配置IP地址,并加上子掩碼
[root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255   
#給eth0網卡配置IP地址,加上子掩碼,加上個廣播地址
[root@localhost ~]# ifconfig eth0 mtu 1500  #設置能通過的最大數據包大小為 1500 bytes
[root@localhost ~]# ifconfig eth0 arp   #開啟arp功能
[root@localhost ~]# ifconfig eth0 -arp  #關閉arp功能

echo命令

echo – display a line of text回顯文字

用于在shell中打印shell變量的值,或者直接輸出指定的字符串。

【SYNOPSIS】

  echo [SHORT_OPTION]…[STRING]…

【OPTIONS】

參數 說明
-n 不進行換行;
-e

讓轉義符生效;使用-e選項若字符串中出現以下字符,則特別加以處理而不會將它當成一般文字輸出:

\a 發出警告聲;

\b 刪除前一個字符;

\c 最后不加上換行符號;

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

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

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

\t 插入tab;

\v 與\f相同;

\\ 插入\字符;

\nnn 插入nnn(八進制)所代表的ASCII字符;

-E 關閉反斜線控制字符的轉換(默認是關閉的)

實例1:運用\t來區隔abc還有def,以及用\n將def換至下一行。

[root@zck ~]# echo -e "a\tb\tc\nd\te\tf"
a   b   c
d   e   f

實例2:

[root@zck ~]# echo -e "\x61\x09\x62\x09\x63\x0a\x64\x09\x65\x09\x66"
a	b	c
d	e	f
#與實例1差不多,只是換用了十六進制編碼。

實例3:

[root@zck ~]# echo -ne "a\tb\tc\nd\te\bf\a"
a   b   c
d   f[root@zck ~]#
#因為 e字母后面是刪除鍵(\b),因此輸入結果就沒有e了
在結束時聽到一聲鈴響,那是\a的杰作!由于同時使用了-n選項,因此 shell prompt緊接在第二行之后。
若不用-n的話,那在\a后再加個\c,也是同樣的效果。

實例4:用echo來檢查變量值:

[root@zck ~]# A=B
[root@zck ~]# echo $A
B
[root@zck ~]# echo $?
0

實例5:直接顯示為hscripts Hiox India

[root@zck ~]# echo "hscripts Hiox India"
hscripts Hiox India

實例6:將刪除空格,帶-e參數

[root@zck ~]# echo -e "hscripts \bHiox \bIndia"
hscriptsHioxIndia

實例7:使用echo命令輸出tab空格標簽

[root@zck ~]# echo -e "hscripts\tHiox\tIndia"
hscripts   Hiox   India

實例8:單引號和雙引號的區別

[root@localhost ~]# echo '$SHELL'
$SHELL
#單引號;強引用,變量引用不執行替換;
[root@localhost ~]# echo "$SHELL"
/bin/bash
#雙引號:弱引用,變量引用會被替換;
[root@zck ~]# echo ${SHELL}  #變量引用的正規符號
/bin/bash

tty命令

tty – print the file name of the terminal connected to standard input

顯示出連接到當前標準輸入的終端設備文件名

【SYNOPSIS】

  echo [OPTION]…

【OPTIONS】

參數 說明
-s –silent, –quiet 什么也不顯示,只返回退出狀態值

【EXAMPLES】

[root@zck ~]# tty
/dev/pts/0
#顯示當前終端

startx命令

startx – initialize an X session

顯示出連接到當前標準輸入的終端設備文件名

【SYNOPSIS】

  startx [ [ client ] options … ] [ [ server ] [ display ] options … ]

【OPTIONS】

參數 說明
-x 強制啟動X會話

【EXAMPLES】

[root@zck ~]# startx   #啟動圖形界面
[root@zck ~]# startx -w    #強制啟動X會話
[root@zck ~]# startx &    #啟動圖形界面在后臺運行

export命令:

export – set the export attribute for variables

用于將shell變量輸出為環境變量,或者將shell函數輸出為環境變量。

【SYNOPSIS】

  export [options]

【OPTIONS】

參數
說明
-f 代表[變量名稱]中為函數名稱;
-n 刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中;
-p 列出所有的shell賦予程序的環境變量;

【EXAMPLES】

[root@zck ~]# export    #查看當前系統環境變量
[root@zck ~]# zzz=kkk    #設置一個變量
[root@zck ~]# export zzz    #加入環境變量
[root@zck ~]# env|grep zzz    #查看環境變量
zzz=kkk
[root@zck ~]# export -n zzz    #刪除環境變量
[root@zck ~]# env | grep zzz   #查看刪除結果
[root@zck ~]# export PATH=$PATH:/usr/local/bin
#將/usr/local/bin加入環境變量

pwd命令:

pwd – print name of current/working directory

顯示當前用戶的工作目錄。

【SYNOPSIS】

  pwd [options] …

【OPTIONS】

參數
說明
-L –logical,顯示當前目錄
-P –physical,顯示當前目錄的實際物理地址,而非使用連結 (link) 路徑

【EXAMPLES】

[root@centos6 ~]# cd /var/mail/  #注意,/var/mail是一個連結檔
[root@centos6 mail]# pwd
/var/mail   #列出目前的工作目錄
[root@centos6 mail]# pwd -P   #帶-P參數,結果差很多
/var/spool/mail
[root@centos6 mail]# ls -ld /var/mail
lrwxrwxrwx. 1 root root 10 May 31 18:59 /var/mail -> spool/mail
#因為/var/mail是連結檔,連結到/var/spool/mail

history命令

顯示shell進程其會話中保存此前用戶曾執行過的命令;

【SYNOPSIS】

history: history [-c] [-d offset] [n]

or history -anrw [filename]

or history -ps arg [arg…]

【OPTIONS】

參數
說明
-c 清空所有命令歷史
-d offset(偏移量) 刪除指定命令歷史
-r 從文件讀取命令歷史至歷史列表中
-w 把歷史列表中的命令追加至歷史文件中
history n 顯示最近的n條命令

【EXAMPLES】

[root@zck ~]# history    #查看所有執行過的命令
    1  history 
    2  ls
    3  pwd
    4  fc -l
    5  history 
    6  history
[root@zck ~]# history 2   #顯示2條執行過的命令
    6  history
    7  history 2
[root@zck ~]# !3   #執行編號是3的歷史命令
pwd
/root
[root@zck ~]# history -c  #清空歷史記錄

調用命令歷史列表中的命令:

!n:再一次執行歷史列表中的第n條命令;

!!:再一次執行上一條命令;

!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;

注意:命令的重復執行有時候需要依賴于冪等性;

調用上一條命令的最后一個參數:

快捷鍵:ESC+.

字符串:!$

控制命令歷史記錄的方式:

環境變量:HISTOCONTROL

    ignoredups:忽略重復的命令;

    ignorespace:忽略以空白字符開頭的命令;

    ignoreboth:以上兩者同時生效;

shutdown命令

shutdown – Halt, power-off or reboot the machine

關機或重啟命令。

【SYNOPSIS】

shutdown [OPTIONS…] [TIME] [WALL…]

【OPTIONS】

參數
說明
-h 將系統的服務停掉后,立即關機;(常用)
-r 將系統的服務停掉后就重新啟動;(常用)
-c 取消已經在進行的shutdown命令內容,當執行“shutdown -h 11:50”指令時,只要按+鍵就可以中斷關機的指令;
-k 并非真正關機,只向所有人顯示警告信息。
TIME 指定系統關閉時間。首先,可以是 hh:mm 格式的絕對時間,其中 hh 指的是小時(一到二位數),mm 指的是分鐘(二位數)。第二種是 +m 格式,其中 m 指的是等待的分鐘數。 now 是 +0 的別名,立即。
-f 重啟時跳過磁盤檢測;
-F 重啟時強制磁盤檢測;
-t 延遲關機時間;-t后面加秒數,亦即『過幾秒后關機』的意思
-n 不經過init程序,直接以shutdwon的功能來關機;

【EXAMPLES】

[root@zck ~]# shutdown -h now    #立即關機
[root@zck ~]# shutdown -h 22:30  #晚上11點關機
Shutdown scheduled for Fri 2016-08-12 22:30:00 CST, use 'shutdown -c' to cancel.
[root@zck ~]# shutdown -c  #在另外一個窗口執行shutdown -c取消
Broadcast message from root@zck.com (Fri 2016-08-12 14:30:11 CST):
The system shutdown has been cancelled at Fri 2016-08-12 14:31:11 CST!
 
[root@zck ~]# shutdown -r now    #立即重啟
[root@zck ~]# shutdown -r +30 'reboot now'   
#30分鐘后重啟,并且提示'reboot now'
[root@zck ~]# shutdown -k now "The Server will shutdown now"
#向所有登錄的用戶發出信息

halt、poweroff、reboot命令

halt, poweroff, reboot – Halt, power-off or reboot the machine

停止、關閉電源、重啟機器命令。

【SYNOPSIS】

halt [OPTIONS…]

poweroff [OPTIONS…]

reboot [OPTIONS…]

【OPTIONS】

參數
說明
-n 關閉操作系統時不執行sync操作;
-w 不真正關閉操作系統,僅在日志文件“ /var/log/wtmp
-d 關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄;
-f 強制關閉操作系統,reboot加此選項,則是強制重新啟動,不調用shutdown指令的功能。
-i 關閉操作系統之前關閉所有的網絡接口;
-h 關閉操作系統之前將系統中所有的硬件設置為備用模式。
-p 當關閉系統時執行關閉電源操作。當以 poweroff 方式調用halt 時,此為缺省參數

【EXAMPLES】

[root@zck ~]# reboot -f   #強制重新開機,不調用shutdown指令的功能
[root@zck ~]# reboot -i   #關閉網絡設置后再重新啟動系統
[root@zck ~]# reboot -n   #保存數據后再重新啟動系統
[root@zck ~]# reboot -d   #重新啟動時不把數據寫入記錄文件/var/tmp/wtmp
[root@zck ~]# poweroff   #關閉系統電源

hwclock命令

hwclock – query or set the hardware clock (RTC)

顯示和設置硬件時鐘命令

【SYNOPSIS】

hwclock [function] [option…]

【OPTIONS】

參數
說明
-r –show,讀取并打印硬件時鐘
-s –hctosys,將硬件時鐘同步到系統時鐘
-w –systohc,將系統時鐘同步到硬件時鐘
–adjust hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用–adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,并用來校正目前的硬件時鐘。
–debug 顯示hwclock執行時詳細的信息。
–directisa hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘。
–hctosys 將系統時鐘調整為與目前的硬件時鐘一致。
–set –date=<日期與時間> 設定硬件時鐘。
–show 顯示硬件時鐘的時間與日期。
–systohc 將硬件時鐘調整為與目前的系統時鐘一致。
–test 僅測試程序,而不會實際更改硬件時鐘。
–utc 若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。

【EXAMPLES】

實例1:clock和wclock是一個命令

[root@zck ~]# type hwclock
hwclock is /usr/sbin/hwclock
[root@zck ~]# ls -l /usr/sbin/hwclock
-rwxr-xr-x. 1 root root 45304 Nov 20  2015 /usr/sbin/hwclock
[root@zck ~]# type -a hwclock
hwclock is /usr/sbin/hwclock
[root@zck ~]# type -a clock
clock is /usr/sbin/clock
[root@zck ~]# ls /usr/sbin/clock
/usr/sbin/clock
[root@zck ~]# ls -l /usr/sbin/clock
lrwxrwxrwx. 1 root root 7 Jul 27 17:31 /usr/sbin/clock -> hwclock

實例2:顯示硬件時鐘

[root@zck ~]# hwclock
Fri 12 Aug 2016 04:04:34 PM CST  -0.628246 seconds
[root@zck ~]# hwclock -r
Fri 12 Aug 2016 04:04:43 PM CST  -0.163134 seconds
[root@zck ~]# hwclock --show
Fri 12 Aug 2016 04:04:57 PM CST  -0.803466 seconds

實例3:設置硬件時鐘

[root@zck ~]# hwclock --set --date="09/08/2015 15:33:33"
[root@zck ~]# hwclock
Tue 08 Sep 2015 03:33:38 PM CST  -0.928727 seconds

原創文章,作者:zhuckee,如若轉載,請注明出處:http://www.www58058.com/35619

(0)
zhuckeezhuckee
上一篇 2016-08-14 17:44
下一篇 2016-08-14 21:06

相關推薦

  • LVS

    LVS概念 LVS(Linux Virtual Server):Linux 虛擬服務器  LVS是個負載均衡設備,它不提供任何服務,用戶請求到這里的時候,它是將客戶需求轉發至后端真正提供服務的服務,所以說后端的服務稱作real server。LVS分為兩段,前一段稱為ipvsadm(管理集群服務的命令行工具),后面一段叫做ipvs(內核模塊) LVS的類型 …

    Linux干貨 2017-02-17
  • 對文件目錄操作命令詳解

    對文件目錄操作命令詳解 cd——切換目錄 pwd——顯示當前工作目錄 ls——列出目錄內容 touch——創建空文件和刷新時間 stat——查看文件狀態 cp——復制文件和目錄 mv——移動和重命名文件 rm——刪除文件或目錄 目錄操作 tree 顯示目錄樹 mkdir 創建目錄 rmdir 刪除空目錄 rm -r 遞歸刪除目錄樹 alias——命令別名 文…

    Linux干貨 2016-09-06
  • 優云軟件:雙態運維下,老司機是怎么玩CMDB的?

    行業內有個科技公司,CMDB前后建設12年,重構了N次,一言不合就重構,我深深的被這種屢拆屢戰,初心不改精神所折服。我真心想問下做CMDB的兄弟,各位是怎么熬過來的?請不要回避,其實我們都曾被這樣虐過! 近幾年我司承建國內很多傳統行業的CMDB項目,坦白的說,隨著互聯網+熱潮的沖擊,因很多傳統企業也慢慢的在轉變業務,把很多傳統型的業務互聯網化,或者開辟新型業…

    2016-08-05
  • 馬哥教育網絡班N22期+第五周課程練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell; ~]# grep -E "^(root|user1|fedora)" /etc/passwd | awk -F: '{ print $1 $7 }' root/bin/bash user1/bin/bash fedora/bin/bash 2、…

    Linux干貨 2016-10-17
  • UML圖中類之間的關系:依賴,泛化,關聯,聚合,組合,實現

    類與類圖 1) 類(Class)封裝了數據和行為,是面向對象的重要組成部分,它是具有相同屬性、操作、關系的對象集合的總稱。 2) 在系統中,每個類具有一定的職責,職責指的是類所擔任的任務,即類要完成什么樣的功能,要承擔什么樣的義務。一個類可以有多種職責,設計得好的類一般只有一種職責,在定義類的時候,將類的職責分解成為類的屬性和操作(即方法)。 3) 類的屬性…

    Linux干貨 2015-04-07
  • Python之入門篇

    一、環境準備 環境準備 –> pyenv (安裝python解釋器,管理Python版本,管理python虛擬環境) https://github.com/pyenv/pyenv https://github.com/yyuu/pyenv-installer # yum -y install git # curl -L https://ra…

    Linux干貨 2017-02-05

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-14 07:58

    總結的非常詳細,繼續保持。

欧美性久久久久