Åëëçíéêü From DOS/Windows to Linux HOWTO Õðü Guido Gonzato, <guido@ibogeo.df.unibo.it> ÌåôÜöñáóç: Íßêïò Èåïäþñïõ, <ntheo@math.auth.gr> v1.3.2, 22 Öåâñïõáñßïõ 1999 Áõôü ôï HOWTO åßíáé áöéåñùìÝíï óå üëïõò ôïõò (óõíôüìùò ðñþçí;) ÷ñÞóôåò ôïõ DOS êáé ôùí Windows ðïõ áðïöÜóéóáí íá óôñáöïýí óôï Linux, ôïí åëåýèåñï êëþíï ôïõ UNIX. Ï óêïðüò ôïõ êåéìÝíïõ áõôïý åßíáé íá âïçèÞóåé ôïí áíáãíþóôç íá ìåôáöÝñåé ôéò ãíþóåéò ôïõ áðü ôï DOS êáé ôá Windows óôï ðåñéâÜëëïí ôïõ Linux, êáèþò åðßóçò êáé íá ðñïóöÝñåé éäÝåò ãéá ôçí áíôáëëáãÞ áñ÷åßùí êáé ðçãþí ìåôáîý ôùí äýï Ëåéôïõñãéêþí ÓõóôçìÜôùí. ______________________________________________________________________ Table of Contents 1. ÅéóáãùãÞ 1.1 Åßíáé ôï Linux êáôÜëëçëï ãéá åóÜò; 1.2 Åßíáé. Ðåßôå ìïõ ðåñéóóüôåñá. 1.2.1 ÅéóáãùãéêÜ ÈÝìáôá 1.2.2 Ðïý èá âñåßôå âïÞèåéá 1.3 ÓõìâÜóåéò 2. Ãéá ôïõò áíõðüìïíïõò 3. Ãíùñßóôå ôï bash 4. Áñ÷åßá êáé ÐñïãñÜììáôá 4.1 Áñ÷åßá: ÅéóáãùãéêÜ ÈÝìáôá 4.2 Óõìâïëéêïß äåóìïß 4.3 Äéêáéþìáôá êáé Éäéïêôçóßåò 4.4 Áñ÷åßá: ÌåôáöñÜæïíôáò åíôïëÝò 4.4.1 Ðáñáäåßãìáôá 4.5 ÅêôÝëåóç ÐñïãñáììÜôùí: Ðïëõäéåñãáóßá êáé Óõíåäñßåò (Sessions) 4.6 ÅêôÝëåóç ÐñïãñáììÜôùí óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò. 5. ×ñÞóç Êáôáëüãùí 5.1 ÊáôÜëïãïé: Áñ÷éêÜ Ó÷üëéá 5.2 Äéêáéþìáôá Êáôáëüãùí 5.3 ÊáôÜëïãïé: ÌåôÜöñáóç Åíôïëþí 5.3.1 Ðáñáäåßãìáôá 6. ÄéóêÝôåò, óêëçñïß äßóêïé êëð 6.1 Äéá÷åßñéóç óõóêåõþí ìå ôïí ôñüðï ôïõ DOS. 6.2 Äéá÷åßñéóç óõóêåõþí ìå ôïí ôñüðï ôïõ UNIX. 6.3 Áíôßãñáöá áóöáëåßáò (back up) 7. Êáé ôá Windows; 8. Ñõèìßæïíôáò ôï óýóôçìá 8.1 Áñ÷åßá áñ÷éêïðïßçóçò óõóôÞìáôïò 8.2 Áñ÷åßá áñ÷éêïðïßçóçò ðñïãñáììÜôùí 9. ÈÝìáôá Äéêôýùóçò 10. Óôïé÷åßá Ðñïãñáììáôéóìïý 10.1 ÓåíÜñéá öëïéïý: êáôÜ ðïëý áíþôåñá ôùí áñ÷åßùí .bat 10.2 Ç ðéï C-ìáíôéêÞ ãëþóóá 11. Ôï õðüëïéðï 1% 11.1 Ç ÷ñÞóç ôùí tar êáé gzip 11.2 ÅãêáôÜóôáóç åöáñìïãþí 11.3 ×ñÞóéìåò óõìâïõëÝò 11.4 Ðïý èá âñåßôå åöáñìïãÝò 11.5 ÊÜðïéá ðñÜãìáôá ðïõ äå ìðïñïýóáôå íá êÜíåôå 11.6 ÅîÜóêçóç ôïõ UNIX õðü DOS/Windows 11.7 ÓõíÞèåéò åðåêôÜóåéò êáé ó÷åôéæüìåíá ðñïãñÜììáôá 11.8 ÌåôáôñïðÞ Áñ÷åßùí 11.9 Åëåýèåñåò Óïõßôåò ãñáöåßïõ 12. ÁõôÜ, ãéá ôçí þñá! 12.1 Copyright (êïðÞ ôïõ right;) 12.2 ¶ñíçóç åõèõíþí ______________________________________________________________________ [1m1. ÅéóáãùãÞ[0m [1m1.1. Åßíáé ôï Linux êáôÜëëçëï ãéá åóÜò;[0m ÓêÝöôåóôå íá áëëÜîåôå áðü ôïí êüóìï ôïõ DOS (áõôüò ï ïñéóìüò êáëýðôåé êáé ôá Windows) óôï Linux; ÊáëÞ éäÝá: ôï Linux åßíáé ôå÷íéêþò áíþôåñï ôïõ DOS, ôùí Windows 9x êáé áêüìç êáé ôùí Windows NT. Ðñïóï÷Þ üìùò: ßóùò íá ìçí åßíáé ÷ñÞóéìï ãéá åóÜò. ÁõôÝò åßíáé ïé âáóéêÝò äéáöïñÝò ìåôáîý ôùí DOS/Windows êáé ôïõ Linux: · Ôá Windows ôñÝ÷ïõí ôï Microsoft Office êáé ðïëëÜ ðáé÷íßäéá. Èåùñïýíôáé åýêïëá óôçí åãêáôÜóôáóç êáé ôéò ñõèìßóåéò. Åßíáé åîáéñåôéêÜ áóôáèÞ. Ëåéôïõñãïýí öôù÷Ü. ÊïëëÜíå óõ÷íÜ. · Ôï Linux ôñÝ÷åé ôï StarOffice, Ý÷åé ðïëý ôå÷íéêü ëïãéóìéêü êáé ëéãüôåñá ðáé÷íßäéá. Ìðïñåß íá öáíåß äýóêïëï óôçí åãêáôÜóôáóç êáé ôéò ñõèìßóåéò. Åßíáé óôáèåñü óáí âñÜ÷ïò. Ëåéôïõñãåß åîáéñåôéêÜ. ÊïëëÜåé ðïëý óðÜíéá. ÅîáñôÜôáé áðü åóÜò íá áðïöáóßóåôå ôß ÷ñåéÜæåóôå. ÅðéðëÝïí, ôï Linux óáò äßíåé äýíáìç, áëëÜ óáò ðáßñíåé áñêåôü ÷ñüíï ìÝ÷ñé íá ìÜèåôå ðþò íá ôç ÷ñçóéìïðïéåßôå. Åðßóçò, áí ÷ñçóéìïðïéåßôå êõñßùò åìðïñéêü ëïãéóìéêü, Þ äåí Ý÷åôå üñåîç íá ìÜèåôå íÝåò åíôïëÝò êáé äéáäéêáóßåò, êáëýôåñá øÜîôå óå Üëëá ëåéôïõñãéêÜ. ¸÷åôå õð' üøç üôé ðïëëÜ Üôïìá ðïõ áðïöáóßæïõí íá áó÷ïëçèïýí ìå ôï Linux ôá ðáñáôïýí, ëüãù ôùí äõóêïëéþí óôçí áñ÷Þ. Ôï Linux ãßíåôáé ïëïÝíá áðëïýóôåñï óôç ÷ñÞóç, üìùò [4mìçí[24m [4mðåñéìÝíåôå[24m [4míá[0m [4mìÜèåôå[24m [4míá[24m [4môï[24m [4m÷ñçóéìïðïéåßôå[24m [4môÝëåéá[24m [4mðñïôïý[24m [4mäéáâÜóåôå[24m [4mðïëý[24m [4mêáé[24m [4môï[24m [4mÝ÷åôå[0m [4m÷ñçóéìïðïéÞóåé[24m [4mãéá[24m [4môïõëÜ÷éóôïí[24m [4mìåñéêïýò[24m [4mìÞíåò[24m. Ôï Linux äå äßíåé Üìåóá áðïôåëÝóìáôá. Ðáñ' üëåò áõôÝò ôéò ðñïåéäïðïéÞóåéò üìùò åßìáé 100% óßãïõñï; üôé ìå ôï Linux èá âñåßôå ôïí ÐáñÜäåéóï ãéá ôïí õðïëïãéóôÞ óáò. Åð' åõêáéñßáò, õðåíèõìßæù üôé Linux + DOS/Win ìðïñïýí íá óõíõðÜñ÷ïõí Üíåôá óôïí ßäéï õðïëïãéóôÞ. ÐñïûðïèÝóåéò ãé' áõôü ôï howto: ÕðïèÝôù üôé · ãíùñßæåôå ôéò âáóéêÝò åíôïëÝò êáé äéåñãáóßåò ôïõ DOS, · Ý÷åôå åãêáôåóôçìÝíï óôïí õðïëïãéóôÞ óáò ôï Linux, · ðéèáíþò ìå ôï X Window System (ãéá óõíôïìßá X11), · ôï êÝëõöïò (ôï áíôßóôïé÷ï ôïõ COMMAND.COM) åßíáé ôï bash. Åêôüò áí áíáöåñèåß äéáöïñåôéêÜ, üëåò ïé ðëçñïöïñßåò ðïõ ðáñáôßèåíôáé áíáöÝñïíôáé óôï ðáëéü êáêü DOS. Óå êÜðïéá óçìåßá õðÜñ÷ïõí ðëçñïöïñßåò êáé ãéá ôá Windows here and there, Ý÷åôå üìùò õð' üøç üôé ôá Windows êáé ôï Linux åßíáé åíôåëþò äéáöïñåôéêÜ, óå áíôßèåóç ìå ôï DOS ðïõ åßíáé êÜôé óáí Ýíáò öôù÷üò óõããåíÞò ôïõ UNIX. Åðßóçò Ý÷åôå õð' üøç üôé áõôÞ ç äïõëåéÜ äåí åßíáé Ýíáò ðëÞñçò ïäçãüò, ïýôå êáí ïäçãüò ãéá áñ÷áñßïõò! Ç ôåëåõôáßá Ýêäïóç áõôïý ôïõ êåéìÝíïõ âñßóêåôáé óå äéÜöïñåò ìïñöÝò óôï <ftp://sunsite.unc.edu:/pub/Linux/docs/howto>. [1m1.2. Åßíáé. Ðåßôå ìïõ ðåñéóóüôåñá.[0m ÅãêáôáóôÞóáôå ôï Linux êáé ôéò åöáñìïãÝò ðïõ ÷ñåéáæüóáóôáí óôïí õðïëïãéóôÞ óáò. ÖôéÜîáôå Ýíáí ëïãáñéáóìü ãéá ôïí åáõôü óáò (áí ü÷é ãñÜøôå adduser toonomasas [4môþñá![24m êáé ôï Linux ëåéôïõñãåß. Äþóáôå ôï üíïìá ÷ñÞóôç êáé ôïí êùäéêü óáò, êáé ôþñá êïéôÜôå ôçí ïèüíç óêåðôüìåíïò «ôþñá;». Ìçí áðïãïçôåýåóôå..... åßóôå ó÷åäüí Ýôïéìïò íá êÜíåôå ü,ôé êÜíáôå êáé óôá DOS/Win, êáé ðïëëÜ áêüìç. Áí ÷ñçóéìïðïéïýóáôå ôá DOS/Win èá êÜíáôå êÜôé áðü ôá ðáñáêÜôù: · èá ôñÝ÷áôå ðñïãñÜììáôá êáé èá äçìéïõñãïýóáôå, áíôéãñÜöáôå, âëÝðáôå, äéáãñÜöáôå, ôõðþíáôå, ìåôïíïìÜæáôå áñ÷åßá· · êáôáóêåõÜæáôå, äéáãñÜöáôå êáôáëüãïõò, èá áëëÜæáôå ìåôáîý êáôáëüãùí êáé èá âëÝðáôå ôá ðåñéå÷üìåíÜ ôïõò· · èá äéáìïñöþíáôå äéóêÝôåò êáé èá áíôéãñÜöáôå áñ÷åßá áðü êáé ðñïò áõôÝò· · èá ñõèìßæáôå ôï óýóôçìá· · èá «óåñöÜñáôå» óôï Äéáäßêôõï· · èá ãñÜöáôå áñ÷åßá .BAT êáé ðñïãñÜììáôá óôçí áãáðçìÝíç óáò ãëþóóá· · ôï õðüëïéðï 1% Èá óáò åíäéáöÝñåé íá ìÜèåôå üôé áõôÝò ïé ëåéôïõñãßåò ìðïñïýí êáé ãßíïõí êáé óôï Linux ìå ôñüðï ðáñüìïéï ìå áõôüí ôïõ DOS. Óôï DOS ï ìÝóïò ÷ñÞóôçò ÷ñçóéìïðïéåß åëÜ÷éóôåò áðü ôéò 100 êáé ðëÝïí äéáèÝóéìåò åíôïëÝò· ôï ßäéï, ìÝ÷ñé åíüò óçìåßïõ, óõìâáßíåé êáé óôï Linux. [1m1.2.1. ÅéóáãùãéêÜ ÈÝìáôá[0m Ï êáëýôåñïò ôñüðïò íá ìÜèåôå êÜôé íÝï åßíáé íá ëåñþóåôå ôá ÷Ýñéá óáò. Óôïí êüóìï ôïõ Linux åíèáññýíåóèå íá ðåéñáìáôéóôåßôå êáé íá «ðáßîåôå» ìå ôï ëåéôïõñãéêü, ãéáôß åêôüò êé áí ìðåßôå óôï óýóôçìá (login) ùò «root», äåí ìðïñåßôå íá êÜíåôå êáíÝíá êáêü. ÊÜðïéá óçìåßá: · êáô' áñ÷Üò, ðþò íá êëåßóåôå ôï Linux ìå áóöÜëåéá: Áí äåßôå ìéá ïèüíç êåéìÝíïõ, ðáôÞóôå <CTRL-ALT-DEL>, ðåñéìÝíåôå íá åðáíåêêéíÞóåé ôï óýóôçìá (reboot) êáé ìåôÜ êëåßóôå ôïí õðïëïãéóôÞ. Áí äïõëåýåôå õðü ôï X Window System, ðáôÞóôå <CTRL-ALT-BACKSPACE> ðñþôá, êáé ìåôÜ <CTRL-ALT-DEL>. [4mÐïôÝ[24m ìç óâÞíåôå Þ åðáíåêêéíåßôå ôïí õðïëïãéóôÞ áð' åõèåßáò: áõôü ìðïñåß íá âëÜøåé ôï óýóôçìá áñ÷åßùí (file system)· · áíôßèåôá ìå ôï DOS êáé Windows, ôï Linux Ý÷åé åîáñ÷Þò ìç÷áíéóìïýò áóöáëåßáò. Ôá áñ÷åßá êáé ïé êáôÜëïãïé Ý÷ïõí äéêáéþìáôá (permissions) ó÷åôéóìÝíá ìå áõôÜ. ÊáôÜ óõíÝðåéá, êÜðïéá áñ÷åßá - êáôÜëïãïé Äå ìðïñïýí íá ðñïóðåëáóôïýí áðü ôïí áðëü ÷ñÞóôç· (âëÝðå ``Äéêáéþìáôá êáé Éäéïêôçóßåò''). Ôï DOS êáé ôá Windows, áíôéèÝôùò, èá óáò áöÞóïõí íá óâÞóåôå üëá ôá ðåñéå÷üìåíá ôïõ óêëçñïý óáò äßóêïõ` · õðÜñ÷åé Ýíáò åéäéêüò ÷ñÞóôçò ðïõ ëÝãåôáé «root»: åßíáé ï äéá÷åéñéóôÞò ôïõ óõóôÞìáôïò, ìå äéêáéþìáôá æùÞò êáé èáíÜôïõ åðß ôïõ õðïëïãéóôÞ. Áí åñãÜæåóôå óôï äéêü óáò õðïëïãéóôÞ, èá åßóôå êáé root. Åßíáé ãåíéêÜ [4måðéêßíäõíï[24m: êáèþò ôï ðáñáìéêñü ëÜèïò ìðïñåß íá âëÜøåé óïâáñÜ Þ êáé íá êáôáóôñÝøåé ôï óýóôçìá, üðùò áêñéâþò êáé óôá DOS/Win. Ìç äïõëåýåôå ùò root åêôüò êé áí åßíáé áðïëýôùò áðáñáßôçôï· · ðïëëÞ áðü ôçí ðïëõðëïêüôçôá ôïõ Linux ïöåßëåôáé óôçí õøçëÞ ðáñáìåôñïðïßçóÞ ôïõ. Ó÷åäüí êÜèå éäéüôçôá êáé êÜèå ðñüãñáììá ðïõ ôñÝ÷åé óå Linux ìðïñåß íá ñõèìéóôåß ìÝóù åíüò Þ ðåñéóóïôÝñùí áñ÷åßùí ñõèìßóåùí. Ç ðïëõðëïêüôçôá åßíáé ôï ôßìçìá ôçò éó÷ýïò· · ç áíáêáôåýèõíóç (redirection) êáé ôï piping åßíáé ìßá ëåéôïõñãßá ôïõ DOS, ðïëý óçìáíôéêÞ êáé ðïëý ðéï äõíáôÞ óôï Linux. ÁðëÝò åíôïëÝò ìðïñïýí íá åíùèïýí, þóôå íá åðéôý÷ïõí ðéï ðïëýðëïêá Ýñãá. Ðñïôåßíù íá ìÜèåôå ðïëý êáëÜ ðùò íá ôá ÷ñçóéìïðïéåßôå. [1m1.2.2. Ðïý èá âñåßôå âïÞèåéá[0m ÕðÜñ÷ïõí ðÜñá ðïëëïß ôñüðïé íá âñåßôå âïÞèåéá ãéá ôï Linux. Ïé óçìáíôéêüôåñïé åßíáé: · [4míá[24m [4mäéáâÜóåôå[24m [4môçí[24m [4mõðÜñ÷ïõóá[24m [4môåêìçñßùóç[24m---êáé ôï åííïþ! Ðáñ' üôé áõôü ôï HOWTO ðïõ äéáâÜóåôå ìðïñåß íá ÷ñçóéìåýóåé ùò ìßá åéóáãùãÞ óôï Linux, õðÜñ÷ïõí áñêåôÜ âéâëßá ðïõ êáëüí åßíáé íá äéáâÜóåôå: ôï «Linux Installation and Getting Started» ôïõ Matt Welsh ( <http://sunsite.unc.edu/mdw/LDP/gs/gs.html>), ôï «Linux User Guide» ôïõ Larry Greenfield ( <ftp://sunsite.unc.edu/pub/Linux/docs/linux- doc-project/users-guide>), êáé ôï FAQ ôïõ Linux ( <http://sunsite.unc.edu/mdw/FAQ/Linux-FAQ.html>). Íá íéþèåôå ëéãÜêé Ýíï÷ïò Ýùò üôïõ äéáâÜóåôå ôïõëÜ÷éóôïí Ýíá áðü áõôÜ! · ç ôåêìçñßùóç ôùí Þäç åãêáôåóôçìÝíùí ðáêÝôùí óõ÷íÜ âñßóêåôáé óå õðïêáôáëüãïõò ôïõ /usr/doc/· · ãéá íá ðÜñåôå âïÞèåéá ó÷åôéêþò ìå ôéò «åóùôåñéêÝò åíôïëÝò» ôïõ êåëýöïõò, ãñÜøôå help Þ, êáëýôåñá, man bash Þ info bash· · ãéá âïÞèåéá óå êÜðïéá åíôïëÞ, ãñÜøôå man åíôïëÞ ðïõ åðéêáëåßôáé ôç óåëßäá åã÷åéñéäßïõ (man page) ôçò åíôïëÞ. ÅíáëëáêôéêÜ, ãñÜøôå info åíôïëÞ ðïõ åðéêáëåßôáé, åÜí õðÜñ÷åé, ôç óåëßäá ðëçñïöïñéþí (info page) ôçò åíôïëÞ· ðñüêåéôáé ãéá Ýíá óýóôçìá ôåêìçñßùóçò óå õðåñêåßìåíï (hypertext) ßóùò ü÷é öéëéêü ãéá ÷ñÞóç óôçí áñ÷Þ. ÔÝëïò, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôá apropos åíôïëÞ Þ whatis åíôïëÞ. Óå êÜèå ðåñßðôùóç, ðáôÞóôå `q' ãéá Ýîïäï· · ôÝëïò, óôï Äéáäßêôõï (Internet): ôï êáëýôåñï ìÝñïò ãéá âïÞèåéá åßíáé ïé ÏìÜäåò ÓõæçôÞóåùí (Usenet), üðùò ç <news:comp.os.linux.setup>. Ðáñáêáëþ ìç ìïõ óôåßëåôå çë. åðéóôïëÞ ãéá âïÞèåéá, êáèþò åßíáé áñêåôÜ áðáó÷ïëçìÝíïò. · (Ó.ô.Ì. êÜíôå ìéá âïëôïýëá êé áðü ôï «äéêü ìáò» www.linux.gr ...) [1m1.3. ÓõìâÜóåéò[0m Óôï ðáñüí Ýããñáöï ðïëëÜ ðáñáäåßãìáôá èá åßíáé óôçí åîÞò ìïñöÞ: ç <...> åßíáé ìéá áðáñáßôçôç ðáñÜìåôñïò, åíþ ç [...] ðñïáéñåôéêÞ. ÐáñÜäåéãìá: $ tar -tf <file.tar> [> redir_file] Ôï file.tar ðñÝðåé íá áíáöÝñåôáé, üìùò ç áíáêáôåýèõíóç (redirection) óôï redir_file åßíáé ðñïáéñåôéêÞ. «RMP» óçìáßíåé «please Read the Man Pages for further information» (= ðáñáêáëþ äéáâÜóôå ôéò óåëßäåò åã÷åéñéäßïõ ãéá ðåñáéôÝñù ðëçñïöïñßåò). ÅðáíáëáìâÜíù üôé åßíáé åîáéñåôéêÜ óçìáíôéêü íá äéáâÜæåé êáíåßò ôçí ôåêìçñßùóç. Ôï «DOSWin» óçìáßíåé «DOS/Windows». ¼ôáí ôï prompt ìéáò åíôïëÞò åßíáé ôï #, ç åíôïëÞ áõôÞ ìðïñåß íá êëçèåß ìüíïí áðü ôïí root. [1m2. Ãéá ôïõò áíõðüìïíïõò[0m Ãéá Ýíá ãñÞãïñï îåêßíçìá, ñßîôå ìéá ìáôéÜ óôïí ðáñáêÜôù ðßíáêá: DOS Linux Shmeiwseis ------------------------------------------------------------------------------ ATTRIB (+-)attr file chmod <mode> file entelws diaforetiko BACKUP tar -Mcvf device dir/ to idio CD dirname\ cd dirname/ sxedon h idia syntaksh COPY file1 file2 cp file1 file2 to idio DEL file rm file prosoxh - den yparxei undelete DELTREE dirname rm -R dirname/ to idio DIR ls oxi akribws h idia syntaksh DIR file /S find . -name file entelws diaforetiko EDIT file vi file ypopsiazomai oti de 8a sas aresei jstar file moiazei me to edit toy dos EDLIN file ed file ksexaste to FORMAT fdformat, mount, umount arketa diaforetikh syntaksh HELP command man command, idia logikh info command MD dirname mkdir dirname/ sxedon h idia syntaksh MORE < file less file safws anwtero MOVE file1 file2 mv file1 file2 to idio NUL /dev/null to idio PRINT file lpr file to idio PRN /dev/lp0, /dev/lp1 to idio RD dirname rmdir dirname/ sxedon h idia syntaksh REN file1 file2 mv file1 file2 oxi gia pollapla arxeia RESTORE tar -Mxpvf device diaforetikh syntaksh TYPE file less file poly kalytero WIN startx apexei parassagkes! Áí èÝëåôå êÜôé ðáñáðÜíù áðü Ýíáí ðßíáêá ìå åíôïëÝò, äåßôå ôçí ðáñáêÜôù åíüôçôá. [1m3. Ãíùñßóôå ôï bash[0m ¸÷ù êáëÜ íÝá: óôï Linux ðëçêôñïëïãåßôå ðïëý ëéãüôåñá óôç ãñáììÞ åíôïëþí, áöïý ôï êÝëõöïò bash ðëçêôñïëïãåß ãéá óáò üðïôå åßíáé äõíáôüí, êáé Ý÷åé áñêåôÝò üìïñöåò ëåéôïõñãßåò äéïñèþóåùí. Êáô' áñ÷Üò, ôï åðÜíù âÝëïò áíáêáëåß ôéò ðñïçãïýìåíåò ãñáììÝò åíôïëþí· êáé ü÷é ìüíï. Ðáôþíôáò <TAB> óõìðëçñþíïíôáé ôá ïíüìáôá áñ÷åßùí êáé êáôáëüãùí. Ãéá ðáñÜäåéãìá, ôï íá ãñÜøåé êáíåßò $ ls /uTABloTABbTAB åßíáé óáí íá ãñÜöåé $ ls /usr/local/bin Áí õðÞñîå ìðëÝîéìï êáôÜ ôç ãñáöÞ ôïõ $ ls /uTABloTABiTAB ôüôå ôï bash óôáìáôÜ, äéüôé äåí îÝñåé áí åííïåßôå /usr/local/info Þ /usr/local/include. Äþóôå ðåñéóóüôåñïõò ÷áñáêôÞñåò êáé îáíáðáôÞóôå <TAB> ¶ëëïé ÷ñÞóéìïé óõíäõáóìïß åßíáé ï <ESC-BACKSPACE> ðïõ óâÞíåé ìéá ëÝîç óôá áñéóôåñÜ , åíþ ï <ESC-D> óâÞíåé ìéá ëÝîç óôá äåîéÜ· ï <ESC-F> ìåôáêéíåß ôï äñïìÝá êáôÜ ìéá ëÝîç óôá äåîéÜ êáé ï <ESC-B> óôá áñéóôåñÜ· ï <CTRL-A> ìåôáêéíåß óôçí áñ÷Þ ôçò ãñáììÞò êáé ï <CTRL-E> óôï ôÝëïò ôçò. Ï óõíäõáóìüò <ALT> åßíáé éóïäýíáìïò ìå ôïí <ESC>. ÁñêåôÜ ãéá ôþñá. Ìüëéò óõíçèßóåôå áõôÝò ôéò óõíôïìåýóåéò, èá âñßóêåôå ôç ãñáììÞ åíôïëþí ôïõ DOS ðïëý åíï÷ëçôéêÞ... [1m4. Áñ÷åßá êáé ÐñïãñÜììáôá[0m [1m4.1. Áñ÷åßá: ÅéóáãùãéêÜ ÈÝìáôá[0m Ç äïìÞ ôùí áñ÷åßùí êáé êáôáëüãùí ôïõ Linux åßíáé áñêåôÜ ðáñüìïéá ìå áõôÞí ôïõ DOSWin. Ôá áñ÷åßá Ý÷ïõí ïíüìáôá ðïõ õðüêåéíôáé óå ïñéóìÝíïõò êáíüíåò, öõëÜóóïíôáé óå êáôáëüãïõò, êÜðïéá åßíáé åêôåëÝóéìá êáé ìåôáîý ôùí åêôåëåóßìùí êÜðïéá Ý÷ïõí äéáêüðôåò (switches) ùò åíôïëÝò. ÅðéðëÝïí, ìðïñåßôå íá ÷ñçóéìïðïéåßôå ÷áñáêôÞñåò ìðáëáíôÝò (wildcard), áíáêáôåýèõíóçò (redirection) êáé piping. ÕðÜñ÷ïõí ìüíï êÜðïéåò ìéêñÝò äéáöïñÝò: · óôï DOS, ôá ïíüìáôá ôùí áñ÷åßùí åßíáé óôç ëåãüìåíç «ìïñöÞ 8.3»· ð.÷. NOTENOUG.TXT. Óôï Linux êÜíïõìå êáëýôåñá ðñÜãìáôá. Áí åãêáôáóôÞóáôå ôï Linux ÷ñçóéìïðïéþíôáò Ýíá óýóôçìá áñ÷åßùí (file system) üðùò ôï ext2 Þ ôï umsdos, ìðïñåßôå íá ÷ñçóéìïðïéåßôå ìáêñýôåñá ïíüìáôá (Ýùò 255 ÷áñáêôÞñåò), êáé ìå ðåñéóóüôåñåò ôçò ìßáò ôåëåßåò: ðáñáäåßãìáôïò ÷Üñéí, Ayto_einai.ena.POLY_makry.onomaarxeioy. Óçìåéþóôå üôé ÷ñçóéìïðïßçóá ôüóï êåöáëáßïõò üóï êáé ìéêñïýò ÷áñáêôÞñåò: ¶ëëùóôå... · ïé ðåæïß êáé ïé êåöáëáßïé ÷áñáêôÞñåò óôá ïíüìáôá áñ÷åßùí åßíáé äéáöïñåôéêïß. ¸ôóé, ôá FILENAME.tar.gz êáé filename.tar.gz åßíáé äýï äéáöïñåôéêÜ áñ÷åßá. Ôï ls åßíáé ìéá åíôïëÞ, ôï LS åßíáé Ýíá ëÜèïò· · ïé ÷ñÞóôåò ôùí Windows áò ðñïóÝ÷ïõí üôáí ÷ñçóéìïðïéïýí ìåãÜëá ïíüìáôá áñ÷åßùí óôï Linux. Áí ôï üíïìá åíüò áñ÷åßïõ ðåñéÝ÷åé êåíÜ (äåí ðñïôåßíåôáé, áëëÜ ìðïñåß íá ãßíåé) ôüôå ðñÝðåé íá ðåñéêëåßóåôå ôï üíïìá ôïõ áñ÷åßïõ óå äéðëÜ ëáôéíéêÜ åéóáãùãéêÜ êÜèå öïñÜ ðïõ áíáöÝñåóôå ó' áõôü. ÐáñÜäåéãìá: $ # h parakatw entolh ftiaxnei enan katalogo poy legetai "My old files" $ mkdir "My old files" $ ls My old files bin tmp Åðßóçò, êÜðïéïé ÷áñáêôÞñåò êáëü åßíáé íá ìç ÷ñçóéìïðïéïýíôáé. Ð.÷.: !*$&#· · äåí õðÜñ÷ïõí äåóìåõôéêÝò åðåêôÜóåéò üðùò .COM êáé .EXE ãéá ôá ðñïãñÜììáôá Þ .BAT ãéá ôá áñ÷åßá batch. Ôá åêôåëÝóéìá áñ÷åßá óçìåéþíïíôáé ìå Ýíáí áóôåñßóêï *' óôï ôÝëïò ôïõ ïíüìáôüò ôïõò, üôáí åêôåëåßôå ôçí åíôïëÞ ls -F . Ãéá ðáñÜäåéãìá: $ ls -F I_am_a_dir/ cindy.jpg cjpg* letter_to_Joe my_1st_script* old~ Ôá áñ÷åßá cjpg* êáé my_1st_script* åßíáé åêôåëÝóéìá, äçëáäÞ «ðñïãñÜììáôá» . Óôï DOS, ôá áñ÷åßá backup ëÞãïõí óå .BAK, åíþ óôï Linux ëÞãïõí ìå ìéá ðåñéóðùìÝíç `~'. Åðßóçò, Ýíá áñ÷åßï ôï üíïìá ôïõ ïðïßïõ îåêéíÜ ìå ôåëåßá èåùñåßôáé êñõöü. ÐáñÜäåéãìá: ôï áñ÷åßï .I.am.a.hidden.file äå èá öáíåß ìåôÜ ôçí åíôïëÞ ls· · Ïé äéáêüðôåò (switches) óôá ðñïãñÜììáôá ôïõ DOS äßíïíôáé óôç ìïñöÞ /switch, åíþ óôï Linux äßíïíôáé ìå -switch Þ --switch. ÐáñÜäåéãìá: ôï dir /s èá ãßíåé ls -R. Óçìåéþóôå üôé ðïëëÜ ðñïãñÜììáôá ôïõ DOS, üðùò ôï PKZIP Þ ôï ARJ, ÷ñçóéìïðïéïýí äéáêüðôåò ôýðïõ UNIX. Ìðïñåßôå ôþñá íá ìåôáöåñèåßôå óôçí åíüôçôá ``ÌåôÜöñáóç åíôïëþí áðü ôï DOS óôï Linux'', óôç èÝóç óáò üìùò èá äéÜâáæá êé Üëëï. [1m4.2. Óõìâïëéêïß äåóìïß[0m Óôï UNIX õðÜñ÷åé Ýíá åßäïò áñ÷åßùí ðïõ äåí õðÜñ÷åé óôï DOS: ï óõìâïëéêüò äåóìüò (symbolic link). Áõôü ìðïñåß íá èåùñçèåß ùò äåßêôçò ðñïò Ýíá áñ÷åßï Þ Ýíáí êáôÜëïãï, êáé ìðïñåß íá ÷ñçóéìïðïéåßôáé áíôß ãéá ôï äåéêíõüìåíï· åßíáé ðáñüìïéï ìå ôéò óõíôïìåýóåéò ôùí Windows. Ðáñáäåßãìáôá óõìâïëéêþí äåóìþí åßíáé ôï /usr/X11, ðïõ äåß÷íåé óôï /usr/X11R6· ôï /dev/modem, ðïõ äåß÷íåé åßôå óôï /dev/ttyS0 Þ óôï /dev/ttyS1. Ãéá íá öôéÜîåôå Ýíáí óõìâïëéêü äåóìü: $ ln -s <arxeio_h_katalogos> <onoma_desmou> ÐáñÜäåéãìá: $ ln -s /usr/doc/g77/DOC g77manual.txt Ôþñá ìðïñåßôå íá áíáöÝñåóôå óôï g77manual.txt áíôß ãéá ôï /usr/doc/g77/DOC. Ïé äåóìïß öáßíïíôáé Ýôóé óôçí Ýîïäï ôïõ ls : $ ls -F g77manual.txt@ $ ls -l (diafora_pragmata...) g77manual.txt -> /usr/doc/g77/DOC [1m4.3. Äéêáéþìáôá êáé Éäéïêôçóßåò[0m Ôá áñ÷åßá êáé ïé êáôÜëïãïé óôï DOS Ý÷ïõí ôá áêüëïõèá ÷áñáêôçñéóôéêÜ (attributes): A (archive, áñ÷åßá), H (hidden, êñõöÜ), R (read-only, ìüíï ãéá áíÜãíùóç), and S (system, óõóôÞìáôïò). Ìüíïí ôá H êáé ôá R Ý÷ïõí íüçìá óôï Linux: ôá êñõöÜ áñ÷åßá îåêéíïýí ìå ìßá ôåëåßá, üóï ãéá ôï attribute R, äéáâÜóôå êé Üëëï. Óôï UNIX Ýíá áñ÷åßï Ý÷åé «äéêáéþìáôá» (permissions) êáé Ýíáí éäéïêôÞôç (owner), ï ïðïßïò ìå ôç óåéñÜ ôïõ áíÞêåé óå ìßá «ïìÜäá» (group). Äåßôå ôï ðáñÜäåéãìá: $ ls -l /bin/ls -rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls* Ôï ðñþôï ðåäßï ðåñéÝ÷åé ôá äéêáéþìáôá ôïõ áñ÷åßïõ /bin/ls, ðïõ áíÞêåé óôïí root, ïìÜäá bin. ÁöÞíïíôáò ôéò õðüëïéðåò ðëçñïöïñßåò ðïõ äßíåé ç åíôïëÞ, óôåêüìáóôå óôç óçìáóßá ôïõ -rwxr-xr-x áðü áñéóôåñÜ ðñïò ôá äåîéÜ: - åßíáé ôï åßäïò ôïõ áñ÷åßïõ (- = êáíïíéêü áñ÷åßï, d = êáôÜëïãïò, l = äåóìüò, êëð)` rwx åßíáé ôá äéêáéþìáôá ôïõ éäéïêôÞôç ôïõ áñ÷åßïõ (owner) êáé åßíáé(read=áíÜãíùóç, write=åããñáöÞ, execute=åêôÝëåóç)· r-x åßíáé ôá äéêáéþìáôá ôçò ïìÜäáò (group) ôïõ éäéïêôÞôç (owner) ôïõ áñ÷åßïõ êáé åßíáé (read=áíÜãíùóç, execute=åêôÝëåóç)· (Äå èá êáëýøù ôçí Ýííïéá ôçò ïìÜäáò, èåùñþ üôé ìðïñåßôå íá êÜíåôå êáé ÷ùñßò áõôÞí, åö' üóïí åßóôå áñ÷Üñéïé ;-) êáé r-x åßíáé ôá äéêáéþìáôá ãéá üëïõò ôïõò Üëëïõò ÷ñÞóôåò (read=áíÜãíùóç, execute=åêôÝëåóç). Ï êáôÜëïãïò /bin Ý÷åé åðßóçò äéêáéþìáôá: äåßôå óôçí åíüôçôá ``Directories Permissions'' ãéá ðåñáéôÝñù ðëçñïöïñßåò. Ãé' áõôü äåí ìðïñåßôå íá äéáãñÜøåôå ôï áñ÷åßï /bin/ls ðáñÜ ìüíï áí åßóôå root: äåí Ý÷åôå ôï äéêáßùìá (permission) íá ôï êÜíåôå. Ãéá íá áëëÜîåôå ôá äéêáéþìáôá åíüò áñ÷åßïõ, ç åíôïëÞ åßíáé: $ chmod <whoXperm> <file> üðïõ who åßíáé u (user=÷ñÞóôçò, åßíáé ï éäéïêôÞôçò), g (group=ïìÜäá), o (other=Üëëïé), X åßíáé åßôå + Þ -, perm åßíáé r (read=áíÜãíùóç), w (write=åããñáöÞ), or x (execute=åêôÝëåóç). ÊÜðïéá ðáñáäåßãìáôá ôçò ÷ñÞóçò ôçò chmod åßíáé ôá áêüëïõèá: $ chmod +x file áõôü èÝôåé ôï äéêáßùìá åêôÝëåóçò ãéá ôï áñ÷åßï. $ chmod go-rw file áõôü áöáéñåß ôá äéêáéþìáôá áíÜãíùóçò êáé åããñáöÞò ãéá üëïõò, ðëçí ôïõ éäéïêôÞôç. $ chmod ugo+rwx file áõôü äßíåé óå üëïõò (÷ñÞóôç, ïìÜäá, Üëëïõò) äéêáéþìáôá áíÜãíùóçò, åããñáöÞò êáé åêôÝëåóçò. # chmod +s file áõôü öôéÜ÷íåé Ýíá áñ÷åßï «setuid» Þ «suid» --- Ýíá áñ÷åßï ðïõ ìðïñïýí üëïé íá åêôåëÝóïõí, ìå ôá äéêáéþìáôá ôïõ éäéïêôÞôç ôïõ. Èá óõíáíôÞóåôå áñêåôÜ suid áñ÷åßá ôïõ root· áõôÜ åßíáé óõíÞèùò óçìáíôéêÜ áñ÷åßá ôïõ óõóôÞìáôïò, üðùò ï X server. ¸íáò ðéï óýíôïìïò ôñüðïò ãéá íá áíáöåñèåß êáíåßò óôá äéêáéþìáôá åßíáé ìå áñéèìçôéêÜ øçößá: Ôï rwxr-xr-x ìðïñåß íá åêöñáóôåß ùò 755 (êÜèå ãñÜììá áíôéóôïé÷åß óå Ýíáí áñéèìü: ôï --- åßíáé 0, ôï --x åßíáé 1, ôï -w- åßíáé 2, ôï -wx åßíáé 3...). Äåß÷íåé äýóêïëï, áëëÜ ìå ëßãç åîÜóêçóç èá êáôáëÜâåôå ôçí Ýííïéá. Ï root, üíôáò ï «õðåñ÷ñÞóôçò» ìðïñåß íá áëëÜîåé ôá äéêáéþìáôá ôùí áñ÷åßùí üëùí ôùí ÷ñçóôþí. RMP. [1m4.4. Áñ÷åßá: ÌåôáöñÜæïíôáò åíôïëÝò[0m ÁñéóôåñÜ âñßóêïíôáé ïé åíôïëÝò ôïõ DOS· äåîéÜ ïé áíôßóôïé÷åò ãéá ôï Linux. ATTRIB: chmod COPY: cp DEL: rm MOVE: mv REN: mv TYPE: more, less, cat ÔåëåóôÝò áíáêáôåýèõíóçò (redirection) êáé plumbing: < > >> | ×áñáêôÞñåò ÌðáëáíôÝñ: * ? nul: /dev/null prn, lpt1: /dev/lp0 Þ /dev/lp1; lpr [1m4.4.1. Ðáñáäåßãìáôá[0m DOS Linux --------------------------------------------------------------------- C:\NIKOS>ATTRIB +R FILE.TXT $ chmod 400 file.txt C:\NIKOS>COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc C:\NIKOS>COPY *.* TOTAL $ cat * > total C:\NIKOS>COPY FRACTALS.DOC PRN $ lpr fractals.doc C:\NIKOS>DEL TEMP $ rm temp C:\NIKOS>DEL *.BAK $ rm *~ C:\NIKOS>MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/ C:\NIKOS>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc C:\NIKOS>PRINT LETTER.TXT $ lpr letter.txt C:\NIKOS>TYPE LETTER.TXT $ more letter.txt C:\NIKOS>TYPE LETTER.TXT $ less letter.txt C:\NIKOS>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null n/a $ more *.txt *.asc n/a $ cat section*.txt | less Óçìåéþóåéò: · Ôï * åßíáé åîõðíüôåñï óôï Linux: ôï * óçìáßíåé üëá ôá áñ÷åßá åêôüò áðü ôá êñõöÜ· ôï .* óçìáßíåé üëá ôá êñõöÜ áñ÷åßá (êáé åðßóçò ôïí ôñÝ÷ïíôá êáôÜëïãï `.' êáé ôïí ðñïçãïýìåíï `..': ðñïóï÷Þ!)· ôï *.* óçìáßíåé ìüíï ôá áñ÷åßá ðïõ Ý÷ïõí Ýíá `.' óôç ìÝóç ìå ìéá ôåëåßá· ôï p*r óçìáßíåé «peter» êáé «piper»· ôï *c* óçìáßíåé «picked» êáé «peck»· · üôáí ÷ñçóéìïðïéåßôå more, ðéÝæåôå <SPACE> ãéá íá äéáâÜóåôå ôï áñ÷åßï êáé «q» ãéá Ýîïäï. Ôï less Ý÷åé ðåñéóóüôåñåò ëåéôïõñãßåò êáé åðéôñÝðåé ôç ÷ñÞóç ôùí âåëþí· · äåí õðÜñ÷åé UNDELETE, ãé' áõôü [4móêåöôåßôå[24m [4môï[24m [4mêáëÜ[24m ðñïôïý óâÞóåôå ïôéäÞðïôå· · åí áíôéèÝóåé ðñïò ôï < > >>ôïõ DOS, ôï Linux Ý÷åé 2> ãéá íá áíáêáôåõèýíåé ìçíýìáôá ëÜèïõò (stderr)· åðéðëÝïí, ôï 2>&1 áíáêáôåõèýíåé áðü ôï stderr óôï stdout, åíþ ôï 1>&2 áíáêáôåõèýíåé áðü ôï stdout óôï stderr· · Ôï Linux Ý÷åé Ýíá áêüìç wildcard: ôï []. ×ñÞóç: ôï [abc]* óçìáßíåé üëá ôá áñ÷åßá ðïõ îåêéíïýí ìå a, b, c· ôï *[I-N1-3] óçìáßíåé ôá áñ÷åßá ðïõ ôåëåéþíïõí óå I, J, K, L, M, N, 1, 2, 3· · ôï lpr <file> ôõðþíåé ìßá óåëßäá óôï ðáñáóêÞíéï. Ãéá íá åëÝãîåôå ôçí êáôÜóôáóç ôçò áëëçëïõ÷ßáò åêôýðùóçò (print queue) ÷ñçóéìïðïéåßóôå ôï lpq· ãéá íá áöáéñÝóåôå Ýíá áñ÷åßï áðü ôçí áëëçëïõ÷ßá åêôýðùóçò ÷ñçóéìïðïéåßóôå lprm· · äåí õðÜñ÷åé åíôïëÞ ðáñüìïéá ìå ôçí RENAME ôïõ DOS· äçëáäÞ, ôï mv *.xxx *.yyy äå èá äïõëÝøåé. Ìéá åíôïëÞ ðáñüìïéá ìå ôçí REN åßíáé äéáèÝóéìç óôï <ftp://sunsite.unc.edu/pub/Linux/utils/file>· · ÷ñçóéìïðïéåßóôå cp -i êáé mv -i ãéá íá åéäïðïéçèåßôå üôáí Ýíá áñ÷åßï ðñüêåéôáé íá åðéêáëõöèåß. [1m4.5. ÅêôÝëåóç ÐñïãñáììÜôùí: Ðïëõäéåñãáóßá êáé Óõíåäñßåò (Sessions)[0m Ãéá íá ôñÝîåôå Ýíá ðñüãñáììá ðëçêôñïëïãåßóôå ôï üíïìÜ ôïõ üðùò èá êÜíáôå êáé óôï DOS. Áí ï êáôÜëïãïò (Åíüôçôá ``×ñÞóç Êáôáëüãùí'') ðïõ åßíáé åãêáôåóôçìÝíï ôï ðñüãñáììá ðåñéÝ÷åôáé óôï the PATH (Section ``Áñ÷åßá Áñ÷éêïðïßçóçò (Initialisation) ÓõóôÞìáôïò''), ôï ðñüãñáììá èá îåêéíÞóåé. Åîáßñåóç: Åí áíôéèÝóåé ðñïò ôï DOS, óôï Linux Ýíá ðñüãñáììá ðïõ ðåñéÝ÷åôáé óôïí ôñÝ÷ïíôá êáôÜëïãï äå èá ôñÝîåé, åêôüò áí ï êáôÜëïãïò ðåñéÝ÷åôáé óôï PATH. Ëýóç: áí ôï ðñüãñáììá åßíáé prog ðëçêôñïëïãåßóôå ./prog. Ç óõíÞèçò ãñáììÞ åñãáëåßùí åßíáé êÜðùò Ýôóé: $ command [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< input] [> output] üðïõ -s1, ..., -sn åßíáé ïé äéáêüðôåò ôçò åíôïëÞò, par1, ..., parn åßíáé ïé ðáñÜìåôñïé ôïõ ðñïãñÜììáôïò. Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ðåñéóóüôåñåò ôçò ìßáò åíôïëÝò óôçí ãñáììÞ åíôïëþí: $ command1 ; command2 ; ... ; commandn ÁõôÜ Ý÷ù íá ðù ãéá ôï ôñÝîéìï ðñïãñáììÜôùí, åßíáé üìùò ðïëý áðëü íá ðïýìå êÜôé ðåñéóóüôåñï. ¸íáò áðü ôïõò âáóéêïýò ëüãïõò ãéá ôç ÷ñÞóç ôïõ Linux åßíáé ôï ãåãïíüò üôé ðñüêåéôáé ãéá Ýíá ðïëõäéåñãáóéáêü Ë.Ó., äçëáäÞ üôé ìðïñåß íá ôñÝ÷åé ðåñéóóüôåñá ôïõ åíüò ðñïãñÜììáôá (åö' åîÞò äéáäéêáóßåò (processes) ôáõôï÷ñüíùò). Ìðïñåßôå íá îåêéíÜôå äéáäéêáóßåò óôï ðåñéèþñéï (background) óõíå÷ßæïíôáò íá åñãÜæåóôå üðùò ðñéí. ÅðéðëÝïí, óôï Linux ìðïñåßôå íá Ý÷åôå ðïëëÝò óõíåäñßåò: åßíáé óáí íá Ý÷åôå ðïëëïýò õðïëïãéóôÝò íá ëåéôïõñãïýí ôáõôï÷ñüíùò! · Ãéá íá áëëÜîåôå óôéò óõíåäñßåò 1..6 ôùí åéêïíéêþí êïíóüëùí (virtual consoles), ðéÝóôå <ALT-F1> ... <ALT-F6> · Ãéá íá îåêéíÞóåôå ìßá íÝá óõíåäñßá óôçí ßäéá åéêïíéêÞ êïíóüëá ÷ùñßò íá áöÞóåôå ôçí ôñÝ÷ïõóá, ðáôÞóôå su - <loginname>. ÐáñÜäåéãìá: su - root. Áõôü åßíáé ÷ñÞóéìï, ãéá ðáñÜäåéãìá, áí èÝëåôå íá åêôåëÝóåôå ìéá åñãáóßá ðïõ ìðïñåß íá êÜíåé ìüíï ï root. · Ãéá íá ôåñìáôßóåôå ìéá óõíåäñßá, ðëçêôñïëïãåßóôå exit. Áí õðÜñ÷ïõí óôáìáôçìÝíåò åñãáóßåò (stopped jobs) (âëÝðå ðáñáêÜôù), èá åéäïðïéçèåßôå. · Ãéá íá îåêéíÞóåôå ìéá äéáäéêáóßá óôï ðåñéèþñéï, ðñïóèÝóôå ôï óýìâïëï '&' óôï ôÝëïò ôçò ãñáììÞò åíôïëþí: $ programma [-diakoptes] [parametroi] [< eisodos] [> eksodos] & [1] 123 ôï êÝëõöïò áíáãíùñßæåé ôç äéáäéêáóßá ìå Ýíáí áñéèìü åñãáóßáò (ð.÷. [1]· âë. ðáñáêÜôù), êáé ìå Ýíáí PID (Process Identification Number, Áñéèìü Áíáãíùñßóåùò Äéáäéêáóßáò · óôï ðáñÜäåéãìÜ ìáò 123). · Ãéá íá äåßôå ðüóåò äéáäéêáóßåò õðÜñ÷ïõí, ðëçêôñïëïãåßóôå ps ax. Áõôü èá äþóåé ùò áðïôÝëåóìá Ýíáí êáôÜëïãï ôùí ôñå÷üíôùí äéáäéêáóéþí ôç óôéãìÞ áõôÞ. · Ãéá íá óêïôþóåôå (ôåñìáôßóåôå) ìßá äéáäéêáóßá, ðëçêôñïëïãåßóôå kill <PID>. ÊÜðïéåò öïñÝò ßóùò èåëÞóåôå íá óêïôþóåôå ìßá äéáäéêáóßá üôáí äåí îÝñåôå ðþò íá ôçí ôåñìáôßóåôå ìå ôïí öõóéïëïãéêü ôñüðï... Ìðïñåßôå íá óêïôþóåôå ôéò äéáäéêáóßåò Üëëùí ÷ñçóôþí ìüíïí áí åßóôå ï root. ÊÜðïéåò öïñÝò, ìßá äéáäéêáóßá óêïôþíåôáé ìüíïí ìå kill -SIGKILL <PID>. ÅðéðñïóèÝôùò, ôï êÝëõöïò óáò åðéôñÝðåé íá óôáìáôÜôå Þ íá äéáêüðôåôå ðñïóùñéíÜ ìßá äéáäéêáóßá, íá ôç óôåßëåôå óôï ðáñáóêÞíéï êáé íá öÝñåôå ìßá äéáäéêáóßá áðü ôï ðáñáóêÞíéï. ¼ôáí áíáöåñüìáóôå óå áõôÜ ôá èÝìáôá èá êáëïýìå ôéò äéáäéêáóßåò «åñãáóßåò» (jobs). · Ãéá íá äåßôå ðüóåò åñãáóßåò õðÜñ÷ïõí ðëçêôñïëïãåßóôå jobs. Åäþ, ïé åñãáóßåò áíáãíùñßæïíôáé áðü ôïí áñéèìü åñãáóßáò ôïõò êáé ü÷é ôï PID. · Ãéá íá óôáìáôÞóåôå ìßá åñãáóßá ðïõ ôñÝ÷åé óôï foreground, ðëçêôñïëïãåßóôå <CTRL-C> (äå èá äïõëÝøåé ðÜíôá). · Ãéá íá äéáêüøåôå ìßá åñãáóßá ðïõ ôñÝ÷åé óôï foreground, ðëçêôñïëïãåßóôå <CTRL-Z> (ïìïßùò). · Ãéá íá óôåßëåôå ìßá äéáêåêïììÝíç åñãáóßá óôï ðáñáóêÞíéï, ðëçêôñïëïãåßóôå bg <%job> (ìåôáôñÝðåôáé óå åñãáóßá). · Ãéá íá öÝñåôå ìßá åñãáóßá óôï foreground, ðëçêôñïëïãåßóôå fg <%job>. Ãéá íá öÝñåôå óôï foreground ôçí ôåëåõôáßá åñãáóßá ðïõ óôåßëáôå óôï ðáñáóêÞíéï, äþóôå áðëÜ fg. · Ãéá íá óêïôþóåôå ìßá åñãáóßá, ðëçêôñïëïãåßóôå kill <%job> üðïõ <job> ìðïñåß íá åßíáé 1, 2, 3,... ×ñÞóåé áõôþí ôùí åíôïëþí ìðïñåßôå íá äéáìïñöþóåôå Ýíá äßóêï, íá óõìðéÝóåôå Ýíá ðëÞèïò áñ÷åßùí, íá ìåôáãëùôôßóåôå Ýíá ðñüãñáììá êáé íá áðïóõìðéÝóåôå Ýíá óõìðéåóìÝíï áñ÷åßï ôáõôï÷ñüíùò, Ý÷ïíôáò áêüìç ôï prompt óôç äéÜèåóÞ óáò! ÄïêéìÜóôå íá ôï êÜíåôå áõôü êáé óôá Windows êáé äåßôå ôçí äéáöïñÜ áðïäüóåùò (åö' üóïí äåí êïëëÞóïõí....). [1m4.6. ÅêôÝëåóç ÐñïãñáììÜôùí óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò.[0m Ãéá íá ôñÝîåôå Ýíá ðñüãñáììá óå Ýíáí áðïìáêñõóìÝíï õðïëïãéóôÞ ïíüìáôé remote.machine.edu: $ telnet remote.machine.edu Áöïý êÜíåôå log in, îåêéíÞóôå ôï áãáðçìÝíï óáò ðñüãñáììá. Åííïåßôå ðùò èá ðñÝðåé íá Ý÷åôå ëïãáñéáóìü êåëýöïõò (shell account) óôïí áðïìáêñõóìÝíï õðïëïãéóôÞ. Áí Ý÷åôå X11, ìðïñåßôå íá ôñÝîåôå êáé åöáñìïãÝò X áðü áðïìáêñõóìÝíïõò õðïëïãéóôÝò, êÜíïíôÜò ôéò íá öáßíïíôáé óôçí ïèüíç ôïõ ðñïóùðéêïý óáò õðïëïãéóôÞ. ¸óôù remote.machine.edu ôï áðïìáêñõóìÝíï óýóôçìá êáé local.linux.box ôï Linuxüêïõôü óáò. Ãéá íá ôñÝîåôå áðü ôï local.linux.box ìßá åöáñìïãÞ × åõñéóêüìåíç óôï remote.machine.edu, êÜíôå ôá ðáñáêÜôù: · áíïßîôå ôï X11, îåêéíÞóôå Ýíá xterm Þ êÜðïéïí Üëëïí óõìâáôü åîïìïéùôÞ ôåñìáôéêïý (terminal emulator) êáé ðëçêôñïëïãåßóôå: $ xhost +remote.machine.edu $ telnet remote.machine.edu · áöïý êÜíåôå log in, ðëçêôñïëïãåßóôå: remote:$ DISPLAY=local.linux.box:0.0 remote:$ progname & (áíôß ãéá DISPLAY..., ßóùò ÷ñåéáóôåß íá ãñÜøåôå: setenv DISPLAY local.linux.box:0.0. ÅîáñôÜôáé áðü ôï áðïìáêñõóìÝíï êÝëõöïò.) Et voila! Ôï progname èá îåêéíÞóåé óôïí remote.machine.edu êáé èá öáßíåôáé óôïí õðïëïãéóôÞ óáò. Êáëýôåñá íá ìçí ôï ÷ñçóéìïðïéÞóåôå üìùò ìå óýíäåóç ìÝóù modem, ãéáôß èá åßíáé åîáéñåôéêÜ áñãü êáé Üñá ü÷é éäéáßôåñá ÷ñÞóéìï.. ÅðéðëÝïí, åßíáé ìßá Üîåóôç êáé áíáóöáëÞò ìÝèïäïò: êáëýôåñá äéáâÜóôå ôï «Remote X Apps mini-HOWTO» óôç äéåýèõíóç <http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps>. [1m5. ×ñÞóç Êáôáëüãùí[0m [1m5.1. ÊáôÜëïãïé: Áñ÷éêÜ Ó÷üëéá[0m Åßäáìå ôéò äéáöïñÝò ìåôáîý ôùí áñ÷åßùí óôï DOSWin êáé óôï Linux. ¼óïí áöïñÜ ôïõò êáôáëüãïõò, óôï DOSWin ï ñéæéêüò êáôÜëïãïò åßíáé \ êáé óôï Linux åßíáé /. Ïìïßùò, ïé öùëéáóìÝíïé êáôÜëïãïé ÷ùñßæïíôáé ìå \ óôï DOSWin, åíþ ìå / óôï Linux. Ðáñáäåßãìáôá äéáäñïìþí áñ÷åßùí: DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX Linux: /home/nikos/papers/geology/middle_eocene.tex Ùò óõíÞèùò, .. åßíáé ï ðáôñéêüò êáôÜëïãïò (parent directory) êáé . åßíáé ï ôñÝ÷ùí êáôÜëïãïò (current) directory. Íá èõìÜóôå üôé ôï óýóôçìá äåí åðéôñÝðåé íá ôñÝîåôå ôéò cd, rd, êáé md üðïõ èÝëåôå. ÊÜèå ÷ñÞóôçò äéáôçñåß ôá ðñÜãìáôÜ ôïõ óå Ýíáí êáôÜëïãï ðïõ ïíïìÜæåôáé «ïéêåßïò» (home), ðïõ äßäåôáé áðü ôï äéá÷åéñéóôÞ ôïõ óõóôÞìáôïò· ðáñáäåßãìáôïò ÷Üñéí, óôïí õðïëïãéóôÞ ìïõ ï ïéêåßïò êáôÜëïãüò ìïõ åßíáé ï /home/nikos. [1m5.2. Äéêáéþìáôá Êáôáëüãùí[0m Êáé ïé êáôÜëïãïé Ý÷ïõí äéêáéþìáôá. Éó÷ýïõí üóá åßäáìå óôçí åíüôçôá ``Äéêáéþìáôá êáé éäéïêôçóßåò'' , äçëáäÞ ôá ÷ñÞóôçò (user), ïìÜäá (group) êáé Üëëïé (other). Óôçí ðåñßðôùóç ôùí êáôáëüãùí, ôï rx óçìáßíåé üôé ìðïñåßôå íá áëëÜîåôå óôïí êáôÜëïãï êáé w üôé ìðïñåßôå íá äéáãñÜøåôå Ýíá áñ÷åßï ôïõ êáôáëüãïõ (óýìöùíá ìå ôá äéêáéþìáôá ôïõ áñ÷åßïõ öõóéêÜ) Þ êáé ôïí ßäéï ôïí êáôÜëïãï. Ãéá ðáñÜäåéãìá, ãéá íá êñáôÞóù ôïõò Üëëïõò ÷ñÞóôåò ìáêñéÜ áðü ôï áñ÷åßï /home/nikos/text: $ chmod o-rwx /home/nikos/text [1m5.3. ÊáôÜëïãïé: ÌåôÜöñáóç Åíôïëþí[0m DIR: ls, find, du CD: cd, pwd MD: mkdir RD: rmdir DELTREE: rm -rf MOVE: mv [1m5.3.1. Ðáñáäåßãìáôá[0m DOS Linux --------------------------------------------------------------------- C:\NIKOS>DIR $ ls C:\NIKOS>DIR FILE.TXT $ ls file.txt C:\NIKOS>DIR *.H *.C $ ls *.h *.c C:\NIKOS>DIR/P $ ls | more C:\NIKOS>DIR/A $ ls -l C:\NIKOS>DIR *.TMP /S $ find / -name "*.tmp" C:\NIKOS>CD $ pwd n/a - vlepe simeiwsi $ cd omoiws $ cd ~ omoiws $ cd ~/temp C:\NIKOS>CD \OTHER $ cd /other C:\NIKOS>CD ..\TEMP\TRASH $ cd ../temp/trash C:\NIKOS>MD NEWPROGS $ mkdir newprogs C:\NIKOS>MOVE PROG .. $ mv prog .. C:\NIKOS>MD \PROGS\TURBO $ mkdir /progs/turbo C:\NIKOS>DELTREE TEMP\TRASH $ rm -rf temp/trash C:\NIKOS>RD NEWPROGS $ rmdir newprogs C:\NIKOS>RD \PROGS\TURBO $ rmdir /progs/turbo Óçìåéþóåéò: · ãéá ôç ÷ñÞóç ôçò rmdir, ï ðñïò äéáãñáöÞ êáôÜëïãïò ðñÝðåé íá åßíáé êåíüò. Ãéá íá äéáãñÜøåôå Ýíáí êáôÜëïãï ìáæß ìå üëá ôïõ ôá ðåñéå÷üìåíá ÷ñçóéìïðïéåßóôå ôçí rm -rf ìå äéêÞ óáò åõèýíç· · ï ÷áñáêôÞñáò «~» åßíáé óõíôüìåõóç ãéá ôï üíïìá ôïõ ïéêåßïõ êáôáëüãïõ óáò. Ïé åíôïëÝò cd Þ cd ~ èá óáò ìåôáöÝñïõí óôïí ïéêåßï êáôÜëïãï áðü üðïõ êé áí åßóôå· ç åíôïëÞ cd ~/tmp èá óáò ìåôáöÝñåé óôï /home/your_home/tmp· · ç cd - «áíáéñåß» ôçí ôåëåõôáßá cd. [1m6. ÄéóêÝôåò, óêëçñïß äßóêïé êëð[0m ÕðÜñ÷ïõí äýï ìÝèïäïé íá äéá÷åéñéóôåß êáíåßò ôéò óõóêåõÝò: ï ôñüðïò ôïõ DOS êáé ï ôñüðïò ôïõ UNIX Åååååóåßò áðïöáóßæåôå! [1m6.1. Äéá÷åßñéóç óõóêåõþí ìå ôïí ôñüðï ôïõ DOS.[0m Ïé ðåñéóóüôåñåò äéáíïìÝò ôïõ Linux ðåñéÝ÷ïõí ôçí óïõßôá Mtools suite, Ýíá óýíïëï åíôåëþò áíôéóôïß÷ùí åíôïëþí ðñïò áõôÝò ôïõ DOS, ìå ôç äéáöïñÜ üôé îåêéíïýí ìå Ýíá «m»: ð.÷., mformat, mdir, mdel, mmd, êëð. Ìðïñïýí åðßóçò íá äéá÷åéñéóôïýí ìåãÜëá ïíüìáôá áñ÷åßùí, áëëÜ ü÷é äéêáéþìáôá. Áí ñõèìßóåôå ôá Mtools ôñïðïðïéþíôáò ôï áñ÷åßï /etc/mtools.conf (Ýíá äåßãìá ðåñéëáìâÜíåôáé óôç äéáíïìÞ) èá ìðïñåßôå íá Ý÷åôå ðñüóâáóç óôç äéáìÝñéóç DOS/Win, óôï CD--ROM, êáé ôï Zip drive. ¼ìùò ç åíôïëÞ mformat äå èá ëåéôïõñãÞóåé ãéá íá äéáìïñöþóåôå ìßá öñåóêïáãïñáóìÝíç äéóêÝôá. Ùò root, èá ðñÝðåé íá ôñÝîåôå ðñïêáôáâïëéêÜ ôçí åíôïëÞ: fdformat /dev/fd0H1440. Äåí ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå áñ÷åßá óå ìéá äéóêÝôá ìå ìßá åíôïëÞ ôïõ ôýðïõ less a:file.txt! Áõôü åßíáé ôï ìåéïíÝêôçìá ôïõ ÷åéñéóìïý äßóêùí ìå ôïí ôñüðï ôïõ DOS. [1m6.2. Äéá÷åßñéóç óõóêåõþí ìå ôïí ôñüðï ôïõ UNIX.[0m Ôï UNIX Ý÷åé äéáöïñåôéêü ôñüðï íá ÷åéñßæåôáé ôéò óõóêåõÝò. Äåí õðÜñ÷ïõí îå÷ùñéóôïß ôüìïé üðùò A: êáé C: · Ýíáò äßóêïò åßôå åßíáé äéóêÝôá Þ ïôéäÞðïôå ãßíåôáé ôìÞìá åíüò ôïðéêïý óõóôÞìáôïò áñ÷åßùí ìÝóù ìéáò äéáäéêáóßáò ðïõ ëÝãåôáé «ðñïóÜñôçóç» (mounting). ¼ôáí ôåëåéþóåôå ìå ôç óõóêåõÞ, ðñÝðåé íá ôçí «áðïðñïóáñôÞóåôå» ðñïôïý ôçí åîÜãåôå. Ç öõóéêÞ äéáìüñöùóç åíüò äßóêïõ êáé ç äçìéïõñãßá åíüò óõóôÞìáôïò áñ÷åßùí åð' áõôïý åßíáé äýï äéáöïñåôéêÝò äéáäéêáóßåò. Ç åíôïëÞ FORMAT A: óôï DOS êÜíåé êáé ôá äýï, óôï Linux üìùò õðÜñ÷ïõí äéáöïñåôéêÝò åíôïëÝò. Ãéá íá äéáìïñöþóåôå ìßá äéóêÝôá äåßôå áíùôÝñù· ãéá íá äçìéïõñãÞóåôå Ýíá óýóôçìá áñ÷åßùí: # mkfs -t ext2 -c /dev/fd0H1440 Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå dos, vfat (ðñïôåéíüìåíï) Þ Üëëá åßäç áíôß ãéá ôï ext2. Ìüëéò ç äéóêÝôá åôïéìáóôåß, ðñïóáñôÞóôå ôçí ìå ôçí åíôïëÞ: # mount -t ext2 /dev/fd0 /mnt êáèïñßæïíôáò ôï óùóôü óýóôçìá áñ÷åßùí, áí äåí ÷ñçóéìïðïéåßôå ext2. Ôþñá ìðïñåßôå íá áíáöÝñåóôå óôá áñ÷åßá ôçò äéóêÝôáò ÷ñçóéìïðïéþíôáò /mnt áíôß ãéá A: êáé B:. Ðáñáäåßãìáôá: DOS Linux --------------------------------------------------------------------- C:\NIKOS>DIR A: $ ls /mnt C:\NIKOS>COPY A:*.* $ cp /mnt/* . C:\NIKOS>COPY *.ZIP A: $ cp *.zip /mnt C:\NIKOS>EDIT A:FILE.TXT $ jstar /mnt/file.txt C:\NIKOS>A: $ cd /mnt A:> _ /mnt/$ _ ¼ôáí ôåëåéþóåôå ðñéí åîÜãåôå ôç äéóêÝôá [4mðñÝðåé[24m íá ôçí áðïðñïóáñôÞóåôå ìå ôçí åíôïëÞ # umount /mnt Ðñïöáíþò, ÷ñåéÜæåôáé íá åöáñìüóåôå ôéò fdformat êáé mkfs ìüíï óå áäéáìüñöùôåò äéóêÝôåò êáé ü÷é óå Þäç ÷ñçóéìïðïéïýìåíåò. Áí èÝëåôå íá ÷ñçóéìïðïéÞóåôå ôïí ïäçãü (drive) B:, áíôéêáôáóôÞóôå ôá fd0H1440 êáé fd0 ìå fd1H1440 êáé fd1 áíôéóôïß÷ùò óôá ðñïçãïýìåíá ðáñáäåßãìáôá. Åðßóçò åßíáé ðñïöáíÝò ðùò üóá åßðáìå ãéá ôéò äéóêÝôåò éó÷ýïõí êáé ãéá Üëëåò óõóêåõÝò· ðáñáäåßãìáôïò ÷Üñéí, ìðïñåßôå íá ðñïóáñôÞóåôå Ýíáí óêëçñü äßóêï Þ Ýíáí ïäçãü CD--ROM. Ãéá íá ðñïóáñôÞóåôå Ýíá CD--ROM: # mount -t iso9660 /dev/cdrom /mnt Áõôüò åßíáé ï «åðßóçìïò» ôñüðïò ãéá íá ðñïóáñôÞóåôå ôïõò äßóêïõò óáò. Êáèþò üìùò åßíáé áñêåôÜ åêíåõñéóôéêü íá ðñÝðåé íá åßíáé êáíåßò root ãéá íá ðñïóáñôÞóåé ìßá äéóêÝôá Þ Ýíá CD--ROM, õðÜñ÷åé êáé ç ðëÜãéá ïäüò: · Ùò root, êÜíôå ôá åîÞò: # mkdir /mnt/floppy ; mkdir /mnt/cdrom # chmod 777 /mnt/floppy /mnt/cd* # # sigoureuteite oti h syskeyh CD-ROM einai swsth # chmod 666 /dev/hdb ; chmod 666 /dev/fd* · êáé ðñïóèÝóôå óôï /etc/fstab ôéò åîÞò ãñáììÝò: /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0 /dev/fd0 /mnt/floppy vfat user,noauto 0 0 Ôþñá, ãéá íá ðñïóáñôÞóåôå ìßá äéóêÝôá DOS êáé Ýíá CD--ROM: $ mount /mnt/floppy $ mount /mnt/cdrom Ôá /mnt/floppy êáé /mnt/cdrom åßíáé ðëÝïí ðñïóâÜóéìá áðü üëïõò ôïõò ÷ñÞóôåò. ¸÷åôå õð' üøç üôé åðéôñÝðïíôáò óå üëïõò ôïõò ÷ñÞóôåò íá ðñïóáñìüæïõí äéóêÝôåò êáô' áõôüí ôïí ôñüðï áöÞíåôå ìßá ÷áóìáôþäç ôñýðá áóöáëåßáò, åö' üóïí óáò åíäéáöÝñåé. Äýï ÷ñÞóéìåò åíôïëÝò åßíáé ç df, ðïõ äßíåé ðëçñïöïñßåò ãéá ôï ðñïóáñôçìÝíï óýóôçìá áñ÷åßùí, êáé ç du dirname ðïõ áíáöÝñåé ôï ÷þñï óôï äßóêï ðïõ êáôáëáìâÜíåé ï êáôÜëïãïò dirname. [1m6.3. Áíôßãñáöá áóöáëåßáò (back up)[0m ÕðÜñ÷ïõí äéÜöïñá ðáêÝôá ðïõ ìðïñïýí íá óáò âïçèÞóïõí, ôï åëÜ÷éóôï üìùò ðïõ ìðïñåßôå íá êÜíåôå ãéá íá äçìéïõñãÞóåôå áíôßãñáöá áóöáëåßáò (backup) óå ðïëëÝò äéóêÝôåò åßíáé (ùò root): # tar -M -cvf /dev/fd0H1440 dir_to_backup/ Óéãïõñåõôåßôå üôé Ý÷åôå ìßá äéáìïñöùìÝíç äéóêÝôá óôïí ôüìï êáé áñêåôÝò áêüìç Ýôïéìåò. Ãéá íá åðáíáöÝñåôå (restore) ôá ðñÜãìáôÜ óáò, åéóÜãåôå ôçí ðñþôç äéóêÝôá óôïí ôüìï êáé ðëçêôñïëïãåßóôå: # tar -M -xpvf /dev/fd0H1440 [1m7. Êáé ôá Windows;[0m Ôï «áíôßóôïé÷ï» ôùí Windows åßíáé ôï ãñáöéêü óýóôçìá X Window System. Áíôßèåôá ìå ôá Windows êáé ôï Mac, ôï X11 äåí êáôáóêåõÜóôçêå ãéá åõêïëßá óôçí ÷ñÞóç Þ ãéá ïìïñöéÜ, áëëÜ ãéá íá ðñïóöÝñåé ãñáöéêÝò äõíáôüôçôåò óå óôáèìïýò åñãáóßáò UNIX. ÁõôÝò åßíáé ïé âáóéêÝò äéáöïñÝò: · åíþ ôá Windows äåß÷íïõí ôï ßäéï ðáíôïý, ôï X11 äåí åßíáé Ýôóé· åßíáé ðïëý ðéï ðáñáìåôñïðïéÞóéìï. Ç ãåíéêÞ üøç äßíåôáé áðü Ýíá óõóôáôéêü ðïõ ëÝãåôáé «äéá÷åéñéóôÞò ðáñáèýñùí» (window manager, w.m.), ãéá ôçí åðéëïãÞ ôïõ ïðïßïõ Ý÷åôå Ýíá åõñý ðåäßï: fvwm, âáóéêüò áëëÜ êáëüò êáé ïéêïíïìéêüò óôç ìíÞìç, fvwm2-95, Afterstep, WindowMaker, Enlightenment, êáé ðïëëïß áêüìç. Ï w.m. åíåñãïðïéåßôáé óõíÞèùò áðü ôï .xinitrc· · ï w.m. óáò ìðïñåß íá ñõèìéóôåß þóôå êÜèå ðáñÜèõñï íá ëåéôïõñãåß üðùò óôá -÷ìì- Windows: ðáôÜôå åðÜíù ôïõ êáé Ýñ÷åôáé óôï ðñïêåßìåíï (foreground). Ìßá Üëëç äõíáôüôçôá åßíáé íá Ýñ÷åôáé óôï ðñïêåßìåíï êÜèå öïñÜ ðïõ ôï ðïíôßêé êéíåßôáé ðÜíù ôïõ («focus»). Áêüìç, ç ôïðïèÝôçóç ôùí ðáñáèýñùí óôçí ïèüíç ìðïñåß íá åßíáé áõôüìáôç Þ íá õðÜñ÷åé áëëçëåðßäñáóç (interactive): áí Ýíá ðåñßåñãï ðëáßóéï åìöáíéóôåß áíôß ãéá ôï ðñüãñáììÜ óáò, ðáôÞóôå ìå ôï áñéóôåñü ðëÞêôñï ôïõ ðïíôéêïý óôï óçìåßï ðïõ ôï èÝëåôå íá åìöáíéóôåß· · ïé ðåñéóóüôåñåò åðéëïãÝò ìðïñïýí íá ñõèìéóôïýí äéïñèþíïíôáò Ýíá Þ ðåñéóóüôåñá áñ÷åßá ñõèìßóåùí. ÄéáâÜóôå ôçí ôåêìçñßùóç ôïõ w.m. óáò: ôï áñ÷åßï ñõèìßóåùí åßíáé .fvwmrc, .fvwm2rc95, .steprc, êôë. ¸íá äåßãìá áñ÷åßïõ ñõèìßóåùí âñßóêåôáé óõíÞèùò óôï /etc/X11/window- manager-name/system.window-manager-name· · ïé åöáñìïãÝò ôïõ X11 åßíáé ãñáììÝíåò ìå ôç ÷ñÞóç åéäéêþí âéâëéïèçêþí («widget sets»)· êáèþò õðÜñ÷ïõí äéÜöïñåò, ïé åöáñìïãÝò äåß÷íïõí äéáöïñåôéêÝò. Ïé ðéï âáóéêÝò åßíáé áõôÝò ðïõ ÷ñçóéìïðïéïýí ôá Athena widgets (üøç äýï äéáóôÜóåùí, 2--Ä look· xdvi, xman, xcalc)· Üëëåò ÷ñçóéìïðïéïýí ôï Motif (netscape), Üëëåò ôá Tcl/Tk, XForms, Qt, Gtk, êáé Üëëá. Ó÷åäüí üëåò áõôÝò ïé âéâëéïèÞêåò ðñïóöÝñïõí ðåñßðïõ ôçí ßäéá üøç êáé áßóèçóç ìå ôá Windows· · ç áßóèçóç, äõóôõ÷þò, ìðïñåß íá åßíáé áóõíÜñôçôç. Ðáñáäåßãìáôïò ÷Üñéí, áí åðéëÝîåôå ìßá ãñáììÞ êåéìÝíïõ ÷ñçóéìïðïéþíôáò ôï ðïíôßêé êáé ðáôÞóåôå <BACKSPACE>, èá ðåñéìÝíáôå íá åîáöáíéóôåß, óùóôÜ; Áõôü äå óõìâáßíåé ìå ôéò åöáñìïãÝò ðïõ åßíáé âáóéóìÝíåò óôï Athena, ëåéôïõñãåß üìùò ìå Üëëá widget sets· · ï ôñüðïò ìå ôïí ïðïßï ëåéôïõñãïýí ïé ìðÜñåò êõëßóåùò êáé áõîïìåéþóåùò åîáñôÜôáé áðü ôïí w.m. êáé ôï widget set. ÓõìâïõëÞ: áí äåßôå üôé ïé ìðÜñåò êõëßóåùò äåí óõìðåñéöÝñïíôáé üðùò ðåñéìÝíáôå, äïêéìÜóôå íá ôéò êéíÞóåôå ÷ñçóéìïðïéþíôáò ôá äýï ðëÞêôñá ôïõ ðïíôéêéïý ìáæß Þ ôï ìåóáßï· · ïé åöáñìïãÝò äåí Ý÷ïõí Ýíá åéêïíßäéï åî ïñéóìïý, áëëÜ ìðïñïýí íá Ý÷ïõí ðïëëÜ. Ïé ðåñéóóüôåñïé w.m. Ý÷ïõí Ýíá ìåíïý ðïõ êáëåßôå ðáôþíôáò ìå ôï ðïíôßêé óôçí åðéöÜíåéá åñãáóßáò («ñéæéêü ðáñÜèõñï»)· ðñïöáíþò, ôï ìåíïý áõôü ìðïñåß íá ñõèìéóôåß. Ãéá íá áëëÜîåôå ôçí åìöÜíéóç ôïõ ñéæéêïý ðáñáèýñïõ, ÷ñçóéìïðïéåßóôå ôï xsetroot Þ ôï xloadimage· · ôï ðñü÷åéñï ìðïñåß íá ðåñéÝ÷åé ìüíï êåßìåíï, êáé óõìðåñéöÝñåôáé ðáñÜîåíá. ¶ðáî åðéëÝîáôå êÜðïéï êåßìåíï, áõôü áíôéãñÜöåôáé óôï ðñü÷åéñï· ìåôáêéíçèåßôå êÜðïõ áëëïý êáé ðáôÞóôå ôï ìåóáßï ðëÞêôñï ãéá íá ôï åðéêïëëÞóåôå (paste). Ìéá åöáñìïãÞ ðïõ ÷ñçóéìåýåé ãéá ðïëëáðëÜ buffers (ðåäßá ìíÞìçò) åßíáé ôï xclipboard· · õðÜñ÷åé åðßóçò ç äõíáôüôçôá ôïõ drag and drop, ìüíïí åö' üóïí ç åöáñìïãÞ êáé ï w.m. ôï õðïóôçñßæïõí. Ãéá ïéêïíïìßá ìíÞìçò, óõíßóôáôáé íá ÷ñçóéìïðïéåßôå åöáñìïãÝò ðïõ ÷ñçóéìïðïéïýí ôéò ßäéåò âéâëéïèÞêåò. Óôçí ðñÜîç, âÝâáéá, áõôü åßíáé äýóêïëï íá åöáñìïóôåß. ÕðÜñ÷ïõí êÜðïéá åã÷åéñÞìáôá ìå óêïðü íá êÜíïõí ôï X11 íá äåß÷íåé êáé íá óõìðåñéöÝñåôáé ôüóï óõìâáôÜ üóï êáé ôá Windows. Ôá Gnome, <http://www.gnome.org> êáé KDE, <http://www.kde.org>, åßíáé õðÝñï÷á! ÄïêéìÜóôå ôá êáé äå èá íïóôáëãÞóåôå ôá Windows ðïôÝ îáíÜ... [1m8. Ñõèìßæïíôáò ôï óýóôçìá[0m [1m8.1. Áñ÷åßá áñ÷éêïðïßçóçò óõóôÞìáôïò[0m Äýï óçìáíôéêÜ áñ÷åßá ôïõ DOS åßíáé ôá AUTOEXEC.BAT êáé CONFIG.SYS, ðïõ ÷ñçóéìïðïéïýíôáé êáôÜ ôçí åêêßíçóç ãéá íá áñ÷éêïðïéÞóïõí (initialise) ôï óýóôçìá, íá èÝóïõí êÜðïéåò ìåôáâëçôÝò ðåñéâÜëëïíôïò, üðùò PATH êáé FILES, êáé ðéèáíþò íá åêêéíÞóïõí Ýíá ðñüãñáììá Þ áñ÷åßï batch file. Óôï Linux õðÜñ÷ïõí ðïëëÜ åßäç áñ÷åßùí áñ÷éêïðïßçóçò, ìå ìåñéêÜ åê ôùí ïðïßùí êáëýôåñá íá ìçí áó÷ïëçèåßôå, Ýùò üôïõ åßóôå óßãïõñïé ãéá ôï ôß êÜíåôå. Ôá óçìáíôéêüôåñá åßíáé: ARXEIA SHMEIWSEIS /etc/inittab mhn to peirazete gia thn wra! /etc/rc.d/* omoiws Áí áõôü ðïõ èÝëåôå åßíáé áðëþò íá èÝóåôå ôçí PATH êáé Üëëåò ìåôáâëçôÝò ðåñéâÜëëïíôïò, íá áëëÜîåôå ôá ìçíýìáôá login Þ íá îåêéíÜôå áõôüìáôá Ýíá ðñüãñáììá ìåôÜ ôï login, äåßôå ôá áêüëïõèá áñ÷åßá: ARXEIO SHMEIWSEIS /etc/issue 8etei to mhnyma prin to login /etc/motd 8etei to mhnyma meta to login /etc/profile 8etei thn $PATH kai alles metablhtes, klp. /etc/bashrc 8etei ta aliases, tis leitourgies (functions), klp. /home/your_home/.bashrc 8etei ta proswpika sas aliases kai leitoyrgies /home/your_home/.bash_profile `h /home/your_home/.profile 8etei to periballon kai ksekina ta programmata sas Áí ôï ôåëåõôáßï áñ÷åßï õðÜñ÷åé Þäç (ðñüêåéôáé ãéá êñõöü áñ÷åßï), èá äéáâáóôåß ìåôÜ ôï login, êáé ïé åíôïëÝò ôïõ èá åêôåëåóôïýí. Ãéá ðáñÜäåéãìá, êïéôÜîôå áõôü ôï .bash_profile: ______________________________________________________________________ echo Environment: printenv | less # equivalent of command SET under DOS alias d='ls -l' # easy to understand what an alias is alias up='cd ..' echo "I remind you that the path is "$PATH echo "Today is `date`" # use the output of the command 'date' echo "Have a good day, "$LOGNAME # The following is a "shell function" ctgz() # List the contents of a .tar.gz archive. { for file in $* do gzip -dc ${file} | tar tf - done } # end of .profile ______________________________________________________________________ Ïé $PATH êáé $LOGNAME, üðùò èá êáôáëÜâáôå, åßíáé ìåôáâëçôÝò ðåñéâÜëëïíôïò. ÕðÜñ÷ïõí ðïëëÝò áêüìç· ãéá ðáñáäåßãìáôá, RMP ó÷åôéêÜ ìå ôéò åöáñìïãÝò less êáé bash. ÂÜæïíôáò ôçí ðáñáêÜôù ãñáììÞ óôï /etc/profile èá Ý÷åôå ôï áêñéâÝò áíôßóôïé÷ï ôïõ PROMPT $P$G: export PS1="\w\\$ " [1m8.2. Áñ÷åßá áñ÷éêïðïßçóçò ðñïãñáììÜôùí[0m Óôï Linux ôá ðÜíôá ó÷åäüí ìðïñåß íá ñõèìéóôåß óôéò áíÜãêåò óáò. Ôá ðåñéóóüôåñá ðñïãñÜììáôá Ý÷ïõí Ýíá Þ ðåñéóóüôåñá áñ÷åßá áñ÷éêïðïßçóçò ôá ïðïßá ìðïñåßôå íá ìáóôïñÝøåôå. ÓõíÞèùò ïíïìÜæïíôáé .onoma_programmatosrc óôïí ïéêåßï êáôÜëïãü óáò. Ôá ðñþôá ðïõ èá èåëÞóåôå íá ìåôáôñÝøåôå åßíáé: · .inputrc: ÷ñçóéìïðïéåßôáé áðü ôï bash ãéá íá êáèïñßóåé ôá key bindings (=äåóìåýóåéò ðëÞêôñùí;)· · .xinitrc: ÷ñçóéìïðïéåßôáé áðü ôï startx ãéá íá áñ÷éêïðïéÞóåé ôï X Window System· · .fvwmrc: ÷ñçóéìïðïéåßôáé áðü ôïí äéá÷åéñéóôÞ ðáñáèýñùí fvwm. · .joerc, .jstarrc: ÷ñçóéìïðïéåßôáé áðü ôïí óõíôÜêôç êåéìÝíïõ joe; · .jedrc: ÷ñçóéìïðïéåßôáé áðü ôïí óõíôÜêôç êåéìÝíïõ jed; · .pinerc: ÷ñçóéìïðïéåßôáé áðü ôï ðñüãñáììá çë. áëëçëïãñáößáò pine; · .Xdefault: ÷ñçóéìïðïéåßôáé áðü ðïëëÜ ðñïãñÜììáôá ãéá X. Ãéá üëá áõôÜ êáé ãéá üóá óõíáíôÞóåôå áñãüôåñá, RMP. Èá óáò åíäéÝöåñå ßóùò íá äåßôå ôï Configuration HOWTO, <http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html>. [1m9. ÈÝìáôá Äéêôýùóçò[0m Ç «óýíäåóç ìÝóù ôçëåöþíïõ» (Dialup Networking) ü÷é áðëÜ õðÜñ÷åé óôï Linux, áëëÜ åßíáé óôáèåñüôåñç êáé ãñçãïñüôåñç. Ôï ðñùôüêïëëï ðïõ ÷ñçóéìïðïéïýìå åßíáé ôï PPP, ðïõ ÷ñçóéìïðïéåßôáé ãéá ôç óýíäåóç õðïëïãéóôþí óôï Äéáäßêôõï ìÝóù modems. ×ñåéÜæåóôå Ýíáí ðõñÞíá ìå õðïóôÞñéîç PPP êáé Ýíá åñãáëåßï ðïõ íá ôçëåöùíåß êáé êÜíåé ôç óýíäåóç. Ãéá íá ðÜñåôå ôçí áëëçëïãñáößá óáò áðü ôïí äéáêïìéóôÞ ôïõ Ðáñï÷Ýá (ISP) óáò ÷ñåéÜæåóôå Ýíá êáôÜëëçëï åñãáëåßï («email fetcher») ðïõ ÷ñçóéìïðïéåß ðñùôüêïëëï POP protocol· üôáí ç áëëçëïãñáößá óáò «êáôÝâåé» èá öáßíåôáé óáí íá åóôÜëç êáô' åõèåßáí óôïí õðïëïãéóôÞ óáò. Óôç óõíÝ÷åéá, èá ÷ñçóéìïðïéÞóåôå Ýíá ðñüãñáììá äéá÷åßñéóçò çëåêôñïíéêÞò áëëçëïãñáößáò (MUA = Mail User Agent) üðùò ôï pine, ôï mutt, ôï elm êáé äéÜöïñá Üëëá. Åíþ óôá Windows ôï ðñüãñáììá ðïõ ôçëåöùíåß, ï dialer îåêéíÜ áõôïìÜôùò êÜèå öïñÜ ðïõ îåêéíÜôå ìßá äéáäéêôõáêÞ åöáñìïãÞ, óôï Linux ôá ðñÜãìáôá ëåéôïõñãïýí áíÜðïäá: ðñþôá ôçëåöùíåßôå êáé ìåôÜ îåêéíÜôå ôçí åöáñìïãÞ. Áí ðñïôéìÜôå üìùò ôçí ðñïáíáöåñèåßóá ìÝèïäï ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï diald. Ç åãêáôÜóôáóç êáé ÷ñÞóç ôçò ôçëåöùíéêÞò óýíäåóçò Þôáí ìßá åê ôùí äõóêïëüôåñùí äéáäéêáóéþí óôï Linux· ôþñá ôá ðñÜãìáôá Ý÷ïõí áðëïðïéçèåß. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò óõìâïõëåõèåßôå ôï Configuration HOWTO. ÔÝëïò, êÜðïéá ëüãéá ãéá ôçí «Ðåñéï÷Þ Äéêôýïõ» (Íetwork neighborhood): ìðïñåßôå íá êÜíåôå ôïí óôáèìü åñãáóßáò óáò ðïõ ôñÝ÷åé Linux íá åìöáíßæåôáé üðùò óáí íá ôñÝ÷áôå Windows NT/9x óå Ýíá ôïðéêü äßêôõï õðïëïãéóôþí Windows! Èá ÷ñçóéìïðïéÞóåôå ôï Samba: ü÷é ôïí ïìþíõìï ÂñáæéëéÜíéêï ÷ïñü, áëëÜ ìßá åöáñìïãÞ ôïõ ðñùôïêüëëïõ SMB ãéá Linux. Ó÷åôéêÜ äåßôå óôï <http://samba.anu.edu.au/samba>. [1m10. Óôïé÷åßá Ðñïãñáììáôéóìïý[0m [1m10.1. ÓåíÜñéá öëïéïý: êáôÜ ðïëý áíþôåñá ôùí áñ÷åßùí .bat[0m Áí ÷ñçóéìïðïéïýóáôå áñ÷åßá .BAT ãéá íá êáôáóêåõÜóåôå óõíôïìåýóåéò ðïëý ìåãÜëùí åíôïëþí óôï DOS(åãþ ôï Ýêáíá óõ÷íÜ), ôþñá óôï Linux ìðïñåßôå íá åéóÜãåôå êáôÜëëçëá alias (äåßôå ôï ðáñáðÜíù ðáñÜäåéãìá) óôï profile Þ ôï .bash_profile. Áí üìùò ôá áñ÷åßá .BAT óáò Þôáí ðéï ðïëýðëïêá, ôüôå èá ôñåëáèåßôå ìå ôçí ãëþóóá óåíáñßùí (scripting language) ðïõ óáò ðáñÝ÷åé ôï êÝëõöïò: åßíáé ôï ßäéï äõíáôÞ üóï êáé ç ðáëéÜ êáëÞ QBasic, áí ü÷é äõíáôüôåñç. ¸÷åé ìåôáâëçôÝò, äïìÝò üðùò while, for, case, if... then... else, êáé ðïëëÝò Üëëåò äõíáôüôçôåò: åßíáé ìéá êáëÞ åíáëëáêôéêÞ óå ìßá «ðñáãìáôéêÞ» ãëþóóá ðñïãñáììáôéóìïý. Ãéá íá ãñÜøåôå Ýíá óåíÜñéï - ôï áíôßóôïé÷ï ôïõ áñ÷åßïõ .BAT óôï DOS - áñêåß íá ãñÜøåôå Ýíá áðëü áñ÷åßï ASCII ðïõ íá ðåñéÝ÷åé ôéò åíôïëÝò óáò, íá ôï óþóåôå êáé íá ôï êÜíåôå åêôåëÝóéìï ìå ôçí åíôïëÞ chmod +x <scriptfile>. Ãéá íá ôï åêôåëÝóåôå, ãñÜøôå ôï üíïìÜ ôïõ. Ìßá ðñïåéäïðïßçóç: ï âáóéêüò óõíôÜêôçò êåéìÝíïõ ôïõ óõóôÞìáôïò åßíáé ï vi, êáé áðü ôçí åìðåéñßá ìïõ óõíÜãù üôé ïé ðåñéóóüôåñïé ÷ñÞóôåò äõóêïëåýïíôáé ðïëý êáôÜ ôç ÷ñÞóç ôïõ. Äåí èá åîçãÞóù ôç ÷ñÞóç ôïõ: äéáâÜóôå ôï âéâëßï ôïõ Matt Welsh Þ øÜîôå ãéá Ýíáí ïäçãü óôï Äéáäßêôõï. Èá ðù üìùò üôé: · ãéá íá åéóÜãåôå êåßìåíï, ðáôÞóôå i êáé ìåôÜ ôï êåßìåíü óáò· · ãéá íá äéáãñÜøåôå ÷áñáêôÞñåò, ðáôÞóôå <ESC> êáé ìåôÜ x· · ãéá íá âãåßôå áðü ôïí vi ÷ùñßò íá óþóåôå ôï êåßìåíï, ðëçêôñïëïãåßóôå <ESC> êáé ìåôÜ :q! · ãéá íá óþóåôå ôï êåßìåíü óáò êáé íá âãåßôå, ðëçêôñïëïãåßóôå <ESC> êáé ìåôÜ :wq. ¸íáò êáëüò óõíôÜêôçò êåéìÝíïõ ãéá áñ÷áñßïõò åßíáé ï joe ðïõ îåêéíÜ ðëçêôñïëïãþíôáò jstar. ¸÷åôå ôéò ßäéåò óõíôïìåýóåéò ðëÞêôñùí üðùò óôïõò óõíôÜêôåò ôïõ DOSWin editor. Ï jed óôï WordStar Þ óå ìïñöÞ IDE åßíáé áêüìç êáëýôåñïò. Áí èÝëåôå óõìâïõëåõôåßôå ôçí åíüôçôá ``Ðïý èá âñåßôå åöáñìïãÝò'' ãéá íá äåßôå ðïý èá âñåßôå áõôïýò ôïõò óõíôÜêôåò. Ç óõããñáöÞ óåíáñßùí óôï bash åßíáé Ýíá åîáéñåôéêÜ á÷áíÝò èÝìá êáé ÷ñåéÜæåôáé Ýíá âéâëßï áðü ìüíï ôïõ! Ãé' áõôü êáé äå èá õðåéóÝëèù ðåñéóóüôåñï. Èá óáò äþóù üìùò Ýíá ðáñÜäåéãìá óåíáñßïõ êåëýöïõò (shell script), åê ôïõ ïðïßïõ ìðïñåßôå íá åîÜãåôå ìåñéêïýò âáóéêïýò êáíüíåò: ______________________________________________________________________ #!/bin/sh # sample.sh # I am a comment # don't change the first line, it must be there echo "This system is: `uname -a`" # use the output of the command echo "My name is $0" # built-in variables echo "You gave me the following $# parameters: "$* echo "The first parameter is: "$1 echo -n "What's your name? " ; read your_name echo notice the difference: "hi $your_name" # quoting with " echo notice the difference: 'hi $your_name' # quoting with ' DIRS=0 ; FILES=0 for file in `ls .` ; do if [ -d ${file} ] ; then # if file is a directory DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1 elif [ -f ${file} ] ; then FILES=`expr $FILES + 1` fi case ${file} in *.gif|*jpg) echo "${file}: graphic file" ;; *.txt|*.tex) echo "${file}: text file" ;; *.c|*.f|*.for) echo "${file}: source file" ;; *) echo "${file}: generic file" ;; esac done echo "there are ${DIRS} directories and ${FILES} files" ls | grep "ZxY--!!!WKW" if [ $? != 0 ] ; then # exit code of last command echo "ZxY--!!!WKW not found" fi echo "enough... type 'man bash' if you want more info." ______________________________________________________________________ [1m10.2. Ç ðéï C-ìáíôéêÞ ãëþóóá[0m Óôï UNIX, ãëþóóá ôïõ óõóôÞìáôïò åßíáé ç C, åßôå ìáò áñÝóåé åßôå ü÷é. Ðáñ' üë' áõôÜ åßíáé äéáèÝóéìåò êáé Üëëåò ãëþóóåò, üðùò ïé Java, FORTRAN, Pascal, Lisp, Basic, Perl, êëð. Èåùñþíôáò ùò äåäïìÝíï üôé ãíùñßæåôå C, éäïý êÜðïéåò êáôåõèõíôÞñéåò ãñáììÝò ãéá åóÜò ðïõ Ý÷åôå «÷áëÜóåé» áðü ôçí Turbo C++ Þ üðïéá Üëëç õëïðïßçóç ôçò C óôï DOS. Óôï Linux, ï ìåôáãëùôôéóôÞò C ëÝãåôáé gcc êáé äåí Ý÷åé êáìßá áðü ôéò öáíöÜñåò ðïõ êáôÜ êáíüíá óõíïäåýïõí ôéò DOS-Üäéêåò õëïðïéÞóåéò: äåí õðÜñ÷åé IDE, âïÞèåéá on-line, åíóùìáôùìÝíç õðçñåóßá áðïóöáëìÜôùóçò (integrated debugger) êëð. Åßíáé áðëþò êáé ìüíïí Ýíáò ìåôáãëùôôéóôÞò ãéá ôç ãñáììÞ åíôïëþí, ðïëý äõíáôüò êáé áðïôåëåóìáôéêüò. Ãéá íá ìåôáãëùôôßóåôå ôïí êþäéêá hello.c èá ðëçêôñïëïãÞóåôå: $ gcc hello.c ôï ïðïßïí èá äçìéïõñãÞóåé Ýíá åêôåëÝóéìï áñ÷åßï ïíüìáôé a.out. Ãéá íá äþóåôå óôï åêôåëÝóéìï Üëëï üíïìá, ðëçêôñïëïãåßóôå: $ gcc -o hola hello.c Ãéá íá óõíäÝóåôå ìßá âéâëéïèÞêç ìå Ýíá ðñüãñáììá, ðñïóèÝóôå ôï äéáêüðôç -l<üíïìá_âéâëéïèÞêçò>. Ðáñáäåßãìáôïò ÷Üñéí, ãéá íá óõíäÝóåôå ôç ìáèçìáôéêÞ âéâëéïèÞêç: $ gcc -o mathprog mathprog.c -lm (Ï äéáêüðôçò -l<libname> áíáãêÜæåé ôïí gcc íá óõíäÝóåé ôç âéâëéïèÞêç /usr/lib/lib<üíïìá_âéâëéïèÞêçò>.so· ïðüôå, ï -lm óõíäÝåé ôï /usr/lib/libm.so). Ùñáßá ìÝ÷ñé óôéãìÞò. ¼ôáí, üìùò, ôï ðñüãñáììÜ óáò áðïôåëåßôáé áðü äéÜöïñá ðçãáßá áñ÷åßá, ôüôå ÷ñåéÜæåóôå ôï ðñüãñáììá make. Áò õðïèÝóïõìå üôé Ý÷åôå ãñÜøåé Ýíáí expression parser. Ôï ðçãáßï áñ÷åßï ôïõ åßíáé ôï parser.c êáé áõôü ðåñéÝ÷åé (#includes) äýï áñ÷åßá header, ôá parser.h êáé xy.h. ÈÝëåôå ôþñá íá ÷ñçóéìïðïéÞóåôå ôéò ñïõôßíåò ôïõ parser.c óå Ýíá Üëëï ðñüãñáììá, Ýóôù ôï calc.c, ôï ïðïßï óôç óõíÝ÷åéá ðåñéÝ÷åé (#includes) ôï parser.h. ÌðëÝîéìï! Ôß ðñÝðåé íá êÜíåôå ãéá íá ìåôáãëùôôßóåôå ôï calc.c; Èá ðñÝðåé íá ãñÜøåôå ôï ëåãüìåíï Makefile, ôï ïðïßï äåß÷íåé óôïí ìåôáãëùôôéóôÞ ôéò åîáñôÞóåéò ìåôáîý ôùí ðçãáßùí áñ÷åßùí êáé ôùí áñ÷åßùí object. Óôï ðáñÜäåéãìÜ ìáò: ______________________________________________________________________ # This is Makefile, used to compile calc.c # Press the <TAB> key where indicated! calc: calc.o parser.o <TAB>gcc -o calc calc.o parser.o -lm # calc depends on two object files: calc.o and parser.o calc.o: calc.c parser.h <TAB>gcc -c calc.c # calc.o depends on two source files parser.o: parser.c parser.h xy.h <TAB>gcc -c parser.c # parser.o depends on three source files # end of Makefile. ______________________________________________________________________ Óþóôå áõôü ôï áñ÷åßï ùò Makefile êáé ðëçêôñïëïãåßóôå make ãéá íá ìåôáãëùôôßóåôå ôï ðñüãñáììÜ óáò· åíáëëáêôéêÜ, óþóôå ôï ùò calc.mak, ðëçêôñïëïãåßóôå make -f calc.mak, êáé âåâáßùò RMP! Ìðïñåßôå íá âñåßôå êÜðïéá âïÞèåéá ó÷åôéêÜ ìå ôéò óõíáñôÞóåéò ôçò C ðïõ êáëýðôïíôáé áðü ôéò óåëßäåò åã÷åéñéäßïõ (man pages), ôïìÝáò 3· ãéá ðáñÜäåéãìá, $ man 3 printf Ãéá íá áðïóöáëìáôþóåôå ôá ðñïãñÜììáôÜ óáò (debug) ÷ñçóéìïðïéåßóôå ôï gdb. Ãéá íá ìÜèåôå ðþò íá ôï ÷ñçóéìïðïéåßôå: info gdb. ÕðÜñ÷ïõí ðïëëÝò äéáèÝóéìåò âéâëéïèÞêåò· áíÜìåóá óôéò ðñþôåò ðïõ èá èåëÞóåôå íá ÷ñçóéìïðïéÞóåôå åßíáé ïé ncurses (åöÝ óå textmode), êáé svgalib (ãñáöéêÜ êïíóüëáò). Áí åßóôå áñêåôÜ ãåííáßïé íá áó÷ïëçèåßôå ìå ôïí ðñïãñáììáôéóìü óôï X11 (äåí åßíáé ôüóï äýóêïëï), éäïý êÜðïéåò âéâëéïèÞêåò ðïõ äéåõêïëýíïõí ôç óõããñáöÞ ðñïãñáììÜôùí óå ×11. Äåßôå óôï <http://www.xnet.com/~blatura/linapp6.html>, Ý÷ïíôåò õð' üøç üôé ôï Gtk Üñ÷éóå íá ãßíåôáé ôï ðñüôõðï óôï Linux. Ðïëëïß óõíôÜêôåò êåéìÝíïõ äñïõí ùò IDE, ãéá ðáñÜäåéãìá ïé emacs êáé jed, Ý÷ïõí ôç äõíáôüôçôá ãéá öùôéóìü óýíôáîçò (syntax highlighting), áõôüìáôç ðáñáãñáöïðïßçóç (indent), êáé Üëëá. ÅíáëëáêôéêÜ, êáôåâÜóôå ôï ðáêÝôï rhide áðü ôïí ôüðï <ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/>. Åßíáé Ýíáò êëþíïò ôïõ Borland IDE êáé ðéóôåýù èá óáò áñÝóåé. [1m11. Ôï õðüëïéðï 1%[0m ÌÜëëïí ðåñéóóüôåñï áðü 1%... [1m11.1. Ç ÷ñÞóç ôùí tar êáé gzip[0m Óôï UNIX õðÜñ÷ïõí êÜðïéåò åõñÝùò ÷ñçóéìïðïéïýìåíåò åöáñìïãÝò ãéá ôçí äçìéïõñãßá ðáêÝôùí (archives) êáé ôç óõìðßåóç áñ÷åßùí. Ôï tar ÷ñçóéìïðïéåßôáé ãéá ôçí êáôáóêåõÞ ðáêÝôùí - üðùò ôï PKZIP Þ ôï Winzipìå ôç äéáöïñÜ üôé äåí óõìðéÝæåé, áðëÜ «ðáêåôÜñåé». Ãéá íá öôéÜîåôå Ýíá íÝï ðáêÝôï: $ tar -cvf <onoma_arxeiou.tar> <file> [file...] Ãéá íá åîÜãåôå (extract) áñ÷åßá áðü Ýíá ðáêÝôï: $ tar -xpvf <onoma_arxeiou.tar> [file...] Ãéá íá äåßôå ôá ðåñéå÷üìåíá åíüò ðáêÝôïõ: $ tar -tf <onoma_arxeiou.tar> | less Ìðïñåßôå íá óõìðéÝóåôå ìå ôï compress, ôï ïðïßïí åßíáé ðëÝïí áðçñ÷áéùìÝíï êáé êáëüí åßíáé íá ìç ÷ñçóéìïðïéåßôáé ðëÝïí, êáé ìå ôï gzip: $ compress <arxeio> $ gzip <arxeio> ¸ôóé äçìéïõñãåßôáé Ýíá óõìðéåóìÝíï áñ÷åßï ìå êáôÜëçîç .Z (áðü ôï compress) Þ .gz (áðü ôï gzip). ÁõôÜ ôá ðñïãñÜììáôá ìðïñïýí íá óõìðéÝóïõí ìüíï Ýíá áñ÷åßï êÜèå öïñÜ. Ãéá ôçí áðïóõìðßåóç: $ compress -d <arxeio.Z> $ gzip -d <arxeio.gz> RMP. ÕðÜñ÷ïõí åðßóçò ôá ðñïãñÜììáôá unarj, zip êáé unzip (óõìâáôÜ ìå ôï PK??ZIP) . Áñ÷åßá ìå êáôÜëçîç .tar.gz Þ .tgz (ðáêåôáñéóìÝíá ìå tar, åí óõíå÷åßá óõìðéåóìÝíá ìå gzip) åßíáé ôüóï óõ÷íÜ óôï UNIX üóï êáé ôá áñ÷åßá .ZIP óôï DOS. Ãéá íá äåßôå ôá ðåñéå÷üìåíá åíüò áñ÷åßïõ .tar.gz: $ tar -ztf <arxeio.tar.gz> | less [1m11.2. ÅãêáôÜóôáóç åöáñìïãþí[0m Êáô' áñ÷Üò íá äéåõêñéíßóïõìå êÜôé: ç åãêáôÜóôáóç åöáñìïãþí åßíáé õðüèåóç ôïõ root. Ïé ðåñéóóüôåñåò åöáñìïãÝò ôïõ Linux äéáíÝìïíôáé ùò ðáêÝôá .tar.gz, ðïõ êáôÜ êáíüíá ðåñéÝ÷ïõí Ýíáí êáôÜëïãï ìå êáôÜëëçëï üíïìá ðåñéÝ÷ïíôá áñ÷åßá êáé/Þ õðïêáôáëüãïõò. ¸íáò êáëüò êáíüíáò åßíáé íá åãêáèéóôÜôå áõôÜ ôá ðáêÝôá áðü ôï /usr/local ìå ôçí åíôïëÞ # tar -zxf <archive.tar.gz> êáé åí óõíå÷åßá äéáâÜæïíôáò ôï áñ÷åßï README Þ INSTALL. Óôéò ðåñéóóüôåñåò ðåñéðôþóåéò, ç åöáñìïãÞ äéáíÝìåôáé ùò ðçãáßïò êþäéêáò, ôïí ïðïßï èá ðñÝðåé íá ìåôáãëùôôßóåôå· óõíÞèùò, áñêåß íá ðëçêôñïëïãÞóåôå make êáé ìåôÜ make install. Áí ôï ðáêÝôï (archive) ðåñéÝ÷åé ôï óåíÜñéï configure, ôñÝîôå ôï ðñïçãïõìÝíùò. Ðñïöáíþò, èá ÷ñåéáóôåßôå ôï ìåôáãëùôôéóôÞ gcc Þ g++. ¶ëëá ðáêÝôá ðñÝðåé íá «áíïé÷èïýí» (unpack) óôïí êáôÜëïãï /· Ýôóé óõìâáßíåé ìå ôá ðáêÝôá .tgz ôïõ Slackware. ¶ëëá ðáêÝôá ðåñéÝ÷ïõí ôá áñ÷åßá, áëëÜ ü÷é ìÝóá óå õðïêáôÜëïãï, ïðüôå ðñÝðåé íá ðñïóÝ÷åôå ãéá íá ìçí ìðëå÷ôåßôå. ÐÜíôïôå íá âëÝðåôå ôá ðåñéå÷üìåíá åíüò ðáêÝôïõ ðñéí ôï åãêáôáóôÞóåôå. Ôï Debian êáé ôï Red Hat Ý÷ïõí ôéò äéêÝò ôïõò ìïñöÝò ðáêÝôùí, ôá .deb êáé .rpm áíôéóôïß÷ùò. Ôï ôåëåõôáßï ìÜëéóôá ÷áßñåé åõñåßáò áðïäï÷Þò. Ãéá íá åãêáôáóôÞóåôå Ýíá ðáêÝôï rpm ðëçêôñïëïãåßóôå # rpm -i package.rpm [1m11.3. ×ñÞóéìåò óõìâïõëÝò[0m [1mÊýëéóç ðñïò ôá ðßóù[22m: ðáôþíôáò <SHIFT + PAG UP> (ôï ãêñßæï ðëÞêôñï) ìðïñåßôå íá êõëÜôå ðñïò ôá ðßóù (backscroll) ìåñéêÝò óåëßäåò, áíáëüãùò ðüóç ìíÞìç video Ý÷åôå äéáèÝóéìç. [1mÊáèáñéóìüò ôçò ïèüíçò[22m: áí ÷ñçóéìïðïéÞóåôå ôéò more Þ cat óå Ýíá äõáäéêü áñ÷åßï (binary file), ç ïèüíç óáò ðéèáíþò íá ãåìßóåé ìå óêïõðßäéá. Ãéá íá ôï äéïñèþóåôå ðëçêôñïëïãåßóôå (÷ùñßò íá âëÝðåôå) (blind type) reset Þ ôçí ðáñáêÜôù óåéñÜ ÷áñáêôÞñùí: echo CTRL-V ESC c RETURN. [1mÅðéêüëëçóç êåéìÝíïõ[22m: ãéá ôçí êïíóüëá, äåßôå êÜôùèé· üôáí åßóôå óôï X, ðáôÞóôå ìå ôï ðïíôßêé (click) êáé ìåôÜ óýñôå ãéá íá åðéëÝîåôå êåßìåíï óå Ýíá ðáñÜèõñï xterm êáé óôç óõíÝ÷åéá ðáôÞóôå ôï ìåóáßï ðëÞêôñï ôïõ ðïíôéêéïý (Þ êáé ôá äýï ôáõôï÷ñüíùò áí Ý÷åôå ðïíôßêé äýï ðëÞêôñùí) ãéá íá åðéêïëëÞóåôå. ÕðÜñ÷åé áêüìç êáé ôï xclipboard (äõóôõ÷þò ìüíï ãéá êåßìåíï), üìùò ìç ìðåñäåõôåßôå áðü ôçí áñãÞ ôïõ áðüäïóç. [1m×ñÞóç ôïõ ðïíôéêéïý[22m: áí Ý÷åôå åãêáôáóôÞóåé ôïí gpm, Ýíáí ïäçãü ðïíôéêéïý ãéá ôçí êïíóüëá, ìðïñåßôå íá ðáôÞóåôå êáé íá óýñåôå (click and drag) ãéá íá åðéëÝîåôå êåßìåíï êáé ìåôÜ äåîß êëéê ãéá íá åðéêïëëÞóåôå ôï åðéëåãÝí êåßìåíï. Ëåéôïõñãåß áíÜìåóá óôéò ðçãáßåò êïíóüëåò (VC). [1mÌçíýìáôá ôïõ ðõñÞíá[22m: ñßîôå ìéá ìáôéÜ óôï /var/adm/messages Þ /var/log/messages ùò root ãéá íá äåßôå ôß Ý÷åé íá óáò ðåé ï ðõñÞíáò, óõìðåñéëáìâáíïìÝíùí ôùí ìçíõìÜôùí åêêéíÞóåùò. ºóùò âñåßôå ðñáêôéêÞ ôçí åíôïëÞ dmesg. [1m11.4. Ðïý èá âñåßôå åöáñìïãÝò[0m Áí áíáñùôéÝóôå ðïý èá âñåßôå åöáñìïãÝò ãéá ôï Linux óáò ãéá íá áíôéêáôáóôÞóåôå áõôÝò ðïõ ÷ñçóéìïðïéïýóáôå óôï DOS/Win óáò ðñïôåßíù ôïõò âáóéêïýò ôüðïõò ëïãéóìéêïý ãéá Linux: <ftp://sunsite.unc.edu/pub/Linux>, <ftp://tsx-11.mit.edu/pub/linux>, êáé <ftp://ftp.funet.fi/pub/Linux>. ¶ëëïé êáëïß ôüðïé ãéá áñ÷Þ åßíáé ï «`Linux Applications and Utilities Page» <http://www.xnet.com/~blatura/linapps.shtml>, êáé ç «åðßóçìç» éóôïóåëßäá ôïõ Linux <http://www.linux.org>. [1m11.5. ÊÜðïéá ðñÜãìáôá ðïõ äå ìðïñïýóáôå íá êÜíåôå[0m Ôï Linux ìðïñåß íá êÜíåé ðïëëÜ ðñÜãìáôá ðïõ ãéá ôá DOS/Windows Þôáí öïñôéêÜ, äýóêïëá Þ áêüìç áäýíáôá. Éäïý êÜðïéåò åõêïëßåò ðïõ ìðïñåßôå íá ãåõôåßôå: · ç åíôïëÞ at óáò åðéôñÝðåé íá ôñÝ÷åôå ðñïãñÜììáôá óå ìéá óõãêåêñéìÝíç ÷ñïíéêÞ óôéãìÞ· · ç awk åßíáé ìßá áðëÞ, áëëÜ äõíáôÞ ãëþóóá ðïõ óáò åðéôñÝðåé íá ìåôá÷åéñßæåóôå áñ÷åßá äåäïìÝíùí êáé ü÷é ìüíï. Ðáñáäåßãìáôïò ÷Üñéí, áí data.dat åßíáé Ýíá áñ÷åßï äåäïìÝíùí ìå ðïëëÜ ðåäßá, ôüôå ç åíôïëÞ $ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat ôõðþíåé ôá ðåäßá 1 êáé 4 êáèåìéÜò ãñáììÞò ôïõ data.dat ôçò ïðïßáò ôï äåýôåñï ðåäßï ðåñéÝ÷åé ôá «abc»· · ôï cron åßíáé ðïëý ÷ñÞóéìï ãéá íá åêôåëåß äéÜöïñåò åñãáóßåò ðåñéïäéêþò, óå óõãêåêñéìÝíç çìåñïìçíßá êáé þñá. Ðëçêôñïëïãåßóôå man 5 crontab· · ôï file <üíïìá_áñ÷åßïõ> óáò ëÝåé ôß åßäïõò áñ÷åßï åßíáé ôï üíïìá_áñ÷åßïõ (êåßìåíï ASCII, åêôåëÝóéìï, ðáêÝôï êëð)· · ç find (äåßôå åðßóçò ôïí ÔïìÝá ``ÊáôÜëïãïé: ÌåôÜöñáóç Åíôïëþí'') åßíáé ìßá áðü ôéò ðéï äõíáôÝò êáé ÷ñÞóéìåò åíôïëÝò. ×ñçóéìïðïéåßôáé ãéá íá âñßóêåé áñ÷åßá ðïõ áðáíôïýí óå ïñéóìÝíá ÷áñáêôçñéóôéêÜ êáé íá åêôåëåß åñãáóßåò óå áõôÜ. Ç ãåíéêÞ ÷ñÞóç ôçò find åßíáé: $ find <directory> <ekfrash> üðïõ ç <ekfrash> ðåñéÝ÷åé êñéôÞñéá Ýñåõíáò êáé åñãáóßåò. Ðáñáäåßãìáôá: $ find . -type l -exec ls -l {} \; âñßóêåé üóá áñ÷åßá åßíáé óõìâïëéêïß äåóìïß êáé ôõðþíåé ôï áñ÷åßï óôï ïðïßï äåß÷íïõí. $ find / -name "*.old" -ok rm {} \; âñßóêåé üëá ôá áñ÷åßá ôïõ æçôïýìåíïõ åßäïõò êáé ôá äéáãñÜöåé, æçôþíôáò ðñþôá ôçí ÜäåéÜ óáò. $ find . -perm +111 âñßóêåé üëá ôá áñ÷åßá ìå äéêáßùìá (permission) 111 (åêôåëÝóéìá). $ find . -user root âñßóêåé üëá ôá áñ÷åßá ðïõ áíÞêïõí óôïí root. ÁõôÞ Ý÷åé ðïëëÝò äõíáôüôçôåò - RMP· · ç grep âñßóêåé ðñüôõðá êåéìÝíïõ (text patterns) óôá áñ÷åßá. Ãéá ðáñÜäåéãìá, ç $ grep -l "geology" *.tex âñßóêåé ôá áñ÷åßá *.tex ðïõ ðåñéÝ÷ïõí ôçí ëÝîç «geology». Ç ðáñáëëáãÞ ôçò, zgrep, ëåéôïõñãåß óôá óõìðéåóìÝíá áñ÷åßá gzip. RMP· · Ïé [1móõíÞèåéò åêöñÜóåéò [22måßíáé Ýíáò ðïëýðëïêïò, áëëÜ ðïëý äõíáôüò ôñüðïò Ýñåõíáò óå êåßìåíï. Ãéá ðáñÜäåéãìá, ç åíôïëÞ ^a[^a- m]X{4,}txt$ âñßóêåé ìßá ãñáììÞ ðïõ îåêéíÜ ìå `a', áêïëïõèåß ïðïéïóäÞðïôå ÷áñáêôÞñáò åêôüò áõôþí ôïõ äéáóôÞìáôïò a-m, áêïëïõèïýí ôÝóóåñá Þ ðåñéóóüôåñá `X', êáé ôåëåéþíåé óå `txt'. Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå óõíÞèåéò åêöñÜóåéò ìå áíåðôõãìÝíïõò óõíôÜêôåò, üðùò ï less, êáé óå ðïëëÝò åöáñìïãÝò. Ãéá ìßá åéóáãùãÞ ðëçêôñïëïãåßóôå man grep· · ç script <üíïìá_óåíáñßïõ> óôÝëíåé ôá ðåñéå÷üìåíá ôçò ïèüíçò óôï üíïìá_óåíáñßïõ Ýùò üôïõ äþóåôå ôçí åíôïëÞ exit. ×ñÞóéìç ãéá áðïóöáëìÜôùóç· · ç sudo åðéôñÝðåé óôïõò ÷ñÞóôåò íá åêôåëïýí êÜðïéåò áðü ôéò ëåéôïõñãßåò ôïõ root (ð.÷. äéáìüñöùóç êáé ðñïóáñìïãÞ äßóêùí· RMP)· · ç uname -a óáò äßíåé ðëçñïöïñßåò ãéá ôï óýóôçìá· · ïé zcat êáé zless åðéôñÝðïõí ôçí ðåñéÞãçóç êáé piping óå gzip-áñéóìÝíá áñ÷åßá, ÷ùñßò ôçí ðñïçãïýìåíç áðïóõìðßåóÞ ôïõò. Ãéá ðáñÜäåéãìá: $ zless textfile.gz $ zcat textfile.gz | lpr · ïé ðáñáêÜôù åíôïëÝò åßíáé åðßóçò ÷ñÞóéìåò: bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew. RMP. [1m11.6. ÅîÜóêçóç ôïõ UNIX õðü DOS/Windows[0m Åßíáé áðßóôåõôï, áëëÜ õðÜñ÷ïõí åîáßñåôá åñãáëåßá ðïõ ðñïóöÝñïõí Ýíá UNIX-ïåéäÝò ðåñéâÜëëïí óôï DOS/Windows! ¸íá áðü áõôÜ åßíáé ç óïõßôá Djgpp ( <http://www.delorie.com/djgpp>) ãéá DOS, åíþ ôï ôï Cygnus ( <http://www.cygnus.com>) åßíáé ìßá ðïëõðëïêüôåñç ìåôáöïñÜ óôï Win32. Áìöüôåñá ðåñéÝ÷ïõí ôá ßäéá åñãáëåßá áíÜðôõîçò GNU ìå ôï Linux· ðáñ' üëá áõôÜ äå èá Ý÷åôå ôçí ßäéá óôáèåñüôçôá êáé áðüäïóç... Áí èÝëåôå íá ðÜñåôå ìßá ãåýóç áðü ôï Linux, äïêéìÜóôå ôï Djgpp. ÊáôåâÜóôå êáé åãêáôáóô åßóôå ôá ðáñáêÜôù áñ÷åßá (ôç óôéãìÞ ðïõ ãñÜöù áõôü, ç ôåëåõôáßá Ýêäïóç åßíáé ç 2.02): djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip, find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.. ÐáñÝ÷ïíôáé ïäçãßåò åãêáôÜóôáóçò êáé ðåñáéôÝñù âïÞèåéá ìðïñåßôå íá âñåßôå óôïí ôüðï <news:comp.os.msdos.djgpp>. Åéäéêüôåñá, ç ÷ñÞóç ôïõ bash óôï DOSWin åßíáé ìåãÜëç áíáêïýöéóç. Ãéá íá ôï ñõèìßóåôå êáôáëëÞëùò, äéïñèþóôå ôï ðáñå÷üìåíï áñ÷åßï BOOT.BAT þóôå íá áðåéêïíßæåé ôçí åãêáôÜóôáóÞ óáò, êáé óôç óõíÝ÷åéá ôïðïèåôåßóôå áõôÜ ôá áñ÷åßá óôïí ïéêåßï êáôÜëïãü óáò (óôç äéáìÝñéóç ôùí Windows ) áíôß áõôþí ðïõ ðáñÝ÷ïíôáé: # this is _bashrc LS_OPTIONS="-F -s --color=yes" alias cp='cp -i' alias d='ls -l' alias l=less alias ls="ls $LS_OPTIONS" alias mv='mv -i' alias rm='rm -i' alias u='cd ..' # this is _bprof if [ -f ~/_bashrc ]; then . ~/_bashrc fi PS1='\w\$ ' PS2='> ' CDPATH="$CDPATH:~" # stuff for less(1) LESS="-M-Q" # makrys dromeas, siwphlos LESSEDIT="%E ?lt+%lt. %f" # dior8wsh prwths grammhs VISUAL="jed" # syntakths LESSCHARSET=latin1 # kalyterh orash tonismenwn grammatwn export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET [1m11.7. ÓõíÞèåéò åðåêôÜóåéò êáé ó÷åôéæüìåíá ðñïãñÜììáôá[0m Èá óõíáíôÞóåôå äéÜöïñåò åðåêôÜóåéò áñ÷åßùí. Åîáéñþíôáò ôéò ðéï óðÜíéåò (ð.÷. ãñáììáôïóåéñÝò êëð), áõôÝò åßíáé: · 1 ... 8: óåëßäåò åã÷åéñéäßïõ (man pages). ÄéáâÜóôå ôéò ìå groff -Tascii -man <áñ÷åßï.1>· · arj: ðáêÝôá êáôáóêåõáóìÝíá ìå arj· · dvi: áñ÷åßï ðáñáãüìåíï áðü ôï ÔeX (âë. ðáñáêÜôù). ×ñçóéìïðïéåßóôå xdvi ãéá íá ôï äåßôå, dvips ãéá íá ôï ôñÝøåôå óå áñ÷åßï PostScript .ps· · gz: ðáêÝôá êáôáóêåõáóìÝíá ìå gzip· · info: áñ÷åßá info (êÜôé óáí åíáëëáêôéêÜ ôùí man pages). Äåßôå ôéò ìå info· · lsm: Linux Software Map file. Åßíáé áðëÜ áñ÷åßá ASCII ðïõ ðåñéÝ÷ïõí ôçí ðåñéãñáöÞ åíüò ðáêÝôïõ· · ps: áñ÷åßï PostScript. Ãéá íá ôï äåßôå Þ íá ôï ôõðþóåôå ÷ñçóéìïðïéåßóôå ôï gs êáé åíáëëáêôéêÜ ghostview Þ gv· · rpm: ðáêÝôá Red Hat. Ìðïñåßôå íá ôá åãêáôáóôÞóåôå óå êÜèå óýóôçìá ìå ôïí äéá÷åéñéóôÞ ðáêÝôùí rpm· · taz, tar.Z: ðáêÝôá, êáôáóêåõáóìÝíá ìå tar êáé óõìðéåóìÝíá ìå compress· · tgz, tar.gz: ðáêÝôá êáôáóêåõáóìÝíá ìå tar êáé óõìðéåóìÝíá ìå gzip· · tex: áñ÷åßï êåéìÝíïõ ðñïò åéóáãùãÞ óôï TeX, Ýíá ðáíôïäýíáìï óýóôçìá óôïé÷åéïèåóßáò. «ÔóéìðÞóôå» ôï ðáêÝôï tex, äéáèÝóéìï óå ðïëëÝò äéáíïìÝò· · texi: áñ÷åßï texinfo, ìðïñåß íá äçìéïõñãÞóåé ôüóï TeX üóï êáé info áñ÷åßá (info). ÐÜñôå ôï texinfo· · xbm, xpm, xwd: áñ÷åßï ãñáöéêþí· · Z: ðáêÝôï êáôáóêåõáóìÝíï ìå compress· [1m11.8. ÌåôáôñïðÞ Áñ÷åßùí[0m Áí ÷ñåéÜæåóôå íá ìåôáöÝñåôå áñ÷åßá áíÜìåóá óôï DOS/Win êáé ôï Linux, Ý÷åôå õð' üøç ôï ðñüâëçìá «ôÝëïõò ãñáììÞò» («end of line» problem). Óôï DOS, êÜèå ãñáììÞ êåéìÝíïõ ôåëåéþíåé ìå CR/LF (äçëáäÞ ASCII 13 + ASCII 10), åíþ óôï Linux ìå LF. Áí äéïñèþóåôå Ýíá áñ÷åßï ôïõ DOS ìÝóá áðü ôï Linux, ðéèáíüôáôá êÜèå ãñáììÞ èá ôåëåéþíåé ìå Ýíá ðåñßåñãï «M»· Ýíá áñ÷åßï êåéìÝíïõ ôïõ Linux óôï DOS èá öáßíåôáé óáí ùò ìßá áðëÞ ÷éëéïìåôñéêÞ ãñáììÞ ÷ùñßò ðáñáãñÜöïõò. Ãéá ôç óùóôÞ ìåôáôñïðÞ ôùí áñ÷åßùí õðÜñ÷ïõí êÜðïéá åñãáëåßá, ôá dos2unix êáé unix2dos. Áí Ý÷åôå áñ÷åßá ìüíï êåéìÝíïõ ðïõ ðåñéÝ÷ïõí ôïíéóìÝíïõò ÷áñáêôÞñåò, óéãïõñåõôåßôå üôé Ý÷ïõí ãßíåé ìÝóá áðü ôá Windows (ìå Notepad) êáé ü÷é óå áðëü DOS· äéáöïñåôéêÜ, üëïé ïé ôïíéóìÝíïé ÷áñáêôÞñåò èá ìðåñäåõôïýí. Ç ìåôáôñïðÞ áñ÷åßùí Word Þ WordPerfect óå áðëü êåßìåíï åßíáé äõíáôÞ, áí êáé êÜðùò åðéêßíäõíç. Èá ÷ñåéáóôåßôå êÜðïéï áðü ôá åñãáëåßá ðïõ õðÜñ÷ïõí óôïõò ôüðïõò ôïõ CTAN· Ýíáò åßíáé ï <ftp://ftp.tex.ac.uk>. ÊáôåâÜóôå ôï ðñüãñáììá word2x áðü ôïí êáôÜëïãï /pub/tex/tools/, Þ äïêéìÜóôå êÜðïéï áðü ôá ðñïãñÜììáôá ôïõ êáôáëüãïõ /pub/tex/support/. Åéäéêüôåñá, ôï word2x ìåôáôñÝðåé áñ÷åßá Word 6, åíþ ãéá áñ÷åßá ôïõ Word 97 èá ÷ñåéáóèåßôå ôï mswordview ( <http://www.csn.ul.ie/~caolan/docs/MSWordView.html>) ðïõ ôá ôñÝðåé óå HTML. [1m11.9. Åëåýèåñåò Óïõßôåò ãñáöåßïõ[0m Áí ç ìåôáôñïðÞ áñ÷åßùí äåí åßíáé áñêåôÞ, Ý÷åôå ôç äõíáôüôçôá íá âõèéóôåß-ôå óå Ýíá (åëåýèåñï! ðáêÝôï, ðáñüìïéï ôïõ Microsoft Office. Ç óïõßôá StarOffice åßíáé åëåýèåñç ãéá éäéùôéêÞ ÷ñÞóç. Åßíáé ìåãÜëç, êÜðùò áñãÞ, áëëÜ ðáñ' üë' áõôÜ ðïëý êáëÞ: ðñïóöÝñåé äõíáôüôçôåò ðïõ äåí õðÜñ÷ïõí óôï Microsoft Office. Áêüìç, ìðïñåß íá äéáâÜóåé êáé íá ãñÜøåé áñ÷åßá ôùí Word êáé Excel files, áí êáé ç ìåôáôñïðÞ äåí åßíáé ðÜíôïôå ôÝëåéá. Éóôïóåëßäá: <http://www.stardivision.com>. (Ó.ô.Ì.: ç óåëßäá Ý÷åé ðëÝïí áëëÜîåé, ìåôÜ ôçí åîáãïñÜ ôçò StarDivision áðü ôçí Sun, êáé ðëÝïí åßíáé <http://www.sun.com/staroffice>) ¶ëëï êáëü ðáêÝôï åßíáé ôï Corel WordPerfect, ìßá åëåýèåñç Ýêäïóç ôïõ ïðïßïõ ðáñÝ÷åôáé óôï Äéáäßêôõï. Íá ðù êé Üëëá; ÔóéìðÞóôå ôï! <http://www.corel.com>. [1m12. ÁõôÜ, ãéá ôçí þñá![0m Óõã÷áñçôÞñéá! ¸÷åôå ðëÝïí áñðÜîåé êÜðïéá ðñÜãìáôá ó÷åôéêÜ ìå ôï UNIX êáé åßóôå Ýôïéìïé íá îåêéíÞóåôå íá äïõëåýåôå. ¸÷åôå õð' üøç üôé åßíáé ðïëëÜ áõôÜ ðïõ äåí îÝñåôå ãéá ôï óýóôçìÜ óáò, ïðüôå ðñÝðåé íá åîáóêåßóôå ðåñéóóüôåñï ãéá íá ÷ñçóéìïðïéåßóôå ôï Linux Üíåôá. Áí áõôü ðïõ èÝëáôå ðÜíôùò Þôáí íá âñåßôå ìåñéêÝò åöáñìïãÝò êáé íá áñ÷ßóåôå íá ôéò ÷ñçóéìïðïéåßôå, áõôÜ ðïõ åßðá ðñÝðåé íá Þôáí áñêåôÜ. ¸÷ù ôçí ðåðïßèçóç üôé èá ÷áßñåóôå íá äïõëåýåôå ìå ôï Linux êáé ðùò êáèþò èá ðåñíÜåé ï êáéñüò èá ìáèáßíåôå üëï êáé ðåñéóóüôåñá - Ýôóé ãßíåôáé ìå üëïõò ìáò! Åßìáé åðßóçò âÝâáéïò üôé äå èá åðéóôñÝøåôå ðïôÝ óôï DOSWin! Åëðßæù íá Þìïõí óáöÞò êáé íá âïÞèçóá éêáíïðïéçôéêÜ ôïõò 3 Þ 4 áíáãíþóôåò ìïõ. [1m12.1. Copyright (êïðÞ ôïõ right;)[0m Åêôüò êé áí áíáöÝñåôáé äéáöïñåôéêÜ, ôá äéêáéþìáôá ôùí HOWTO ôïõ Linux áíÞêïõí óôïõò áíôßóôïé÷ïõò óõããñáöåßò ôïõò. Ôá HOWTO ôïõ Linux ìðïñïýí íá áíáðáñá÷èïýí êáé íá äéáíåìçèïýí åî ïëïêëÞñïõ Þ ôìçìáôéêþò, åö' üóïí ôï ðáñüí óçìåßùìá ðåñß copyright ðáñáìÝíåé óå êÜèå áíôßãñáöï. Ç åìðïñéêÞ áíáäéáíïìÞ åðéôñÝðåôáé êáé åíèáññýíåôáé· ðáñ' üë' áõôÜ, ï óõããñáöÝáò èá Þèåëå íá åíçìåñþíåôáé ãéá êÜèå ôÝôïéá äéáíïìÞ. ÊÜèå ìåôÜöñáóç, ðáñÜãùãç Þ óõíïëéêÞ åñãáóßá, ðïõ åìðïñåõìáôïðïéåß ïðïéïäÞðïôå HOWTO ôïõ Linux ðñÝðåé íá êáëýðôåôáé áðü áõôÞ ôç äéáêÞñõîç ôïõ copyright. Áõôü óçìáßíåé, üôé äåí åßíáé äõíáôüí íá ðáñá÷èåß ðáñÜãùãç åñãáóßá áðü Ýíá HOWTO êáé íá åðéâëçèïýí ðåñáéôÝñù ðåñéïñéóìïß óôçí äéáíïìÞ ôïõ. ÅîáéñÝóåéò áõôþí ôùí êáíüíùí åßíáé äõíáôüí íá åãêñéèïýí õðü óõãêåêñéìÝíùí ðñïûðïèÝóåùí· áðåõèõíèåßôå óôïí äéá÷åéñéóôÞ ôùí HOWTO ôïõ Linux, óôç äéåýèõíóç ðïõ äßäåôáé êÜôùèé. Åí ïëßãïéò, èá èÝëáìå íá ðñïùèÞóïõìå ôç äéÜäïóç áõôþí ôùí ðëçñïöïñéþí äéáìÝóïõ üóùí ðåñéóóüôåñùí ïäþí ãßíåôáé. Ðáñ' üë' áõôÜ, åðéèõìïýìå íá äéáôçñïýìå ôá äéêáéþìáôá copyright ôùí HOWTO ôïõ Linux êáé èá èÝëáìå íá åíçìåñùíüìáóôå ãéá üðïéá ó÷Ýäéá áíáäéáíïìÞò ôùí HOWTO. Ãéá üðïéåò åñùôÞóåéò, ðáñáêáëþ åðéêïéíùíÞóôå ìå ôïí Tim Bynum, äéá÷åéñéóôÞ ôùí HOWTO ôïõ Linux ìÝóù çëåêôñïíéêÞò åðéóôïëÞò óôç äéåýèõíóç <linux-howto@sunsite.unc.edu>. [1m12.2. ¶ñíçóç åõèõíþí[0m Ôï «From DOS to Linux HOWTO» ãñÜöôçêå áðü ôïí Guido Gonzato, <REMOVE_MEguido@ibogeo.df.unibo.it>. (ÁöáéñÝóôå ôï «REMOVE_ME».) Åõ÷áñéóôþ ðïëý ôïí Matt Welsh, óõããñáöÝá ôïõ «Linux Installation and Getting Started», ôïí Ian Jackson, óõããñáöÝá ôïõ «Linux frequently asked questions with answers», ôïí Giuseppe Zanetti, óõããñáöÝá ôïõ «Linux», óå üëïõò üóïõò ìïõ Ýóôåéëáí çëåêôñïíéêÝò åðéóôïëÝò ìå ðñïôÜóåéò êáé éäéáßôåñá óôïí Linus Torvalds êáé ôï GNU ðïõ ìÜò Ýäùóå ôï Linux. (Ó.ô.Ì.: Ç ìåôÜöñáóç Ýãéíå áðü ôïí Íßêï Èåïäþñïõ <ntheo@math.auth.gr>. Ðáñ' üôé ç ìåôÜöñáóç åíüò HOWTO äåí åßíáé éäéáéôÝñùò ðñïóöÝñïõóá ðñïò ôï óýíïëï ôùí ÅëëÞíùí ×ñçóôþí ôïõ Linux, ç ãíþóç üôé óõíÝâáëá Ýóôù êáé ëßãï óôçí äéÜäïóç ôïõ ëåéôïõñãéêïý, åßíáé ãéá ìÝíá áñêåôÜ éêáíïðïéçôéêÞ! Åßìáé âÝâáéïò üôé ç ðáñïýóá ìåôÜöñáóç åßíáé ãåìÜôç ëÜèç, åëðßæù üìùò óôç âïÞèåéá üëùí óáò ãéá ôç äéüñèùóÞ ôïõò. ) Áõôü ôï Ýããñáöï ðáñÝ÷åôáé «ùò Ý÷åé». ÊáôÝâáëá ìåãÜëç ðñïóðÜèåéá íá ôï ãñÜøù üóï áêñéâÝóôåñá ìðïñïýóá, áëëÜ ÷ñçóéìïðïéåßóôå ôéò ðåñéå÷üìåíåò óå áõôü ðëçñïöïñßåò ìå äéêÞ óáò åõèýíç. Óå êáììßá ðåñßðôùóç äå èá èåùñçèþ õðåýèõíïò ãéá üðïéá áðþëåéá ïöåßëåôå óå ÷ñÞóç áõôÞò ôçò åñãáóßáò. ÊÜèå áíÜäñáóç åßíáé êáëïäå÷ïýìåíç. Ãéá üðïéá ðáñÜêëçóç, ðñüôáóç, âñéóéÜ êëð åßóôå åëåýèåñïé íá åðéêïéíùíÞóåôå ìáæß ìïõ. Íá ÷áßñåóôå ôï Linux êáé ôç æùÞ, Guido =8-)