1 00:00:00,000 --> 00:00:05,060 >> [Música tocando] 2 00:00:05,060 --> 00:00:05,890 >> DOUG LLOYD: OK. 3 00:00:05,890 --> 00:00:08,680 Então vamos falar sobre como usar a linha de comando do Linux. 4 00:00:08,680 --> 00:00:11,860 Agora, o CS50 IDE, ou em verdade, até mesmo um aparelho CS50, 5 00:00:11,860 --> 00:00:15,210 se você estiver familiarizado com isso, ou você está tomando uma versão mais antiga do CS50, 6 00:00:15,210 --> 00:00:17,420 é uma máquina baseada em nuvem que corre Ubuntu, 7 00:00:17,420 --> 00:00:20,259 que é um dos diversos sabores do sistema operacional Linux. 8 00:00:20,259 --> 00:00:22,300 Sistema operacional Linux é favorecido por programadores, 9 00:00:22,300 --> 00:00:25,690 porque é apenas mais frio, certo? 10 00:00:25,690 --> 00:00:29,170 >> Muitas distribuições Linux modernas têm interfaces gráficas, 11 00:00:29,170 --> 00:00:33,710 que também chamamos GUIs, G-U-I, para permitir uma navegação fácil baseado no mouse, 12 00:00:33,710 --> 00:00:36,920 que você provavelmente está familiarizado com, se você é um usuário do Windows ou Mac, 13 00:00:36,920 --> 00:00:39,961 movendo-se o mouse, clicando duas vezes em ícones, e assim por diante. 14 00:00:39,961 --> 00:00:42,210 Ainda assim, porém, como um programador, e mesmo que o IDE 15 00:00:42,210 --> 00:00:44,800 contém a capacidade de fazer alguma gráfica do usuário 16 00:00:44,800 --> 00:00:47,400 material, clicar, e arrastando, e tudo isso, 17 00:00:47,400 --> 00:00:50,197 você ainda estará usando o seu janela de terminal com bastante freqüência. 18 00:00:50,197 --> 00:00:52,280 E você pode fazer muitas das mesmas tarefas que você pode 19 00:00:52,280 --> 00:00:53,905 fazer com um rato com comandos do teclado. 20 00:00:53,905 --> 00:00:56,821 E nós vamos falar um pouco sobre o que alguns desses comandos 21 00:00:56,821 --> 00:00:58,050 está agora. 22 00:00:58,050 --> 00:01:02,490 >> Agora, estes comandos podem ser usados em qualquer operacional baseado em Unix 23 00:01:02,490 --> 00:01:06,790 sistema, que inclui o Linux, mas também inclui o Mac OS. 24 00:01:06,790 --> 00:01:12,930 Se você abrir o Terminal em seu Mac, você pode usar esses comandos exatos. 25 00:01:12,930 --> 00:01:15,705 O Windows também tem Command Prompt, mas alguns dos comandos 26 00:01:15,705 --> 00:01:17,871 são ligeiramente diferentes, por isso, ele realmente não funciona, 27 00:01:17,871 --> 00:01:20,080 porque o Windows não é um sistema baseado em Unix. 28 00:01:20,080 --> 00:01:22,620 >> Então, vamos dar uma olhada em algumas destes comandos Linux. 29 00:01:22,620 --> 00:01:26,100 O primeiro que você vai provavelmente usar um monte é ls. 30 00:01:26,100 --> 00:01:30,410 Isso é um l minúsculo, seguido por um s minúsculo, que é curto para lista. 31 00:01:30,410 --> 00:01:33,720 E o que o comando lista faz é dá-lhe uma leitura de todos os arquivos 32 00:01:33,720 --> 00:01:35,670 e pastas no diretório atual. 33 00:01:35,670 --> 00:01:39,430 Assim você pode ver tudo o que puder chegar a partir de onde você está atualmente. 34 00:01:39,430 --> 00:01:41,545 >> Então eu abri aqui o IDE CS50. 35 00:01:41,545 --> 00:01:44,540 E eu estou indo para zoom-in em um segunda para dar-lhe um olhar mais atento, 36 00:01:44,540 --> 00:01:47,240 mas aqui está o quadro geral do que o IDE parece. 37 00:01:47,240 --> 00:01:49,580 À esquerda, você pode ver, temos uma árvore de arquivos, o que provavelmente você está 38 00:01:49,580 --> 00:01:52,663 familiarizado com, clicando duas vezes, e arquivos e pastas, e todas essas coisas. 39 00:01:52,663 --> 00:01:54,694 Assim que ainda está lá no aparelho CS50. 40 00:01:54,694 --> 00:01:57,860 No centro no topo é onde você está vai escrever seu código, uma vez 41 00:01:57,860 --> 00:01:58,960 você clica em um arquivo. 42 00:01:58,960 --> 00:02:00,900 E na parte inferior, nós tem uma janela de terminal, 43 00:02:00,900 --> 00:02:04,040 que é onde podemos executar estes comandos do terminal. 44 00:02:04,040 --> 00:02:07,460 >> Eu estou indo para zoom-in e de cabeça aqui, apenas 45 00:02:07,460 --> 00:02:12,360 para mostrar que, de fato, eu posso clique sobre esses arquivos e pastas. 46 00:02:12,360 --> 00:02:17,010 Então, claramente, onde atualmente eu sou, eu tenho duas pastas, chamados pset0 e pset1, 47 00:02:17,010 --> 00:02:20,520 e três arquivos, um chamado Olá, um chamado hello.c, 48 00:02:20,520 --> 00:02:22,870 e um chamado hello.txt. 49 00:02:22,870 --> 00:02:27,100 >> Então, vamos descer para o terminal janela e obter um olhar mais atento. 50 00:02:27,100 --> 00:02:31,010 Então, nós apenas conversamos, mais uma vez, sobre a fato de que temos três arquivos e dois 51 00:02:31,010 --> 00:02:32,970 pastas no diretório atual. 52 00:02:32,970 --> 00:02:37,080 Se eu digitar ls, o que novamente é o comando para listar 53 00:02:37,080 --> 00:02:40,870 o conteúdo do actual diretório, e então eu pressione Enter, 54 00:02:40,870 --> 00:02:47,220 olhe o que eu vejo, Olá, hello.c, hello.txt, pset0 e pset1. 55 00:02:47,220 --> 00:02:49,620 >> pset0 e pset1 são cor azul, para indicar 56 00:02:49,620 --> 00:02:52,420 a você que esses são os diretórios que pudéssemos navegar nos. 57 00:02:52,420 --> 00:02:54,503 E nós vamos aprender um pouco pouco sobre como navegar 58 00:02:54,503 --> 00:02:56,290 em diretórios em um minuto. 59 00:02:56,290 --> 00:03:00,920 E todas as outras coisas é de cor preta, se é um arquivo de texto ou um código fonte 60 00:03:00,920 --> 00:03:03,590 arquivo, e verde, se é um arquivo executável. 61 00:03:03,590 --> 00:03:06,367 Então, claramente, isso significa que eu poderia executar um programa chamado, Olá. 62 00:03:06,367 --> 00:03:07,950 Isso é o que o verde não significa. 63 00:03:07,950 --> 00:03:10,080 Mas, basicamente, digitando o comando ls tem permitido 64 00:03:10,080 --> 00:03:13,470 me a olhar para tudo o que existe no meu diretório atual, que 65 00:03:13,470 --> 00:03:17,940 coincide com o que vemos aqui, no representação gráfica do mesmo. 66 00:03:17,940 --> 00:03:19,940 O próximo comando que você vai provavelmente usar um pouco 67 00:03:19,940 --> 00:03:24,792 é cd, minúsculas c, d minúsculo, que é curto para alterar diretório. 68 00:03:24,792 --> 00:03:27,500 Isso nos permite fazer o que eu era falando de um segundo atrás, que 69 00:03:27,500 --> 00:03:31,150 é para navegar entre diretórios no comando 70 00:03:31,150 --> 00:03:33,700 A linha, em oposição aos clicando duas vezes nas pastas. 71 00:03:33,700 --> 00:03:37,250 Então, se nós digitamos cd e, em seguida, o nome de um diretório, 72 00:03:37,250 --> 00:03:40,890 podemos entrar nesse diretório. 73 00:03:40,890 --> 00:03:44,680 >> Como um aparte, saber que o nome do diretório atual é sempre 74 00:03:44,680 --> 00:03:48,670 ponto eo nome do diretório Um nível acima de onde estamos agora, 75 00:03:48,670 --> 00:03:54,820 que é o nome da pasta em que nossa pasta é, ponto, dot-- 76 00:03:54,820 --> 00:03:56,851 ou em que a nossa pasta é, é ponto, ponto. 77 00:03:56,851 --> 00:03:59,350 E se você estiver curioso sobre o nome do seu diretório, 78 00:03:59,350 --> 00:04:03,430 você pode digitar pwd, que significa para o diretório de trabalho atual. 79 00:04:03,430 --> 00:04:06,827 Vamos dar uma olhada em todos estes Agora, por rubrica de volta para o IDE CS50. 80 00:04:06,827 --> 00:04:08,160 Então, eu estou de volta ao meu espaço de trabalho agora. 81 00:04:08,160 --> 00:04:11,930 E eu vou zoom-in novamente no terminal, para que possamos dar uma olhada 82 00:04:11,930 --> 00:04:14,209 a se movimentar dentro do IDE. 83 00:04:14,209 --> 00:04:16,250 Então, eu estou indo para listar o conteúdo do meu diretório 84 00:04:16,250 --> 00:04:19,220 novamente, apenas para rectificados nos onde estamos. 85 00:04:19,220 --> 00:04:21,740 Então, se eu digitar ls, que é para lista novamente, 86 00:04:21,740 --> 00:04:24,160 Eu vejo que eu possa chegar a pset0 e pset1. 87 00:04:24,160 --> 00:04:26,420 Esses são os diretórios Eu posso começar a partir daqui. 88 00:04:26,420 --> 00:04:30,400 Eu sei disso, porque o IDE dá me uma pista, colorindo-as azul. 89 00:04:30,400 --> 00:04:33,295 >> Vamos dizer que eu quero entrar no meu diretório pset1, 90 00:04:33,295 --> 00:04:35,310 porque eu estou trabalhando em um conjunto de problemas. 91 00:04:35,310 --> 00:04:41,380 Eu posso digitar cd-- novamente, abreviação de alterar directory-- espaço, pset1. 92 00:04:41,380 --> 00:04:43,334 E se eu pressione Enter, observe o que acontece. 93 00:04:43,334 --> 00:04:45,000 Ele não se parece com muita coisa aconteceu. 94 00:04:45,000 --> 00:04:50,510 Mas se você olhar para o prompt, ele agora me diz que eu estou em ~ / workspace / pset1. 95 00:04:50,510 --> 00:04:55,510 Eu tenho navegado na pset1 pasta que estava dentro do meu espaço de trabalho. 96 00:04:55,510 --> 00:05:00,560 >> E se eu digitar ls, vejo alguns coisas diferentes aqui, certo? 97 00:05:00,560 --> 00:05:03,810 Esta não é a mesma lista que eu vi antes. 98 00:05:03,810 --> 00:05:05,350 Eu tenho navegado em pset1. 99 00:05:05,350 --> 00:05:08,560 E agora, quando eu digitar ls, eu sou recebendo o contexto do que eu posso 100 00:05:08,560 --> 00:05:12,600 ver de dentro da pasta pset1. 101 00:05:12,600 --> 00:05:16,056 >> Agora, eu vou digitar controle l, o que só limpa a tela. 102 00:05:16,056 --> 00:05:18,180 E eu estou indo para listar o conteúdo do diretório 103 00:05:18,180 --> 00:05:18,880 novamente, apenas para que você possa ver. 104 00:05:18,880 --> 00:05:20,730 Eu só queria fazer isso para limpar algumas das coisas 105 00:05:20,730 --> 00:05:22,521 que você viu lá embaixo e para evitar que esta 106 00:05:22,521 --> 00:05:24,660 de ir longe demais para baixo fora do intervalo. 107 00:05:24,660 --> 00:05:28,440 >> Agora, eu disse anteriormente que, se eu quiser para navegar para o diretório atual, 108 00:05:28,440 --> 00:05:31,580 I pode digitar cd espaço dot. 109 00:05:31,580 --> 00:05:32,080 Pressione Enter. 110 00:05:32,080 --> 00:05:33,330 Ele não faz nada, certo? 111 00:05:33,330 --> 00:05:35,480 Eu estou mudando diretórios para o diretório atual. 112 00:05:35,480 --> 00:05:37,813 Você nem sempre vai encontrar uma necessidade para um único ponto, 113 00:05:37,813 --> 00:05:39,540 mas você vai ocasionalmente. 114 00:05:39,540 --> 00:05:41,950 >> Vamos dizer que eu quero para subir um nível. 115 00:05:41,950 --> 00:05:44,450 Eu quero voltar para meu diretório do espaço de trabalho. 116 00:05:44,450 --> 00:05:49,800 Não consigo digitar cd espaço de trabalho, não há tal arquivo ou diretório. 117 00:05:49,800 --> 00:05:52,780 E a razão para isso-- se eu digitar ls mais um tempo-- 118 00:05:52,780 --> 00:05:58,060 é que não há nenhum diretório chamado espaço de trabalho dentro do meu diretório pset1. 119 00:05:58,060 --> 00:06:00,275 Eu estou indo para limpar a minha tela novamente com o controle l. 120 00:06:00,275 --> 00:06:02,150 Lembre-se que eu disse anterior, no entanto, que nós 121 00:06:02,150 --> 00:06:04,010 pode navegar de volta com ponto, ponto. 122 00:06:04,010 --> 00:06:05,880 Esse é o nome do diretório pai. 123 00:06:05,880 --> 00:06:10,727 Então, se eu digitar cd, espaço, ponto, ponto e pressione a tecla Enter, 124 00:06:10,727 --> 00:06:11,810 agora olhar para o que aconteceu. 125 00:06:11,810 --> 00:06:15,250 Prompt de comando Minha me diz que eu sou de volta no meu diretório ~ / workspace. 126 00:06:15,250 --> 00:06:19,360 Eu me mudei para um nível acima, graças a ponto, ponto. 127 00:06:19,360 --> 00:06:23,400 >> Agora, vamos dizer que eu estou usando um sistema operacional que é baseado em Linux, 128 00:06:23,400 --> 00:06:25,440 mas não necessariamente diga-me onde estou. 129 00:06:25,440 --> 00:06:28,370 Este acontece nos dizem que Estou em ~ / workspace agora, 130 00:06:28,370 --> 00:06:29,280 direito no prompt. 131 00:06:29,280 --> 00:06:31,940 Mas eu poderia ser completamente perdido em uma confusão de pastas, 132 00:06:31,940 --> 00:06:34,946 e eu não tenho nenhuma idéia de onde estou e nenhuma idéia de onde eu quero voltar para. 133 00:06:34,946 --> 00:06:36,320 Há duas coisas que eu posso fazer. 134 00:06:36,320 --> 00:06:40,920 >> Primeiro de tudo, eu posso descobrir para fora onde eu estou, digitando pwd. 135 00:06:40,920 --> 00:06:42,720 Esse é o meu diretório de trabalho atual. 136 00:06:42,720 --> 00:06:45,830 E se eu pressione Enter, ele me diz exatamente onde estou. 137 00:06:45,830 --> 00:06:49,400 Agora / home / ubuntu é o longo caminho de dizer, til, 138 00:06:49,400 --> 00:06:51,290 qual é o seu diretório home. 139 00:06:51,290 --> 00:06:56,540 Mas ele me diz que eu estou em home / ubuntu / área de trabalho, ou ~ / workspace. 140 00:06:56,540 --> 00:07:00,700 >> Eu estou indo para navegar para meu diretório pset1 novamente, 141 00:07:00,700 --> 00:07:02,229 e eu estou indo para listar o conteúdo. 142 00:07:02,229 --> 00:07:04,770 E eu vejo que eu tenho um outro diretório lá, chamado extras. 143 00:07:04,770 --> 00:07:09,020 Então, eu estou indo para cd em extras, e então eu vou limpar minha tela. 144 00:07:09,020 --> 00:07:11,540 >> Então, agora, eu estou muito longe, certo? 145 00:07:11,540 --> 00:07:13,680 E se eu quiser fazer backup para o espaço de trabalho imediatamente? 146 00:07:13,680 --> 00:07:15,138 Há algumas coisas que eu poderia fazer. 147 00:07:15,138 --> 00:07:18,750 Eu poderia digitar cd, ponto, ponto, corte, ponto, ponto, para subir um nível e, em seguida, 148 00:07:18,750 --> 00:07:19,640 outro nível. 149 00:07:19,640 --> 00:07:21,090 Mas isso é uma espécie de irritante. 150 00:07:21,090 --> 00:07:24,990 >> Então, se eu quiser voltar para apenas o meu diretório home, til, 151 00:07:24,990 --> 00:07:27,690 I pode digitar cd com nada depois. 152 00:07:27,690 --> 00:07:29,224 Cd, Enter. 153 00:07:29,224 --> 00:07:30,140 E agora, eu estou em til. 154 00:07:30,140 --> 00:07:34,310 E se eu quiser chegar ao espaço de trabalho, Eu posso apenas digitar cd espaço de trabalho. 155 00:07:34,310 --> 00:07:36,770 E é assim que você trabalha mudança de diretórios 156 00:07:36,770 --> 00:07:42,080 dentro do IDE CS50 ou qualquer Linux sistema operacional na linha de comando. 157 00:07:42,080 --> 00:07:42,580 Tudo certo. 158 00:07:42,580 --> 00:07:45,610 O próximo que pode vir a calhar é mkdir, 159 00:07:45,610 --> 00:07:48,709 que é curto para fazer um diretório, se eu preciso para criar uma nova pasta. 160 00:07:48,709 --> 00:07:50,750 Se você estiver familiarizado com o sistema operativo GUI, 161 00:07:50,750 --> 00:07:51,820 você pode clicar com o botão direito. 162 00:07:51,820 --> 00:07:54,500 E então, quando o menu de contexto aparece, selecione Nova Pasta. 163 00:07:54,500 --> 00:07:56,250 Isso é provavelmente como Você já fez isso antes. 164 00:07:56,250 --> 00:08:00,979 Mas também podemos criar diretórios na linha de comando. 165 00:08:00,979 --> 00:08:02,020 Então, nós estamos de volta no IDE. 166 00:08:02,020 --> 00:08:08,020 Vou zoom-in no terminal e listar o conteúdo de meu diretório 167 00:08:08,020 --> 00:08:11,882 novamente, apenas para nos dar um quadro de referência. 168 00:08:11,882 --> 00:08:14,340 Vamos dizer que, agora, eu tenho terminar de trabalhar em conjunto de problemas 0 169 00:08:14,340 --> 00:08:15,580 e conjunto de problemas 1. 170 00:08:15,580 --> 00:08:19,390 Então, eu quero criar um novo diretório para trabalhar em conjunto de problemas para 2. 171 00:08:19,390 --> 00:08:20,420 Como faço isso? 172 00:08:20,420 --> 00:08:24,132 >> Bem, mais uma vez, eu poderia clicar com o botão direito no lado esquerdo lá e escolha Nova pasta 173 00:08:24,132 --> 00:08:25,340 e criar um diretório pset2. 174 00:08:25,340 --> 00:08:26,240 Que iria trabalhar muito. 175 00:08:26,240 --> 00:08:28,615 Mas então eu também fazê-lo no linha de comando muito rapidamente, 176 00:08:28,615 --> 00:08:35,049 digitando mkdir, eu espaço-- digitado em n, mas-- espaço pset2. 177 00:08:35,049 --> 00:08:38,659 Se eu pressione Enter e, em seguida, eu listar o conteúdo de meu diretório novo, 178 00:08:38,659 --> 00:08:40,710 Vejo que, olha, agora Eu tenho uma pasta pset2. 179 00:08:40,710 --> 00:08:43,110 E eu posso navegar em que o uso de cd e fazer 180 00:08:43,110 --> 00:08:45,614 todo o trabalho que eu preciso fazer para pset2. 181 00:08:45,614 --> 00:08:48,530 Aliás, eu vou pop aqui realmente rapidamente para a árvore de arquivos. 182 00:08:48,530 --> 00:08:53,494 E você pode ver que, também, em a gráfica File Explorer, 183 00:08:53,494 --> 00:08:56,160 podemos ver que o diretório pset2 Também foi criado lá. 184 00:08:56,160 --> 00:08:58,537 E eu posso navegar até ele, usando a GUI também. 185 00:08:58,537 --> 00:09:00,870 A próxima vez e isso é provavelmente vai vir a calhar 186 00:09:00,870 --> 00:09:03,650 é cp, que é curto para a cópia. 187 00:09:03,650 --> 00:09:06,960 Copiar, ao contrário de todos os outros comandos que já vimos antes, 188 00:09:06,960 --> 00:09:11,800 recebe dois argumentos, uma fonte, o nome do arquivo que você deseja copiar, 189 00:09:11,800 --> 00:09:15,810 e um destino, onde você deseja copiar o arquivo. 190 00:09:15,810 --> 00:09:19,490 É muito fácil de copiar um arquivo, então vamos fazer isso. 191 00:09:19,490 --> 00:09:20,640 >> Então, nós estamos de volta no IDE. 192 00:09:20,640 --> 00:09:24,540 Vou listar o conteúdo do meu diretório atual com ls. 193 00:09:24,540 --> 00:09:28,310 Agora, vamos dizer que eu quero para fazer uma cópia de hello.txt. 194 00:09:28,310 --> 00:09:32,120 Mais uma vez, a partir da árvore de arquivos no à esquerda, a interface gráfica, 195 00:09:32,120 --> 00:09:35,969 Eu poderia clicar com o botão direito em hello.txt, fazer uma cópia, colar a cópia. 196 00:09:35,969 --> 00:09:38,260 Mas eu posso fazer isso muito rapidamente na linha de comando também. 197 00:09:38,260 --> 00:09:42,520 >> Vamos dizer que eu quero copiar hello.txt para hi.txt. 198 00:09:42,520 --> 00:09:45,850 Eu posso cp, espaço, hello.txt. 199 00:09:45,850 --> 00:09:48,850 Esse é o meu arquivo de origem, então é por isso Eu vou escolher a em primeiro lugar. 200 00:09:48,850 --> 00:09:51,058 E então eu preciso nomear o arquivo de destino, hi.txt. 201 00:09:51,058 --> 00:09:53,690 202 00:09:53,690 --> 00:09:54,620 Eu pressione Enter. 203 00:09:54,620 --> 00:09:57,930 E se eu listar o conteúdo de minha diretório, novamente, há hi.txt. 204 00:09:57,930 --> 00:09:59,220 Fiz uma cópia do mesmo. 205 00:09:59,220 --> 00:10:01,090 E, na verdade, se eu fosse em hi.txt, eu poderia 206 00:10:01,090 --> 00:10:04,030 ver que seria uma exata duplicar de tudo o que 207 00:10:04,030 --> 00:10:08,330 existia no meu arquivo hello.txt. 208 00:10:08,330 --> 00:10:09,790 >> Então é assim que você copiar um arquivo. 209 00:10:09,790 --> 00:10:12,680 Mas e se você quiser copiar um diretório inteiro? 210 00:10:12,680 --> 00:10:16,510 Então, por um segundo, vamos dar uma olhada o que está em meu diretório pset0. 211 00:10:16,510 --> 00:10:23,950 Se eu cd pset0 e listar o conteúdo, Eu tenho um diretório chamado, amostra, 212 00:10:23,950 --> 00:10:26,252 e um arquivo de zero, scratch.sb2. 213 00:10:26,252 --> 00:10:27,210 Então, isso é bom saber. 214 00:10:27,210 --> 00:10:29,800 Então, vamos limpar a tela, e eu estou indo para voltar 215 00:10:29,800 --> 00:10:32,870 para o meu diretório do espaço de trabalho para um segundo. 216 00:10:32,870 --> 00:10:36,630 >> Vamos dizer que, agora, eu quero fazer uma cópia do meu diretório pset0. 217 00:10:36,630 --> 00:10:42,940 Eu não posso apenas dizer cp pset0 pset3, por exemplo. 218 00:10:42,940 --> 00:10:46,220 Você receberá esta mensagem de estranho, omitindo diretório pset0. 219 00:10:46,220 --> 00:10:47,439 Por que você obter essa mensagem? 220 00:10:47,439 --> 00:10:49,730 Bem, acontece que, quando você tem um diretório que 221 00:10:49,730 --> 00:10:53,150 tem outras coisas para dentro dele, o comando cp realmente não 222 00:10:53,150 --> 00:10:55,590 necessariamente sabem o que fazer com ele. 223 00:10:55,590 --> 00:10:59,670 >> Precisamos explicitamente dizer Linux, o terminal, 224 00:10:59,670 --> 00:11:03,720 Eu quero que você copiar o diretório pset0 e cópia 225 00:11:03,720 --> 00:11:07,530 cada pasta que existe no interior dele e de todos os arquivos 226 00:11:07,530 --> 00:11:08,750 existe dentro dele. 227 00:11:08,750 --> 00:11:13,270 Em outras palavras, eu preciso de você para recursivamente mergulhar em pset0 228 00:11:13,270 --> 00:11:15,660 e faça uma cópia de tudo lá dentro. 229 00:11:15,660 --> 00:11:25,280 >> Se eu quiser fazer isso, o que posso fazer é cp-r, para recursivo, pset3 pset0. 230 00:11:25,280 --> 00:11:26,850 Pressione Enter. 231 00:11:26,850 --> 00:11:29,290 Agora, se eu listar o conteúdo do meu diretório, 232 00:11:29,290 --> 00:11:32,180 Eu vejo há o pset3 diretório que eu possa trabalhar. 233 00:11:32,180 --> 00:11:36,990 E se cd I em pset3 agora e em seguida, listar o conteúdo, olhe, 234 00:11:36,990 --> 00:11:39,594 há amostra e scratch.sb2 novamente. 235 00:11:39,594 --> 00:11:40,510 Então, isso é muito legal. 236 00:11:40,510 --> 00:11:43,819 Então é assim que você pode copiar um todo diretório, e não apenas um único arquivo. 237 00:11:43,819 --> 00:11:45,860 Então, se você quiser copiar um diretório, basta lembrar 238 00:11:45,860 --> 00:11:49,830 para usar o sinalizador -r quando você está trabalhando com o comando cp. 239 00:11:49,830 --> 00:11:50,330 Tudo certo. 240 00:11:50,330 --> 00:11:52,320 Então eu copiei um arquivo, mas Eu tenho feito isso por engano. 241 00:11:52,320 --> 00:11:53,695 E agora, eu quero me livrar dele. 242 00:11:53,695 --> 00:11:54,850 Como faço isso? 243 00:11:54,850 --> 00:11:56,830 Novamente, se você está familiarizado com uma interface GUI, 244 00:11:56,830 --> 00:11:58,310 você pode clicar com o botão direito e basta escolher Excluir. 245 00:11:58,310 --> 00:12:00,630 E vai enviá-lo para o lixo ou a Lixeira. 246 00:12:00,630 --> 00:12:03,320 Mas na linha de comando, nós pode simplesmente digitar rm, para remover, 247 00:12:03,320 --> 00:12:05,580 e, em seguida, o nome do arquivar queremos livrar. 248 00:12:05,580 --> 00:12:08,614 >> Agora, rm é muito cuidadoso. 249 00:12:08,614 --> 00:12:11,280 Ele faz um monte de duplo controlo, para se certificar de que você realmente 250 00:12:11,280 --> 00:12:12,377 quer deletar o arquivo. 251 00:12:12,377 --> 00:12:15,460 Ele não quer cometer erros, porque não há Lixeira aqui. 252 00:12:15,460 --> 00:12:17,010 Uma vez que excluir um arquivo, ele foi embora. 253 00:12:17,010 --> 00:12:18,710 E não há realmente nenhuma maneira de recuperá-lo. 254 00:12:18,710 --> 00:12:20,730 Então, precisamos ser bastante cuidado, e assim por rm 255 00:12:20,730 --> 00:12:23,110 vai ser muito cuidadosos para nós. 256 00:12:23,110 --> 00:12:27,120 >> Então, vamos voltar para o IDE e se livrar desse arquivo hi.txt 257 00:12:27,120 --> 00:12:29,640 que eu criei um minuto atrás com cópia. 258 00:12:29,640 --> 00:12:30,560 Então, nós estamos no IDE. 259 00:12:30,560 --> 00:12:33,180 E eu listar o conteúdo de meu diretório novamente, apenas para nos dar algum contexto. 260 00:12:33,180 --> 00:12:36,500 Quero dizer, você pode ver que há hi.txt, que eu criei um pouco atrás. 261 00:12:36,500 --> 00:12:38,196 Agora, eu quero me livrar dele. 262 00:12:38,196 --> 00:12:38,820 Como eu faço? 263 00:12:38,820 --> 00:12:39,810 >> Novamente, apenas rm. 264 00:12:39,810 --> 00:12:46,220 Então, eu posso digitar rm hi.txt e pressione Enter. 265 00:12:46,220 --> 00:12:47,970 E não estar rm muito cuidado para nós 266 00:12:47,970 --> 00:12:50,178 e certificando-se que, na verdade, deseja excluir este arquivo. 267 00:12:50,178 --> 00:12:52,784 Você realmente deseja remover regulares vazio hi.txt arquivo? 268 00:12:52,784 --> 00:12:55,200 Isso é apenas como um operacional sistema, como o Windows ou Mac, 269 00:12:55,200 --> 00:12:56,310 que você pode ser familiarizado com aparecendo 270 00:12:56,310 --> 00:12:58,770 que a caixa diz é você realmente certeza de que quer fazer isto. 271 00:12:58,770 --> 00:13:01,228 >> Eu tenho certeza que eu quero isso, então eu vou digitar, sim-- 272 00:13:01,228 --> 00:13:04,390 ou eu também poderia apenas escreva y-- e pressione Enter. 273 00:13:04,390 --> 00:13:08,620 E se eu listar o conteúdo de minha diretório novamente, hi.txt está desaparecido. 274 00:13:08,620 --> 00:13:10,000 Não é ruim, certo? 275 00:13:10,000 --> 00:13:12,410 Vamos pressione Control L, apenas para se livrar de todas essas coisas 276 00:13:12,410 --> 00:13:14,900 e levar-nos de volta ao a parte superior da tela. 277 00:13:14,900 --> 00:13:18,520 >> Ora, existe uma forma de rm curto-circuito, por isso, 278 00:13:18,520 --> 00:13:20,090 que ele não pedir-nos essa pergunta. 279 00:13:20,090 --> 00:13:22,060 Nós realmente queremos saber para se livrar desse arquivo, 280 00:13:22,060 --> 00:13:23,490 e nós nem sequer quero a ser feito a pergunta. 281 00:13:23,490 --> 00:13:24,720 Como fazemos isso? 282 00:13:24,720 --> 00:13:27,180 Bem, podemos especificar um bandeira extra, assim como nós 283 00:13:27,180 --> 00:13:30,400 fez com cp onde nós poderia adicionar a opção -r, 284 00:13:30,400 --> 00:13:32,800 para copiar recursivamente em um diretório. 285 00:13:32,800 --> 00:13:35,630 Há uma outra bandeira para rm, que é -f, 286 00:13:35,630 --> 00:13:39,470 que é para forçar rm para fazer exatamente o que estamos dizendo a ele para fazer. 287 00:13:39,470 --> 00:13:44,610 >> Então, vamos dizer que, agora, eu quero para se livrar do meu arquivo hello.txt. 288 00:13:44,610 --> 00:13:46,490 Eu não quero que qualquer um. 289 00:13:46,490 --> 00:13:47,370 O que posso fazer? 290 00:13:47,370 --> 00:13:54,710 Bem, eu posso rm hello.txt -f. 291 00:13:54,710 --> 00:13:57,530 O que você acha que é vai acontecer aqui? 292 00:13:57,530 --> 00:13:58,030 Foi-se. 293 00:13:58,030 --> 00:13:59,363 Nem sequer pedir-me a pergunta. 294 00:13:59,363 --> 00:14:03,600 E, de fato, se eu listar o conteúdo de meu diretório novo, ele foi embora. 295 00:14:03,600 --> 00:14:05,750 Não há nenhum undo aqui. 296 00:14:05,750 --> 00:14:09,554 hello.txt se foi, e eu não estava ainda perguntou se eu queria excluí-lo. 297 00:14:09,554 --> 00:14:11,595 E se eu quiser se livrar de todo um diretório? 298 00:14:11,595 --> 00:14:14,180 299 00:14:14,180 --> 00:14:17,039 A maneira como você fazer isso é muito semelhantes para copiar. 300 00:14:17,039 --> 00:14:19,080 Se você quiser excluir um diretório, você não apenas 301 00:14:19,080 --> 00:14:22,121 quer apagar o diretório, você quer para apagar tudo dentro dele. 302 00:14:22,121 --> 00:14:26,250 E para que você use -r, para recursivamente excluir um diretório. 303 00:14:26,250 --> 00:14:28,600 >> Então, vamos rm -r pset2. 304 00:14:28,600 --> 00:14:31,870 Eu não estou realmente trabalhando em pset2, para que eu possa me livrar desse diretório. 305 00:14:31,870 --> 00:14:33,040 Eu pressione Enter. 306 00:14:33,040 --> 00:14:35,050 Eu quero remover o diretório, pset2? 307 00:14:35,050 --> 00:14:37,160 Sim. 308 00:14:37,160 --> 00:14:41,150 E se eu listar o conteúdo de meu diretório novo, ele foi embora. 309 00:14:41,150 --> 00:14:41,650 Tudo certo? 310 00:14:41,650 --> 00:14:43,739 >> Mais uma variação sobre este tema. 311 00:14:43,739 --> 00:14:46,280 Então, eu vou limpar a tela novamente, para colocar tudo no topo. 312 00:14:46,280 --> 00:14:47,420 Hit ls. 313 00:14:47,420 --> 00:14:49,890 Agora, eu quero me livrar de meu diretório pset3, 314 00:14:49,890 --> 00:14:52,810 e eu realmente sei que eu quero se livrar do meu diretório pset3. 315 00:14:52,810 --> 00:15:00,120 Eu posso de forma recursiva e forçosamente remover meu diretório pset3. 316 00:15:00,120 --> 00:15:03,900 >> Agora, você vai ser realmente cuidado quando você estiver usando rm -rf. 317 00:15:03,900 --> 00:15:06,784 Como você programar mais, vai ser algo que você acabou de fazer muito rapidamente. 318 00:15:06,784 --> 00:15:08,200 E, de fato, eu faço isso o tempo todo. 319 00:15:08,200 --> 00:15:10,380 Mas isso pode levar a alguma conseqüências desastrosas, 320 00:15:10,380 --> 00:15:12,340 se você acidentalmente excluir a coisa errada. 321 00:15:12,340 --> 00:15:15,089 Então, eu quero que você esteja ciente de que esta é uma opção disponível para você, 322 00:15:15,089 --> 00:15:17,220 mas usá-lo com moderação, e usá-lo com cautela. 323 00:15:17,220 --> 00:15:20,910 >> Eu sei para um fato que eu não estou trabalhando no meu conjunto de problemas 3 anymore, assim que eu sou 324 00:15:20,910 --> 00:15:22,550 vai se livrar de todos esses arquivos. 325 00:15:22,550 --> 00:15:26,420 E eu sei que eu não quero ser solicitado a cada momento, se eu quiser excluir 326 00:15:26,420 --> 00:15:30,640 um arquivo, por isso estou indo para rm-rf pset3. 327 00:15:30,640 --> 00:15:32,640 Nem sequer me perguntar se eu queria se livrar dele. 328 00:15:32,640 --> 00:15:33,840 Eu bati ls. 329 00:15:33,840 --> 00:15:35,680 pset3 está desaparecido. 330 00:15:35,680 --> 00:15:39,730 Então, isso é todas as variações que você pode usar para se livrar de arquivos com rm. 331 00:15:39,730 --> 00:15:43,620 >> O comando de linha de comando que é passado vai muito úteis para você 332 00:15:43,620 --> 00:15:46,391 é mv, que é curto para o movimento. 333 00:15:46,391 --> 00:15:48,960 Movimento é basicamente equivalente a renomear. 334 00:15:48,960 --> 00:15:53,870 Ele move um arquivo de um local para outro, a fonte para o destino. 335 00:15:53,870 --> 00:15:59,400 Vamos ver onde usando um movimento poder ser útil na janela de terminal. 336 00:15:59,400 --> 00:16:02,070 >> Então, eu estou no meu pset1 diretório, e tenho notado 337 00:16:02,070 --> 00:16:03,860 algo deu um pouco errado. 338 00:16:03,860 --> 00:16:08,620 Eu estava trabalhando no meu problema ganancioso, mas eu acidentalmente nomeou-greddy. 339 00:16:08,620 --> 00:16:11,380 Então, quando eu tentar executá-lo através check50, ele realmente não funciona. 340 00:16:11,380 --> 00:16:12,630 Eu tenho um par de opções. 341 00:16:12,630 --> 00:16:16,220 Nós poderíamos fazer o que nós fizemos antes, que é fazer uma cópia do arquivo. 342 00:16:16,220 --> 00:16:23,960 Eu poderia copiar greddy.c para greedy.c, certo? 343 00:16:23,960 --> 00:16:25,580 Pressione Enter. 344 00:16:25,580 --> 00:16:28,180 Eu vejo que ambos os arquivos estão lá. 345 00:16:28,180 --> 00:16:36,337 E então eu poderia rm, para remover, greddy.c. 346 00:16:36,337 --> 00:16:37,170 Que se livrar dela. 347 00:16:37,170 --> 00:16:40,920 Assim que iria trabalhar, depois que eu confirmo que eu quero me livrar dele. 348 00:16:40,920 --> 00:16:44,770 E eu efetivamente têm greddy.c renomeado para greedy.c. 349 00:16:44,770 --> 00:16:48,460 Copiei-lo e, em seguida removido o original. 350 00:16:48,460 --> 00:16:50,170 >> Mas isso é um processo de várias etapas. 351 00:16:50,170 --> 00:16:51,670 E, certamente, há uma maneira melhor. 352 00:16:51,670 --> 00:16:52,420 Na verdade, não existe. 353 00:16:52,420 --> 00:16:55,810 Então, vamos bater Controle L, apenas para trazer isso de volta para cima, 354 00:16:55,810 --> 00:16:58,680 e listar o conteúdo de meu diretório novo. 355 00:16:58,680 --> 00:17:00,350 >> Então, vamos dizer, oh, eu cometi um erro. 356 00:17:00,350 --> 00:17:03,470 Na verdade, eu realmente queria para chamar esse arquivo greddy.c. 357 00:17:03,470 --> 00:17:11,369 De uma só vez, eu posso digitar mover greedy.c para greddy.c. 358 00:17:11,369 --> 00:17:12,470 Pressione Enter. 359 00:17:12,470 --> 00:17:15,210 E agora, eu não tenho para copiar e removê-lo, 360 00:17:15,210 --> 00:17:16,880 Eu só foi capaz de mudar o nome. 361 00:17:16,880 --> 00:17:18,710 One-stop shopping. 362 00:17:18,710 --> 00:17:21,160 >> Agora, há um monte de outras utilidades básicas de linha de comando 363 00:17:21,160 --> 00:17:22,640 que você pode usar com a linha de comando do Linux. 364 00:17:22,640 --> 00:17:24,990 E nós estaremos discutindo um monte deles no futuro, em CS50. 365 00:17:24,990 --> 00:17:27,948 Mas, por agora, apenas começando seus pés molhada com o trabalho com este terminal 366 00:17:27,948 --> 00:17:30,540 ambiente, estes cinco comandos deverá fazê-lo muito longe 367 00:17:30,540 --> 00:17:34,990 em navegar ao redor e trabalhar com arquivos em seu IDE 368 00:17:34,990 --> 00:17:37,770 ou em qualquer baseado em Linux sistema operacional que você está usando. 369 00:17:37,770 --> 00:17:40,580 >> Se você está curioso e quiser olhar para frente um pouco em algum 370 00:17:40,580 --> 00:17:43,420 dos comandos de linha de comando vamos usar no futuro, 371 00:17:43,420 --> 00:17:46,930 aqui está uma lista de um casal dos mais comuns. 372 00:17:46,930 --> 00:17:47,820 Eu sou Doug Lloyd. 373 00:17:47,820 --> 00:17:49,860 Este é CS50. 374 00:17:49,860 --> 00:17:52,598