[Prehrávanie hudby] DOUG LLOYD: OK. Tak poďme hovoriť o tom, ako používať Linux príkazového riadku. Teraz, CS50 IDE, alebo Skutočnosť, dokonca aj CS50 spotrebič, ak ste oboznámení s tým, alebo užívate staršiu verziu CS50, je stroj cloud-based ktorý beží na Ubuntu, ktorý je jedným z mnohých príchutí operačného systému Linux. Operačný systém Linux je zvýhodnený programátorov, pretože je to jednoducho chladnejšie, že jo? Mnoho moderných linuxových distribúcií majú grafické užívateľské rozhranie, ktoré sme tiež zavolať GUI, G-U-I, na umožňujú ľahký myši založené na navigácie, ktoré ste pravdepodobne oboznámení s, ak ste užívateľ systému Windows alebo Mac, pohybujúce sa okolo myšou, poklepaním na ikony, a tak ďalej. Napriek tomu však, ako programátor, a hoci IDE obsahuje schopnosť urobiť nejaké grafické užívateľské veci, kliknutia, a ťahanie, a to všetko, budete stále pomocou svojho okno terminálu docela často. A vy môžete urobiť veľa z Rovnaké úlohy, ktoré môžete čo robiť s myšou s príkazmi klávesnice. A budeme hovoriť trochu o tom, čo niektoré z týchto príkazov práve teraz. Teraz, tieto príkazy môžu byť použité Na prevádzkové Unix-založené akejkoľvek systém, ktorý zahŕňa Linux, ale zahŕňa aj Mac OS. Ak máte otvoriť terminál na vašom počítači Mac, môžete použiť tieto presné príkazy. Windows má tiež Command Prompt, ale niektoré z príkazov sú mierne odlišné, takže to nie je v skutočnosti fungovať, pretože systém Windows nie je Unix-založený systém a. Takže poďme sa pozrieť na niektoré týchto príkazov Linux. Prvý z nich, že budete pravdepodobne používať celkom dosť, je ls. To je malá l, po ktorom nasleduje malé písmená s, čo je skratka pre zoznam. A čo príkaz zoznam robí, je to vám dáva odpočet všetkých súborov a zložky v aktuálnom adresári. Takže môžete vidieť všetko, čo môžete dostať z miesta, kde sa práve nachádzate. Takže som otvoril tu CS50 IDE. A ja idem na priblíženie-in v Druhým, aby vám bližšie pozrieť, ale tu je široký obraz z toho, čo vyzerá ako IDE. Na ľavej strane, môžete vidieť máme súbor strom, ktorý ste pravdepodobne oboznámení s, poklepaním, a súbory a priečinky, a všetky tie veci. Tak to je stále tam V CS50 spotrebiča. V stredu v hornej časti je miesto, kde ste bude písanie kódu, akonáhle kliknete na súbor. A v spodnej časti, sme majú okno terminálu, čo je miesto, kde môžeme vykonávať Tieto koncové príkazy. Chystám sa priblížiť-in a zamierte sem, len aby vám ukázal, že v skutočnosti, môžem kliknutím na tieto súbory a priečinky. Tak jasne, kde som v súčasnej dobe som, mám dve zložky, tzv pset0 a pset1, a tri súbory, jeden s názvom Dobrý deň, jeden s názvom hello.c, a jeden s názvom Hello.txt. Takže poďme sa presunúť dole do terminálu Okno a dostať sa bližšie pozrieť. Tak sme práve hovorili, znovu, o Skutočnosť, že máme tri súbory a dva zložky v aktuálnom adresári. Keby som typu LS, čo je opäť je príkaz do zoznamu obsah prúdu adresár, a potom som stlačte klávesu Enter, Pozri, čo som vidieť, ahoj, hello.c, hello.txt, pset0 a pset1. pset0 a pset1 sú modrej farby, ukázať sa vám, že to sú adresáre že by sme mohli prejsť do. A budeme sa dozvedieť niečo niečo o tom, ako sa orientovať do adresárov minútu. A každá ďalšia vec je čiernej farby, či je to textový súbor, alebo zdrojový kód súbor, a zelené, ak to je spustiteľný súbor. Tak jasne, to znamená, že I mohol bežať program s názvom, ahoj. To je to, čo zelený tam znamená. Ale v podstate, zadaním Príkaz ls umožnila aby som sa na všetko, čo existuje v mojom aktuálnom adresári, ktorý zodpovedá tomu, čo vidíme tu, v grafické zobrazenie rovnaký. Nasledujúce povel budete pravdepodobne používať docela dost je CD, malé písmená c, d malými písmenami, čo je skratka pre zmenu adresára. To nám umožňuje robiť to, čo som bol hovorí o sekundu pred, ktorý je pre navigáciu medzi adresára v príkaze linka, na rozdiel od poklepaním na zložky. Takže ak sme typu CD a potom je názov adresára, môžeme dostať do tohto adresára. Ako stranou, viem, že meno z aktuálnej adresár je vždy bodka, a názov adresára o jednu úroveň vyššie, kde sme teraz, že je názov zložky v ktorú náš zložka je, bodka, dot-- alebo v ktorom naša zložka je, je bodka, bodka. A ak ste niekedy zvedaví názov adresára, môžete písať vysielaní pracovníkov, čo znamená pre súčasné pracovné adresár. Budeme sa pozrieť na všetky z nich Teraz, tým mieri späť k CS50 IDE. Takže som späť do pracovného priestoru teraz. A ja budem zoom-in opäť na terminál, takže môžeme sa pozrieť na pohybujúce sa okolo v rámci IDE. Takže budem vypísať Obsah môjho adresára znova, len aby prebrúsiť v nás, kde sme. Takže keď som typ ls, ktorý je pre zoznamu znovu, Vidím, že som sa môže dostať do pset0 a pset1. To sú adresáre Môžem dostať odtiaľto. Viem, že preto, že IDE dáva mi stopa podľa sfarbenia je modré. Povedzme, že chcem, aby dostať sa do môjho pset1 adresára, preto, že som pracoval na probléme set 1. Môžem písať cd-- znova, krátky pre zmeniť directory-- priestor, pset1. A keď som stlačte klávesu Enter, všimnite si, čo sa stane. To nevyzerá ako moc sa stalo. Ale keď sa pozriete na výzvy, to teraz mi povedal, že som v ~ / Pracovná plocha / pset1. Ja som navigoval do pset1 Zložka, ktorá bola v mojom pracovnom priestore. A keď som typ LS, vidím niektoré rozdielne veci, že? To nie je to isté Zoznam, ktorý som videl predtým. Ja som navigoval do pset1. A tak teraz, keď som typ LS, ja som získanie kontexte toho, čo mám vidieť v priečinku pset1. Teraz, budem písať kontroly l, ktorá sa práve vymaže obrazovku. A ja idem na vypísať Obsah adresára znovu, len tak môžete vidieť. Len som chcel urobiť, že pre vypratať niektoré veci že si videl dole a aby sa zabránilo to od zachádza príliš ďaleko dole mimo rozsahu. A teraz, som povedal už skôr, že ak chcem, prejdite do aktuálneho adresára, Môžem písať cd priestor bodka. Stlačte Enter. To nie je nič robiť, že jo? Mením adresárov do aktuálneho adresára. Nie ste vždycky nájsť potrebu jedného bodu, ale budete občas. Povedzme, že chcem, posunúť o úroveň vyššie. Chcem sa vrátiť do môj pracovný priestor adresár. Nemôžem písať cd pracovného priestoru, neexistuje žiadny takýto súbor alebo adresár. A dôvod pre that-- keď som typ LS ešte jednu time-- je to, že neexistuje žiadny adresár s názvom Pracovná plocha vnútri môjho pset1 adresára. Chystám sa prečistil Obrazovka sa znovu s riadiacim l. Spomeň si, čo som povedal, skôr, aj keď, že sme Môžete navigovať späť s bodkou, dot. To je názov nadradeného adresára. Takže keď som typ cd, priestor, bodka, bodka, a potom stlačte klávesu Enter, sa teraz pozrieť na to, čo sa stalo. Môj príkazový riadok mi hovorí, že som späť do ~ / pracovného priestoru adresára. Presťahovala som sa o úroveň vyššie, vďaka dot, bodky. Teraz povedzme, že som za použitia operačný systém, ktorý je založený na Linuxe, ale nemusí nutne povedzte mi, kde som. Ten sa stane nám hovoria, že Som v ~ / pracovnej ploche práve teraz, priamo do príkazového riadku. Ale nemohol som byť úplne prehral v neporiadku zložiek, a ja nemám potuchy, kde som, a tušenie, kde chcem sa vrátiť do. Je tu dve veci, ktoré môžem robiť. Po prvé, môžem prísť , Kde som, zadaním PWD. To je môj súčasného pracovného adresára. A keď som stlačte Enter a to mi hovorí, presne tam, kde som. Teraz / home / ubuntu je dlhá cesta, ako povedať, tilda, čo je domovský adresár. Ale to mi hovorí, že som v home / ubuntu / pracovný priestor, alebo ~ / pracovnej plochy. Chystám sa prejsť na môj pset1 adresár znovu, a budem uvádzať obsah. A vidím, že mám iný adresár, ktorý sa nazýva doplnkami. Takže ja idem na CD do doplnky, a Potom idem, aby som si vyčistil obrazovku. Takže teraz, som celkom ďaleko, že jo? Čo keď chcem späť okamžite pracovného priestoru? Je tu pár vecí, čo som mohol urobiť. Mohol by som písať cd, bodka, bodka, lomítko, bodka, bodka, posunúť o úroveň vyššie, a potom ďalšiu úroveň. Ale to je trochu nepríjemné. Takže ak by som niekedy chcieť vrátiť do len môj domovský adresár, tilde, Môžem písať CD sa po ňom ničoho. Cd, Enter. A teraz, som v vlnovky. A keď chcem dostať do pracovného priestoru, Ja si len zadajte cd pracovný priestor. A to je to, ako pracovať zmena adresára v rámci CS50 IDE alebo akékoľvek Linux operačný systém na príkazovom riadku. Dobre. Ďalší človek, ktorý by mohol hodiť je mkdir, čo je skratka pre vytvorte adresár, keď potrebujete vytvoriť novú zložku. Ak ste oboznámení s operačný systém GUI, môžete pravým tlačidlom myši. A potom, keď sa kontextové menu sa objaví, vyberte Nová zložka. To je asi, ako ste predtým urobil. Ale môžeme tiež vytvárať adresára na príkazovom riadku. Takže sme späť v IDE. Budem zoom-in na termináli a zobraziť obsah môjho adresára znova, len aby nám referenčný rámec. Povedzme, že teraz, som dokončil prácu na probléme nastaviť 0 a problém set 1. Tak som chcel vytvoriť nový adresár pracovať na problém za set 2. Ako to mám urobiť? No, ešte raz, by som mohol kliknite pravým tlačidlom myši v ľavej strane a vyberte Nová zložka a vytvoriť adresár pset2. To by fungovať tiež. Ale potom som tiež urobiť u príkazového riadku celkom rýchlo, zadaním mkdir, space-- I zadali n, ale-- priestoru pset2. Ak by som stlačte klávesu Enter, a potom som sa vypísať opäť obsah môjho adresára, Vidím, že vyzerajú, teraz Mám zložku pset2. A môžem prejsť do že použitie CD a robiť všetka práca musím urobiť pre pset2. Mimochodom, budem len pop cez tu veľmi rýchlo do súboru stromu. A môžete vidieť, že aj v grafický File Explorer, môžeme vidieť, že adresár pset2 bol tiež tu vytvorený. A ja si na neho prejsť, pomocou grafického užívateľského rozhrania rovnako. Nabudúce, a to je pravdepodobne príde vhod cp je, čo je skratka pre kopírovanie. Kopírovať, na rozdiel od všetkých ostatných Príkazy sme videli predtým, prijíma dva argumenty, a zdroje, názov súboru, ktorý chcete kopírovať, a miesto určenia, kde vám chcete skopírovať súbor. Je to celkom jednoduché kopírovanie súbor, takže poďme to urobiť. Takže sme späť v IDE. Idem na zoznam obsahu môjho aktuálneho adresára s LS. Teraz povedzme, že chcem, aby kópia Hello.txt. Opäť platí, že zo súboru strom na vľavo, grafické rozhranie, Mohol by som kliknite pravým tlačidlom myši na hello.txt, vytvorenie kópie, vložiť kópiu. Ale môžem to urobiť veľmi rýchlo na príkazovom riadku taky. Povedzme, že chcete skopírovať hello.txt na hi.txt. Môžem cp, priestor, hello.txt. To je môj zdrojový súbor, takže je dôvod, prečo Idem si vybrať, že jeden ako prvý. A potom musím pomenujte Cieľový súbor, hi.txt. Aj stlačte Enter. A keby som výpis obsahu my adresár znova, tam je hi.txt. Urobil som kópiu. A v skutočnosti, keď som išiel do hi.txt, mohol by som vidieť, že to by bolo presná duplikát všetkého, existoval v mojom Hello.txt súboru. Tak to je, ako kopírovanie súboru. Ale čo keď chcete skopírovať celý adresár? Takže pre druhé, poďme sa pozrieť na to, čo je v mojej pset0 adresári. Ak by som cd pset0 a zoznam obsahu, Mám adresár s názvom, vzorka, a súbor škrabnutia, scratch.sb2. Tak to je dobré vedieť. Takže poďme vyčistiť obrazovku, a ja idem naspäť do môjho pracovného priestoru adresára za sekundu. Povedzme, že teraz, chcem vytvoriť kópiu môjho pset0 adresára. Nemôžem len tak povedať, cp pset0 pset3, napríklad. Vy si to divný správu, vynechanie adresára pset0. Prečo sa vám tú správu? No, to dopadá, že pri máte adresár, ktorý má iné veci vo vnútri nej, Príkaz cp nie je naozaj nutne vedieť, čo s tým robiť. Musíme explicitne povedzte Linux, terminál, Chcem, aby ste skopírovať pset0 adresára a kopírovanie každá zložka, ktorá existuje vo vnútri na to a každý súbor, ktorý existuje vnútri nej. Inými slovami, ja potrebujem, aby ste rekurzívne potopiť do pset0 a vytvoriť kópiu všetkého, čo tam. Ak by som to mal robiť, čo sa dá robiť je cp-r, pre rekurzívne, pset0 pset3. Stlačte Enter. A teraz, keď som vypísať Obsah môjho adresára, Vidím, že je to pset3 adresár, že môžem pracovať. A ak sa disk CD-ROM do pset3 teraz a potom vypísať obsah, pozrite sa, tam je vzorka a scratch.sb2 znova. Tak to je celkom v pohode. Tak to je to, ako môžete kopírovať celú adresár, a nie len jeden súbor. Takže ak chcete, aby kópia a adresár, stačí spomenúť použiť -r, keď ste práca s príkazom cp. Dobre. Takže som skopírovali súbor, ale Urobil som to omylom. A teraz, chcem sa ho zbaviť. Ako to mám urobiť? Opäť platí, že ak ste oboznámení s rozhranie GUI, môžete kliknúť pravým tlačidlom myši a stačí si len vybrať Odstrániť. A to pošleme ju do odpadky alebo Kôš. Ale na príkazovom riadku, môžeme stačí zadať RM, pre odstránenie a potom na názov z súbor chceme zbaviť. Teraz, rm je veľmi opatrný. To robí veľa dvojitej kontroly, aby sa ubezpečil, že ste skutočne chcete odstrániť súbor. To nechce robiť žiadne chyby, preto, že je tu žiadny kôš. Potom, čo sme zmazať súbor, je to preč. A tam naozaj žiadny spôsob, ako ju obnoviť. Preto musíme byť veľmi opatrný, a tak rm bude naozaj pozor na nás. Takže poďme späť k IDE a zbaviť sa, že hi.txt súboru ktorý som vytvoril pred chvíľkou s kópiou. Takže sme v IDE. A ja zobraziť obsah môjho adresára znova, len aby nám nejaký kontext. Myslím tým, môžete vidieť, že tam je hi.txt, ktoré som vytvoril pred chvíľkou. Teraz, chcem zbaviť. Ako to mám urobiť to? Opäť platí, len RM. Takže môžem písať rm hi.txt a stlačte Enter. A je tu rm bytosť naozaj pozor na nás a uistiť sa, sme vlastne chcete odstrániť tento súbor. Naozaj chcete odstrániť pravidelný prázdny súbor hi.txt? To je len ako prevádzkový systém, ako je Windows alebo Mac, že by ste mohli byť oboznámení s objavovať že box hovorí, že sú naozaj istí, že to chcete urobiť. Som si istá, že chcem, aby to, takže budem písať, yes-- alebo by som mohol tiež len zadajte y- a stlačte Enter. A keby som výpis obsahu my adresár znovu, hi.txt je preč. Nie je to zlé, že jo? Poďme stlačte Ctrl L, len zbaviť sa všetky tie veci a dostať nás späť na v hornej časti obrazovky. Teraz, tam je spôsob, ako skrat rm, tak že to nám nebude pýtať na túto otázku. My naozaj chceme vedieť ako sa zbaviť tohto súboru, a my ani nechceme treba položiť otázku. Ako to urobíme? No, môžeme zadať navyše vlajky, rovnako ako my urobil s cp, kde sme mohol pridať parameter -r, rekurzívne kopírovať do adresára. Je tu ďalší príznak pre RM, ktorá je -f, čo je donútiť rm robiť presne to, to, čo hovoríme to urobiť. Takže povedzme, že teraz, chcem ako sa zbaviť môjho Hello.txt súboru. Nechcem, že jeden jeden. Čo môžem urobiť? No, môžem rm -f Hello.txt. Čo si myslíte, že je tu stane? Je to preč. Ani sa ma na otázku. A v skutočnosti, keď som zoznam obsah môjho adresára opäť, je to preč. Nie je undo sem. hello.txt je preč, a nebol som i opýtal, či by som nechcel, aby ho odstrániť. Čo keď budem chcieť zbaviť z celého adresára? Tak, ako si to urobiť, je veľmi podobné kopírovanie. Ak chcete zmazať adresár, to nie je len Chcete odstrániť adresár, chcete vymazať všetko vnútri nej. A tak použiť -r, aby rekurzívne odstrániť adresár. Takže poďme rm -r pset2. Nie som skutočne pracuje na pset2, tak môžem zbaviť tohto adresára. Aj stlačte Enter. Chcem odstrániť adresár, pset2? Áno. A keby som výpis obsahu môj adresár znova, je to preč. Dobre? Ešte jedna variácia na túto tému. Takže budem znovu vyčistiť obrazovku, dať všetko, čo na vrchole. Hit ls. Teraz, chcem sa zbaviť môjho pset3 adresáre, a ja naozaj viem chcem zbaviť môjho pset3 adresára. Môžem rekurzívne a násilne odstrániť mojej pset3 adresár. A teraz, budete naozaj opatrní, keď používate rm -rf. Ako ste naprogramovať viac, bude to niečo, čo jednoducho urobiť naozaj rýchlo. A v skutočnosti, to robím stále. Ale to môže viesť k určitému katastrofálne následky, Ak ste omylom zmazať zlú vec. Takže chcem, aby ste si uvedomili, že táto možnosť k dispozícii, ale používať striedmo, a používať ho s opatrnosťou. Viem, že na skutočnosť nie som pracovného Na môj problém set 3 už, tak som bude sa zbaviť všetkých týchto súborov. A viem, že nechcem byť požiadaný zakaždým, keď chcem zmazať súbor, takže budem rm -rf pset3. Ani sa ma pýtate, či som chcel zbaviť. Som narazila ls. pset3 je preč. Tak to je všetky variácie, ktoré ste môžete použiť k zbaviť súborov s rm. Posledný príkazového riadka príkaz, ktorý je bude celkom užitočné pre vás je MV, čo je skratka pre ťah. Move je v podstate ekvivalent premenovať. Pohybuje sa súboru z jedného miesta na iný zdroj na miesto určenia. Poďme sa pozrieť, kde je používanie pohyb silu byť po ruke pri okne terminálu. Takže som v mojom pset1 adresár, a všimol som si, je niekde niečo trochu zle. Pracoval som na svojom chamtivý problému, ale omylom som označil to GReddy. Takže keď sa snažím a spustite ho cez check50, to nie je naozaj funguje. Mám niekoľko možností. Mohli by sme robiť to, čo sme urobili predtým, čo je vytvoriť kópiu súboru. Mohol by som skopírovať greddy.c na greedy.c, že ​​jo? Stlačte Enter. Vidím, že oba súbory sú tam. A potom by som mohol rm, odstrániť, greddy.c. To zbaví toho. Tak, že bude fungovať po tom, čo som potvrdil že chcem zbaviť. A ja skutočne majú premenovaný greddy.c na greedy.c. Skopírovaný som ho, a potom odstránil originál. Ale to je proces, multi-krok. A určite je tu lepší spôsob. V skutočnosti, tam je. Takže poďme stlačte Control L, len aby túto zálohu, a zoznam obsahu môjho adresára znova. Takže povedzme, oh, urobil som chybu. Vlastne som naozaj chcete zavolať tomu súbor greddy.c. Jedným ťahom pera, môžem písať presunúť greedy.c do greddy.c. Stlačte Enter. A teraz, ja som nemal kopírovať a odstrániť ju, Len som bol schopný ho premenovať. One-stop shopping. Teraz máme k dispozícii mnoho ďalších základné nástroje príkazového riadka , Ktoré môžete použiť s Linux príkazového riadku. A budeme diskutovať veľa z nich sa v budúcnosti v CS50. Ale teraz, len dostať vaše nohy mokré prácu s týmto terminálom životné prostredie, týchto päť príkazov by ste mali dostať docela ďaleko navigáciu okolo a práca so súbormi vo vašom IDE alebo v akejkoľvek založený na Linuxe operačný systém používate. Ak ste zvedaví a chcete hľadieť dopredu trochu na niektoré príkazov príkazového riadku budeme používať v budúcnosti, Tu je zoznam niekoľkých z viac obyčajné. Som Doug Lloyd. To je CS50.