馬哥教育網絡班21期-第一周課程練習

前言:

作者很懶,從小到大基本沒有完成過作業,這種習慣深入骨髓(準備保持下去)。但是想到銀子已經花出去了,必須有所得才行。所以會把課程中學習到的東西以自身理解完成作業,錯誤之處,望老師指正。[ 注:錯別字什么的就當沒有看見 ]

另:在下就讀網絡21班(全部是男人,以后簡稱“馬網寺”),發現寺內高手都非常低調,也許3個豆子、某助手就是"寺內隱世的掃地僧"。

我們的偉大領導,馬主持說過:“不要扯**,扯**就是在浪費時間”

一:計算機的組成及其功能

在下理解,一臺電腦如果想要正常運行,主要有硬件和軟件兩部分組成。

其中硬件依照 馮·諾依曼體系 主要有5部分:

  1. 控制器 ,主要是控制交給 運算器 處理的信息先后順序。

  2. 運算器 ,所有信息都會經過此處,處理之后再交給控制器。它與控制器組成了CPU 。

  3. 存儲器 ,保存數據信息。內存條(主要為cpu讀取信息提供服務),硬盤( 閣下存放AV等大數據的地方 )

  4. 輸入設備 ,與電腦交流的接口,鍵盤,鼠標一類的設備

  5. 輸出設備 ,顯示器,音箱,打印機一類設備

軟件部分:主要是操作系統(Linux,…等等) 加上系統上的應用軟件等。其中功能就不說了,在下比較懶。馬主持常教導:“請自行腦補”

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

這個請允許 小的 說點閑話。第一次接觸Linux 在公元2004年左右,當時在學校旁邊網吧兼職網管。去科技市場60元買了一套Fedora ,10張光盤(好像是2張系統盤,其他都是源碼盤什么的)。通過攝像頭視頻(網友指導)一個通宵裝好系統,安裝flash插件用了差不多3天吧。2周時間搭建出第一個web服務。??墒枪适聸]有發展到后來…..,后來就沉迷CS了。

自己安裝使用過的Linux(RedHat,CentOS,Fedora,Ubuntu,Kali Linux,openSUSE,Debian,Arch Linux,Deepin,紅旗,中標)。

有關使用的感知,小僧認為,每個Linux發行版都是好的,各有特色,由于小僧才疏學淺就不評頭論足了。

特別提示:國產Linux – Deepin ,最近公司新機器做調試的時候用上該系統,界面真的有驚到我,絕對不輸于其他發行版,就像操作windows一樣來操作就行了。

紅帽家族:Redhat enterprise 賺錢加提供技術。Fedora前沿技術測試版,免費給大家用。CentOS 就是 Redhat的免費版,社區支持,大量文檔。

Debian :感覺比較NB的版本,intel,powerpc,amd,arm,ppc,mips,mipsel 都支持。上面提到的 deepin 就是基于debian的。

Arch :輕量,自己獨有的升級方式和包管理,小僧用的不是很順手。

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

小僧文化低,文字水平很low ,只會用 自由 ,分享 來表達。

此處引用馬主持語錄:

1、一切皆文件;

把幾乎所有資源,包括硬件設備都組織為文件格式;

2、由眾多單一目的小程序組成;一個程序只實現一個功能,而且要做好;

組合小程序完成復雜任務;

3、盡量避免跟用戶交互;

目標:實現腳本編程,以自動完成某些功能;

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

目標:一款使用的文本編程器即能完成系統配置工作;

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

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

為了提升效率,此處兩題合二為一

 命令使用方式:COMMAND [OPTIONS...] [ARGUMENTS...]

blob.png

注:配圖乃是參考 小助手 畫圖技術

ifconfig – 配置網絡接口,詳細信息請 man ifconfig 。小僧感覺使用 ip 命令比ifconfig好用。

blob.png

數字1-8分別表示:
    1:可執行命令或shell命令
    2:系統調用(functions provided by the kernel)
    3:C語言庫函數
    4:設備或特殊文件(通常在/dev下)
    5:文件格式和規則(例如/etc/passwd)
    6:游戲
    7:雜項(宏、包及其他雜項)
    8:系統管理員相關的命令(通常只給root)

幫助手冊中的段落說明:(馬主持的筆記居然沒有中文說明,此處小僧可恥的抄襲了)

NAME ,簡短的指令,數據名稱的說明;

SYNOPSIS ,簡短的指令下達語法(syntax)簡介;

  • [ ]: 可選內容

  • < >: 必選內容

  • a|b: 二選一

  • …: 同一內容可出現多次

DESCRIPTION ,較為完整的功能介紹

OPTIONS ,針對SYNOPSIS部分中,有列舉的所有可用的選項說明;

EXAMPLES ,一些可以參考的范例;

AUTHOR ,作者

REPORTING BUGS ,是否有相關的漏洞;

SEE ALSO ,一般看看EXAMPLE,再看看OPTIONS就可以,如果還不能解決問題,再SEE ALSO。

實例1:查看本機ip地址信息

[root@CentOS7: ~]$ ifconfig 
enp3s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.20.70  netmask 255.255.0.0  broadcast 10.10.255.255
        inet6 fe80::216:17ff:feae:28fc  prefixlen 64  scopeid 0x20<link>
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        RX packets 84127934  bytes 5534402042 (5.1 GiB)
        RX errors 0  dropped 12359  overruns 0  frame 0
        TX packets 2163999  bytes 152413505 (145.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 11  

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 3853  bytes 1481079 (1.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3853  bytes 1481079 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:46:01:06  txqueuelen 0  (Ethernet)
        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

實例2:臨時增加一個IP地址

[root@CentOS7: ~]$ ifconfig enp3s8:1 192.168.1.2 netmask 255.255.0.0
[root@CentOS7: ~]$ ifconfig 
enp3s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.20.70  netmask 255.255.0.0  broadcast 10.10.255.255
        inet6 fe80::216:17ff:feae:28fc  prefixlen 64  scopeid 0x20<link>
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        RX packets 84153913  bytes 5536086641 (5.1 GiB)
        RX errors 0  dropped 12363  overruns 0  frame 0
        TX packets 2164807  bytes 152477581 (145.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 11  

enp3s8:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.0.0  broadcast 192.168.255.255
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        device interrupt 11  

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 3853  bytes 1481079 (1.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3853  bytes 1481079 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:46:01:06  txqueuelen 0  (Ethernet)
        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
[root@CentOS7: ~]$ ifconfig enp3s8:1
enp3s8:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.0.0  broadcast 192.168.255.255
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        device interrupt 11
echo – 打印出要顯示的信息 ,詳細信息請 man echo 

實例1:小僧要看系統環境變量

[root@CentOS7: ~]$ echo $PATH
/root/.nvm/versions/node/v5.0.0/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

實例2:用echo命令打印一段話

[root@CentOS7: ~]$ echo "我是一個好好孩子"
我是一個好好孩子

tty – 打印連接到標準輸入的終端的文件名 ,詳細信息請 man tty

實例1:顯示當前終端

[root@CentOS7: ~]$ tty 
/dev/pts/1

startx – 啟動x windows ,詳細信息請 man startx

實例1:

[root@CentOS7: ~]$ startx

export – 設置或顯示環境變量,詳細信息請 man export

實例1:列出當前所有環境變量

[root@CentOS7: ~]$ export
declare -x DISPLAY="localhost:11.0"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="CentOS7"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
......
pwd – 顯示工作目錄,詳細信息請 man pwd

實例1:顯示當前所在目錄

[root@CentOS7: ~]$ pwd
/root

history – 記錄歷史執行的命令,詳細信息請 man history

實例1:列出所有歷史記錄

[root@CentOS7: ~]$ history

實例2:執行記錄中的第100條命令

[root@CentOS7: ~]$ !100

shutdown – 系統重啟或者關機命令,詳細信息請 man shutdown

實例1:立即關機

[root@CentOS7: ~]$ shutdown -h now

實例2:請5分鐘后重啟系統

[root@CentOS7: ~]$ shutdown -r +5

poweroff – 關機并且斷電,詳細信息請 man poweroff

小僧的筆記本之前裝kali linux和Ubuntu的時候,使用halt 或者 shutdown命令關機會出現 – 系統關閉掉了,顯示屏還亮著。此時通過 poweroff 命令就可以徹底關機。

實例1:立即關機

[root@CentOS7: ~]$ poweroff

reboot – 重啟系統,詳細信息請 man reboot 

實例1:立即重啟系統

[root@CentOS7: ~]$ reboot

hwclock – 顯示或設置硬件時鐘,詳細信息請 man hwclock

實例1:顯示當前硬件時鐘時間

[root@CentOS7: ~]$ hwclock

實例2:將硬件時時鐘設置為系統時間一致

[root@CentOS7: ~]$ hwclock --systohc


date – 顯示或設置系統時間,詳細信息請 man date

實例1:顯示當前系統時間

[root@CentOS7: ~]$ date

實例2:設置系統時間為2016年6月27日

[root@CentOS7: ~]$ date -s 20160627

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

/boot : 引導文件存放目錄,內核文件(vmlinuz),引導加載器(bootloader,grub)
/bin : 所有用戶可以使用的基本命令 ,不能關聯至獨立分區,OS啟動既會用到的程序
/sbin : 管理類的基本命令,不能關聯至獨立分區,OS啟動即會用到的程序
/lib : 基本共享庫文件,內核模塊文件
/lib64 : 64位系統
/etc : 配置文件目錄
/home : 普通用戶家目錄
/root : 管理員家目錄
/media : 便攜式移動設備掛載點
/mnt : 臨時掛載點
/dev : 設備文件及特殊文件存放
    b : block device 隨機訪問
    c : character device 線性訪問
/opt : 第三方應用程序安裝位置/srv : 系統運行的服務用到的數據
/tmp : 臨時文件
/usr : universal shared ,read-only data  
  bin : 保證系統擁有完整功能而提供的應用程序  
  sbin :   
  etc      
  games      
  include  : C程序的頭文件    
  lib      
  lib64      
  libexec      
  local :第三方應用程序的安裝位置,可以關聯至獨立分區    
  share  : 結構化的獨立數據,    
  src         
  tmp
/var : variable data file
  cache  : 應用程序緩存數據目錄
  lib : 應用程序狀態信息數據    local : 專用于為/usr/local下的應用程序存儲可變數據     opt : 用于為/opt 下的應用程序存儲可變數據
  run : 運行中的進程相關的數據,通常存放進程的pid文件
  tmp : 保存系統兩次重啟之間產生的臨時數據
/proc : 內核and進程相關的虛擬文件系統
/sys : 用于輸出當前系統上硬件設備相關信息的虛擬文件系統

小僧 俗事繁忙。。。既然作業已成,在下就繼續閉關聽馬主持講經去了。。

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

(0)
勇爺勇爺
上一篇 2016-06-29 14:30
下一篇 2016-06-29 14:30

相關推薦

  • 第一周:Linux基礎之常用命令(二)

    一、Linux的命令使用格式 命令的語法通用格式: ~]# COMMAND  OPTIONS  ARGUMENTS   命令  選項  參數 1.  COMMAND,命令:發起命令時將請求內核將某個二進制程序運行為一個進程,命令本身是一個可執行的程序文件,二進制格式的文件有可能會調用共享庫文件。 多…

    Linux干貨 2016-09-18
  • SElinux

    SElinux 1.介紹: SELinux: Secure Enhanced Linux,是美國國家安全局「NSA=The National Security Agency」和SCC(Secure Computing Corporation)開發的Linux的一個強制訪問控制的安全模塊。2000年以GNU GPL發布,Linux內核2.6版本后集成在內核中 …

    Linux干貨 2016-09-21
  • 【招聘福利】上海/北京/深圳丨 云絡科技丨招募linux系統運維工程師

    崗位要求: 1,安裝服務器 – Linux CentOS + netinstall 2.服務器安全 – 用戶、權限、iptables、sudo 3.計劃部署Linux?高可用性,包括HA,LB 4.協助Leader完成復雜的網絡設計 (完全冗余/故障遷移/高可用性) 5.用linux命令查看服務器(top/iostat/vmstat/sar/等) 6.安裝、…

    Linux干貨 2016-04-05
  • centOS6.9 防火墻的關閉以及開啟

    有的時候,我們需要對系統的防火墻進行操作,今天小編就給大家講解一下如何開啟以及關閉CentOS6.9系統下的防火墻。 輸入:cat /etc/issue 查看版本 (一)通過service命令 service命令開啟以及關閉防火墻為即時生效,下次重啟機器的時候會自動復原。 查看防火墻狀態:service iptables status ,記得在CentOS6…

    Linux筆記 2018-04-20
  • nginx實現請求轉發

    反向代理適用于很多場合,負載均衡是最普遍的用法。 nginx?作為目前最流行的web服務器之一,可以很方便地實現反向代理。 nginx?反向代理官方文檔:?NGINX REVERSE PROXY 當在一臺主機上部署了多個不同的web服務器,并且需要能在80端口同時訪問這些web服務器時,可以使用?nginx?的反向代理功能: 用?nginx?在80端口監聽所…

    Linux筆記 2018-07-08
  • 正則表達式

    Linux文本處理三劍客 *************************************************grep:文本過濾(pattern模式)工具 grep egrep fgrepsed:stream editor,文本編輯工具awk:Linux上的實現gawk,文本報告生成器 *****************************…

    Linux筆記 2018-04-07

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-29 14:58

    寫的很好,排版也很漂亮,加油

欧美性久久久久