[Muusika mängib] DOUG LLOYD: OK. Nii räägime, kuidas kasutada Linux käsurea. Nüüd CS50 IDE või Tegelikult isegi CS50 aparaat, kui te olete juba tuttav, et ega te võtate vanem versioon CS50, on pilvepõhine masin mis jookseb Ubuntu, mis on üks paljudest maitsed Linuxi operatsioonisüsteemiga. Linux operatsioonisüsteemi on soositud programmeerijad, sest see on lihtsalt jahedam, eks? Paljud kaasaegsed Linuxi on graafilise kasutajaliidese, mida me ka helistada GUIs, G-U-I, et võimaldama hõlpsat hiire-põhine navigation, mis sa oled ilmselt tuttav, kui sa oled Windows või Mac kasutaja, liikudes hiirt, Topeltklõps ikoonid, ja nii edasi. Ikka aga programmeerijana, ja kuigi IDE sisaldab võime teha mõned graafiline kasutajaliides kraami, klõpsu ning lohistades, ja kõik, et sa ikka kasutad oma terminaliaken päris tihti. Ja seda saab teha palju samu ülesandeid, mida saab pistmist hiir klaviatuurkäskudega. Ja me ei kavatse rääkida natuke mida mõned neist käsud on just nüüd. Nüüd on need käske saab kasutada mis tahes Unix-põhiste operatsioonisüsteemidega süsteem, mis sisaldab Linux, kuid ka Mac OS. Kui teil avada Terminal Mac, saate need täpselt käske. Windows on ka Command Küsi, kuid mõned käsud on veidi erinev, mistõttu see ei ole tegelikult töötavad, sest Windows ei ole Unix-põhise süsteemi. Võtame pilk mõned Nende Linux käske. Esimene, et teil ilmselt kasutada üsna palju on ls. See on väiketähed l, millele järgneb väiketähed s, mis on lühike nimekiri. Ja mida nimekirjas käsk ei ole see annab teile näit kõik failid ja kaustu oma praeguse kataloogi. Nii et näete kõike saab saada kust sa praegu oled. Nii et ma olen avanud siin CS50 IDE. Ja ma lähen suurendada-in a Teise teile lähemalt, kuid siin on lai pilt mida IDE välja näeb. Vasakul näete meil faili puu, mis sa oled ilmselt tuttav, topeltklõpsuga ja Failide ja kaustade ja kõik see kraam. Nii et on ikka olemas on CS50 aparaat. Keskmes üleval on, kus sa oled saab olema kirjalikult oma kood, kui sa failil. Ja allosas, me on terminali aknas mis on koht, kus saame täita Nende terminali käske. Ma lähen suurendamiseks sisse ja pea üle siin, just et näidata teile, et tegelikult, ma ei klõpsavad neid faile ja kaustu. Nii selgelt, kus ma praegu olen, ma pean kaks kausta nimega pset0 ja pset1, ja kolm faili, üks nn hello, üks nn hello.c, ja üks nn hello.txt. Nii liigume allapoole terminal aken ja saad lähemalt. Nii et me lihtsalt rääkisime jällegi umbes Asjaolu, et meil on kolm faile ja kaks kaustade jooksva kataloogi. Kui ma kirjutada ls, mis omakorda on käsk nimekirja sisu praeguse Kataloog ja siis ma Enter, vaata mis ma näen, hello, hello.c, hello.txt, pset0 ja pset1. pset0 ja pset1 on sinine, mis näitab, teile, et need on kataloogid et me võiksime liikuda arvesse. Ja me õppida veidi natuke, kuidas navigeerida arvesse katalooge minut. Ja iga teine ​​asi on musta värvi, kui see tekstifaili või lähtekoodi esitada, ja roheline, kui see on käivitatava faili. Nii selgelt, mis tähendab, et ma võiks panna programm nimega, tere. Seda rohelist üks seal tähendab. Aga põhimõtteliselt, kirjutades ls käsk on lubatud mul vaadata kõike, mis on olemas minu praegune kataloog, mis sobib, mida me näeme siin, graafiline sama. Järgmise käsu saate ilmselt kasutada üsna vähe on cd, väiketähed c, väiketähed d, mis on lühike muutus kataloogi. See võimaldab meil teha seda, mida olin räägime teine ​​tagasi, mille on vahel liikumiseks kataloogid käsureal liin, vastandina topeltklõpsuga kaustad. Nii et kui me kirjutame cd ja siis nimi kataloog, saame võtta, et kataloogi. Selle kõrvale, tean, et nimi Praeguse kataloog on alati dot, ja nime kataloog ühe taseme võrra üles, kus me praegu oleme, mis on nime kausta mis meie kataloogi on, dot, dot-- või mis meie kataloogi on, on dot, dot. Ja kui sa oled kunagi uudishimulik nime oma kataloogi, saab sisestada parool, mis tähistab praeguse töö kataloog. Võtame pilk kõik need Nüüd, rubriiki tagasi CS50 IDE. Nii et ma olen tagasi minu tööruumi nüüd. Ja ma zoom-in uuesti terminal, et saaksime heita kell piires liikuvatel IDE. Nii et ma lähen nimekirja sisu minu kataloog uuesti, lihtsalt reground meid, kus me oleme. Nii et kui ma tüüpi ls, mis on nimekirja uuesti, Ma näen, et ma saan pset0 ja pset1. Need on kataloogid Ma saan siit. Ma tean, et kuna IDE annab mul aimugi, mida värvitakse siniseks. Oletame, et ma tahan sattuda minu pset1 kataloog, kuna ma töötan probleem määrata 1. Ma ei kirjuta cd-- jälle, lühike muuta directory-- ruumi, pset1. Ja kui ma Enter, pane tähele, mis juhtub. See ei tundu nagu palju on juhtunud. Aga kui te vaatate kiire, siis nüüd ütleb mulle, et ma olen ~ / tööruumi / pset1. Olen liikunud arvesse pset1 kausta, et oli sees minu tööruumi. Ja kui ma tüüpi ls, ma näen mõned erinevat kraami, eks? See ei ole sama nimekirja, mis ma nägin enne. Olen liikunud arvesse pset1. Ja nii nüüd, kui ma kirjutada ls, ma olen saada kontekstis, mida ma saan vaata seest pset1 kausta. Nüüd ma lähen kirjuta kontrolli l, mis lihtsalt kaob ekraanilt. Ja ma lähen nimekirja kataloogi sisu uuesti, just nii saab näha. Ma lihtsalt tahtsin seda teha, et tühjendama mõned asjad et nägid allapoole ja selle vältimiseks läheb liiga kaugele maha valikut. Nüüd, ma ütlesin, et kui ma tahan et navigeerida kataloogi Ma ei kirjuta cd ruumi dot. Enter. See ei tee midagi, eks? Ma muutuvas kataloogid praeguse kataloogi. Sa ei ole alati läheb leida vaja üht dot, kuid sa aeg-ajalt. Oletame, et ma tahan liikuda ühe taseme võrra üles. Ma tahan, et saada tagasi minu tööruumi kataloogi. Ma ei kirjuta cd tööruumis seal ei ole sellist faili või kataloogi. Ja põhjus selle-- kui ma tüüpi ls veel üks AEG_ on see, et ei ole kataloog nimega tööruumi sees minu pset1 kataloogi. Ma kustutan oma ekraan uuesti kontrolli l. Pea meeles, mida ma ütlesin varasema siiski, et me saate navigeerida tagasi dot, dot. See on vanema nimi kataloogi. Nii et kui ma kirjuta cd, ruumi, dot, dot, ja vajuta Enter, Nüüd vaatame, mis juhtus. Minu käsureale ütleb mulle, et ma olen tagasi minu ~ / tööruumi kataloogi. Ma nihutatakse ühe, Tänu dot, dot. Nüüd oletame, et ma olen abil operatsioonisüsteem, mis on Linux-põhine, kuid ei pruugi ütle mulle, kus ma olen. See üks juhtub meile öelda, et Ma olen ~ / tööruumi kohe, paremale kiire. Aga ma võiks olla täiesti kadunud jama kaustad, ja ma ei tea, kus ma olen ja ei tea, kus ma tahan saada tagasi. Seal on kaks asja, mida ma teha saan. Esiteks, ma ei saa aru saada, kus ma olen, kirjutades parool. See on minu praegune töö kataloog. Ja kui ma Enter, siis ütleb mulle täpselt, kus ma olen. Nüüd / home / ubuntu on kaugele, et öelda, tilde, mis on sinu kodukataloog. Aga ta ütleb mulle, et ma olen home / ubuntu / tööruumi, või ~ / tööruumi. Ma lähen navigeerida minu pset1 kataloogi uuesti, ja ma lähen nimekirja sisu. Ja ma näen, et mul on teine Kataloog on, mida nimetatakse lisad. Nii et ma lähen cd lisad ja siis ma lähen kustutada oma ekraanil. Nüüd, ma olen päris kaugele, eks? Mis siis, kui ma tahan tagasi to tööala kohe? Seal on paar asja mida ma võiks teha. Ma võiks kirjutada cd, dot, dot, kaldkriips, dot, dot, liikuda ühe taseme võrra üles ja siis Teisel tasandil. Aga see on selline tüütu. Nii et kui ma kunagi tahad saada tagasi lihtsalt mu kodu kataloogi, tilde, Ma ei kirjuta cd midagi peale selle. Cd, Enter. Ja nüüd, ma olen tilde. Ja kui ma tahan saada tööruumis Ma ei kirjuta cd tööruumi. Ja see, kuidas te töötate muutuvas kataloogid jooksul CS50 IDE või Linux operatsioonisüsteemi käsureal. Hästi. Järgmisel mis võiksid käepärane on mkdir, mis on lühike teha kataloogi kui mul on vaja luua uus kaust. Kui te olete juba tuttav graafiline operatsioonisüsteem, võite paremklõps. Ja siis, kui kontekstimenüü hüppab, vali New Folder. See on ilmselt, kuidas sa oled seda teinud enne. Aga me ei saa luua ka kataloogid käsureal. Nii oleme tagasi IDE. Ma zoom-in terminali ja nimekirja sisu minu kataloog uuesti, just meile taustsüsteemi. Oletame, et nüüd, ma olen lõpetanud töötavad probleemi seatud 0 ja probleem määrata 1. Ma tahan, et luua uus kataloog töö jaoks probleem seatud 2. Kuidas ma seda teen? Noh, jälle, ma ei paremklõpsake on Vasakul pool ja vali New Folder ja luua pset2 kataloogi. See teeks liiga. Aga siis ma ka seda on käsurea päris kiiresti, kirjutades mkdir, space-- ma sisestatud n, Aga-- ruumi pset2. Kui ma Enter ja siis ma nimekiri sisu oma kataloogi uuesti, Ma näen, et otsida, nüüd Mul on pset2 kausta. Ja ma ei saa navigeerida sisse et kasutades cd ja teha kõik tööd ma pean tegema, et pset2. Muide, ma lihtsalt pop üle siin tõesti kiiresti failipuuks. Ja näed, et ka in graafiline File Explorer, näeme, et pset2 kataloog Loodud on ka olemas. Ja ma ei saa sinna navigeerida, Kasutajaliidese samuti. Järgmine kord ja see on ilmselt läheb tarvis minema on cp, mis on lühike koopia. Kopeeri, erinevalt kõikidest teistest käsud me oleme näinud, kaht argumenti, allikas, siis faili nimi, mida soovite kopeerida, ja sihtkoht, kus te kopeeritav fail. See on päris lihtne kopeerida faili, nii et teeme seda. Nii oleme tagasi IDE. Ma lähen nimekirja sisu minu praeguse kataloogi ls. Nüüd oletame, et ma tahan teha koopia hello.txt. Jällegi, alates failisüsteemi kohta vasakule, graafiline kasutajaliides, Ma võiks paremklõpsake hello.txt, koopia teha, kleebi koopia. Aga ma ei saa seda teha päris kiiresti käsurea liiga. Oletame, et ma tahan kopeerida hello.txt et hi.txt. Ma ei ap, ruumi, hello.txt. See on minu lähtefaili, nii et miks Ma lähen valima, et üks esimene. Ja siis ma pean nimi sihtfailis, hi.txt. Ma Enter. Ja kui ma loetleda sisu minu Kataloog uuesti, seal hi.txt. Tegin selle koopia. Ja tegelikult, kui ma läksin arvesse hi.txt, suutsin näha, et see oleks täpne dubleerida kõike, mis eksisteerinud minu hello.txt faili. Nii see on, kuidas sa kopeerida faili. Aga mis siis, kui soovite kopeerida kogu kataloogi? Nii teise, võtame pilk kell, mis on minu pset0 kataloogi. Kui ma cd pset0 ja loetleda sisu, Mul on kataloog nimega, proovi, ja nullist faili, scratch.sb2. Nii et on hea teada. Nii saab selge ekraan, ja ma lähen tagasi minu tööruumi kataloog teist. Oletame, et nüüd, ma tahan teha koopia minu pset0 kataloogi. Ma ei saa just öelda, cp pset0 pset3, näiteks. Sa saad seda imelikku sõnumit, jättes kataloog pset0. Miks sa selle sõnumi? Noh, tuleb välja, et kui teil on kataloogi, on muud kraami sees on, ep käsk ei ole tegelikult tingimata teadma, mida sellega teha. Me peame selgelt rääkige Linux terminal, Ma tahan, et sa kopeerida pset0 kataloog ja koopia iga kausta, et on olemas sees seda ja iga faili eksisteerib sees on. Teisisõnu, ma vajan sind rekursiivselt sukelduda jaguneb pset0 ja teha koopia kõike seal. Kui ma tahan seda teha, mida ma saan teha on cp-R, rekursiivseks, pset0 pset3. Enter. Nüüd, kui ma nimekiri sisu oma kataloogi, Ma näen seal on pset3 kataloog, et ma ei tööta. Ja kui ma cd pset3 praegu ja siis nimekirja sisu, otsida, seal on proovi ja scratch.sb2 uuesti. Nii et on päris lahe. Nii see on, kuidas saate kopeerida kogu kataloog, ja mitte ainult ühe faili. Nii et kui soovite kopeerida kataloog, lihtsalt mäletan kasutada -r lipu, kui sa oled koostööd cp käsuga. Hästi. Nii et ma olen kopeerida faili, kuid Ma olen teinud seda kogemata. Ja nüüd, ma tahan sellest lahti saada. Kuidas ma seda teen? Jällegi, kui te olete juba tuttav GUI interface, võite paremklõps ja lihtsalt valida Kustuta. Ja siis see saadab selle prügikasti või prügikasti. Aga käsurea me ei kirjuta rm, kustutamisel, ja siis nime esitada tahame vabaneda. Nüüd, rm on väga ettevaatlikud. Ta teeb palju topeltkontrolli süsteemi, veenduda, et te tegelikult tahan faili kustutada. See ei taha teha vigu, sest puudub Recycle Bin siin. Kui me kustutame faili, see on läinud. Ja seal on tõesti kuidagi seda tagasi. Seega peame olema üsna ettevaatlik, ja nii rm saab olema väga ettevaatlikud, meie jaoks. Nii lähme tagasi IDE ja vabaneda, et hi.txt faili et olen loonud minut tagasi koos koopia. Nii et me IDE. Ja ma loetleda sisu minu kataloog uuesti, lihtsalt annab meile kontekstis. Ma mõtlen, et näete, et seal on hi.txt, mis ma lõin natuke aega tagasi. Nüüd, ma tahan sellest lahti saada. Kuidas ma seda teen? Jällegi, lihtsalt rm. Nii et ma ei kirjuta rm hi.txt ja vajuta Enter. Ja seal on rm olend tõesti ettevaatlik meile ja hoolitsedes me tegelikult soovite kustutada selle faili. Kas tõesti eemaldada regulaarne tühi fail hi.txt? See on nagu tegevustoetus süsteemi, nagu Windows või Mac, et sa võiksid olla tuttav avanemise et box ütleb on tõesti kindel, et tahad seda teha. Ma olen päris kindel, et ma tahan seda, nii et ma lähen kirjutada, yes-- või ma võiks ka lihtsalt kirjuta y-- ja vajuta Enter. Ja kui ma loetleda sisu minu Kataloog uuesti hi.txt on läinud. Pole paha, eks? Olgem vajutage kontroll L, lihtsalt vabaneda kõik see kraam ja meid tagasi ülaosas ekraani. Nüüd on olemas viis lühise rm, nii et ta ei küsi meilt, et küsimus. Me tegelikult teame me tahame vabaneda, et fail, ja me isegi ei taha tuleb küsis. Kuidas me seda teeme? Noh, saame määrata Täiendava lipp, just nagu me tegi cp kus me võiks lisada -r lipp, rekursiivselt kopeerida kataloogi. On veel üks lipp for rm, mis on -f, mis on sundida rm teha täpselt mida me ütlen seda teha. Ütleme, et nüüd, ma tahan vabaneda oma hello.txt faili. Ma ei taha, et üks kas. Mida ma teha saan? Noh, ma ei rm -f hello.txt. Mis te arvate, on juhtub siin? See on läinud. Isegi ei küsi küsimus. Ja tegelikult, kui ma loetleda sisu minu kataloog jälle, see on läinud. Pole undo siin. hello.txt on läinud, ja ma ei olnud isegi küsis, kas ma tahtsin seda kustutada. Mis siis, kui ma tahan lahti saada terve kataloogi? Kuidas sa seda teha on väga sarnased kopeerida. Kui soovite kustutada kataloog, sa ei ole lihtsalt soovite kustutada kataloogi, mida soovid kustutada kõik sees on. Ja nii te kasutate -r, et rekursiivselt kustutada kataloogi. Nii saab rm -r pset2. Ma ei tööta tegelikult pset2, nii et ma ei saa vabaneda seda kataloogi. Ma Enter. Kas ma tahan, et eemaldada kataloogi, pset2? Jah. Ja kui ma loetleda sisu Minu kataloogi uuesti, see on läinud. Hästi? Veel üks variant selle teema kohta. Nii et ma selge ekraan uuesti, panna kõik ülaosas. Tulemus ls. Nüüd, ma tahan vabaneda minu pset3 kataloog, ja ma tõesti tean, et ma tahan vabaneda oma pset3 kataloogi. Ma ei rekursiivselt ja sunniviisiliselt eemaldan pset3 kataloogi. Nüüd sa lähed olema tõesti Olge te kasutate rm -rf. Nagu te programmeerida rohkem, see saab olema midagi, mida sa lihtsalt ei tõesti kiiresti. Ja tegelikult, ma teen seda kogu aeg. Aga see võib põhjustada mõningaid katastroofilised tagajärjed, Kui te kogemata kustutada vale asi. Nii et ma tahan, et sa olla teadlik sellest, et see on võimalus teile kättesaadavaks, kuid kasutada seda säästlikult, ja seda kasutada ettevaatusega. Ma tean tegelikult ma ei tööta minu probleem seatud 3 enam, et ma olen läheb lahti saada kõik need failid. Ja ma tean, et ma ei taha küsida iga kord, kui ma tahan kustutada faili, nii et ma lähen rm -rf pset3. Isegi ei küsi, kas ma tahtis lahti saada. I hit ls. pset3 on läinud. Nii et kõiki variante, et te saab kasutada, et vabaneda faile rm. Viimane käsurea käsk, mis on läheb päris kasulik teile on mv, mis on lühike samm. Move on põhimõtteliselt samaväärne ümber. Ta liigub faili ühest kohast teine ​​allikas sihtpunkti. Vaatame, kus kasutades samm võib mugav terminali aknas. Nii et ma olen oma pset1 Kataloog ja olen märganud midagi on läinud natuke valesti. Ma töötasin minu ahne probleem, aga ma kogemata nimetas selle Greddy. Nii et kui ma püüan ja kestab see läbi check50, see ei toimi. Mul on paar võimalust. Me võiksime seda, mida me oleme teinud enne, mis on teha koopia failist. Ma võiksin kopeerida greddy.c to greedy.c, eks? Enter. Ma näen, et mõlemad failid on olemas. Ja siis ma võiks rm, eemaldada, greddy.c. See läheb lahti see. Nii et töötaks, kui ma kinnitada et ma tahan sellest lahti saada. Ja ma tegelikult on ümber greddy.c et greedy.c. Ma kopeerida, ja siis eemaldada originaal. Aga see on mitmeetapiline protsess. Ja kindlasti, seal on parem. Tegelikult on. Nii saab löögi kontroll L, lihtsalt tuua selle tagasi üles ja loetleda sisu minu kataloogi uuesti. Nii oletame, oh, ma tegin vea. Ma tegelikult väga ei taha helistada, et faili greddy.c. Ühe hoobiga, ma ei kirjuta liikuda greedy.c et greddy.c. Enter. Ja nüüd, ma ei ole kopeerida ja kustutada, Ma lihtsalt ei suutnud ümber nimetada. One-stop shopping. Nüüd on olemas palju muid põhilised käsurea utiliidid mida saab kasutada koos Linuxi käsurea. Ja me räägime palju neist tulevikus CS50. Aga nüüd, lihtsalt saada oma jalad märjaks töötavad selle terminal keskkond, need viis käske peaks sulle päris palju navigeerimisel ümber ja töötavad failid IDE või mis iganes Linuxi-põhiste operatsioonisüsteemi sa kasutad. Kui sa oled uudishimulik ja soovid piilu natuke mingil käsurea käske me kasutame tulevikus, Siin on nimekiri mõned on rohkem levinud. Ma olen Doug Lloyd. See on CS50.