筆記
目前主流的擦歐總系統:windows、android、ios、symbian、linux/unix
windows:傻瓜、好學
linux: linux認為每一個使用者都是專業人士,操作麻煩,學習比較難,免費的,開源的。linux性能好,可移植性好,好的設計理念。
android: 移動作業系統,android基于linux
ios:很優秀,創造性。
嵌入式作業系統:linux + wince
目前:消費電子android,工業linux
開發嵌入式程式,需要linux環境。但是因為:windows中有許多很好用的軟體,如notepad++、souceinsight,是以也需要windows.
既需要windows,有需要linux。
第一種:雙系統 不友善
第二種:虛拟機 友善,損失性能,與真機微小差異
第三種:兩台電腦:不友善
現實中:
個人開發者:虛拟機
大公司:伺服器+用戶端
涉及到兩個東西:虛拟機軟體+linux系統
虛拟機軟體:就是windows下的一個軟體。現在主流的虛拟機軟體vmware 和 virtualbox
虛拟機軟體在windows系統中運作,運作後它會模拟出來一個電腦,是以它叫虛拟機。然後我們可以在該虛拟機中安裝别的作業系統。
windows中:通過設定檔案屬性實作的。可以點選檔案,右鍵屬性。選擇勾選隐藏選項設定。
linux中:linux中隐藏檔案特點是檔案名以.開頭。指令ls -a可以檢視隐藏檔案。
什麼是路徑:路徑是用來表示一個檔案在作業系統的檔案系統中存儲位置的。pathname
舉例:d:\winshare\enum.c 全路徑 pathname
d:\winshare 路徑 path
enum.c 檔案名 name
絕對路徑:路徑是從絕對位置開始的,譬如windows中從一個盤符開始(c:\),linux中從根目錄/開始。
測試:
/abc/123/def.txt 是linux絕對路徑
abc/123/def.txt 不是linux絕對路徑
f:\abc\123\def.txt 是windows絕對路徑
\abc\123\def.txt 不是windows絕對路徑
相對路徑:指明路徑的時候,是從目前所在的位置開始的。
舉例:
d:\我的檔案\123\123.txt
d:\我的檔案\abc\abc.txt
目前在123.txt 但是要去abc.txt
方式1:采用絕對路徑 d:\我的檔案\abc\abc.txt
方式2:采用相對目錄 ../abc/abc.txt
linux本身是指一個作業系統核心,隻有核心是無法直接使用的,我們需要的,可以使用的作業系統是一個包含了核心和一批有用的應用程式的集合體,這個叫linux的發行版。
ubuntu、redhat就是linux的不同的發行版。
gui grahics user interface 圖形使用者界面
cmdline: command line 指令行
人機互動:人和計算機(機器)進行互動。常用的有指令行和gui.
windows下既有gui,又有指令行。linux中既有gui,又有指令行。
但是,linux中常用指令行,在windows中常用gui.
ls -a 顯示檔案,包括隐藏檔案
ls -l 以詳細資訊顯示
ls -a -l = ls -l -a = ls -la = ls -al 四種方式一樣,顯示隐藏檔案和詳細資訊
作用:查詢man手冊,擷取幫助資訊
man 1 ls 1表示查詢的是linux指令
man 2 xxx 2表示的查詢的是linux api
man 3 xxx 3表示的查詢的是c庫函數
cd .. ..代表上一層
cd . .代表目前目錄
建立一個新檔案夾時,會包含兩個隐藏檔案,.檔案夾和.. 檔案夾。 是以cd .的時候 是目前目錄。是以 cd ..包含的是上一層目錄。
作用:列印出目前的路徑
mkdir -p 級聯建立檔案夾 建立深層次目錄
作用:在目錄間移動檔案,修改檔案名。
mv 源檔案pathname 源檔案pathname
路徑不變相當于重命名。
修改路徑是移動檔案。
不修改路徑是重命名。
作用:建立空檔案 touch pathname (vi之後不儲存 檔案就沒了)
作用:複制檔案或檔案夾。
mv 移動後,源檔案就沒了。
cp是複制一份。
cp -r 用來複制檔案夾
cp -f 強制複制
實際操作時,一般都是cp -f複制檔案。
cp -rf複制檔案夾
複制的同時仍然可以修改檔案名。
作用:用來删除檔案,檔案夾
rm 檔案pathname
rm -r 檔案夾pathname
rm -f 強制删除檔案 删除正打開的檔案。
rm 删除的是硬碟上的那一份 正在打開的檔案是記憶體中的那一份。是以可以将正在打開的檔案繼續儲存。又被儲存到記憶體中。
rm 删除時,删除不成功會有傳回值和提示。
rm -f 删除時,隻有結果。
作用:直接在指令行下檢視内容。也可用來向檔案輸入,暫時不管。
作用:删除檔案夾,隻能删除空檔案夾,不能删除有子檔案的檔案夾。
rmdir和rm -r的差別:rmdir隻能删除空檔案夾,-r可以删除空檔案夾和非空檔案夾
類比windows的快捷方式。快捷方式和源檔案夾是2個檔案。快捷方式指向源檔案夾,源檔案删除了,快捷雖然在,但無法使用。
基礎:windows中快捷方式,實際上快捷方式和它指向的檔案是獨立的兩個檔案,兩個都占硬碟,隻不過使用者通路快捷方式時,其效果等同于通路指向的檔案。
linux中有兩種連接配接檔案:
一種叫軟連接配接(符号連接配接),同等同于windows中快捷方式。(效果相同)
建立軟連接配接檔案 ln -s 源檔案 符号連結檔案
舉例: ln -s src.c linker.c linker.c就是src.c的符号連接配接檔案。
用 ls -l 檢視
-rw-r--r--
drwxr-xr-x
l 表示一個連接配接檔案
d 表示一個檔案夾
’-‘ 表示一個檔案
删除符号連接配接檔案 ,源檔案還在 。
删除源檔案,符号檔案雖然在,但沒用了。
一種叫做硬連接配接 ln src.c linker.c
硬連結實際上和源檔案在硬碟上是同一個東西,效果類似于硬碟上的一個檔案,在檔案系統上,在我們看來有好多個檔案一樣。每次删除一個檔案時,隻要他還有其他的連接配接存在,這個檔案就不會被真正的删除。隻有等所有的連接配接檔案都删除掉了,這個檔案才會被真正從硬碟上删除。
作用:在ubuntu中用來線上安裝、解除安裝軟體的程式。
apt-get install vim
apt-get remove vim
注意,安裝和解除安裝都是線上的,也就是說ubuntu必須能上網才能使用apt-get
說明:apt-get 安裝軟體的原理和必要性.
linux作業系統的發行版,核心版本,定制性,造成linux中軟體的不相容性。在linux中安裝軟體是一件困難的事情,裝了軟體能不能用不一定,ubuntu解決了這個問題,ubutu就适合某個發行版(ubuntu10.04)的所有軟體做了一個清單,然後使用者通過apt-get install的方式安裝軟體,就會實時連接配接到ubuntu伺服器。伺服器會根據你的ubuntu版本,給你下載下傳合适的軟體安裝。這樣確定了軟體的相容性。
一共10個字元,第一個字元表示檔案類型,後面9個表示檔案權限。
檔案類型:
“-” 表示普通檔案。普通檔案直文本檔案和為簡直檔案,如a.c
l 表示符号連結檔案,後面會用->列印出它指向的檔案
d 表示檔案夾,d是directory的縮寫。
s 表示socket檔案
p 表示管道檔案 pipe
什麼是編輯器?編輯器就是一個軟體,它的主要作用就是用來編輯,譬如編寫檔案,編寫代碼。
windows中常用的編輯器,如自帶的notepad。
linux中常用編輯器,自帶的最古老的vi,比較好用的vim,gedit.
注:vi和vim的關系:vim是vi的更新版。
使用vi來打開/建立一個檔案。(檔案存在就打開,不存在就建立)。vi pathname
vi的兩種模式:
(1)指令模式:當vi打開時預設為指令模式,要轉入輸入模式,需要按a或i鍵。在指令模式下,此時鍵盤上輸入的所有東西都被vi當作指令來對待。
在指令模式下,最好不要亂輸入。此時應該輸入相應的指令來讓vi做相應的事兒.
(2) 輸入模式:輸入模式用來向檔案輸入内容,可以從指令模式中按a或i鍵進入輸入模式。進入輸入模式後,就可以随意按鍵盤進行輸入了。輸入完成後入夥要儲存,要先退回到指令模式(因為儲存也是一種指令)。在輸入模式下按esc鍵退回到指令模式.
注:注意看螢幕的左下角,當指令模式時,物體時資訊或者提示檔案名等資訊,登處于輸入模式時,提示 -- insert --
在指令模式下如何儲存:
:wq 儲存并且退出
:w 隻儲存不出
:q 不儲存退出(進來看了一下退出了)
:q! 不儲存強制退出
:wq! 儲存并強制退出
主動一點,世界會更大!