linux入門基礎知識匯總課件_第1頁
linux入門基礎知識匯總課件_第2頁
linux入門基礎知識匯總課件_第3頁
linux入門基礎知識匯總課件_第4頁
linux入門基礎知識匯總課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、復習內(nèi)容操作系統(tǒng)相關概念linux常用命令Vim編輯器、gcc編譯器、gdb調(diào)試器、makefile進程、線程相關概念及l(fā)inux進程創(chuàng)建第1頁,共65頁。操作系統(tǒng)相關概念操作系統(tǒng)定義操作系統(tǒng)功能操作系統(tǒng)特性第一部分第2頁,共65頁。操作系統(tǒng)定義操作系統(tǒng)是配置在計算機硬件系統(tǒng)(也稱為裸機系統(tǒng))上的第一層軟件是對計算機硬件功能的第一次擴充定義:是計算機系統(tǒng)中的一個重要系統(tǒng)軟件。它管理和控制所有的計算機資源(軟、硬件),合理組織計算機工作流程,以便有效的利用這些資源為用戶提供一個功能強大、使用方便且易于擴展的工作環(huán)境,從而在計算機與用戶之間起到接口的作用。第3頁,共65頁。操作系統(tǒng)地位基于硬件計算

2、機所有資源的管理、協(xié)調(diào)和分配進程管理界面管理。等等操作系統(tǒng)的地位第4頁,共65頁。操作系統(tǒng)的功能處理機管理處理機分配調(diào)度策略,分配實施和資源回收存儲管理內(nèi)存分配:保護系統(tǒng)和各用戶的存儲區(qū)不產(chǎn)生沖突存儲保護:保護一個程序不會遭到其他程序的破壞內(nèi)存擴充:為用戶提供虛擬存儲器(比實際內(nèi)存大得多)設備管理緩沖管理:緩和CPU和I/O設備速度不匹配的矛盾設備獨立性:為用戶提供一個良好的界面操作系統(tǒng)的功能及特征(1)第5頁,共65頁。操作系統(tǒng)的功能文件管理目錄管理:方便用戶有效組織、管理文件文件存取控制管理:對文件設置讀、寫、刪等權限,防止非法破壞文件存儲空間管理:提高文件存儲空間利用率和文件工作速度用戶

3、接口命令接口:對程序員輸入的命令解釋并執(zhí)行程序接口:可在編寫的程序中通過對這些接口的調(diào)用完成相應的功能操作系統(tǒng)的功能及特征(2)第6頁,共65頁。操作系統(tǒng)的特征并發(fā)性共享性虛擬性不確定性操作系統(tǒng)的功能及特征(3)第7頁,共65頁。Linux的基本操作Linux關閉、重啟命令系統(tǒng)管理命令文件管理命令文件搜索命令幫助命令壓縮解壓命令網(wǎng)絡通信命令其它常用命令第二部分第8頁,共65頁。linux的退出和關閉Linux退出退出時指退出與Linux當前的交互Shell下,使用exit或logout命令GUI界面下,點擊主菜單的logout項Linux關閉在shell下,用shutdown或halt命令重新

4、啟動Linuxreboot命令shutdown命令同時按下Ctrl+Alt+Del第9頁,共65頁。系統(tǒng)管理命令su:變更用戶身份sudo:以其他身份來執(zhí)行指令passwd:變更用戶的密碼su zhangsan與su - zhangsan有何區(qū)別?第10頁,共65頁。ls:列出一個或多個文件的信息-a, -all:列出目錄下所有的文件,包括文件名以.開頭的隱藏文件,.和.除外。-i, -inode:顯示每個文件的i節(jié)點號-l:使用長列表格式pwd:打印當前工作目錄的全路徑名(絕對路徑),如果沒有顯示目錄,則屬于符號鏈接。cd:改變當前目錄cd . 切換至當前目錄的父目錄./當前目錄文件管理命令

5、(1)第11頁,共65頁。mkdir:創(chuàng)建一個或多個目錄-p, -parents: 如果不存在錯誤,則根據(jù)需要創(chuàng)建父目錄$ mkdir p a/b/crmdir:刪除一個或多個空的目錄-p, -parents: 刪除DIRECTORY后,試圖刪除DIRECTORY的每一個分量。$ rmdir p a/b/ctree:以樹狀輸出目錄下所有子目錄和文件的列表文件管理命令(2)第12頁,共65頁。cp:復制一個或多個文件或目錄cp OPTION SOURCE DESTcp OPTION . SOURCE . DIRECTORY-R 復制目錄rm:刪除命令中所列出的每個文件-f, -force:忽略不

6、存在的文件而給用戶任何提示-r、-R、-recursive:以遞歸方式刪除目錄中內(nèi)容mv:移動或更名文件或目錄。touch:修改文件的時間戳touch OPTION FILE 如果FILE文件并不存在,則創(chuàng)建新文件文件管理命令(3)第13頁,共65頁。ln:在文件間建立鏈接。 $ ln 123.txt hl.txt硬鏈接是指,已存在文件的別名。一旦鏈接生成,鏈接與原文件是無法區(qū)別的。$ ln -s 123.txt sl.txt符號鏈接(軟鏈接)是指一種特殊的文件類型。鏈接文件實際上指向了另一個文件。cat:在屏幕上顯示文件的內(nèi)容more:在屏幕上分頁顯示文件的內(nèi)容,支持跳轉行功能空格或f 顯示

7、下一頁Enter 顯示下一行Q或q 退出文件管理命令(4)第14頁,共65頁。head:顯示文件的開始部分-n num :顯示文件前num行$ head n 20 /etc/servicestail:顯示文件的末尾部分-n num :顯示文件后num行$ tail n 20 /etc/services組合使用可定位到某一行或幾行,如顯示第15行:$ head n 15 /etc/services | tail n 1文件管理命令(5)第15頁,共65頁。chmod:改變文件的訪問許可(符號連接除外)$ chmod a+x 123.txt$ chmod 777 123.txt文件管理命令(6)第

8、16頁,共65頁。chown:改變文件或目錄所有者(即文件主)$ chown nobody 123.txtchgrp:改變文件或目錄所屬組$ chgrp adm 123.txtumask:顯示、設置文件或目錄的缺省權限-S:以rwx形式顯示文件或目錄的缺省權限$ umask$ umask -S$ umask 644文件管理命令(7)第17頁,共65頁。find:查找文件和目錄-name 按文件名稱查找$ find /etc name init$ find /etc name init?$ find . name *topgrep:輸入一個或多個輸入文件中查找含有與指定模式相匹配的字符串的行$

9、grep “text” 123.txt文件搜索命令(1)第18頁,共65頁。which:顯示系統(tǒng)命令所在目錄 $ which lswhereis:和which用法一樣,顯示信息的方式不同 locate:尋找文件或目錄$ locate file (列出所有跟file相關的文件 )文件搜索命令(2)第19頁,共65頁。man:獲得幫助信息 $ man ls 查看ls命令的幫助信息 $ man services 查看配置文件services的幫助信息$ man 5 passwd 配置文件的幫助 1是命令的幫助,查看時調(diào)用more info:獲得幫助信息 $ info ls 查看ls指令的幫助信息 w

10、hatis:獲得索引的簡短說明信息 $ whatis ls 幫助命令第20頁,共65頁。zip:壓縮文件或目錄-r 壓縮目錄 壓縮后文件格式:.zip $ zip services.zip /etc/services 壓縮文件 $ zip r test.zip /test 壓縮目錄 .zip是默認windows和linux通用格式 unzip:解壓.zip的壓縮文件$ unzip test.zip 壓縮解壓命令(1)第21頁,共65頁。gzip:壓縮文件壓縮后文件格式:.gz gzip只能壓縮文件,不能壓縮目錄,并且不保留原文件 $ gzip 123.txtgunzip:解壓縮.gz的壓縮文件

11、$ gunzip file1.gz 壓縮解壓命令(2)第22頁,共65頁。bzip2:壓縮文件(適合壓縮大文件) 壓縮后文件格式:.bz2 -k 產(chǎn)生壓縮文件后保留原文件 $ bzip2 k file1 bunzip2:解壓縮.bz2的壓縮文件-k 解壓縮后保留原文件 $ bunzip2 k file1.bz2 壓縮解壓命令(3)第23頁,共65頁。壓縮解壓命令(4)tar命令解壓縮語法: -x 解包.tar文件 -v 顯示詳細信息 -f 指定解壓文件 -z 解壓縮tar.gz-j 解壓縮tar.bz2 $ tar zxvf dir1.tar.gz tar:打包文件或目錄 -c 產(chǎn)生.tar打

12、包文件-v 顯示詳細信息 -f 指定壓縮后的文件名-z 打包同時壓縮 (.tar.gz)-j 打包同時壓縮 (.tar.bz2)$ tar zcvf dir1.tar.gz dir1第24頁,共65頁。ping:測試網(wǎng)絡連通性 # ping 192.168.1.1ping c 3 192.168.9.3 c count次數(shù) ping s 65507 192.168.9.3 s size數(shù)據(jù)包大小ifconfig:查看網(wǎng)絡設置信息 -a 顯示所有網(wǎng)卡信息# ifconfig a ifconfig eth0 192.168.9.6 在本次會話中改變IP地址,如果要永久生效,則必須寫入配置文件 /e

13、tc/network/interfaces網(wǎng)絡通信命令(1)第25頁,共65頁。write:向另外一個用戶發(fā)信息,以Ctrl+D作為結束,實時通信,必須是在線用戶$ write sisexlgwall:向所有用戶廣播信息 $ wallHappy New Year! 網(wǎng)絡通信命令(2)第26頁,共65頁。echo:在終端輸出字符串echo通常跟重定向符號一起使用echo 210.22.70.3 /etc/resolv.confecho 210.22.70.3 /etc/resolv.confsort :排序給出的所有文件并合并到標準輸出(缺省FILE時)或一個指定的文件adduser:添加用戶u

14、serdel:刪除用戶-r:當刪除帳號時,連同帳號主目錄一起刪除-f:強制刪除其它命令第27頁,共65頁。Vim編輯器Gcc編譯器Gdb調(diào)試器Makefile第三部分第28頁,共65頁。VIM編輯器vi編輯器啟動$ vi filename三種模式切換方法如圖:第29頁,共65頁。VIM編輯器文本插入命令i:插入文本從光標所在位置前開始I:將光標移動到當前行的行首,然后在其前插入文本文本附加命令a:在光標當前位置之后追加新文本A:將光標移動到所在行的行尾,從那里開始插入新文本文本修改命令o:在光標的下面新開一行,并定位到該行的行首,等待輸入O:在光標的上面插入一行,并定位到該行的行首,等待輸入第

15、30頁,共65頁。VIM編輯器文本修改命令刪除刪除單個字符x:刪除光標處的字符nx:刪除光標所在位置開始向右的n個字符(n是具體的數(shù)字)X:刪除光標前面的那個字符nX:刪除光標前面向左的n個字符(n是具體的數(shù)字)第31頁,共65頁。VIM編輯器刪除多個字符dd:刪除光標所在當前行D或d$:刪除從光標所在處開始到行尾的內(nèi)容d:刪除從光標前一個字符開始到行首的內(nèi)容dw:刪除一個單詞dG:刪除光標所在行到末尾所有內(nèi)容:n1,n2d 刪除n1到n2行第32頁,共65頁。VIM編輯器退出vi編輯完文件后,準備退出vi返回shell時,可以在末行模式下,使用如下方法::w newfile 保存文件為new

16、file,但并不退出:q 退出vi。如果未保存,vi將提示不能退出:wq newfile 保存并退出:q! 強制退出,不保存:x 如果修改過,則保存退出;如果未修改過,則直接退出ZZ 快捷鍵,保存修改并退出第33頁,共65頁。VIM編輯器設置vi可以通過/.vimrc文件對vi進行默認的設置也可在末行模式中設置set nu:顯示行號syntax on:語法高亮(編程時適用)set undolevels=200:undo最大次數(shù)set ignorecase:忽略大小寫set autoindent:自動縮進(編程時適用)set tabstop=4:設置tab鍵的寬度第34頁,共65頁。GCC編譯器

17、gcc的編譯流程分為4個步驟,如下$ gcc -E hello.c -o hello.i$ gcc -S hello.i -o hello.s$ gcc -c hello.s -o hello.o$ gcc hello.o -o hello$ chmod 755 hello$ ./hello第35頁,共65頁。GCC編譯器gcc基本用法和常用選項gcc命令的基本用法如下:$ gcc options filename前面介紹的4個步驟,我們可以一次全部執(zhí)行,如下:$ gcc hello.c -o hello當沒有指定-o選項時,默認生成的可執(zhí)行文件為a.out$ gcc hello.c$ ./a

18、.out第36頁,共65頁。GCC編譯器gcc命令的的常用參數(shù)如下:-c:只激活預處理、編譯、匯編,只編譯成obj文件,不鏈接-S:只激活預處理、編譯,把文件編譯成匯編代碼-E:只激活預處理,不生成文件,不編譯-o:指定目標名稱,當不指定時則默認為a.out-g:指定編譯器在編譯時產(chǎn)生調(diào)試信息(參考gdb一節(jié))-Wall:顯示附加的警告消息第37頁,共65頁。GDB調(diào)試器gdb簡介gdb能在程序運行時,觀察程序的內(nèi)部結構和內(nèi)存堆棧情況gdb主要功能如下:監(jiān)視程序中變量的值設置程序斷點逐行執(zhí)行代碼第38頁,共65頁。GDB調(diào)試器gdb調(diào)試時常用的命令如下:命令說明file裝入想要調(diào)試的可執(zhí)行文件

19、kill終止正在調(diào)試的程序list列出產(chǎn)生執(zhí)行文件的源碼的一部分next執(zhí)行一行源代碼但不進入函數(shù)內(nèi)部step執(zhí)行一行源代碼并且進入函數(shù)內(nèi)部run執(zhí)行當前被調(diào)試的程序quit終止gdbwatch監(jiān)視一個變量的值而不管它何時被改變break在代碼中設置斷點,使程序執(zhí)行到這里時被掛起make不退出gdb情況下,可以重新產(chǎn)生可執(zhí)行文件shell不離開gdb,執(zhí)行UNIX shell命令第39頁,共65頁。Makefile假設一個工程中包含filea.c、fileb.c、test.c三個文件如果用gcc編譯這個工程,需要$ make現(xiàn)在我們使用Makefile對這個工程進行管理,則建立Makefile

20、文件$ gcc -c filea.c o filea.o$ gcc -c fileb.c o fileb.o$ gcc -c test.c o test.o$ gcc filea.o fileb.o test.o o prog然后輸入命令Makefile將自動幫我們進行編譯第40頁,共65頁。Makefile現(xiàn)在我們簡單分析一下這個Makefile文件指定prog程序由3個目標文件filea.o、fileb.o、test.o鏈接生成prog: filea.o fileb.o test.ogcc filea.o fileb.o test.o -o progfilea.o: filea.cgcc

21、-c filea.c指定目標文件filea.o由filea.c編譯生成注意:如果filea.c文件在編譯之后被修改則make可以自動重新編譯filea.o,最后再生成新的prog第41頁,共65頁。MakefileMakefile作為一種描述文檔一般需要包含如下內(nèi)容宏定義源文件之間的相互依賴關系可執(zhí)行的命令$(CFLAGS)Makefile使用簡單的宏指代源文件或編譯信息,Linux中稱為宏變量在引用宏時,需要在變量前加$符號,并把變量用()包含起來使用宏定義可以使用戶脫離冗長乏味的編譯選項第42頁,共65頁。進程的概念進程的特性進程的狀態(tài)及其轉換進程的組成Linux中的進程的創(chuàng)建線程第四部分

22、第43頁,共65頁。進程與程序進程的定義:進程是可并發(fā)執(zhí)行的程序在一個數(shù)據(jù)集合的運行過程。它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元,是系統(tǒng)進行資源分配的獨立單位。進程與程序的關聯(lián)進程是程序的一次執(zhí)行過程,即一個執(zhí)行實例程序與進程存在:1:1、1:n的關系進程與程序存在:1:1、1:n的關系進程與程序的區(qū)別程序:靜態(tài)、指令集合、無生命周期、可保存、不是進程調(diào)度和分配資源的單位進程:動態(tài)、執(zhí)行過程、有生命周期、不可保存、是進程調(diào)度和分配資源的單位進程是由程序、數(shù)據(jù)和進程控制塊三部分組成;進程具有第44頁,共65頁。進程的特性進程的特性:動態(tài)性:進程的實質(zhì)是程序的一次執(zhí)行過程,進程是動態(tài)產(chǎn)生,動態(tài)消亡的;并發(fā)

23、性:任何進程都可以同其他進程一起并發(fā)執(zhí)行;獨立性:進程是一個能獨立運行的基本單位,同時也是系統(tǒng)分配資源和調(diào)度的獨立單位;異步性:由于進程間的相互制約,使進程具有執(zhí)行的間斷性,即進程按各自獨立的、不可預知的速度向前推進。 第45頁,共65頁。進程的基本狀態(tài)運行態(tài)(Running)進程占有CPU,并在CPU上運行。在單CPU系統(tǒng)中,最多只有一個進程處于運行態(tài)。就緒態(tài)(Ready)一個進程已經(jīng)具備運行條件,但由于無CPU暫時不能運行的狀態(tài)(當調(diào)度給其CPU時,立即可以運行)。處于就緒狀態(tài)的進程可以有多個。隊列的排列次序一般按優(yōu)先級大小來排列。阻塞態(tài)(Blocked)指進程因等待某種事件的發(fā)生而暫時不

24、能運行的狀態(tài),即使CPU空閑,該進程也不可運行。處于阻塞狀態(tài)的進程可以有多個。第46頁,共65頁。進程的狀態(tài)及其轉換運行進程占有CPU就緒具備運行條件,但暫無CPU阻塞等待某事件或資源。進程狀態(tài)之間的轉換進程被調(diào)度獲得CPU時間片用完或被搶占因等待某種事件或者資源而無法運行,即使CPU空閑,該進程也不可運行已獲得事件或等待的資源第47頁,共65頁。進程的組成進程的組成程序段:進程所對應的可執(zhí)行程序;數(shù)據(jù)段:程序運行過程中要用到的數(shù)據(jù)或工作區(qū);進程控制塊(PCB):為管理進程設置的一個專門的數(shù)據(jù)結構,用于記錄進程的外部特征,描述進程的運動變化過程。進程映像:程序是進程的靜態(tài)部分,可見PCB是進程

25、的動態(tài)部分,不可見第48頁,共65頁。進程控制塊PCB進程控制塊(PCB)PCBProcess Control Block記錄了OS控制和管理進程的所需的所有信息,是進程屬性的動態(tài)描述(PCB在Linux中對應task_struct,也稱為PD;PCB在Unix中對應于proc和user結構) 進程控制塊與進程關系:每個進程有唯一的PCB。操作系統(tǒng)(OS)根據(jù)PCB管理進程。利用PCB實現(xiàn)進程的動態(tài)、并發(fā)。PCB是進程存在的唯一標志。 第49頁,共65頁。進程控制塊PCBPCB的內(nèi)容標識信息:進程標識、用戶名說明信息:進程狀態(tài)、等待原因、進程程序和數(shù)據(jù)的存儲信息現(xiàn)場信息:記錄重要寄存器、時鐘等

26、內(nèi)容,用于恢復斷點管理調(diào)度信息:進程優(yōu)先級、進程隊列指針、消息隊列指針、進程使用的資源清單、進程家族關系、進程當前打開的文件第50頁,共65頁。Linux系統(tǒng)中的PCBLinux系統(tǒng)中的PCB在Linux中,任務和進程是同一概念Linux中的PCB即任務數(shù)據(jù)結構:task_strcut,也稱為進程描述符PD (Processor Descriptor)定義在include/linux/sched.h中第51頁,共65頁。Linux系統(tǒng)中的PCBLinux PCB(task_struct)包含進程所有信息task_struct數(shù)據(jù)結構很龐大,但并不復雜,按功能將所有域劃分:1、進程狀態(tài)(Stat

27、e) 2、進程調(diào)度信息(Scheduling Information)3、各種標識符(Identifiers)4、進程通信有關信息(IPC:Inter_Process Communication)5、時間和定時器信息(Times and Timers)6、進程鏈接信息(Links)7、文件系統(tǒng)信息(File System)8、虛擬內(nèi)存信息(Virtual Memory)9、頁面管理信息(page)10、對稱多處理器(SMP)信息11、和處理器相關的環(huán)境(上下文)信息(Processor Specific Context)12、其它信息 第52頁,共65頁。Linux中與進程相關的命令PS功能:

28、對系統(tǒng)中的進程進行監(jiān)控OPTION參數(shù)如下:l:長格式輸出u:按用戶名和啟動時間順序來顯示進程j:用任務格式來顯示進程f:用全格式來顯示進程a:顯示所有用戶的所有進程x:顯示無控制終端的進程第53頁,共65頁。kill關閉進程:kill 進程號kill -9 進程號(強行關閉)kill -1 進程號(重啟進程)結束所有進程:killall查找服務進程號:pgrep 服務名稱關閉進程:pkill 進程名稱Linux中與進程相關的命令第54頁,共65頁。top句法:top OPTIONS功能:實時顯示系統(tǒng)中各個進程的資源占用狀況top命令是一個動態(tài)顯示過程,可以通過用戶按鍵來不斷刷新當前狀態(tài)。to

29、p命令是Linux下常用的性能分析工具Linux中與進程相關的命令第55頁,共65頁。linux進程的創(chuàng)建Linux的進程創(chuàng)建fork()函數(shù)fork()函數(shù)返回值= -1:創(chuàng)建失敗= 0:創(chuàng)建成功,并從子進程返回 0:創(chuàng)建成功,并從父進程返回,返回的是子進程PIDfork()函數(shù)為系統(tǒng)調(diào)用fork()函數(shù)完成的事務檢查現(xiàn)有進程數(shù)目分配PCB(task_strcut)及PID繼承父進程的資源創(chuàng)建進程映像(如靜態(tài)的程序,動態(tài)的PCB)并設置就緒返回:調(diào)用進程返回子進程的PID,被調(diào)度執(zhí)行返回0第56頁,共65頁。進程的創(chuàng)建fork()函數(shù)返回后的處理可依據(jù)父進程和子進程返回的值,做相應處理一般程序架構如下:main() int pid; /子進程的標識符PID whi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論