Linux系統管理與應用 課件 第13-15章 文件傳輸服務器、網絡服務器簡介、LINUX編程概述_第1頁
Linux系統管理與應用 課件 第13-15章 文件傳輸服務器、網絡服務器簡介、LINUX編程概述_第2頁
Linux系統管理與應用 課件 第13-15章 文件傳輸服務器、網絡服務器簡介、LINUX編程概述_第3頁
Linux系統管理與應用 課件 第13-15章 文件傳輸服務器、網絡服務器簡介、LINUX編程概述_第4頁
Linux系統管理與應用 課件 第13-15章 文件傳輸服務器、網絡服務器簡介、LINUX編程概述_第5頁
已閱讀5頁,還剩91頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第十三章

文件傳輸服務器

本章學習目標⊙ FTP的相關概念⊙ FTP服務配置⊙ FTP客戶程序的使用13.1FTP概述

13.1.1FTP簡介FTP:FileTransferProtocol(文件傳輸協議)用來在兩臺計算機之間互相傳送文件。FTP服務:為Internet最古老的服務之一。FTP是一個8位的客戶端

——

服務器協議,能操作任何類型的文件而不需要進一步處理。FTP有著極高的延時.FTP實現的目標:

促進文件的共享(計算機程序或數據)鼓勵間接或者隱式的使用遠程計算機向用戶屏蔽不同主機中各種文件存儲系統的細節可靠和高效的傳輸數據缺點:密碼和文件內容都使用明文傳輸,可能產生不希望發生的竊聽。因為必需開放一個隨機的端口以建立連接,當防火墻存在時,客戶端很難過濾處于主動模式下的FTP流量。通過使用被動模式的FTP得到了很大解決。服務器可能會被告知連接一個第三方計算機的保留端口。13.1.2Linux下的FTP服務器

在Linux環境下,最常用的FTP服務器有三種:Proftpwu-ftpvsftp。proftp

流行的遵循GPL的FTP服務器軟件提供了比其它FTP服務器更好的安全性使用模塊化的系統和配置文件,配置文件的格式和Apache有點像。proftp支持:日志功能,虛擬主機,PAM認證,還支持SQL集成,LDAP集成proftp可以單獨或者通過xinetd啟動一般情況下proftp把它的配置文件都保存在/etc/proftp/proftpd.conf中。proftp的主頁為

wu-ftp

最常使用的FTP服務器程序,多數Linux版本預裝的是wu-ftp并且通常是以in.ftpd命名的。wu-ftp服務器比以前基于BSD的FTP服務器具有更多的功能,提供功能:日志功能,即時壓縮和歸檔,基于目錄的上傳權限,登陸和目錄信息,基于用戶分類的登陸限制以及虛擬主機等功能。wu-ftp的配置在一些文件中。默認都位于目錄/etc下。其中最重要的配置文件是ftpaccess。定義了用戶的分類和相關限制。它指定了登陸選項和用戶登陸時和改變目錄顯示的信息。能夠指定是否自動歸檔和壓縮。wu-ftp的主頁為

vsftp

vsftp一個基于GPL發布的類Unix系統上使用的FTP服務器軟件全稱VerySecureFTP

VSFTP的重要特點:安全性,高速與高穩定性。在速度方面:使用ASCII代碼的模式下載數據時,vsftp的速度是Wu-FTP的兩倍,在穩定方面:vsftp就更加的出色,vsftp在單機(非集群)上支持4000個以上的并發用戶同時連接。(1)它是一個安全、高速、穩定的FTP服務器

(2)它可以做基于多個IP的虛擬FTP主機服務器

(3)匿名服務設置十分方便

(4)匿名FTP的根目錄不需要任何特殊的目錄結構,或系統程序或其它的系統文件

(5)不執行任何外部程序,從而減少了安全隱患

(6)支持虛擬用戶,且每個虛擬用戶可以具有獨立的屬性配置

(7)可以設置從inetd中啟動,或獨立的FTP服務器兩種方式

(8)支持兩種認證方式(PAP或xinetd/tcp_wrappers)

(9)支持帶寬限制

vsftp9種特點:13.2vsftpd的安裝和配置

13.2.1安裝和啟動vsftpd

檢查是否安裝vsftpd

在使用或安裝vsftpd服務器之前,應該先檢查系統是否已安裝了該服務。

[root@localhostroot]#rpm-qvsftpd若有輸出信息,則說明vsftpd服務已經安裝。vsftpd服務器安裝后,默認情況下是不會自動啟動的,這時,可以使用如下命令啟動vsftpd。

[root@localhostroot]#servicevsftpdstart還可以使用chkconfig命令讓其在運行級別3和5的自動運行。

[root@localhostroot]#chkconfig--level35vsftpdon

安裝vsftpd

若在檢查vsftpd時,沒有任何輸出信息,則需要安裝vsftpd。安裝vsftpd有兩種方式:(1)RPM包安裝:若當前的系統是XWindow圖形界面,則可以使用軟件包管理器來直接安裝vsftpd,選擇“添加/刪除程序”—>“服務器”—>“FTP服務器”即可,該方式簡單直觀。若當前在Shell環境下,可以通過安裝RedHatLinux9光盤上的RPM包或者上網下載vsftpd的RPM包,然后使用如下命令。[root@localhostroot]#rpm-ivhvsftpd-X.X.X…-i386.rpm

(2)源碼編譯安裝:

[root@localhostroot]#cd/usr/local/src#將源碼包解壓縮[root@localhostsrc]#tarzxvfvsftpd-2.0.5.tar.gz#顯示軟件包中的文件信息[root@localhostsrc]#cdvsftpd-2.0.5[root@localhostvsftpd-2.0.5]#make//然后就對源碼進行編譯,會耗一段時間//vsftpd默認需要“nobody”用戶,若在系統里不存在該用戶,需要手動創建[root@localhostvsftpd-2.0.5]#useraddnobody//vsftpd默認需要“/usr/share/empty”目錄[root@localhostvsftpd-2.0.5]#mkdir/usr/share/empty///為了vsftpd能夠實現匿名登錄,需要用戶“ftp”和一個合法的主目錄“/var/ftp”//若系統不符合要求,需要創建[root@localhostvsftpd-2.0.5]#mkdir/var/ftp/[root@localhostvsftpd-2.0.5]#useradd-d/var/ftpftp//設置vsftpd默認的用戶和目錄權限和所有者[root@localhostvsftpd-2.0.5]#chownroot.root/var/ftp[root@localhostvsftpd-2.0.5]#chmodog-w/var/ftp[root@localhostvsftpd-2.0.5]#makeinstall//安裝vsftpd//vsftpd默認安裝配置文件到指定目錄(/etc),需要手動安裝[root@localhostvsftpd-2.0.5]#cpvsftpd.conf/etc

測試FTP

讓vsftpd以standalone的方式運行,用來進行FTP服務的測試,在/etc/vsftpd.conf文件的開頭添加如下配置信息即可。listen=YES然后啟動vsftpd服務。13.2.2vsftpd默認配置文件

在RedHatLinux9中默認的vsftpd配置文件,如表13-1所示。配置文件說明/etc/vsftpd/vsftpd.conf主配置文件/etc/vsftpd.ftpusers指定不能訪問FTP服務器的用戶/etc/vsftpd.user_list該文件中指定的用戶訪問權限與主配置文件中的userlist_enable與userlist_deny的屬性有關13.2.3匿名上傳配置

anon_upload_enable=YESanon_mkdir_write_enable=YES然后確保如下選項的設置:write_enable=YES添加如下配置信息,允許匿名用戶改寫文件:anon_other_write_enable=YES13.2.4訪問控制配置

配置基于用戶的訪問控制使用vsftpd主配置文件中的如下語句:userlist_enableuserlist_denyuserlist_file用這三個語句可以控制指定用戶是否有權登錄,方法:userlist_enable=YES//用戶清單功能開啟userlist_deny=YES//把用戶清單設為拒絕用戶清單userlist_file=/etc/vsftpd.user_list//用戶清單文件為/etc/vsftpd.user_list,這個文件的格式也是一個用戶名占用一行。

配置基于主機的訪問控制

vsftpd內置了對tcp_wrappers的支持tcp_wrappers使用/etc/vsftpd.allow和/etc/hosts.deny兩個配置文件實現訪問控制。/etc/hosts.allow是一個許可表,也可使用DENY/etc/hosts.deny是一個拒絕表。vsftp訪問控制時主機表的書寫語法:· Hostname:可解析的主機名· IPAddress:點分十進制表示的IP地址· .domain:匹配一個域中的所有主機· CIDR:匹配指定的網段13.3FTP客戶端

13.3.1FTP命令行工具FTP命令是Internet用戶使用最頻繁的命令之一在Linux操作系統下使用FTP,都會遇到大量的FTP內部命令。//進入FTP命令行環境[root@localhostroot]#ftp[主機地址]//顯示FTP服務器信息后,進入ftp提示符狀態//在此即可使用FTP內部命令來進行操作ftp>13.3.2FTP圖形化工具

gFTP:XWindow下的一個用Gtk開發的多線程FTP客戶端工具。gFTP2.0.14已經集成在RedHatLinux9系統中:在“主菜單”—>“互聯網”—>“更多互聯網應用程序”,可以看到“gFTP”這個軟件若不存在的話,可以通過添加/刪除程序安裝。gFTP的主界面如圖13-1所示。圖13-1

gFTP界面13.4課后習題與實驗

13.4.1課后習題FTP的全稱為

,作用是

。FTP一般運行于

兩個端口,前者用于

,后者用于

。FTP默認進行匿名傳輸而使用的用戶名為

。vsftp的主配置文件是

。如何啟動vsftp

服務?FTP主動式與被動式連接有何不同?哪些配置文件可以用來阻止類似root這種系統賬號登入FTP?若需要匿名上傳功能,需要激活并設置主配置文件中的哪些選項?13.4.2實驗:在Linux下配置vsftp

實驗目的掌握通過安裝和配置vsftp,在linux下架設ftp服務器的方法實驗內容

安裝vsftp配置vsftp,使其能正常進行匿名訪問配置基于用戶和主機的訪問控制掌握使用FTP命令行工具實驗步驟完成實驗報告思考題

由于FTP是明文傳輸的,如何通過其它手段來增強其安全性?簡述FTP服務器中的文件在Linux系統本身的權限和通過FTP訪問時的權限之間的關系。第十四章

網絡服務器簡介

本章學習目標⊙ 常用網絡服務的原理⊙ 常用網絡服務在Linux系統上的實現14.1DHCP服務器

動態主機分配協議(DHCP)是一個簡化主機IP地址分配管理的TCP/IP標準協議。用戶可以利用DHCP服務器管理動態的IP地址分配及其他相關的環境配置工作14.1.1DHCP概述什么是DHCP使用DHCP的好處

避免了因手工設置IP地址及子網掩碼所產生的錯誤使用DHCP服務器大大縮短了配置或重新配置網絡中工作站所花費的時間通過對DHCP服務器的設置可靈活的設置地址的租期。DHCP地址租約的更新過程將有助于用戶確定那個客戶的設置需要經常更新變更由客戶機與DHCP服務器自動完成,無需網絡管理員干涉。DHCP的常用術語

作用域 超級作用域 排除范圍 地址池 保留地址 租約 選項類型DHCP工作過程

DHCP客戶機使用兩種不同的方法與服務器進行通信并獲得配制信息。(1)第一次啟動登錄網絡時的初始化租約過程,如圖14-2所示;圖14-2初始化租約過程(2)DHCP客戶機更新租約的過程,如圖14-3所示。

圖14-2更新租約過程14.1.2配置DHCP服務

[root@localhostroot]#vi/etc/dhcpd.conf#缺省租約時間default-lease-time28800;#最大租約時間max-lease-time57600;#子網掩碼選項optionsubnet-mask;#廣播地址optionbroadcast-address55;#路由器/網關地址optionrouters54;#DNS地址optiondomain-name-servers;#配置DHCP-DNS互動更新模式ddns-update-stylead-hoc;#域名optiondomain-name"";#以上都是全局參數#子網聲明和掩碼subnetnetmask{#范圍range000;#范圍range5000;}14.2DNS服務器

DNS是域名系統(DomainNameSystem)的縮寫,該系統用于命名組織到域層次結構中的計算機和網絡服務。DNS命名用于Internet等TCP/IP網絡中,通過用戶友好的名稱查找計算機和服務。當用戶在應用程序中輸入DNS名稱時,DNS服務可以將此名稱解析為與之相關的其他信息。14.2.1DNS概述什么是DNS基本概念介紹

DNS服務器:運行DNS服務器軟件的計算機

DNS區域:DNS服務器具有主控的連續的命 名空間

DNS解析器:使用客戶端計算機用于通過 DNS協議查詢DNS服務器的一個服務

資源記錄:用于答復DNS客戶端請求的DNS 數據庫記錄

DNS解析過程

圖14-4

DNS解析過程14.2.2DNS服務配置

在Linux環境下的DNS服務器通常為BIND(BerkeleyInternetNameDomain),一個在UNIX/Linux系統上實現的域名解析服務軟件包。若是RedHat系統,則可以通過添加/刪除應用程序直接安裝該服務。[root@localhostroot]#vi/etc/named.confoptions{notify-source;pid-file"/var/run/named.pid";};zone"."{typemaster;file"root.db";};zone""{typemaster;file"/var/named/.zone";};14.3郵件服務器

14.3.1電子郵件概述什么是Email電子郵件(簡稱Emai1)又稱電子信箱、電子郵政,它是—種用電子手段提供信息交換的通信方式。非交互式的通信,加速了信息的交流及數據傳送,簡易、快速。通過連接全世界的Internet,實現各類信號的傳送、接收、存貯等處理,將郵件送到世界的各個角落。Email地址的組成

—個完整的Internet郵件地址由以下兩個部分組成,格式如下:1oginname@full_host_name.domain_name即:登錄名@主機名.域名Email網絡協議簡介

Email有好幾種不同的協議用于搭建分布式電子郵件系統的基本架構郵局協議(POP)簡單郵件傳輸協議(SMTP)Internet消息訪問協議。

POP用于支持郵件下載后的處理在這種狀態下,郵件服務器或個人計算機用戶階段性的調用與服務器相連的郵件客戶端程序,并把所有沒處理的郵件下載到用戶自己的計算機中。

Internet消息訪問協議(IMAP)支持對保存在郵件服務器中電子郵件或電子布告欄消息的訪問。

多用途網際郵件擴充協議(MIME)指定了消息的格式以便于在不同的電子郵件系統之間進行傳播。MIME是一種非常靈活的格式,支持用戶在電子郵件中包含任何可見的文件類型。MIME的郵件中可包含文本、圖片、聲音、視頻或其它應用程序的特定數據。14.3.2sendmail服務配置

Sendmail:Linux中的默認郵件傳輸代理(MTA)。sendmail的任務:從郵件用戶代理(MUA)接收郵件然后根據配置文件的定義把它們送給配置好的的寄送程序。sendmail也能接受網絡連接,并且發送郵件到本地郵箱或者發送它到其它程序/etc/mail/access

訪問數據庫定義了什么主機或者IP地址可以訪問本地郵件服務器和它們是哪種類型的訪問。主機可能會列出OK、REJECT、RELAY或者簡單的通過sendmail的出錯處理程序檢測一個給定的郵件錯誤:

OK:主機默認列出,允許傳送郵件到主機,只要郵件的最后目的地是本地主機。REJECT:將拒絕所有的郵件連接。RELAY:帶有此選項的主機將被允許通過這個郵件服務器發送郵件到任何地方/etc/mail/aliases

別名數據庫:包含一個擴展到用戶,程序或者其它別名的虛擬郵箱列表。/etc/mail/local-host-names

這是一個sendmail被接受為一個本地主機名的主機名列表,可以放入任何sendmail將從那里收發郵件的域名或主機。/etc/mail/sendmail.cf

sendmail的主配置文件sendmail.cf控制著sendmail的所有行為這個配置文件是相當復雜的,它的細節部分已經超出了本節的范圍。這個文件對于標準的郵件服務器來說很少需要被改動。/etc/mail/virtusertable

virtusertable映射虛擬域名和郵箱到真實的郵箱。這些郵箱可以是本地的、遠程的、/etc/mail/aliases中定義的別名或一個文件。14.4Samba文件共享服務器

14.4.1Samba簡介Samba:一套讓UNIX系統能夠應用Microsoft網絡通訊協議的軟件。執行UNIX系統的機器能與執行Windows系統的電腦分享驅動器與打印機。Samba屬于GPL的軟件SMB(Server

Message

Block)通信協議是微軟和英特爾在1987年制定的協議,主要是作為Microsoft網絡的通訊協議,而Samba則是將SMB協議搬到UNIX上來應用。Samba的主要功能如下:(1)提供Windows

NT風格的文件和打印機共享(2)在Windows網絡中解析NetBIOS名字(3)提供SMB客戶功能(4)備份PC上的資源(5)提供一個命令行工具,在其上可以有限制地支持NT的某些管理功能14.4.2Samba服務配置

在RedHatLinux9下,通過添加/刪除應用程序可以很容易地進行Samba服務的安裝。然后就可以進行Samba的配置了。配置Samba的一般步驟

(1)創建要在主域服務器(Linux/Samba)待認證的用戶。(2)把UNIX用戶轉換成Linux/Samba/Windows用戶,生成smbpasswd文件。(3)編輯Samba的配置文件(smb.conf),你要確定加入或減去帶有注釋符的可選項。(4)創建共享資源,編輯smb.conf

文件,加入想要的共享資源的配置信息。(5)使用testparm命令來驗證smb.conf是否正確(6)修改共享目錄的權限(7)在smb.conf中設置的logonscript(用微軟兼容格式創建),在Linux下創建的話,可以使用比如VIM的命令“:settextmode”得到有微軟行結尾符的文件。(8)在配置文件中啟用WINS的話,則加入SambaServer信息到lmhosts文件(/etc/lmhosts)中。(9)重啟動Samba的后臺程序。(10)使用smbclient來驗證以上的配置是正確的。smb.conf配置文件簡介

[global]#全局配置段#指定所屬的工作組的名字workgroup=MYGROUP#這個聲明會出現在Windows的“網絡鄰居”中serverstring=SambaServer#這一行由于安全的原因很關鍵,只許在局域網中特定的計算機的連接。#在這個例子中,是和(C級網絡)的網絡#和“環路”(loopback)的接口是可以連接的。;hostsallow=192.168.1.192.168.2.127.#訪問都默認的登錄用戶,nobody

是系統自帶的用戶;guestaccount=pcguest#指定安全級別,一般用usersecurity=user#是否以加密的形式驗證口令encryptpasswords=yes#指定對samba

用戶口令校驗的密碼文件smbpasswdfile=/etc/samba/smbpasswd#共享段設置[homes]段,當用戶請求一個共享時,服務器將在存在的共享資源段中去尋找,如果找到匹配的共享資源段,

就使用這個共享資源段。如果找不到,就將請求的共享名看成是用戶的用戶名,并在本地的

password文件里找這個用戶,如果用戶名存在且用戶提供的密碼是正確的,則以這個home段克隆出一個共享提供給用戶。這個新的共享的名稱是用戶的用戶名,而不是homes,如果home段里沒有指定共享路徑,就把該用戶的宿主目錄(home

directory)作為共享路徑。[printers]段,共享打印機設置段。[netlogon],[Profiles],[tmp],[public],[fredsprn],[fredsdir],[pchome],[myshare]等段均為共享段,用戶可以根據需要自定義。14.5Squid代理服務器

14.5.1代理服務概述什么是代理服務代理服務:由一臺擁有標準IP地址的機器,代替若干沒有標準IP地址的機器,和Internet上的其它主機打交道,提供代理服務的這臺機器稱為代理服務器。擁有內部地址的機器想連接到Internet上時:先把這個請求發給擁有標準IP地址的代理服務器由代理服務器把這個請求通過它的標準IP地址發到請求的目的地址。目標地址的服務器把返回的結果發回給代理服務器代理服務器再原封不動的把資料發給內部主機。圖14-5代理服務器示例squid代理服務器

Squid:是一個高性能的代理緩存服務器,可以加快內部網瀏覽Internet的速度,提高客戶機的訪問命中率。squid支持協議:不僅支持HTTP協議,還支持FTP、gopher、SSL和WAIS等協議。squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶端請求。squid組成:由一個主要的服務程序squid,一個DNS查詢程序dnsserver,幾個重寫請求和執行認證的程序,幾個管理工具。當squid啟動以后,可以派生出指定數目的dnsserver進程,而每一個dnsserver進程都可以執行單獨的DNS查詢,這樣一來就大大減少了服務器等待DNS查詢的時間。14.5.2squid服務器配置

在RedHatLinux9下,通過添加/刪除應用程序可以很容易地進行squid代理服務的安裝。然后就可以進行配置了。squid有一個主要的配置文件squid.conf,位于/etc/squid目錄下,用戶僅僅需要修改該配置文件即可。14.6防火墻和NAT

14.6.1防火墻概述一個系統,執行兩個網絡之間的訪問控制策略。可為各類企業網絡提供必要的訪問控制,不造成網絡的瓶頸通過安全策略控制進出系統的數據保護企業的關鍵資源。一種有效的網絡安全模型,是機構總體安全策略的一部分。阻擋的是對內、對外的非法訪問和不安全數據的傳遞。在因特網上,通過它隔離風險區域(即Internet或有一定風險的網絡)與安全區域(內部網)的連接,能夠增強內部網絡的安全性。防火墻負責管理風險區域和內部網絡之間的訪問。14.6.1包過濾防火墻iptables

包過濾防火墻:用一個軟件查看所流經的數據包的包頭(header),由此決定整個包的命運。Linux下的包過濾系統經歷了如下3個階段:(1)在2.0的內核中,采用ipfwadm來操作內核包過濾規則。(2)在2.2的內核中,采用ipchains來控制內核包過濾規則。(3)在2.4內核中,采用一個全新的內核包過濾管理工具:iptables。14.6.3NAT概述

什么是NATNATL“NetworkAddressTranslation,網絡地址轉換”IETF的標準,允許一個組織以一個公用IP地址出現在Internet上。是一種把內部私有網絡地址(IP地址)翻譯成合法網絡IP地址的技術。NAT配置:一個狀態表,用來把非法的IP地址映射到合法的IP地址上去。每個包在NAT設備中都被翻譯成正確的IP地址發往下一個設備。NAT工作原理

NAT在局域網內部網絡中使用內部地址,而當內部設備要與外部網絡進行通訊時,就在網關處將內部地址替換成公用地址,從而在Internet上正常識別NAT可以使多臺計算機共享Internet連接,這一功能很好地解決公共IP緊缺的問題。圖14-6

NAT工作原理使用iptables實現NAT

采用iptables實現NAT轉換。基本的步驟:(1)打開包轉發功能[root@localhostroot]#echo"1">/proc/sys/net/ipv4/ip_forward(2)打開iptables的NAT功能[root@localhostroot]#iptables-tnat-APOSTROUTING-oeth0-jMASQUERADE上面的語句中eth0是連接外網或者連接Internet的網卡(3)執行下面的命令,保存iptables的規則[root@localhostroot]#serviceiptablessave

14.7課后習題與實驗

14.7.1課后習題什么是DHCP?DHCP工作過程是怎么樣的?什么是DNS?簡述DNS的解析過程。什么是Email?其地址是如何組成的?什么是Samba服務器?什么是代理服務?什么是防火墻?什么是NAT?其工作原理是什么?如何用iptables實現NAT?14.7.2實驗:配置Samba服務器

實驗目的掌握Linux與Windows的資源共享和互訪方法掌握Samba服務器的安裝和配置方法使用samba共享用戶認證和文件系統實驗內容安裝、配置Samba服務器并啟動從Linux訪問Windows資源從Windows訪問Linux的資源 實驗步驟 完成實驗報告思考題在ftp和smbclient之間有什么相同的地方?如何使用smbmount命令?smbtar命令是干什么的?

第五章Linux編程概述本章學習目標⊙ Linux下程序設計的特點⊙ Linux下程序設計的IDE的使用⊙ Linux的編程風格15.1Linux程序設計語言概述Linux編程C/C++JavaPythonRubyPerlPHP15.1.1Linux編程Linux的軟件開發:一般都基于Internet許多用于Linux的編程工具都源于自由軟件基金會(FSF)。所有的工具都可以免費獲得,并且得到的源代碼可在GNUGPL的指導下自由修改。Linux的程序需要首先轉化為低級機器語言,才能被操作系統執行。15.1.2C/C++C語言:除了匯編語言,最接近機器的語言各種操作系統的編程接口的默認語言都是CC++是C語言的加強版:C++增加了面向對象和其它有用的功能,但它的效能并沒有大減,編程更方便輕松C++與c:C++支持大部分C的程序,大部分的C編譯器也支持C++類Unix操作系統中,C具有很好的開放源代碼的條件C/C++具有現代語言的大量特征:(1)語句簡練、結構清晰、緊湊,使用方便、靈活。(2)程序結構簡單、書寫格式自由。(3)數據類型豐富、齊全。(4)運算符豐富、齊全,運算能力強。(5)語法限制不太嚴格,程序自由度大。(6)具有直接的硬件處理能力。(7)C/C++編譯系統生成的目標代碼質量高,效率高。(8)程序可移植性強。(9)語言的通用性較強。15.1.3JavaJava語言:是SUN公司的產品,完全的面向對象的編程語言,不同的計算機平臺上運行,適合編寫網絡應用程序。廣泛應用于企業、個人終端、移動通信等眾多領域。Java語言的特點:(1)簡單:(2)面向對象(3)分布性(4)解釋性(5)健壯性(6)安全性(7)可移植性(8)高性能(9)多線程(10)動態性15.1.4Python一種公共域的,即譯式的,互動的,面向對象的動態編程語言真正的免費軟件,關于軟件的拷貝或者發布任何用Python開發的應用程序沒有規則限制可以在包括Linux在內的任何操作系統平臺上運行目前使用的最流行的語言之一包含:模組式的操作,異常處理,動態資料形態十分高層次的動態資料結構,以及類別的使用簡單的語法和強大的功能,語法表達優美易讀Python語言的特點:(1)開源軟件,有許多人為它編寫了數量眾多的模塊和庫,(2)被解釋器包裹的語言,使它可運行在大部分的操作系統上。(3)良好的粘合語言,可調用C和Java編寫的庫。(4)語法單純(5)豐富的內置數據類型(6)功能可以無限擴展,這種擴展是通過導入模塊來完成的(7)可移植度高15.1.5Ruby一種解釋型的方便快捷的面向對象腳本語言適合文本文件處理和系統管理,并且完全面向對象。語法簡單明快,可擴展并且可跨平臺。完全自由開放原則:簡單化的“最少驚喜”,Java的多線程和安全控制的功能,Tcl的容易擴展的功能,PHP的嵌入功能和強大客戶端的功能,最方便的Shell命令的調用。Ruby語言的主要特點:1.純的面向對象語言2.解釋型腳本語言3.其他特點:(1)動態載入。(2)自動內存管理機制。(3)多精度整數。(4)迭代器和閉包。(5)開源項目。15.1.6Perl

PracticalExtractionandReportLanguageUNIX環境下編程高級語言的強大能力和靈活性不需要編譯器和鏈接器來運行代碼Perl的特點特點:有強大的字符串模式匹配,最好的文本文件的讀取和生成語言Unix系統管理者的好幫手具有很大的自由性接口:強大的數據庫接口和其它各種接口大量的程序庫(CPAN)缺點:難讀懂,維護困難,不適合編寫大程序,只適合一千行以下的程序15.1.7PHP專門寫網頁程序的語言,語法和Perl極近可以嵌入HTML,更容易編寫服務器端程序動態生成圖像簡化了Perl語言傾向于所有的功能都用函數來解決以HTML為用戶界面,充當各種服務器得客戶端,實現得是傳統得客戶端編程得任務15.2.1KDevelop簡介基于KDE桌面環境的全能的開發環境,如圖1-1集編輯、編譯、調試等多種功能于一體內嵌許多優秀的第三方工具軟件用KDevelop開發軟件能自動生成configure腳本及Makefile.in文件,無需編寫Makefile發出的軟件符合國際化要求,翻譯者可以很容易地將本地語言加入到項目中。網站:

15.2Linux集成開發環境圖15-1

KDevelop界面15.2.2Eclipse簡介替代IBMVisualAgeforJava(以下簡稱IVJ)的IDE開發環境,如圖1-2所示通過開發插件,能擴展到任何語言的開發,甚至能成為圖片繪制的工具。目前,Eclipse已經開始提供C/C++開發的功能插件(CDT)Eclipse一個開放源代碼的項目可以通過開發新的插件擴展現有插件的功能無限擴展,而且有著統一的外觀,操作和系統資源管理Eclipse主要特性:方便的對源文件進行導入和導出源代碼的管理更加隨心所欲支持團隊開發支持插件開發網站:

圖15-2

Eclipse主界面15.2.3Emacs簡介GNUEmacs由C語言與LISP語言寫成新發展的函數可以直接在Emacs中使用,不需重新編譯(complie)整個Emacs新增的函數也不會破壞Emacs原有的結構公布的函數,由FSF的審查

溫馨提示

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

評論

0/150

提交評論