1. 程式人生 > >1.2 linux哲學思想

1.2 linux哲學思想

linux哲學思想 linux虛擬終端 linux界面分類 密碼復雜性規則

linux哲學思想:
自由思想
目的單一的小程序組成,通常一個復雜的系統是有多個下程序柔和而成,尤其是我們後來配置服務的時候,所以我們要做的就是組合小程序,完成復雜任務,需要我們手動完成
一切皆文件,甚至連設備的訪問入口都是文件,後面的linux目錄結構的時候會講述每個目錄下方的都是什麽文件,甚至這些訪問入口對應的是什麽文件,這些文件時如何創建的,等等
盡量避免捕獲用戶接口,就是盡量避免和用戶進行交互,一個用戶發起一個進程之後,一般來說,不用客戶在做別的什麽操作,輸入任何信息,比如輸入ls時候就是直接輸出結果的
配置文件保存為純文本格式,所以在linux上要想配置一個服務的話,只需要哪一個文本編輯器來完成所有的配置
嚴格區分大小寫,這和windows是不同的
能簡寫絕不全寫


人機交互的接口及分類:
GUI接口和CLI接口
GUI接口人機交互的方式--雙擊圖標
CLI:
命令提示符,超級用戶#,普通用戶$
為什麽我們輸入命令敲下回車就會執行呢?這背後究竟發生了什麽?
shell就是一個命令行接口,所以我們輸入命令之後,shell就會將命令輸入內核來判斷這個程序是否有執行權限,以及能否執行,以及從什麽地方開始執行
我們說過每個程序要想被執行,必須要有執行入口,那麽要是一個程序不能執行的話,內核就會返回一個錯誤
對於內核來說並沒有什麽不同,不管是通過shell還是圖形界面都是通過shell將操作轉換為對應的命令交給內核的,只是在用戶看來有所不同


命令的格式:
命令本身,也就是可執行程序的路徑,命令或者腳本的名字,其他的疑慮會報錯
選項,修正命令的執行方式
長選項和短選項之分,短選項之間可以組合,長選項之間不能組合
參數,命令的作用對象,這個命令對誰生效,對於 不同的命令是否能夠接收參數,接收參數的個數多少也是不盡相同的


實現用戶的切換“
計算機是稀缺資源,只有那些具有使用憑證的人才能使用
使用憑證,什麽是使用憑證,操作系統的用戶是 用來做什麽的
假設沒有用戶,計算機啟動之後直接進入操作系統,可以使用所有的資源,所以用戶是實現使用憑證的一種方式
除此之外還有指紋,虹膜識別技術
大家的用戶名都是root,拿又怎麽樣去驗證用戶的身份,這就需要與之對應的密碼,認證通過後,就是用用戶來標識可以獲取的資源數

舉個例子,大家在一家公司上班,都可以通過員工卡來進入,但是肯定權限是不一樣的,及時通過用戶來區分不同的權限


linux的虛擬終端:
多個虛擬登錄界面,不同的電腦鍵盤的映射方式不同,但是可以用鍵盤實現不同登錄界面之間的切換,比如Ctrl+Alt+F2,進入界面2
是模擬是一個多用戶的環境,相當於虛擬出來幾個不同的顯示器,我們叫做終端
一般有6個終端可以切換的,這是默認的,但是我們可以自己定義,是Ctrl+Alt+F1---F6
startx &--可以啟動圖形界面,也可以用Ctrl+ALT+F7,但是第一次必須用命令
linux的靈活之處是可以啟動多個圖形界面的


模擬終端:
是在圖形界面點擊右鍵開啟的一個終端


linux的圖形界面的類型:
Gnome:C開發
KDE:C++開發
Xface:s是適用於嵌入式的輕量級的桌面操作系統
據說Ubuntu也除了一個linux手機操作系統,界面挺漂亮的,有公司已經在研發Ubuntu手機了
Ubuntu有不同的版本,gnome版,KDE版,Xface版,提供的桌面不一樣,在redhat上,兩個桌面都提供了,只是我們平時只安裝了gnome,有兩種風格完全不一樣的桌面風格
window的GUI叫做window,linux的桌面叫做X-window,X指linux的圖形顯示協議 ,windows在2008之前桌面是內置在內核中的,必須安裝的,不使用桌面就無法安裝的,linux的桌面只是一個軟件,並且linux的X-windows是CS架構的,也就是說,當前主機裝的是系統,另外一臺主機是顯示器,也完全是可以的顯示器和桌面是可以分離的顯示那端是server,請求顯示的這端是client


linux CLI界面的類型:
同樣的,都是程序,有很多類型
默認是bash,還有次csh,zsh,ksh,tcsh,我們只要一個就可以
bash是應用最廣泛的,也是功能最強大的的shell,這也是絕大數shell默認使用的shell,默認的shell是sh,其實也是bash的鏈接
sh是最初的shell,也是貝爾實驗室一個研發的
總之shell就是一個讓我們用戶輸入命令的,並將命令運行的結果取回到當前shell的屏幕上這樣的一個用戶接口,或者說是人機交互接口
任何和shell有關的程序在shell關閉時,這些程序也就關閉了


世界上兩大雷同實驗室:
施樂的pack實驗室,像以太網,鼠標,圖形用戶界面都是pack實驗室的

切換用戶:
su---switch user
退回原來的用戶---exit
-l:成為全切換,沒有-l是半切換


修改用戶密碼:
passwd--修改當前用戶的密碼,連輸入兩次
對於超級用戶來說,你可以任意修改用戶的密碼,但是對於普通用戶來說一般研遵循密碼復雜性規則


密碼復雜性規則;
足夠復雜,數字,小寫字母,大寫字母,特殊字符,四選三,
足夠長,一般來說要大於7位,長度,對於一個郵箱地址做密碼,如果暴力破解(字典中有),沒有三年五年是破解不出來的
使用隨機字符串
定期更換,別人花了半年破解出來了,誰知道你連個月之前就換了
循環周期要打,最好不要使用最近使用的密碼,在密碼復雜性規則中,一般我們會規定,不能使用過去24小時使用的密碼
我們會學習怎麽生成隨機字符串做密碼,然後用一個密碼將他們加密起來進行保存,後面會將每種加密方式的優勢劣勢
密碼是用戶獲取資源時的憑證
所以現在加密的方式更多,更安全,刷指紋,刷虹膜,這些事實就是加強認證復雜程度的
網上銀行也是這樣,知道密碼還不夠,在轉賬的時候還會在手機上發送一個驗證碼,還有通過U盾,有一個唯一的證書

1.2 linux哲學思想