一個例子說明操做系統html
操做系統做爲接口的示意圖python
沒有安裝操做系統的計算機,一般被稱爲 裸機linux
- 若是想在 裸機 上運行本身所編寫的程序,就必須用機器語言書寫程序
- 若是計算機上安裝了操做系統,就能夠在操做系統上安裝支持的高級語言環境,用高級語言開發程序
Linux
)虛擬機(Virtual Machine)指經過軟件模擬的具備完整硬件系統功能的、運行在一個徹底隔離環境中的完整計算機系統正則表達式
1965 年以前的時候,電腦並不像如今同樣廣泛,它可不是通常人能碰的起的,除非是軍事或者學院的研究機構,並且當時大型主機至多能提供30臺終端(30個鍵盤、顯示器),鏈接一臺電腦數據庫
爲了解決數量不夠用的問題ubuntu
肯·湯普遜(左)和丹尼斯·裏奇(右)windows
全部來自全世界的對 Linux 源碼的修改最終都會彙總到這個網站,由 Linus 領導的開源社區對其進行甄別和修改最終決定是否進入到 Linux 主線內核源碼中安全
常見的發行版本以下:bash
十大 Linux 服務器發行版排行榜:http://os.51cto.com/art/201612/526126.htm服務器
在幾乎每一份與 Linux 有關的榜單上,基於 Debian 的 Ubuntu 都佔有一席之位。Canonical 的Ubuntu 賽過其餘全部的 Linux 服務器發行版 ―― 從簡單安裝、出色的硬件發現,到世界級的商業支持,Ubuntu確立了難以企及的嚴格標準
主要應用:機頂盒、數字電視、網絡電話、程控交換機、手機、PDA、等都是其應用領域,獲得了 Google、三星、摩托羅拉、NEC 等公司的大力推廣
在 Ubuntu 中玩 QQ
單用戶操做系統:指一臺計算機在同一時間 只能由一個用戶 使用,一個用戶獨自享用系統的所有硬件和軟件資源
多用戶操做系統:指一臺計算機在同一時間能夠由 多個用戶 使用,多個用戶共同享用系統的所有硬件和軟件資源
Windows
和 Linux
文件系統區別Windows
下的文件系統Windows
下,打開 「計算機」,咱們看到的是一個個的驅動器盤符:Linux
下的文件系統Linux
下,咱們是看不到這些驅動器盤符,咱們看到的是文件夾(目錄):Ubuntu
沒有盤符這個概念,只有一個根目錄 /
,全部文件都在它下面位於 /home/user
,稱之爲用戶工做目錄或家目錄,表示方式:
/home/user ~
Linux
主要目錄速查表/home
,實際上是在告訴電腦,先從 /
(根目錄)開始,再進入到 home
目錄/boot/vmlinuz
,系統引導管理器:/boot/grub
mount /dev/cdrom /mnt
~
表示當前用戶的家目錄~edu
表示用戶 edu
的家目錄學習終端命令的技巧:
- 不須要死記硬背,對於經常使用命令,用的多了,天然就記住了
- 不要嘗試一次學會全部的命令,有些命令是很是不經常使用的,臨時遇到,臨時百度就能夠
序號 | 命令 | 對應英文 | 做用 |
---|---|---|---|
01 | ls | list | 查看當前文件夾下的內容 |
02 | pwd | print wrok directory | 查看當前所在文件夾 |
03 | cd [目錄名] | change directory | 切換文件夾 |
04 | touch [文件名] | touch | 若是文件不存在,新建文件 |
05 | mkdir [目錄名] | make directory | 建立目錄 |
06 | rm [文件名] | remove | 刪除指定的文件名 |
07 | clear | clear | 清屏 |
小技巧
ctrl + shift + =
放大終端窗口的字體顯示ctrl + -
縮小終端窗口的字體顯示
文件
/目錄
/命令
的前幾個字母以後,按下 tab
鍵
文件
/目錄
/命令
,再按一下 tab
鍵,系統會提示可能存在的命令小技巧
- 按
上
/下
光標鍵能夠在曾經使用過的命令之間來回切換- 若是想要退出選擇,而且不想執行當前選中的命令,能夠按
ctrl + c
Linux 終端命令格式
目標
- 瞭解終端命令格式
- 知道如何查閱終端命令幫助信息
01. 終端命令格式
command [-options] [parameter]
說明:
command
:命令名,相應功能的英文單詞或單詞的縮寫[-options]
:選項,可用來對命令進行控制,也能夠省略parameter
:傳給命令的參數,能夠是 零個、一個 或者 多個
[]
表明可選02. 查閱命令幫助信息(知道)
提示
- 現階段只須要 知道 經過如下兩種方式能夠查詢命令的幫助信息
- 先學習經常使用命令及經常使用參數的使用便可,工做中若是遇到問題能夠藉助網絡搜索命令的中文資料
2.1
--help
command --help
說明:
- 顯示
command
命令的幫助信息2.2 man
man command
說明:
- 查閱
command
命令的使用手冊
man
是 manual 的縮寫,是 Linux 提供的一個 手冊,包含了絕大部分的命令、函數的詳細使用說明使用
man
時的操做鍵:
操做鍵 功能 空格鍵 顯示手冊頁的下一屏 Enter 鍵 一次滾動手冊頁的一行 b 回滾一屏 f 前滾一屏 q 退出 /word 搜索 word 字符串 Linux基本命令(一)
目標
- 熟練使用 Linux經常使用的命令
- ls
- clear
- cd
- pwd
- mkdir
- touch
- rm
- cp
- mv
- tree
- chmod
- find
- grep
- 重定向
- 軟鏈接、硬連接
- 壓縮
- shutdown
- reboot
- who
- exit
- passwd
- sudo
1> 查看文件信息:ls
ls是英文單詞list的簡寫,其功能爲列出目錄的內容,是用戶最經常使用的命令之一,它相似於DOS下的dir命令。
Linux文件或者目錄名稱最長能夠有265個字符,「.」表明當前目錄,「..」表明上一級目錄,以「.」開頭的文件爲隱藏文件,須要用 -a 參數才能顯示。
ls經常使用參數:
參數 含義 -a 顯示指定目錄下全部子目錄與文件,包括隱藏文件 -l 以列表方式顯示文件的詳細信息 -h 配合 -l 以人性化的方式顯示文件大小
圖中列出的信息含義以下圖所示:
與DOS下的文件操做相似,在Unix/Linux系統中,也一樣容許使用特殊字符來同時引用多個文件名,這些特殊字符被稱爲通配符。
通配符 含義 * 文件表明文件名中全部字符 ls te* 查找以te開頭的文件 ls *html 查找結尾爲html的文件 ? 表明文件名中任意一個字符 ls ?.c 只找第一個字符任意,後綴爲.c的文件 ls a.? 只找只有3個字符,前2字符爲a.,最後一個字符任意的文件 [] [」和「]」將字符組括起來,表示能夠匹配字符組中的任意一個。「-」用於表示字符範圍。 [abc] 匹配a、b、c中的任意一個 [a-f] 匹配從a到f範圍內的的任意一個字符 ls [a-f]* 找到從a到f範圍內的的任意一個字符開頭的文件 ls a-f 查找文件名爲a-f的文件,當「-」處於方括號以外失去通配符的做用 \ 若是要使通配符做爲普通字符使用,能夠在其前面加上轉義字符。「?」和「*」處於方括號內時不用使用轉義字符就失去通配符的做用。 ls \*a 查找文件名爲*a的文件 2> 清屏:clear
clear做用爲清除終端上的顯示(相似於DOS的cls清屏功能),也可以使用快捷鍵:Ctrl + l ( 「l」 爲字母 )。
3> 切換工做目錄: cd
在使用Unix/Linux的時候,常常須要更換工做目錄。cd命令能夠幫助用戶切換工做目錄。
Linux全部的目錄和文件名大小寫敏感
cd後面可跟絕對路徑,也能夠跟相對路徑。若是省略目錄,則默認切換到當前用戶的主目錄。
命令 含義 cd 切換到當前用戶的主目錄(/home/用戶目錄),用戶登錄的時候,默認的目錄就是用戶的主目錄。 cd ~ 切換到當前用戶的主目錄(/home/用戶目錄) cd . 切換到當前目錄 cd .. 切換到上級目錄 cd - 可進入上次所在的目錄
注意:
- 若是路徑是從根路徑開始的,則路徑的前面須要加上 「 / 」,如 「 /mnt 」,一般進入某個目錄裏的文件夾,前面不用加 「 / 」。
4> 顯示當前路徑:pwd
使用pwd命令能夠顯示當前的工做目錄,該命令很簡單,直接輸入pwd便可,後面不帶參數。
5> 建立目錄:mkdir
經過mkdir命令能夠建立一個新的目錄。參數-p可遞歸建立目錄。
須要注意的是新建目錄的名稱不能與當前目錄中已有的目錄或文件同名,而且目錄建立者必須對當前目錄具備寫權限。
6> 刪除文件:rm
可經過rm刪除文件或目錄。使用rm命令要當心,由於文件刪除後不能恢復。爲了防止文件誤刪,能夠在rm後使用-i參數以逐個確認要刪除的文件。
經常使用參數及含義以下表所示:
參數 含義 -i 以進行交互式方式執行 -f 強制刪除,忽略不存在的文件,無需提示 -r 遞歸地刪除目錄下的內容,刪除文件夾時必須加此參數
7> 拷貝:cp
cp命令的功能是將給出的文件或目錄複製到另外一個文件或目錄中,至關於DOS下的copy命令。
經常使用選項說明:
選項 含義 -a 該選項一般在複製目錄時使用,它保留連接、文件屬性,並遞歸地複製目錄,簡單而言,保持文件原有屬性。 -f 已經存在的目標文件而不提示 -i 交互式複製,在覆蓋目標文件以前將給出提示要求用戶確認 -r 若給出的源文件是目錄文件,則cp將遞歸複製該目錄下的全部子目錄和文件,目標文件必須爲一個目錄名。 -v 顯示拷貝進度
8> mv:移動、重命名
用戶可使用mv命令來移動文件或目錄,也能夠給文件或目錄重命名。
經常使用選項說明:
選項 含義 -f 禁止交互式操做,若有覆蓋也不會給出提示 -i 確認交互方式操做,若是mv操做將致使對已存在的目標文件的覆蓋,系統會詢問是否重寫,要求用戶回答以免誤覆蓋文件 -v 顯示移動進度
9> 建立文件: touch
用戶能夠經過touch來建立一個空的文件,demo以下:
touch hello.txt說明:
- 則會在當前路徑下建立名字爲hello.txt的空文件
- Linux系統中沒有嚴格的後綴(格式),因此建立文件時能夠命名爲任意的文
Linux基本命令(二)
1. 輸出重定向命令:>
Linux容許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。
如:ls > test.txt ( test.txt 若是不存在,則建立,存在則覆蓋其內容 )
注意:
>輸出重定向會覆蓋原來的內容,>>輸出重定向則會追加到文件的尾部。
2. 分屏顯示:more
查看內容時,在信息過長沒法在一屏上顯示時,會出現快速滾屏,使得用戶沒法看清文件的內容,此時可使用more命令,每次只顯示一頁,按下空格鍵能夠顯示下一頁,按下q鍵退出顯示,按下h鍵能夠獲取幫助。
3. 管道:|
管道:一個命令的輸出能夠經過管道作爲另外一個命令的輸入。
管道咱們能夠理解現實生活中的管子,管子的一頭塞東西進去,另外一頭取出來,這裏「 | 」的左右分爲兩端,左端塞東西(寫),右端取東西(讀)。
4. 創建連接文件:ln
Linux連接文件相似於Windows下的快捷方式。
連接文件分爲軟連接和硬連接。
軟連接:軟連接不佔用磁盤空間,源文件刪除則軟連接失效。
硬連接:硬連接只能連接普通文件,不能連接目錄。
使用格式:
ln 源文件 連接文件 ln -s 源文件 連接文件若是
沒有-s
選項表明創建一個硬連接文件,兩個文件佔用相同大小的硬盤空間,即便刪除了源文件,連接文件仍是存在,因此-s選項是更常見的形式。注意:若是軟連接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
5. 查看或者合併文件內容:cat
6. 文本搜索:grep
Linux系統中grep命令是一種強大的文本搜索工具,grep容許對文本文件進行模式查找。若是找到匹配模式, grep打印包含模式的全部行。
grep通常格式爲:
grep [-選項] ‘搜索內容串’文件名在grep命令中輸入字符串參數時,最好引號或雙引號括起來。
例如:
grep 'a' 1.txt經常使用選項說明:
選項 含義 -v 顯示不包含匹配文本的全部行(至關於求反) -n 顯示匹配行及行號 -i 忽略大小寫 grep搜索內容串能夠是正則表達式。
正則表達式是對字符串操做的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。
grep經常使用正則表達式:
參數 含義 ^a 行首,搜尋以 m 開頭的行;grep -n '^a' 1.txt ke$ 行尾,搜尋以 ke 結束的行;grep -n 'ke$' 1.txt [Ss]igna[Ll] 匹配 [] 裏中一系列字符中的一個;搜尋匹配單詞signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt . (點)匹配一個非換行符的字符;匹配 e 和 e 之間有任意一個字符,能夠匹配 eee,eae,eve,可是不匹配 ee,eaae;grep -n 'e.e' 1.txt
7. 查找文件:find
find命令功能很是強大,一般用來在特定的目錄下搜索符合條件的文件,也能夠用來搜索特定用戶屬主的文件。
經常使用用法:
命令 含義 find ./ -name test.sh 查找當前目錄下全部名爲test.sh的文件 find ./ -name '*.sh' 查找當前目錄下全部後綴爲.sh的文件 find ./ -name "[A-Z]*" 查找當前目錄下全部以大寫字母開頭的文件 find /tmp -size 2M 查找在/tmp 目錄下等於2M的文件 find /tmp -size +2M 查找在/tmp 目錄下大於2M的文件 find /tmp -size -2M 查找在/tmp 目錄下小於2M的文件 find ./ -size +4k -size -5M 查找當前目錄下大於4k,小於5M的文件 find ./ -perm 777 查找當前目錄下權限爲 777 的文件或目錄 8. 歸檔管理:tar
計算機中的數據常常須要備份,tar是Unix/Linux中最經常使用的備份工具,此命令能夠把一系列文件歸檔到一個大文件中,也能夠把檔案文件解開以恢復數據。
tar使用格式 tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可使用「-」,也能夠不使用。
經常使用參數:
參數 含義 -c 生成檔案文件,建立打包文件 -v 列出歸檔解檔的詳細過程,顯示進度 -f 指定檔案文件名稱,f後面必定是.tar文件,因此必須放選項最後 -t 列出檔案中包含的文件 -x 解開檔案文件 注意:除了f須要放在參數的最後,其它參數的順序任意。
9. 文件壓縮解壓:gzip
tar與gzip命令結合使用實現文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名通常用xxxx.tar.gz。
gzip使用格式以下:
gzip [選項] 被壓縮文件經常使用選項:
選項 含義 -d 解壓 -r 壓縮全部子目錄
tar這個命令並無壓縮的功能,它只是一個打包的命令,可是在tar命令中增長一個選項(-z)能夠調用gzip實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
壓縮用法:tar cvzf 壓縮包包名 文件1 文件2 ...
-z :指定壓縮包的格式爲:file.tar.gz
解壓用法: tar zxvf 壓縮包包名
-z:指定壓縮包的格式爲:file.tar.gz
解壓到指定目錄:-C (大寫字母「C」)
10. 文件壓縮解壓:bzip2
tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip同樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包後的文件,其擴展名通常用xxxx.tar.gz2。
在tar命令中增長一個選項(-j)能夠調用bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)
11. 文件壓縮解壓:zip、unzip
經過zip壓縮文件的目標文件不須要指定擴展名,默認擴展名爲zip。
壓縮文件:zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件:unzip -d 解壓後目錄文件 壓縮文件
12. 查看命令位置:which
13. 修改文件權限:chmod
chmod 修改文件權限有兩種使用格式:字母法與數字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] 含義 u user 表示該文件的全部者 g group 表示與該文件的全部者屬於同一組( group )者,即用戶組 o other 表示其餘之外的人 a all 表示這三者皆是
[ +-= ] 含義 + 增長權限 - 撤銷權限 = 設定權限
rwx 含義 r read 表示可讀取,對於一個目錄,若是沒有r權限,那麼就意味着不能經過ls查看這個目錄的內容。 w write 表示可寫入,對於一個目錄,若是沒有w權限,那麼就意味着不能在目錄下建立新的文件。 x excute 表示可執行,對於一個目錄,若是沒有x權限,那麼就意味着不能經過cd進入這個目錄。
若是須要同時進行設定擁有者、同組者以及其餘人的權限,參考以下:
數字法:「rwx」 這些權限也能夠用數字來代替
字母 說明 r 讀取權限,數字代號爲 "4" w 寫入權限,數字代號爲 "2" x 執行權限,數字代號爲 "1" - 不具任何權限,數字代號爲 "0" 如執行:chmod u=rwx,g=rx,o=r filename 就等同於:chmod u=7,g=5,o=4 filename
chmod 751 file:
- 文件全部者:讀、寫、執行權限
- 同組用戶:讀、執行的權限
- 其它用戶:執行的權限
注意:若是想遞歸全部目錄加上相同權限,須要加上參數「 -R 」。 如:chmod 777 test/ -R 遞歸 test 目錄下全部文件加 777 權限
14. 切換到管理員帳號
Ubuntu下切換到root的簡單命令:
15. 設置用戶密碼:passwd
在Unix/Linux中,超級用戶可使用passwd命令爲普通用戶設置或修改用戶密碼。用戶也能夠直接使用該命令來修改本身的密碼,而無需在命令後面使用用戶名。
16. 退出登陸帳戶: exit
- 若是是圖形界面,退出當前終端;
- 若是是使用ssh遠程登陸,退出登錄帳戶;
- 若是是切換後的登錄用戶,退出則返回上一個登錄帳號。
17. 查看登陸用戶:who
who命令用於查看當前全部登陸系統的用戶信息。
經常使用選項:
選項 含義 -q或--count 只顯示用戶的登陸帳號和登陸用戶的數量 -u或--heading 顯示列標題
18. 關機重啓:reboot、shutdown、init
命令 含義 reboot 從新啓動操做系統 shutdown –r now 從新啓動操做系統,shutdown會給別的用戶提示 shutdown -h now 馬上關機,其中now至關於時間爲0的狀態 shutdown -h 20:25 系統在今天的20:25 會關機 shutdown -h +10 系統再過十分鐘後自動關機