這是一些摘要和筆記
unix/linux歷史簡介
作業系統始於二十世紀 50 年代,當時的作業系統能執行批處理程式。但是不能實現互動。互動式作業系統也稱作分時
作業系統
unix由貝爾實驗室推出 1973 年,dennis ritchie 和 ken thompson 發明了 c 語言,而後寫出了 unix 的核心
berkeley 大學的 bill joy 針對他的機器修改 unix 原始碼,稱為bsd(berkeley software distribution)bill joy 是 sun 公司的創始人;
因為 unix 規定:「不能對學生提供原始碼」,tanenbaum 老師自己編寫相容於 unix 的minix,用於教學;
stallman 開始 gnu(gnu's not unix)專案,創辦 fsf(free software foundation)**會;
產品:gcc、emacs、bash shell、glibc; 倡導「自由軟體」;gnu的軟體缺乏乙個開放的平台執行,只能在unix上執行;
自由軟體指使用者可以對軟體做任何修改,甚至再發行,但是始終要掛著gpl的版權;自由軟體是可以賣的,但是不能只賣軟體,而是賣服務、手冊等;
1991 年,芬蘭赫爾辛基大學的研究生 linus torvalds(linux之父) 基於 gcc、bash 開發了針對 386 機器的 linux 核心;
什麼是linux發行版:linux 主要作為linux發行版(通常被稱為"distro")的一部分而使用。這些發行版由個人,鬆散組織的團隊,以及商業機構和志願者組織編寫。它們通常包括了其他的系統軟體和應用軟體,以及乙個用來簡化系統初始安裝的安裝工具,和讓軟體安裝公升級的整合管理器。
linux 桌面環境介紹
unix/linux 本身是沒有圖形介面的,我們通常在 unix/linux 發行版上看到的圖形介面實際都只是執行在 linux 系統之上的一套軟體 類似 windows95 之前的windows 的圖形介面實則也只是執行在 dos 環境的一套軟體。
而 linux 上的這套軟體以前是xfree86,現在則是 xorg(x.org),而這套軟體又是通過 x 視窗系統(x window system,也常被稱為x11或x)實現的,x 本身只是工具包及架構協議,而 xorg 便是 x 架構規範的乙個實現體,也就是說它是實現了 x 協議規範的乙個提供圖形使用者介面服務的伺服器,就像實現了 http 協議提供 web 服務的 apache。如果只有伺服器也是不能實現乙個完整的桌面環境的,當然還需要乙個客戶端,我們稱為 x client,像如下幾個大家熟知也最流行的實現了客戶端功能的桌面環境kde,gnome,xfce,lxde,其中就有你看到的,實驗樓目前使用的 xfce 桌面環境,部分老使用者可能可以回想起,實驗樓之前使用的環境是 lxde。這也意味著在 linux 上你可以自己選擇安裝不同的桌面環境,甚至可以定製自己的專屬桌面。
linux終端
shell
通常在圖形介面中對實際體驗帶來差異的不是上述的不同發行版的各種終端模擬器,而大都是這個 shell(殼),有殼就有核,這裡的核就是指的 unix/linux 核心,shell 是指「提供給使用者使用介面」的軟體(命令解析器),類似於 dos 下的 command(命令列)和後來的 cmd.exe。普通意義上的 shell 就是可以接受使用者輸入命令的程式。它之所以被稱作 shell 是因為它隱藏了作業系統底層的細節。同樣的 unix/linux 下的圖形使用者介面 gnome 和 kde,有時也被叫做「虛擬 shell」或「圖形 shell」。
在 unix/linux 中比較流行的常見的 shell 有 bash,zsh,ksh,csh 等等,ubuntu 終端預設使用的是 bash,預設的桌面環境是 gnome 或者 unity(基於 gnome),但我們的環境中使用的分別是zsh 和 xfce。
終端模擬器
為了在圖形介面下為了實現讓我們在乙個視窗中完成接受使用者輸入和顯示輸出,linux 系統還提供了乙個叫做終端模擬器的程式(terminal),下面幾個比較常見的終端模擬器,例如 gnome-terminal,kconsole,xterm,rxvt,kvt,nxterm 和 eterm,目前我們的實驗中的終端程式是 xfce 桌面環境自帶的 xfce-terminal。不過要注意的是這裡所說的終端(terminal)和控制台(console)是有區別的。
終端命令
按鍵 作用
ctrl+c 強制停止當前程式
ctrl+d 鍵盤輸入結束或退出終端
ctrl+s 暫定當前程式,暫停後按下任意鍵恢復執行
ctrl+z 將當前程式放到後台執行,恢復到前台為命令fg
ctrl+a 將游標移至輸入行頭,相當於home鍵
ctrl+e 將游標移至輸入行末,相當於end鍵
ctrl+k 刪除從游標所在位置到行末
alt+backspace 向前刪除乙個單詞
shift+pgup 將終端顯示向上滾動
shift+pgdn 將終端顯示向下滾動
學會使用萬用字元*和?
萬用字元不用在命令中,而是在引數中用做模糊匹配
touch love__linux.txt用touch建立多個檔案
shell 常用萬用字元:
字元 含義
* 匹配 0 或多個字元
? 匹配任意乙個字元
[list] 匹配 list 中的任意單一字元
[!list] 匹配 除list 中的任意單一字元以外的字元
[c1-c2] 匹配 c1-c2 中的任意單一字元 如:[0-9] [a-z]
匹配 sring1 或 string2 (或更多)其一字串
匹配 c1-c2 中全部字元 如
在 linux 環境中,如果你遇到困難,可以使用man 命令,它是manual page的縮寫。
區段 說明
1 一般命令
2 系統呼叫
3 庫函式,涵蓋了c標準函式庫
4 特殊檔案(通常是/dev中的裝置)和驅動程式
5 檔案格式和約定
6 遊戲和屏保
7 雜項
8 系統管理命令和守護程序
$ man 1 ls會顯示第一區段中的ls命令man頁面。
所有的手冊頁遵循乙個常見的布局,其為通過簡單的 ascii 文字展示而優化,而這種情況下可能沒有任何形式的高亮或字型控制。一般包括以下部分內容:
name(名稱)
該命令或函式的名稱,接著是一行簡介。
synopsis(概要)
對於命令,正式的描述它如何執行,以及需要什麼樣的命令列引數。對於函式,介紹函式所需的引數,以及哪個標頭檔案包含該函式的定義。
description(說明)
命令或函式功能的文字描述。
examples(示例)
常用的一些示例。
see also(參見)
相關命令或函式的列表。
想要獲得更詳細的幫助,你還可以使用info命令,不過通常使用man就足夠了。如果你知道某個命令的作用,只是想快速檢視一些它的某個具體引數的作用,那麼你可以使用--help引數,大部分命令都會帶有這個引數
Linux入門學習1
一 虛擬機器的配置 設定網路環境 橋接模式 nat模式 僅主機模式 二 linux 1 linux的構成 核心 檔案系統 shell 應用程式 2 命令提示符 代表最高許可權使用者 root 代表普通使用者許可權 3 su 使用者名稱 切換使用者 例如 su root 4 重啟 reboot shu...
Linux入門學習自我總結(1)
whoami檢視當前登陸使用者的使用者名稱 whoami help輸出幫助文件 whoami version輸出版本資訊 代表當前登陸使用者的私有目錄 代表當前使用者登陸型別,普通使用者是 根使用者是 輸入的命令有三種型別 1.乙個二進位制可執行檔案 2.乙個shell指令碼檔案 3.乙個shell...
Linux學習筆記1 從入門到入門
一 幾個名詞的區分vmware 虛擬機器軟體,裝載虛擬機器的場所,可以在這裡建立虛擬機器linux 作業系統,可以安裝在虛擬機器裡,類似於windows作業系統安裝在主機裡一樣centos num linux作業系統的版本xshell 連線vmware裡的虛擬機器為什麼要用xshell連線vmwar...