寫在前面:
很抱歉,上周的事兒,拖到這周,也是個半成品,加班就不多說了,每個人都很忙,總要自己找時間。本計劃這個周末好好補補,無奈身不由己,剛剛回來。
還好昨夜先起了個初稿,總算是有些東西可以交代給自己,想到馬哥說的,完成遠比完善重要,雖然來不及完善,先發出來吧,有了框架,至少知道自己做過什么。盡快排版吧,不僅是為了作業,也希望自己拿出來的,是一個自己看的過去的東西。而這周該作的事兒,也只能加緊了。
一、計算機的組成
計算機這個東西,現在在大家心里已經習以為常。記得我小學的計算機課,也就是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設備(也就是上面的input和output),其他都算外圍設備。
我們還是按照稍微專業一點的來講吧,不然這篇也過于科普可能幾十頁也寫不完了。
首先我們明白一點,計算機,沒有大腦,其實就像我們開關燈一樣,我按下開關,燈亮了,再按一下,燈滅了,本質如此而已。那么試想當你控制一個大會堂,或者一個舞臺的燈光的時候,什么時候亮哪一盞燈,什么時候滅哪一盞燈,擺在你面前很多的開關,你去根據劇本提前告訴你的舞臺節奏,去掌握整場演出的燈光節奏。
那,這一套控制各個燈光開關的電路系統,就是運算器,而控制燈光的你,加上給你的如果控制燈光的劇本,就是“控制器”,你們組合在一起,就是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 Kernel:Documentation
Man文檔章節(常用)
章節1 用戶命令
2,系統調用
3,管理員命令
4,庫調用
六、linux基礎目錄
層級結構標準:
bin
供所有用戶使用的基本命令程序
sbin
供系統管理員的二進制程序
/usr/sbin
/usr/local/sbin
boot
引導加載器必須用到得各靜態文件:kernel,initramfs(initrd),grub等。
Static files of the boot loader
啟動后就丟棄
引導過程必須用到的所有文件,不高考非必要配置文件,
map installer map映射
dev:device files
存儲特殊文件(軟件虛擬的硬件tty)或設備文件:
設備類型:
1,字符設備 線性設備、有時序的(有先后)
數據交換以字符為單位
鍵盤,顯示器(早期,逐行掃描)
2,塊設備(block) 隨機設備,無時序,可任意訪問任何數據
可以將數據打包發送
硬盤,內存。
etc
主機特有靜態配置文件
hierarchy(層級結構,也有固定結構)
控制應用程序的運行行為。
PS,一個應用程序的選型就是控制程序行為的,如果控制選項太多,就采用配置文件保存。
必須是靜態的,不能使可執行二進制文件
etc下的結構opt(/opt),x11(圖形界面),sgml(sgml配置),xml(xml配置)
如果一個程序配置文件特別多,會單獨設置一個配置文件夾,如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