[Přehrávání hudby] DOUG LLOYD: OK. Tak pojďme mluvit o tom, jak používat Linux příkazového řádku. Nyní, CS50 IDE, nebo Skutečnost, dokonce i CS50 spotřebič, pokud jste obeznámeni s tím, nebo užíváte starší verzi CS50, je stroj cloud-based který běží na Ubuntu, který je jedním z mnoha příchutí operačního systému Linux. Operační systém Linux je zvýhodněný programátory, protože je to prostě chladněji, že jo? Mnoho moderních linuxových distribucí mají grafické uživatelské rozhraní, které jsme také zavolat GUI, G-U-I, na umožňují snadný myši založené na navigace, které jste pravděpodobně obeznámeni s, pokud jste uživatel systému Windows nebo Mac, pohybující se kolem myší, poklepáním na ikony, a tak dále. Přesto však, jako programátor, a přestože IDE obsahuje schopnost udělat nějaké grafické uživatelské věci, kliknutí, a tažení, a to vše, budete stále pomocí svého okno terminálu docela často. A vy můžete udělat mnoho z Stejné úkoly, které můžete co dělat s myší s příkazy klávesnice. A budeme mluvit trochu o tom, co některé z těchto příkazů právě teď. Nyní, tyto příkazy mohou být použity Na provozní Unix-založené jakékoliv systém, který zahrnuje Linux, ale zahrnuje také Mac OS. Máte-li otevřít terminál na vašem počítači Mac, můžete použít tyto přesné příkazy. Windows má také Command Prompt, ale některé z příkazů jsou mírně odlišné, takže to není ve skutečnosti fungovat, protože systém Windows není Unix-založený systém a. Takže pojďme se podívat na některé těchto příkazů Linux. První z nich, že budete pravděpodobně používat docela dost, je ls. To je malá l, po němž následuje malá písmena s, což je zkratka pro seznam. A co příkaz seznam dělá, je to vám dává odečet všech souborů a složky v aktuálním adresáři. Takže můžete vidět vše, co můžete dostat z místa, kde se právě nacházíte. Takže jsem otevřel zde CS50 IDE. A já jdu na přiblížení-in v Druhým, aby vám blíže podívat, ale tady je široký obraz z toho, co vypadá jako IDE. Na levé straně, můžete vidět máme soubor strom, který jste pravděpodobně obeznámeni s, poklepáním, a soubory a složky, a všechny ty věci. Tak to je pořád tam V CS50 spotřebiče. Ve středu v horní části je místo, kde jste bude psaní kódu, jakmile kliknete na soubor. A ve spodní části, jsme mají okno terminálu, což je místo, kde můžeme provádět Tyto koncové příkazy. Chystám se přiblížit-in a zamiřte sem, jen aby vám ukázal, že ve skutečnosti, mohu kliknutím na tyto soubory a složky. Tak jasně, kde jsem v současné době jsem, mám dvě složky, tzv pset0 a pset1, a tři soubory, jeden s názvem Dobrý den, jeden s názvem hello.c, a jeden s názvem Hello.txt. Takže pojďme se přesunout dolů do terminálu Okno a dostat se blíže podívat. Tak jsme právě mluvili, znovu, o Skutečnost, že máme tři soubory a dva složky v aktuálním adresáři. Kdybych typu LS, což je opět je příkaz do seznamu obsah proudu adresář, a pak jsem stiskněte klávesu Enter, Podívej, co jsem vidět, ahoj, hello.c, hello.txt, pset0 a pset1. pset0 a pset1 jsou modré barvy, ukázat se vám, že to jsou adresáře že bychom mohli přejít do. A budeme se dozvědět něco něco o tom, jak se orientovat do adresářů minutu. A každá další věc je černé barvy, jestli je to textový soubor, nebo zdrojový kód soubor, a zelené, jestliže to je spustitelný soubor. Tak jasně, to znamená, že I mohl běžet program s názvem, ahoj. To je to, co zelený tam znamená. Ale v podstatě, zadáním Příkaz ls umožnila abych se na vše, co existuje v mém aktuálním adresáři, který odpovídá tomu, co vidíme tady, v grafické zobrazení stejný. Následující povel budete pravděpodobně používat docela dost je CD, malá písmena c, d malými písmeny, což je zkratka pro změnu adresáře. To nám umožňuje dělat to, co jsem byl mluví o vteřinu před, který je pro navigaci mezi adresáře v příkazu linka, na rozdíl od poklepáním na složky. Takže pokud jsme typu CD a pak je název adresáře, můžeme dostat do tohoto adresáře. Jako stranou, vím, že jméno z aktuální adresář je vždy tečka, a název adresáře o jednu úroveň výše, kde jsme teď, že je název složky v kterou náš složka je, tečka, dot-- nebo ve kterém naše složka je, je tečka, tečka. A pokud jste někdy zvědaví název adresáře, můžete psát vysílání pracovníků, což znamená pro současné pracovní adresář. Budeme se podívat na všechny z nich Nyní, tím míří zpět k CS50 IDE. Takže jsem zpátky do pracovního prostoru teď. A já budu zoom-in opět na terminál, takže můžeme se podívat na pohybující se kolem v rámci IDE. Takže budu vypsat Obsah mého adresáře znovu, jen aby přebrousit v nás, kde jsme. Takže když jsem typ ls, který je pro seznamu znovu, Vidím, že jsem se může dostat do pset0 a pset1. To jsou adresáře Můžu dostat odsud. Vím, že proto, že IDE dává mi stopa podle zbarvení je modré. Řekněme, že chci, aby dostat se do mého pset1 adresáře, proto, že jsem pracoval na problému set 1. Můžu psát cd-- znovu, krátký pro změnit directory-- prostor, pset1. A když jsem stiskněte klávesu Enter, všimněte si, co se stane. To nevypadá jako moc se stalo. Ale když se podíváte na výzvy, to teď mi řekl, že jsem v ~ / Pracovní plocha / pset1. Já jsem navigoval do pset1 Složka, která byla v mém pracovním prostoru. A když jsem typ LS, vidím některé rozdílné věci, že? To není to samé Seznam, který jsem viděl předtím. Já jsem navigoval do pset1. A tak teď, když jsem typ LS, já jsem získání kontextu toho, co mám vidět ve složce pset1. Teď, budu psát kontroly l, která se právě vymaže obrazovku. A já jdu na vypsat Obsah adresáře znovu, jen tak můžete vidět. Jen jsem chtěl udělat, že pro vyklidit některé věci že jsi viděl dole a aby se zabránilo to od zachází příliš daleko dolů mimo rozsah. A teď, jsem řekl již dříve, že pokud chci, přejděte do aktuálního adresáře, Můžu psát cd prostor tečka. Stiskněte klávesu Enter. To není nic dělat, že jo? Měním adresářů do aktuálního adresáře. Nejste vždycky najít potřebu jednoho bodu, ale budete občas. Řekněme, že chci, posunout o úroveň výše. Chci se vrátit do můj pracovní prostor adresář. Nemůžu psát cd pracovního prostoru, neexistuje žádný takový soubor nebo adresář. A důvod pro that-- když jsem typ LS ještě jednu time-- je to, že neexistuje žádný adresář s názvem Pracovní plocha uvnitř mého pset1 adresáře. Chystám se pročistil Obrazovka se znovu s řídícím l. Vzpomeň si, co jsem řekl, dříve, i když, že jsme Můžete navigovat zpět s tečkou, dot. To je název nadřazeného adresáře. Takže když jsem typ cd, prostor, tečka, tečka, a pak stiskněte klávesu Enter, se nyní podívat na to, co se stalo. Můj příkazový řádek mi říká, že jsem zpátky do ~ / pracovního prostoru adresáře. Přestěhovala jsem se o úroveň výš, díky dot, tečky. Nyní řekněme, že jsem za použití operační systém, který je založený na Linuxu, ale nemusí nutně řekněte mi, kde jsem. Ten se stane nám říkají, že Jsem v ~ / pracovní ploše právě teď, přímo do příkazového řádku. Ale nemohl jsem být úplně prohrál v nepořádku složek, a já nemám ponětí, kde jsem, a tušení, kde chci se vrátit do. Je tu dvě věci, které můžu dělat. Za prvé, mohu přijít , kde jsem, zadáním PWD. To je můj současného pracovního adresáře. A když jsem stiskněte Enter a to mi říká, přesně tam, kde jsem. Nyní / home / ubuntu je dlouhá cesta, jak říct, tilda, což je domovský adresář. Ale to mi říká, že jsem v home / ubuntu / pracovní prostor, nebo ~ / pracovní plochy. Chystám se přejít na můj pset1 adresář znovu, a budu uvádět obsah. A vidím, že mám jiný adresář, který se nazývá doplňky. Takže já jdu na CD do doplňky, a Pak jdu, abych si pročistil obrazovku. Takže teď, jsem docela daleko, že jo? Co když chci zpět okamžitě pracovního prostoru? Je tu pár věcí, co jsem mohl udělat. Mohl bych psát cd, tečka, tečka, lomítko, tečka, tečka, posunout o úroveň výš, a poté další úroveň. Ale to je trochu nepříjemné. Takže pokud bych někdy chtít vrátit do jen můj domovský adresář, tilde, Můžu psát CD se po něm ničeho. Cd, Enter. A teď, jsem v vlnovky. A když chci dostat do pracovního prostoru, Já si jen zadejte cd pracovní prostor. A to je to, jak pracovat změna adresáře v rámci CS50 IDE nebo jakékoliv Linux operační systém na příkazovém řádku. Dobře. Další člověk, který by mohl hodit je mkdir, což je zkratka pro vytvořte adresář, když potřebujete vytvořit novou složku. Pokud jste obeznámeni s operační systém GUI, můžete pravým tlačítkem myši. A pak, když se kontextové menu se objeví, vyberte Nová složka. To je asi, jak jste předtím udělal. Ale můžeme také vytvářet adresáře na příkazovém řádku. Takže jsme zpátky v IDE. Budu zoom-in na terminálu a zobrazit obsah mého adresáře znovu, jen aby nám referenční rámec. Řekněme, že teď, jsem dokončil práci na problému nastavit 0 a problém set 1. Tak jsem chtěl vytvořit nový adresář pracovat na problém za set 2. Jak to mám udělat? No, ještě jednou, bych mohl klepněte pravým tlačítkem myši v levé straně a zvolte Nová složka a vytvořit adresář pset2. To by fungovat také. Ale pak jsem také udělat u příkazového řádku docela rychle, zadáním mkdir, space-- I zadali n, ale-- prostoru pset2. Pokud bych stiskněte klávesu Enter, a pak jsem se vypsat opět obsah mého adresáře, Vidím, že vypadají, nyní Mám složku pset2. A můžu přejít do že použití CD a dělat veškerá práce musím udělat pro pset2. Mimochodem, budu jen pop přes zde velmi rychle do souboru stromu. A můžete vidět, že i v grafický File Explorer, můžeme vidět, že adresář pset2 byl také zde vytvořen. A já si na něj přejít, pomocí grafického uživatelského rozhraní stejně. Příště, a to je pravděpodobně přijde vhod cp je, což je zkratka pro kopírování. Kopírovat, na rozdíl od všech ostatních Příkazy jsme viděli předtím, přijímá dva argumenty, a zdroje, název souboru, který chcete kopírovat, a místo určení, kde vám chcete zkopírovat soubor. Je to docela snadné kopírování soubor, takže pojďme to udělat. Takže jsme zpátky v IDE. Jdu na seznam obsahu mého aktuálního adresáře s LS. Nyní řekněme, že chci, aby kopie Hello.txt. Opět platí, že ze souboru strom na vlevo, grafické rozhraní, Mohl bych klepněte pravým tlačítkem myši na hello.txt, vytvoření kopie, vložit kopii. Ale můžu to udělat velmi rychle na příkazovém řádku taky. Řekněme, že chcete zkopírovat hello.txt na hi.txt. Mohu cp, prostor, hello.txt. To je můj zdrojový soubor, takže je důvod, proč Jdu si vybrat, že jeden jako první. A pak musím pojmenujte Cílový soubor, hi.txt. I stiskněte klávesu Enter. A kdybych výpis obsahu my adresář znovu, tam je hi.txt. Udělal jsem kopii. A ve skutečnosti, když jsem šel do hi.txt, mohl bych vidět, že to by bylo přesná duplikát všeho, existoval v mém Hello.txt souboru. Tak to je, jak kopírování souboru. Ale co když chcete zkopírovat celý adresář? Takže pro druhé, pojďme se podívat na to, co je v mé pset0 adresáři. Pokud bych cd pset0 a seznam obsahu, Mám adresář s názvem, vzorek, a soubor škrábnutí, scratch.sb2. Tak to je dobré vědět. Takže pojďme vyčistit obrazovku, a já jdu zpátky do mého pracovního prostoru adresáře za sekundu. Řekněme, že teď, chci vytvořit kopii mého pset0 adresáře. Nemůžu jen tak říct, cp pset0 pset3, například. Vy si to divný zprávu, vynechání adresáře pset0. Proč se vám tu zprávu? No, to dopadá, že při máte adresář, který má jiné věci uvnitř ní, Příkaz cp není opravdu nutně vědět, co s tím dělat. Musíme explicitně řekněte Linux, terminál, Chci, abyste zkopírovat pset0 adresáře a kopírování každá složka, která existuje uvnitř na to a každý soubor, který existuje uvnitř ní. Jinými slovy, já potřebuji, abyste rekurzivně potopit do pset0 a vytvořit kopii všeho, co tam. Pokud bych to měl dělat, co se dá dělat je cp-r, pro rekurzivní, pset0 pset3. Stiskněte klávesu Enter. A teď, když jsem vypsat Obsah mého adresáře, Vidím, že je to pset3 adresář, že mohu pracovat. A pokud se disk CD-ROM do pset3 nyní a pak vypsat obsah, podívejte se, tam je vzorek a scratch.sb2 znovu. Tak to je docela v pohodě. Tak to je to, jak můžete kopírovat celou adresář, a ne jen jeden soubor. Takže pokud chcete, aby kopie a adresář, stačí vzpomenout použít -r, když jste práce s příkazem cp. Dobře. Takže jsem zkopírovali soubor, ale Udělal jsem to omylem. A teď, chci se ho zbavit. Jak to mám udělat? Opět platí, že pokud jste obeznámeni s rozhraní GUI, můžete klepnout pravým tlačítkem myši a stačí si jen vybrat Odstranit. A to pošleme ji do odpadky nebo Koš. Ale na příkazovém řádku, můžeme stačí zadat RM, pro odstranění, a poté na název z soubor chceme zbavit. Nyní, rm je velmi opatrný. To dělá hodně dvojité kontroly, aby se ujistil, že jste skutečně chcete odstranit soubor. To nechce dělat žádné chyby, proto, že je tu žádný koš. Poté, co jsme smazat soubor, je to pryč. A tam opravdu žádný způsob, jak ji obnovit. Proto musíme být velmi opatrný, a tak rm bude opravdu pozor na nás. Takže pojďme zpět k IDE a zbavit se, že hi.txt souboru který jsem vytvořil před chvilkou s kopií. Takže jsme v IDE. A já zobrazit obsah mého adresáře znovu, jen aby nám nějaký kontext. Myslím tím, můžete vidět, že tam je hi.txt, které jsem vytvořil před chvilkou. Teď, chci zbavit. Jak to mám udělat to? Opět platí, jen RM. Takže můžu psát rm hi.txt a stiskněte klávesu Enter. A je tu rm bytost opravdu pozor na nás a ujistit se, jsme vlastně chcete odstranit tento soubor. Opravdu chcete odstranit pravidelný prázdný soubor hi.txt? To je jen jako provozní systém, jako je Windows nebo Mac, že byste mohla být obeznámeni s objevovat že box říká, že jsou opravdu jisti, že to chcete udělat. Jsem si jistá, že chci, aby to, takže budu psát, yes-- nebo bych mohl také jen zadejte y- a stiskněte klávesu Enter. A kdybych výpis obsahu my adresář znovu, hi.txt je pryč. Není to špatné, že jo? Pojďme stiskněte Ctrl L, jen zbavit se všechny ty věci a dostat nás zpět na v horní části obrazovky. Nyní, tam je způsob, jak zkrat rm, tak že to nám nebude ptát na tuto otázku. My opravdu chceme vědět jak se zbavit tohoto souboru, a my ani nechceme třeba položit otázku. Jak to uděláme? No, můžeme zadat navíc vlajky, stejně jako my udělal s cp, kde jsme mohl přidat parametr -r, rekurzivně kopírovat do adresáře. Je tu další příznak pro RM, která je -f, což je donutit rm dělat přesně to, to, co říkáme to udělat. Takže řekněme, že teď, chci jak se zbavit mého Hello.txt souboru. Nechci, že jeden jeden. Co mohu dělat? No, můžu rm -f Hello.txt. Co si myslíte, že je tady stane? Je to pryč. Ani se mě na otázku. A ve skutečnosti, když jsem seznam obsah mého adresáře opět, je to pryč. Není undo sem. hello.txt je pryč, a nebyl jsem i zeptal, jestli bych nechtěl, aby jej odstranit. Co když budu chtít zbavit z celého adresáře? Tak, jak si to udělat, je velmi podobné kopírování. Chcete-li smazat adresář, to není jen Chcete odstranit adresář, chcete vymazat vše uvnitř ní. A tak použít -r, aby rekurzivně odstranit adresář. Takže pojďme rm -r pset2. Nejsem skutečně pracuje na pset2, tak mohu zbavit tohoto adresáře. I stiskněte klávesu Enter. Chci odstranit adresář, pset2? Ano. A kdybych výpis obsahu můj adresář znovu, je to pryč. Dobře? Ještě jedna variace na toto téma. Takže budu znovu vyčistit obrazovku, dát vše, co na vrcholu. Hit ls. Teď, chci se zbavit mého pset3 adresáře, a já opravdu vím chci zbavit mého pset3 adresáře. Mohu rekurzivně a násilně odstranit mé pset3 adresář. A teď, budete opravdu opatrní, když používáte rm -rf. Jak jste naprogramovat víc, bude to něco, co prostě udělat opravdu rychle. A ve skutečnosti, to dělám pořád. Ale to může vést k určitému katastrofální následky, Pokud jste omylem smazat špatnou věc. Takže chci, abyste si uvědomili, že tato možnost k dispozici, ale používat střídmě, a používat jej s opatrností. Vím, že na skutečnost nejsem pracovního Na můj problém set 3 už, tak jsem bude se zbavit všech těchto souborů. A vím, že nechci být požádán pokaždé, když chci smazat soubor, takže budu rm -rf pset3. Ani se mě ptáte, jestli jsem chtěl zbavit. Jsem narazila ls. pset3 je pryč. Tak to je všechny variace, které jste můžete použít k zbavit souborů s rm. Poslední příkazového řádku příkaz, který je bude docela užitečné pro vás je MV, což je zkratka pro tah. Move je v podstatě ekvivalent přejmenovat. Pohybuje se souboru z jednoho místa na jiný zdroj na místo určení. Pojďme se podívat, kde je používání pohyb sílu být po ruce u okna terminálu. Takže jsem v mém pset1 adresář, a všiml jsem si, je někde něco trochu špatně. Pracoval jsem na svém chamtivý problému, ale omylem jsem označil to GReddy. Takže když se snažím a spusťte jej přes check50, to není opravdu funguje. Mám několik možností. Mohli bychom dělat to, co jsme udělali předtím, což je vytvořit kopii souboru. Mohl bych zkopírovat greddy.c na greedy.c, že ​​jo? Stiskněte klávesu Enter. Vidím, že oba soubory jsou tam. A pak bych mohl rm, odstranit, greddy.c. To zbaví toho. Tak, že bude fungovat poté, co jsem potvrdil že chci zbavit. A já skutečně mají přejmenován greddy.c na greedy.c. Zkopírován jsem ho, a poté odstranil originál. Ale to je proces, multi-krok. A určitě je tu lepší způsob. Ve skutečnosti, tam je. Takže pojďme stiskněte Control L, jen aby tuto zálohu, a seznam obsahu mého adresáře znovu. Takže řekněme, oh, udělal jsem chybu. Vlastně jsem opravdu chcete zavolat tomu soubor greddy.c. Jedním tahem pera, můžu psát přesunout greedy.c do greddy.c. Stiskněte klávesu Enter. A teď, já jsem neměl kopírovat a odstranit ji, Jen jsem byl schopen jej přejmenovat. One-stop shopping. Nyní máme k dispozici mnoho dalších základní nástroje příkazového řádku , které můžete použít s Linux příkazového řádku. A budeme diskutovat hodně z nich se v budoucnu v CS50. Ale teď, jen dostat vaše nohy mokré práci s tímto terminálem životní prostředí, těchto pět příkazů byste měli dostat docela daleko navigaci kolem a práce se soubory ve vašem IDE nebo v jakékoli založený na Linuxu operační systém používáte. Pokud jste zvědaví a chcete hledět dopředu trochu na některé příkazů příkazového řádku budeme používat v budoucnu, Zde je seznam několika z více obyčejné. Jsem Doug Lloyd. To je CS50.