轉(zhuǎn)自: http://www.kawabangga.com/posts/397
以下是內(nèi)容:
如何成為一名黑客
Posted on 2014年3月31日
by laixintao 0 Comments
//時(shí)隔多年,今天又在伯樂在線看到了這篇文章,每看一次就有一次的收獲阶界。
原文出處: Eric Steven Raymond
譯者出處:****Barret
為什么會(huì)有這份文檔律适?
作為 Jargon File 的編輯和 一些其他有名的類似性質(zhì)文章的作者,我經(jīng)常收到充滿熱情的網(wǎng)絡(luò)新手的郵件提問(確實(shí)如此) “我如何才能成為一名出色的黑客炎功?”非常奇怪的是盏筐,似乎沒有任何的FAQ或者網(wǎng)絡(luò)文檔來說明這個(gè)十分重要的問題狼纬,因此我寫了一份缴啡。
如果你現(xiàn)在讀的是這份文檔的離線拷貝壁晒,那么請(qǐng)注意當(dāng)前最新版本(英文版)在http://catb.org/~esr/faqs/hacker-howto.html 可以得到。
注意:在這份文檔最后有 FAQ(常問問題解答)业栅。 請(qǐng)?jiān)谙蛭姨岢鋈魏侮P(guān)于這份文檔的疑問之前讀兩遍秒咐。
目前這份文檔有很多翻譯版本: 保加利亞語, 簡(jiǎn)體中文碘裕, 繁體中文携取, 丹麥語, 荷蘭語娘汞, 法語歹茶, 德語夕玩, 匈牙利語你弦, 印尼語, 日語燎孟, 朝鮮語禽作, 葡萄牙語, 俄語及 瑞典語揩页。 注意由于這份文檔時(shí)有修正旷偿,所以以上翻譯版本可能有不同程度的過時(shí)。
什么是黑客爆侣?
Jargon File 包含了一大堆關(guān)于“hacker”這個(gè)詞的定義萍程,大部分與技術(shù)高超和熱衷解決問題 及超越極限有關(guān)。但如果你只想知道如何 成為 一名黑客兔仰, 那么只有兩件事情確實(shí)相關(guān)茫负。
這可以追溯到幾十年前第一臺(tái)分時(shí)小型電腦誕生, ARPAnet 實(shí)驗(yàn)也剛展開的 年代,那時(shí)有一個(gè)由程序設(shè)計(jì)專家和網(wǎng)絡(luò)名人所組成的, 具有分享特點(diǎn)的文化社群乎赴。 這種文化的成員創(chuàng)造了 “hacker” 這個(gè)名詞忍法。黑客們建立了 Internet。 黑客們發(fā)明出了現(xiàn)在使用的 UNIX 操作系統(tǒng)榕吼。黑客們使 Usenet 運(yùn)作起來饿序, 黑客們讓 WWW 運(yùn)轉(zhuǎn)起來。如果你是這個(gè)文化的一部分羹蚣,如果你對(duì)這種文化有所貢獻(xiàn)原探,而且 這個(gè)社群的其它成員也認(rèn)識(shí)你并稱你為 hacker, 那么你就是一位黑客。
黑客精神并不僅僅局限在軟件的黑客文化中。 有人用黑客態(tài)度對(duì)待其它事情咽弦,如電子學(xué)和音樂—— 事實(shí)上告匠,你可以在任何最高級(jí)別的科學(xué)和藝術(shù)活動(dòng)中發(fā)現(xiàn)它。 精于軟件的黑客贊賞這些在其他領(lǐng)域的同類并把他們也稱作黑客—— 有人宣稱黑客天性是絕對(duì)獨(dú)立于他們工作的特定領(lǐng)域的离唬。 但在這份文檔中后专, 我們將注意力集中在軟件黑客的技術(shù)和態(tài)度, 以及發(fā)明了“黑客”一詞的以共享為特征的文化傳統(tǒng)之上输莺。
有一群人大聲嚷嚷著自己是黑客戚哎,但他們不是。 他們(主要是正值青春的少年)是一些蓄意破壞計(jì)算機(jī)和電話系統(tǒng)的人嫂用。 真正的黑客把這些人叫做“駭客”(cracker)型凳,并不屑與之為伍。 多數(shù)真正的黑客認(rèn)為駭客們又懶又不負(fù)責(zé)任嘱函,還沒什么大本事甘畅。 專門以破壞別人安全為目的的行為并不能使你成為一名黑客, 正如 用鐵絲偷開走汽車并不能使你成為一個(gè)汽車工程師往弓。 不幸的是疏唾,很多記者和作家往往錯(cuò)把“駭客”當(dāng)成黑客; 這種做法一直使真正的黑客感到惱火函似。
根本的區(qū)別是:黑客搞建設(shè)槐脏,駭客搞破壞。
如果你想成為一名黑客撇寞,請(qǐng)接著讀下去顿天。如果你想做一個(gè)駭客,去讀 alt.2600 新聞組蔑担,并在意識(shí)到你并不像自己想象的那么聰明后去坐五到十次監(jiān)獄牌废。 關(guān)于駭客,我只想說這么多啤握。
黑客應(yīng)有的態(tài)度
黑客們解決問題鸟缕,建設(shè)事物,同時(shí)他們崇尚自由和無私的雙向幫助恨统。 要被他人承認(rèn)是一名黑客叁扫,你的行為得體現(xiàn)出你好像具備了這種態(tài)度一般。 而要想做得好象你具備這種態(tài)度一般畜埋,你就得切切實(shí)實(shí)堅(jiān)持它莫绣。
但是如果你認(rèn)為培養(yǎng)黑客態(tài)度只是一條在黑客文化圈中得到承認(rèn)的路子, 那就大錯(cuò)特錯(cuò)了悠鞍。成為具備這些特質(zhì)的這種人對(duì) 你自己非常重要——有助于你學(xué)習(xí)对室,及給你提供源源不斷的動(dòng)力模燥。 同所有創(chuàng)造性的藝術(shù)一樣,成為大師的最有效方法就是模仿大師的精神—— 不僅從智力上掩宜,也要從感情上進(jìn)行模仿蔫骂。
或許, 下面這首現(xiàn)代的禪詩很好的闡述了這個(gè)意思:
To follow the path:(沿著這樣一條道路:)look to the master,(尋找大師,)follow the master,(跟隨大師牺汤,)walk with the master,(與大師通行辽旋,)see through the master,(洞察大師,)become the master.(成為大師檐迟。)
嗯补胚,如果你想成為一名黑客,反復(fù)讀下面的事情直至你相信它們:
世界充滿了待解決的迷人問題追迟。
做一名黑客會(huì)有很多樂趣溶其,但卻是要費(fèi)很多氣力方能得到的樂趣。 這些努力需要?jiǎng)恿Χ丶洹3晒Φ倪\(yùn)動(dòng)員從鍛煉身體瓶逃、超越自我極限的愉悅中得到動(dòng)力。 同樣廓块,做黑客厢绝,你得能從解決問題,磨練技術(shù)及鍛煉智力中得到基本的樂趣剿骨。
如果你還不是天生的這類人又想做黑客代芜,你就要設(shè)法成為這樣的人埠褪。 否則你會(huì)發(fā)現(xiàn)浓利,你的黑客熱情會(huì)被其他分心的事物吞噬掉——如金錢、性和社會(huì)上的虛名钞速。
(同樣你必須對(duì)你自己的學(xué)習(xí)能力建立信心——相信盡管當(dāng)你對(duì)某問題近乎一無所知贷掖, 但只要你一點(diǎn)一點(diǎn)地試驗(yàn)、學(xué)習(xí)渴语,最終會(huì)掌握并解決它苹威。)一個(gè)問題不應(yīng)該被解決兩次。
聰明的腦袋是寶貴的有限的資源驾凶。當(dāng)世界還充滿非常多有待解決的有趣的新問題時(shí)牙甫, 它們不應(yīng)該被浪費(fèi)在重新發(fā)明輪子這類事情上。
作為一名黑客调违,你必須相信其他黑客的思考時(shí)間是寶貴的——因此共享信息窟哺, 解決問題并發(fā)布結(jié)果給其他黑客幾乎是一種道義,這樣其他人就可以去解決 新問題而不是不斷地忙于對(duì)付舊問題技肩。
(你不必認(rèn)為一定要把你 所有的發(fā)明創(chuàng)造公布出去且轨, 但這樣做的黑客是贏得大家極度尊敬的人。賣些錢來養(yǎng)家糊口,租房買計(jì)算機(jī) 甚至發(fā)大財(cái)和黑客價(jià)值觀也是相容的旋奢,只要你別忘記你還是個(gè)黑客泳挥。)無聊和乏味的工作是罪惡。
黑客(泛指具有創(chuàng)造力的人們)應(yīng)該從來不會(huì)被愚蠢的重復(fù)性勞動(dòng)所困擾至朗, 因?yàn)楫?dāng)這種事情發(fā)生時(shí)就意味著他們沒有在做只有他們才能做的事情—— 解決新問題屉符。這樣的浪費(fèi)傷害每一個(gè)人。因此锹引,無聊和乏味的工作不僅僅是 令人不舒服而已筑煮,而且是罪惡。
作為一個(gè)黑客粤蝎,你必須堅(jiān)信這點(diǎn)并盡可能多地將乏味的工作自動(dòng)化真仲, 不僅為你自己,也為了其他人(尤其是其他黑客們)初澎。
(對(duì)此有一個(gè)明顯的例外秸应。黑客有時(shí)也做一些在他人看來是重復(fù)性或枯燥的工作 以進(jìn)行“腦力休息”,或是為了獲得某種技能碑宴,或是獲得一些除此以外無法獲得的 特別經(jīng)驗(yàn)软啼。但這是自愿的——有腦子的人不應(yīng)該被迫做無聊的活兒。)自由萬歲延柠。
黑客們是天生的反獨(dú)裁主義者祸挪。 任何能向你發(fā)命令的人能夠迫使你停止解決令你著迷的問題, 同時(shí)贞间,按照獨(dú)裁者的一般思路贿条,他通常會(huì)給出一些極端愚昧的理由。 因此增热,不論何處整以,任何獨(dú)裁主義的作法,只要它壓迫你和其他黑客峻仇,你就要和它斗到底公黑。
(這并非向所有權(quán)威挑戰(zhàn)。兒童需要監(jiān)護(hù)摄咆,罪犯要被看管起來凡蚜。 如果服從命令得到某種東西比起用其他方式得到它更節(jié)約時(shí)間,黑客可以同意 接受某種形式的權(quán)威吭从。但這是一個(gè)有限度的朝蜘,有意的交易; 那種權(quán)威想要的個(gè)人服從不是你應(yīng)該同意給予的影锈。)
權(quán)威喜歡審查和保密芹务。他們不信任自愿的合作和信息的共享—— 他們只喜歡由他們控制的所謂“合作”蝉绷。因此,作為一個(gè)黑客枣抱, 你得對(duì)審查熔吗、保密,以及使用武力或欺騙去壓迫有行為能力的人們的做法有一種本能的敵意佳晶。 同時(shí)你要有為此信念斗爭(zhēng)的意愿桅狠。態(tài)度不能替代能力。
作為一名黑客轿秧,你必須培養(yǎng)起這些態(tài)度中跌。 但只具備這些態(tài)度并不能使你成為一名黑客,也不能使你成為一個(gè)運(yùn)動(dòng)健將和搖滾明星菇篡。 成為一名黑客需要智力漩符,實(shí)踐,奉獻(xiàn)精神和辛苦工作驱还。
因此嗜暴,你必須學(xué)會(huì)懷疑,并尊重各種各樣的能力议蟆。 黑客們不會(huì)為那些裝模做樣的人浪費(fèi)時(shí)間闷沥,但他們卻非常尊重能力—— 尤其是從事黑客工作的能力,不過任何能力總歸是好的咐容。 具備很少人能具備的那些方面的能力尤其好舆逃,其中具備 涉及腦力、技巧和專注方面能力的當(dāng)然最好戳粒。
尊敬能力路狮,你就會(huì)享受到提高自己能力的樂趣—— 辛苦的工作和奉獻(xiàn)會(huì)變成一種高度娛樂而非苦差事。 要想成為一名黑客享郊,這一點(diǎn)非常重要览祖。
黑客的基本技能
黑客態(tài)度重要,但技術(shù)更加重要炊琉。 態(tài)度無法替代技術(shù),在你被別的黑客稱為黑客之前又活,有一些基本的技術(shù)你必須掌握苔咪。
這些基本技術(shù)隨著新技術(shù)的出現(xiàn)和老技術(shù)的過時(shí)也隨時(shí)間在緩慢改變。 例如柳骄,過去內(nèi)容包括使用機(jī)器語言編程团赏,而直到最近才包括了HTML。 總的來說現(xiàn)在主要包括以下技術(shù):
學(xué)習(xí)如何編程耐薯。
這當(dāng)然是最基本的黑客技能舔清。如果你還不會(huì)任何編程語言丝里,我建議你從Python開始。 它設(shè)計(jì)清晰体谒,文檔齊全杯聚,合適初學(xué)者入門。 它是一門很好的入門語言抒痒,并且不僅僅只是個(gè)玩具幌绍; 它非常強(qiáng)大、靈活故响,也適合做大型項(xiàng)目傀广。 我有一篇 Python評(píng)價(jià)詳細(xì)說明這點(diǎn)。好的 教程 可以在Python網(wǎng)站得到彩届。 (譯者:比較好的中文Python站點(diǎn)可能是http://pythonrecord.51.net伪冰。)
Java也是好的入門語言。它比Python難得多樟蠕,但是生成的代碼速度也快得多糜值。 它同時(shí)也是一種優(yōu)秀的計(jì)算機(jī)語言,不止是用來入門坯墨。
但是注意寂汇,如果你只會(huì)一兩門語言,你將不會(huì)達(dá)到黑客所要求的技術(shù)水平捣染, 甚至也不能達(dá)到一個(gè)程序員的水平——你需要學(xué)會(huì)如何以抽象的方式思考編程問題骄瓣, 獨(dú)立于任何語言。要做一名真正的黑客耍攘,你需要學(xué)會(huì)在幾天內(nèi)通過一些手冊(cè)榕栏, 結(jié)合你現(xiàn)在所知,迅速掌握一門新語言蕾各。這意味著你應(yīng)該學(xué)會(huì)幾種截然不同的語言扒磁。
如果要做一些重要的編程工作,你將不得不學(xué)習(xí)C語言式曲,Unix的核心語言妨托。 C++與C非常其他類似;如果你了解其中一種吝羞,學(xué)習(xí)另一種應(yīng)該不難兰伤。 但這兩種都不適合編程入門者學(xué)習(xí)。而且事實(shí)上钧排,你越避免用C編程敦腔,你的工作效率會(huì)越高。
C非常有效率恨溜,節(jié)約你的機(jī)器資源符衔。不幸的是找前,C的高效是通過你手動(dòng)做很多底層的管理 (如內(nèi)存)來達(dá)到的。底層代碼都是復(fù)雜極易出現(xiàn)bug的判族,會(huì)使你花極多的時(shí)間調(diào)試躺盛。 如今的機(jī)器速度如此之快,這通常是得不償失——比較明智的做法是使用一種運(yùn)行較慢五嫂、較低 效率颗品,但大幅節(jié)省你的時(shí)間的語言。因此沃缘,選擇Python躯枢。
其他對(duì)黑客而言比較重要的語言包括 Perl和 LISP。 Perl實(shí)用槐臀,值得一學(xué)锄蹂;它被廣泛用于動(dòng)態(tài)網(wǎng)頁和系統(tǒng)管理, 因此即便你從不用Perl寫程序水慨,至少也應(yīng)該學(xué)會(huì)看得糜。許多人使用Perl的理由和 我建議你使用Python的理由一樣,都是為了避免用C完成那些不需要C高效率的工作晰洒。 你會(huì)需要理解那些工作的代碼的朝抖。
LISP值得學(xué)習(xí)的理由不同——最終掌握了它時(shí)你會(huì)得到豐富的啟迪和經(jīng)驗(yàn)。 這些經(jīng)驗(yàn)會(huì)使你在以后的日子里成為一個(gè)更好的程序員谍珊,即使你實(shí)際上很少使用LISP本身治宣。
當(dāng)然,實(shí)際上你最好五種都會(huì)(Python砌滞,Java侮邀,C/C++,Perl和LISP)。 除了是最重要的黑客語言外,它們還代表了截然不同的編程思路和方法护戳,每種都會(huì)讓你受益非淺。
這里我無法給你完完全全的指導(dǎo)教會(huì)你如何編程——這是個(gè)復(fù)雜的技能华畏。 但我可以告訴你,書本和上課也不能作到(最好的黑客中胧卤,有許多唯绍,也許 幾乎都是自學(xué)成材的)。 你可以從書本上學(xué)到語言的特點(diǎn)——只是一些皮毛枝誊, 但要使書面知識(shí)成為自身技能只能通過實(shí)踐和虛心向他人學(xué)習(xí)。 因此要作到 (一)讀代碼及(二)寫代碼惜纸。
學(xué)習(xí)如何編程就象學(xué)習(xí)用優(yōu)美的自然語言寫作一樣叶撒。 最好的做法是讀一些大師的名著绝骚,試著自己寫點(diǎn)東西,再讀些祠够,再寫點(diǎn)压汪,再讀些,再寫點(diǎn)…… 如此往復(fù)古瓤,直到你的文章達(dá)到你體會(huì)到的范文的簡(jiǎn)潔和力量止剖。
過去找到適合閱讀的好的代碼是困難的,因?yàn)閹缀鯖]有大型程序的源代碼能讓新手練手落君。 這種狀況已經(jīng)戲劇性地發(fā)生變化穿香;開放源代碼軟件,編程工具和操作系統(tǒng)(全都由黑客寫成)現(xiàn)在已經(jīng) 隨處可見绎速。讓我們?cè)谙乱粋€(gè)話題中繼續(xù)討論……得到一個(gè)開放源代碼的Unix并學(xué)會(huì)使用皮获、運(yùn)行它。
我假設(shè)你已經(jīng)擁有或者能使用一臺(tái)個(gè)人電腦(今天的孩子們真幸福 [圖片上傳中纹冤。洒宝。。(1)] )萌京。新手們能夠朝學(xué)習(xí)黑客技能邁出的最基本的一步就是得到 一份Linux或BSD-Unix的一種雁歌,安裝在個(gè)人電腦上,并運(yùn)行它知残。
沒錯(cuò)靠瞎,這世界上除了Unix還有其他操作系統(tǒng)。 但它們都是以二進(jìn)制形式發(fā)布的——你無法讀到它的源代碼橡庞,也不可能修改它较坛。 嘗試在運(yùn)行DOS或Windows或MacOS的機(jī)器上學(xué)習(xí)黑客技術(shù),就象是帶著腳鐐學(xué)跳舞扒最。
除此之外丑勤,Unix還是Internet的操作系統(tǒng)。 你可以學(xué)會(huì)上網(wǎng)卻不知道Unix吧趣,但你不了解Unix就無法成為一名Internet黑客法竞。 因此,今天的黑客文化在很大程度上是以Unix為中心的强挫。(這點(diǎn)并不總是真的岔霸, 一些很早的黑客對(duì)此一直很不高興,但Unix和Internet之間的聯(lián)系已是如此之強(qiáng)俯渤, 甚至連Microsoft也無可奈何呆细。)
所以, 安裝一套UNIX——我個(gè)人喜愛LINUX但還有其他種類的 (是的,你可以同時(shí)安裝Linux及DOS/Windows在 同一電腦上)八匠。 學(xué)習(xí)它絮爷,使用它趴酣,配置它。用它在Internet上沖浪坑夯。閱讀它的源代碼岖寞。修改它的源代碼。 你會(huì)得到比在Microsoft操作系統(tǒng)上更好的編程工具(包括C柜蜈,LISP仗谆,Python及Perl)。 你會(huì)覺得樂趣無窮淑履,學(xué)到在你成為大師之前意識(shí)不到的更多的知識(shí)隶垮。
想知道更多關(guān)于學(xué)習(xí)Unix的信息,訪問 The Loginataka鳖谈。
想知道如何得到一份Linux岁疼,訪問 我在哪里可以獲得Linux。 (譯者:對(duì)于中文讀者來講缆娃,最簡(jiǎn)單的方式未過于前往附近的D版/正版光盤店捷绒。)
你可以在 www.bsd.org找到BSD Unix的求助及其他資源。
我有寫一篇關(guān)于 Unix和Internet基礎(chǔ)的入門文章贯要。
(注:如果你是一個(gè)新手暖侨,我不推薦自己獨(dú)立安裝Linux或者BSD。 安裝Linux的話崇渗,尋求本地Linux用戶組的幫助字逗;或聯(lián)系 Open Projects Network。 LISC維護(hù)著一些 IRC頻道宅广, 在那里你可以獲得幫助葫掉。)學(xué)會(huì)如何使用WWW和寫HTML
黑客文化建造的大多東西都在你看不見的地方發(fā)揮著作用,幫助工廠跟狱、辦公室和大學(xué)正常運(yùn)轉(zhuǎn)俭厚, 表面上很難看到它對(duì)非黑客的普通人的生活的影響。Web是一個(gè)大大的例外驶臊。 即便政客也同意挪挤,這個(gè)巨大耀眼的黑客玩具正在改變整個(gè)世界。 單是這個(gè)原因(還有許多其它的)关翎,你就需要學(xué)習(xí)掌握Web扛门。
這并不是僅僅意味著如何使用瀏覽器(誰都會(huì)),而是要學(xué)會(huì)如何寫HTML纵寝, Web的標(biāo)記語言论寨。如果你不會(huì)編程,寫HTML會(huì)教你一些有助于學(xué)習(xí)的思考習(xí)慣。 因此政基,先完成一個(gè)主頁贞铣。(網(wǎng)上有很多好的教程闹啦; 這是一個(gè)沮明。)
但僅僅擁有一個(gè)主頁不能使你成為一名黑客。 Web里充滿了各種網(wǎng)頁窍奋。大多數(shù)是毫無意義的荐健,零信息量垃圾——界面時(shí)髦的垃圾, 注意琳袄,垃圾的水準(zhǔn)都類似(更多信息訪問 The HTML Hell Page)江场。
要想有價(jià)值,你的網(wǎng)頁必須有內(nèi)容—— 它必須有趣或?qū)ζ渌诳陀袔椭讯骸_@是下一個(gè)話題所涉及的……如果你不懂實(shí)用性的英語址否,學(xué)習(xí)吧。
作為一個(gè)美國(guó)人和一個(gè)以英語為母語的人碎紊,我以前很不情愿提到這點(diǎn)佑附,免得成為 一種文化上的帝國(guó)主義。但相當(dāng)多以其他語言為母語的人一直勸我指出這一點(diǎn)仗考,那就是 英語是黑客文化和Internet的工作語言音同,你需要懂得以便在黑客社區(qū)順利工作。
這一點(diǎn)千真萬確秃嗜。大概1991年的時(shí)候我就了解到許多黑客在技術(shù)討論中使用英語权均,甚至當(dāng)他們的母語都 相同,英語對(duì)他們而言只是第二語言的時(shí)候锅锨;據(jù)我知道的報(bào)導(dǎo)叽赊,當(dāng)前英語有著比其他語言豐富得多的技術(shù)詞匯, 因此是一個(gè)對(duì)于工作來說相當(dāng)好的工具必搞。 基于類似的原因必指,英文技術(shù)書籍的翻譯通常不令人滿意(如果有翻譯的話)。
Linus Torvalds顾画,一個(gè)芬蘭人取劫,用英語注釋他的代碼(很明顯這對(duì)他來說不是湊巧)。 他流利的英語成為他能夠管理全球范圍的Linux開發(fā)人員社區(qū)的重要因素研侣。 這是一個(gè)值得學(xué)習(xí)的例子谱邪。
黑客文化中的地位
象大部分不涉及金錢的文化一樣,黑客王國(guó)靠聲譽(yù)運(yùn)轉(zhuǎn)庶诡。 你設(shè)法解決有趣的問題惦银,但它們到底多有趣,你的解法有多好, 是要由那些和你具有同樣技術(shù)水平的人或比你更厲害的人去評(píng)判的扯俱。
相應(yīng)地书蚪,當(dāng)你在玩黑客游戲時(shí),你得認(rèn)識(shí)到你的分?jǐn)?shù)主要靠其他黑客對(duì)你的技術(shù)的評(píng)價(jià)給出 (這就是為什么只有在其它黑客稱你為黑客時(shí)迅栅,你才算得上是一名黑客)殊校。 這個(gè)事實(shí)常會(huì)被黑客是一項(xiàng)孤獨(dú)的工作這一印象所減弱;也會(huì)被另一個(gè)黑客文化的禁忌所減弱 (現(xiàn)在逐漸減弱但仍強(qiáng)大):拒絕承認(rèn)自我或外部評(píng)估與一個(gè)人的動(dòng)力有關(guān)系读存。
特別地为流,黑客王國(guó)被人類學(xué)家們稱為一種奉獻(xiàn)文化。 在這里你不是憑借你對(duì)別人的統(tǒng)治來建立地位和名望让簿,也不是靠美貌敬察,或擁有其他人想要的東西, 而是靠你的奉獻(xiàn)尔当。尤其是奉獻(xiàn)你的時(shí)間莲祸,你的創(chuàng)造和你的技術(shù)成果。
要獲得其他黑客的尊敬椭迎,基本上有五種事情你可以干:
寫開放源代碼軟件
第一個(gè)(也是最集中的和傳統(tǒng)的)是寫些被其他黑客認(rèn)為有趣或有用的程序锐帜, 并把程序源代碼提供給整個(gè)黑客文化使用。
(過去我們稱之為“free software (自由軟件)”侠碧, 但這卻使很多不知 free 的精確含義的人感到困惑抹估。 現(xiàn)在我們很多人,根據(jù)搜索引擎網(wǎng)頁內(nèi)容分析至少有2:1的比率弄兜,使用“ open-source”software(開放源代碼軟件)這個(gè)詞)药蜻。
黑客王國(guó)里最受尊敬的偶像是那些寫了大型的、好用的替饿、具有廣泛用途的軟件语泽, 并把它們公布出去,使得每人都在使用他軟件的人视卢。幫助測(cè)試并調(diào)試開放源代碼軟件
黑客也尊敬那些使用踱卵、測(cè)試開放源代碼軟件的人。 在這個(gè)并非完美的世界上据过,我們不可避免地要花大多數(shù)的開發(fā)時(shí)間在調(diào)試階段惋砂。 這就是為什么任何有頭腦的開放源代碼的作者都會(huì)告訴你好的beta測(cè)試員 (知道如何清楚描述出錯(cuò)癥狀,很好地定位錯(cuò)誤绳锅,能忍受快速發(fā)布中的bug西饵, 并且愿意使用一些簡(jiǎn)單的診斷工具)象紅寶石一樣珍貴。 甚至他們中的一個(gè)能判斷出哪個(gè)測(cè)試階段是延長(zhǎng)的鳞芙, 哪個(gè)是令人精疲力盡的噩夢(mèng)眷柔,哪個(gè)只是一個(gè)有益的小麻煩期虾。
如果你是個(gè)新手,試著找一個(gè)你感興趣的正在開發(fā)的程序驯嘱,做一個(gè)好的beta測(cè)試員镶苞。 你會(huì)自然地從幫著測(cè)試,進(jìn)步到幫著抓臭蟲鞠评,到最后幫著改程序茂蚓。 你會(huì)從中學(xué)到很多,并且與未來會(huì)幫你的人結(jié)下友誼谢澈。公布有用的信息
另一個(gè)好事是收集整理有用有趣的信息做成網(wǎng)頁或文檔如FAQ列表煌贴,且讓他們?nèi)菀撰@得。
主要技術(shù)FAQ的維護(hù)者受到幾乎同其他開放源代碼的作者一樣多的尊敬锥忿。幫助維護(hù)基礎(chǔ)設(shè)施的運(yùn)轉(zhuǎn)
黑客文化(還有Internet的工程方面的發(fā)展,就此而言)是靠自愿者運(yùn)轉(zhuǎn)的怠肋。 要使Internet能正常工作敬鬓,就要有大量枯燥的工作不得不去完成——管理mail list,新聞組笙各,維護(hù)大型軟件庫钉答,開發(fā)RFC和其它技術(shù)標(biāo)準(zhǔn)等等。
做這類事情的人會(huì)得到很多尊敬杈抢,因?yàn)槊咳硕贾肋@些事情是十分花時(shí)間又不象編程那樣好玩数尿。 做這些事情需要奉獻(xiàn)精神。為黑客文化本身服務(wù)
最后惶楼,你可以為這個(gè)文化本身做宣傳(例如右蹦,象我這樣,寫一個(gè)“如何成為黑客”的正面的教程 [圖片上傳中歼捐。何陆。。(2)] ) (譯者:不知道Barret把它翻成中文算不算豹储?)贷盲。 這并非一定要在你已經(jīng)在這個(gè)圈子呆了很久,因以上四點(diǎn)中的某點(diǎn)而出名剥扣,有一定聲譽(yù)后才能去做巩剖。
黑客文化沒有領(lǐng)袖。精確地說钠怯,它確實(shí)有些文化英雄佳魔、部落長(zhǎng)者、歷史學(xué)家和發(fā)言人呻疹。 若你在這圈內(nèi)呆的夠長(zhǎng)吃引,你或許成為其中之一筹陵。 記住:黑客們不相信他們的部落長(zhǎng)者的自夸的炫耀镊尺, 因此大舉追求這種名譽(yù)是危險(xiǎn)的朦佩。與其奮力追求,不如先擺正自己的位置 等它自己到你的手中——那時(shí)則要做到謙虛和優(yōu)雅庐氮。
黑客和書呆子(Nerd)的聯(lián)系
同流行的迷思相反语稠,做一名黑客并不一定要你是個(gè)書呆子。 但它確實(shí)有幫助弄砍,而且許多黑客事實(shí)上是書呆子仙畦。 做一個(gè)深居簡(jiǎn)出的人有助于你集中精力進(jìn)行十分重要的事情,如思考和編程音婶。
因此慨畸,很多黑客都愿意接受“書呆子”這個(gè)外號(hào), 更有甚者使用更尖刻的“geek(怪人)”一詞并引以為豪—— 這是一種宣布他們獨(dú)立于主流社會(huì)的聲明方式衣式。訪問 The Geek Page 參加更多的討論寸士。
如果你能集中足夠的精力做好黑客工作同時(shí)還能有正常的生活碴卧,這很好弱卡。 現(xiàn)在作到這一點(diǎn)比我在1970年代是新手的時(shí)候要容易的多; 如今主流文化對(duì)技術(shù)怪人要友善的多住册。 甚至有越來越多的人意識(shí)到黑客通常是很好的戀人和配偶的材料婶博。
如果你因?yàn)樯钌喜蝗缫舛陨献龊诳停且矝]什么——至少你不會(huì)分神了荧飞。 或許以后你會(huì)找到自己的另一半凡人。
風(fēng)格的意義
重申一下,作為一名黑客垢箕,你必須進(jìn)入黑客精神之中划栓。 當(dāng)你不在計(jì)算機(jī)邊上時(shí),你仍然有很多對(duì)黑客工作有幫助的事情可做条获。 它們并不能替代真正的編程(沒有什么能)忠荞,但很多黑客都那么做, 并感到它們與黑客的本質(zhì)存在某些基本的連系帅掘。
學(xué)會(huì)流暢地用母語寫作委煤。盡管程序員不能寫好文章的錯(cuò)誤看法相當(dāng)普遍, 但是有令人驚訝數(shù)目的黑客(包括所有我知道的最棒的)都是不錯(cuò)的作家修档。
閱讀科幻小說碧绞。參加科幻小說討論會(huì)。(一個(gè)碰到黑客和未來會(huì)成為黑客的人的好方法)
學(xué)禪吱窝,并且/或者練功習(xí)武讥邻。(精神修煉看來是驚人相似迫靖。)
練就能分析音樂的聽覺,學(xué)會(huì)鑒賞特別的音樂兴使。學(xué)會(huì)玩某種樂器系宜,或唱歌。
提高對(duì)雙關(guān)語发魄、文字游戲的鑒賞能力盹牧。
這些事情,你已經(jīng)做的越多励幼,你就越是天生做黑客的材料汰寓。 至于為什么偏偏是這些事情,原因并不完全清楚苹粟, 但它們都涉及用到左-右腦能力的綜合有滑,這似乎是關(guān)鍵所在 (黑客們既需要清晰的邏輯思維,有時(shí)又需要偏離邏輯跳出問題的表象)六水。
最后俺孙,還有一些不要去做的事情。
不要使用愚蠢的掷贾,嘩眾取寵的ID或昵稱。
不要卷入U(xiǎn)senet(或其他地方的論壇)的罵戰(zhàn)荣茫。
不要自稱為“cyberpunk(網(wǎng)絡(luò)叛客)”想帅,也不要浪費(fèi)時(shí)間和那些人打交道。
不要讓你寄出的Email或張貼的帖子充滿錯(cuò)誤的拼寫和亂七八糟的語法啡莉。
做以上的事情港准,只會(huì)招來嘲笑。黑客們個(gè)個(gè)記憶超群—— 你將需要數(shù)年的時(shí)間讓他們忘記你犯下的錯(cuò)誤咧欣。
網(wǎng)名的問題值得深思浅缸。將身份隱藏在虛假的名字后是駭客、解密者魄咕、d00dz 及其他低等生物幼稚愚蠢的行為特點(diǎn)衩椒。黑客不會(huì)做這些事; 他們對(duì)他們所作的感到驕傲哮兰,而且樂于人們將作品與他們的 真名相聯(lián)系毛萌。 因此, 若你現(xiàn)在用假名,放棄它喝滞。在黑客文化里它會(huì)令你你失敗的阁将。
其它資源
Peter Seebach 維護(hù)著一個(gè)非常好的 Hacker FAQ, 專給那些不懂如何與黑客打交道的經(jīng)理看的右遭。如果Peter的站點(diǎn)不能訪問做盅,下面這個(gè) Excite搜索應(yīng)該有一份拷貝缤削。
我也著有 黑客文化簡(jiǎn)史。
我寫了一份 大教堂與市集吹榴,對(duì)于Linux及開放源代碼文化現(xiàn)象有詳細(xì)的解釋亭敢。 我也在這個(gè)話題上進(jìn)一步闡述導(dǎo)致的結(jié)局—— 開拓智域。
Rick Moen寫了一份很好的關(guān)于 如何運(yùn)轉(zhuǎn)一個(gè)Linux用戶組的文檔腊尚。
我和Rick Moen合作完成了另一份關(guān)于 提問的智慧的文章吨拗,可以讓你事半功倍的獲得幫助。
如果你想知道PC婿斥、UNIX及Internet基本概念和工作原理劝篷,參考 The Unix and Internet Fundamentals HOWTO。
當(dāng)你釋放出一個(gè)軟件或?yàn)槠浯蜓a(bǔ)丁民宿,試著按 軟件發(fā)行慣例 HOWTO去做娇妓。 (以上的提到的文章的中文版大多都可以在www.aka.org.cn和www.linuxforum.net找到。)
FAQ(常問問題解答)
問:你能教我做黑客嗎活鹰?
答:自從第一次發(fā)布這份文檔哈恰,我每周都會(huì)收到一些請(qǐng)求, (頻繁的話一天幾封)要我“教會(huì)他們做黑客”志群。遺憾的是着绷,我 沒有時(shí)間和精力來做這個(gè);我自己的黑客項(xiàng)目锌云,及我作為一個(gè)開放源代碼倡導(dǎo)者 的四處奔波已經(jīng)占用了我110%的時(shí)間荠医。
即便我想教你,黑客也依然基本上是一項(xiàng)自行修煉的的態(tài)度和技術(shù)桑涎。 當(dāng)真正的黑客想幫助你的時(shí)候彬向,如果你乞求他們一湯匙一湯匙“喂”你的話, 你會(huì)發(fā)現(xiàn)他們不會(huì)尊重你攻冷。
先去學(xué)一些東西娃胆。顯示你在嘗試,你能靠自己去學(xué)習(xí)等曼。然后再去向你遇到的黑客請(qǐng)教特殊的問題里烦。
如果你發(fā)E-mail給一位黑客尋求他的幫助,這是兩件首要記住的事情涉兽。 第一招驴,寫出來的文字顯得懶且粗心的人通常非常懶于思考且非常馬大哈,不能成為好黑客—— 因此注意拼寫正確枷畏,使用正確的語法及發(fā)音别厘,否則你可能會(huì)無人理睬。 第二拥诡,不要試圖要求回復(fù)到一個(gè)ISP帳號(hào)触趴,而那個(gè)帳號(hào)與你 的發(fā)信地址不同氮发。這樣做的人一般是使用盜用帳號(hào),不會(huì)有人有興趣為虎作倀幫助竊賊的冗懦。
問:那么爽冕,我要如何開始?
答:對(duì)你而言最佳的入門方式也許是去參加LUG(Linux用戶組)的聚會(huì)披蕉。 你可以找到在 LDP的綜合Linux信息頁面上找到類似的組織颈畸;也許有一個(gè)在你家附近的, 而且非常有可能與一所大學(xué)或?qū)W校掛鉤没讲。如果你提出要求眯娱,LUG成員興許會(huì)給你一套Linux, 當(dāng)然此后會(huì)幫你安裝并帶你入門爬凑。
問:我得什么時(shí)候開始學(xué)徙缴?現(xiàn)在會(huì)不會(huì)太遲了?
答:你有動(dòng)力學(xué)習(xí)的時(shí)候就是好時(shí)候嘁信。大多數(shù)人看來都是在15-20歲之間開始感興趣的于样,但 據(jù)我所知,在此年齡段之外的例外也是有的潘靖。
問:要學(xué)多久才能學(xué)會(huì)黑客道穿剖?
答:這取決于你的聰明程度和努力程度。大多數(shù)人只要他們專注卦溢, 就能在18個(gè)月到2年之間學(xué)會(huì)一套令人尊敬的技能携御。但是,不要以為就此結(jié)束了既绕; 如果你是一個(gè)真正的黑客,你要用你的余生來學(xué)習(xí)和完善你的技術(shù)涮坐。
問:Visual Basic及Delphi是好的入門語言嗎凄贩?
答:不,因?yàn)樗麄儾皇强梢浦驳母ざ铩K麄儾皇悄切┱Z言的開放源代碼實(shí)現(xiàn)疲扎, 所以你被限制在廠商選擇支持的那些平臺(tái)里。接受這樣一種壟斷局面不是黑客的態(tài)度捷雕。
Visual Basic特別糟糕椒丧。它是Microsoft的私有語言這個(gè)事實(shí)就足夠讓它臉面全無, 不像其他的Basic救巷,它是一種設(shè)計(jì)糟糕的語言會(huì)教給你壞的編程習(xí)慣壶熏。
其中一個(gè)壞習(xí)慣是會(huì)依賴于單一廠商的函數(shù)庫、控件及開發(fā)工具浦译。 一般而言棒假,任何不能夠支持至少Linux或者一種BSD溯职,或其他第三方操作系統(tǒng)的語言,都是 一種不適合應(yīng)付黑客工作的語言帽哑。
問:你能幫我“黑”掉一個(gè)站點(diǎn)嗎谜酒?或者教我怎么黑它?
答:No妻枕。任何讀完這份FAQ后還問這個(gè)問題的人僻族,都是無可救藥的蠢材, 即使有時(shí)間指教我也不會(huì)理睬屡谐。任何發(fā)給我的此類E-mail都會(huì)被忽略或被痛罵一頓述么。
問:我怎么樣才能得到別人帳號(hào)的密碼?
答:這是駭客行為康嘉。滾得遠(yuǎn)遠(yuǎn)的碉输,白癡。
問:我如何入侵/查看/監(jiān)視別人的Email亭珍?
答:這是駭客行為敷钾。在我面前消失,混蛋肄梨。
問:我如何才能在IRC聊天室里偷到頻道op的特權(quán)阻荒?
答:這是駭客行為。去S吧众羡,冥頑不靈的家伙侨赡。
問:我被黑了。你能幫我避免以后再被攻擊嗎粱侣?
答:不行羊壹。目前為止,每次問我這個(gè)問題的齐婴,都是一些運(yùn)行Microsoft Windows的菜鳥油猫。 不可能有效的保護(hù)Windows系統(tǒng)免受駭客攻擊;太多缺陷的代碼和架構(gòu)使保護(hù)Windows的努力有如 隔靴搔癢柠偶。唯一可靠的預(yù)防來自轉(zhuǎn)移到Linux或其他設(shè)計(jì)得至少足夠安全的系統(tǒng)情妖。
問:我的Windows軟件出現(xiàn)問題了。你能幫我嗎诱担?
答:當(dāng)然毡证。進(jìn)入DOS方式,然后鍵入“format c:”蔫仙。你遇到的任何問題將會(huì)在幾分鐘之內(nèi)消失料睛。
問:我在哪里能找到可以與之交流的真正的黑客?
答:最佳辦法是在你附近找一個(gè)Unix或Linux的用戶組,參加他們的聚會(huì)秦效。 (你可以在Metalab的LDP站點(diǎn) 找到一些指向用戶組的鏈接雏蛮。)
我過去曾說過不能在IRC上找到真正的黑客,但我發(fā)覺現(xiàn)在情況有所改變阱州。 顯然一些真正的黑客的社區(qū)像GIMP及Perl挑秉,也有IRC頻道了。)
問:你能推薦一些有關(guān)黑客的好書嗎苔货?
答:我維護(hù)著一份Linux Reading List HOWTO犀概,也許你會(huì)覺得有用。 Loginataka也很有意思夜惭。
關(guān)于Python的介紹姻灶,請(qǐng)?jiān)L問在Python站點(diǎn)上的 入門資料。
問:成為一名黑客我需要擅長(zhǎng)數(shù)學(xué)嗎诈茧?
答:不用产喉。黑客道很少使用常規(guī)的數(shù)學(xué)或算術(shù),不過你絕對(duì)需要能邏輯性地思考和進(jìn)行精密的推理敢会。
尤其是你不會(huì)用到微積分或電路分析(我們把這些留給電子工程師們 :-))曾沈。 一些有限數(shù)學(xué)(包括布爾代數(shù),集合論鸥昏,組合數(shù)學(xué)狼电,圖論)的背景知識(shí)會(huì)有幫助脂矫。
問:我該從那種語言學(xué)起器一?
答:HTML——如果你還不懂的話宪躯。市面上有一大堆的封面精美,宣傳得天花亂墜的 糟糕的HTML書籍膳汪,不幸的是很少有好的唯蝶。我最喜歡的是 HTML: The Definitive Guide。
但 HTML 不完全是一種編程語言遗嗽。當(dāng)你準(zhǔn)備開始編程時(shí)生棍,我推薦從 Python起步。 你會(huì)聽到一大群人推薦 Perl媳谁,并且 Perl 依然比 Python 流行得多,但是 難學(xué)得多且(以我之見)設(shè)計(jì)得不是很好友酱。
C 確實(shí)重要晴音,但它要比 Python 或 Perl 難多了。不要嘗試先學(xué) C缔杉。
Windows用戶不要滿足于 Visual Basic锤躁。 它會(huì)教給你壞習(xí)慣,而且它不可以移植或详,只能在Windows下運(yùn)行系羞。避免它郭计。
問:我需要什么樣的機(jī)器配置?
答:過去個(gè)人電腦能力相當(dāng)不夠并且內(nèi)存小椒振,結(jié)果給黑客的學(xué)習(xí)過程設(shè)置 了人為的障礙昭伸。不過一段時(shí)間以前開始就不是這樣了;任何配置比一臺(tái) Intel 486DX50 好的 機(jī)器都有足夠的能力進(jìn)行開發(fā)工作澎迎,X庐杨,及 Internet 通訊,同時(shí)你現(xiàn)在買的最小的磁盤 都大得富足了夹供。(依Barret之見灵份,現(xiàn)在要至少Pentium 166MMX才夠。)
選擇用來學(xué)習(xí)的機(jī)器時(shí)重要的一點(diǎn)是注意配件是否是Linux兼容的(或BSD兼容哮洽,如果你選擇學(xué) BSD)填渠。同剛才提到的一樣,大多數(shù)現(xiàn)在的機(jī)器都是符合的鸟辅;唯一的值得注意的區(qū)域在于 modem和打印機(jī)氛什;有些具備為Windows設(shè)計(jì)的配件的機(jī)器不會(huì)在Linux下工作。
關(guān)于硬件兼容性有一個(gè)FAQ剔桨;最新版本在 這里屉更。
問:我得因此憎恨和反對(duì)Microsoft嗎?
答:不洒缀,你不必如此瑰谜。不是因?yàn)镸icrosoft不令人討厭,而是因?yàn)楹诳臀幕缭?Microsoft出現(xiàn)之前就存在了树绩,且將在Microsoft成為歷史后依然存在萨脑。 你耗費(fèi)在憎恨Microsoft的任何力氣不如花在愛你的技術(shù)上。寫好的代碼—— 那會(huì)相當(dāng)有效地打擊Microsoft又不會(huì)讓你得到惡報(bào)應(yīng)饺饭。
問:但開放源代碼軟件不會(huì)使程序員丟飯碗嗎渤早?
答:看起來不太可能——目前為止,開放源代碼軟件產(chǎn)業(yè)似乎創(chuàng)造了更多的就業(yè)機(jī)會(huì)而不是 減少就業(yè)機(jī)會(huì)瘫俊。如果寫一個(gè)程序比起不寫來是純經(jīng)濟(jì)收益的話鹊杖,那么在寫完后, 程序員應(yīng)該得到報(bào)酬不管程序是否是開放源代碼扛芽。 并且骂蓖,無論寫出多么“免費(fèi)自由”的軟件,都存在更多對(duì)新的川尖,定制的軟件的需求登下。 我有這方面更多的論述,放在開放源代碼 網(wǎng)站資料中。
問:我要如何開始被芳?哪里有免費(fèi)的Unix缰贝?
答:在本份文檔的某個(gè)地方我已經(jīng)提到過何處可以得到最常用的免費(fèi)Unix。 要做一名黑客畔濒,你需要自立自強(qiáng)剩晴,以及自學(xué)能力。現(xiàn)在開始吧……