N25第一周博客作業

本文主要闡述了以下幾個知識點:

計算機的組成及功能;

介紹各不同發行版的linux及其聯系;

描述linux的哲學思想,及其本人對其個人理解;

介紹一些linux基本命令及相關選項;

如何在linux上使用幫助命令;

羅列出發行版linux上的一些基礎目錄及其功用。

 

計算機的組成及功能:

         計算機是由軟硬件相輔相成,共同實現計算機的基本功能。大體上由以下兩個部分:

        

        硬件:

    硬件是計算機系統中各種設備的總稱,也是計算機的基石,包括以下五個基本組成部分:

運算器:運算器的主要功能是對數據進行各種運算,這些運算除了常規的加減乘除等基本算數運算外,還包括能進行對數據的邏輯處理能力。

控制器:控制器是真個計算機系統的控制中心,它指揮計算機各部分協調地工作,保證計算機按照預先規定的目標和步驟有條不紊地進行操作及處理。

存儲器:存儲器的主要功能是存儲程序和各種數據信息,并能在計算機運行過程中高速、自動地完成程序或數據的存取。存儲器是用二進制0,1來進行數據存儲的。

輸入設備:用來向計算機輸入各種原始數據和程序。輸入設備把各種形式的信息,如數字、文字、圖像等轉換為數字形式的“編碼”,即二進制的0,1,然后輸入到計算機中存儲起來。鍵盤是必須的輸入設備,常用的輸入設備如鼠標、圖形輸入面板、話筒、視頻攝像機等。

輸出設備:從計算機輸出各類數據的設備叫輸出設備。輸出設備把計算機加工處理的結果變化為人或其他設備所能接收和識別的信息格式例如文字、數字、圖形、聲音等。顯示器是最常見的輸出設備,還有音響、打印機、繪圖儀等輸出設備。

 

 

    軟件:

    如果說硬件是計算機的身軀,那軟件就是計算機的靈魂。沒有靈魂,即使硬件在強大也是一堆廢鐵。軟件包括以下兩個部分:

系統軟件:是指控制和協調計算機及外部設備,支持應用軟件開發和運行的系統,是無需用戶干預的各種程序的集合,主要功能室調度、監控和維護計算機系統。

應用軟件:應用軟件是為了某種特定的用途而被開發的軟件。他可以是一個特定的程序,比如qq,也可以是一組功能聯系緊密,可以互相協作的程序集合,比如office。也可是一個由眾多獨立程序組成的龐大軟件系統,比如數據庫管理系統。

 

 

 

linux的發行版及其聯系與區別。

linux是一款即開源也免費的類Unix操作系統,它誕生于1991.10.5,是一個基于POSIXUNIX的多用戶、的任務、支持多線程和cpu的操作系統。嚴格的來講,Linux本身只表示Linux內核,但實際人們已經習慣了用Linux來形容整個基于Linux內核,并且使用GNU工程各種工具和數據庫的操作系統。在不斷的有杰出的程序員和開發者加入到GNU組織中后,便造就了今天我們所看到的Linux

linux發行版到目前為止有數百種之多,但是目前使用較多的是以下幾類:

Debian或稱為debian系列,包括debianUbuntun等。debian是社區類linux的典范,也最遵循GNU規范。Debian分為三個分支:stable,testiongunstable。其中,unstable為最新的測試版本,有相對較多的bug,適合桌面用戶。testing的版本都經過測試,相對較為穩定。而stable一般只用于服務器,軟件包大都比較過時,但是穩定和安全性都很高。

Redhat應稱為redhat系列,包括RHEL,Fedora Core,CentOS。redhat可以說是國內使用最多的Linux版本,甚至有人講Redhat等同于Linux。這個版本的特點就是使用人數最多,資源多,而且網上的許多Linux教程也都以Redhat為例進行講解。

CentOSRedhat的山寨版本。此版本與redhat基本完全一致,甚至他們的軟件包都可以通用,唯一不同的是這個版本完全免費,是企業中應用最多的版本之一,也是新手入門最好用的一款發行版本。

Ubuntu嚴格的來說不能算一個獨立的發行版本,他是基于Dibanunstable版本加強而來。它的特點是擁有diban的所有優點及自身加強的優點,是一款非常適合做桌面系統的linux發行版本。如果你想要一款桌面絢麗的發行版,那這款是非常適合的。

Gentoolinux最年輕的發行版本,因此他吸取了之前發行版本的所有優點,被稱為最完美的linux發行版之一。gentoo的安裝包是基于源代碼分發的,必須經過編譯后才能運行,所以gentoo是所有發行版中使用難度最高的。但相應的因為安裝方式非常接近底層,所以在程序安裝完畢后與硬件結合非常緊密,可以將機器的硬件發揮到極致。是在相同硬件的發行版中運行最快的版本,如果想對自己的動手能力有一個極大的提升,那選擇此版本是一個非常好的選擇。

 

 

Linux的哲學思想

linux是一款偉大的操作系統,并不是它的系統有多么的優秀,而是它承載著人類最崇高的思想:自由與分享。

                  自由是人類最基本的需求,而分享是人們追求的最高境界。

但除了以上的核心思想外,linux還有一些哲學思想:

一切皆文件:linux系統上,所有的數據都是以文件形式存在的,例如進程、磁盤等。這樣的好處是你可以使用一套api(應用程序編程接口)和工具來處理linux中大多數資源。

單一目的的小程序:linux中,每一條命令都是一個小程序,而每個小程序,又是完成一個任務的一個點。這樣的好處是可以將多點整合,完成復雜任務。

組合小程序完成復雜任務:接上面,我們可以通過一些連接符號或引用符號將多個程序聯系起來,因為每個小程序消耗的資源極小,所以可以在資源相同的情況下最大化提示效率,且因為每個小程序功能單一,可隨意組合,使得組合起來更加靈活。

使用文本文件保存配置信息:既然一起皆文件,那配置信息也不例外。這樣的好處是可以更加全面更加升入的通過修改配置文件來定制程序或系統,讓系統或程序發揮最大的效能。

盡可能避免與用戶交互:在于用戶交互過程中,也許用戶因為不小心操作失誤,導致系統出現故障,在交互的過程中也會導致性能消耗與工作效率變低,作為一款面向服務器級別的操作系統來說,這都是沒有必要的。它需要的只是事先設定好一條路,然后順著路無畏前行。

 

 

linux命令格式:

命令操作是使用linux最基本的要求,也是linux最核心的一部分。因為每一條linux命令都是一個單一的小程序,而linux就是由這些單一的小程序撐起來的。所以,想要學習linuxlinux命令是無法繞過去的一道坎。

      linux的格式大體上有三部分構成:命令本身、選項參數、目標(文件,目錄,容器等)

COMMAND  [OPTIONS]   [OBJECTIVE]。

                   例如:ls     -lh  /etc/passwd

                          命令  參數  文件

                           

命令:命令本身就是完成一個任務的主程序,一般是由系統提供的。每條命令都有不同的功用,但每條命令一般只能完成一種類型的任務。

 

參數:如果將命令看成一種類型,而參數就是在此類型里詳細劃分命令的功用。有些命令有非常多的參數,可在在其類型中完成諸多復雜的任務。

 

目標:目標一般指文件、目錄、或某一容器(容器主要包含用戶與組等),這是要被命令所執行的位置,也是一項任務的主體。

 

這里用通俗的語言來描述一下:

         查看一下 /etc/passwd 文件里都有哪些內容。

這是最基本不加參數的任務,如果對結果不滿足可以加參數:

請用更人性化和更詳細的方式來查看一下 /etc/passwd 文件里有哪些內容。

這就是加了參數的任務,參數的用處就是將任務的主體更加細化,來滿足人們對命令的要求。

 

 

以下講解一些常用命令的使用方法:

 

ifconfig

 

ifconfig是一條查看網卡狀態與ip地址等信息的命令,如果想查看本機有幾塊網卡和每塊網卡的狀態,直接使用命令即可。

例如:

         N25第一周博客作業

通過查看,發現本機有三塊網卡,eno16777736是本機真實網卡,其他兩塊都是系統虛擬出來的網卡。其中關鍵信息是:

                            inet 后是ip地址,

netmask是子網掩碼,

broadcast后是廣播地址。

         如果想直接看某塊網卡的信息直接輸入:

                  ifconfig 網卡名

         例如:

              N25第一周博客作業

           參數:

               -a:包括未開啟的網卡

 

echo

         echo 默認將指定的目標輸出到屏幕上,例如:

              N25第一周博客作業

         也是可以用來查看上一條命令是否執行成功:(0為成功,非0為失?。?/span>

         echo  $?:

              N25第一周博客作業

           以上是命令有誤時的返回值:

              N25第一周博客作業

           以上是命令無誤的返回值;

           

ttytty的主要功能是顯示連接標準輸入的終端的文件名:

       N25第一周博客作業

       /dev/console:物理終端

       /dev/pts/#       偽終端

       /dev/tty#         表示虛擬終端,取值范圍通常為1-6

       /dev/tty S        串口終端

 

startx主要功用是在字符界面啟動圖形界面;直接輸入即可;

 

export直接輸入時查詢環境變量,

     但是主要還是來定義(環境)變量的:

         N25第一周博客作業

     其他查看環境變量命令:env   printenv   declare -x

 

pwd主要是用來顯示當前工作在哪個目錄

        N25第一周博客作業

 

history直接輸入命令是用來查看歷史命令的;

      常用的參數:

              -w:將內存中的命令保存至當前用戶的歷史命令文件中;

              -r:讀取當前用戶的歷史命令文件;

              -d:清除指定的歷史命令;

              -c:清空歷史命令,此處清空的是內存中的歷史命令;

              -a:將內存中的歷史命令追加到命令歷史文件中。

 

                其他選項:$HISTFILE:命令歷史文件的位置;

                      $HISTSIZE:  內存中命令歷史最多個數,默認是1000

                      $HISTFILESIZE:命令歷史文件最多能放多少命令;

                調用命令歷史:

                      !#:執行命令歷史中的第#個命令;

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

                      !a:再一次執行命令歷史最近以a(變量)開頭的命令;

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

               Esc.   !$

 

shutdown關機或重啟;默認關機。

     格式: shutdown  [options]  [time]

        options:

   –h:關機;

   –r:重啟;

     –c:取消關機或重啟;

         Time

Now:立刻

Hh:mm:自定義時間

+m    多少分鐘以后;

+0 now  等同于 now

;

      

poweroff從字面上理解就是關閉電源,代表關閉系統的意思。

 

reboot代表重啟系統,與shutdown -r  init 6 意思一樣;

 

hwclock通常被clock代替,默認直接使用顯示硬件時間;

       -s:以硬件系統為準;

       -w:以系統時間為準:

       –set –date="// ::":設置硬件時間

 

date:顯示系統時間,可用+%Ymd等來自定義時間格式:

date "+%F %T" 2016-11-29 20:59:15

設定時間:date 月日時分年

 

 

如何在linux系統上獲取命令的幫助信息:

         man  help–help  type  whereis  info

      

       首先說一下man,中文翻譯是手冊的意思,通俗的說是linux中一本命令使用手冊,如果能熟悉使用,為以后的學習帶來非常大的幫助。

       使用格式:man COMMAND

       man文檔有章節的劃分:

         man  #  COMMAND    ( /usr/share/man/man1|man2…)

             #

      1: 用戶命令;

           2:系統調用;

           3c庫調用:

           4:設備文件及特殊文件;

           5:文件格式(配置文件格式);

           6:游戲使用幫助;

           7:雜項;

           8:管理工具及守護進行;

          help–help):此條命令主要是能顯示命令的一些主要參數的使用,

用法:

                      help COMMAND

                      COMMAND  –help

                           

         type這條命令主要是可以顯示目標命令的類型為:外部 or shell內嵌;

                用法:tpye COMMAND

 

          whereis主要用來顯示命令的存儲位置以及二進制文件路徑;

                 用法:whereisCOMMAND

 

          info主要用來獲取命令的在線文檔;

                用法:info COMMAND

             

另外,還有很多程序會自帶幫助文檔,路徑:

           /usr/share/doc/APP-VERSION

         

                  

linux的系統結構及各目錄的功用:

linux秉著一切皆文件的原則,整個系統都是由文件組成的。想一下要組成一個系統需要數不清的文件,如果文件結構混亂的話,那也就沒幾個人能搞懂linux了。所以linuxFHS為模型,將所有的文件梳理的有條不紊。

 

FHS : filesystem hierarchy standard,文件系統層級結構標準,是linux文件結構的核心,通過一個根將所有的目錄連接起來。

      

首先先介紹一下文件系統中的常見設備:

字符設備(線性設備,有時序):鍵盤等輸入輸出設備;

塊設備(隨機設備,可以訪問任意設備): 硬盤等存儲設備。

        

以下是個linux發行版中的基本目錄:

/lib : 為系統啟動或根文件系統上的應用程序 /bin /sbin 提供共享庫,以及為內核提供內核模塊

    libc.so.* 動態鏈接庫

    ld*:運行時鏈接器/加載器

     modules存儲內核模塊的目錄

/lib64:64位系統特有的存放64位共享庫的路徑;

/media: 為便攜設備提供掛載點

/mnt其他文件系統的臨時掛載點

/opt第三方非關鍵性的應用程序安裝點

/srv: 當前主機為服務提供的數據;

/tep: 為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;

/usr: usr Hierarchy 除了根最重要的目錄 全局共享的只讀數據路徑,

        Bin,sbin 是在系統運行時使用到的

         lib lib64

         include: c程序頭文件

         share: 命令手冊頁,和自帶文檔等架構特有的文件的存儲位置;

     local 另一個層級目錄;用來安裝第三方程序的目錄;也是安裝本地應用程序的目錄;

         x11R6: x-windows程序的安裝位置

     src:程序源碼文件的存儲目錄

 

/var存儲常發生變化的數據的目錄;

Cache緩存目錄

Lib狀態目錄;

Local/usr/local提供動態存儲的目錄;

Lock鎖目錄;

Log日志文件目錄;

Opt/opt提供動態存儲的目錄;

Run:  運行中的進程相關的數據;

Spool暫存隊列;

Tmp系統重啟后依然需要的臨時文件;

 

/proc: 內核與進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward,虛擬為net/ipv4/ip_forward,存儲于/proc/sys/,因此完整路徑為/proc/sys/net/ipv4/ip_forward 主要是為了一切皆文件 把內核參數虛擬為文件。

/sys: sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的路徑,基于內存的文件系統,proc也是。Sysfs總是掛在到/sys上。為管理linux設備提供一種統一模型的接口。

 

原創文章,作者:N25_韓奇洋,如若轉載,請注明出處:http://www.www58058.com/61336

(0)
N25_韓奇洋N25_韓奇洋
上一篇 2016-11-29
下一篇 2016-11-30

相關推薦

  • Linux文件類型及顏色標識整理

    Linux文件類型及顏色標識整理 Linux文件系統中有如下的文件類型: 類型1:普通文件—-à白色 類型2:目錄文件—à藍色 類型3:鏈接文件—à淺藍色 類型4:字符設備文件—à黃色 類型5:塊設備文件—-à黃色 類型6:管道文件—à青黃色 類型7:套接字文件—à粉紅色 為…

    Linux干貨 2016-10-19
  • Python入門之迭代,列表解析,生成器及文件操作

    迭代器是訪問集合元素的一種方式,迭代器包含了__iter__()(返回迭代器對象本身)next()(返回迭代器的下一個元素)迭代器只能往前不會退后 以下類型支持迭代 序列類型:list,str,tuple 非序列類型:dict,file 自定義類 通過內建的函數iter()或對象自帶方法__iter__可以獲取迭代器對象 l1=range(5) iter1=…

    Linux干貨 2015-12-13
  • python之psutil模塊

    python 安裝psutil 來實現獲取系統信息  # yum -y install python*pip # yum -y groupinstall “Development Tools # yum -y install python34-devel.x86_64 # pip3 install –upgrade pip # pip3 inst…

    Linux干貨 2014-01-22
  • Shell 變量類型及用法

    一、      什么是變量          變量源于數學,在計算機語言中能儲存計算機結果或能表示值的抽象概念,變量可以由變量名訪問,在指令語言中,變量通常是可變的。Linux是一個多用戶的操作系統。每個用戶登錄系統后,都會有一個…

    Linux干貨 2016-08-12
  • 程序包管理之rpm

    程序包管理器不同公司的發行版:                         debian:dpt管理器 &…

    Linux干貨 2016-08-22
  • N25- linux主機名

    N 由于我是零基礎學習linux,學完1-2課時,用心消化中,   先分享我的一個小經驗,我用xshell登錄系統后一般會打開日志記錄功能(文件—-日志——啟動),日志功能啟動后,會以txt的形式記錄下你與系統所有的交互(只會記錄系統打印到幕的內容和你輸入的命令,并不會記錄你與你與運行程序交互時輸入的內容)日志功…

    Linux干貨 2016-12-03

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-09 20:43

    總結的很好,有例子有說明,加油

欧美性久久久久