@@ -31,8 +31,8 @@ with the operating system of a computer.
31
31
32
32
---
33
33
34
- Aquí, aprenderemos sobre el _ shell_ , que es una interfaz basada en comandos para
35
- interactuar con el sistema operativo de una computadora.
34
+ Aquí, aprenderemos sobre el _ shell_ , que es una interfaz basada en comandos
35
+ para interactuar con el sistema operativo de una computadora.
36
36
37
37
## Open a terminal | Abrir una terminal
38
38
@@ -72,13 +72,14 @@ if you want to change from one application to another, it's much faster to hit
72
72
to go find the other application window.
73
73
74
74
Commands tend to be terse to the point of being cryptic, not that different
75
- from texting shorthand: instead of brb or ttyl, it's ` cd ` (change directory) or ` rm ` (remove).
76
- And it's done for the same reason: speed.
77
-
78
- Commands can also be gathered into _ scripts_ that can be executed as a single unit.
79
- With a script, you can automate a repetitive task.
80
- Scripts are marvelous for data processing pipelines, and can improve reproducibility.
81
- We won't cover scripting here, but there's more information in Software Carpentry's
75
+ from texting shorthand: instead of brb or ttyl, it's ` cd ` (change directory) or
76
+ ` rm ` (remove). And it's done for the same reason: speed.
77
+
78
+ Commands can also be gathered into _ scripts_ that can be executed as a single
79
+ unit. With a script, you can automate a repetitive task.
80
+ Scripts are marvelous for data processing pipelines, and can improve
81
+ reproducibility. We won't cover scripting here, but there's more information in
82
+ Software Carpentry's
82
83
[ The Unix Shell] ( https://swcarpentry.github.io/shell-novice/ ) lesson, on which
83
84
this lesson is based.
84
85
@@ -87,17 +88,18 @@ this lesson is based.
87
88
Porque funciona realmente bien.
88
89
89
90
Cuando utilizas los comandos de shell en una terminal, puedes realizar tareas
90
- específicas del sistema de archivos (mover, copiar, renombrar, eliminar archivos
91
- y directorios) mucho más rápido y eficientemente que con una aplicación gráfica.
91
+ específicas del sistema de archivos (mover, copiar, renombrar, eliminar
92
+ archivos y directorios) mucho más rápido y eficientemente que con una
93
+ aplicación gráfica.
92
94
93
95
Por analogía, piensa en los atajos de teclado en su computadora:
94
96
si desea cambiar de una aplicación a otra, es mucho más rápido presionar
95
- ` Cmd-Tab ` (en macOS; ` Alt-Tab ` en Linux y Windows) que usar un mouse para buscar
96
- la ventana de la otra aplicación.
97
+ ` Cmd-Tab ` (en macOS; ` Alt-Tab ` en Linux y Windows) que usar un mouse para
98
+ buscar la ventana de la otra aplicación.
97
99
98
100
Los comandos tienden a ser concisos hasta el punto de ser crípticos, no tan
99
- diferentes de los mensajes de texto abreviados: en lugar de tkm (te quiero mucho)
100
- o tmb (también), es ` cd ` (cambiar de directorio) o ` rm ` (remover).
101
+ diferentes de los mensajes de texto abreviados: en lugar de tkm (te quiero
102
+ mucho) o tmb (también), es ` cd ` (cambiar de directorio) o ` rm ` (remover).
101
103
Y se hace por la misma razón: la velocidad.
102
104
103
105
Los comandos también se pueden agrupar en _ scripts_ que se pueden ejecutar como
@@ -144,7 +146,8 @@ Este proceso se repite cada vez que ingresamos un comando.
144
146
Information on a computer is stored in files and directories.
145
147
The part of an operating system that handles this information is called the
146
148
_ filesystem_ .
147
- Think of the filesystem as a tree with branches (directories) and leaves (files).
149
+ Think of the filesystem as a tree with branches (directories) and leaves
150
+ (files).
148
151
149
152
Let's find out where we are in the filesystem when we start a terminal:
150
153
@@ -153,18 +156,20 @@ Let's find out where we are in the filesystem when we start a terminal:
153
156
La información en una computadora se almacena en archivos y directorios.
154
157
La parte del sistema operativo que maneja esta información se llama
155
158
_ sistema de archivos_ (filesystem).
156
- Piense en el sistema de archivos como un árbol con ramas (directorios) y hojas (archivos).
159
+ Piense en el sistema de archivos como un árbol con ramas (directorios) y hojas
160
+ (archivos).
157
161
158
- Averigüemos dónde estamos en el sistema de archivos cuando iniciamos una terminal:
162
+ Averigüemos dónde estamos en el sistema de archivos cuando iniciamos una
163
+ terminal:
159
164
160
165
```
161
166
$ pwd
162
167
/home/jupyter-mpiper
163
168
```
164
169
165
170
The ` pwd ` command prints the current directory to the terminal.
166
- You can see that I'm in the directory ` jupyter-mpiper ` under the directory ` home ` .
167
- The forward slash ` / ` is used as a delimiter between directory names.
171
+ You can see that I'm in the directory ` jupyter-mpiper ` under the directory
172
+ ` home ` . The forward slash ` / ` is used as a delimiter between directory names.
168
173
169
174
This directory, ` /home/jupyter-mpiper ` , is special--it's the _ home directory_
170
175
for the user ` jupyter-mpiper ` .
@@ -176,14 +181,15 @@ the home directory on a macOS or Windows machine will be slightly different.
176
181
177
182
---
178
183
179
- El comando ` pwd ` imprime en la terminal el directorio donde se encuentra actualmente.
180
- Puedes ver que estamos en el directorio ` jupyter-mpiper ` debajo del directorio ` home ` .
181
- La barra inclinada ` / ` se utiliza como delimitador entre los nombres de los directorios.
184
+ El comando ` pwd ` imprime en la terminal el directorio donde se encuentra
185
+ actualmente. Puedes ver que estamos en el directorio ` jupyter-mpiper ` debajo
186
+ del directorio ` home ` . La barra inclinada ` / ` se utiliza como delimitador entre
187
+ los nombres de los directorios.
182
188
183
189
Este directorio ` /home/jupyter-mpiper ` es especial. Éste es la
184
190
_ carpeta de usuario_ para el usuario ` jupyter-mpiper ` .
185
- Cada usuario tiene una _ carpeta de usuario_ propia, que es la ubicación predeterminada
186
- para crear y almacenar información.
191
+ Cada usuario tiene una _ carpeta de usuario_ propia, que es la ubicación
192
+ predeterminada para crear y almacenar información.
187
193
188
194
Tenga en cuenta que en este caso se ejecuta este comando en JupyterHub,
189
195
que ejecuta Linux; la carpeta de usuario en una máquina macOS o Windows será
@@ -219,30 +225,36 @@ Por ejemplo, para ver el contenido del directorio **CoCoLessons**, escriba:
219
225
220
226
```
221
227
$ ls CoCoLessons
222
- data coco_3_matplotlib.ipynb CONTRIBUTING.md README.md
223
- media coco_4_functions_and_more.ipynb CREDITS.md
224
- coco_1_coding_environment.md coco_5_pandas.ipynb environment.yaml
225
- coco_2_python_basics.ipynb CODE-OF-CONDUCT.md LICENSE.md
228
+ 01_coding_environment.md CONTRIBUTING.md
229
+ 02_shell.md CREDITS.md
230
+ 03_git_part_1.md LICENSE
231
+ 04_intro_to_python_numpy.ipynb README.md
232
+ 05_matplotlib.ipynb data
233
+ 06_loops_if_functions.ipynb environment.yml
234
+ 07_pandas.ipynb media
235
+ CODE-OF-CONDUCT.md
226
236
```
227
237
228
- You can see the CoCo lesson files that have been added to the JupyterHub.
229
- We can drill further; for example, to see into the directory containing data files:
238
+ You can see the CoCo lesson files that have been added to the JupyterHub. We
239
+ can drill further; for example, to see into the directory containing data
240
+ files:
230
241
231
242
---
232
243
233
244
Puede ver los archivos de las lecciones de CoCo se agregaron a JupyterHub.
234
- Podemos indagar más; por ejemplo, para ver el contenido del directorio llamado ` data ` :
245
+ Podemos indagar más; por ejemplo, para ver el contenido del directorio llamado
246
+ ` data ` :
235
247
236
248
```
237
- $ ls CoCoLessons/data
238
- RPC_4_lithologies_Messy.csv south-africa-topography.nc.xz temperature-central-park.dat
239
- hawaii-profile.csv temperature-berkeley.dat winemag-data-130k-v2.csv
249
+ $ ls CoCoLessons/data RPC_4_lithologies_Messy.csv
250
+ south-africa-topography.nc.xz temperature-central-park.dat hawaii-profile.csv
251
+ temperature-berkeley.dat winemag-data-130k-v2.csv
240
252
```
241
253
242
254
## Changing directories | Cambiando directorios
243
255
244
- Although we've peered into the directory of sample files, we remain in the home directory.
245
- To change directories, use the ` cd ` command:
256
+ Although we've peered into the directory of sample files, we remain in the home
257
+ directory. To change directories, use the ` cd ` command:
246
258
247
259
---
248
260
@@ -283,21 +295,22 @@ To switch to the previous directory, use a dash `-`:
283
295
284
296
Sin argumentos, ` cd ` siempre regresa a su carpeta de usuario.
285
297
286
- El comando ` cd ` también puede tomar un conjunto de caracteres especiales como argumentos.
287
- Para cambiar al directorio anterior, use un guión ` - ` :
298
+ El comando ` cd ` también puede tomar un conjunto de caracteres especiales como
299
+ argumentos. Para cambiar al directorio anterior, use un guión ` - ` :
288
300
289
301
```
290
302
$ cd -
291
303
/home/jupyter-mpiper/CoCoLessons
292
304
```
293
305
294
- When working with directories, a dot ` . ` is a shortcut for the current directory,
295
- while two dots ` .. ` are a shortcut for the parent directory:
306
+ When working with directories, a dot ` . ` is a shortcut for the current
307
+ directory, while two dots ` .. ` are a shortcut for the parent directory:
296
308
297
309
---
298
310
299
311
Cuando se trabaja con directorios, un punto ` . ` es un atajo para el directorio
300
- actual, mientras que dos puntos ` .. ` son un atajo para el directorio-padre (_ parent directory_ ):
312
+ actual, mientras que dos puntos ` .. ` son un atajo para el directorio-padre
313
+ (_ parent directory_ ):
301
314
302
315
```
303
316
$ cd .
@@ -320,19 +333,46 @@ $ pwd
320
333
/home/jupyter-mpiper
321
334
```
322
335
336
+ ### Formative assessment 1
337
+
338
+ If your current directory is the ** CoCoLessons** directory,
339
+ how can you get a directory listing for the ** data** subdirectory?
340
+
341
+ 1 . ` ls data `
342
+ 1 . ` ls ./data `
343
+ 1 . ` ls ../CoCoLessons/data `
344
+ 1 . ` ls ~/CoCoLessons/data `
345
+ 1 . All of the above
346
+
347
+ Can you explain your answer?
348
+
349
+ ---
350
+
351
+ Si su directorio actual es el directorio ** CoCoLessons** ,
352
+ ¿Cómo puede obtener una lista de directorios para el subdirectorio ** datos** ?
353
+
354
+ 1 . ` ls datos `
355
+ 1 . ` ls./datos `
356
+ 1 . ` ls ../CoCoLessons/datos `
357
+ 1 . ` ls ~/CoCoLessons/datos `
358
+ 1 . Todo lo anterior
359
+
360
+ ¿Puedes explicar tu respuesta?
361
+
323
362
## Making a directory | Crear un directorio
324
363
325
364
From your home directory, use the ` mkdir ` command to make a new directory:
326
365
327
366
---
328
367
329
- Desde tu carpeta de usuario, usa el comando ` mkdir ` para crear un nuevo directorio:
368
+ Desde tu carpeta de usuario, usa el comando ` mkdir ` para crear un nuevo
369
+ directorio:
330
370
331
371
```
332
372
$ mkdir new
333
373
$ ls
334
- CoCoLessons bin bmi-topography espin projects tmp
335
- README.md bmi-geotiff data new scratch
374
+ CoCoLessons bin bmi-topography espin projects tmp
375
+ README.md bmi-geotiff data new scratch
336
376
```
337
377
338
378
Change to the new directory and get a listing:
@@ -373,8 +413,9 @@ Note that the copy and the original both exist, and are the same:
373
413
---
374
414
375
415
Aquí, le indicamos al comando ` cp ` que subiera un directorio y fuera al
376
- directorio ** CoCoLessons** para obtener un archivo y copiarlo en el directorio actual.
377
- Tenga en cuenta que la copia y el original existen y tiene el mismo contenido:
416
+ directorio ** CoCoLessons** para obtener un archivo y copiarlo en el directorio
417
+ actual. Tenga en cuenta que la copia y el original existen y tiene el mismo
418
+ contenido:
378
419
379
420
```
380
421
$ $ diff -s README.md ../CoCoLessons/README.md
@@ -402,15 +443,15 @@ Let's move **readme.md** up to the home directory:
402
443
403
444
---
404
445
405
- El comando ` mv ` también se puede usar para mover un archivo de una ubicación a otra.
406
- Movamos ** readme.md** hasta la carpeta de usuario:
446
+ El comando ` mv ` también se puede usar para mover un archivo de una ubicación a
447
+ otra. Movamos ** readme.md** hasta la carpeta de usuario:
407
448
408
449
```
409
450
$ mv readme.md ~
410
451
$ ls
411
452
$ ls ~
412
- CoCoLessons bin bmi-topography espin projects scratch
413
- README.md bmi-geotiff data new readme.md tmp
453
+ CoCoLessons bin bmi-topography espin projects scratch
454
+ README.md bmi-geotiff data new readme.md tmp
414
455
```
415
456
416
457
Note that the ** new** directory is now empty because ** readme.md** has been
@@ -428,7 +469,8 @@ Ten en cuenta que el directorio **new** ahora está vacío porque **readme.md**
428
469
se ha movido a la carpeta de usuario.
429
470
¡También ten en cuenta que ** README.md** y ** readme.md** en la carpeta de
430
471
usuario son archivos diferentes!
431
- Los sistemas de archivos en Linux y macOS distinguen entre mayúsculas y minúsculas.
472
+ Los sistemas de archivos en Linux y macOS distinguen entre mayúsculas y
473
+ minúsculas.
432
474
433
475
Los archivos se pueden eliminar con el comando ` rm ` .
434
476
Elimina nuestro archivo ** readme.md** con:
@@ -446,6 +488,18 @@ Once a file is removed, it's gone, irrevocably.
446
488
No existe el concepto de "papelera" o "papelera de reciclaje" en el shell.
447
489
Una vez que se elimina un archivo, desaparece irrevocablemente.
448
490
491
+ ### Formative assessment 2
492
+
493
+ The ** data** subdirectory of the ** CoCoLessons** directory
494
+ contains several files.
495
+ Can you think of a way to copy all the files in a directory?
496
+
497
+ ---
498
+
499
+ El subdirectorio ** data** del directorio ** CoCoLessons** contiene varios
500
+ archivos. ¿Puedes pensar en una manera de copiar todos los archivos en un
501
+ directorio?
502
+
449
503
## Removing a directory | Eliminar un directorio
450
504
451
505
As a last step, let's delete the ** new** directory:
@@ -457,8 +511,8 @@ Como último paso, eliminemos el directorio **new**:
457
511
```
458
512
$ rmdir new
459
513
$ ls
460
- CoCoLessons bin bmi-topography espin scratch
461
- README.md bmi-geotiff data projects tmp
514
+ CoCoLessons bin bmi-topography espin scratch
515
+ README.md bmi-geotiff data projects tmp
462
516
```
463
517
464
518
As ` rm ` removes files, the ` rmdir ` command removes directories.
@@ -469,13 +523,28 @@ However, the directory must be empty before it can be removed.
469
523
Como ` rm ` elimina archivos, el comando ` rmdir ` elimina directorios.
470
524
Sin embargo, el directorio debe estar vacío antes de poder eliminarlo.
471
525
526
+ ### Formative assessment 3
527
+
528
+ Given that directory must be empty before it can be removed,
529
+ can you think of a way to remove all the files in a directory?
530
+ Alternately, is there a way to remove a directory even if it contains files?
531
+
532
+ ---
533
+
534
+ Dado que el directorio debe estar vacío antes de poder eliminarlo,
535
+ ¿Se te ocurre alguna forma de eliminar todos los archivos de un directorio?
536
+ Alternativamente, ¿hay alguna forma de eliminar un directorio incluso si
537
+ contiene archivos?
538
+
472
539
## Summary | Resumen
473
540
474
- The table below summarizes the commands and special characters described in this lesson.
541
+ The table below summarizes the commands and special characters described in
542
+ this lesson.
475
543
476
544
---
477
545
478
- La siguiente tabla resume los comandos y caracteres especiales descritos en esta lección.
546
+ La siguiente tabla resume los comandos y caracteres especiales descritos en
547
+ esta lección.
479
548
480
549
| Command/Comando | Description / Descripción |
481
550
| --------------- | ------------------------------------------------------------------------- |
@@ -533,3 +602,4 @@ Estas son herramientas que usaremos en todo CoCo,
533
602
¡así que el trabajo que haces ahora valdrá la pena más tarde!
534
603
535
604
<!-- Links, by alpha -->
605
+ ```
0 commit comments