計算機之路及初識linux

寫在前面:

    很抱歉,上周的事兒,拖到這周,也是個半成品,加班就不多說了,每個人都很忙,總要自己找時間。本計劃這個周末好好補補,無奈身不由己,剛剛回來。

   還好昨夜先起了個初稿,總算是有些東西可以交代給自己,想到馬哥說的,完成遠比完善重要,雖然來不及完善,先發出來吧,有了框架,至少知道自己做過什么。盡快排版吧,不僅是為了作業,也希望自己拿出來的,是一個自己看的過去的東西。而這周該作的事兒,也只能加緊了。

    

一、計算機的組成

計算機這個東西,現在在大家心里已經習以為常。記得我小學的計算機課,也就是90年左右吧,還要從全年級每個班里挑幾個學習好的同學,一周一節課,學習計算機。到了學校的機房,十幾臺機器,也不知道當時講課的老師是不是真的懂,反正就算他懂他講的我們也聽不懂。

   印象中就是對著一個黑乎乎的屏幕,不斷輸入“asdf jkl;”回車….

Asdf  jkl;

Asdf  jkl;

…….

輸入滿一屏最后來個cls

再如此反復….

后來記得還有電視臺扛著攝像機來拍攝,我們就更加努力的asdf jkl;…….

  再后來上初中接觸了帶圖形的pc,當然主要是因為游戲,橫掃千軍什么得,其實也不會玩, 但是因為好奇,看了很多當時的《電腦愛好者》雜志,不論怎么說,這份雜志給我帶來了啟蒙。后來電腦室終于連上56k的網絡了,興起的聊天等,電腦終于開始在大眾中流行,《電腦愛好者》所學到的那一點點知識,讓我在這時候顯得那么的出類拔萃,甚至還能業余給網吧去搞維護,甚至很多人還慕名求助,家里電話甚至半夜2.3點都響起來。現在想想,當時談得上什么技術,只是比大家學的早了那么一點點。

   97年花1w多買了第一臺海信電腦,到2000年家用電腦興起,所有人都找我買電腦,掙了不少私房錢,也滿足了個人的榮譽,從那時起,不知不覺,我的生活,就開始和計算機聯系在了一起,當然,現在想想其實都當時什么都不懂,最大的樂趣,就在于好奇,《電腦愛好者》中的所有知識對我來說都是新鮮的。

  言歸正傳,說說電腦的組成,買第一臺電腦的時候,到了海信的電腦營業部,我也有點傻眼了。。。為什么還有這個箱子,這箱子太丑陋,不符合俺樣的美學。這也是在之后好幾年里,陪很多人買電腦他們的疑問。

  我們所看到的電腦,接觸到的只是顯示器,就像電視一樣,我們以為這就是一切,但是你忘了電視臺的工作人員了么。機箱就相當于電腦的電視臺。這個道理十幾年前講,還有一定市場,現在是個人基本也都知道了。

 那么就再歸正傳吧,電腦的主要組成部分,通常我們所說的是:

1,  中央處理單元(cpu);

2,  內部存儲器(內存);

3,外部存儲器(硬盤),

4,  輸入設備(input);

5,輸出設備(output)。

  當然,按照更內行的分類,是運算器,控制器(合稱cpu),I/O設備(也就是上面的inputoutput),其他都算外圍設備。

  我們還是按照稍微專業一點的來講吧,不然這篇也過于科普可能幾十頁也寫不完了。

  首先我們明白一點,計算機,沒有大腦,其實就像我們開關燈一樣,我按下開關,燈亮了,再按一下,燈滅了,本質如此而已。那么試想當你控制一個大會堂,或者一個舞臺的燈光的時候,什么時候亮哪一盞燈,什么時候滅哪一盞燈,擺在你面前很多的開關,你去根據劇本提前告訴你的舞臺節奏,去掌握整場演出的燈光節奏。

  那,這一套控制各個燈光開關的電路系統,就是運算器,而控制燈光的你,加上給你的如果控制燈光的劇本,就是“控制器”,你們組合在一起,就是cpu

  你當然想把工作做好,不想忙中出錯,所以當你在打開這盞燈的同時,會瞄一眼劇本的下面幾行,心里知道接下來,你要開關哪些燈,這時候,你的大腦,就是內存。

  如果整場演出很長,你需要連續工作四五個小時,那你的劇本可能會有很厚的一摞,你會把當下這一幕的劇本擺在眼前,其他的先放在旁邊的架子上,那個架子,也就是硬盤了

  誰把這些劇本交給你,把劇本交給你的過程,就是input,輸入

  輸出呢,就是臺下觀眾們所看到的這一場華麗的演出。

  …….

 

二、關于linux

知道linux,自然是在windows之后,記得當年去買盜版光盤的時候,看到redhat,封面介紹很牛的樣子,本著對軟件的好奇,買回來,研究一番(那時還沒網絡,更沒gooogle),完全不知道是做什么用的,扔一邊了。后來隨著時代發展,更多聽到了這個名字,知道了另個一操作系統,但是依然不明白,有了window,要它何用?

         隨著工作學習的加深,對計算機和操作系統的由來,有了更深的理解,才明白期間關系,幾個重點介紹一下:

1,  前提:windows本是不存在的

2,  ……

3,  ……

以上是linux的由來以及我們看到的windows是怎么回事(因都是課程里的就不贅述,有機會再單獨寫一遍)

         所以,     redhat,只是linux的一個發行版,所謂發行版,本質的不同,就是我們前面說的linux,都是流行在真正程序員開發者手上的,都是源代碼,可以理解為另一種語言,當時的linux,都是流傳在那個國度里的人們,他們之間有自己的語言,互相可以溝通(這只是一個比喻,跟程序語言無關)。而我們地球人也想用linux怎么辦呢,需要一個翻譯,翻譯成我們能理解的語言,可以這么理解,他們是一群老司機,對車的性能非常了解,而我們是從沒學過車,但是生活在自動駕駛時代的人類,我們不會換擋,剎車,甚至不懂交通規則,我們只會說,我要去哪里,那這中間的過程,就是把這些老司機的開車方式,添加到我們的自動駕駛系統中。這就是發行版了。。。。

  linux的發行版目前有幾百種

  主流三大分支(我能記住及接觸的)

   第一個Redhat,最大眾的,提供收費服務,特別是對于補丁更新不提供編譯(限于gpl協議,不能提供源程序)

    Centos  原本是redhat的反對者,你redhat既然要收費,我就免費給大家編譯出來,但是畢竟沒有收入,也就不可能提供更多的服務,類似各種破解版軟件,目前也已被redhat收購。

   還有其Fedora,也是很著名的目前

   以及Oracle企業版,其實都是這一分支發展而來。

 

    第二當然還有很重要的Debian,只記得說是愛妻狂魔。但是也是目前唯一沒商業運作的吧。

Dibian下的分支Ubuntu  可能是最火的桌面版目前,但是我不太知道如果用桌面的話為什么不用win10

 

   還有一個目前工作中會接觸到的,SuSe,有些客戶用到,這是第三大分支Slackware(前身SLS已消失)

   以上是我再企業客戶中會接觸到的常見分支,還有hp unix  IBM aix,不過這些事unix的系列了。

   從以前只知道windows,到現在,有時也想,還是秦朝的大統一更方便一些吧

   從下一章開始,很遺憾,想抒發情懷也沒有了,都是新學的,所知有限,無從抒發了。

 

三、linux的思想

一切都是文件

 這一點確實讓熟悉windows的我剛開始無所適從,從看鳥哥的私房菜開始,完全不理解,而通過馬哥的講解學習,更多的也是通過實踐操練,才漸漸理解了這一點,也不敢妄談理解,但是感受到了這種思路。

 首先,如果沒有圖形界面,我們如何去配置一個程序,或者一個硬件,win中我們只需要右鍵,屬性,或者運行一個命令+參數,但是此命令從何而來,真是沒有深究過。

 linux將一切,以一種更加淺顯,卻更可操作的形式,展現在我們面前,這也是它吸引人之一吧,所學尚淺,還難以從更深的方面去理解這種設計,簡單說,如果windows是各種品牌的一體機,那linux更像自己攢機。


四、常用命令

Ifconfig

         查看IP

Echo

         配以$   顯示該變量的內容

Tty

         顯示當前終端類型

Startx

         啟動圖形化桌面 如第一次 最好后面加“& 忘記為什么了

Export

 

Pwd

         顯示當前目錄

History

 

Shutdown

         關機

Poweroff

         關閉電源

Reboot

         重啟

Hwclock

         查看硬件時鐘

 

Date

         日期命令

 

 

五、幫助信息的獲?。ㄒ韵陆厝∽詫W習筆記還未來得及整理)

 

       內部命令 help

     外部     –help    

                 man

                 info

        官方文檔

        自帶文檔(readme,changlog,install)

        發行版文檔(操作系統)

        Linux KernelDocumentation

        google      

 

         Man文檔章節(常用)

                     章節1    用戶命令    

                            2,系統調用

 

3,管理員命令

                     4,庫調用

 

 

六、linux基礎目錄

層級結構標準:

    bin

        供所有用戶使用的基本命令程序

    sbin

        供系統管理員的二進制程序

    /usr/sbin

    /usr/local/sbin

 

    boot

        引導加載器必須用到得各靜態文件:kernelinitramfsinitrd),grub等。

        Static files of the boot loader

        啟動后就丟棄

        引導過程必須用到的所有文件,不高考非必要配置文件,

    map installer map映射

       

    devdevice files

        存儲特殊文件(軟件虛擬的硬件tty)或設備文件:

 

設備類型:

    1,字符設備 線性設備、有時序的(有先后)

        數據交換以字符為單位

            鍵盤,顯示器(早期,逐行掃描)

    2,塊設備(block 隨機設備,無時序,可任意訪問任何數據

        可以將數據打包發送

            硬盤,內存。

           

    etc

        主機特有靜態配置文件

            hierarchy(層級結構,也有固定結構)

            控制應用程序的運行行為。

PS,一個應用程序的選型就是控制程序行為的,如果控制選項太多,就采用配置文件保存。

        必須是靜態的,不能使可執行二進制文件

            etc下的結構opt/opt),x11(圖形界面),sgml(sgml配置),xmlxml配置)

        如果一個程序配置文件特別多,會單獨設置一個配置文件夾,如yum

 

    home  普通用戶家目錄的集中位置(optional,可選),不是基本組織結構

    默認普通用戶家目錄

        /home/USERNAME

        每個主機特有的文件系統,任何程序編制不可依賴于此路徑。

 

    lib: 基礎共享庫

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

         usr      

 /bin  and  /sbin  依賴下的所有庫。

    usr/lib 提供給   usr/bin  and usr/sbin

    usr/local/lib 提供給   usr/local/bin    usr/local/sbin

文件名

    libc.so.*    動態鏈接C

     lb* 執行時連接器加載器

子目錄:   

    modules:用戶存儲內核模塊的目錄。

    lib64 64位基礎共享庫

        特定字長系統上,64位系統特有的存放共享庫的路徑。

   

    media

        Mount point for removeable media

    便攜設備提供可掛載

       

    mnt

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

        mount point for 

    opt 可選

    add-on application aoftware packages

    附加第三方程序安裝位置

 

root 管理員家目錄 可選(管理員不應該登錄系統)

 

    srv    data for services provided by this system

        服務數據

        當前主機為服務提供的數據,

tmp/ 為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄,可供所有用戶只需寫入操作,有特殊權限。

 

    usr Hierarchy

    第二重要除了根以為的文件系統

    全局共享只讀資源

    不允許用戶創建文件,(管理員可以)

    命令手冊頁等架構特有的文件存放位置

    bin sbin

    lib     lib64

    include程序頭文件

   

    local:本地第三方文件(目前大部分第三方)讓系統管理員安裝本地應用程序。

    src:程序源碼文件存儲位置

   

var 層級路徑

    variable 變化文件

    如,管理或日志數據

    瞬時或臨時文件

 

內核向外輸出信息,通過內核參數

proc 為內核進程存儲器相關信息,多為內核參數 (因為是另外一套機制,不符合一切皆文件精神,虛擬的

如,參數net.ipv4.ip_forward,虛擬為net/ipv4/ip_forward 

可修改的放于 proc /sys

因此完整路徑為,/proc/sys/net/ipv4/ip_forward:

sys/sysfs,虛擬文件系統提供了一種比proc更為理想的訪問內核的途徑。

都是基于內存的虛擬文件系統,關機沒了

sys主要管理設備,為linux統一設備模型作為管理之用

2.6內核后出現

 

 

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

(0)
oloriaoloria
上一篇 2016-12-05 17:03
下一篇 2016-12-05 17:03

相關推薦

  • CentOS下搭建LAMP

    實驗:centos7.3實現lamp應用wordpress環境 host1 httpd,php? host2 mariadb1 yum install httpd php php-mysqlyum install mariadb-serversystemctl start httpdsystemctl start mariadb 2 創建數據庫及用戶mysq…

    2017-10-16
  • 馬哥教育網絡班22期第五周課程練習1

    1、cat /etc/passwd  | egrep "^root|^fedora|^user1"| cut -d":" -f1,7  2、egrep -o  "[^[:space:]]+\(\)" /etc/rc.d/init.d/functions   3…

    Linux干貨 2016-09-15
  • LAMP搭建wordpress博客站點

    使用WordPress可以搭建功能強大的網絡信息發布平臺,但更多的是應用于個性化的博客。針對博客的應用,WordPress能讓您省卻對后臺技術的擔心,集中精力做好網站的內容。本文將教您如何通過LAMP搭建自己的wordpress博客站點。 LAMP聽起來很高大上,其實是集中技術合起來的稱呼: L:linux A:apache httpd M:mysql、ma…

    2017-06-01
  • ACL概述

    ACL概述 一、什么是ACL ACL是linux系統中一種被稱為訪問控制列表的權限控制方法,它是一種權限分配之外的普遍范式。在一般情況下,要確認三個權限組:owner、group和other。而使用ACL則可以增加權限給其他用戶或組別,不再僅僅是在“other”中定義權限,可以允許指定的用戶擁有不同于其所屬組的權限。 ACL支持多種Linux文件系統,包括e…

    2017-07-29
  • 網卡路由配置信息及偷懶用法

            對于初學Linux的人來說,配置網卡無疑是比較暈的,各種的配置文件,字段、命令等讓人眼花撩亂。所以這一章主要給大多數還在網卡配置路由配置的同學們解惑一、網卡配置基本概念        …

    Linux干貨 2017-05-08
  • Linux基礎知識之IO重定向

    該博文以CentOS6.8_x86_64系統為基礎,Xshell 5遠程連接CentOS系統,以root身份登錄系統。  什么是I/O重定向?       所謂I/O重定向簡單來說就是一個過程,這個過程捕捉一個文件,或者命令,程序,腳本,甚至腳本中的代碼塊(codeblock)的輸出,然后把捕捉到的輸出,作為輸入發送給…

    Linux干貨 2016-07-26
欧美性久久久久