第一周-Linux Basic

    本文主要介紹了計算機的組成及功能、Linux的發行版、Linux哲學思想、一些基本命令、命令幫助的獲取、文件系統層級結構標準。

一、計算機的組成及功能

    計算機由硬件和軟件兩大類組成

    硬件

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

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

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

    (4)輸入(Input system):輸入設備是計算機的重要組成部分,輸入設備與輸出設備合稱為外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機。常見的輸入設備有鍵盤、鼠標器、光電輸入機、磁帶機、磁盤機、光盤機等。

    (5)輸出(Output system):輸出設備與輸入設備同樣是計算機的重要組成部分,它把外算機的中間結果或最后結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來。微機常用的輸出設備有顯示終端CRT、打印機、激光印字機、繪圖儀及磁帶、光盤機等。

軟件

    (1)系統軟件: 是指控制和協調計算機及外部設備,支持應用軟件開發和運行的系統,是無需用戶干預的各種程序的集合,主要功能是調度,監控和維護計算機系統;負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作。系統軟件使得計算機使用者和其他軟件將計算機當作一個整體而不需要顧及到底層每個硬件是如何工作的。(如Windows、Linux、Dos、Unix等操作系統都屬于系統軟件。)

    (2)應用軟件:是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,分為應用軟件包和用戶程序。應用軟件包是利用計算機解決某類問題而設計的程序的集合,供多用戶使用。計算機軟件分為系統軟件和應用軟件兩大類。應用軟件是為滿足用戶不同領域、不同問題的應用需求而提供的那部分軟件。 它可以拓寬計算機系統的應用領域,放大硬件的功能。(如Word、Excel、QQ等都屬于應用軟件)

二、linux的發行版

    Linux是一個誕生于網絡、成長于網絡且成熟于網絡的奇特的操作系統。1991年,芬蘭大學生Linus Torvalds萌發了開發一個自由的UNIX操作系統的想法,當年,Linux就誕生了,為了不讓這個羽毛未豐的操作系統矢折,Linus將自已的作品Linux通過Internet發布。從此一大批知名的、不知名的電腦黑客、編程人員加入到開發過程中來,Linux逐漸成長起來。

    Linux一開始是要求所有的源碼必須公開,并且任何人均不得從Linux交易中獲利。然而這種純粹的自由軟件的理想對于Linux的普及和發展是不利的,于是Linux開始轉向GPL,成為GNU陣營中的主要一員。

    Linux憑借優秀的設計,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等國際知名企業的大力支持,市場份額逐步擴大,逐漸成為主流操作系統之一。

    下邊介紹下linux的各種發行版,先放一張大致關系圖:

49d503bf47879ffe8a169dd81c744d83_r.jpg

        (1)Debian是包括Ubuntu在內許多發行版的上游,而Ubuntu又是Linux Mint及其他發行版的上游。Debian在服務器和桌面電腦領域都有著廣泛的應用。Debian是一個純開源計劃并著重在一個關鍵點上,穩定性。它同時也提供了最大的和完整的軟件倉庫給用戶。

        (2)Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社區版本。相比RHEL,Fedora打包了顯著的更多的軟件包。其中一個原因是,多樣化的社區參與Fedora的建設;它不只是一家公司。在這個過程中,CentOS用于活動,演示和實驗,因為它是對最終用戶免費提供的,并具有比Fedora的一個更長的發布周期(通常每隔半年左右發布一個新版本)。

        (3)其他版本有Gentoo、ArchLinux等。

            Gentoo采用自己獨特的Portage包管理系統,吸引了許多狂熱愛好者以及專業人士,強調自己編譯源碼,而不是直接用二進制包,這樣程序運行速度更快。

            ArchLinux基于KISS原則,針對i686的CPU做了優化,以.tar.xz格式打包并由包管理器進行跟蹤維護,特別適合動手能力強的linux用戶。

    最后放一張各linux發行商的商標圖:

545620da36e9914901db2f74ff316e22_r.jpg


三、linux的哲學思想

    (1)一切皆文件

        是 Unix/Linux 的基本哲學之一。不僅普通的文件,目錄、字符設備、塊設備、 套接字等在 Unix/Linux 中都是以文件被對待;它們雖然類型不同,但是對其提供的卻是同一套操作界面。

    (2)由眾多的單一的程序完成一件比較復雜的工作,一個程序只做一件事,并且做好他。

        程序和可執行文件不會太復雜,這樣才能保證了linux內核的高效運行,復雜的任務可以通過連接多個簡單的程序實現。

    (3)盡量避免與用戶交互

        為了后期的自動化執行,避免與用戶交互,以達到高效執行工作。

    (4)使用文本文件保存配置信息

        linux所有的配置文件都存放在文本配置文件當中,無論什么配置修改都只需修改其配置文件即可,配置文件時只需任意一款文本編輯器修改即可。


四、些許基礎命令

    (1)ifconfig

        功能:用來查看和配置網絡設備。當網絡環境發生改變時可通過此命令對網絡進行相應的配置。

        查看接口:ifconfig [Interface]

            -a:all,包括未激活狀態的所有接口

        啟用或禁用接口:ifconfig Interface up|down

        設定IP地址:ifconfig Interface IP/Netmask [up]

            例:ifconfig 192.168.100.131/24

    (2)echo

        功能:將輸入文本顯示至標準輸出

        選項:

            -n:默認換行后輸出,-n表不換行輸出

            -e:啟用反斜線轉義

            \b:退格

            \\:反斜線

            \n:新行

            \r:回車

            \t:水平制表符

            \v:垂直制表符

    (3)tty

        功能:查看當前使用的終端設備

            /dev/console:物理終端

            /dev/tty#:虛擬終端,#取值為[1,6]

            /dev/pts/#:偽終端

            /dev/ttyS#:串行終端

    (4)startx:

        功能:啟動圖形終端

    (5)export:

        功能:定義或查看環境變量

        定義環境變量:export VAR_name

        查看環境變量:export

        查看環境變量其他方式:

            printenv,env

            echo VAR_NAME

    (6)pwd

        功能:打印當前工作目錄

        相關環境變量:PWD

    (7)history

        功能:顯示命令歷史

        選項:

            -a:append,追加本次會話新執行的命令歷史列表至歷史文件中

            -d #:刪除歷史列表中指定的命令

            -c:清空命令歷史

        配置文件:家目錄下的.bash_history

        相關環境變量:

            HISTSIZE:shell進程可保留的命令歷史條數

            HISTFILE:保存命令歷史的文件,默認為.bash_history

            HISTFILESIZE:保存命令歷史的文件大小

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

                ignoredups:忽略重復的命令

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

                ignoreboth:以上兩者同時生效

        基于命令歷史的快捷操作:

            !#:再次執行歷史列表中第#條命令

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

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

            上下鍵

    (8)shutdown

        功能:關機或重啟

        選項:

            -h:halt

            -r:reboot

        若想定義關機發送信息:

            shutdown -h 12:31 "The Server will be halt at 12:31"

            會向各登錄用戶發送提示信息,若想取消這項關機計劃,ctrl+c取消計劃

    (9)poweroff

        功能:關機命令

        原理:就是命令halt的軟連接,而halt又是調用shutdown -h命令

    (10)reboot

        功能:重啟命令

        選項:

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

    (11)hwclock及clock

        功能:顯示硬件時鐘

        選項:

            -s:–hctosys,以硬件時間為準,將系統時間調整為與硬件時間相同

            -w:–systohc,以系統時間為準,將硬件時間調整為與系統時間相同

    (12)date

        功能:顯示系統時鐘

        選項:

            %F、%T、%Y、%m、%d、%H、%M、%S、%s…

        示例:

            date +%Y%m%d%H%M%S

            20161128192145

    (13)cal

        功能:顯示日歷

        示例:

        cal [MONTH] [YEAR]

五、linux系統上獲取命令的幫助信息

    (1)使用幫助之前指定命令的類型:

    type COMMAND

        (Ⅰ)內部命令:

            help COMMAND

        (Ⅱ)外部命令:

            a.COMMAND –help:命令自帶簡要格式的幫助

            b.man COMMAND:man手冊,/usr/share/man

                -M /PATH/TO/SOMEDIR :到指定目錄下查找man手冊并打開

            c.info COMMAND:獲取命令的在線文檔

            d:主流發行版官方文檔:如http://www.redhat.com/doc:

            e:程序官方網站上的document

    (2)關于man章節的功能說明

        使用whatis看命令擁有的man章節,該命令是通過數據庫查詢得出結果,使用makewhatis(6版本)或makedb更新數據庫

            1:用戶命令

            2:系統調用

            3:C庫調用

            4:設備文件及特殊文件

            5:文件格式:配置文件格式

            6:游戲使用幫助

            7:雜項

            8:管理工具及守護進程

六、linux發行版的基礎目錄名稱法則及功用規定

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

    FHS為多數Linux版本采用的文件組織形式,其采用樹形結構組織文件

    

    FHS目錄結構:

    /bin:所有用戶可用的命令程序

    /sbin:僅供管理員用戶使用的命令程序

    /boot:引導加載器必須用到的各靜態文件:kernel、initramfs(initrd)、grub等

    /dev:存儲設備文件或特殊文件,如字符設備(線性設備)、塊設備(隨機設備)

    /etc:系統程序的配置文件,只能是靜態

    /home:普通用戶的家目錄,每個用戶的家目錄默認在此目錄下,并且與用戶同名

    /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:命令手冊頁和自帶文檔等架構特有的文件存儲位置

        local:另一個層級目錄,讓系統管理員安裝本地應用程序,也通常用于安裝第三方程序

        X11R6:X-Window程序的安裝位置

        src:程序源碼文件的存儲位置,比如內核編譯時將內核在此目錄編譯

    /var:var hierarchy,存儲常發生變化的數據的目錄

        cache application cache data

        lib variable state information

        local variable data for /usr/local

        lock lock file

        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,虛擬為文件存放于/proc/sys下,即/proc/sys/net/ipv4/ip_forward

    /sys:sysfs虛擬文件系統提供了一種比/proc更為理想的訪問內核數據的途徑,其主要作用在于為管理linux設備提供一種統一模型接口。

    

    FHS參考網址:https:www.ibm.com/developrworks/cn/linux/l-cn-sysfs/

原創文章,作者:N25_水煮魚,如若轉載,請注明出處:http://www.www58058.com/61307

(0)
N25_水煮魚N25_水煮魚
上一篇 2016-11-28
下一篇 2016-11-28

相關推薦

  • Linux中磁盤管理與文件系統創建掛在

    磁盤管理 Linux中哲學思想:Linux一切皆文件,所有訪問磁盤設備就如同訪問一個文件一樣,因此要想使用需要一個文件接口 如何向設備中輸入數據?     首先將設備在系統上映射成一個文件,在此文件上進行讀寫操作就相當于對設備進行讀寫,對程序而言首先是打開一個文件open(),然后執行read()或者write(),最…

    Linux干貨 2016-08-26
  • 馬哥面授班20期-第一周(計算機基礎,linux入門)

    一.計算機發展歷史及硬件組成部分     計算機發展歷史:第一代:(1946-1957)電子管時代,第二代:(1958-1964)晶體管時代,              第三代:(1965-1970)集成電路時…

    Linux干貨 2016-07-26
  • bash腳本編程之select語法詳解

    shell編程之select select控制結構(在tcsh中不可用)基于Korn Shell中的控制結構 select語句首先顯示一個菜單,然后根據用戶的選擇給變量賦予相應的值,最后執行一系列命令 其語法如下: select varname in list do commands done select 表達式是一種bash的擴展應用,動作包括: 自動用…

    Linux干貨 2016-08-24
  • N25-第三周作業

    N25第三周作業 博客作業 1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@ip-172-31-25-9 ~]# who|awk '{print $1}'|sort -u ec2-user [root@ip-172-31-25-9&n…

    Linux干貨 2017-02-06
  • 純文本配置還是注冊表

    我們知道Unix/Linux下的程序配置文件從來都是純文本的,你可以自由地修改和查看,他們也沒有什么什么XML之類的玩意(參看XML的這兩篇文章:一,二),這個最重要的Unix文化(參看Unix傳奇下篇)40多年來就這么沿續下來了。我很佩服Microsoft的創新能力,一會兒用INI,一會兒用注冊表,一會又是用XML,這就是Windows的編程中那“強大”的…

    Linux干貨 2016-08-15
  • vsdf

    Linux干貨 2017-10-23

評論列表(4條)

  • N25_韓奇洋
    N25_韓奇洋 2016-11-28 19:41

    佩服,寫的很不錯

  • youzi
    youzi 2016-12-09 21:23

    圖片很好玩

  • 漫動者
    漫動者 2017-01-09 20:31

    圖片很好,哥們我拿走啦。。。

欧美性久久久久