N25-第一周博客作業

  • 計算機的組成及其功能

  • Linux的發行版介紹

  • Linux的哲學思想

  • Linux命令格式及一些基礎命令

  • 在Linux系統上獲取命令的幫助信息

  • Linux發行版的基礎目錄

計算機的組成及其功能

簡單來說,計算機系統是由 硬件系統(hardware system)和 軟件系統(software system)兩部分組成。


硬件的基本組成: 運算器、存儲器、控制器、輸入輸出設備。

  • 運算器:運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理

  • 控制器: 是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等

  • 存儲器: 存儲器的功能是存儲程序、數據和各種信號、命令等信息,并在需要時提供這些信息

  • 輸入輸出設備:輸入設備是計算機的重要組成部分,輸入設備與輸出設備合稱為外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機.輸出設備與輸入設備同樣是計算機的重要組成部分,它把外算機的中間結果或最后結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來.

軟件: 主要分為系統軟件和應用軟件

  • 系統軟件: 系統軟件是指控制和協調計算機及外部設備,支持應用軟件開發和運行的系統,是無需用戶干預的各種程序的集合,主要功能是調度,監控和維護計算機系統;負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作.

  • 應用軟件: 應用軟件是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,分為應用軟件包和用戶程序.應用軟件包是利用計算機解決某類問題而設計的程序的集合,供多用戶使用。

Linux的發行版介紹

因為并不是每個人都具有源碼安裝各種軟件的能力,滿足各種用戶需求的Linux發行版應運而生,發展的蓬蓬勃勃,到今天已經達數百種之多。其中最為主流的有以下幾個分支。

  • Redhat
    在該分支中主要有RHEL(商業收費版),CentOS((RHEL的社區克隆版本,免費),Fedora Core(桌面版,免費)

  • slackware
    slackware下最有名的分支當屬SuSe,SuSE有SLES(企業版)和openSUSE(社區版)

  • Debian
    Debian是社區類Linux的典范,是迄今為止最遵循GNU規范的Linux系統。Debian最具特色的是apt-get / dpkg包管理方式。
    Debian下比較有名的分支有Ubuntu,Mint

  • Gentoo
    追求極限的配置、性能,以及頂尖的用戶和開發者社區,都是Gentoo體驗的標志特點。Gentoo的哲學是自由和選擇。

  • ArchLinux
    Arch Linux(或稱Arch)是一種以輕量簡潔為設計理念的Linux發行版。

Linux的哲學思想

  1. 一切皆文件,把幾乎所有資源統統抽象為文件形式,包括硬件設備,甚至通信接口等;
    資源(文件,硬件設備)的管理更加簡單,方便。

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

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

  4. 使用文本文件保存配置信息
    配置信息可以持久保存,極大的發揮了文本編輯器的作用

Linux命令格式及一些基礎命令

命令的語法通用格式:

COMMAND OPTIONS ARGUMENTS

COMMAND:
發起一命令:請求內核將某個二進制程序運行為一個進程; 程序 –> 進程 靜態 –> 動態(有生命周期)

  • 命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;

  • 多數系統程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin

普通命令:/bin, /usr/bin, /usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin

共享庫:多個程序都用到的公共部分
/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
32bits的庫:/lib, /usr/lib, /usr/local/lib
64bits的庫:/lib64, /usr/lib64, /usr/local/lib64

注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件

  • 命令必須遵循特定格式規范:exe, msi, ELF(Linux)
    ~]# file /bin/ls 查看文件內容格式類型

  • 命令分為兩類:
    由shell程序的自帶的命令:內置命令(builtin)
    獨立的可執行程序文件,文件名即命令名:外部命令

查看命令類型:
type COMMAND
OPTIONS:
指定命令的運行特性
選項有兩種表現形式:

  • 短選項:-C, 例如-l, -d
    注意:有些命令的選項沒有-;
    如果同一命令同時使用多個短選項,多數可合并:-l -d = -ld

  • 長選項:–word, 例如–help, –human-readable

注意1:長選項不能合并;

注意2:有些選項可以帶參數,此稱為選項參數; 短選項用空格分割, 長選項用等號分割

ARGUMENTS:
命令的作用對象;命令對什么生效;
注意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔


基礎命令

  • ifconfig: 查看、配置、啟用或禁用網絡接口;
    注意: 命令立即生效,重啟失效

    ifconfig   #處于激活狀態的網絡接口
    ifconfig -a  #所有配置的網絡接口,不論其是否激活
    ifconfig eth0  #顯示eth0的網卡信息  
    ifconfig eth0 down  #關閉eth0網卡
    ifconfig eth0 up    #開啟eth0網卡
    ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE  #修改MAC地址  
    ifconfig eth0 192.168.1.56 netmask 255.255.255.0  #給eth0網卡配置IP地址,并加上子掩碼  
    ifconfig eth0 mtu 1500  #設置能通過的最大數據包大小為 1500 bytes

    示例:

配置網卡ip地址并啟動  


[root@node1 ~]# ifconfig eno16777736 172.16.0.150 netmask 255.255.0.0 up



添加網卡別名  


[root@node1 ~]# ifconfig eno16777736:0 172.16.0.151 netmask 255.255.0.0
[root@node1 ~]# ifconfig eno16777736:1 192.168.0.100 netmask 255.255.255.0  


保留網卡別名信息   


1. 將增加ip別名的命令填寫到/etc/rc.local文件中,這個方法最方便,但不太可靠,有時會失靈。  
2. 手動編寫ip別名的網卡配置文件
所有網卡的配置文件都保存在/etc/sysconfig/network-scripts目錄中,一個網卡對應一個配置文件  

[root@node1 network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777736:0
[root@node1 network-scripts]# vim ifcfg-eno16777736:0



清除別名  

[root@node1 network-scripts]# ifconfig eno16777736:0 down
[root@node1 network-scripts]# ifconfig eno16777736:1 down
  • echo 回顯
    格式: echo [SHORT-OPTION]… [STRING]…
    -n: 不進行換行;
    -e:讓轉義符生效;
    \n:換行
    \t:制表符

[root@node1 network-scripts]# echo -e "hello \nworld"
hello
world
  • tty 查看當前的終端設備

    [root@node1 network-scripts]# tty
    /dev/pts/2
  • startx 啟動圖形化界面
    在某一虛擬終端接口運行命令:startx &

  • export 顯示和設置環境變量值
    設置環境變量
    export JAVA_HOME=/usr

  • pwd 顯示工作目錄
    -P 符號鏈接時,顯示真實路徑

    [root@node1 ~]# pwd
    /root
  • history 命令歷史
    shell進程會其會話中保存此前用戶提交執行過的命令
    定制history的功能,可通過環境變量實現:
    HISTSIZE:shell進程可保留的命令歷史的條數;
    HISTFILE:持久保存命令歷史的文件;
    HISTFILESIZE:命令歷史文件的大小;

命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 參數 [參數…]

常用參數:
-c: 清空命令歷史(內存中的);
-d offset:刪除指定命令歷史
-r: 從文件讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史文件中; history #:顯示最近的#條命令;

調用命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;
調用上一條命令的最后一個參數:
快捷鍵:ESC, . 按esc,放開,按.

示例: 顯示最近的兩條命令
histroy 2

  • shutdown 關機或重啟命令
    shutdown [OPTIONS…] [TIME] [WALL…]
    OPTIONS:
    -h: halt 關機
    -r:reboot 重啟
    -c:cancel 取消關機或重啟(未到時間)

TIME:
now 現在
hh:mm 幾點幾分
+m 幾分鐘后
+0相當于now 現在

WALL 給所有終端發送的告警信息

示例:

現在關機:  shutdown -h now  
現在重啟:  shutdown - r now   
取消關機或重啟:  shutdown -c
  • poweroff 關機

  • reboot 重啟

  • hwclock 顯示或設定硬件時鐘,clock是hwclock的軟連接
    hwclock : 顯示硬件時鐘
    -s, –hctosys:以硬件為準,把系統調整為與硬件時間相同;
    -w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同;

示例:

以硬件為準,把系統調整為與硬件時間相同; 
[root@node1 ~]# date
2016年 12月 01日 星期四 01:44:07 CST
[root@node1 ~]# hwclock
2016年12月01日 星期四 01時43分50秒  -0.621642 秒
[root@node1 ~]# hwclock -s
[root@node1 ~]# hwclock
2016年12月01日 星期四 01時44分37秒  -0.849592 秒
[root@node1 ~]# date
2016年 12月 01日 星期四 01:44:40 CST
  • date 顯示日期時間

格式: date [OPTION]… [+FORMAT]

FORMAT:格式符
                            %F      相當于%Y-%m-%d
                            %T      相當于  %H:%M:%S
                            %Y      年
                            %m      月
                            %d      日
                            %H      時
                            %M      分
                            %S      秒
                            %s: 從1970年1月1號(unix元年)0點0分0秒到命令執行那一刻經過的秒數;

示例:

~]# date +%F
2016-11-17
~]# date +%T
23:22:07
~]# date +%F-%T
2016-11-17-23:22:48
~]# date +"%Y-%m-%d %H:%M:%S"
2016-11-17 23:25:52
~]# date +%s
1479396446

在Linux系統上獲取命令的幫助信息

內部命令:
help COMMAND
外部命令:
(1) 命令自帶簡要格式的使用幫助
COMMAND –help
(2) 使用手冊:manual

# man COMMAND

                    SECTION:
                        NAME:功能性說明,簡要說明
                        SYNOPSIS:語法格式
                        DESCRIPTION:描述
                        OPTIONS:選項
                        EXAMPLES:使用示例
                        AUTHOR: 作者
                        BUGS: 報告程序bug的方式
                        SEE ALSO: 參考
                        ...

                    SYNOPSIS: 
                        []:可選內容;
                        <>:必須提供的內容;
                        a|b|c:多選一;
                        ...:同類內容可出現多個;  

            注意:并非每個COMMAND在所有章節下都有手冊;
                            查看命令在那些章節有手冊:
                                ~]# whatis COMMAND

                     注意:其執行過程是查詢數據庫進行的;
                                    手動更新數據庫
                                                                             Centos 6:
                                        ~]# makewhatis
                                                                             centos7:
                    ~]# mandb    

                    man命令打開手冊以后的操作方法:
                              翻屏:
                                  空格鍵:向文件尾翻一屏;
                                  b: 向文件首部翻一屏;
                                  Ctrl+d   或d:向文件尾部翻半屏; 
                                  Ctrl+u 或 u:向文件首部翻半屏;
                                  回車鍵:向文件尾部翻一行;
                                  k: 向文件首部翻一行;
                                  G:跳轉至最后一行;
                                  #G: 跳轉至指定行;
                                  1G:跳轉至文件首部;

                              文本搜索:  不區分字符大小寫
                                  /keyword:從文件首部向文件尾部依次查找;不區分字符大小寫;
                                  ?keyword:從文件尾部向文件首部依次查找;    
                                      n: 與查找命令方向相同;
                                      N: 與查找命令方向相反;

                              退出:
                                  q: quit   
                      man手冊可以放到任意目錄下,需要指定
                 選項:
                     -M /PATH/TO/SOMEDIR:到指定目錄下查找命令手冊并打開之;

(3) info COMMAND
獲取命令的在線文檔;man手冊的補充;

(4) 很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION
README:程序的相關的信息; INSTALL: 安裝幫助; CHANGES:版本迭代時的改動信息;

(5) 主流發行版官方文檔
http://www.redhat.com/doc

(6) 程序官方的文檔:

(7) 搜索引擎 google
keyword filetype:pdf
keyword site:domain.tld

man手冊的章節是如何劃分的?

  1. 用戶命令

  2. 系統調用

  3. C庫調用

  4. 設備文件及特殊文件

  5. 文件格式(配置文件格式)

  6. 游戲使用幫助

  7. 雜項

  8. 管理工具及守護進行

使用示例:

~]# man CHAPTER COMMAND
              man 8 lvcreate
              man 1 passwd
              man 5 passwd

Linux發行版的基礎目錄

FHS: Filesystem Hierarchy Standard 文件系統層級結構標準

/bin:所有用戶可用的基本命令程序文件;
            /sbin:供系統管理使用的工具程序;
            /boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;
            /dev:存儲特殊文件(軟件模擬設備)或設備文件;
                設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);
            /etc:系統程序的配置文件,只能為靜態;
            /home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;
            /root:管理員的家目錄;可選;
            /lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊
                libc.so.*:動態鏈接的C庫;
                ld*:運行時鏈接器/加載器;
                modules:用于存儲內核模塊的目錄;
            /lib64:64位系統特有的存放64位共享庫的路徑;
            /media:便攜式設備掛載點,cdrom, floppy等;
            /mnt:其它文件系統的臨時掛載點;
            /opt:附加應用(第三方應用)程序的安裝位置;可選路徑;早期使用比較多
            /srv:當前主機為服務提供的數據;一般用不到
            /tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
            /usr:usr Hierarchy,全局共享的只讀數據路徑;
                bin, sbin  非系統啟動所需要的
                lib, lib64  庫文件
                include:C程序頭文件;
                share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置 ,/usr/share/man  /usr/share/doc
                local:另一個層級目錄;
                X11R6:X-Window程序的安裝位置
                src:程序源碼文件的存儲位置  可選
            /usr/local:Local hierarchy,讓系統管理員安裝本地應用程序(與系統程序不沖突);也通常用于安裝第三方程序;
            /var:/var Hierarchy,存儲常發生變化的數據的目錄;
                cache    Application cache data  緩存數據
                lib        Variable state information  狀態數據
                local    Variable data for /usr/local   變化數據(/usr/local)
                lock    Lock files   鎖文件
                log        Log files and directories  日志文件
                opt        Variable data for /opt    
                run        Data relevant to running processes
                spool    Application spool data  暫存隊列數據
                tmp        Temporary files preserved between system reboots 重啟后需要留存的數據

            /proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;內核參數虛擬為文件
            /sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口;主要用來管理硬件設備

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

(0)
hansjhansj
上一篇 2016-12-02
下一篇 2016-12-02

相關推薦

  • 基于Keepalived構建高可用集群配置實例(HA Cluster)

    什么是集群 簡單的講集群(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網絡資源。這些單個的計算機系統就是集群的節點(node)。一個理想的集群是,用戶從來不會意識到集群系統底層的節點,在他/她們看來,集群是一個系統,而非多個計算機系統。并且集群系統的管理員可以隨意增加和刪改集群系統的節點。 關于更詳細的高可用集群我們在后面再做詳解…

    Linux干貨 2016-11-03
  • 如何監控Linux文件系統事件:inotify使用指南

    如何監控Linux文件系統事件:inotify使用指南 §·inotify初識 Inotify 是一個 Linux特性,它監控文件系統操作,比如讀取、寫入和創建。Inotify 反應靈敏,用法非常簡單,并且比 cron 任務的繁忙輪詢高效得多。學習如何將 inotify 集成到您的應用程序中,并發現一組可用來進一步自動化系統治理的命令行工具。 §·inoti…

    Linux干貨 2016-10-30
  • centos6,7分區,格式,掛載

     內核及文件系統的組成部分  文件系統驅動:   centos6如果使用xfs系統    yum -y install xfsprogs  文件系統管理工具   mkfs創建文件系統 mkfs.ext3   創建:mkfs.文件類型(ext2,ext3,xfs..)  …

    Linux干貨 2016-08-26
  • ansible配置詳解

    概述     ansible是一款無需在被管理主機上安裝客戶端,基于SSH對多臺目標主機進行同時操作的輕量級的管理軟件,借助各個內部的功能模塊,實現了批量系統配置、批量程序部署、批量運行命令等功能。本篇就介紹一些關于ansible的基礎配置相關的內容,具體包括:     1、an…

    Linux干貨 2016-11-05
  • 馬哥教育絡班22期-第1周博客作業

    第一周博客作業 1 描述計算機的組成及其功能 計算機由硬件和軟件兩大部分組成: 1.1 計算機硬件組成與功能 計算機硬件由運算器、控制器、存儲器、輸入設備、輸出設備五大部分組成。 1.1.1 運算器 算術邏輯部件ALU,執行算術運算和邏輯運算。例如:加減乘除,移位,取模。運算器的核心是加法器。 1.1.2 控制器 控制器是計算機的指揮中心,它的主要作用是按照…

    Linux干貨 2016-08-14
欧美性久久久久