[Musiikkia] 

DOUG Lloyd: OK. Joten puhua siitä, miten Käytä Linuxin komentoriviltä. Nyt CS50 IDE, tai Itse asiassa jopa CS50 laite, jos olet perehtynyt että, tai olet ottaen vanhempi versio CS50, on pilvi-pohjainen kone joka kulkee Ubuntu, joka on yksi monista makuja Linux-käyttöjärjestelmän. Linux-käyttöjärjestelmä on suosima ohjelmoijat, koska se on vain jäähdytin, eikö? 

Monet nykyajan Linux-jakelut on graafisia käyttöliittymiä, jota me myös soittaa graafisia, G-U-I, jotta mahdollistavat helpon hiiri navigointi-, joka olet todennäköisesti tuttu, jos olet Windows-tai Mac-käyttäjä, liikkuvat hiirtä, kaksoisnapsauttamalla kuvakkeita, ja niin edelleen. Silti vaikka, kuten ohjelmoija, ja vaikka IDE sisältää kyky tehdä joitakin graafinen kamaa, klikkaamalla, ja vetämällä, ja kaikki, voit silti käyttää kyseistä pääteikkuna melko usein. Ja voit tehdä monia samat tehtävät että voit tehdä hiiri näppäinkomentoja. Ja me aiomme puhua vähän mitä jotkut näistä komennoista ovat juuri nyt. 

Nyt näitä komentoja voidaan käyttää tahansa Unix-pohjainen käyttöjärjestelmä järjestelmä, joka sisältää Linux, mutta myös Mac OS. Jos avaa Terminal Macissa, voit käyttää näitä tarkka komentoja. Windows on myös Command Ajallaan, mutta jotkut komennot ovat hieman erilaisia, joten se ei oikeastaan ​​toimi, koska Windows ei ole Unix-pohjainen järjestelmä. 

Joten katsomaan joitakin Näiden Linux komennot. Ensimmäinen että sinun ehkä käyttää aika paljon on ls. Se Pieni l, jota seuraa pieniä s, joka on lyhyt lista. Ja mitä luettelo komento ei se antaa lukeman kaikki tiedostot ja kansioita hakemistossa. Joten näet kaiken voit päästä josta parhaillaan olet. 

Joten olen avannut tässä CS50 IDE. Ja aion zoomata sisään toinen antaa sinulle tarkemmin, mutta tässä laaja kuva mitä IDE näyttää. Vasemmalla näet olemme tiedosto puu, joka olet luultavasti tuttu, kaksoisnapsauttamalla, ja tiedostot ja kansiot, ja kaikki jutut. Niin, että yhä olemassa vuonna CS50 laitteen. Keskiössä alkuun on, jos olet aiotaan kirjoittanut koodin, kun klikkaat tiedostoa. Ja alareunassa, me on pääteikkunaa joka on, jos voimme toteuttaa Näiden liittimien komennot. 

Aion zoomata-in ja pään yli täällä, vain näyttämään, että itse asiassa, voin klikkaa nämä tiedostot ja kansiot. Niin selvästi, missä minä tällä hetkellä olen, minulla on kaksi kansiota, nimeltään pset0 ja pset1, ja kolme tiedostoa, yksi nimeltään Hei, yksi nimeltään hello.c, ja yksi nimeltään hello.txt. 

Joten siirtyä alas päätelaitteeseen ikkuna ja saada tarkemmin. Joten me vain puhui, jälleen, noin Se, että meillä on kolme tiedostoa ja kaksi kansiot hakemistossa. Jos kirjoitan ls, joka taas on komento listata sisällön nykyisen hakemiston, ja sitten osuin Enter, katso mitä näen, Hei, hello.c, hello.txt, pset0 ja pset1. 

pset0 ja pset1 ovat värillinen sininen, osoittamaan teille, että ne ovat hakemistoja että voisimme navigoida. Ja me oppia hieman vähän siitä, miten navigoida osaksi hakemistoja minuutin. Ja joka toinen asia on väriltään musta, jos se on tekstitiedosto tai lähdekoodi tiedosto, ja vihreä, jos se suoritettavaa tiedostoa. Niin selvästi, se tarkoittaa, että minä voisi ajaa ohjelma nimeltä, hei. Se mitä vihreä ketään tarkoittaa. Mutta pohjimmiltaan, kirjoittamalla ls komento on mahdollistanut minua katsomaan kaiken olemassaolevan minun hakemistossa, joka vastaa mitä näemme täällä, graafisesti saman. Seuraava komento will ehkä käyttää melko vähän on CD, pieniä C, pieniä d, joka on lyhyt muutosta hakemistoon. Tämä antaa meille mahdollisuuden tehdä mitä olin puhuu toista sitten, joka on navigoida välillä hakemistoja komento linja, toisin kuin kaksoisnapsauttamalla kansioita. Joten jos me Kirjoita cd ja sitten hakemiston nimi, voimme saada tuohon hakemistoon. 

Sivuhuomautuksena, tietää, että nimi nykyisen hakemiston on aina piste, ja hakemiston nimi yhden tason yläpuolella, missä olemme nyt, että on nimi kansion joka meidän kansio on, piste, dot-- tai jossa meidän kansiossa on, on piste, piste. Ja jos olet koskaan utelias nimi hakemistoon, voit kirjoittaa pwd, joka seisoo nykyisille työhakemistossa. Me katsomaan kaikki nämä nyt, otsakkeittain takaisin CS50 IDE. Joten olen takaisin minun työtilan nyt. Ja minä zoomata jälleen terminaali, joten voimme katsoa klo liikkuvilla IDE. Joten aion listata sisältö minun hakemistossa jälleen, vain hioa meille missä olemme. Joten jos kirjoitan ls, joka on lista uudelleen, Näen, että pääsen pset0 ja pset1. Ne ovat hakemistoja Pääsen täältä. Tiedän että, koska IDE antaa minulle vihje värjäämällä ne sininen. 

Sanotaan, että haluan päästä minun pset1 hakemistoon, koska olen työskennellyt Harjoitus 1. Voin kirjoittaa cd-- jälleen, lyhyt muuttaa directory-- tilaa, pset1. Ja jos minä Enter, huomaa, mitä tapahtuu. Se ei näytä paljon on tapahtunut. Mutta jos tarkastellaan nopea, se nyt kertoo minulle, että olen ~ / työtila / pset1. Olen navigoinut pset1 kansio, joka oli sisällä minun työtila. 

Ja jos kirjoitan ls, näen eri juttuja täällä, eikö? Tämä ei ole sama lista, että olen nähnyt ennen. Olen navigoinut pset1. Ja nyt, kun kirjoitan ls, olen saada yhteydessä mitä voin nähdä sisällä pset1 kansiossa. 

Nyt aion kirjoittaa ohjaus l, joka vain tyhjentää näytön. Ja aion listata hakemiston sisältöön jälleen, niin voit nähdä. Halusin vain tehdä sitä tyhjentää joitakin juttuja että näit alhaalla ja estää tämän menemästä liian pitkälle alas ulkopuolella. 

Nyt, sanoin aikaisemmin, että jos haluan navigoida nykyiseen hakemistoon, Voin Kirjoita cd tilaa dot. Paina Enter. Se ei tee mitään, eikö? Olen muuttumassa hakemistoja nykyiseen hakemistoon. Et aina aio löytää tarve yhteen pisteeseen, mutta ajoittain. 

Oletetaan, että haluan Siirry edelliselle tasolle. Haluan saada takaisin työtilaani hakemistoon. En voi kirjoittaa CD työtila, ei ole Tiedostoa tai hakemistoa. Ja syy that-- jos kirjoitan ls yhden time-- on, että ei ole hakemisto nimeltään työtila sisällä minun pset1 hakemistoon. Aion tyhjentää näyttö uudelleen ohjaus l. Muista mitä sanoin aikaisemmin kuitenkin, että meillä voi navigoida takaisin piste, piste. Se on nimi emohakemisto. Jos siis cd, tila, piste, piste, ja sitten paina Enter, katsokaa, mitä nyt tapahtui. Oma komentorivi kertoo minulle, että olen takaisin minun ~ / työtila hakemistoon. Muutin yhden tason ylöspäin, kiitos piste, piste. 

Nyt sanotaan, että olen käyttäen käyttöjärjestelmä, joka on Linux-pohjainen, mutta ei välttämättä kerro missä olen. Tämä tapahtuu kertoa meille, että Olen ~ / työtilassa juuri nyt, aivan ajallaan. Mutta voisin olla täysin hävisi sotku kansioita, ja minulla ei ole aavistustakaan missä olen ja Ei aavistustakaan, mistä haluan saada takaisin. On kaksi asiaa, että voin tehdä. 

Ensinnäkin, en voi selvittää missä olen, kirjoittamalla pwd. Se on minun läsnä työhakemistossa. Ja jos minä Enter, se kertoo minulle tarkalleen missä olen. Nyt / home / ubuntu on pitkä tapa sanoa, tilde, joka on kotihakemistosi. Mutta se kertoo minulle, että olen home / ubuntu / työtila, tai ~ / työtila. 

Aion siirtyä minun pset1 hakemisto uudelleen, ja aion luetella sisällön. Ja näen, että minulla on toinen hakemiston siellä, kutsutaan extrat. Joten aion CD extrat, ja sitten aion tyhjentää näytön. 

Joten nyt, olen melko pitkälle, eikö? Mitä jos haluan takaisin on -työtilan välittömästi? On pari asiaa voisin tehdä. Voisin cd, piste, piste, slash, piste, piste, siirtyä yhden tason ylöspäin ja sitten toiselle tasolle. Mutta se on tavallaan ärsyttävää. 

Joten jos joskus haluat päästä takaisin vain kotini hakemiston, tilde, Voin Kirjoita cd mitään sen jälkeen. Cd, Anna. Ja nyt, olen tilde. Ja jos haluan päästä työtilaan, Voin vain cd työtila. Ja näin työskentelet muuttuvat hakemistot sisällä CS50 IDE tai Linux käyttöjärjestelmä komentoriviltä. Selvä. Seuraava jotka saattavat on kätevää on mkdir, joka on lyhyt tehdä hakemistoon, jos minun täytyy luoda uusi kansio. Jos olet perehtynyt GUI käyttöjärjestelmä, saatat hiiren kakkospainikkeella. Ja sitten, kun kontekstivalikko avautuu, valitse Uusi kansio. Se on luultavasti miten olet tehnyt sen ennenkin. Mutta voimme myös luoda hakemistoja komentoriviltä. Joten olemme takaisin IDE. Minä zoom-in terminaalin ja luetella sisällön minun hakemiston jälleen, vain antaa meille viitekehys. Sanotaan, että nyt olen muokannut Harjoitus 0 ja ongelma asettaa 1. Joten haluan luoda uusi hakemisto työskennellä ongelmien asettaa 2. Miten teen sen? 

No, taas, voisin hiiren kakkospainikkeella vasemmalle puolella ja valitse Uusi kansio ja luo pset2 hakemistoon. Joka toimisi myös. Mutta sitten myös tehdä sen komentoriviltä melko nopeasti, kirjoittamalla mkdir, space-- I kirjoitettu n, but-- tilaa pset2. Jos osuin Enter ja sitten listata sisältö minun hakemiston uudelleen, Näen, että, katso, nyt Minulla pset2 kansio. Ja voin navigoida että käyttämällä CD ja tehdä kaikki työ minun täytyy tehdä pset2. Muuten, minä vain pop yli täällä todella nopeasti tiedoston puu. Ja voit nähdä, että myös vuonna graafinen File Explorer, voimme nähdä, että pset2 hakemisto on myös luotu siellä. Ja voin navigoida sinne, käyttäen GUI samoin. Seuraavan kerran ja se on todennäköisesti aio tulla kätevä on cp, joka on lyhyt kopio. Kopioi, toisin kuin kaikki muut komennot olemme nähneet aiemmin, ottaa kaksi argumenttia, lähde, tiedoston nimi, jonka haluat kopioida, ja kohde, jossa voit haluat kopioida tiedoston. Se on melko helppo kopioida tiedosto, joten tehdään se. 

Joten olemme takaisin IDE. Aion luetella sisältö minun hakemiston kanssa ls. Nyt sanotaan, että haluan tehdä kopion hello.txt. Jälleen tiedostosta puu vasemmalle, graafinen käyttöliittymä, Voisin klikkaa hiiren oikealla hello.txt, kopioida, liittää kopio. Mutta voin tehdä sen melko nopeasti komentoriviltä liian. 

Sanotaan haluan kopioida hello.txt on hi.txt. Voin cp, tilaa, hello.txt. Se on minun lähdetiedoston, joten siksi Aion valita sitä ensin. Ja sitten minun täytyy nimetä kohdetiedosto, hi.txt. Osuin Enter. Ja jos minä luetella sisältö minun hakemisto uudelleen, siellä hi.txt. Tein siitä kopion. Ja itse asiassa, jos menin osaksi hi.txt, voisin nähdä, että se olisi tarkka kaksoiskappale kaikesta, olemassa minun hello.txt tiedostoon. 

Niin, että miten kopioit tiedoston. Mutta entä jos haluat kopioida koko hakemistosta? Joten toinen, katsotaanpa katsomaan mitä on minun pset0 hakemistossa. Jos minä cd pset0 ja listata sisällön, Minulla on hakemiston nimeltä, näyte, ja tyhjästä tiedosto, scratch.sb2. Niin se on hyvä tietää. Joten tyhjentää näytön, ja aion mennä takaisin minun työtila hakemistoon toista. 

Sanotaan, että nyt, haluan tehdä kopion pset0 hakemistoon. En voi vain sanoa cp pset0 pset3, esimerkiksi. Saat tämän outo viesti, jätetään pois hakemistoon pset0. Miksi saat tämän viestin? No, käy ilmi, että, kun sinulla on hakemisto, joka on muita juttuja sen sisällä, cp komentoa ei oikeastaan välttämättä tiedä mitä tehdä sen kanssa. 

Meidän on nimenomaisesti kertoa Linux, terminaali, Haluan sinun kopioida pset0 hakemisto ja kopio jokainen kansio että olemassa sisällä sitä ja jokainen tiedosto, joka olemassa sen sisälle. Toisin sanoen, sinun pitää rekursiivisesti sukeltaa alas pset0 ja kopioida kaiken siellä. 

Jos haluan tehdä sitä, mitä voin tehdä on cp-R, rekursiivisissa, pset0 pset3. Paina Enter. Nyt, jos olen luetella sisältö minun hakemistoon, Näen siellä pset3 hakemiston että voin työskennellä. Ja jos minä CD pset3 nyt ja sitten luetella sisällön, katso, siellä on näyte ja scratch.sb2 uudelleen. Niin se on aika siistiä. Niin, että miten voit kopioida koko hakemiston, eikä vain yhden tiedoston. Joten jos haluat kopioida hakemisto, vain muistaa käyttää -r lippua, kun olet kanssa cp-komennon. Selvä. Joten olen kopioinut tiedoston, mutta Olen tehnyt sen vahingossa. Ja nyt, haluan päästä siitä eroon. Miten teen sen? Jälleen, jos olet perehtynyt jossa graafinen käyttöliittymä, voit hiiren kakkospainikkeella ja vain valitse Poista. Ja se tulee lähettää sen roskakoriin tai roskakoriin. Mutta komentoriviltä, ​​me voi vain kirjoittaa rm, ja poistaa, ja sitten nimi tiedosto haluamme päästä eroon. 

Nyt, rm on hyvin varovainen. Se tekee paljon kaksinkertaisen tarkkailun, varmista, että olet itse haluat poistaa tiedoston. Se ei halua tehdä virheitä, koska ei ole mitään roskakoriin täällä. Kun me poistaa tiedoston, se on mennyt. Ja siellä oikeastaan ​​mitään keinoa palauttaa sitä. Joten meidän on oltava melko varovainen, ja niin rm tulee olemaan todella varovainen meille. 

Joten mennään takaisin IDE ja päästä eroon että hi.txt tiedosto että olen luonut minuutti sitten kopio. Joten olemme IDE. Ja I luettelo sisällön minun hakemistossa jälleen, vain antaa meille joitakin yhteydessä. Tarkoitan, voit nähdä, että siellä on hi.txt, joka Loin vähän aikaa sitten. Nyt haluan päästä eroon siitä. Miten teen sen? 

Jälleen vain rm. Joten en voi kirjoittaa rm hi.txt ja paina Enter. Ja siellä rm olento todella varovainen meille ja huolehtimalla, että emme oikeastaan haluat poistaa tämän tiedoston. Haluatko varmasti poistaa säännöllinen tyhjä tiedosto hi.txt? Se on aivan kuin toiminta järjestelmä, kuten Windows tai Mac, että saatat olla perehtynyt popping että laatikko sanoo olet todella varma, että haluat tehdä tämän. 

Olen melko varma, haluan tätä, joten aion kirjoittaa, yes-- tai Voisin myös vain Kirjoita y-- ja paina Enter. Ja jos minä luetella sisältö minun hakemisto uudelleen, hi.txt on mennyt. Ei paha, vai mitä? Katsotaanpa paina Ctrl L, vain päästä eroon kaikki jutut ja saada meidät takaisin näytön yläreunassa. 

Nyt, on tapa oikosulku rm, joten että se ei pyydä meille, että kysymys. Me todella tiedämme haluamme päästä eroon tiedoston, emmekä edes halua on kysyi. Miten me sen teemme? No, voimme määrittää ylimääräinen lippu, aivan kuten me teki cp jossa voisi lisätä -r lippu, rekursiivisesti kopioida hakemistoon. On toinenkin lippu RM, joka on -F, joka on pakottaa RM tekemään juuri mitä me kerromme sitä tekemään. 

Joten sanoa, että nyt, haluan päästä eroon minun hello.txt tiedoston. En halua, että yksi joko. Mitä minä voin tehdä? No, voin rm -f hello.txt. Mitä luulet on tulee tapahtumaan täällä? Se on mennyt. Ei edes pyytänyt minua kysymyksen. Ja itse asiassa, jos minä luetella sisältö minun hakemiston uudelleen, se on mennyt. Ei ole kumoa täällä. hello.txt on mennyt, ja en ollut vaikka kysyi, haluaisinko poistaa se. Mitä jos haluan päästä eroon kokonaisen hakemiston? Niin teet että on hyvin samankaltainen kopioida. Jos haluat poistaa hakemisto, et vain haluat poistaa hakemiston, jonka haluat poistaa kaikki sen sisällä. Ja niin käytät -r, jotta rekursiivisesti poistaa hakemiston. 

Joten rm -r pset2. En työskentele varsinaisesti pset2, joten voin päästä eroon kyseisen hakemiston. Osuin Enter. Onko Haluan poistaa hakemiston, pset2? Kyllä, minä. Ja jos minä luetella sisällön minun hakemistoon uudelleen, se on mennyt. Selvä? 

Yksi lisää muunnelma tästä teemasta. Niin minä tyhjentää näytön uudelleen, laittaa kaiken huipulla. Osuma ls. Nyt haluan päästä eroon minun pset3 hakemiston, ja en todellakaan tiedä haluan päästä eroon minun pset3 hakemistoon. Voin rekursiivisesti ja pakolla poistan pset3 hakemistoon. 

Nyt, olet menossa todella varovainen, kun käytät rm-rf. Kuten ohjelmoida enemmän, se tulee olemaan jotain et vain todella nopeasti. Ja itse en tee sitä koko ajan. Mutta se voi johtaa joidenkin katastrofaaliset seuraukset, jos olet vahingossa poista väärin. Joten haluan sinun olla tietoinen siitä, että tämä on vaihtoehto sinulle, mutta sitä kannattaa käyttää harkiten, ja käyttää sitä varoen. 

Tiedän tosiasia en tee töitä minun Harjoitus 3 enää, joten olen menossa päästä eroon kaikista näistä tiedostoista. Ja tiedän halua pyydetään joka kerta, jos haluan poistaa tiedosto, joten aion rm-rf pset3. Ei edes pyytänyt minulta halusi päästä eroon siitä. Osuin ls. pset3 on mennyt. Niin, että kaikki muutokset, jotka olet voidaan käyttää päästä eroon tiedostoja RM. 

Viimeinen komentoriviltä komennon, joka on menossa melko hyödyllinen sinulle on mv, joka on lyhyt liikkua. Move on pohjimmiltaan vastaa nimetä. Se liikkuu tiedoston yhdestä sijainnista toinen, lähteestä kohteeseen. Katsotaan jos käytät liike voi olla kätevä at pääteikkuna. 

Joten olen minun pset1 hakemiston, ja olen huomannut jotain on mennyt pieleen. Olin työskennellyt minun ahne ongelma, mutta olen vahingossa nimesi sen Greddy. Joten kun yritän ja ajaa se läpi check50, se ei oikein toimi. Minulla on pari vaihtoehtoa. Voisimme tehdä mitä olemme tehneet aiemmin, joka on tehdä kopio tiedostosta. Voisin kopioida greddy.c ja greedy.c, eikö? Paina Enter. Näen, että molemmat tiedostot ovat siellä. Ja sitten voisin rm, poistamiseksi, greddy.c. Että pääsee eroon siitä. Jotta toimisi, kun vahvistan että haluan päästä siitä eroon. Ja minä tehokkaasti on nimeksi greddy.c on greedy.c. Olen kopioinut sen, ja sitten poistettu alkuperäinen. 

Mutta se on monivaiheinen prosessi. Ja varmasti, siellä on parempi tapa. Itse asiassa, on. Joten osuma ohjaukseen L, vain tuoda tämän takaisin ylös, ja luettelo sisältö minun hakemiston uudelleen. 

Joten sanoa, oh, tein virheen. Olen itse tosiaankaan halua soittaa tiedoston greddy.c. Yhdellä iskulla, voin kirjoittaa Siirrä greedy.c on greddy.c. Paina Enter. Ja nyt, minulla ei ollut kopioida ja poistaa sen, Olen vain voinut nimetä sen. Yhden luukun. 

Nyt, on olemassa paljon muita perus komentoriviltä apuohjelmia että voit käyttää komentojonoille. Ja me keskustelemme paljon niistä tulevaisuudessa CS50. Mutta nyt, vain saada jalat märkä työskentelystä tähän liittimeen ympäristö, nämä viisi komennot pitäisi saada sinut melko pitkälle vuonna navigointia ja kanssa tiedostoja IDE tai missä tahansa Linux-pohjainen käyttöjärjestelmä käytät. 

Jos olet kiinnostunut ja haluat katsoa eteenpäin hieman jossain komentorivin komentoja Käytämme tulevaisuudessa, tässä on lista pari enemmän yhteistä kuin. Olen Doug Lloyd. Tämä on CS50.