馬哥教育絡班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
下一篇 2016-08-14

相關推薦

  • 如何恢復誤刪除的rpm包命令

    如何恢復誤刪除的rpm包命令 在linux學習過程中,我們會遇到各種各樣的問題,當然,如果能夠將遇到的問題一一解決也是非常開心的,因為在解決問題的過程中我們的專業技能也得到了很大的提升。最近的測試中遇到了一個平時很少接觸的問題:如何恢復誤刪除的rpm包命令。所以覺得有必要寫下來,以防止下次出現類似的問題而不會解決。 首先模擬卸載rpm rpm -e &#82…

    2017-08-26
  • 使用fail2ban防止暴力破解ssh及vsftpd密碼

    此文介紹一個linux下通過監控日志防止密碼被暴力破解的軟件-fail2ban。fail2ban支持常用的服務,如sshd, apache, qmail, proftpd, sasl, asterisk等的密碼驗證保護,當發現暴力破解的跡像時,可以通過iptables, tcp-wrapper, shorewall等方式阻止此IP的訪問。 python安裝 …

    Linux干貨 2015-03-04
  • 學習宣言

    我的人生宣言:做人要學到老,活到老,最重要的玩到老啊。人的一生真的太短了,要做我們喜歡的事情,趁自己年輕的時候吧!行動吧!加油??!

    Linux干貨 2016-12-26
  • 馬哥教育網絡第21期-第六周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@6 ~]# cp /etc/rc.d/rc.sysinit /tmp [root@6 ~]# …

    Linux干貨 2016-08-15
  • Linux文件層級結構標準(FHS)

    Linux文件層級結構標準(FHS) 設計FHS(Filesystem Hierarchy Standard)的目的主要是為了給Unix-like系統的管理員提供一個管理系統以及目錄結構的一個參考。 由于利用Linux源碼開發產品和發行版的企業或組織眾多,如果每個組織都按照自己的喜好來組織系統中的文件結構,網絡上必然出現各種各樣的文件結構。這些產品的用戶就不…

    2016-12-05
  • N22-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 # who|cut -d' ' -f1|sort|uniq # root 2、取出最后登錄到當前系統的用戶的相關信息。 # last|head -n 1 # …

    Linux干貨 2016-08-29

評論列表(1條)

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

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

欧美性久久久久