1 00:00:00,000 --> 00:00:05,060 >> [Jouer de la musique] 2 00:00:05,060 --> 00:00:05,890 >> DOUG LLOYD: OK. 3 00:00:05,890 --> 00:00:08,680 Donc, nous allons parler de la façon de utiliser la ligne de commande Linux. 4 00:00:08,680 --> 00:00:11,860 Maintenant, le CS50 IDE, ou fait, même un appareil de CS50, 5 00:00:11,860 --> 00:00:15,210 si vous êtes familier avec cela, ou vous prenez une ancienne version du CS50, 6 00:00:15,210 --> 00:00:17,420 est une machine basée sur le cloud qui se déroule Ubuntu, 7 00:00:17,420 --> 00:00:20,259 qui est l'un des nombreux arômes du système d'exploitation Linux. 8 00:00:20,259 --> 00:00:22,300 Système d'exploitation Linux est favorisée par les programmeurs, 9 00:00:22,300 --> 00:00:25,690 car il est juste refroidisseur, non? 10 00:00:25,690 --> 00:00:29,170 >> De nombreuses distributions Linux modernes avoir des interfaces utilisateur graphiques, 11 00:00:29,170 --> 00:00:33,710 que nous appelons aussi des interfaces graphiques, G-U-I, permettre la navigation sur la base de la souris facile, 12 00:00:33,710 --> 00:00:36,920 que vous êtes probablement familier avec, si vous êtes un utilisateur Windows ou Mac, 13 00:00:36,920 --> 00:00:39,961 déplacer votre souris, double-cliquant sur les icônes, et ainsi de suite. 14 00:00:39,961 --> 00:00:42,210 Toujours cependant, en tant que programmeur, et même si l'IDE 15 00:00:42,210 --> 00:00:44,800 contient la capacité de faire quelques utilisateur graphique 16 00:00:44,800 --> 00:00:47,400 des trucs, clic, et glisser, et tout ce qui, 17 00:00:47,400 --> 00:00:50,197 vous aurez toujours utiliser votre fenêtre de terminal assez souvent. 18 00:00:50,197 --> 00:00:52,280 Et vous pouvez faire beaucoup de mêmes tâches que vous pouvez 19 00:00:52,280 --> 00:00:53,905 faire avec une souris avec des commandes clavier. 20 00:00:53,905 --> 00:00:56,821 Et nous allons parler un peu à propos de ce que certains de ces commandes 21 00:00:56,821 --> 00:00:58,050 sont en ce moment. 22 00:00:58,050 --> 00:01:02,490 >> Maintenant, ces commandes peuvent être utilisées sur une exploitation basé sur Unix 23 00:01:02,490 --> 00:01:06,790 système qui comprend Linux, mais comprend également Mac OS. 24 00:01:06,790 --> 00:01:12,930 Si vous ouvrez un Terminal sur votre Mac, vous pouvez utiliser ces commandes exactes. 25 00:01:12,930 --> 00:01:15,705 Windows dispose également de commandes Prompt, mais certaines des commandes 26 00:01:15,705 --> 00:01:17,871 sont légèrement différentes, de sorte il ne fait fonctionne pas, 27 00:01:17,871 --> 00:01:20,080 parce que Windows est pas un système basé sur Unix. 28 00:01:20,080 --> 00:01:22,620 >> Donc, nous allons jeter un oeil à certains de ces commandes Linux. 29 00:01:22,620 --> 00:01:26,100 Le premier que vous aurez utiliser probablement un lot est ls. 30 00:01:26,100 --> 00:01:30,410 Voilà un L minuscule, suivie d'une minuscules s, qui est court pour la liste. 31 00:01:30,410 --> 00:01:33,720 Et ce que la commande de la liste fait est qu'il vous donne une lecture de tous les fichiers 32 00:01:33,720 --> 00:01:35,670 et dossiers de votre répertoire courant. 33 00:01:35,670 --> 00:01:39,430 Donc vous pouvez voir tout ce que vous pouvez accès à partir de là où vous êtes actuellement. 34 00:01:39,430 --> 00:01:41,545 >> Donc, je l'ai ouvert ici l'IDE CS50. 35 00:01:41,545 --> 00:01:44,540 Et je vais faire un zoom-in dans un seconde pour vous donner un peu plus près, 36 00:01:44,540 --> 00:01:47,240 mais voici l'image large de ce que l'IDE ressemble. 37 00:01:47,240 --> 00:01:49,580 Sur la gauche, vous pouvez voir que nous avons une arborescence de fichiers, que vous êtes probablement 38 00:01:49,580 --> 00:01:52,663 familier avec, un double-clic, et les fichiers et dossiers, et tout ça. 39 00:01:52,663 --> 00:01:54,694 Voilà donc toujours là dans l'appareil de CS50. 40 00:01:54,694 --> 00:01:57,860 Au centre de la partie supérieure est l'endroit où vous êtes va être l'écriture de votre code, une fois 41 00:01:57,860 --> 00:01:58,960 vous cliquez sur un fichier. 42 00:01:58,960 --> 00:02:00,900 Et en bas, nous avoir une fenêtre de terminal, 43 00:02:00,900 --> 00:02:04,040 qui est l'endroit où nous pouvons exécuter ces commandes du terminal. 44 00:02:04,040 --> 00:02:07,460 >> Je vais faire un zoom-in et la tête de plus ici, 45 00:02:07,460 --> 00:02:12,360 pour vous montrer que, en fait, je ne peux cliquer sur ces fichiers et dossiers. 46 00:02:12,360 --> 00:02:17,010 Donc, clairement, là où je suis actuellement, je dois deux dossiers, appelés pset0 et pset1, 47 00:02:17,010 --> 00:02:20,520 et trois fichiers, l'un appelé bonjour, un appelé hello.c, 48 00:02:20,520 --> 00:02:22,870 et un autre appelé hello.txt. 49 00:02:22,870 --> 00:02:27,100 >> Donc, nous allons descendre à la borne fenêtre et voir de plus près. 50 00:02:27,100 --> 00:02:31,010 Donc, nous venons de parler, encore une fois, sur le fait que nous avons trois fichiers et deux 51 00:02:31,010 --> 00:02:32,970 dossiers dans le répertoire courant. 52 00:02:32,970 --> 00:02:37,080 Si je tape ls, qui encore une fois est la commande à la liste 53 00:02:37,080 --> 00:02:40,870 le contenu du courant répertoire, puis je frappe Entrez, 54 00:02:40,870 --> 00:02:47,220 regarde ce que je vois, bonjour, hello.c, hello.txt, pset0 et pset1. 55 00:02:47,220 --> 00:02:49,620 >> pset0 et sont pset1 de couleur bleue, pour indiquer 56 00:02:49,620 --> 00:02:52,420 vous que ce sont des répertoires que nous pourrions naviguer dans. 57 00:02:52,420 --> 00:02:54,503 Et nous allons en apprendre un peu peu sur la façon de naviguer 58 00:02:54,503 --> 00:02:56,290 dans des répertoires dans une minute. 59 00:02:56,290 --> 00:03:00,920 Et toute autre chose est de couleur noire, si elle est un fichier texte ou d'un code source 60 00:03:00,920 --> 00:03:03,590 déposer, et vert, si il est un fichier exécutable. 61 00:03:03,590 --> 00:03:06,367 Donc, clairement, cela signifie que je pourrait lancer un programme appelé, bonjour. 62 00:03:06,367 --> 00:03:07,950 Voilà ce que le vert signifie il. 63 00:03:07,950 --> 00:03:10,080 Mais fondamentalement, tapant la commande ls a permis 64 00:03:10,080 --> 00:03:13,470 je regarde tout ce qui existe dans mon répertoire courant, qui 65 00:03:13,470 --> 00:03:17,940 correspond à ce que nous voyons ici, dans le affichage graphique de la même. 66 00:03:17,940 --> 00:03:19,940 La prochaine commande vous aurez utiliser probablement un peu 67 00:03:19,940 --> 00:03:24,792 est cd, minuscules c, d minuscule, qui est court pour changer de répertoire. 68 00:03:24,792 --> 00:03:27,500 Cela nous permet de faire ce que je étais parler une seconde il ya, qui 69 00:03:27,500 --> 00:03:31,150 est de naviguer entre répertoires à la commande 70 00:03:31,150 --> 00:03:33,700 ligne, par opposition à double-cliquant sur les dossiers. 71 00:03:33,700 --> 00:03:37,250 Donc, si nous tapez cd puis le nom d'un répertoire, 72 00:03:37,250 --> 00:03:40,890 nous pouvons obtenir dans ce répertoire. 73 00:03:40,890 --> 00:03:44,680 >> En aparté, sachez que le nom du répertoire courant est toujours 74 00:03:44,680 --> 00:03:48,670 point, et le nom du répertoire un niveau au-dessus où nous sommes maintenant, 75 00:03:48,670 --> 00:03:54,820 qui est le nom du dossier dans que notre dossier est, point, dot-- 76 00:03:54,820 --> 00:03:56,851 ou dans laquelle notre dossier est, est dot, dot. 77 00:03:56,851 --> 00:03:59,350 Et si jamais vous êtes curieux de savoir le nom de votre répertoire, 78 00:03:59,350 --> 00:04:03,430 vous pouvez taper pwd, qui se tient pour le répertoire de travail actuel. 79 00:04:03,430 --> 00:04:06,827 Nous allons jeter un oeil à tous ces maintenant, par retourner à l'IDE CS50. 80 00:04:06,827 --> 00:04:08,160 Donc, je suis de retour dans mon espace de travail maintenant. 81 00:04:08,160 --> 00:04:11,930 Et je vais agrandir encore sur la terminal, afin que nous puissions jeter un oeil 82 00:04:11,930 --> 00:04:14,209 à se déplacer au sein de l'IDE. 83 00:04:14,209 --> 00:04:16,250 Donc, je vais à la liste du contenu de mon répertoire 84 00:04:16,250 --> 00:04:19,220 encore une fois, juste pour refonder nous où nous en sommes. 85 00:04:19,220 --> 00:04:21,740 Donc, si je tape ls, qui est pour la liste à nouveau, 86 00:04:21,740 --> 00:04:24,160 Je vois que je peux arriver à pset0 et pset1. 87 00:04:24,160 --> 00:04:26,420 Ce sont les répertoires Je peux obtenir à partir d'ici. 88 00:04:26,420 --> 00:04:30,400 Je sais que, parce que l'IDE donne -moi un indice en coloriant les bleu. 89 00:04:30,400 --> 00:04:33,295 >> Disons que je veux entrer dans mon répertoire pset1, 90 00:04:33,295 --> 00:04:35,310 parce que je travaille sur le problème réglé 1. 91 00:04:35,310 --> 00:04:41,380 Je peux taper cd-- nouveau, court pour changer directory-- espace, pset1. 92 00:04:41,380 --> 00:04:43,334 Et si je appuyez sur Entrée, notez ce qui se passe. 93 00:04:43,334 --> 00:04:45,000 Il ne ressemble pas a beaucoup évolué. 94 00:04:45,000 --> 00:04:50,510 Mais si vous regardez à l'invite, maintenant me dit que je suis dans ~ / espace de travail / pset1. 95 00:04:50,510 --> 00:04:55,510 Je l'ai navigué dans le pset1 dossier qui était dans mon espace de travail. 96 00:04:55,510 --> 00:05:00,560 >> Et si je tape ls, je vois certains choses différentes ici, non? 97 00:05:00,560 --> 00:05:03,810 Cela ne veut pas le même liste que je voyais devant. 98 00:05:03,810 --> 00:05:05,350 Je l'ai navigué dans pset1. 99 00:05:05,350 --> 00:05:08,560 Et maintenant, quand je tape ls, je suis obtenir le contexte de ce que je peux 100 00:05:08,560 --> 00:05:12,600 voir à partir du dossier de pset1. 101 00:05:12,600 --> 00:05:16,056 >> Maintenant, je vais taper commande l, ce qui efface tout l'écran. 102 00:05:16,056 --> 00:05:18,180 Et je vais à la liste du contenu du répertoire 103 00:05:18,180 --> 00:05:18,880 encore une fois, juste pour que vous pouvez voir. 104 00:05:18,880 --> 00:05:20,730 Je voulais juste faire ça effacer certaines des choses 105 00:05:20,730 --> 00:05:22,521 que vous avez vu en bas et à empêcher ce 106 00:05:22,521 --> 00:05:24,660 d'aller trop loin hors de portée. 107 00:05:24,660 --> 00:05:28,440 >> Maintenant, je l'ai dit plus tôt que, si je veux pour naviguer dans le répertoire courant, 108 00:05:28,440 --> 00:05:31,580 Je peux taper cd espace dot. 109 00:05:31,580 --> 00:05:32,080 Appuyez sur Entrée. 110 00:05:32,080 --> 00:05:33,330 Il ne fait rien, non? 111 00:05:33,330 --> 00:05:35,480 Je change répertoires dans le répertoire courant. 112 00:05:35,480 --> 00:05:37,813 Vous n'êtes pas toujours aller à trouver un besoin pour un seul point, 113 00:05:37,813 --> 00:05:39,540 mais vous aurez l'occasion. 114 00:05:39,540 --> 00:05:41,950 >> Disons que je veux pour monter d'un niveau. 115 00:05:41,950 --> 00:05:44,450 Je veux revenir à mon répertoire d'espace de travail. 116 00:05:44,450 --> 00:05:49,800 Je ne peux pas taper cd espace de travail, il n'y a pas de fichier ou de répertoire. 117 00:05:49,800 --> 00:05:52,780 Et la raison pour that-- si je tape un ls plus time-- 118 00:05:52,780 --> 00:05:58,060 est qu'il n'y a pas de répertoire nommé espace de travail à l'intérieur de mon répertoire de pset1. 119 00:05:58,060 --> 00:06:00,275 Je vais me vider écran à nouveau avec la commande l. 120 00:06:00,275 --> 00:06:02,150 Se souvenir de ce que je disais plus haut, cependant, que nous 121 00:06:02,150 --> 00:06:04,010 peut naviguer de retour avec dot, dot. 122 00:06:04,010 --> 00:06:05,880 Voilà le nom du répertoire parent. 123 00:06:05,880 --> 00:06:10,727 Donc, si je tape cd, de l'espace, point, point, puis appuyez sur Entrée, 124 00:06:10,727 --> 00:06:11,810 maintenant regarder ce qui est arrivé. 125 00:06:11,810 --> 00:06:15,250 Mon invite de commande me dit que je suis de retour dans mon répertoire ~ / espace de travail. 126 00:06:15,250 --> 00:06:19,360 Je suis passé d'un niveau, grâce à dot, dot. 127 00:06:19,360 --> 00:06:23,400 >> Maintenant, disons que je suis en utilisant un système d'exploitation qui est basé sur Linux, 128 00:06:23,400 --> 00:06:25,440 mais ne signifie pas nécessairement me dire où je suis. 129 00:06:25,440 --> 00:06:28,370 Celui-ci arrive à nous dire que Je suis dans ~ / espace de travail en ce moment, 130 00:06:28,370 --> 00:06:29,280 droit à l'invite. 131 00:06:29,280 --> 00:06:31,940 Mais je ne pouvais être complètement perdu dans un tas de dossiers, 132 00:06:31,940 --> 00:06:34,946 et je ne sais pas où je suis et aucune idée où je veux revenir à. 133 00:06:34,946 --> 00:06:36,320 Il ya deux choses que je peux faire. 134 00:06:36,320 --> 00:06:40,920 >> Tout d'abord, je peux comprendre où je suis, en tapant passwd. 135 00:06:40,920 --> 00:06:42,720 Voilà mon répertoire de travail actuel. 136 00:06:42,720 --> 00:06:45,830 Et si je appuyez sur Entrée, il me dit exactement où je suis. 137 00:06:45,830 --> 00:06:49,400 Maintenant / home / ubuntu est le long chemin de dire, tilde, 138 00:06:49,400 --> 00:06:51,290 qui est votre répertoire personnel. 139 00:06:51,290 --> 00:06:56,540 Mais il me dit que je suis dans Accueil / ubuntu / espace de travail, ou ~ / espace de travail. 140 00:06:56,540 --> 00:07:00,700 >> Je vais pour naviguer mon répertoire pset1 nouveau, 141 00:07:00,700 --> 00:07:02,229 et je vais à la liste du contenu. 142 00:07:02,229 --> 00:07:04,770 Et je vois que je ai une autre répertoire là, appelé extras. 143 00:07:04,770 --> 00:07:09,020 Donc, je vais au CD en extras, et alors je vais effacer mon écran. 144 00:07:09,020 --> 00:07:11,540 >> Alors maintenant, je suis assez loin dans, non? 145 00:07:11,540 --> 00:07:13,680 Que faire si je veux sauvegarder à l'espace de travail tout de suite? 146 00:07:13,680 --> 00:07:15,138 Il ya quelques choses que je pouvais faire. 147 00:07:15,138 --> 00:07:18,750 Je pourrais taper cd, point, point, barre oblique, point, dot, pour remonter d'un niveau, puis 148 00:07:18,750 --> 00:07:19,640 autre niveau. 149 00:07:19,640 --> 00:07:21,090 Mais cela est assez ennuyeux. 150 00:07:21,090 --> 00:07:24,990 >> Donc, si je veux plus jamais revenir à tout mon répertoire, tilde, 151 00:07:24,990 --> 00:07:27,690 Je peux taper cd avec rien après. 152 00:07:27,690 --> 00:07:29,224 Cd, Entrée. 153 00:07:29,224 --> 00:07:30,140 Et maintenant, je suis dans tilde. 154 00:07:30,140 --> 00:07:34,310 Et si je veux arriver à l'espace de travail, Je peux juste taper cd espace de travail. 155 00:07:34,310 --> 00:07:36,770 Et voilà comment vous travaillez changement de répertoire 156 00:07:36,770 --> 00:07:42,080 au sein de l'IDE CS50 ou tout Linux système d'exploitation à la ligne de commande. 157 00:07:42,080 --> 00:07:42,580 Bien. 158 00:07:42,580 --> 00:07:45,610 Le prochain qui pourrait venir dans maniable est mkdir, 159 00:07:45,610 --> 00:07:48,709 qui est court pour faire un répertoire, si je dois créer un nouveau dossier. 160 00:07:48,709 --> 00:07:50,750 Si vous êtes familier avec le système d'exploitation de l'interface graphique, 161 00:07:50,750 --> 00:07:51,820 vous pourriez clic-droit. 162 00:07:51,820 --> 00:07:54,500 Et puis, quand le menu contextuel apparaît, choisissez Nouveau dossier. 163 00:07:54,500 --> 00:07:56,250 Voilà probablement comment vous l'avez fait auparavant. 164 00:07:56,250 --> 00:08:00,979 Mais nous pouvons aussi créer répertoires en ligne de commande. 165 00:08:00,979 --> 00:08:02,020 Donc, nous sommes de retour dans l'IDE. 166 00:08:02,020 --> 00:08:08,020 Je vais Zoom sur le terminal et lister le contenu de mon répertoire 167 00:08:08,020 --> 00:08:11,882 encore une fois, juste pour nous donner un cadre de référence. 168 00:08:11,882 --> 00:08:14,340 Disons que, maintenant, je l'ai Fin du contrat sur le problème réglé 0 169 00:08:14,340 --> 00:08:15,580 et le problème réglé 1. 170 00:08:15,580 --> 00:08:19,390 Je tiens donc à créer un nouveau répertoire pour travailler sur des problèmes set 2. 171 00:08:19,390 --> 00:08:20,420 Comment je fais ca? 172 00:08:20,420 --> 00:08:24,132 >> Eh bien, encore une fois, je ne pouvais clic droit dans le côté gauche là et choisissez Nouveau dossier 173 00:08:24,132 --> 00:08:25,340 et de créer un répertoire de pset2. 174 00:08:25,340 --> 00:08:26,240 Ce serait trop de travail. 175 00:08:26,240 --> 00:08:28,615 Mais alors, je fais également au ligne de commande assez rapidement, 176 00:08:28,615 --> 00:08:35,049 en tapant mkdir, je space-- tapé dans n, mais-- espace pset2. 177 00:08:35,049 --> 00:08:38,659 Si je frappe Entrez et puis je énumérer les contenu de mon répertoire nouveau, 178 00:08:38,659 --> 00:08:40,710 Je vois que, regardez, maintenant Je dois un dossier de pset2. 179 00:08:40,710 --> 00:08:43,110 Et je peux naviguer dans que l'utilisation de cd et de faire 180 00:08:43,110 --> 00:08:45,614 tout le travail que je dois faire pour pset2. 181 00:08:45,614 --> 00:08:48,530 Incidemment, je vais juste POP sur ici très rapidement à l'arborescence des fichiers. 182 00:08:48,530 --> 00:08:53,494 Et vous pouvez voir que, aussi, dans l'Explorateur de fichiers graphique, 183 00:08:53,494 --> 00:08:56,160 nous pouvons voir que le répertoire de pset2 il a également été créé. 184 00:08:56,160 --> 00:08:58,537 Et je peux naviguer à elle, en utilisant l'interface graphique ainsi. 185 00:08:58,537 --> 00:09:00,870 La prochaine fois et voilà va probablement venir dans maniable 186 00:09:00,870 --> 00:09:03,650 est cp, qui est court pour la copie. 187 00:09:03,650 --> 00:09:06,960 Copiez, contrairement à tous les autres commandes nous avons vu auparavant, 188 00:09:06,960 --> 00:09:11,800 prend deux arguments, une source, la nom du fichier que vous souhaitez copier, 189 00:09:11,800 --> 00:09:15,810 et une destination, où vous vouloir copier le fichier. 190 00:09:15,810 --> 00:09:19,490 Il est assez facile à copier un fichier, nous allons donc le faire. 191 00:09:19,490 --> 00:09:20,640 >> Donc, nous sommes de retour dans l'IDE. 192 00:09:20,640 --> 00:09:24,540 Je vais lister le contenu de mon répertoire courant avec ls. 193 00:09:24,540 --> 00:09:28,310 Maintenant, disons que je veux de faire une copie de hello.txt. 194 00:09:28,310 --> 00:09:32,120 Encore une fois, à partir de l'arborescence des fichiers sur le à gauche, l'interface graphique, 195 00:09:32,120 --> 00:09:35,969 Je pourrais clic-droit sur hello.txt, faire une copie, coller la copie. 196 00:09:35,969 --> 00:09:38,260 Mais je peux le faire assez rapidement à la ligne de commande trop. 197 00:09:38,260 --> 00:09:42,520 >> Disons que je veux copier hello.txt à hi.txt. 198 00:09:42,520 --> 00:09:45,850 Je peux CP, l'espace, hello.txt. 199 00:09:45,850 --> 00:09:48,850 Voilà mon fichier source, voilà pourquoi Je vais choisir que l'un d'abord. 200 00:09:48,850 --> 00:09:51,058 Et puis je dois nommer le fichier de destination, hi.txt. 201 00:09:51,058 --> 00:09:53,690 202 00:09:53,690 --> 00:09:54,620 Je frappe sur Entrée. 203 00:09:54,620 --> 00:09:57,930 Et si je liste le contenu de mon répertoire nouveau, il est hi.txt. 204 00:09:57,930 --> 00:09:59,220 Je fis une copie de celui-ci. 205 00:09:59,220 --> 00:10:01,090 Et en fait, si je suis allé dans hi.txt, je pouvais 206 00:10:01,090 --> 00:10:04,030 voir que ce serait un exact un double de tout ce qui 207 00:10:04,030 --> 00:10:08,330 existé dans mon fichier hello.txt. 208 00:10:08,330 --> 00:10:09,790 >> Voilà donc comment vous copiez un fichier. 209 00:10:09,790 --> 00:10:12,680 Mais que faire si vous voulez copier un répertoire entier? 210 00:10:12,680 --> 00:10:16,510 Donc, pour une seconde, nous allons jeter un coup d'oeil à ce qui est dans mon répertoire pset0. 211 00:10:16,510 --> 00:10:23,950 Si je pset0 cd et lister le contenu, Je dois un répertoire appelé, échantillon, 212 00:10:23,950 --> 00:10:26,252 et un fichier de zéro, scratch.sb2. 213 00:10:26,252 --> 00:10:27,210 Donc, ce qui est bon à savoir. 214 00:10:27,210 --> 00:10:29,800 Donc, nous allons effacer l'écran, et je vais revenir 215 00:10:29,800 --> 00:10:32,870 à mon répertoire d'espace de travail pour une seconde. 216 00:10:32,870 --> 00:10:36,630 >> Disons que, maintenant, je veux faire une copie de mon répertoire pset0. 217 00:10:36,630 --> 00:10:42,940 Je ne peux pas juste dire cp pset0 pset3, par exemple. 218 00:10:42,940 --> 00:10:46,220 Vous obtenez ce message bizarre, omettant répertoire pset0. 219 00:10:46,220 --> 00:10:47,439 Pourquoi ne pas vous obtenez ce message? 220 00:10:47,439 --> 00:10:49,730 Eh bien, il se trouve que, lorsque vous avez un répertoire 221 00:10:49,730 --> 00:10:53,150 a d'autres choses à l'intérieur de celui-ci, la commande cp n'a pas vraiment 222 00:10:53,150 --> 00:10:55,590 nécessairement savoir quoi faire avec elle. 223 00:10:55,590 --> 00:10:59,670 >> Nous devons explicitement dire Linux, le terminal, 224 00:10:59,670 --> 00:11:03,720 Je veux que vous le copiez répertoire pset0 et copie 225 00:11:03,720 --> 00:11:07,530 chaque dossier qui existe à l'intérieur de celui-ci et tous les fichiers 226 00:11:07,530 --> 00:11:08,750 existe à l'intérieur de celui-ci. 227 00:11:08,750 --> 00:11:13,270 En d'autres termes, je dois vous récursive plonger dans pset0 228 00:11:13,270 --> 00:11:15,660 et de faire une copie de tout là-dedans. 229 00:11:15,660 --> 00:11:25,280 >> Si je veux faire, ce que je peux faire est cp-r, pour récursif, pset3 pset0. 230 00:11:25,280 --> 00:11:26,850 Appuyez sur Entrée. 231 00:11:26,850 --> 00:11:29,290 Maintenant, si je énumérer les contenu de mon répertoire, 232 00:11:29,290 --> 00:11:32,180 Je vois qu'il ya la pset3 répertoire que je peux travailler avec. 233 00:11:32,180 --> 00:11:36,990 Et si je cd dans pset3 maintenant et alors lister le contenu, regardez, 234 00:11:36,990 --> 00:11:39,594 il ya échantillon et scratch.sb2 nouveau. 235 00:11:39,594 --> 00:11:40,510 Voilà donc assez cool. 236 00:11:40,510 --> 00:11:43,819 Voilà donc comment vous pouvez copier un ensemble répertoire, et pas seulement un seul fichier. 237 00:11:43,819 --> 00:11:45,860 Donc, si vous souhaitez copier un répertoire, rappelez-vous juste 238 00:11:45,860 --> 00:11:49,830 d'utiliser l'option -r lorsque vous êtes travailler avec la commande cp. 239 00:11:49,830 --> 00:11:50,330 Bien. 240 00:11:50,330 --> 00:11:52,320 Donc, je l'ai copié un fichier, mais Je l'ai fait par erreur. 241 00:11:52,320 --> 00:11:53,695 Et maintenant, je veux me débarrasser de lui. 242 00:11:53,695 --> 00:11:54,850 Comment je fais ca? 243 00:11:54,850 --> 00:11:56,830 Encore une fois, si vous êtes familier avec une interface graphique, 244 00:11:56,830 --> 00:11:58,310 vous pouvez cliquer droit et juste choisissez Supprimer. 245 00:11:58,310 --> 00:12:00,630 Et il va l'envoyer au poubelle ou la Corbeille. 246 00:12:00,630 --> 00:12:03,320 Mais à la ligne de commande, nous peut il suffit de taper rm, pour supprimer, 247 00:12:03,320 --> 00:12:05,580 puis le nom de la fichier que nous voulons nous débarrasser de. 248 00:12:05,580 --> 00:12:08,614 >> Maintenant, rm est très prudent. 249 00:12:08,614 --> 00:12:11,280 Il fait beaucoup de double contrôle, pour vous assurer que vous avez réellement 250 00:12:11,280 --> 00:12:12,377 vouloir supprimer le fichier. 251 00:12:12,377 --> 00:12:15,460 Il ne veut pas faire d'erreurs, car il n'y a pas Corbeille ici. 252 00:12:15,460 --> 00:12:17,010 Une fois que nous supprimer un fichier, il est parti. 253 00:12:17,010 --> 00:12:18,710 Et il n'y a vraiment aucun moyen de le récupérer. 254 00:12:18,710 --> 00:12:20,730 Donc, nous devons être assez attention, et ainsi de rm 255 00:12:20,730 --> 00:12:23,110 va être très prudent pour nous. 256 00:12:23,110 --> 00:12:27,120 >> Donc, revenons à l'IDE et de se débarrasser de ce fichier hi.txt 257 00:12:27,120 --> 00:12:29,640 que je créé il ya une minute avec copie. 258 00:12:29,640 --> 00:12:30,560 Donc, nous sommes dans l'IDE. 259 00:12:30,560 --> 00:12:33,180 Et je liste le contenu de mon répertoire encore une fois, juste pour nous donner un peu de contexte. 260 00:12:33,180 --> 00:12:36,500 Je veux dire, vous pouvez voir qu'il ya hi.txt, que je créé il ya un peu de temps. 261 00:12:36,500 --> 00:12:38,196 Maintenant, je veux me débarrasser de lui. 262 00:12:38,196 --> 00:12:38,820 Comment fait-on ça? 263 00:12:38,820 --> 00:12:39,810 >> Encore une fois, rm. 264 00:12:39,810 --> 00:12:46,220 Donc, je peux taper rm hi.txt et appuyez sur Entrée. 265 00:12:46,220 --> 00:12:47,970 Et il ya rm être très prudent pour nous 266 00:12:47,970 --> 00:12:50,178 et faire en sorte que nous fait vouloir supprimer ce fichier. 267 00:12:50,178 --> 00:12:52,784 Voulez-vous vraiment supprimer fichier régulier hi.txt vide? 268 00:12:52,784 --> 00:12:55,200 Voilà juste comme un fonctionnement système, comme Windows ou Mac, 269 00:12:55,200 --> 00:12:56,310 que vous seriez peut-être familier avec popping up 270 00:12:56,310 --> 00:12:58,770 cette boîte dit vous êtes vraiment sûr que vous voulez faire. 271 00:12:58,770 --> 00:13:01,228 >> Je suis assez sûr que je veux ceci, donc je vais taper, yes-- 272 00:13:01,228 --> 00:13:04,390 Ou je pourrais aussi juste tapez y-- et appuyez sur Entrée. 273 00:13:04,390 --> 00:13:08,620 Et si je liste le contenu de mon répertoire nouveau, hi.txt est parti. 274 00:13:08,620 --> 00:13:10,000 Pas mal, non? 275 00:13:10,000 --> 00:13:12,410 Appuyez sur Ctrl la L Let, juste de se débarrasser de tous ces trucs 276 00:13:12,410 --> 00:13:14,900 et nous amener au retour le haut de l'écran. 277 00:13:14,900 --> 00:13:18,520 >> Maintenant, il ya une façon de court-circuit rm, donc 278 00:13:18,520 --> 00:13:20,090 qu'il ne nous demande pas à cette question. 279 00:13:20,090 --> 00:13:22,060 Nous savons vraiment nous voulons de se débarrasser de ce fichier, 280 00:13:22,060 --> 00:13:23,490 et nous ne voulons même pas être posé la question. 281 00:13:23,490 --> 00:13:24,720 Comment fait-on cela? 282 00:13:24,720 --> 00:13:27,180 Eh bien, nous pouvons spécifier une drapeau supplémentaire, tout comme nous 283 00:13:27,180 --> 00:13:30,400 fait avec cp où nous pourrait ajouter l'option -r, 284 00:13:30,400 --> 00:13:32,800 de copier récursivement dans un répertoire. 285 00:13:32,800 --> 00:13:35,630 Il ya un autre drapeau rm, qui est -f, 286 00:13:35,630 --> 00:13:39,470 qui est de forcer rm à faire exactement ce que nous sommes, il dit de faire. 287 00:13:39,470 --> 00:13:44,610 >> Donc, disons que, maintenant, je veux pour se débarrasser de mon fichier hello.txt. 288 00:13:44,610 --> 00:13:46,490 Je ne veux pas que l'on soit. 289 00:13:46,490 --> 00:13:47,370 Que puis-je faire? 290 00:13:47,370 --> 00:13:54,710 Eh bien, je peux rm hello.txt -f. 291 00:13:54,710 --> 00:13:57,530 Que pensez-vous est qui va se passer ici? 292 00:13:57,530 --> 00:13:58,030 C'est parti. 293 00:13:58,030 --> 00:13:59,363 Ne m'a même pas poser la question. 294 00:13:59,363 --> 00:14:03,600 Et en fait, si je lister le contenu de mon répertoire nouveau, il a disparu. 295 00:14:03,600 --> 00:14:05,750 Il n'y a pas défaire ici. 296 00:14:05,750 --> 00:14:09,554 hello.txt est parti, et je ne même demandé si je voulais le supprimer. 297 00:14:09,554 --> 00:14:11,595 Que faire si je veux me débarrasser d'un répertoire entier? 298 00:14:11,595 --> 00:14:14,180 299 00:14:14,180 --> 00:14:17,039 La façon dont vous faites cela est très similaire à copier. 300 00:14:17,039 --> 00:14:19,080 Si vous voulez supprimer un répertoire, vous faites non seulement 301 00:14:19,080 --> 00:14:22,121 voulez supprimer le répertoire, vous voulez de supprimer tout à l'intérieur de celui-ci. 302 00:14:22,121 --> 00:14:26,250 Et si vous utilisez -r, à récursive supprimer un répertoire. 303 00:14:26,250 --> 00:14:28,600 >> Donc, nous allons rm -r pset2. 304 00:14:28,600 --> 00:14:31,870 Je ne suis pas réellement travailler sur pset2, donc je peux me débarrasser de ce répertoire. 305 00:14:31,870 --> 00:14:33,040 Je frappe sur Entrée. 306 00:14:33,040 --> 00:14:35,050 Dois-je veux supprimer le répertoire, pset2? 307 00:14:35,050 --> 00:14:37,160 Oui. 308 00:14:37,160 --> 00:14:41,150 Et si je lister le contenu du mon répertoire nouveau, il a disparu. 309 00:14:41,150 --> 00:14:41,650 Bien? 310 00:14:41,650 --> 00:14:43,739 >> Une autre variation sur ce thème. 311 00:14:43,739 --> 00:14:46,280 Donc, je vais effacer de nouveau l'écran, de mettre tout en haut. 312 00:14:46,280 --> 00:14:47,420 Hit ls. 313 00:14:47,420 --> 00:14:49,890 Maintenant, je veux me débarrasser de mon répertoire de pset3, 314 00:14:49,890 --> 00:14:52,810 et je sais que je veux vraiment me débarrasser de mon répertoire pset3. 315 00:14:52,810 --> 00:15:00,120 Je peux récursive et de force retirer mon répertoire pset3. 316 00:15:00,120 --> 00:15:03,900 >> Maintenant, vous allez être vraiment prudent lorsque vous utilisez rm -rf. 317 00:15:03,900 --> 00:15:06,784 Comme vous programmez plus, ce sera quelque chose que vous venez de le faire très rapidement. 318 00:15:06,784 --> 00:15:08,200 Et en fait, je le fais tout le temps. 319 00:15:08,200 --> 00:15:10,380 Mais il peut conduire à une certaine conséquences désastreuses, 320 00:15:10,380 --> 00:15:12,340 si vous avez accidentellement supprimer la mauvaise chose. 321 00:15:12,340 --> 00:15:15,089 Donc, je veux que vous soyez conscient que cela est une option disponible pour vous, 322 00:15:15,089 --> 00:15:17,220 mais l'utiliser avec parcimonie, et l'utiliser avec prudence. 323 00:15:17,220 --> 00:15:20,910 >> Je sais que pour un fait je ne travaille pas sur mon problème posé 3 plus, donc je suis 324 00:15:20,910 --> 00:15:22,550 va se débarrasser de tous ces fichiers. 325 00:15:22,550 --> 00:15:26,420 Et je sais que je ne veux pas être demandé à chaque fois si je veux supprimer 326 00:15:26,420 --> 00:15:30,640 un fichier, donc je vais rm -rf pset3. 327 00:15:30,640 --> 00:15:32,640 N'a même pas me demander si je voulait se débarrasser de lui. 328 00:15:32,640 --> 00:15:33,840 Je frappe ls. 329 00:15:33,840 --> 00:15:35,680 pset3 est parti. 330 00:15:35,680 --> 00:15:39,730 Voilà donc toutes les variations que vous peuvent utiliser pour se débarrasser des fichiers avec rm. 331 00:15:39,730 --> 00:15:43,620 >> La commande de la dernière ligne de commande qui est va très utile pour vous 332 00:15:43,620 --> 00:15:46,391 est mv, qui est court pour déménagement. 333 00:15:46,391 --> 00:15:48,960 Move est essentiellement équivalente à renommer. 334 00:15:48,960 --> 00:15:53,870 Il déplace un fichier d'un emplacement à l'autre, la source à la destination. 335 00:15:53,870 --> 00:15:59,400 Voyons où en utilisant une force de déplacement être utile à la fenêtre de terminal. 336 00:15:59,400 --> 00:16:02,070 >> Donc, je suis dans mon pset1 répertoire, et je l'ai remarqué 337 00:16:02,070 --> 00:16:03,860 quelque chose a un peu de mal. 338 00:16:03,860 --> 00:16:08,620 Je travaillais sur mon problème gourmand, mais je accidentellement nommé il Greddy. 339 00:16:08,620 --> 00:16:11,380 Donc, quand je tente de le lancer à travers check50, il ne fonctionne pas vraiment. 340 00:16:11,380 --> 00:16:12,630 Je faire avoir un couple d'options. 341 00:16:12,630 --> 00:16:16,220 Nous pourrions faire ce que nous avons fait auparavant, qui est de faire une copie du fichier. 342 00:16:16,220 --> 00:16:23,960 Je pourrais copier greddy.c à greedy.c, non? 343 00:16:23,960 --> 00:16:25,580 Appuyez sur Entrée. 344 00:16:25,580 --> 00:16:28,180 Je vois que les deux fichiers sont là. 345 00:16:28,180 --> 00:16:36,337 Et puis je ne pouvais RM, de supprimer, greddy.c. 346 00:16:36,337 --> 00:16:37,170 Qui se débarrasse de lui. 347 00:16:37,170 --> 00:16:40,920 Donc, ce serait de travailler, après que je confirme que je veux me débarrasser de lui. 348 00:16:40,920 --> 00:16:44,770 Et je dois efficacement greddy.c renommé greedy.c. 349 00:16:44,770 --> 00:16:48,460 Je l'ai copié, puis retiré de l'original. 350 00:16:48,460 --> 00:16:50,170 >> Mais cela est un processus en plusieurs étapes. 351 00:16:50,170 --> 00:16:51,670 Et certainement, il ya une meilleure façon. 352 00:16:51,670 --> 00:16:52,420 En fait, il est. 353 00:16:52,420 --> 00:16:55,810 Donc, nous allons taper control L, juste pour ramener cette place, 354 00:16:55,810 --> 00:16:58,680 et lister le contenu de mon répertoire nouveau. 355 00:16:58,680 --> 00:17:00,350 >> Donc, disons que, oh, je me suis trompé. 356 00:17:00,350 --> 00:17:03,470 En fait, je ne voulais vraiment d'appeler ce fichier greddy.c. 357 00:17:03,470 --> 00:17:11,369 D'un seul coup, je peux taper déplacer greedy.c à greddy.c. 358 00:17:11,369 --> 00:17:12,470 Appuyez sur Entrée. 359 00:17:12,470 --> 00:17:15,210 Et maintenant, je ne dois copier et supprimer, 360 00:17:15,210 --> 00:17:16,880 Je viens été en mesure de le renommer. 361 00:17:16,880 --> 00:17:18,710 Un guichet unique. 362 00:17:18,710 --> 00:17:21,160 >> Maintenant, il ya beaucoup d'autres les services publics de base en ligne de commande 363 00:17:21,160 --> 00:17:22,640 que vous pouvez utiliser avec la ligne de commande Linux. 364 00:17:22,640 --> 00:17:24,990 Et nous allons discuter beaucoup d'entre eux à l'avenir dans CS50. 365 00:17:24,990 --> 00:17:27,948 Mais pour l'instant, juste de vos pieds humide de travailler avec ce terminal 366 00:17:27,948 --> 00:17:30,540 environnement, ces cinq commandes Si vous obtenez assez loin 367 00:17:30,540 --> 00:17:34,990 à naviguer autour et travailler avec des fichiers dans votre IDE 368 00:17:34,990 --> 00:17:37,770 ou basé sur Linux-quelle que soit la système d'exploitation que vous utilisez. 369 00:17:37,770 --> 00:17:40,580 >> Si vous êtes curieux et que vous voulez regarder vers l'avenir un peu à un certain 370 00:17:40,580 --> 00:17:43,420 des commandes de ligne de commande nous utiliserons à l'avenir, 371 00:17:43,420 --> 00:17:46,930 voici une liste d'un couple des plus communs. 372 00:17:46,930 --> 00:17:47,820 Je suis Doug Lloyd. 373 00:17:47,820 --> 00:17:49,860 Ceci est CS50. 374 00:17:49,860 --> 00:17:52,598