Kirjoittaja Aihe: Linuxin komentokieleen apuja  (Luettu 3949 kertaa)

20071523

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Linuxin komentokieleen apuja
« : 13.01.07 - klo:11.41 »
Minulla on WindowsXP:ssä kaksi suurta kiintolevyä, joista ykköslevy on partitioitu osioiksi C, E ja F. Pienempi kakkoslevy osioiksi D ja G. Työtiedostot olivat osiolla E ja ja varmuuskopiot menivät muuntuneiden tiedostojen osalta päivittäin itsekseen kakkoslevyyn osioon G ajastelulla copy con- komentojonolla tarvitsematta tehdä mitään. Sinänsä kätevää.   

COPY CON
XCOPY E:\  G:\  /e /m /s

Poistin levynhallinnasta osiot F, johon asensin Ubuntun. Samoin varmistustallennuksia varten poistin kakkoslevyltä osion G, joka on niin ikään ext-formaatissa. Ykköslevyn osiosta tuli /dev/hdc7 ja kakkoslevyn osiosta tuli /dev/hdd2.  Kysymykseni saattaa kuulostaa typerältä, mutta olen käyttänyt Linuxia vain viikon.

Kysymys kuuluu: Minkälaisen komentojonon rakennan, että saisin ykköslevyn Linux osiolta vaikkapa päivittäin varmuuskopiot kakkoslevylle siten, että vain muuntuneet tiedostot kopioidaan. XCOPY-komennossa ensimmäisen kopioinnin jälkeen juuri tuo valitsin /m, joka poistaa edellisen kopion arkistointibitin pois päältä, jolloin kopionti on nopeaa, kun vain muuntuneet tiedot kopioidaan. Toisin sanoen miten saan kopioinnin sujumaan yhtä kätevästi tekemättä itse mitään muuta kuin komentojonon?

Toinen kysymys. Minusta tuntuu siltä (voi olla harhaluulokin), että Linuxin komentokieltä pidetään jollakin tavoin itsestäänselvyytenä siinä mielessä, että kaikkihan sen osaavat, jos Linuxia käyttävät. Tämä näkyy mielestäni suomenkielisessä Linux-kirjallisuudessa, jotka keskittyvät valitettavan usein vain Linuxin kehityshistoriaan, asennukseen ym,, mutta komentokieli pahimmillaan kuitataan "katso man sivuilta" tai sitten annetaan muutama yleinen komento ilman esimerkkejä.

Tietysti netti on pullollaan vastauksia joka kysymykseen, mutta kun olen hieman laiska opiskelemaan päätteen ääressä, niin mielelläni opiskelisin kirjaa lokoisasti sängyssä, ja tekisin  vaikkapa komentojonoharjoituksia päätteellä.

Aikoinaan ensimmäisen tietokoneeni IMB ps2 / Win3.1 ja PC-DOS 5.0 mukana tuli IBM:n oma 800 sivuinen kirja dossista ja kieltämättä se on tähän mennessä paras tietokonekirja, minkä olen lukenut. Komennot esiteltiin useilla esimerkeillä ja komentokielen sybtaksi, parametrit ja valitsimet selitettiin juurta jaksaen. Jos tämän kirjan luki ajatuksella, ei voinut olla osaamatta dossia suhteellisen hyvin. Windows-piolella tästä oli myöhemmin suurehko apu.

Niin. Jos joku tietää kirjan, jossa perehdyttäisiin toden teolla Linuxin monipuoliseen ja dossia paljon kehittyneempään komentokieleen, niin otan kirjasuosituksia kiitollisena vastaan. Englanninkieltä en vierasta ja voi olla, että suomenkielisiä ei ole olemassakaan.       

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Re: Linuxin komentokieleen apuja
« Vastaus #1 : 13.01.07 - klo:12.36 »
Kysymys kuuluu: Minkälaisen komentojonon rakennan, että saisin ykköslevyn Linux osiolta vaikkapa päivittäin varmuuskopiot kakkoslevylle siten, että vain muuntuneet tiedostot kopioidaan. XCOPY-komennossa ensimmäisen kopioinnin jälkeen juuri tuo valitsin /m, joka poistaa edellisen kopion arkistointibitin pois päältä, jolloin kopionti on nopeaa, kun vain muuntuneet tiedot kopioidaan. Toisin sanoen miten saan kopioinnin sujumaan yhtä kätevästi tekemättä itse mitään muuta kuin komentojonon?

Mielestäni kannattaa tehdä cronin kautta ajastetusti suoritettava shell-skripti joka tekee varmuuskopiot rsync:n avulla. Kun tämä tehdään oikein niin kaikki varmuuskopiot näkyvät käyttäjälle täydellisinä kopioina ja varmuuskopioiden palauttaminen on yksinkertaista riippumatta siitä halutaanko palauttaa koko varmuuskopio tai vain yksittäinenen hakemisto tai tiedosto. Varmuuskopiot vaativat ainoastaan muutosten verran enemmän tilaa alkuperäiseen dataan nähden.

Ohjeita voi lukea mm. sivuilta Easy Automated Snapshot-Style Backups with Linux and Rsync ja Backups using rsync.

Itselläni ei ole mitään jakokelpoista versiota toteutettuna niin en voi tarjota valmista skriptiä.

Lainaus
Toinen kysymys. Minusta tuntuu siltä (voi olla harhaluulokin), että Linuxin komentokieltä pidetään jollakin tavoin itsestäänselvyytenä siinä mielessä, että kaikkihan sen osaavat, jos Linuxia käyttävät. Tämä näkyy mielestäni suomenkielisessä Linux-kirjallisuudessa, jotka keskittyvät valitettavan usein vain Linuxin kehityshistoriaan, asennukseen ym,, mutta komentokieli pahimmillaan kuitataan "katso man sivuilta" tai sitten annetaan muutama yleinen komento ilman esimerkkejä.

Tämä johtuu todennäköisesti siitä että aiheesta saisi helposti kirjoitettua kokonaisen kirjan ja asioiden tiivistäminen yhteen lukuun järkevästi vaatii paljon vaivannäköä ja miettimistä, kun joudutaan pohtimaan mitä asioita käsitelläään ja mitä jätetään käsittelemättä. Näin suppea aiheen käsittely on joka tapauksessa vain pintaraapaisu. Ari Rantalan kirjassa Linux (ISBN: 951-846-175-9) on käsitelty bash-komentotulkin ohjelmointia yhden kappaleen verran ja sen lisäksi ensimmäisessä liitteessä on komentoreferenssi. Kannattaa katsoa jos löytyy paikallisesta kirjastosta.

Muutama pdf-muotoinen teos aiheesta: Bash Guide for Beginners, Bash Reference Manual ja Advanced Bash Scripting Guide.

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Re: Linuxin komentokieleen apuja
« Vastaus #2 : 13.01.07 - klo:13.03 »
Kysymys kuuluu: Minkälaisen komentojonon rakennan, että saisin ykköslevyn Linux osiolta vaikkapa päivittäin varmuuskopiot kakkoslevylle siten, että vain muuntuneet tiedostot kopioidaan. XCOPY-komennossa ensimmäisen kopioinnin jälkeen juuri tuo valitsin /m, joka poistaa edellisen kopion arkistointibitin pois päältä, jolloin kopionti on nopeaa, kun vain muuntuneet tiedot kopioidaan. Toisin sanoen miten saan kopioinnin sujumaan yhtä kätevästi tekemättä itse mitään muuta kuin komentojonon?

kuten mgronber jo ehtikin vastaamaan. cron on oikea työkalu komentojen ajastettuun suorittamiseen ja rsync lienee paras valinta tuonkaltaiseen synkronointiin. tietysti jos tarkoitus on varmuuskopioida erilaisia dokumentteja, koodia, ym. niin myös jonkinlainen versionhallinta saattaisi olla hyvä idea.

Toinen kysymys. Minusta tuntuu siltä (voi olla harhaluulokin), että Linuxin komentokieltä pidetään jollakin tavoin itsestäänselvyytenä siinä mielessä, että kaikkihan sen osaavat, jos Linuxia käyttävät. Tämä näkyy mielestäni suomenkielisessä Linux-kirjallisuudessa, jotka keskittyvät valitettavan usein vain Linuxin kehityshistoriaan, asennukseen ym,, mutta komentokieli pahimmillaan kuitataan "katso man sivuilta" tai sitten annetaan muutama yleinen komento ilman esimerkkejä.

itse en pidä tuota käsitystä täysin oikeana. komnetorivillä operointi on kyllä monessa tapauksessa varsin kätevää, joten siitä helposti puhutaan ja komnetoja viljellään annetuissa ohjeissa. suomalainen linux-kirjallisuus tuntuu tosiaan keskittyvän lähinnä tuohon asennukseen ja on selvästi tarkoitettu aloittelijoille alkuun pääsemiseksi.

toinen ongelma on tietysti se, että aihepiiri on varsin laaja. komentoriviltä ajettavia sovelluksia on valtava määrä ja niidne ajamiseen on suuri määrä eriliaisia optioita. nämä sovellukset tulevat ajan kanssa tutuksi jos ei erityisesti vierasta komentorivin käyttöä ja niiden avulla on mahdollista tehdä scriptejä jotka siis vain suorittavat komennon toisensa perään.

tuosta pykälän verran edistyneempi (mutta ei läheskään aina tarpeellinen) variaatio scriptistä on ottaa mukaan erilaiset kontrollirakenteet ja loopit sekä ottaa vastaan komentoriviparametreja ym. jollooin scriptin suoritus ei ole täysin suoraviivaista ja tarjoaa enemmän mahdollisuuksia, silti nuo komentorivityökalut ovat usein aika suuressa osassa.

Tietysti netti on pullollaan vastauksia joka kysymykseen, mutta kun olen hieman laiska opiskelemaan päätteen ääressä, niin mielelläni opiskelisin kirjaa lokoisasti sängyssä, ja tekisin  vaikkapa komentojonoharjoituksia päätteellä.

itsekin olen hieman tällä kannalla, tosin tuo scriptauksen opetteluun koneeltakin lukeminen menettelee, sillä siinä pääsee samalla lukiessaan testailemaan scripteissä erilaisia temppuja saman tien. (bash)scriptien kontrollirakenteista, muuttujista ym. tavarasta kertoo Advanced Bash-Scripting Guide jonka pystyy asentamaan myös paikallisesti paketista abs-guide.

Niin. Jos joku tietää kirjan, jossa perehdyttäisiin toden teolla Linuxin monipuoliseen ja dossia paljon kehittyneempään komentokieleen, niin otan kirjasuosituksia kiitollisena vastaan. Englanninkieltä en vierasta ja voi olla, että suomenkielisiä ei ole olemassakaan.       

itselleni tulee mieleen parikin järjestelmänhallintaa käsittelevää kirjaa joiden avulla linux tulee järjestelmänä jonkin verran tutuksi ja joiden avulla oppii aika hyvin myös monia komnetorivijuttuja. nämä ovat:
Æleen Frisch: UNIX Tehokäyttäjän Opas (Satku) (oma suosikkini, vaikak hieman vanha onkin)
Dave Taylor: UNIX Trainer Kit (IT Press)

ensimmäinen noista taitaa olla edelleen loppu, mutta englanniksi sitä löytää nimellä:
Æleen Frisch: Essential System Administration (O'reilly)

näistä kirjoista onkin jo puhuttu tässä säikeessä.

lisäksi ihan vaan komentojen selailemiseen itseltäni löytyy (ollut kyllä aika vähällä käytöllä) Linux Journal Libraryn (normaalikorkeuksinen, mutta noin puolet normaalikirjan leveydestä) Linux Command Summary jossa on lueteltuna aakkosjärjestyksessä erilaisia komentoja optioineen ja lopussa on vielä hieman lunttilappua scriptaukseen, regexpeihin ym. (yht. ~170 sivua).


tämä nyt vielä menee hieman aiheen ohi, mutta jotta komentorivikokemus olisi mahdollisimman hyvä, kannattaa ehdottomasti opetella joku tehokas editori komentoriville. UNIX-maailmassa kestosuosikkeja ovat olleet vim ja emacs. itse olen enemmän vimin kannalla, mutta ymmärrän hyvin emacs-käyttäjiäkin, tästä aiheesta on jo väittelyä foorumilla jos kiinnostaa lukea. vimin kanssa alkuun pääseen helposti asentamalla paketin vim-full ja käynnistämällä ohjelman vimtutor, emacsia nouvonee joku emacs-käyttäjä kun osaa kuitenkin minua paremmin. tämä siis olettaen, että et jo osaa kyseisiä editoreja.
Janne

Asmo Koskinen

  • Käyttäjä
  • Viestejä: 4443
    • Profiili
Re: Linuxin komentokieleen apuja
« Vastaus #3 : 13.01.07 - klo:13.22 »
Aikoinaan ensimmäisen tietokoneeni IMB ps2 / Win3.1 ja PC-DOS 5.0 mukana tuli IBM:n oma 800 sivuinen kirja dossista ja kieltämättä se on tähän mennessä paras tietokonekirja, minkä olen lukenut.       

Ostetut SuSE Linux-paketit ovat aina sisältäneet aivan loistavat painetut oppaat. Ne löytyvät myös netistä.

Uusin - http://www.novell.com/documentation/opensuse102/index.html

Kaikki - http://www.novell.com/documentation/suse.html

Jos noihin perehdyt (erityisesti Reference/Administration), niin osaat Linuxisi. Toki vaatii suodattamista (SUSE/Novell), mutta noissa on suunnattomasti asiaa koskien Linuxia ylipäätään (komentorivi, KDE/Gnome/, palvelut/palvelimet jne). Suosittelen.

Ystävällisin terveisin Asmo Koskinen.

20071523

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Re: Linuxin komentokieleen apuja
« Vastaus #4 : 14.01.07 - klo:03.37 »
Kiitos kaikille vastanneille neuvoineen ja kirjasuosituksineen!

Nyt yömyöhällä palanneena yöjalasta katson parhaimmaksi tutkia linkit 15 tunnin päästä. Komentokieli selkenee ajan myötä, tavalla tahi toisella. Motivaatiota ainakin riittää ja jonkin verran myös omaksumiskykyä.

Tällä hetkellä pidän parhaimpana vaihtoehtona pitää kaksoiskäyttöjärjestelmää siihen asti, kun olen oppinut Linuxista niin paljon, että tulen toimeen ilman sitä. Sen jälkeen Windows XP Professional saa kokonaisuudessaan kenkää molemmilta kiintolevyiltäni ja asennusvalintani on ainakin aluksi Unbutu ja myöhemmin ehkä kokemuksen karttuessa Kunbutu, vaikka kysymys lienee ainakin osittain vain eri työpöydästä.

Reilun viikon Unbutu-kokemuksen jälkeen ei voi muuta sanoa, kuin että vakaa on, ja Windowsiin verrattuna ei ole tullut yhtäkään kaatumista. Liekö tuuria, vai onko Linuxin stabiliteetti maineensa veroinen !! Raskaiden Windowsin vaatimien virustorjuntapakettien + muiden tilpehöörien takia Winkku on selkeästi hitaampi kuin Linux. Lämmöt esimerkiksi Linuksissa ovat huomattavasti alhaisemmat, kuin Windows XP:ssä, joka tekee ja hääräilee itsekseen mitä omituisempia asioita katsellen Taski Managerista.

Tosin tämä minun masiina on vähän vanhanaikainen varovasti järeällä Zalman pipelinellä ylikellotettu kuumakalle ( P4, socket 775, 3,8 MHz --> 3,98 MHz, 4096 DDR RAM 800 MHz ), mutta Linux toimii tässä aivan moitteettomasti !!

Alkutuntuman mukaan tämä on hyvä käyttöjärjestelmä. Olen saanut tarpeekseni Win XP:n virheilmoituksista ja kaatumisista. Piste.

Kysymys Linuxista enemmän tietäville: Koski & Kajalan kirjan ( Linux käyttäjän käsikirja, s. 36, IT Press, 2003 ) mukaan raskaasti kuormitetulla palvelimella, jossa oli runsaasti PIENIÄ tiedostoja, tiedostojärjestelmä Reiser FS selvisi niistä poisto- ja kirjoitusosuudeltaan noin 6 - 7 kertaa nopeammin, kuin ext3. Jos on kovolla pieniä tiedostoja, niin onko järkeä tai syytä vaihtaa Linuxin tiedostojärjestelmäksi ext3 sijaan Reiser FS  ??

Ystävällisin terveisin Ykä   

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11443
    • Profiili
    • Tomin kotisivut
Re: Linuxin komentokieleen apuja
« Vastaus #5 : 15.01.07 - klo:14.35 »
( P4, socket 775, 3,8 MHz --> 3,98 MHz, 4096 DDR RAM 800 MHz )

Tarkoitat varmaan 3,8 GHz --> 3,98 GHz ;D
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

Ankka

  • Käyttäjä
  • Viestejä: 931
    • Profiili
Re: Linuxin komentokieleen apuja
« Vastaus #6 : 15.01.07 - klo:18.15 »
Tällä hetkellä pidän parhaimpana vaihtoehtona pitää kaksoiskäyttöjärjestelmää siihen asti, kun olen oppinut Linuxista niin paljon, että tulen toimeen ilman sitä.

Hehheh. ;D

Tonde

  • Käyttäjä
  • Viestejä: 919
  • Feisty Fawn
    • Profiili
Re: Linuxin komentokieleen apuja
« Vastaus #7 : 15.01.07 - klo:18.53 »
Tällä hetkellä pidän parhaimpana vaihtoehtona pitää kaksoiskäyttöjärjestelmää siihen asti, kun olen oppinut Linuxista niin paljon, että tulen toimeen ilman sitä.

Hehheh. ;D
Aika hyvin artikuloitu  ;D heh ;D

Sitten asiaan. Itse olen käyttänyt Linuxia noin puoli vuotta, eikä ole aikomusta windowsiin palata. Itse olen eniten linuxin käyttöä oppinut tämän foorumin avulla ja googlettamalla. Vaikeinta on ollut se, että järjestelmä rakentuu ihan erilaiselta pohjalta, kuin windows, joten tietokoneen käyttö on pitänyt opetella periaatteessa alusta asti uudestaan.
Linuxin komentoja on todellakin niin paljon, että opas, joka kattaisi kaikki, olisi luultavasti huomattavasti laajempi, kuin 800 sivua. Lisäksi toisin kuin Dosissa, komentorivin "komennot" eivät ole komentoja, vaan jokainen niistä on itsenäinen ohjelma, joten niitä voi asentaa ja poistaa kohtalaisen vapaasti. Tähän komentojen runsauteen on vastauksena ovat man-sivut, joissa on kerrottu mitä komento tekee ja mitä parametrejä sille voi antaa. Man-sivuja on siis helppo perustella juurikin siksi, että asentamalla ohjelman, asennat myös man-sivut. Itse en kylläkään ole vielä läheskään sillä tasolla, että osaisin pelkkää man sivua lukemalla käyttää komentoa sujuvasti. Tietysti toinen ongelma on keksiä ohjelma, jonka man-sivua lukea. Lisäksi man-sivujen taso ja laajuus vaihtelee suuresti. Jotkut sivut ovat selkeitä (esim. man apt-get, man aptitude) ja joissakin on jopa esimerkkejä miten niitä käytetään, mutta suurin osa on minulle vielä hepreaa (esim. man gcc, joka pitää sisällään vaivaiset 11075 riviä äärimmäisen tiivistettyä tekstiä. Koittaa nyt löytää siitä sitten oikeat parametrit). Silloin ratkaisuna on foorumi tai hakukone, josta ratkaisu on sitten selvinnyt. Ei kyllä tekisi varmasti pahaa minullekkaan lukea joku linux kirja. Saattaisi vähentää tyhmien kysymysten määrää entisestään  :D
« Viimeksi muokattu: 15.01.07 - klo:19.32 kirjoittanut Tonde »
Heitä hyväsit hitaudelle. Asenna ubuntu!

Ville Pöntinen

  • Käyttäjä
  • Viestejä: 2078
    • Profiili
Re: Linuxin komentokieleen apuja
« Vastaus #8 : 15.01.07 - klo:19.10 »
Hehheh. ;D

LOL

Ankalla on silmät kunnossa. Itselläni ei pistänyt lainkaan silmään, vaan luin sen niinkuin se oli (kai  ;) ) tarkoitettukin.