Linux-和Shell_第1頁
Linux-和Shell_第2頁
Linux-和Shell_第3頁
Linux-和Shell_第4頁
Linux-和Shell_第5頁
已閱讀5頁,還剩118頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Linux操作系統(tǒng)與程序設(shè)計操作系統(tǒng)與程序設(shè)計軟件工程系 何海濤School of Computer Sicence SUSE內(nèi)容1. Linux OverView2. Shell programing 3. Process and Thread 4. Socket ProgramimgSchool of Computer Sicence SUSE序言:Linux與開源文化vLinux是一個自由的操作系統(tǒng)軟件,有著很多其他操作系統(tǒng)所沒有的優(yōu)點 Linux是自由軟件不用支付任何費用就可以獲得該軟件,以及該軟件的源代碼(與之對應(yīng),如Windows是商業(yè)軟件,需要購買) Linux更穩(wěn)定高效服務(wù)器:

2、724小時連續(xù)運行幾乎不會崩潰,老機器上也可運行(有輕量級版本)最新的ubuntu 14.04的要求:- 1GHz處理器、 1GB內(nèi)存、 8GB硬盤空間School of Computer Sicence SUSELinux的優(yōu)點 更可靠、安全Linux下沒有病毒,自然不需要殺毒軟件 更高效的磁盤文件管理(邏輯卷,碎片優(yōu)化等) 可移植性強嵌入式領(lǐng)域:路由器,交換機手機:Android 豐富的應(yīng)用 讓人更高效的學習 專業(yè)School of Computer Sicence SUSELinux的歷史v誕生于1991年10月vLinux操作系統(tǒng)的誕生、發(fā)展離不開5個因素: 自由軟件 hacker U

3、NIX操作系統(tǒng) MINIX操作系統(tǒng)、GNU計劃、POSIX標準 互聯(lián)網(wǎng)School of Computer Sicence SUSE自由軟件,黑客v 八十年代后,黑客社群在軟件工業(yè)商業(yè)化的強大壓力下日漸土崩瓦解,軟件被納入知識產(chǎn)權(quán)。v 理查德馬修斯托曼(Richard Matthew Stallman, RMS,生于1953年,被稱為“最后一個真正的黑客”)計劃開發(fā)一個與Unix兼容的免費的操作系統(tǒng)一個完整的操作系統(tǒng),需要有內(nèi)核(磁盤管理、內(nèi)存分配、調(diào)度等)和指令處理器、匯編程序、編譯器、解釋程序、調(diào)試器、文本編輯器、郵件軟件等等斯托曼開發(fā)出了Emacs及后來的GNU Emacs,GNU C

4、編譯器及GNU debug, 提出copyleft概念School of Computer Sicence SUSE開源文化、開源軟件v 簡單地說,開放源代碼的軟件就是“開源軟件”。那些源碼對大眾公布,而且其使用、修改和發(fā)布也不受限制的軟件。自由軟件可以一直被改善,而那些其他軟件則會喪失這種自由。 v 開放源代碼就表示,如果不喜歡該軟件的某些特性,用戶可以按照意愿修改該程序。 v 開源軟件不是沒有版權(quán),其許可證可能包含了一些限制BSD:公開BSD的源碼,可讓你自由獲得、復制、修改、分發(fā)BSD原創(chuàng)軟件作品(源碼);也可在BSD公開的源碼基礎(chǔ)上衍生你的軟件作品。衍生的軟件作品(其源碼)可以公開,也

5、可不公開。GPL許可:承認軟件作品作者的著作權(quán)(所有權(quán)),同時也要求作者必須允許任何人享有對其作品使用、復制、修改、衍生、發(fā)行的自由權(quán)利;作為一個限制條件, GPL還要求用戶不能改變軟件的授權(quán)協(xié)議School of Computer Sicence SUSELinux的誕生v關(guān)鍵人物:芬蘭,赫爾辛基,Linus Benedict TorvaldsvLinux象征物:企鵝 1991 年初,Linus 開始在一臺386sx 兼容微機上學習minix 操作系統(tǒng)。通過學習,他逐漸不能滿足于minix 系統(tǒng)的現(xiàn)有性能,并開始醞釀開發(fā)一個新的免費操作系統(tǒng)。 Linux在計劃的早期有一些Minix黑客提供了

6、協(xié)助,而今天全球無數(shù)程序員正在為該計劃無償提供幫助。 School of Computer Sicence SUSELinux操作系統(tǒng)v技術(shù)上說Linux是一個內(nèi)核 “內(nèi)核”指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux。 最核心的東西:內(nèi)核,kernelSchool of Computer Sicence SUSELinux發(fā)行版v發(fā)行版為許多不同的目的而制作, 包括對不同計算機結(jié)構(gòu)的支持, 對一個具體區(qū)域或語言的本地化,實時應(yīng)用,和嵌入式系統(tǒng),甚至許多版

7、本故意地只加入免費軟件。已經(jīng)有超過三百個發(fā)行版被積極的開發(fā),最普遍被使用的發(fā)行版有大約十二個 Red Hat, Fedora, Ubuntu , Debian, Mandrake,SuSE,Gentoo, centos .School of Computer Sicence SUSE各種發(fā)行版的特點v Redhat:在國內(nèi)最知名的Linux,資料非常多v Ubuntu:界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統(tǒng)的Linux發(fā)行版本Ubuntu本身有很很多基于各種桌面的分支,如快速的XUbuntu,基于KDE的KUbuntu,面向教育的EduUbuntu,中國的發(fā)行版麒麟:

8、ubuntu Kylinv Gentoo:Linux世界最年輕的發(fā)行版本,如果你需要一個桌面系統(tǒng),而且還想非常靈活的定制自己的Linux系統(tǒng),想讓自己的機器跑得更歡,不介意在Linux系統(tǒng)安裝方面浪費一點時間,那么你的唯一選擇就是Gentoov 如果你需要的是一個服務(wù)器系統(tǒng),而且你已經(jīng)非常厭煩各種Linux的配置,只是想要一個比較穩(wěn)定的服務(wù)器系統(tǒng)而已,那么你最好的選擇就是CentOS了v 如果你需要的是一個堅如磐石的非常穩(wěn)定的服務(wù)器系統(tǒng),那么你的唯一選擇就是FreeBSDSchool of Computer Sicence SUSEUbuntu 14.04vUbuntu:每年發(fā)布2次版本,14

9、.04表示2014年4月的版本,是長期支持的,默認版本的桌面是Gnomev新聞: Ubuntu手機已經(jīng)發(fā)布,PC系統(tǒng)移植到手機上School of Computer Sicence SUSELinux的安裝v安裝前需要了解的一些常識: 操作系統(tǒng)是管理計算機的,具有最高權(quán)限,在系統(tǒng)啟動時,機器自檢后根據(jù)BIOS設(shè)定的啟動順序,找到啟動盤,從啟動盤(U盤,光盤,網(wǎng)絡(luò),硬盤)載入操作系統(tǒng) 一臺計算機上可以安裝多個操作系統(tǒng)(XP,WIN7,WIN8,LINUX等),但只能有一個OS在運行 操作系統(tǒng)可以裝在不同的硬盤上,也可以裝在同一塊硬盤上。在同一塊硬盤上的OS需要裝在不同的分區(qū)School of C

10、omputer Sicence SUSE系統(tǒng)安裝的前期知識-引導程序v 計算機啟動時,硬盤上有個程序負責“引導”操作系統(tǒng)啟動,稱為“引導程序”v 引導程序有很多種,如果裝有多個操作系統(tǒng),那么需要引導程序具備“能根據(jù)用戶選擇啟動不同操作系統(tǒng)”的功能,現(xiàn)在較流行的多操作系統(tǒng)的引導程序是grub,它即能啟動Linux,也能啟動WindowsSchool of Computer Sicence SUSE系統(tǒng)安裝前期知識-分區(qū)格式v工廠生產(chǎn)的硬盤必須經(jīng)過低級格式化、分區(qū)和高級格式化(通常簡稱為格式化format)三個處理步驟后,電腦才能利用它們存儲數(shù)據(jù)v分區(qū)格式:雖然數(shù)據(jù)本質(zhì)都是01二進制,硬盤用磁性材

11、料存儲,但數(shù)據(jù)以什么方式組織處理,不同操作系統(tǒng)有不同的規(guī)定,常見的分區(qū)格式有windows下用的FAT32,NTFS,和Linux下使用的ext文件系統(tǒng)vLinux和Windows使用的分區(qū)格式(文件系統(tǒng))不一樣,Linux不能安裝在FAT32或NTFS系統(tǒng)上,Windows也不能運行在ext系統(tǒng)上。(Windows下的exe等可執(zhí)行文件,不能在Linux里面運行,包括病毒,即:windows的病毒在linux下沒辦法傳染運行的)v數(shù)據(jù)文件和分區(qū)無關(guān),如文檔,音樂電影文件等,在Linux系統(tǒng)中一樣可以正常打開編輯School of Computer Sicence SUSE安裝Linux系統(tǒng)-

12、1v材料準備 U盤(2G及以上) ubuntu的映像文件(ubuntu-14.04-desktop-i386.iso或64位版本ubuntu-14.04-desktop-amd64.iso)下載地址:http:/ 官方http:/ U盤啟動盤制作工具Universal USB Installer 下載地址 http:/ of Computer Sicence SUSE安裝Linux系統(tǒng)-2v步驟:運行Universal USB Installer 制作ubuntu啟動盤 做好的U盤可以直接啟動并運行(類似于live cd),也可以安裝軟件使用很簡單,如右圖School of Computer

13、Sicence SUSE安裝Linux系統(tǒng)-3v 安裝雙系統(tǒng)(和Windows并存) 在Windows下準備一個空白分區(qū)(8G以上,一般20G以上) 用分區(qū)工具劃分一個新分區(qū)出來,或者刪除一個分區(qū)(不需要格式化) 用U盤啟動系統(tǒng) 安裝Linux Linux會自動檢測到空白分區(qū),最簡單方式可以選擇讓Linux直接裝到這個空白分區(qū)中,對原來系統(tǒng)沒有影響 安裝完成后,會自動檢測到硬盤上的windows系統(tǒng),并自動生成啟動菜單,電腦啟動時可以選擇進入的系統(tǒng)進入Linux系統(tǒng)后,可以訪問修改Windows里面的文件,但在windows里面不能訪問到Linux系統(tǒng)School of Computer Si

14、cence SUSE安裝Linux系統(tǒng)-4v 虛擬機 通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng) 通過虛擬機軟件,你可以在一臺物理計算機上模擬出另一臺或多臺虛擬的計算機,這些虛擬機完全就像真正的計算機那樣進行工作 可以使用虛擬機來進行一些調(diào)試工作,比如網(wǎng)絡(luò)軟件,底層軟件,或進行一些危險工作,如病毒木馬測試等,當然也可以使用虛擬機體驗Linuxv 常用的虛擬機軟件 推薦 virtual Box:小巧,快速,開源,免費,其他:vmware,vpc等School of Computer Sicence SUSE虛擬機virtual box安裝Linux系統(tǒng)v虛擬機

15、是在OS中的一個應(yīng)用程序,性能不如真實的機器,在虛擬機中可以安裝輕量級的Linux,如xubuntu等v說明: 安裝完成后,再安裝virtual box的增強功能,可以在虛擬系統(tǒng)和host系統(tǒng)中無縫切換 虛擬機技巧:使用休眠功能,啟動更快;使用備份功能,隨時可以“系統(tǒng)還原”School of Computer Sicence SUSE課外作業(yè)v 安裝一款Linux操作系統(tǒng) 使用虛擬機或者安裝為雙系統(tǒng) 裝上常用的軟件 c或c+的開發(fā)環(huán)境:codeblocks 辦公軟件:wps office 要求: 每個人都要完成,檢查標準:安裝時的用戶名為自己的名字或昵稱 記錄安裝問題,提交使用報告 提示:怎樣

16、安裝軟件?School of Computer Sicence SUSEUbuntu的使用v安裝軟件 ubuntu的安裝文件包是deb格式,下載到磁盤,直接雙擊既可安裝 直接在線安裝:如果知道軟件名,如codeblocks,且有網(wǎng)絡(luò),可以用 sudo apt-get install codeblocks 命令安裝,第一次使用sudo,需要輸入管理員密碼v其他:百度查閱或論壇找答案School of Computer Sicence SUSEShell 程序設(shè)計v Shell是什么 Shell是一種具備特殊功能的程序, 它是介于使用者和 UNIX/Linux 操作系統(tǒng)之核心程序(kernel)間

17、的一個接口 用戶向shell提出請求(鍵入命令),shell解釋并將請求傳給內(nèi)核shell:Bourne shell (sh)、C shell (csh)、Bourne Again Shell(bash)等School of Computer Sicence SUSE為什么使用 shell 編程v對于任何想適當精通一些系統(tǒng)管理知識的人來說,掌握 shell 腳本知識都是最基本的vShell語法簡單,使用簡單,調(diào)試簡單 可以寫個簡單的程序來管理系統(tǒng) Linux啟動過程本身就是執(zhí)行一些Shell程序,學習Shell可以了解/控制linux的運行School of Computer Sicence

18、SUSE不要使用 Shell 腳本.v 資源密集型的任務(wù),尤其在需要考慮效率時v 需要處理大任務(wù)的數(shù)學操作,尤其是浮點運算,精確運算,或者復雜的算術(shù)運算 (這種情況一般使用 C+或 FORTRAN 來處理)v 有跨平臺移植需求(一般使用 C 或 Java)v 復雜的應(yīng)用,在必須使用結(jié)構(gòu)化編程的時候(需要變量的類型檢查,函數(shù)原型,等等)v 對于影響系統(tǒng)全局性的關(guān)鍵任務(wù)應(yīng)用v 需要數(shù)據(jù)結(jié)構(gòu)的支持,比如鏈表或數(shù)等數(shù)據(jù)結(jié)構(gòu)v 需要產(chǎn)生或操作圖形化界面 GUIv 需要直接操作系統(tǒng)硬件v 需要 I/O 或 socket 接口v .高級Bash腳本編程指南School of Computer Sicence

19、 SUSE使用ShellvLinux終端 CTRL+ALT+F1:打開終端 CTRL+ALT+F7:圖形界面 模擬終端: CTRL+ALT+Tv輸入命令:操作計算機School of Computer Sicence SUSEShell 命令v格式: 命令名/可執(zhí)行文件名 參數(shù)1 參數(shù)2 . ls:list,顯示目錄和文件 cd: change directory:改變當前路徑 touch:建立一個新的空文件 cat:顯示文件內(nèi)容 rm:刪除文件 copy:復制文件 reboot:重啟,poweroff :關(guān)機 find 查找 df,top,mem,tar.School of Computer

20、 Sicence SUSE一、目錄文件操作命令v ls: 顯示文件的信息 默認顯示當前目錄 鍵入命令觀察 ls /homev 當前目錄 用戶當前“所在”的目錄,如果不說明,操作都是針對當前目錄 通常,當前目錄在命令提示符$前有顯示 當前目錄用 . 表示,如 ls . 和 ls是一樣 改變當前目錄: cd 命令 上級目錄 . ,cd . :到上級目錄School of Computer Sicence SUSElinux目錄結(jié)構(gòu)home: 家目錄,是所有用戶的主目錄,每個用戶有一個自己的家目錄(用表示),放在home下目錄和文件用”/“分隔開,/寫在最前面,表示根目錄(最頂層) ls /home

21、/ ls /usr/share/game/dev: 存放設(shè)備文件Linux下:一切皆文件/etc:系統(tǒng)配置/proc 存放存儲進程和系統(tǒng)信息 /usr:用戶的很多應(yīng)用程序和文件都存放在這個目錄下School of Computer Sicence SUSE絕對路徑和相對路徑/homebinusrhhtlinuxCursev 一個文件在“什么地方”,需要用“路徑”Path表示。 文件總是放在某個目錄下的,樹形目錄 文件file2在什么地方?linuxCursedir1dir2file1dir11file2file1/home/hht/linuxCurse/dir2/file2文件file1在什么

22、地方無歧義的表示:/home/hht/linuxCurse/dir1/file1絕對路徑:從絕對路徑:從 / 開始的路徑開始的路徑School of Computer Sicence SUSE絕對路徑和相對路徑v 對文件操作時,如果每次都寫完整的絕對路徑,是比較麻煩的如:把dir1下的file1拷貝到dir11下: cp /home/hht/linuxCurse/dir1/file1 /home/hht/linuxCurse/dir11/v 利用“當前目錄”簡化:假設(shè)當前在dir1目錄下(或用cd到dir1下): cp ./file1 ./dir11/或省略.: cp file1 dir11/

23、homebinusrhhtlinuxCurselinuxCursedir1dir2file1dir11file2file1若命令中省略路若命令中省略路徑,系統(tǒng)默認為徑,系統(tǒng)默認為是針對當前路徑是針對當前路徑School of Computer Sicence SUSE練習v 在用戶主目錄下建立如上的目錄結(jié)構(gòu) cd 回車 (或cd 回車) mkdir linuxCurse mkdir linuxCurse/dir1 mkdir linuxCurse/dir11 mkdir linuxCurse/dir2 touch linuxCurse/dir1/file1v mkdir: 建立目錄v touc

24、h:改變時間戳(建立空文件)linuxCursedir1dir2file1dir11file2file1tip: Linux命令行可以自動補全方法:使用TAB鍵,如果沒有重復,自動補全,有重復,可以連續(xù)按2下Tab鍵來提示若想簡便,可以用 cd linuxCurse 后再進行操作School of Computer Sicence SUSE目錄文件練習v 在linuxCurse下創(chuàng)建目錄dir3v 把file2拷貝到dir3中 創(chuàng)建目錄命令: mkdir 空格 要創(chuàng)建的目錄 拷貝文件命令: cp 空格 要拷貝的文件 空格 拷貝到什么地方linuxCursedir1dir2file1dir11f

25、ile2file1dir3提示:在寫路徑時,注意用/分隔命令和命令的參數(shù)之間用空格分隔School of Computer Sicence SUSELinux命令的語法結(jié)構(gòu)v $ 命令名 選項 參數(shù)列表 $:命令提示符(可以根據(jù)需要改變) 參數(shù)列表:表示要操作的對象列表,對象可以是文件、目錄、用戶和用戶組等,對象的性質(zhì)由命令決定 參數(shù)列表可以有,可以沒有,根據(jù)命令決定,有些命令必須有,如cp,有些可以沒有,如 ls不帶參數(shù)表示顯示當前目錄文件 選項:命令的特殊功能,通常用短橫線 - 表示,如:ls 有-l選項,表示以列表方式顯示,-a選項,表示顯示所有文件, 選項可以多個一起: ls -l -

26、a /home 看幫助: man 命令School of Computer Sicence SUSE小組討論:閱讀man手冊v翻譯cp,ls,mkdir,rm,cat手冊NAME cp - copy files and directoriesSYNOPSIS cp OPTION. -T SOURCE DEST cp OPTION. SOURCE. DIRECTORY cp OPTION. -t DIRECTORY SOURCE.DESCRIPTION Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. Mandatory argum

27、ents to long options are mandatory for short options too. -a, -archive same as -dR -preserve=all -attributes-only dont copy the file data, just the attributes -backup=CONTROL make a backup of each existing destination file -b like -backup but does not accept an argumentSchool of Computer Sicence SUS

28、E設(shè)置路徑v 在Windows中安裝Java虛擬機時,需要設(shè)置路徑 path=c:windowssystem32;d:jdk7;.v Linux下同樣有路徑PATH顯示路徑: echo $PATHv 路徑的作用命令(程序、可執(zhí)行文件)在當前目錄下找不到的時候,系統(tǒng)會到PATH指定的路徑中去尋找,這樣,可以避免每次運行某個程序要輸入程序的絕對路徑v Linux的路徑在文件 /etc/environment 中設(shè)置School of Computer Sicence SUSE目錄操作命令 cdv cd 作用:改變當前目錄(命令提示符前顯示) cd 不帶參數(shù),回到用戶主目錄 cd / 到根目錄 cd

29、 . 到上一級目錄 cd ./. cd soft/tool 改變當前目錄為當前目錄下的 soft/tool 目錄 cd /soft/tool 改變當前目錄為根目錄下的 soft/tool 目錄School of Computer Sicence SUSE創(chuàng)建刪除目錄vmkdir (make directory) 作用: 在指定的位置創(chuàng)建目錄 mkdir test 當前目錄下建立新目錄testmkdir /test :根 mkdir -p demo/test 建立系列目錄如果要創(chuàng)建的第一級目錄不存在,需要加-p參數(shù)vrm :刪除目錄或文件 remove rm r 目錄名 刪除目錄,需要加 r 參

30、數(shù)(recursion ), 通常用 rm -rf .School of Computer Sicence SUSE文件拷貝/改名命令v cp :拷貝文件或目錄,copy cp 選項 源文件 目標文件 cp a.txt . 把當前目錄下的文件拷到上級 cp a.txt ./m.txt 拷貝到上級并改名為m.txt cp -r demo . 把整個demo目錄拷貝到上級 cp -r demo ./pd 拷貝并改名為pdv思考: cp命令后面給出的是文件名或目錄名時,系統(tǒng)處理有何不同?School of Computer Sicence SUSE思考練習v假設(shè)當前目錄在linuxCurse下,考慮

31、如下命令 cp dir1 aaa cp dir1 dir2 cp -r dir1 aaa cp dir1/* dir2linuxCursedir1dir2file1dir11file2file1School of Computer Sicence SUSE移動/改名命令vmv 移動文件(剪切)move mv a.txt b.txt 改名(因為在同一目錄下)cp也可以改名,但是復制一份并改名 mv a.txt /home/hhtSchool of Computer Sicence SUSE顯示文件內(nèi)容 cat cat 文件名 cat /etc/fstab more 顯示文件,如果大于1頁,則暫停

32、,等待用戶敲鍵盤后繼續(xù)顯示 less 分頁顯示,用戶可以PgDn和PgUp翻頁 tail/head 數(shù)字 文件名顯示文件尾部/頭部 若干行不帶數(shù)字,默認顯示10行School of Computer Sicence SUSE查找文件findv格式: find 指定查找目錄 查找規(guī)則 查找完后執(zhí)行的action find . -name a*.txt在當前目錄及子目錄下查找所有以a開頭,txt為擴展名的文件 在/logs目錄中查找更改時間在5日以前的文件并刪除它們: find /logs -mtime +5 -exec rm ;School of Computer Sicence SUSE文本查

33、找命令grepvGlobal Regular Expression Print:是強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹 配的行打印出來v用法: grep 要查找的內(nèi)容 在哪些文件中找 grep test *.html :在當前目錄下所有的html中尋找含有test字符串的行 grep a-z5 *.html *.txt : 在html和txt文件中找包含5個小寫字母組成的字符串School of Computer Sicence SUSE解壓縮命令tarvLinux下面的壓縮文件通常是tar,bz2等,對于tar和gz文件,可以使用 tar zxvf xxxxx.tar 解壓

34、tar包到當前目錄v創(chuàng)建壓縮包: tar czvf 壓縮包名.tar.gz 需要壓縮打包的目錄v對于bz2文件,通常使用 tar jxvf xxxxx.bz2vunrar,unzip命令解壓對應(yīng)壓縮包School of Computer Sicence SUSE強大的命令行示例v 磁盤備份和恢復 dd if=/dev/sda | gzip -9 ./sda.img gzip -dc ./sda.img | dd of=/dev/sdav 命令行支持多個命令連接 統(tǒng)計用戶目錄下的的文件大小,按升序排列產(chǎn)生個報表 du -s * | sort -nr $HOME/space_report.txtv

35、 把桌面操作錄制成一段視頻 ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpgSchool of Computer Sicence SUSE安裝軟件v安裝包一般擴展名是deb,使用 sudo dpkg i xxxxx.deb sudo:超級用戶權(quán)限,需求輸入超級用戶密碼v源代碼包的安裝 解壓包,編譯(make),安裝(make install)v聯(lián)網(wǎng)時使用: sudo apt-get install xxxxx 或者ubuntu的軟件中心,自動下載并安裝軟件School of Computer Sicence SUSE掛載磁盤

36、v 一般系統(tǒng)自動掛載v 使用命令 mount t vfat /dev/sdb1 /mnt/udisk u盤在電腦上被識別出來為 /dev/sdb1設(shè)備,其分區(qū)格式為fat格式,把u盤掛載到/mnt/udisk目錄下(這個目錄是實現(xiàn)已經(jīng)存在的任意目錄)v 現(xiàn)在,u盤對應(yīng)的就是udisk目錄,對udisk目錄的讀寫就是對u盤的讀寫v 卸載:umount /mnt/udiskv 可以掛載光盤(虛擬光驅(qū)?) mount -t loop xxx.iso /mydiskSchool of Computer Sicence SUSE課堂練習v在用戶主目錄下建立exer目錄,并在exer目錄下建立目錄se1和

37、se2v在se1下建立2個空文件aa,bbv把se1下的文件bb拷貝到se2中v把se1下的aa改名為testv把se1整個目錄拷貝到se2下面且改名為dd tips:使用到的命令 mkdir touch cp mvSchool of Computer Sicence SUSE其他一些常用命令v lsblk:顯示塊設(shè)備(可顯示U盤等設(shè)備名)v dd:把指定的輸入文件拷貝到指定的輸出文件中,并且在拷貝的過程中可以進行格式轉(zhuǎn)換,制作啟動盤 dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; syncv uname:輸出機器,系統(tǒng)和

38、內(nèi)核的詳細信息v cal:日歷v date:顯示日期時間v cat:顯示多個文件內(nèi)容,如 cat *.txtv time:統(tǒng)計程序運行時間,如 time find . -name aa.txtSchool of Computer Sicence SUSEShell腳本編程v腳本程序:把Linux命令和一些控制語句組織在一起,自動執(zhí)行v腳本語言一般不適用于大型的項目、計算復雜的工程或有高級需求的應(yīng)用軟件,它適用于系統(tǒng)管理、文本處理等方面完成特定功能的常用的小工具或小程序 如:清理系統(tǒng)的垃圾文件、臨時文件,可以寫一個小程序來完成:查找bak文件,temp文件,過期內(nèi)核等,然后將它們刪除。這個程序用

39、C語言或java也可以完成,但復雜,用系統(tǒng)的find,rm 命令就可以完成School of Computer Sicence SUSE一個簡單的腳本程序示例v備份并打包系統(tǒng)配置文件 系統(tǒng)的配置文件,如 /etc下的fstab,environment文件,/etc/default下的grub文件,主目錄下的.bashrc文件等,把這些文件拷貝到一個目錄下,并打包 cd mkdir bak cp /etc/fstab . cp /etc/environment . cp /etc/defautl/grub . cp /.bashrc . cd . tar cvf mybak.tar bakv建立

40、腳本文件School of Computer Sicence SUSE腳本v腳本程序是純文本文件,可以用文本編輯軟件編寫:vim,gedit等,其擴展名通常為shv腳本程序的第一行須指明所用到的命令解析程序,通常是: #!/bin/bash 表示/bin/bash解析腳本里的命令v腳本編寫好后,若要運行,需要給腳本添加“可執(zhí)行”權(quán)限 chmod +x xxx.shv運行腳本: ./腳本名School of Computer Sicence SUSE腳本程序注意事項v普通文本文件沒有執(zhí)行權(quán)限,需添加 chmod +x 只需要添加一次,不需要每次執(zhí)行都添加v執(zhí)行方式 ./腳本名 表示: 運行當前目

41、錄下的可執(zhí)行文件,若不加./,則系統(tǒng)會在PATH路徑中搜尋,若PATH中有當前目錄 .,執(zhí)行時可以不加 ./School of Computer Sicence SUSE編寫第一個腳本v 變量的使用:類似于javascript,不需要定義,直接使用v 輸入語句:read , 如 read a 從鍵盤輸入,賦值給變量a,原則上都是字符串變量v 輸出語句: echo,如 echo “hello” echo $a 輸出變量a的值,引用變量需要加$,否則,視為字符串 echo a變量是$a v #開始是注釋語句(除了第一行#!/bin/bash) School of Computer Sicence

42、SUSE練習v編寫helloWord腳本 要求:運行腳本,輸出helloworldv編寫腳本 要求:提示用戶輸入姓名,然后對用戶問好,如顯示:你好,XXSchool of Computer Sicence SUSELinux的用戶和權(quán)限vLinux是多用戶操作系統(tǒng),可以允許多個用戶同時登錄到系統(tǒng)進行操作 每個文件、目錄和進程,都歸屬于某一個用戶,沒有用戶許可其它普通用戶是無法操作的,但對root除外 最高權(quán)限用戶root(系統(tǒng)管理員),可以添加刪除用戶 管理員如何管理用戶?文件的權(quán)限:讀,寫,執(zhí)行;文件夾:(讀,寫,訪問)每個文件都會有一個特定的擁有者(一般是創(chuàng)建它的用戶)和所屬用戶組,這個屬

43、于它的固有屬性(在linux中為方便管理用戶,提出“組”的概念,一個組可以有多個用戶,一個用戶可以屬于多個組)School of Computer Sicence SUSE文件的權(quán)限v文件的權(quán)限分為三種:文件所有者(屬主)對文件的操作權(quán)限,文件所屬的組的用戶對文件的權(quán)限,其他用戶的操作權(quán)限 如:用戶test創(chuàng)建的文件a,那么對文件a的操作權(quán)限可以分為三種:test自己,在test組的用戶(可以把想要的用戶加入test組),其他用戶注:每個用戶都有一個用戶組,用戶開始屬于和他同名的用戶組,這個用戶組在創(chuàng)建用戶時同時創(chuàng)建,即:創(chuàng)建test用戶時,系統(tǒng)自動創(chuàng)建了一個test組,用戶屬于test組,可

44、以把用戶加入其它組也可以刪除School of Computer Sicence SUSE文件權(quán)限的表示方法三組權(quán)限:屬主,組,其他用戶r:讀,w:修改,刪除 x:excute 執(zhí)行,通常是不同顏色X:對于目錄,是指是否可以訪問School of Computer Sicence SUSE文件權(quán)限的表示v 文件必然是某個用戶創(chuàng)建的,而用戶又是屬于某個組的,所以,某個用戶對于某個文件,有不同的權(quán)限 對文件的權(quán)限分為三類“人”:文件的屬主,即文件的擁有者(owner),和文件擁有者同組的用戶(屬主的朋友),其他人(和文件屬主沒關(guān)系的) 以上三類用戶,每組對文件的操作又具體分為“可讀,可寫,可執(zhí)行”

45、(R,W,X) 所以,每類用戶的權(quán)限用三個字母 rwx 表示(有字母表示具有,沒有相應(yīng)權(quán)限用-),文件一共是9個字母表示權(quán)限 如 a.out rwx rwx r-School of Computer Sicence SUSE權(quán)限的數(shù)字表示v 我們把文件權(quán)限的“位置”固定下來,即9位按照:文件主rwx,同組用戶rwx,其他用戶rwx這樣表示,一共9位v 每一位用0或1表示不具備和具備權(quán)限,如: 110 101 100 那么,每組的權(quán)限用三位2進制可表示。三位2進制可以用更簡潔的八進制數(shù)表示:07, 即,每個八進制數(shù)代表了一組權(quán)限,那么三組權(quán)限用三個八進制數(shù)即可表示,如 a.out rwx rw-

46、 r- (111 110 100 ) 可表示為 a.out 764School of Computer Sicence SUSEchmod改變一個或多個文件的存取模式v 只有文件屬主文件屬主或root才能使用該功能來改變文件存取模式 改變文件的屬組,組權(quán)限,其他用戶權(quán)限(+號增加, - 去掉) $ chmod u+x file 給file的屬主增加執(zhí)行權(quán)限( u:表示屬主,g表示同組用戶,o表示其他) $ chmod 751 file 給file的屬主分配讀、寫、執(zhí)行(7)的權(quán)限,給file的所在組分配讀、執(zhí)行(5)的權(quán)限,給其他用戶分配執(zhí)行(1)的權(quán)限 $ chmod u=rwx,g=rx,

47、o=x file 上例的另一種形式 $ chmod =r file 為所有用戶分配讀權(quán)限 $ chmod 444 file 同上例 $ chmod a-wx,a+r file 同上例 $ chmod -R u+r directory 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權(quán)限School of Computer Sicence SUSE權(quán)限練習v新建一個用戶 sudo useradd testv為test分配密碼 sudo passwd testv新打開一個終端,用test登錄(su:切換用戶) su testv測試test用戶對文件和目錄的權(quán)限 在另一個終端改變一些文

48、件和目錄的權(quán)限School of Computer Sicence SUSE用戶組的有關(guān)命令v增加一個新的用戶組使用groupadd命令(刪除一個已有的用戶組,使用groupdel命令) groupadd mygv將一個用戶添加到用戶組中,千萬不能直接用: usermod -G groupA 這樣做會使你離開其他用戶組,僅僅做為 這個用戶組 groupA 的成員 應(yīng)該用 加上 -a 選項: usermod -a -G groupA user (-a 代表 append)v查看用戶所屬的組使用命令:$ groups userSchool of Computer Sicence SUSEumask

49、v當我們登錄系統(tǒng)之后,創(chuàng)建一個文件總是有一個默認權(quán)限的,那么這個權(quán)限是怎么來的呢?是否可以改變默認權(quán)限呢?(比如我希望我創(chuàng)建的文件默認別人都不能訪問)vumask設(shè)置了用戶創(chuàng)建文件的默認 權(quán)限,使用方式是:umask nnn ,一般系統(tǒng)默認umask是022 注意:umask設(shè)定的是權(quán)限“補碼”,比如022,補碼是755,表示創(chuàng)建文件的缺省權(quán)限是 755 , rwx r-x r-x,但系統(tǒng)不允許在創(chuàng)建一個文本文件時就賦予它執(zhí)行權(quán)限(必須以后用chmod改變),所以會去掉x屬性,即umask 為022,創(chuàng)建文件時默認的權(quán)限是 644,目錄則可以是x,所以目錄為 755School of Comp

50、uter Sicence SUSEsudovsudo 執(zhí)行命令的流程是當前用戶切換到root(或其它指定切換到的用戶),然后以root(或其它指定的切換到的用戶)身份執(zhí)行命令,執(zhí)行完成后,直接退回到當前用戶 當我們以普通權(quán)限的用戶登錄系統(tǒng)時,有些系統(tǒng)配置及系統(tǒng)管理必須通過超級權(quán)限用戶完成 如果要退出當前用戶,再以root用戶登錄,則很麻煩 su命令就是切換用戶的工具,可以用su來切換到root下進行添加用戶的工作,但su命令切換后并不安全。用sudo更合適(可以限定用戶使用sudo完成哪些命令/etc/sudoers) Ubuntu 中的 root 帳號默認是被禁用了的!School of C

51、omputer Sicence SUSE課外閱讀-Linux權(quán)限v百度 :linux 用戶 權(quán)限vLinux入門普及知識: Linux就是這個范兒(csdn博客)http:/ 鳥哥的Linux私房菜v權(quán)限位:SUID:程序在執(zhí)行過程中擁有文件擁有者的權(quán)限School of Computer Sicence SUSE命令的后臺執(zhí)行v& 將指令丟到后臺中去執(zhí)行(在命令后加&)vctrl+z 將前臺任務(wù)丟到后臺中暫停vjobs 查看后臺的工作狀態(tài)vfg %jobnumber 將后臺的任務(wù)拿到前臺來處理vbg %jobnumber 將任務(wù)放到后臺中去處理vctrl+c 中止命令(kil

52、l )School of Computer Sicence SUSEI/O重定向v 預(yù)備知識: 執(zhí)行一個命令(腳本),通常需要2個設(shè)備:輸入,輸出(一般是鍵盤,顯示器) Linux下“一切皆文件”,用stdin表示標準輸入設(shè)備(鍵盤),stdout表示標準輸出設(shè)備(顯示器) 執(zhí)行命令過程可能會有錯,系統(tǒng)的錯誤信息會發(fā)送到錯誤輸出設(shè)備,stderr,默認是顯示器v 根據(jù)需要,我們可以改變命令的輸入和輸出設(shè)備(通常是文件),稱為“重定向”v 通過重定向,我們可以分析命令的執(zhí)行結(jié)果(執(zhí)行的結(jié)果存入到文件中),把準備好的一些數(shù)據(jù)存放在文件中作為命令的輸入School of Computer Sicen

53、ce SUSE輸出重定向-1v 實例: ls result.txt 用符號,把ls命令的結(jié)果輸出到result.txt文件中,而不是顯示器上 stdout 和 stderr,文件描述符的數(shù)字分別對應(yīng)1和2,所以,可以使用如下方式重定向: ls 1result.txt 等同于 ls result.txt ls 2result.txt 把命令執(zhí)行中的錯誤信息輸出到result.txtv 問題:假設(shè)目錄下沒有asdf文件和目錄ls asdf result.txt 和 ls asdf 2result.txt 執(zhí)行的結(jié)果一樣么?School of Computer Sicence SUSE輸出重定向-2

54、v 屏蔽錯誤輸出:錯誤信息重定向到“黑洞”(空設(shè)備)/dev/null find . -name aa 2/dev/nullv 追加模式 ls -l file1 如果file1不存在,則建立一個;如果存在,則覆蓋其原來的內(nèi)容(原來內(nèi)容不存在了) 若想保留其原內(nèi)容,可以用附加定向符 ls l file1 命令執(zhí)行的結(jié)果放在file1的末尾(file1原來的內(nèi)容不受影響)v 用echo命令建立一個文件 要建一個文本文件,內(nèi)容是hello,怎么做?School of Computer Sicence SUSE腳本練習v寫一個腳本建立文件目錄結(jié)構(gòu),執(zhí)行完畢后提示成功,把執(zhí)行中錯誤的信息屏蔽 名字為di

55、r的是目錄linuxCursedir1dir2file1dir11file2file1School of Computer Sicence SUSE輸出重定向-練習v假設(shè)在你的主目錄下的music和media兩個目錄下,你分別存放了很多從網(wǎng)上下載的mp3歌曲,現(xiàn)在你想把你這些歌曲名打印出來,需要怎么做?tips:1. 要打印,可以把這些歌曲名存放在一個文件里面2. 用ls命令,可以顯示指定目錄下的mp3文件(-l和 *通配符)3. 利用重定向,可以把歌曲名輸出到文件中4. 因為是2個目錄,可以利用附加重定向5. 進一步,可以把上面的命令寫一個shell腳本來完成School of Comput

56、er Sicence SUSE輸入重定向v 和輸出重定向類似,當命令需要的參數(shù)可以不從鍵盤輸入,而改為從“文件”中輸入v 實現(xiàn)方式: 符號v 如: read A 從鍵盤輸入的值賦給變量A read A newfileSchool of Computer Sicence SUSEShell 控制語句v條件語句:if elsev分支語句: casev循環(huán)語句: for do whileSchool of Computer Sicence SUSE判斷語句v注意:Shell是解釋程序,對書寫格式要求嚴格 if 塊不是用表示,而是用 if fi,必須成對出現(xiàn) 表示條件, 的左右兩邊需要有空格 then

57、和else屬于單獨的語句,要換行;如果要寫在一行上,需要用;隔開,如: if . ; then if 條件表達式 then 命令序列1 else 命令序列2 fiSchool of Computer Sicence SUSE條件的寫法:數(shù)字操作v比較2個數(shù)的大小,不能用 = 等符號v if $a -gt $b ; then 如果變量a的值大于變量b的值,則. -gt: greater than :大于,條件為真 -ge:greater and equal:大于等于,條件為真 同樣,有 eq,ne,lt,leSchool of Computer Sicence SUSE字符串的比較v -z s1

58、 字符串s1長度為0(zero),條件為真v -n s1 : 長度不為0,為真v s1 = s2 :測試s1和s2是否相等 注意: = 兩邊必須有空格v類似的有 s1 != s2 s1 s2 School of Computer Sicence SUSE字符串操作:如 test=I love chinav $#string $string的長度 echo $#test 結(jié)果為12v $string:position 在$string中, 從位置$position開始提取子串 echo $test:5 得到 e chinav $string:position:length 在$string中, 從位置$position開始提取長度為$length的子串v $string#substring 從變量$string的開頭, 刪除最短匹配$substring的子串 v $string%substring

溫馨提示

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

評論

0/150

提交評論