1 00:00:00,000 --> 00:00:05,060 >> [Muziek] 2 00:00:05,060 --> 00:00:05,890 >> DOUG LLOYD: OK. 3 00:00:05,890 --> 00:00:08,680 Dus laten we praten over hoe om te gebruik maken van de Linux command line. 4 00:00:08,680 --> 00:00:11,860 Nu de CS50 IDE, of feite zelfs een CS50 apparaat, 5 00:00:11,860 --> 00:00:15,210 Als je bekend bent met dat bent, of je neemt een oudere versie van CS50, 6 00:00:15,210 --> 00:00:17,420 is een cloud-gebaseerde machine die Ubuntu loopt, 7 00:00:17,420 --> 00:00:20,259 die één van de vele smaken van het Linux-besturingssysteem. 8 00:00:20,259 --> 00:00:22,300 Linux besturingssysteem begunstigd door programmeurs, 9 00:00:22,300 --> 00:00:25,690 want het is gewoon koeler, toch? 10 00:00:25,690 --> 00:00:29,170 >> Veel moderne Linux distributies hebben grafische user interfaces, 11 00:00:29,170 --> 00:00:33,710 die wij GUI's, G-U-I, ook bellen naar gemakkelijke muis-gebaseerde navigatie, 12 00:00:33,710 --> 00:00:36,920 die je waarschijnlijk bekend met, als u een Windows- of Mac-gebruiker bent, 13 00:00:36,920 --> 00:00:39,961 bewegen van uw muis, dubbelklikken op iconen, en ga zo maar door. 14 00:00:39,961 --> 00:00:42,210 Toch wel, als programmeur, en hoewel het IDE 15 00:00:42,210 --> 00:00:44,800 bevat de mogelijkheid om doe wat grafische gebruikersinterface 16 00:00:44,800 --> 00:00:47,400 stuff, klikken, en slepen, en dat alles, 17 00:00:47,400 --> 00:00:50,197 je zult nog steeds met behulp van uw terminalvenster vrij vaak. 18 00:00:50,197 --> 00:00:52,280 En je kunt veel van de do dezelfde taken die u kunt 19 00:00:52,280 --> 00:00:53,905 doen met een muis met toetsenbord commando's. 20 00:00:53,905 --> 00:00:56,821 En we gaan een beetje praten wat sommige van deze commando 21 00:00:56,821 --> 00:00:58,050 nu zijn. 22 00:00:58,050 --> 00:01:02,490 >> Nu, kunnen deze commando's worden gebruikt op een Unix-gebaseerde besturingssystemen 23 00:01:02,490 --> 00:01:06,790 systeem dat Linux omvat, maar ook Mac OS. 24 00:01:06,790 --> 00:01:12,930 Als u op uw Mac openen Terminal, u kunt deze exacte opdrachten gebruiken. 25 00:01:12,930 --> 00:01:15,705 Windows heeft ook Command Snel, maar sommige van de opdrachten 26 00:01:15,705 --> 00:01:17,871 zijn iets anders, dus het niet echt werken, 27 00:01:17,871 --> 00:01:20,080 omdat Windows niet een Unix-systeem. 28 00:01:20,080 --> 00:01:22,620 >> Dus laten we eens een kijkje bij enkele Deze Linux commando. 29 00:01:22,620 --> 00:01:26,100 De eerste die u zult Gebruik waarschijnlijk heel veel is ls. 30 00:01:26,100 --> 00:01:30,410 Dat een kleine letter l, gevolgd door een kleine letters s, die kort voor de lijst. 31 00:01:30,410 --> 00:01:33,720 En wat de lijst commando doet is het geeft u een uitlezing van alle bestanden 32 00:01:33,720 --> 00:01:35,670 en mappen in uw huidige directory. 33 00:01:35,670 --> 00:01:39,430 Zodat je alles kunt zien kun je krijgen van waar u op dat moment bent. 34 00:01:39,430 --> 00:01:41,545 >> Dus ik heb hier de CS50 IDE geopend. 35 00:01:41,545 --> 00:01:44,540 En ik ga om in te zoomen in een seconde om u een kijkje te geven, 36 00:01:44,540 --> 00:01:47,240 maar hier is het brede beeld van wat de IDE eruit ziet. 37 00:01:47,240 --> 00:01:49,580 Aan de linkerkant, kunt u zien wij een bestand boom, die je waarschijnlijk 38 00:01:49,580 --> 00:01:52,663 vertrouwd zijn met, dubbelklikken, en bestanden en mappen, en al dat spul. 39 00:01:52,663 --> 00:01:54,694 Dus dat is er nog steeds in de CS50 apparaat. 40 00:01:54,694 --> 00:01:57,860 In het midden van de top is waar je bent gaat worden het schrijven van uw code, zodra 41 00:01:57,860 --> 00:01:58,960 u klikt op een bestand. 42 00:01:58,960 --> 00:02:00,900 En onderaan, we hebben een terminal venster, 43 00:02:00,900 --> 00:02:04,040 dat is waar we kunnen uitvoeren deze terminal commando's. 44 00:02:04,040 --> 00:02:07,460 >> Ik ga om in te zoomen en ga hier, net 45 00:02:07,460 --> 00:02:12,360 om te laten zien dat, in feite, ik kan Klik op de bestanden en mappen. 46 00:02:12,360 --> 00:02:17,010 Zo duidelijk, waar ik nu ben, ik heb twee mappen, genaamd pset0 en pset1, 47 00:02:17,010 --> 00:02:20,520 en drie bestanden, een genaamd hallo, een zogenaamde hello.c, 48 00:02:20,520 --> 00:02:22,870 en een zogenaamde hello.txt. 49 00:02:22,870 --> 00:02:27,100 >> Dus laten we omlaag te verplaatsen naar de terminal venster en krijgen een kijkje. 50 00:02:27,100 --> 00:02:31,010 Dus we net gesproken, nogmaals, over de feit dat we drie bestanden en twee 51 00:02:31,010 --> 00:02:32,970 mappen in de huidige directory. 52 00:02:32,970 --> 00:02:37,080 Als ik typ ls, die weer is het commando naar de lijst 53 00:02:37,080 --> 00:02:40,870 de inhoud van de huidige directory, en dan druk ik op Enter, 54 00:02:40,870 --> 00:02:47,220 kijk eens wat ik zie, hello, hello.c, hello.txt, pset0 en pset1. 55 00:02:47,220 --> 00:02:49,620 >> pset0 en pset1 zijn kleur blauw, aangeven 56 00:02:49,620 --> 00:02:52,420 aan u dat dat zijn directories dat we konden navigeren in. 57 00:02:52,420 --> 00:02:54,503 En we zullen een beetje te leren beetje over hoe om te navigeren 58 00:02:54,503 --> 00:02:56,290 in mappen in een minuut. 59 00:02:56,290 --> 00:03:00,920 En elk ander ding is zwart gekleurd, als het een tekstbestand of een bron code 60 00:03:00,920 --> 00:03:03,590 bestand, en groen, als het is een uitvoerbaar bestand. 61 00:03:03,590 --> 00:03:06,367 Zo duidelijk, dat betekent dat ik zou een programma genaamd lopen, hallo. 62 00:03:06,367 --> 00:03:07,950 Dat is wat de groene er betekent. 63 00:03:07,950 --> 00:03:10,080 Maar in principe, het typen van het ls commando is toegestaan 64 00:03:10,080 --> 00:03:13,470 me om te kijken naar alles wat bestaat in mijn huidige directory, die 65 00:03:13,470 --> 00:03:17,940 overeenkomt met wat we hier zien, in de grafische weergave van hetzelfde. 66 00:03:17,940 --> 00:03:19,940 De volgende opdracht die u zult Gebruik waarschijnlijk nogal wat 67 00:03:19,940 --> 00:03:24,792 is cd, kleine c, kleine letter d, die staat voor verandering directory. 68 00:03:24,792 --> 00:03:27,500 Dit stelt ons in staat om te doen wat ik was spreken over een tweede geleden, die 69 00:03:27,500 --> 00:03:31,150 is om te navigeren tussen directories op de opdrachtregel 70 00:03:31,150 --> 00:03:33,700 lijn, in tegenstelling tot dubbelklikken op mappen. 71 00:03:33,700 --> 00:03:37,250 Dus als we het type cd en dan de naam van een directory, 72 00:03:37,250 --> 00:03:40,890 we kunnen krijgen in die map. 73 00:03:40,890 --> 00:03:44,680 >> Even terzijde, weet dat de naam van de huidige directory is altijd 74 00:03:44,680 --> 00:03:48,670 stip, en de naam van de directory Een niveau boven de plaats waar we nu zijn, 75 00:03:48,670 --> 00:03:54,820 dat is de naam van de map in die onze folder is, punt, dot-- 76 00:03:54,820 --> 00:03:56,851 of waarin onze folder is, is puntje, puntje. 77 00:03:56,851 --> 00:03:59,350 En als je ooit nieuwsgierig de naam van uw telefoonboek, 78 00:03:59,350 --> 00:04:03,430 u kunt typen dow, wat staat voor de huidige directory. 79 00:04:03,430 --> 00:04:06,827 We nemen een kijkje nemen op elk van deze Nu, door de post terug naar de CS50 IDE. 80 00:04:06,827 --> 00:04:08,160 Dus ik ben nu terug in mijn werkruimte. 81 00:04:08,160 --> 00:04:11,930 En ik zal inzoomen opnieuw op de terminal, dus kunnen we een kijkje nemen 82 00:04:11,930 --> 00:04:14,209 bij bewegen binnen de IDE. 83 00:04:14,209 --> 00:04:16,250 Dus ik ga naar de lijst van de inhoud van mijn directory 84 00:04:16,250 --> 00:04:19,220 nogmaals, gewoon om opnieuw gemalen ons in waar we zijn. 85 00:04:19,220 --> 00:04:21,740 Dus als ik typ ls, die is voor de lijst opnieuw, 86 00:04:21,740 --> 00:04:24,160 Ik zie dat ik pset0 en pset1 kunt krijgen. 87 00:04:24,160 --> 00:04:26,420 Dat zijn de directories Ik kan krijgen van hier. 88 00:04:26,420 --> 00:04:30,400 Ik weet dat, omdat de IDE geeft me een aanwijzing door het kleuren te blauw. 89 00:04:30,400 --> 00:04:33,295 >> Laten we zeggen dat ik wil krijgen in mijn pset1 directory, 90 00:04:33,295 --> 00:04:35,310 want ik ben bezig met probleem set 1. 91 00:04:35,310 --> 00:04:41,380 Ik kan CD-- weer typen, kort voor veranderen directory-- ruimte, pset1. 92 00:04:41,380 --> 00:04:43,334 En als ik druk op enter, let op wat er gebeurt. 93 00:04:43,334 --> 00:04:45,000 Het maakt niet uit als een veel gebeurd. 94 00:04:45,000 --> 00:04:50,510 Maar als je kijkt naar de prompt nu vertelt me ​​dat ik in ~ / werkruimte / pset1. 95 00:04:50,510 --> 00:04:55,510 Ik heb genavigeerd in de pset1 map die was binnen mijn werkruimte. 96 00:04:55,510 --> 00:05:00,560 >> En als ik typ ls, zie ik een aantal verschillende dingen hier, toch? 97 00:05:00,560 --> 00:05:03,810 Dit is niet hetzelfde lijst die ik eerder zag. 98 00:05:03,810 --> 00:05:05,350 Ik heb genavigeerd in pset1. 99 00:05:05,350 --> 00:05:08,560 En nu, als ik typ ls, ik ben het krijgen van de context van wat kan ik 100 00:05:08,560 --> 00:05:12,600 zien in de map pset1. 101 00:05:12,600 --> 00:05:16,056 >> Nu, ik ga om de controle te typen l, die net wist het scherm. 102 00:05:16,056 --> 00:05:18,180 En ik ga naar de lijst van de De inhoud van de directory 103 00:05:18,180 --> 00:05:18,880 weer, zodat je kunt zien. 104 00:05:18,880 --> 00:05:20,730 Ik wilde alleen maar om dat te doen om duidelijk uit sommige van de spullen 105 00:05:20,730 --> 00:05:22,521 die je hieronder zag neer en om dit te voorkomen 106 00:05:22,521 --> 00:05:24,660 van het gaan te ver naar beneden buiten bereik. 107 00:05:24,660 --> 00:05:28,440 >> Nu, ik eerder dat gezegd, als ik wil om naar de huidige directory, 108 00:05:28,440 --> 00:05:31,580 Ik kan cd ruimte dot typen. 109 00:05:31,580 --> 00:05:32,080 Druk op Enter. 110 00:05:32,080 --> 00:05:33,330 Het doet niets, toch? 111 00:05:33,330 --> 00:05:35,480 Ik ben het veranderen van directories naar de huidige directory. 112 00:05:35,480 --> 00:05:37,813 Je bent niet altijd gaat om vind een behoefte aan een enkele punt, 113 00:05:37,813 --> 00:05:39,540 maar je zult af en toe. 114 00:05:39,540 --> 00:05:41,950 >> Laten we zeggen dat ik wil één niveau omhoog te gaan. 115 00:05:41,950 --> 00:05:44,450 Ik wil terug naar mijn werkruimte directory. 116 00:05:44,450 --> 00:05:49,800 Ik kan geen cd werkruimte, er is geen bestand of map. 117 00:05:49,800 --> 00:05:52,780 En de reden voor dat-- Als ik type ls één tijd-- 118 00:05:52,780 --> 00:05:58,060 is dat er geen map met de naam werkruimte binnenkant van mijn pset1 directory. 119 00:05:58,060 --> 00:06:00,275 Ik ga duidelijk mijn screenen opnieuw met controle l. 120 00:06:00,275 --> 00:06:02,150 Vergeet niet wat ik zei eerder, hoewel, dat we 121 00:06:02,150 --> 00:06:04,010 kan terug navigeren met stip, stip. 122 00:06:04,010 --> 00:06:05,880 Dat is de naam van de bovenliggende map. 123 00:06:05,880 --> 00:06:10,727 Dus als ik het type cd, ruimte, punt, dot, en dan druk op Enter, 124 00:06:10,727 --> 00:06:11,810 nu kijken naar wat er is gebeurd. 125 00:06:11,810 --> 00:06:15,250 Mijn opdrachtprompt vertelt me ​​dat ik ben terug in mijn ~ / werkruimte directory. 126 00:06:15,250 --> 00:06:19,360 Ik schoof een niveau, dankzij dot, dot. 127 00:06:19,360 --> 00:06:23,400 >> Nu, laten we zeggen dat ik met behulp van een besturingssysteem dat Linux-gebaseerde, 128 00:06:23,400 --> 00:06:25,440 maar niet noodzakelijkerwijs Vertel me waar ik ben. 129 00:06:25,440 --> 00:06:28,370 Dit gebeurt om ons te vertellen dat Ik ben in ~ / werkruimte op dit moment, 130 00:06:28,370 --> 00:06:29,280 direct bij de prompt. 131 00:06:29,280 --> 00:06:31,940 Maar ik kon volledig worden verloren in een puinhoop van mappen, 132 00:06:31,940 --> 00:06:34,946 en ik heb geen idee waar ik ben en geen idee waar ik wil om terug te komen. 133 00:06:34,946 --> 00:06:36,320 Er zijn twee dingen die ik kan doen. 134 00:06:36,320 --> 00:06:40,920 >> Allereerst kan ik figuur waar ik ben, door het intikken van DOW. 135 00:06:40,920 --> 00:06:42,720 Dat is mijn huidige directory. 136 00:06:42,720 --> 00:06:45,830 En als ik druk op enter, dan vertelt me ​​precies waar ik ben. 137 00:06:45,830 --> 00:06:49,400 Nu / home / ubuntu is de lange manier om te zeggen, tilde, 138 00:06:49,400 --> 00:06:51,290 dat is uw home directory. 139 00:06:51,290 --> 00:06:56,540 Maar het vertelt me ​​dat ik in home / ubuntu / werkruimte, of ~ / werkruimte. 140 00:06:56,540 --> 00:07:00,700 >> Ik ga om te navigeren naar mijn pset1 directory weer, 141 00:07:00,700 --> 00:07:02,229 en ik ga naar de lijst van de inhoud. 142 00:07:02,229 --> 00:07:04,770 En ik zie dat ik een andere directory er, genaamd extra's. 143 00:07:04,770 --> 00:07:09,020 Dus ik ga cd in extra's, en dan ga ik naar mijn scherm te wissen. 144 00:07:09,020 --> 00:07:11,540 >> Dus nu ben ik vrij ver in, toch? 145 00:07:11,540 --> 00:07:13,680 Wat als ik wil terug onmiddellijk werkruimte? 146 00:07:13,680 --> 00:07:15,138 Er zijn een paar dingen die ik zou kunnen doen. 147 00:07:15,138 --> 00:07:18,750 Ik kon cd, punt, punt, slash, dot typt, stip, één niveau omhoog te gaan en dan 148 00:07:18,750 --> 00:07:19,640 een ander niveau. 149 00:07:19,640 --> 00:07:21,090 Maar dat is een beetje vervelend. 150 00:07:21,090 --> 00:07:24,990 >> Dus als ik ooit wil om terug te komen gewoon mijn home directory, tilde, 151 00:07:24,990 --> 00:07:27,690 Ik kan typen cd met niets na het. 152 00:07:27,690 --> 00:07:29,224 Cd, Enter. 153 00:07:29,224 --> 00:07:30,140 En nu, ik ben in tilde. 154 00:07:30,140 --> 00:07:34,310 En als ik wil werkruimte te krijgen, Ik kan gewoon typen cd werkruimte. 155 00:07:34,310 --> 00:07:36,770 En dat is hoe je werkt het veranderen van directories 156 00:07:36,770 --> 00:07:42,080 binnen de CS50 IDE of Linux besturingssysteem op de opdrachtregel. 157 00:07:42,080 --> 00:07:42,580 Prima. 158 00:07:42,580 --> 00:07:45,610 De volgende die zou pas komen is mkdir, 159 00:07:45,610 --> 00:07:48,709 die kort voor maken van een directory, als ik het nodig om een ​​nieuwe map te maken. 160 00:07:48,709 --> 00:07:50,750 Als je bekend bent met het GUI-systeem, 161 00:07:50,750 --> 00:07:51,820 je zou met de rechtermuisknop op. 162 00:07:51,820 --> 00:07:54,500 En dan, als het contextmenu verschijnt, kiest u Nieuwe map. 163 00:07:54,500 --> 00:07:56,250 Dat is waarschijnlijk hoe je hebt het eerder gedaan. 164 00:07:56,250 --> 00:08:00,979 Maar we kunnen ook maken directories op de opdrachtregel. 165 00:08:00,979 --> 00:08:02,020 Dus we zijn terug in de IDE. 166 00:08:02,020 --> 00:08:08,020 Ik zoomen op de terminal en een lijst van de inhoud van mijn directory 167 00:08:08,020 --> 00:08:11,882 nogmaals, alleen maar om ons te geven een referentiekader. 168 00:08:11,882 --> 00:08:14,340 Laten we zeggen dat, nu, ik heb klaar met werken aan probleem stellen 0 169 00:08:14,340 --> 00:08:15,580 en probleem set 1. 170 00:08:15,580 --> 00:08:19,390 Dus ik wil een nieuwe map aan te maken om aan te werken om problemen op te stellen 2. 171 00:08:19,390 --> 00:08:20,420 Hoe doe ik dat? 172 00:08:20,420 --> 00:08:24,132 >> Nou, nogmaals, ik kon met de rechtermuisknop op in het linker kant en kies Nieuwe map 173 00:08:24,132 --> 00:08:25,340 en maak een pset2 directory. 174 00:08:25,340 --> 00:08:26,240 Dat zou te werken. 175 00:08:26,240 --> 00:08:28,615 Maar dan doe ik het ook aan de command line vrij snel, 176 00:08:28,615 --> 00:08:35,049 door te typen mkdir, space-- I getypt in n, maar-- ruimte pset2. 177 00:08:35,049 --> 00:08:38,659 Als ik druk op Enter en dan heb ik een lijst van de inhoud van mijn directory weer, 178 00:08:38,659 --> 00:08:40,710 Ik zie dat, kijk, nu Ik heb een pset2 map. 179 00:08:40,710 --> 00:08:43,110 En ik kan navigeren in dat het gebruik van cd en doen 180 00:08:43,110 --> 00:08:45,614 al het werk dat ik moet doen voor pset2. 181 00:08:45,614 --> 00:08:48,530 Overigens zal ik gewoon pop over hier heel snel om het bestand boom. 182 00:08:48,530 --> 00:08:53,494 En je kunt zien dat, ook in de grafische File Explorer, 183 00:08:53,494 --> 00:08:56,160 kunnen we zien dat de pset2 directory Ook is er gecreëerd. 184 00:08:56,160 --> 00:08:58,537 En ik kan navigeren naar het, met het GUI ook. 185 00:08:58,537 --> 00:09:00,870 De volgende keer en dat is waarschijnlijk zal van pas komen 186 00:09:00,870 --> 00:09:03,650 cp is, dat is kort voor exemplaar. 187 00:09:03,650 --> 00:09:06,960 Kopiëren, in tegenstelling tot alle andere bevelen we eerder hebben gezien, 188 00:09:06,960 --> 00:09:11,800 neemt twee argumenten, een bron, de de naam van het bestand dat u wilt kopiëren, 189 00:09:11,800 --> 00:09:15,810 en een bestemming, waar u het bestand wilt kopiëren. 190 00:09:15,810 --> 00:09:19,490 Het is vrij gemakkelijk te kopiëren een bestand, dus laten we dat doen. 191 00:09:19,490 --> 00:09:20,640 >> Dus we zijn terug in de IDE. 192 00:09:20,640 --> 00:09:24,540 Ik ga naar de lijst van de inhoud van mijn huidige directory met ls. 193 00:09:24,540 --> 00:09:28,310 Nu, laten we zeggen dat ik wil om een ​​kopie van hello.txt maken. 194 00:09:28,310 --> 00:09:32,120 Nogmaals, uit het bestand boom op de verliet de grafische interface, 195 00:09:32,120 --> 00:09:35,969 Ik kon met de rechtermuisknop op hello.txt, een kopie maken, plakt de kopie. 196 00:09:35,969 --> 00:09:38,260 Maar ik kan het vrij snel te doen op de opdrachtregel ook. 197 00:09:38,260 --> 00:09:42,520 >> Laten we zeggen dat ik wil kopiëren hello.txt te hi.txt. 198 00:09:42,520 --> 00:09:45,850 Ik kan cp, ruimte, hello.txt. 199 00:09:45,850 --> 00:09:48,850 Dat is mijn bronbestand, dus dat is waarom Ik ga dat men eerst te kiezen. 200 00:09:48,850 --> 00:09:51,058 En dan moet ik het noemen doelbestand, hi.txt. 201 00:09:51,058 --> 00:09:53,690 202 00:09:53,690 --> 00:09:54,620 Ik druk op Enter. 203 00:09:54,620 --> 00:09:57,930 En als ik de inhoud van mijn directory nogmaals, er is hi.txt. 204 00:09:57,930 --> 00:09:59,220 Ik maakte een kopie van het. 205 00:09:59,220 --> 00:10:01,090 En in feite, als ik ging in hi.txt, ik kon 206 00:10:01,090 --> 00:10:04,030 zien dat het een exacte zou zijn dupliceren van alles wat 207 00:10:04,030 --> 00:10:08,330 bestond in mijn hello.txt bestand. 208 00:10:08,330 --> 00:10:09,790 >> Dus dat is hoe je een bestand te kopiëren. 209 00:10:09,790 --> 00:10:12,680 Maar wat als je wilt kopiëren een hele map? 210 00:10:12,680 --> 00:10:16,510 Dus voor een tweede, laten we eens een kijkje op wat er in mijn pset0 directory. 211 00:10:16,510 --> 00:10:23,950 Als ik cd pset0 en een lijst van de inhoud, Ik heb een map met de naam, het monster, 212 00:10:23,950 --> 00:10:26,252 en een kras-bestand, scratch.sb2. 213 00:10:26,252 --> 00:10:27,210 Dus dat is goed om te weten. 214 00:10:27,210 --> 00:10:29,800 Dus laten we duidelijk het scherm, en ik ga om terug te gaan 215 00:10:29,800 --> 00:10:32,870 mijn werkruimte directory voor een tweede. 216 00:10:32,870 --> 00:10:36,630 >> Laten we zeggen dat, nu wil ik maak een kopie van mijn pset0 directory. 217 00:10:36,630 --> 00:10:42,940 Ik kan niet zomaar zeggen cp pset0 pset3, bijvoorbeeld. 218 00:10:42,940 --> 00:10:46,220 U krijgt dit raar bericht, weglaten directory pset0. 219 00:10:46,220 --> 00:10:47,439 Waarom denk je dat de boodschap? 220 00:10:47,439 --> 00:10:49,730 Nou, het blijkt dat, wanneer heb je een map die 221 00:10:49,730 --> 00:10:53,150 heeft andere dingen erin, het cp commando niet echt 222 00:10:53,150 --> 00:10:55,590 se weten wat te doen. 223 00:10:55,590 --> 00:10:59,670 >> We moeten expliciet vertel Linux, de terminal, 224 00:10:59,670 --> 00:11:03,720 Ik wil dat je het kopiëren pset0 directory en kopiëren 225 00:11:03,720 --> 00:11:07,530 elke map die binnenin bestaat van en elk bestand dat 226 00:11:07,530 --> 00:11:08,750 bestaat erin. 227 00:11:08,750 --> 00:11:13,270 Met andere woorden, ik heb je nodig om te recursief duiken naar beneden in pset0 228 00:11:13,270 --> 00:11:15,660 en maak een kopie van alles in. 229 00:11:15,660 --> 00:11:25,280 >> Als ik wil om dat te doen, wat ik kan doen is cp-r, voor recursieve, pset0 pset3. 230 00:11:25,280 --> 00:11:26,850 Druk op Enter. 231 00:11:26,850 --> 00:11:29,290 Nu, als ik een lijst van de inhoud van mijn directory, 232 00:11:29,290 --> 00:11:32,180 Ik zie er het pset3 directory dat ik kan werken. 233 00:11:32,180 --> 00:11:36,990 En als ik cd in pset3 nu en vervolgens een lijst van de inhoud, kijk, 234 00:11:36,990 --> 00:11:39,594 er monster en scratch.sb2 opnieuw. 235 00:11:39,594 --> 00:11:40,510 Dus dat is wel cool. 236 00:11:40,510 --> 00:11:43,819 Dus dat is hoe je een hele kunt kopiëren directory, en niet alleen een enkel bestand. 237 00:11:43,819 --> 00:11:45,860 Dus als je wilt een kopie directory, alleen niet vergeten 238 00:11:45,860 --> 00:11:49,830 aan de -r vlag te gebruiken als je het werken met de opdracht cp. 239 00:11:49,830 --> 00:11:50,330 Prima. 240 00:11:50,330 --> 00:11:52,320 Dus ik heb een bestand gekopieerd, maar Ik heb het gedaan per ongeluk. 241 00:11:52,320 --> 00:11:53,695 En nu, ik wil om zich te ontdoen van het te krijgen. 242 00:11:53,695 --> 00:11:54,850 Hoe doe ik dat? 243 00:11:54,850 --> 00:11:56,830 Nogmaals, als je bekend bent met een GUI-interface, 244 00:11:56,830 --> 00:11:58,310 kunt u met de rechtermuisknop op en kies Verwijderen. 245 00:11:58,310 --> 00:12:00,630 En het zal het aan het stuur prullenbak of de Prullenbak. 246 00:12:00,630 --> 00:12:03,320 Maar op de opdrachtregel, we kan typt rm, te verwijderen, 247 00:12:03,320 --> 00:12:05,580 en vervolgens de naam van het bestand dat we willen om zich te ontdoen van. 248 00:12:05,580 --> 00:12:08,614 >> Nu, rm is erg voorzichtig. 249 00:12:08,614 --> 00:12:11,280 Het doet veel van dubbele controle, om ervoor te zorgen dat u daadwerkelijk 250 00:12:11,280 --> 00:12:12,377 het bestand wilt verwijderen. 251 00:12:12,377 --> 00:12:15,460 Het heeft geen zin om geen fouten te maken, omdat er geen prullenbak hier. 252 00:12:15,460 --> 00:12:17,010 Zodra we een bestand verwijdert, is het weg. 253 00:12:17,010 --> 00:12:18,710 En er is echt geen manier om het te herstellen. 254 00:12:18,710 --> 00:12:20,730 Dus moeten we vrij zijn zorgvuldige, en zo rm 255 00:12:20,730 --> 00:12:23,110 gaat echt voorzichtig voor ons te zijn. 256 00:12:23,110 --> 00:12:27,120 >> Dus laten we gaan terug naar de IDE en zich te ontdoen van die hi.txt bestand 257 00:12:27,120 --> 00:12:29,640 dat ik een minuut geleden met een kopie. 258 00:12:29,640 --> 00:12:30,560 Dus we zijn in de IDE. 259 00:12:30,560 --> 00:12:33,180 En ik de inhoud van mijn directory nogmaals, gewoon om ons wat context. 260 00:12:33,180 --> 00:12:36,500 Ik bedoel, kun je zien dat er hi.txt, die heb ik een tijdje geleden. 261 00:12:36,500 --> 00:12:38,196 Nu, ik wil om zich te ontdoen van het te krijgen. 262 00:12:38,196 --> 00:12:38,820 Hoe doe ik het? 263 00:12:38,820 --> 00:12:39,810 >> Nogmaals, gewoon rm. 264 00:12:39,810 --> 00:12:46,220 Dus ik kan rm hi.txt typen en druk op Enter. 265 00:12:46,220 --> 00:12:47,970 En er is rm wezen echt voorzichtig voor ons 266 00:12:47,970 --> 00:12:50,178 en ervoor te zorgen dat we eigenlijk wil dit bestand te verwijderen. 267 00:12:50,178 --> 00:12:52,784 Wil je echt wilt verwijderen regelmatig leeg bestand hi.txt? 268 00:12:52,784 --> 00:12:55,200 Dat is net als een bedrijfsresultaat systeem, zoals Windows of Mac, 269 00:12:55,200 --> 00:12:56,310 dat je misschien wel vertrouwd met opduiken 270 00:12:56,310 --> 00:12:58,770 doos zegt dat ben je echt zeker dat u dit wilt doen. 271 00:12:58,770 --> 00:13:01,228 >> Ik ben er vrij zeker dat ik wil dit, dus ik ga om te typen, yes-- 272 00:13:01,228 --> 00:13:04,390 of ik kon ook gewoon typt Y-- en druk op Enter. 273 00:13:04,390 --> 00:13:08,620 En als ik de inhoud van mijn directory weer hi.txt is verdwenen. 274 00:13:08,620 --> 00:13:10,000 Niet slecht, toch? 275 00:13:10,000 --> 00:13:12,410 Laten we druk Control L, net om zich te ontdoen van al deze spullen 276 00:13:12,410 --> 00:13:14,900 en terug bij ons krijgen de bovenkant van het scherm. 277 00:13:14,900 --> 00:13:18,520 >> Nu is er een manier kortsluiting rm, dus 278 00:13:18,520 --> 00:13:20,090 dat het niet vragen ons die vraag. 279 00:13:20,090 --> 00:13:22,060 We weten dat we echt willen om zich te ontdoen van dat bestand, 280 00:13:22,060 --> 00:13:23,490 en we niet eens willen worden gevraagd de vraag. 281 00:13:23,490 --> 00:13:24,720 Hoe doen we dat? 282 00:13:24,720 --> 00:13:27,180 Nou, we kunnen een specificeren extra vlag, net als wij 283 00:13:27,180 --> 00:13:30,400 deed met cp waar we kan de -r vlag toe te voegen, 284 00:13:30,400 --> 00:13:32,800 recursief kopiëren naar een map. 285 00:13:32,800 --> 00:13:35,630 Er is een andere vlag voor rm, wat -f, 286 00:13:35,630 --> 00:13:39,470 namelijk rm dwingen precies wat we vertelt te doen. 287 00:13:39,470 --> 00:13:44,610 >> Dus laten we zeggen dat, nu, ik wil om zich te ontdoen van mijn hello.txt bestand. 288 00:13:44,610 --> 00:13:46,490 Ik wil niet dat men wil ook niet. 289 00:13:46,490 --> 00:13:47,370 Wat kan ik doen? 290 00:13:47,370 --> 00:13:54,710 Nou, ik kan -f hello.txt rm. 291 00:13:54,710 --> 00:13:57,530 Wat denk je is gaat hier gebeuren? 292 00:13:57,530 --> 00:13:58,030 Het is weg. 293 00:13:58,030 --> 00:13:59,363 Wist niet eens vragen mij de vraag. 294 00:13:59,363 --> 00:14:03,600 En in feite, als ik een lijst van de inhoud mijn directory weer, is het weg. 295 00:14:03,600 --> 00:14:05,750 Er is geen undo hier. 296 00:14:05,750 --> 00:14:09,554 hello.txt is verdwenen, en ik was niet zelfs vroeg of ik wilde om het te verwijderen. 297 00:14:09,554 --> 00:14:11,595 Wat als ik wil om zich te ontdoen krijgen van een hele map? 298 00:14:11,595 --> 00:14:14,180 299 00:14:14,180 --> 00:14:17,039 De manier waarop je dat doet is vergelijkbaar met kopiëren. 300 00:14:17,039 --> 00:14:19,080 Als u wilt een verwijderen directory, je gewoon niet doen 301 00:14:19,080 --> 00:14:22,121 willen de map te verwijderen, je wilt alles binnen van het te verwijderen. 302 00:14:22,121 --> 00:14:26,250 En dus -r gebruiken om recursief een map te verwijderen. 303 00:14:26,250 --> 00:14:28,600 >> Dus laten we rm -r pset2. 304 00:14:28,600 --> 00:14:31,870 Ik ben niet echt bezig met pset2, dus ik kan ontdoen van die map. 305 00:14:31,870 --> 00:14:33,040 Ik druk op Enter. 306 00:14:33,040 --> 00:14:35,050 Wil ik verwijderen het telefoonboek, pset2? 307 00:14:35,050 --> 00:14:37,160 Ja, ik wil. 308 00:14:37,160 --> 00:14:41,150 En als ik de inhoud van mijn directory weer, het is gegaan. 309 00:14:41,150 --> 00:14:41,650 Prima? 310 00:14:41,650 --> 00:14:43,739 >> Nog een variatie op dit thema. 311 00:14:43,739 --> 00:14:46,280 Dus ik zal het scherm weer te wissen, alles aan de top te zetten. 312 00:14:46,280 --> 00:14:47,420 Hit ls. 313 00:14:47,420 --> 00:14:49,890 Nu, ik wil om zich te ontdoen krijgen mijn pset3 directory, 314 00:14:49,890 --> 00:14:52,810 en ik weet echt ik wil ontdoen van mijn pset3 directory. 315 00:14:52,810 --> 00:15:00,120 Ik kan recursief en geweld Verwijder mijn pset3 directory. 316 00:15:00,120 --> 00:15:03,900 >> Nu, je gaat echt voorzichtig als u gebruik rm rf. 317 00:15:03,900 --> 00:15:06,784 Als je meer te programmeren, zal het iets wat je doet gewoon echt snel. 318 00:15:06,784 --> 00:15:08,200 En in feite, ik doe het de hele tijd. 319 00:15:08,200 --> 00:15:10,380 Maar het kan leiden tot een aantal rampzalige gevolgen, 320 00:15:10,380 --> 00:15:12,340 als je per ongeluk verwijderen van de verkeerde dingen. 321 00:15:12,340 --> 00:15:15,089 Dus ik wil dat je ervan bewust zijn dat Dit is een optie voor u beschikbaar, 322 00:15:15,089 --> 00:15:17,220 maar gebruik het met mate, en gebruik het met de nodige voorzichtigheid. 323 00:15:17,220 --> 00:15:20,910 >> Ik weet voor een feit dat ik niet werk op mijn probleem set 3 meer, dus ik ben 324 00:15:20,910 --> 00:15:22,550 gaan om zich te ontdoen van al die bestanden te krijgen. 325 00:15:22,550 --> 00:15:26,420 En ik weet dat ik niet wil worden gevraagd elke keer als ik wil verwijderen 326 00:15:26,420 --> 00:15:30,640 een bestand, dus ik ga rf pset3 rm. 327 00:15:30,640 --> 00:15:32,640 Niet me zelfs vragen of ik wilde om zich te ontdoen van het te krijgen. 328 00:15:32,640 --> 00:15:33,840 Ik raakte ls. 329 00:15:33,840 --> 00:15:35,680 pset3 is verdwenen. 330 00:15:35,680 --> 00:15:39,730 Dus dat is alle variaties die u kunt gebruiken om zich te ontdoen van bestanden met rm. 331 00:15:39,730 --> 00:15:43,620 >> De lijn laatste commando commando dat is gaat erg handig voor u 332 00:15:43,620 --> 00:15:46,391 is mv, dat is kort voor move. 333 00:15:46,391 --> 00:15:48,960 Move is in principe gelijk aan een andere naam geven. 334 00:15:48,960 --> 00:15:53,870 Het beweegt een bestand van de ene locatie naar andere, de bron naar de bestemming. 335 00:15:53,870 --> 00:15:59,400 Laten we eens kijken waar het gebruik van een beweging macht handig zijn bij het terminal-venster. 336 00:15:59,400 --> 00:16:02,070 >> Dus ik ben in mijn pset1 directory, en ik heb gemerkt 337 00:16:02,070 --> 00:16:03,860 iets is gegaan een beetje verkeerd. 338 00:16:03,860 --> 00:16:08,620 Ik was bezig met mijn hebzuchtige probleem, maar ik per ongeluk noemde het Greddy. 339 00:16:08,620 --> 00:16:11,380 Dus wanneer ik probeer en voer het uit door middel van check50, is het niet echt werken. 340 00:16:11,380 --> 00:16:12,630 Ik heb wel een paar opties. 341 00:16:12,630 --> 00:16:16,220 We konden doen wat we eerder hebben gedaan, die een kopie van het bestand maken. 342 00:16:16,220 --> 00:16:23,960 Ik kon greddy.c kopiëren naar greedy.c, toch? 343 00:16:23,960 --> 00:16:25,580 Druk op Enter. 344 00:16:25,580 --> 00:16:28,180 Ik zie dat beide bestanden zijn er. 345 00:16:28,180 --> 00:16:36,337 En dan kon ik rm, te verwijderen, greddy.c. 346 00:16:36,337 --> 00:16:37,170 Die krijgt ontdoen van het. 347 00:16:37,170 --> 00:16:40,920 Dus dat zou werken, nadat ik bevestig dat ik wil om zich te ontdoen van het te krijgen. 348 00:16:40,920 --> 00:16:44,770 En ik heb effectief omgedoopt greddy.c te greedy.c. 349 00:16:44,770 --> 00:16:48,460 Ik gekopieerd, en dan verwijderde het origineel. 350 00:16:48,460 --> 00:16:50,170 >> Maar dat is een multi-step proces. 351 00:16:50,170 --> 00:16:51,670 En zeker, er is een betere manier. 352 00:16:51,670 --> 00:16:52,420 In feite is er. 353 00:16:52,420 --> 00:16:55,810 Dus laten we raken Control L, alleen maar om dit terug te brengen, 354 00:16:55,810 --> 00:16:58,680 en een lijst van de inhoud mijn directory weer. 355 00:16:58,680 --> 00:17:00,350 >> Dus laten we zeggen, oh, ik heb een fout gemaakt. 356 00:17:00,350 --> 00:17:03,470 Ik eigenlijk echt willen te roepen dat bestand greddy.c. 357 00:17:03,470 --> 00:17:11,369 In een klap, kan ik typ bewegen greedy.c te greddy.c. 358 00:17:11,369 --> 00:17:12,470 Druk op Enter. 359 00:17:12,470 --> 00:17:15,210 En nu, ik heb niet te kopiëren en te verwijderen, 360 00:17:15,210 --> 00:17:16,880 Ik was gewoon in staat om het te hernoemen. 361 00:17:16,880 --> 00:17:18,710 One-stop-shopping. 362 00:17:18,710 --> 00:17:21,160 >> Nu zijn er een heleboel andere basic command line utilities 363 00:17:21,160 --> 00:17:22,640 die u kunt gebruiken met de Linux command line. 364 00:17:22,640 --> 00:17:24,990 En we zullen bespreken een heleboel van hen in de toekomst in de CS50. 365 00:17:24,990 --> 00:17:27,948 Maar voor nu, maar het krijgen van uw voeten nat met het werken met deze terminal 366 00:17:27,948 --> 00:17:30,540 milieu, deze vijf opdrachten moet je behoorlijk ver 367 00:17:30,540 --> 00:17:34,990 in het navigeren rond en werken met bestanden in je IDE 368 00:17:34,990 --> 00:17:37,770 of op welke Linux-gebaseerde besturingssysteem u gebruikt. 369 00:17:37,770 --> 00:17:40,580 >> Als je nieuwsgierig bent en je wilt vooruit kijken een beetje op een bepaald 370 00:17:40,580 --> 00:17:43,420 van de command line-opdrachten we zullen gebruiken in de toekomst, 371 00:17:43,420 --> 00:17:46,930 Hier is een lijst van een paar van de meest voorkomende. 372 00:17:46,930 --> 00:17:47,820 Ik ben Doug Lloyd. 373 00:17:47,820 --> 00:17:49,860 Dit is CS50. 374 00:17:49,860 --> 00:17:52,598