可以通過Service來播放背景音樂,以下是實現代碼:
1.在AndroidManifest.xml文件中的<application>標簽內加入下邊語句
<service android:name=".MusicServer">
<intent-filter>
<action android:name="com.angel.Android.MUSIC"/>
<category android:name="android.intent.category.default" />
</intent-filter>
</service>
2.新建MusicServer.java類,內容為
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
public class MusicServer extends Service {
private MediaPlayer mediaPlayer;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onStart(Intent intent,int startId){
super.onStart(intent, startId);
if(mediaPlayer==null){
// R.raw.mmp是資源文件,MP3格式的
mediaPlayer = MediaPlayer.create(this, R.raw.abc);
mediaPlayer.setLooping(true);
mediaPlayer.start();
}
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
mediaPlayer.stop();
}
}
3.將歌曲放入raw文件夾下,名稱為abc。
4.在Activity中加入代碼
private Intent intent = new Intent("com.angel.Android.MUSIC");
onCreate方法中加入startService(intent);
就可以播放了。
Ⅱ 求Linux發展歷史的詳細資料
"Hello everybody out there using minix——I'm doing a (free) operating system"在1991年的八月,網路上出現了一篇以此為開篇話語的帖子——這是一個芬蘭的名為Linus Torvalds的大學生為自己開始寫作一個類似minix,可運行在386上的操作系統尋找志同道合的合作夥伴。
1991年10月5日,Linus Torvalds在新聞組comp.os.minix發布了大約有一萬行代碼的Linux v0.01版本。
到了1992年,大約有1000人在使用Linux,值得一提的是,他們基本上都屬於真正意義上的hacker。
1993年,大約有100餘名程序員參與了Linux內核代碼編寫/修改工作,其中核心組由5人組成,此時Linux 0.99的代碼有大約有十萬行,用戶大約有10萬左右。
1994年3月,Linux1.0發布,代碼量17萬行,當時是按照完全自由免費的協議發布,隨後正式採用GPL協議。至此, Linux的代碼開發進入良性循環。很多系統管理員開始在自己的操作系統環境中嘗試linux,並將修改的代碼提交給核心小組。由於擁有了豐富的操作系統平台,因而 Linux的代碼中也充實了對不同硬體系統的支持,大大的提高了跨平台移植性。
1995年,此時的Linux 可在Intel、Digital 以及Sun SPARC處理器上運行了,用戶量也超過了50萬,相關介紹Linux的Linux Journal雜志也發行了超過10萬冊之多。
1996年6月,Linux 2.0內核發布,此內核有大約40萬行代碼,並可以支持多個處理器。此時的Linux 已經進入了實用階段,全球大約有350萬人使用。
http://axinchan.blogchina.com/blog/article_49053.243009.html
1997年夏,大片《泰坦尼克號》在製作特效中使用的160台Alpha圖形工作站中,有105台採用了Linux操作系統。
1998年是Linux迅猛發展的一年。1月,小紅帽高級研發實驗室成立,同年RedHat 5.0獲得了InfoWorld的操作系統獎項。4月Mozilla 代碼發布,成為linux圖形界面上的王牌瀏覽器。Redhat 宣布商業支持計劃,網路了多名優秀技術人員開始商業運作。王牌搜索引擎"Google"現身,採用的也是Linux伺服器。值得一提的是, Oracle 和Informix 兩家資料庫廠商明確表示不支持Linux,這個決定給予了Mysql資料庫充分的發展機會。同年10月,Intel和Netscape宣布小額投資紅帽軟體,這被業界視作Linux獲得商業認同的信號。同月,微軟在法國發布了反Linux公開信,這表明微軟公司開始將Linux視作了一個對手來對待。十二月,IBM發布了適用於Linux的文件系統AFS 3.5以及Jikes Java 編輯器和Secure Mailer及DB2測試版,IBM的此番行為,可以看作是與Linux羞答答地第一次親密接觸。迫於Windows和Linux的壓力,Sun逐漸開放了Java協議,並且在UltraSparc上支持Linux操作系統。1998年可說是Linux與商業接觸的一年。
1999年,IBM宣布與Redhat公司建立夥伴關系,以確保Redhat在IBM機器上正確運行。三月,第一屆 LinuxWorld 大會的召開,象徵Linux時代的來臨。IBM、Compaq和Novell宣布投資Redhat公司,以前一直對Linux持否定態度的Oracle公司也宣布投資。五月,SGI公司宣布向Linux移植其先進的XFS文件系統。對於伺服器來說,高效可靠的文件系統是不可或缺的,SGI的慷慨移植再一次幫助了Linux確立在伺服器市場的專業性。7月IBM啟動對Linux的支持服務和發布了Linux DB2,從此結束了Linux得不到支持服務的歷史,這可以視作Linux真正成為伺服器操作系統一員的重要里程碑。
2000年初始,Sun公司在Linux的壓力下宣布Solaris8降低售價。事實上Linux對Sun造成的沖擊遠比對 Windows來得更大。 2月Red Hat發布了嵌入式Linux的開發環境,Linux在嵌入式行業的潛力逐漸被發掘出來。在4月,拓林思公司宣布了推出中國首家Linux工程師認證考試,從此使Linux操作系統管理員的水準可以得到權威機構的資格認證,此舉大大增加了國內Linux愛好者學習的熱情。伴隨著國際上的Linux熱潮,國內的聯想和聯邦推出了"幸福Linux家用版",同年7月中科院與新華科技合作發展紅旗Linux, 此舉讓更多的國內個人用戶認識到了存在著Linux這個操作系統。11月,Intel 與 Xteam合作,推出基於Linux的網路專用伺服器,此舉結束了在Linux單向順應硬體商硬體開發驅動的歷史。
2001月新年依使就爆出新聞,Oracle宣布在OTN上的所有會員都可免費索取Oracle 9i的Linux版本,從幾年前的"絕不涉足Linux系統"到如今的主動獻媚,足以體現Linux的發展迅猛。IBM則決定投入10億美元擴大 Linux系統的運用,此舉猶如一針強心劑,令華爾街的投資者們聞風而動。到了5月這個初夏的時節,微軟公開反對"GPL"引起了一場大規模的論戰。8月紅色代碼爆發,引得許多站點紛紛從windows操作系統轉向linux操作系統,雖然是一次被動的轉變,不過也算是一次應用普及吧。12月Red Hat 為IBM s/390大型計算機提供了Linux解決方案,從此結束了AIX孤單獨行無人伴的歷史。
2002年是Linux企業化的一年。2月,微軟公司迫於各洲政府的壓力,宣布擴大公開代碼行動,這可是Linux開源帶來的深刻影響的結果。3月,內核開發者宣布新的Linux系統支持64位的計算機。
2003年1月,NEC宣布將在其手機中使用Linux操作系統,代表著Linux成功進軍手機領域。5月之中SCO表示就 Linux使用的涉嫌未授權代碼等問題對IBM進行起訴,此時人們才留意到,原本由SCO壟斷的銀行/金融領域,份額已經被Linux搶佔了不少,也難怪 SCO如此氣急敗壞了。9 月中科紅旗發布Red Flag Server4版本,性能改進良多。11月IBM注資Novell以2.1億收購SuSE,同期Redhat計劃停止免費的Linux,頓時業內罵聲四起。Linux在商業化的路上漸行漸遠。
2004年的第1月,本著"天下事分久必合,合久必分"之天理,SuSE嫁到了Novell,SCO繼續頂著罵名四處強行"化緣 ", Asianux, MandrakeSoft也在五年中首次宣布季度贏利。3月SGI宣布成功實現了Linux操作系統支持256個Itanium 2處理器。4月里美國斯坦福大學Linux大型機系統被黑客攻陷,再次證明了沒有絕對安全的OS。六月的統計報告顯示在世界500強超級計算機系統中,使用Linux操作系統的已經佔到了280席,搶佔了原本屬於各種Unix的份額。9月HP開始網羅Linux內核代碼人員,以影響新版本的內核朝對HP有利的方式發展,而IBM則准備推出OpenPower伺服器,僅運行Linux系統。
"誰會牽你的手,走過風風雨雨"這句歌詞曾經代表著千萬Linuxer的心,如今,這只可愛的小企鵝終於能獨擋一面,在IBM、HP、Novell、Oracle等諸多廠商的支持下,迎著風雪傲然前行。
Ⅲ linux操作系統的發展前景如何它有什麼優勢
其實這種問題主要網路一下就行了。我找了兩篇,讀了一下覺得人家說得很好。
linux的發展
近來看一篇「hacking是藝術還是科學」的文章,由此產生了一系列的聯想。由藝術聯繫到文化是再自然不過的事,人類的歷史既是科技的發展史,也是藝術的發展史。藝術(廣義上包括文學)和科技構成了文化。而當今似乎科技被從文化中分離開來,於是我們不得不重談文化。因為同商業主導的其他產物不同, Linux更是一種文化的象徵。
第一在linux的媒體上看到馬克思的頭像覺得很可笑,但是思索一番後方才醒悟:資訊難道不是一種生產資料嗎?開源與私有,恰恰就是資訊的分配方式的區別。
件同貨幣聯系起來時,資訊的圈地運動正式開始。並在幾年的你爭我奪中拼殺下來。同社會的發展不同的是,軟體業是直接從「原始的共產」跳向「資本」形式的。以貨幣來交換軟體的確在一定的時期對經濟起到很大的促進的作用。但是卻限制了更多的人生產形式更加多樣化的軟體的能力。長遠角度看這是對發展不利的。於是,共有的分配資訊的方式又被一些人重新重視起來。
這種共有資訊的復甦代表這軟體的文藝復興,也就是文化的復興。開源的意義在於,首先是傳播文化,文化產生軟體。如同藝術中很難找到兩部及其相似油畫一樣,社區中很難找到兩部概念過分接近的軟體。這就是開源社區的精神:知識的高度分享,而且高效的利用,最大限度地避免重復浪費。
初期的開源作者也是理想主義者。同早期的無產者一樣,資訊無產者也是理想主義者。理想主義者感染理想主義者,卻拒絕了更多的實用主義者。一定程度上限制的自身的發展。Eric不是理想主義者,所以當他提出開源作為商業模式時,就同人們第一次聽到中國改革開發一樣!事實證明這種決定是正確的!不同的文化中都有優秀特點、優秀的人。優秀的特點借鑒過來,優秀的人吸引過來,文化群體才能由此而壯大!相反,如果我們不能同其他群體的人和睦相處,對這些人進行人身攻擊和冷言嘲諷,認為linux具有高高在上的優越感。這樣非但不能為我們的群體吸引更多的優秀的支持者。也會使其他的群體產生我們本身的群體數字偏低的印象。
Linux同Windows,文化於市場的差別
我個人認為Linux同Windows不存在討論技術的差別的意義。因為很難指定出一種適普的標准來衡量它們。但是,他們身上一些特點的卻十分明顯地分別體現出文化與市場的特徵:
分發機制
最初的linux用戶真正的是from scratch。因為發布的內核同各類的GNU軟體分不在網路的各個角落。包括為了擁有圖形界面,也要在安裝X之後編譯大量的其他軟體。而為上市而開發的 windows卻是一個超大的軟體包。因為要做到真正的「友好」,不可能讓用戶用一個月的時間來安裝應用軟體,何況入門用戶還根本無法安裝應用軟體。大家記得身邊有些人是花多長時間理解「添加刪除程序的」。
同樣,普及或者商業化必然就要走集成的道路。從最早期的紅帽子,到GNOME,KDE的問世。社區已經盡力提供了各種手段來促進Linux的市場和普及。當然也越來越類似windows,一些操作方式開始向windows兼容。而近年來國內一個Linux廠商的發行本將這種趨勢推至極限,因此相當的受國際社區的反感。
第三方軟體的管理機制
除了歷史遺留問題和向DOS兼容問題。一些Windows的機制我認為不是一個Linux愛好者們所說的缺陷,而是最大限度的面向市場的結果。下面一一舉例說明:
1)目錄的管理方式和注冊表
windows使用相互獨立的第三方軟體目錄組織方式,並且盡量避免不必要的軟體安裝到系統的目錄下。這樣的組織正是市場最大化的結果。由於商業競爭,封閉源代碼的原因。每個廠商在開發軟體時的命名相互之間經常產生沖突,即使是共享庫之間也互不兼容。唯一的辦法就是放在各自的目錄下。但這樣運行程序的時候的路徑又成了問題,於是目錄的方式必然導致了注冊表的誕生,讓程序員通過注冊表解決路徑問題。同樣也捎帶解決了配置文件的路徑問題,可以盡量少的避免使用配置文件了。
linux向來就沒有第三方的軟體的概念,從unix被發明時起就是這樣。所有的軟體都裝在標準的幾個目錄下,而信息的高度共享是避免沖突的最有效的方式。這種方式可以把腳本的作用發揮到極限,以我個人的觀點:同樣是腳本,對windows和linux的意義有本質的區別。二者區別的根本原因就是目錄的組織。而由於是信息的透明,如存在操作系統對第三方軟體的保密問題,也不存在沖突問題。但是,也註定起不到windows那樣的商業效果。
2)病毒的肆虐,歷史遺留和市場綜合作用的結果
我個人不同意*nix上鮮有病毒是因為用戶數量過少的說法。我認為windows上的病毒肆虐主要有兩個因素:
首先是歷史遺留問題。unix從一開始就是多用戶多人的操作系統,所以首先從一開始就要為許可權等安全問題考慮,並且制定了一套在相當長一段時期行之有效的安全機制。而DOS的目標是在一個性能十分有限的微型計算機上提供一個簡單的系統。這是十分合理的!但是卻為後來的系統設計安全機制帶來了兼容的問題。這是作為一個廠商和封閉源代碼的軟體必須考慮的。也導致了早期windows的16位代碼等等。而且這些問題一直延伸到最新的操作系統和文件系統。最新的 NT內核的系統也從unix身上借鑒了一些特性。但受兼容性的束縛很多問題的解決幾乎是不可能的。很多問題不是微軟造成的,包括第三方的廠商甚至是用戶本身造成的。
具體來說現在裝機用戶很多都是用在零售商那裡的ghost的系統。不論多大的硬碟會被等分4-6個分區。而且全都FAT32的文件系統。而且大多數用戶在重新安裝系統時也不會將系統分區改成NTFS,更不會改動其他的分區。這樣就帶來了更多的病毒隱患,而很多病毒是在機制上早就解決了的。
另外,幾乎全部的XP的桌面用戶每天都在以超級用戶身份使用系統。一種原因是因為XP上默認的用戶許可權就是超級用戶。而令一個原因也迫使用戶不得不每天使用超級用戶,應該是廠商的水平和遺留問題。絕大部分的應用軟體,尤其是國產軟體在其他低許可權的用戶的登錄上是無法正常使用的。通常情況廠商限於水平無法同系統的安全機制達成一致。比如國產殺毒軟體很多,但注冊系統服務的不多。我所見的同windows的安全機制結合的最好的恐怕是諾頓的軟體。注冊系統服務。而且用戶數據保存在用戶的主目錄下(Do*****ents and Settings下的用戶名的文件夾下)等等措施保證了無論以任何身份運行登錄,殺毒軟體都能夠正常的起作用。而大多數的國產軟體以一個管理員的身份安裝之後,在另一個管理員的桌面和菜單上都找不到圖標!一些軟體將數據包存在安裝目錄下,這本來就是單用戶系統下的習慣。比如QQ,默認情況下低許可權用戶根本沒辦法使用正常,要設置Tencent文件夾的許可權才行,這樣這個文件夾又成了對所有用戶可寫的了!如果把用戶數據保存到Do*****ents and Settings下,每個用戶相互獨立有什麼困難?恐怕是照顧一些使用98的用戶或者自己的程序員吧!大家都使用超級用戶,好啊!病毒什麼的都懶得研究什麼許可權提升了!想改什麼就改什麼!記得一個同學叫我去殺毒!我一看現在的病毒真的是簡單了!直接把文件名一改省得感染文件了。然後在 autorun.ini里加上一條就可以保證運行傳播了!而這個病毒據說還是大名鼎鼎的流行!如果大家平時不用管理員的話,這個病毒恐怕根本沒有傳播的可能!所以IE和firefox都用漏洞,但IE可能就回感染系統,而firefox只能感染用戶。這不是系統的問題,只是用戶自身的問題,當然系統要對用戶養成這些毛病負責!
然後就是市場問題,記得*nix出現病毒或者蠕蟲的話。都是有人發布補丁的。蠕蟲這里不談,因為蠕蟲主要是通過服務傳播的,是服務的缺陷。*nix的每個病毒都象徵這一些機制的問題。於是這些機制一旦修正,所有同類的病毒就不會感染了!於是*nix下的殺毒軟體其實是查殺通過samba monnt的目錄上的windows病毒。但作為windows來講,病毒意味著意想不到的市場!而且這么大的經濟效益也能推動全球的經濟增長!用三個代表判斷也是對人民有利的!
3)IDE
我覺得不同意那些對linux下IDE環境的看法。對優秀的程序員來說,整個Linux就是一個IDE,只不過你同他打交道不是用滑鼠點擊,而是用命令和腳本程序。由於上面談到的目錄的優勢,所有的程序都被組織在一起了!其實是一個傳統IDE的不同功能模塊被在不同的幾個程序中實現了,而且合作起來也更加靈活。而這個IDE除了軟體開發還可辦公和娛樂,集成度顯然更高了!有些人甚至網頁之類的都用腳本來處理寫好的帶標記的文本來發行出去。如果說哪種IDE 更加高效的話,理所當然是這種全自動的方式。
Linux在中國,文化和市場
Linux在中國達到今天的規模完全是市場的作用,說實話教育界起到的微弱的作用讓人十分遺憾。人們透過媒體知道了Linux。不管是否處於宣傳者的本意,linux被扣上了「高深」的光環。「CLI」、「用於伺服器」之類的說法嚇走了一批觀望者,也有吸引了一批喜歡挑戰難度的人眼球。應該說這批人都是優秀的人,但不是全部優秀的人都會對Linux產生興趣。因為宣傳中透露出linux一個特點「不成熟」,「不成熟」意味著沒錢途。
人才的缺乏卻給了勇敢的人「錢途」。他們成了優秀的程序員或者系統管理員,開發了很多優秀的軟體。然而絕大多數為了公司,卻很少為了社區。也有人成為了商業unix系統的管理員。
客觀地講,Linux的文化向國內的傳播相對於市場向國內擴展是十分緩慢的。大陸的Linux廠商和產品比港台多,但是幾乎所有擁有中文化信息的國際開源社區中香港和台灣的參與者都比大陸的活躍,你可以看到支持GB的軟體遠少於BIG5,zh_CN的文檔遠少於zh_TW。成熟的程序員們也不願意些入門的文檔。只有少數人以論壇版主的身份整理文章和搜集資料。文檔的缺乏和語言的隔閡使我們遲遲不能真正的了解到國際社區的文化,更談不上回報社區。媒體上的報道全部以市場為中心……國際社區疑惑了,中國人到底對linux感不感興趣?
關於市場格局的報道太多,我手頭沒數據沒辦法評論。但是與一些報道不符的是,作為一種特殊的商業產品。linux的市場不能單單的拿訂單來衡量,也不能看政府的笑臉分析。在中國RedHat/Fedora的用戶數量占絕對的優勢(程序員背景的用戶較偏向debian和gentoo),只要到幾個中文的 Linux社區看看就知道了。這些目前的用戶將來一旦成了技術人員就是潛在的訂單。這種規模的用戶份額除了和國際市場的規模之外,主要和RedHat苦心經營的社區效應有關,通過fedora社區RedHat的開發人員幾乎同用戶和貢獻者們無縫地交流。相比之下急於開拓市場的紅旗卻沒有意識到這一點。多數用戶對紅旗的了解少得可憐。已經成為制約公司發展的瓶頸。以中國目前的現狀來看,社區的意義不僅在於潛在的市場和用戶,也是為公司自己培養人才。
個人雖然不贊成製作和發行帶有民族氣質性的linux發行版本,但還是希望國內誕生越來越多的基於社區發展起來的發行版本的開發團隊以及其他的開發人員社區。同市場的曇花一現相比社區的發展壯大才跟家的持久和有力。
文化角度的Linux未來展望
觀望這幾年國際linux和其他開源系統的發展。社區的發展遠遠比市場的發展要明顯得多,從文化的傳播的角度看來這是一種巨大的成功。為了保持和發揚這種成果,我們需要為社區吸引更多的用戶和開發人員。讓更多的軟體使用開源的許可協議。
在國內linux的用戶可能會從學校開始逐漸的擴大。但在市場上可能還是體現在更多的商業的Unix的優秀人才的增多。這些人才普遍是在linux社區成長起來的。另外國內的用戶會對國際的開源社區有更多的了解。更多的資料被翻譯成簡體中文。最重要的是國際社區中會出現更多的中國人。國內也會出現一些較為成熟、具有一定規模的開發社區。
Linux程序員和用戶身上的優秀的品質和文化氣息會吸引更多的人渴望了解和使用Linux面對他們社區的成員們應該比以前有更好的姿態去面對這些未來的同伴們。開源軟體除了影響本身的開發人員和用戶以外,也會對window下的程序員產生更大的影響,進而促進windows下的開發人員提高自己的水平,能夠編寫出同系統設計風格一致的軟體。在改進安全性的同時也意識到開源對於他們的重大意義。
在同商業模式結合方面我並沒有權力去做什麼展望。就想去預測股市一樣。Linux對未來的意義在於:通過文化的影響力讓一些被作為商品的技術盡快的被普及和貶值,以此來消除知識傳播的壁壘和刺激更新的技術的不斷更新。而對最新的技術開放源代碼也可以讓這些技術得到最快速的推廣和實現。
附:如何學習linux?
做為中國人的特殊情況,學習linux對中國人來說要做的事情相對多了一些:
1、以linux為榮耀,以幫助他人了解和學習linux為己任。
2、堅持訪問英文網站,尤其是一些大師的個人主頁。堅持閱讀英文文檔,並盡量翻譯你讀過的文檔發表到國內的社區上供他人閱讀和整理
3、了解unix的歷史,linux的歷史和hacker的歷史及文化。
4、盡可能聯系所以可以聯繫到Linux的愛好者,盡可能多的了解你能接觸到的最了解linux的人對linux的看法。並於自己的觀點相比較。
5、空閑時思索為什麼自己喜歡linux,別人為什麼喜歡linux。為什麼你們喜歡的理由不同?
6、閱讀各類的開源許可協議和商業的用戶許可協議。對比他們各有哪些問題和優勢。
以上使你了解開源文化,是作為一個合格的linux社區成員的前提。
7、安裝一個linux的發行版本。
8、盡你最大的能力把你的學習、娛樂或者工作的環境轉移到linux上來。盡量避免尋找linux功能類似的軟體,而是尋找linux下解決同樣問題的通用的方法。並且對比同windows下的解決方法哪種更加優越。
9、學會SHELL編程。SHELL幾乎可以作為一個入門語言來學習。最低的要求是能夠看懂你自己的版本的linux的配置腳本。理解為什麼一些帖子中里提到的配置方法回起作用,並了解你的發行版本怎樣從每個配置文件中把設置用環境變數的形式讀取並讓他生效的。
10、學會安裝以各種方式發行的程序,並且讓他們的安裝同你系統的慣例一致。熟悉X windows的運作方式。熟悉你的發行版本的安全機制,並且學會定製他們按你的需求工作。
如果僅僅是作為用戶並且部分體會unix的哲學,上面的幾點就足夠了。個人認為這幾點足夠成長為一個合格的Linux用戶了。甚至只要再稍稍的擴充就可以製作自己的發行版本了!而對於不同的用戶群體,比如辦公用戶或者科研人員等。第8條意味著不同的標准。
11、選擇一門或幾門語言社區常用的編程語言。
12、搜集社區或者hackers推薦的圖書或資料、網站、新聞組等。
13、選擇一個較小的用你當前學習的語言開發的開源項目。閱讀他的代碼,並且對比他的代碼和你形象的編寫方式是否相同?哪種更加優越?
14、嘗試按照TODO中的要求為這個軟體編寫代碼,並且同他的作者聯系。學習autoconf和automake等工具的用法。
15、你也可以不參與項目的開發,但仍然能從代碼閱讀中獲益。如果項目是一種你沒有接觸到的技術或者標準的實現,那麼搜集資料讀懂它!
16、學會使用linux下的調試工具,如果軟體還不太穩定,可以幫助找出BUG並且改正。並且學會製作patch發給作者。
17、如果曾是windows的程序員,嘗試把開發環境轉移到linux下來。或者開始在windows的開發工作中使用開源的開發工具和SDK。
18、如果是系統管理員,還要學會在linux部署更強的各類的安全方案。但這已經不屬於學習linux的范疇了。
上面介紹了幾條學習的要求,主要強調的是學習的態度。至於具體什麼樣的技術和自己應該在技術層次上的要求,按照上面介紹的方法應該會慢慢的體會到。
linux操作系統的全稱是GNU/Linux,它是由GNU工程和linux內核兩個部分共同組成的一個操作系統,雖然這個系統誕生於1992年,比windows操作系統要晚,但是與windows相比它有很多獨到的優勢。
首先,對於普通用戶而言它有以下幾個優點:
1.極高的穩定性
回顧linux的歷史我們會發現,linux操作系統的架構完全沿襲了UNIX的系統架構,所以先天就具有成熟穩定的特點,在這方面不是另起爐灶的windows系列操作系統可以比擬的。大家都知道,windows系統最為人垢病的缺陷之一就是系統的穩定性差,藍屏死機相信每個windows用戶都親身體驗過。雖然1999年微軟不惜花費巨資打造了win2000這個劃時代的產品,系統的穩定性得到了加強,後續發布的xp和2003更進一步增強了穩定性,但是藍屏死機的問題只是有所緩解而沒能徹底的根治。反觀linux系統,早在上個世紀九十年代,美國motorola公司在選擇電信級的操作系統的時候就選擇了linux系統,它的運行可靠性要求達到99.999%。這個可靠性所代表的含義是每年的計劃外停機時間累計不得超過5分鍾,由此看見 linux系統所具有的穩定性不是win系統可以望其項背的。
2.先天的安全性
可以說一個操作系統的架構就已經預先決定了它的安全性。linux系統在設計的時候就是針對多用戶環境的,所以對系統文件,用戶文件都做了明確的區分,每個文件都有不同的用戶屬性。作為一個普通用戶通常只能讀寫自己的文件,而對一般的系統文件只能讀取而不能改動,一些敏感的系統文件甚至連讀取都是被禁止的。這種設計在根本上保證了系統的安全,即使一個用戶文件出現了問題,也不會泱及整個系統。反觀windows系統,在win2000之前的時代,用戶與用戶之間是沒有這種差別的,幾乎所有的系統用戶都有管理員的許可權,可以任意改動系統文件。即使後來微軟意識到了這個問題,在後續的系統中區分了管理員和普通用戶這兩種用戶,但是在許可權的問題上他還是沒有很好的解決這個問題,管理員能做的,普通用戶還是基本都可以做,比如安裝軟體,修改系統設置,刪除用戶文件。這從而也說明了,為什麼一旦windows的一個普通用戶中了病毒或者木馬,通常會危及整個系統的安全,而在linux世界這樣的情況幾乎沒有出現過的原因。
3.軟體安裝的便利性
對於計算機初級用戶來說,軟體安裝是個很大的問題。在windows平台下,如果你不知道軟體應該安裝通常只要一直用滑鼠點「下一步」就可以完成安裝。在linux平台下,軟體安裝的便利性方面曾一度落後於win,但是apt的出現使得這種局面得到了徹底的改觀,用戶只要告訴安裝程序自己現在需要安裝什麼軟體,安裝程序就會自動去下載這個程序,然後安裝,最後等待用戶開始運行它。從這個意義上將,linux已經超越了win軟體的安裝方式,進一步降低了用戶的參與程度,方便了用戶。
其次,談一下對開發人員來說linux有哪些優勢
1.系統所有組件的源代碼都是自由的
首先需要澄清的就是自由的含義。自由軟體所指的自由不是免費使用,而是指程序的源代碼是開放的,任何人都可以讀,可以修改,唯一的限制就是,修改後的程序必須連同源代碼也一起發布。對於普通用戶而言這一點也許沒什麼用處,但是對於開發人員來說,你們可以通過讀取大量的經典程序的源代碼,迅速提高自己的編碼水平,在需要的時候可以修改源代碼來適應自己的需要,當你主持一個項目的開發時,你可以通過吸收別人改進過的代碼來不斷提高這個項目的質量,當你的程序中存在bug的時候,會被讀取代碼的人迅速發現並提供補丁程序,使你的程序越來越安全。當你進入linux世界的時候你會發現,這里就是程序員的天堂,所有的一切你都可以主宰。而所有這些在linux平台上都是再正常不過的事,但是對於windows用戶來說這些都是不可能的,源代碼就是 windows的生命,任何未經授權的人想讀到它都是不可能的。
2.有效保護學習成果
前面我們講到linux的系統架構源於UNIX,這個架構從1969年誕生至今一直沿用,在可以預見的未來它仍然會使用下去。同時主力的開發語言一直是C語言,編輯器仍然是歷史悠久的vi。雖然現在你可以使用任何一種語言來為linux系統貢獻代碼,但是它們的作用都是輔助性的,C語言作為這個系統的核心語言的地位沒有發生變化。而windows平台則遠遠沒有這么樂觀。編程語言從古老的BASIC到後來的VB,C++到現在的C#,幾年就一換,開發工具更是令人眼花繚亂,讓人無從選擇,無論你選擇了哪種語言哪種開發工具,兩三年後你都不得不學習新工具的使用,新平台的特點,以跟上微軟變幻莫測的腳步。只有過來人才能體會到做windows平台開發的艱辛和無奈。
3.從就業的前景來看
目前做windows平台開發的程序員多如牛毛,沒有研究生級別的學歷和過硬的編碼能力想找到一分待遇優厚的工作已經不可能了。而反觀linux 平台開發,目前國內這方面的開發人員還很少,而linux應用已經在我國開始升溫,廣東省已經率先建立了linux的研發中心,在linux應用方面走在了全國前面。大家現在及時投身於linux平台的學習和開發,必定會為畢業後的求職增加一個有力的籌碼。雖然現在廣告上宣傳的linux程序員月薪1萬以上不能完全相信,但是它必定給我們一個信號,linux程序員在中國是大有前途的。
Ⅳ java程序里調用linux命令
Java語言以其跨平台性和簡易性而著稱,在Java裡面的lang包里(java.lang.Runtime)提供了一個允許Java程序與該程序所運
行的環境交互的介面,這就是Runtime類,在Runtime類里提供了獲取當前運行環境的介面。
其中的exec函數返回一個執行shell命令的子進程。exec函數的具體實現形式有以下幾種:
public Process exec(String command) throws IOException
public Process exec(String command,String[] envp) throws
IOException
public Process exec(String command,String[] envp,File dir) throws
IOException
public Process exec(String[] cmdarray) throws IOException
public Process exec(String[] cmdarray, String[] envp) throws
IOException
public Process exec(String[] cmdarray, String[] envp,File dir)
throws IOException
我們在這里主要用到的是第一個和第四個函數,具體方法很簡單,就是在exec函數中傳遞一個代表命令的字元串。exec函數返回的是一個Process類
型的類的實例。Process類主要用來控制進程,獲取進程信息等作用。(具體信息及其用法請參看Java doc)。
1)執行簡單的命令的方法:
代碼如下:
Ⅳ 請問mysql怎麼自動備份資料庫
資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。