版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
主講:姜林美
Email:clough@Unix/Linux程序環(huán)境1精選2021版課件課程內容Linux及Linux編程環(huán)境概述C語言基礎與提高GNU開發(fā)工具鏈的使用GTK+編程基礎Gtk+基本構件Gdk與cairo繪圖基礎文件進程、信號和消息隊列shell編程(bash)俄羅斯方塊2精選2021版課件參考文獻Internet(google&baidu)DevhelpGNU/LINUX環(huán)境編程.M.TimJonesUNIX環(huán)境高級編程.W.RichardStevensLinux程序設計(第4版).NeilMatthew.Linux教程(第2版).孟慶昌,牛欣源.電子工業(yè)出版社Linux應用程序開發(fā)指南.機械工業(yè)出版社.許宏松等實用技術:開發(fā)Linux應用——用GTK+和GDK開發(fā)Linux圖形用戶界面應用.EricHarlow著.童壽彬等譯FoundationsofGTK+Development.AndrewKrause3精選2021版課件第一章Linux及Linux編程環(huán)境概述44精選2021版課件§1.1Linux操作系統(tǒng)概述Linux的誕生和發(fā)展([Linux大事TOP100])1991年9月發(fā)布0.01版目前最新版本2.6.32查看內核版本:uname-a各版本規(guī)模比較Linux內核版本號文件數(shù)量(個)源代碼行數(shù)(行)0.017684130.1299154860.97187389281.004871651652.0116436862012.4.221030246865342.6.27之后未統(tǒng)計1000萬行以上5精選2021版課件§1.1Linux操作系統(tǒng)概述Linux名稱的由來及發(fā)音Linus最初取名為Freax,后改名為與Linus諧音的Linux根據(jù)TorvaldsLinus本人的說法,依照國際音標其發(fā)音為[?lin?ks]http://www.L/Linux-pronunciation/pronunciation/torvalds-says-Linux.wav6精選2021版課件§1.1Linux操作系統(tǒng)概述Linux發(fā)展要素UnixUnix1969年在Bell實驗室誕生,Ken.Thompson和DennisRitchie開發(fā)的分時操作系統(tǒng);大型系統(tǒng)采用的主流操作系統(tǒng),采用固定機型的解決方案,各主要計算機產(chǎn)商有其自有版本的UNIX;Linux是Unix的一種典型的克隆系統(tǒng),采用了幾乎一致的API接口。Minix由荷蘭AndrewS.Tanenbaum于1987年開發(fā)完成;主要目的:操作系統(tǒng)原理課程的教學使用。優(yōu)點:小、有源碼7精選2021版課件§1.1Linux操作系統(tǒng)概述Linux發(fā)展要素GNU計劃RichardM.Stallman(RMS)1984年創(chuàng)立GNU項目,1985年創(chuàng)辦FSF。GNU=GNU‘sNotUNIX,開發(fā)了:emacs編輯系統(tǒng)、bashshell程序、gcc系列編譯程序、gdb調試程序等免費軟件FSF=theFreeSoftwareFoundation,自由軟件基金會依靠一些公司捐助和其它商業(yè)捐助來維持,進行軟件開發(fā)的工作和保護、推廣自由軟件的工作GPL=GeneralPublicLicense(Copyleft),旨在推廣自由軟件的使用和學習,防止別有用心的公司在對免費軟件進行一些修改后就申請版權。因此GPL協(xié)議要求在對軟件進行修改后,如果要再次發(fā)布,就需要將已修改的部分同時發(fā)布出來。8精選2021版課件§1.1Linux操作系統(tǒng)概述Linux發(fā)展要素POSIX(PortableOperatingSystemInterfaceforComputingSystems)標準由IEEE和ISO/IEC開發(fā)的標準簇,POSIX.1標準(1988年9月批準);描述了操作系統(tǒng)的調用服務接口,用于保證編制的應用程序可以在源代碼一級上在多種操作系統(tǒng)上移植運行,可稱為Unix的國際標準。最新標準從/austin/獲取在1991-1993年間,POSIX標準的制定處在最后投票敲定的時候,此時Linux剛剛起步,這個UNIX標準使得Linux能夠與絕大多數(shù)UNIX系統(tǒng)兼容Internet網(wǎng)絡如果沒有Intenet網(wǎng),沒有遍布全世界的無數(shù)計算機駭客的無私奉獻,那么Linux最多只能發(fā)展到0.13(0.95)版的水平。9精選2021版課件§1.1Linux操作系統(tǒng)概述Linux和Unix的異同開源軟件vs商業(yè)軟件;Unix大多與硬件配套,即操作系統(tǒng)與硬件綁定;Linux可運行于多硬件平臺;Unix歷史悠久,Linux源于Unix但設計思想更優(yōu)秀;常見版本Unix:Sun的Solaris、IBM的AIX、HP的HP-UX和基于x86平臺的SCOUNIX/UNIXware。Linux:Ubuntu、Debian、Slackware、Fedora和RHEL、CentOS、OpenSuSe、Mandriva、紅旗Linux等,參見網(wǎng)站:/pub/images/tech/linux/zhuanti/version/
Linux在安裝和使用上較Unix容易。10精選2021版課件§1.1Linux操作系統(tǒng)概述Linux人才需求Linux人才需求超過Unix與Windows持平人才缺口極大(超過100萬)/career_9921/20100612/t20100612_485858.shtml/#u16390459/d100966420.htm/art/200905/123405.htm/article/2008/0408/A20080408216474.shtml11精選2021版課件§1.2Linux編程環(huán)境Linux的安裝(Ubuntu10.04LTS)在硬件上直接安裝光驅安裝硬盤安裝在虛擬機上安裝VMwareworkstationVirtualboxVirtualpc安裝后系統(tǒng)更新與升級sudoapt-getupdatesudoapt-getdist-upgradesudoapt-getupgrade12精選2021版課件§1.2Linux編程環(huán)境編程環(huán)境的安裝及配置中文輸入法安裝sudoapt-getinstallscimscim-modules-socketscim-modules-tablescim-pinyinscim-tables-zhscim-input-padsudosh-c"echo'exportXMODIFIERS=@im=SCIM;exportGTK_IM_MODULE="scim";exportQT_IM_MODULE="scim";scim-d'>/etc/X11/Xsession.d/95xinput"sudochmod755/etc/X11/Xsession.d/95xinput中文亂碼解決/lazyclough/archive/2009/06/28/4305247.aspx
13精選2021版課件§1.2Linux編程環(huán)境編程環(huán)境的安裝及配置gvimsudoapt-getinstallvim-gtk選項setsyntax=onset
expandtabsetnusetts=4setsw=4setsmsetcinsetaisetnowraplet&termencoding=&encodingsetfileencodings=utf-8,gb18030,gbk,gb2312,big5模式:指令、輸入、末行基本命令移動:h,j,k,l,w,b,0,$,G;插入:a,i,o,O;更改:r,R,c復制:y;刪除:x,d;查找:?,/,f取消:u;重做:ctrl+r14精選2021版課件§1.2Linux編程環(huán)境編程環(huán)境的安裝及配置build-essentialsudoapt-getinstallbuild-essential編譯:gcc–oxxxxfilename.cg++-oxxxxfilename.cpp/ccGTK+參見:/lazyclough/archive/2009/11/08/4784943.aspx
編譯選項:`pkg-config–cflags–libsgtk+-2.0`eclipsecdt安裝參見:/lazyclough/archive/2010/11/08/5996054.aspx
其它參見:/lazyclough/category/522728.aspx15精選2021版課件§1.2Linux編程環(huán)境Linux的文件組織結構結構圖16精選2021版課件§1.2Linux編程環(huán)境Linux的文件組織結構環(huán)境變量$PATH:搜索路徑$PS1:提示符顯示環(huán)境變量命令:printenv,env由資源文件預先定義bashshell全局性系統(tǒng)環(huán)境變量的資源文件/etc/rcx.d/*/etc/rc.local/etc/profile/etc/environment(僅debain系列如ubuntu)/etc/bashrc或/etc/bash.bashrc(ubuntu下)用戶定制的系統(tǒng)環(huán)境變量~/.bash_profile~/.bashrc/etc/profile中設定的變量(全局)可以作用于任何用戶,用戶定制的環(huán)境變量只作用于本用戶執(zhí)行順序為:/etc/profile=>[/etc/environment]=>(~/.bash_profile|~/.bash_login|~/.profile)=>~/.bashrc=>/etc/bash.bashrc=>~/.bash_logout
17精選2021版課件§1.2Linux編程環(huán)境Linux的文件組織結構環(huán)境變量各資源文件的作用:/etc/profile:為系統(tǒng)的每個用戶設置環(huán)境信息,當用戶第一次登錄時,該文件被執(zhí)行.并從/etc/profile.d目錄的配置文件中搜集shell的設置。/etc/bashrc:為每一個運行bashshell的用戶執(zhí)行此文件.當bashshell被打開時,該文件被讀取。~/.bash_profile:用戶可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該文件僅僅執(zhí)行一次!默認情況下,他設置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件。~/.bashrc:該文件包含專用于某用戶的bashshell的bash信息,當?shù)卿洉r以及每次打開新的shell時,該該文件被讀取。~/.bash_logout:當每次退出系統(tǒng)(退出bashshell)時,執(zhí)行該文件.~/.bash_profile是交互式、login方式進入bash運行的,~/.bashrc是交互式non-login方式(終端窗口)進入bash運行的通常二者設置大致相同,所以通常前者會調用后者。18精選2021版課件§1.2Linux編程環(huán)境Linux的文件組織結構配置文件/etc/passwd每行表示一個用戶的信息;7個段位;冒號分割;如:linuxsir:x:501:502::/home/linuxsir:/bin/bash第一字段:用戶名(也被稱為登錄名);在上面的例子中,用戶名是linuxsir;第二字段:口令;無用,已被映射到/etc/shadow文件中;第三字段:UID;第四字段:GID;第五字段:用戶名全稱,這是可選的,可以不設置;第六字段:用戶的主目錄所在位置;上例中為/home/linuxsir;第七字段:用戶所用SHELL的類型,beinan和linuxsir都用的是bash;所以設置為/bin/bash;19精選2021版課件§1.2Linux編程環(huán)境Linux的文件組織結構配置文件/etc/fstab每行表示一條掛載信息;6個段位;空白字符分割;格式fs_specfs_filefs_typefs_optionsfs_dumpfs_pass如:UUID=CDEDBE95A6C93A99/mnt/win_vmntfsdefaults,utf8,rw,user01fs_spec要加載的文件系統(tǒng)所在的設備或遠程文件系統(tǒng)fs_file-加載的目錄點fs_type-定義了該設備上的文件系統(tǒng),ext3、ext4、vfat(Windows系統(tǒng)的fat32格式)、ntfs、iso9660等。fs_options-特定參數(shù)選項,逗號分隔;一般使用defaults。其他選項:ro或rw以只讀或讀寫模式加載該文件系統(tǒng)user允許普通用戶加載該文件系統(tǒng)noauto使用mount-a命令(例如系統(tǒng)啟動時)時不自動加載umask=022文件權限的掩碼iocharset=gbk編碼fs_dump-該選項被dump命令使用來檢查一個文件系統(tǒng)應該以多快頻率進行轉儲,若不需要轉儲就設置該字段為0fs_pass-該字段被fsck命令用來決定在啟動時需要被掃描的文件系統(tǒng)的順序,根文件系統(tǒng)/對應該字段的值應該為1,其他文件系統(tǒng)應該為2。若該文件系統(tǒng)無需在啟動時掃描則設置該字段為020精選2021版課件§1.2Linux編程環(huán)境Shell簡介什么是Shell一個做為用戶與Linux系統(tǒng)之間的操作接口程序,允許用戶向操作系統(tǒng)輸入需要執(zhí)行的命令;一種高級、解釋性程序設計語言Shell的種類Bourneshell(sh)Cshell(csh)Kornshell(ksh)BourneAgainshell(bash)21精選2021版課件22§1.2Linux編程環(huán)境Shell簡介shell腳本文件示例執(zhí)行shell腳本輸入定向到shell腳本$/bin/bash腳本名以腳本名作為參數(shù)$·腳本名[參數(shù)]將shell腳本的權限設置為可執(zhí)行$chmoda+xexample$./exampleshell通配符?通配單個字符,如lstes?.txt*通配所有字符/字符串,如lstes*.*[set]通配方括號中任何一個單個字符,如lstes[tfx].*[^set]通配不包括號方括號內的任何單字符,如lstes[^tfx].*{}通配大括號內的任何字符串,如lstes{t,t1,t2}.*#!/bin/bashecho"youarewelcometousebash"echo"currentworkdriectoryis$PWD"echo"youare$LOGNAME"22精選2021版課件23§1.2Linux編程環(huán)境Linux的基本操作獲取幫助--helpifconfig--helpmanmanmanman3printfinfo?顯示命令,tab跳到下一個超鏈接位置,RET轉到該鏈接infoinfoinfo3printfman工具顯示非GNU工具的信息,info補充非GNU工具信息及顯示GNU工具信息。23精選2021版課件24§1.2Linux編程環(huán)境Linux的基本操作管道:格式:命令1|命令2功能:將命令1執(zhí)行的輸出作為命令2執(zhí)行的輸入舉例ls-l|grephellopsax|grepftpd|wc–l輸入、輸出重定向格式:<、>、>>文件描述符:0—標準輸入;1—標準輸出;2—標準錯誤輸出舉例ls–l>lsoutput.txtps>>lsoutput.txtkill–HUP1234>killout.txt2>killerr.txtkill–l1234>killouterr.txt2>&1cat<hello.txt>bye.txt24精選2021版課件§1.2Linux編程環(huán)境Linux的基本操作瀏覽及搜索文件系統(tǒng)pwd:顯示當前路徑cd:切換當前路徑cd../..cd或cd~回到用戶主目錄find:搜尋磁盤查找文件-name按名字查找。如:查找子目錄/usr中的spell命令:find/usr-namespell-print-atime按照日期或日期范圍查找。如:查找最近十天未使用的程序:find/usr/bin-typef-atime+10-print-mtime按修改時間查找,如:查找建立不到一天的新文件或者二十四小時內修改過的文件:find/usr/bin-typef-mtime-1-print查找文件并執(zhí)行命令。如:find~-name*.svn-execrm-f{}\;25精選2021版課件§1.2Linux編程環(huán)境Linux的基本操作瀏覽及搜索文件系統(tǒng)which:通過PATH環(huán)境變量到該路徑內查找文件whichpasswdwhereis:快速查找二進制文件、源代碼文件和手冊頁whereis[-bmsu]findlocate:在文件名數(shù)據(jù)庫(一般每天更新一次)中查找文件locate*.txtgrep:在文件內進行搜索grep[OPTIONS]PATTERN[FILE...]常用選項-r遞歸搜索子目錄-i忽略大小寫示例grepcouttest.c26精選2021版課件§1.2Linux編程環(huán)境Linux的基本操作瀏覽及搜索文件系統(tǒng)whatis:從程序使用手冊中抽出介紹whatisprintfapropos:查找手冊頁中的相關信息aproposfindman–K:同apropos瀏覽目錄及閱讀文件ls,ll,dir,vdircatcat–ntest.c輸出并顯示行號moremoretest.c空格下一頁,b上一頁
lesslesstest.c有許多類似VI的瀏覽命令head,tail查看頭或尾若干行head–n10test.ctail–ftest.c跟蹤文件的變化27精選2021版課件§1.2Linux編程環(huán)境Linux的基本操作運行進程后臺運行:&,如:vi&jobs:查看終端啟動了哪些程序Ctrl+Z暫停前臺程序bgJOBID切換到后臺運行fgJOBID切換到前臺運行查看進程:ps示例:psaxps–ef常用選項:-e:顯示所有進程。-f:全格式。-u:打印用戶格式,顯示用戶名和起始時間。瀏覽目錄及閱讀文件重要輸出字段–UID進程所有者的用戶名–PID進程號–STAT進程狀態(tài),常見的值有:R:可執(zhí)行的。S:睡眠狀態(tài)。Z:僵尸。I:空閑。28精選2021版課件§1.2Linux編程環(huán)境Linux的基本操作結束進程CTRL+C結束前臺進程kill命令:kill[-s信號]進程號kill-l[信號]命令中的參數(shù)說明:-s:指定需要送出的信號。既可以是信號名也可以對應數(shù)字。-l:顯示信號名稱列表睡眠進程sleep:使當前正在執(zhí)行的進程在規(guī)定的時間內處于睡眠sleep[time]睡眠time秒kill–sSIGCONTpid喚醒29精選2021版課件§1.2Linux編程環(huán)境Linux的基本操作tar(tapearchive):建立檔案文件命令參數(shù):c(創(chuàng)建)f(文件)v(verbose)w(提問)t(測試,查看)x(展開,解包)示例:tarc(v)fmydir.tarmydir創(chuàng)建mydir.tartarxfmydir.tarmydir/mydir2/file23從檔案文件中解出file23文件tarzxvfmyfile.tar.gz解壓并解包myfile.tar.gz文件30精選2021版課件§1.2Linux編程環(huán)境Linux的基本操作文件拷貝、移動、鏈接cp:拷貝cpfile1~/file2cp–rdir1dir2mv:移動或更名mvfile1file2mvfile1~/file2ln:創(chuàng)建鏈接文件ln源文件鏈接名ln–s源文件鏈接名硬鏈接與符號鏈接,硬鏈接只能存在于同一文件系統(tǒng),符號鏈接可以存在于不同文件系統(tǒng);硬鏈接:一份檔案兩個名稱,符號鏈接:一個特殊的檔案,其內容指向另一個檔案的位置。31精選2021版課件32§1.2Linux編程環(huán)境Linux的基本操作掛裝和卸載文件系統(tǒng)掛裝:mount[options]devicedirectorysudomount-oro/dev/hda3/mnt/disk_3sudomount–tiso9660/dev/cdrom/mnt/cdromsudomount–tiso9660–oloop/img/cd_1.iso/mnt/vcdromsudomount-a卸載:umount[-f]directoryumount/mnt/vcdromumount–l/mnt/disk_332精選2021版課件33§1.2Linux編程環(huán)境Linux的基本操作查看文件系統(tǒng)的使用情況df:顯示當前所有文件系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨物受理環(huán)節(jié)驗視登記制度
- 課程審議制度
- 礦山鴻蒙與數(shù)智技術在智能化礦山建設中的應用與實踐
- 2025年-紹興教師編招聘筆試及答案
- 2025年合肥省人事考試及答案
- 2025年鶴崗下半年事業(yè)編考試及答案
- 2025年湖南國開行筆試及答案
- 2025年酒店公開招聘筆試題庫及答案
- 2025年牡丹江人事考試及答案
- 落實全面合理檢查的質量管理與改進制度
- 心包填塞的表現(xiàn)與護理
- GB/T 3672.2-2025橡膠制品的公差第2部分:幾何公差
- 青霉素皮試及過敏試驗相關知識考核試題與答案
- 軍人崗位奉獻課件
- 鋼材銷售年終工作總結
- 腱鞘囊腫護理查房
- T/ZGZS 0302-2023再生工業(yè)鹽氯化鈉
- 2025年上海市公務員《行政職業(yè)能力測驗(A卷)》試題(網(wǎng)友回憶版)
- 城市更新與區(qū)域經(jīng)濟刺激-洞察闡釋
- GB/T 7573-2025紡織品水萃取液pH值的測定
- 境內大中小型企業(yè)貸款專項統(tǒng)計制度
評論
0/150
提交評論