Está en la página 1de 572

La línea de comandos de Linux

Segunda edición del Internet

William E. Shotts, Jr.

Un libro LinuxCommand.org

Excepto cuando se indique lo contrario, este trabajo es bajo licencia

Copyright © 2008-2013, William E. Shotts, Jr.

Esta obra está bajo la licencia Creative Commons Reconocimiento-No comercial-Sin obras derivadas 3.0 Licencia de Estados Unidos. Para ver una copia de esta licencia, visite el enlace de arriba o enviar una carta a Creative Commons, 171 Segunda Calle, Suite 300, San Francisco, California, 94105, EE.UU

Linux® es la marca registrada de Linus Torvalds. Todas las demás marcas comerciales pertenecen a sus respectivos propietarios.

Este libro forma parte del proyecto LinuxCommand.org, un sitio para la educación y la promoción dedicada a ayudar a los usuarios de sistemas operativos Linux heredados migran hacia el futuro. Usted puede ponerse en contacto con el proyecto en LinuxCommand.org http://linuxcommand.org.

Este libro también está disponible en forma impresa, publicada por Sin Almidón de prensa y se pueden comprar donde quiera buenos libros se venden. Sin Almidón de prensa también ofrece este libro en formato electrónico para los lectores electrónicos más populares:

http://nostarch.com/tlcl.htm Historial de versiones

Versión

Fecha

Descripción

13.07

06

de julio 2013

Segunda edición Internet.

09.12

14

de diciembre 2009

Primera edición Internet.

09.11

19

de noviembre 2009

 
 

Cuarto proyecto con retroalimentación casi todo revisor incorporado y editado hasta el capítulo 37.

09.10

03

de octubre 2009

 
 

Tercer proyecto con formato de tabla revisada, la aplicación parcial de los colaboradores de retroalimentación y editado hasta el capítulo 18.

09.08

12

de agosto 2009

 
 

Segundo proyecto de incorporación de la primera pasada edición.

09.07

18

de julio 2009

Completado el primer borrador.

Tabla de contenido

xvi

¿Por qué utilizar la línea de comandos?

xvi

Lo que trata este libro

xvii

Quién debe leer este libro

xvii

¿Qué hay en este libro

xviii

Cómo leer este libro

xviii

Requisitos previos

xix

¿Por qué no lo llaman "GNU / Linux"

xix

Agradecimientos

xx

Su regeneración es necesaria!

xx

¿Qué hay de nuevo en la segunda edición del Internet

xxi

Lectura adicional

xxi

Colofón

xxi

Parte 1 - Aprender La Shell

1

1 - ¿Cuál es la cáscara

2

Los emuladores de terminal

2

Sus primeras pulsaciones de teclas

2

Histórico de comandos

3

Movimiento del cursor

3

Algunas palabras sobre ratones y enfoque

3

Pruebe algunos comandos simples

4

Poner fin a una sesión de terminal

5

La Consola Detrás de la cortina

5

Resumiendo

5

Lectura adicional

6

2 - Navegación

7

Entender el archivo del árbol de sistemas

7

El directorio de trabajo actual

7

Añadir el contenido de un directorio

8

Cambiar el directorio de trabajo actual

9

Rutas absolutas

9

Rutas relativas

9

Algunos atajos útiles

11

Datos importantes sobre nombres de archivo

11

yo

Resumiendo

3 - Exploración del sistema

12

13

Más diversión con Is

13

Opciones y argumentos

14

Una mirada a más largo At Long Formato

16

Determinar el tipo de un archivo con el archivo

17

Viendo el contenido del archivo Con menos

17

¿Qué es el "texto"?

17

Menos es más

19

Una visita guiada

19

Enlaces simbólicos

23

Enlaces duros

24

Resumiendo

24

Lectura adicional

24

4 - Manipulación de archivos y

25

Los comodines Rangos de caracteres

25

27

Los comodines trabajar en la interfaz gráfica de usuario Demasiado

27

mkdir - Crea Directorios

28

cp - copia ficheros y directorios

28

Opciones útiles y ejemplos

29

mv

- Mover y renombrar archivos

30

Opciones útiles y ejemplos

30

rm

- Quitar los archivos y directorios

31

Opciones útiles y ejemplos

31

Tenga cuidado con rm!

32

ln - Crear enlaces

33

Enlaces duros

33

Enlaces simbólicos

33

Vamos a construir una Zona de juegos

34

Creación de directorios

34

Copia de archivos

34

Mover y renombrar archivos

35

Crear enlaces duros

37

La creación de enlaces simbólicos

38

La eliminación de archivos y directorios

39

La creación de enlaces simbólicos con la GUI

40

Resumiendo

41

Lectura adicional

41

5

- Trabajar con los comandos

42

¿Qué son exactamente los comandos?

42

La identificación de los comandos

43

Tipo - Muestra el tipo de un comando

43

que - Ubicación de la pantalla de un ejecutable

43

Obtención de documentación de un comando

44

ayuda - Obtener Ayuda Para Shell elementos incluídos

44

--help - Pantalla de información de uso

45

6

hombre - Muestra el Manual del Programa Una Página a propósito - Mostrar comandos apropiados whatis - Muestra una descripción muy breve de un comando El hombre más Brutal Página de todos ellos info - Muestra la información de entrada de un programa de README y otros archivos de documentación del programa Crear sus propios comandos con alias Resumiendo Lectura adicional

45

47

47

48

48

49

50

52

52

-

53

Estándar de entrada, salida y error Redirección de la salida estándar La reorientación de error estándar Redirección de la salida estándar y el error estándar en un archivo Cómo deshacerse de la producción no deseado / Dev / null En Unix Cultura Reorientación de la entrada estándar gato - Concatenar archivos Tuberías

53

54

55

56

57

57

57

57

59

 

La diferencia entre> y | Filtros Líneas Reportar u omitir Repetido - Uniq wc - Imprimir línea, palabra y Número total de bytes Líneas de impresión coinciden con un patrón - grep cabeza / cola - Imprimir Primera / última parte de Archivos tee - Leer de la entrada estándar y la salida a stdout y Archivos Resumiendo Linux es la imaginación

 

60

61

61

62

62

63

64

65

65

7

- Al ver el mundo como la Shell lo

67

Expansión La expansión del nombre de ruta La expansión del nombre de ruta Expansión Tilde Expansión aritmética Expansión Brace Expansión Parámetro Comando Sustitución Citando Doble Cotizaciones Soltero Cotizaciones Escapar Personajes Secuencias de escape barra diagonal inversa Resumiendo Lectura adicional

 

67

68

De

archivos ocultos 69

69

70

71

72

73

74

75

76

77

77

78

78

8

- Trucos avanzadas del teclado

79

De línea de comandos de edición

79

Movimiento del cursor

79

iii

Cortar y pegar (destruir y tirar) Texto

80

La tecla Meta

81

Terminación

81

Finalización programable

83

Uso del historial

83

Historia búsqueda

84

Historia de Expansión

86

guión

86

Resumiendo

86

Lectura adicional

87

9 - Permisos

88

Los propietarios, miembros del grupo, y todos los demás

89

La lectura, la escritura, y ejecución

90

chmod - Cambia el modo de archivo

92

¿Qué diablos es octal?

93

Ajuste de modo de archivo con la GUI

95

umask - Establecer permisos predeterminados

96

Algunos permisos especiales

98

Cambio de Identidades

99

do - Ejecutar un depósito de Sustituto de usuario e ID de grupo

99

sudo - ejecutar un comando como otro usuario

101

Ubuntu y sudo

101

chown - Cambiar propietario del archivo y de grupo

102

chgrp - Cambia Propiedad del Grupo

103

El ejercicio de nuestros privilegios

103

Cambio de la contraseña

106

Resumiendo

107

Lectura adicional

107

10 - Procesos

108

¿Cómo un proceso funciona

108

Visualización de Procesos

109

Viendo Procesos dinámicamente con la parte superior

111

El control de procesos

113

Interrupción de un proceso

114

Poner un proceso en segundo plano

114

Volviendo un proceso para el primer plano

115

Parada (pausa) Proceso A

116

Señales

117

El envío de señales a los procesos con kill

117

Envío de señales a múltiples procesos con killall

120

Más de procesos relacionados Comandos

120

Resumiendo

121

Parte 2 - Configuración y el medio ambiente

123

11

-

El

Medio

Ambiente.

124

IV

Examinar El Medio Ambiente

124

Algunas variables

interesantes

126

¿Cómo se establece el medio ambiente?

127

¿Qué hay en un archivo de inicio?

128

Modificar el entorno

130

Qué archivos deben Nosotros

Modificar?

 

130

Editores de texto

130

Utilizando un editor de texto

131

¿Por qué comentarios son importantes

134

Activación Nuestros Cambios

135

Resumiendo

135

Lectura adicional

135

12 - Una suave introducción a VI

136

¿Por qué debemos aprender vi

136

Un poco de historia

137

Inicio y detención de vi

137

Modo de compatibilidad

138

Modos de edición

139

Acceso al modo de inserción

140

Salvando Nuestro Trabajo

140

Moviendo el cursor por

141

Edición básica

142

Al añadir texto

142

La apertura de una línea

143

Eliminación de Texto

144

Cortar, copiar y pegar texto

145

Unirse Líneas

147

Buscar y reemplazar

147

Busca dentro de una línea

147

Busca el archivo completo

147

Búsqueda Global y reemplazo

148

Edición de varios archivos

150

Cambio entre archivos

151

Apertura de archivos adicional Para una edición

151

Copiar contenido de un archivo en otro

152

Inserción de un archivo completo en Otra

153

Salvando Nuestro Trabajo

154

Resumiendo

155

Lectura adicional

155

13 - Personalización de El

156

Anatomía de un Símbolo

156

Tratando algunos diseños alternativos Prompt

158

Añadiendo color

159

Confusión Terminal

160

Mover el cursor

162

Ahorro El Prompt

163

Resumiendo

164

Lectura adicional

Parte 3 - Tareas comunes y herramientas Esenciales

14 - Gestión de paquetes

164

165

166

Packaging Systems

166

Cómo funciona un sistema de paquetes

167

Package Files

167

Repositorios

167

Dependencias

168

Herramientas del paquete de alta y de baja intensidad

168

Tareas de administración de paquete común

169

Encontrar un paquete en un repositorio

169

Instalación de un paquete de un repositorio

169

Instalación de un paquete de un paquete de archivos

170

Eliminación de un paquete

170

Actualización de paquetes desde un repositorio

171

Actualización de un paquete desde un archivo de paquete

171

Listado de paquetes instalados

172

La determinación de si un paquete está instalado

172

Viendo Info Acerca de un paquete instalado

173

Encontrar a qué paquete instaló un archivo

173

Resumiendo

173

El mito de instalación del software de Linux

174

Lectura adicional

175

15 - Soporte de almacenamiento

176

Montaje y desmontaje de dispositivos de almacenamiento

176

Visualización de una lista de sistemas de archivos montados

178

¿Por qué es importante la Desmontando

181

Determinación de nombres de dispositivos

182

Creación de Nuevos Sistemas de archivos

185

Particiones Manipular con fdisk

185

La creación de un nuevo sistema de archivos Con mkfs

188

Prueba y reparación de sistemas de archivos

189

Lo que el fsck?

189

Formatear disquetes

189

Mover los datos directamente a / desde dispositivos

190

Creación de CD-ROM Imágenes

191

Creación de una imagen de copia de un CD-ROM

191

Creación de una imagen de una colección de archivos

191

Un Programa por cualquier otro nombre

192

Escribir CD-ROM Imágenes

192

Montaje de una imagen ISO directamente

192

Tapas de CD-ROM Un Re-grabable

193

Escribiendo Una Imagen

193

Resumiendo

193

Lectura adicional

193

Crédito extra

193

16

-

195

El examen y el seguimiento de una Red

196

de ping

196

traceroute

197

netstat

198

Transporte de archivos en una red

199

ftp

199

Iftp - A Better ftp

202

wget

202

Comunicación segura con hosts remotos

202

ssh

203

Con SSH Tunneling

206

SCP y SFTP

207

Un cliente SSH para Windows?

208

Resumiendo

208

Lectura adicional

208

17 - Búsqueda de archivos

209

Locate - Buscar archivos La Manera Más Fácil

209

¿De Dónde Viene La Base de Datos localizar viene?

211

Find - Buscar archivos The Hard Way

211

Pruebas

212

Operadores

214

Acciones predefinidas

217

Acciones definidas por el usuario

219

Mejora de la Eficiencia

220

xargs

220

Lidiando con divertidos nombres de archivo

221

Un retorno a la Zona de juegos

221

Opciones

224

Resumiendo

225

Lectura adicional

225

18 - Archivado y copia de

226

Compresión de Archivos

226

gzip

227

bzip2

229

No sea la compresión Compulsivo

230

Almacenamiento de archivos

230

alquitrán

230

cremallera

236

Sincronización de archivos y directorios

238

Usando rsync través de una red

240

Resumiendo

241

Lectura adicional

241

19 - Expresiones

243

¿Qué son las expresiones regulares?

243

grep

243

vii

El Cualquier carácter

246

Anclas

247

Un Crucigrama Helper

247

Expresiones soporte y Clases de personajes

248

Negación

248

Rangos de carácter tradicional

249

Clases de caracteres POSIX

250

Volviendo a la tradicional Colación Orden

253

POSIX básico vs. Expresiones regulares extendidas

254

POSIX

254

Alternancia

255

Cuantificadores

256

? - Un ajuste de cero elemento o Una Hora

256

* - Un ajuste de cero Elemento o más veces

257

+ - Un elemento de ajuste de una o más veces

258

{} - Partido Un elemento Un número específico de veces

258

Poner expresiones regulares para trabajar

259

La validación de una lista de teléfonos con grep

259

Encontrar nombres de archivo Feo con Buscar

260

La búsqueda de archivos con ubicar

261

Búsqueda de texto con menos y vim

261

Resumiendo

263

Lectura adicional

263

20 - Procesamiento de

264

 

Aplicaciones De Texto

264

Documentos

265

Páginas Web

265

Correo electrónico

265

Salida de impresora

265

Programa de Código Fuente

265

Revisando algunos viejos amigos

265

gato

266

MS-DOS Vs. Texto Unix Texto

267

clase

267

Uniq

275

Cortar y rebanar

276

cortada

276

Ampliación Tabs

279

pasta

280

unirse

281

La comparación de texto

283

comm

284

diff

284

parche

287

Edición On The Fly

288

tr

288

ROT13: El Anillo Decodificador No-Tan-Secreto

 

290

sed

290

vin

 

Personas que les gustased

también

te

guste

299

aspell

299

Resumiendo

303

Lectura adicional

303

Crédito extra

304

21 - Formato de salida

305

Herramientas de formato simple

305

nl - Líneas Número

305

doblar - Envuelva cada línea a una longitud especificada

309

fmt - Un formateador de texto sencillo

309

PR - formato de texto para impresión

313

printf - Formato Y Imprimir datos

314

Documento Sistemas de formato

317

Groff

318

Resumiendo

324

Lectura adicional

324

22 - Impresión

326

Una breve historia de la imprenta

326

Impresión En El Dim Tiempos

326

Impresoras basada en caracteres

327

Impresoras

gráficas

328

Impresión con Linux

329

Preparación de los ficheros para la impresión

329

PR - Convertir archivos de texto para impresión

329

El envío de un trabajo de impresión en una impresora

331

IPR - Imprimir archivos (Berkeley Estilo)

331

Ip - Imprimir archivos (System V Estilo)

332

Otra opción: a2ps

333

Seguimiento y control de los trabajos de impresión

336

lpstat - pantalla de estado del sistema de impresión

336

lpq - Pantalla de estado de la cola de la impresora

337

lprm / cancelar - Cancelar trabajos de impresión

338

Resumiendo

338

Lectura adicional

338

23 - Programas de

340

¿Qué está recopilando?

340

Se compilan todos los programas?

341

Compilar un programa en C

342

Obtención de El Código Fuente

342

Examinar el árbol de fuentes

344

La construcción de El Programa

346

Instalación del programa

350

Resumiendo

350

Lectura adicional

350

Parte 4 - Escribiendo Shell Scripts

24 - Escribir su primer

353

ix

354

¿Qué son los scripts del Shell?

354

Cómo escribir un Shell Script

354

Formato de archivo de secuencias de comandos

355

Permisos de ejecutables

356

Ubicación del archivo de secuencias de comandos

356

Buenas ubicaciones para Scripts

358

Más trucos de formato

358

Nombres opción larga

358

Sangría Y de continuación de línea

358

Configuración de vim para la escritura de guiones

359

Resumiendo

360

Lectura adicional

360

25 - Creación de un proyecto

361

Primera Etapa: Documento Mínimo

361

Segunda Etapa: Añadir un poco de datos

363

Variables y constantes

364

Asignación de valores a las variables y constantes

367

Aquí Documentos

368

Resumiendo

371

Lectura adicional

371

26 - Diseño Top-Down

372

Funciones de Shell

373

Variables Locales

376

Mantenga Scripts Ejecución

377

Funciones Shell en su .bashrc Archivo

380

Resumiendo

380

Lectura adicional

380

x

27 - Control de flujo: Bifurcaciones Con

si.

381

28

si

381

Estado de salida

382

prueba

384

Expresiones de archivos

384

Expresiones de Cuerda

387

Expresiones enteros

388

Una más moderna versión de prueba

389

(()) - Diseñado para los números enteros

391

Combinando las expresiones

392

Portabilidad es el duende de las mentes pequeñas

394

Los operadores de control: Otra forma de Rama

394

Resumiendo

395

Lectura adicional

396

- Lectura de entrada del teclado

397

leer - leer valores de la entrada estándar

398

Opciones

400

IFS

402

Usted no puede leer Pipe

404

Entrada de Validación Menús Resumiendo Crédito extra Lectura adicional

Entrada de Validación Menús Resumiendo Crédito extra Lectura adicional
Entrada de Validación Menús Resumiendo Crédito extra Lectura adicional
Entrada de Validación Menús Resumiendo Crédito extra Lectura adicional
Entrada de Validación Menús Resumiendo Crédito extra Lectura adicional

404

406

407

407

408

29 - Control de flujo: Looping Con tiempo / hasta

409

Looping

409

mientras

409

Salir de un bucle

412

hasta

413

Archivos de la lectura con Loops

414

Resumiendo

415

Lectura adicional

415

30 - Solución de

416

Los errores sintácticos

 

416

Falta Cotizaciones

417

Fichas faltan o inesperados

417

Expansiones

imprevistos

418

Errores lógicos

420

Programación Defensivo

420

Entrada de Verificación

422

El diseño es una función del tiempo

422

Pruebas

422

Casos de prueba

423

Depuración

424

Encontrar el área del problema

424

Rastreo

424

El examen de Valores durante la ejecución

427

Resumiendo

427

Lectura adicional

428

31 - Control de flujo: Bifurcaciones Con el

caso

429

429

Patrones

431

Realización de múltiples acciones

433

Resumiendo

434

Lectura adicional

434

32 - Parámetros

436

Cómo acceder a la línea de comandos

436

Determinar el número de argumentos

437

cambiar - Conseguir acceso a muchos argumentos

438

Aplicaciones sencillas

439

Uso de parámetros posicionales Con Funciones Shell

440

Manipulación de Parámetros posicionales En Masse

441

Una aplicación más completa Resumiendo Lectura adicional

xi

443

446

449

33

- Control de flujo: Con Looping para

450

por: Tradicional Forma Shell

450

¿Por qué yo?

452

por: Formulario C Idioma

453

Resumiendo

454

Lectura adicional

455

34 - Cadenas y números

456

Expansión Parámetro

456

Parámetros básicos

456

Expansiones para gestionar variables vacías

457

Las expansiones que devuelven nombres de variable

459

Operaciones de Cuerda

459

Caso Conversión

462

Evaluación aritmética y la expansión

464

Bases Número

465

Operadores unarios

465

Aritmética simple

465

Asignación

467

Operaciones de bits

469

Lógica

470

bc - Una precisión arbitraria Calculadora Idioma

473

Usando bc

474

Un script de ejemplo

475

Resumiendo

476

Crédito extra

476

Lectura adicional

476

35 -

478

¿Qué son las matrices? Creación de un array Asignación de valores a una matriz Acceso a los elementos de matriz Operaciones de matriz Salida de todo el contenido del de una matriz Determinar el número de elementos de matriz Encontrar los subíndices utilizados por una matriz Adición de elementos al final de una matriz Ordenación de un conjunto Eliminación de una matriz Las matrices asociativas Resumiendo Lectura adicional

478

478

479

480

482

482

482

483

483

484

484

485

486

486

36 - Exotica

487

xn

Comandos Grupo Y subniveles

487

Proceso de Sustitución

491

Trampas

493

Ejecución asíncrona

496

esperar

496

Canalizaciones con nombre

498

Configuración de una canalización con nombre

498

El uso de canalizaciones con nombre

499

Resumiendo

499

Lectura adicional

499

Índice

501

xiii

Para

Karen

Introducción

I quiero contarles una historia.

No, no es la historia de cómo, en 1991, Linus Torvalds escribió la primera versión del kernel de Linux. Usted puede leer esa historia en un montón de libros de Linux. Tampoco voy a contar

la historia de cómo, unos años antes, Richard Stallman comenzó el Proyecto GNU para crear

un Unix libre como sistema operativo. Eso es una historia importante también, pero la

mayoría de los otros libros de Linux tienen que uno, también.

No, yo quiero contar la historia de cómo se puede recuperar el control de su ordenador.

Cuando empecé a trabajar con los ordenadores como un estudiante de la universidad a finales de 1970, hubo una revolución en marcha. La invención del microprocesador había hecho

posible que la gente común como usted y yo a poseer en realidad un ordenador. Es difícil para muchas personas hoy en día imaginar lo que era el mundo cuando sólo las grandes empresas

y el gran gobierno corrían todos los ordenadores. Digamos, no se podía conseguir mucho por

hacer.

Hoy en día, el mundo es muy diferente. Las computadoras están por todas partes, desde diminutos relojes de pulsera a los centros de datos gigantes a todo lo demás. Además de las computadoras en todas partes, también tenemos una red ubicua conectándolos entre sí. Esto ha creado una nueva era maravillosa de empoderamiento personal y la libertad creativa, pero en el último par de décadas, otra cosa que ha estado sucediendo. A pocas corporaciones gigantes han estado imponiendo su control sobre la mayor parte de las computadoras del mundo y decidir lo que puede y no puede hacer con ellos. Afortunadamente, la gente de todo

el mundo están haciendo algo al respecto. Ellos están luchando para mantener el control de

sus computadoras, escribiendo su propio software. Están construyendo Linux.

Muchas personas hablan de "libertad" con respecto a Linux, pero no creo que la mayoría de la gente sabe lo que esto realmente significa la libertad. La libertad es el poder de decidir lo que hace el equipo, y la única manera de tener esta libertad es saber lo que el equipo está haciendo. La libertad es un equipo que es sin secretos, uno en el que todo puede ser conocido si te importa lo suficiente para averiguarlo.

¿Por qué utilizar la línea de comandos?

¿Alguna vez has notado en las películas, cuando el "super hacker," - ya sabes, el tipo que puede entrar en el equipo militar ultra-segura en menos de treinta segundos, se sienta frente a la computadora, que nunca toca un ratón? Es porque los productores de películas se dan cuenta de que nosotros, como seres humanos, instintivamente sabemos que la única manera de realmente hacer nada en un equipo

xvi

es escribiendo en un teclado!

La mayoría de los usuarios de computadoras de hoy son sólo familiarizado con la interfaz gráfica de usuario (GUI) y se les ha enseñado por los vendedores y los expertos que la interfaz de línea de comandos (CLI) es una cosa aterradora del pasado. Esto es lamentable, porque una buena interfaz de línea de comandos es una manera maravillosamente expresiva de la comunicación con un ordenador de la misma forma en que la palabra escrita es para los seres humanos. Se ha dicho que "las interfaces gráficas de usuario hacen tareas fáciles fácil, mientras que las interfaces de línea de comandos hacen tareas difíciles posible", y esto es todavía muy cierto hoy en día.

Desde Linux sigue el modelo de la familia Unix de sistemas operativos, que comparte la misma herencia rica de herramientas de línea de comandos como Unix. Unix entró en la prominencia durante la década de 1980 (aunque fue desarrollado por primera vez en la

década anterior), antes de la adopción generalizada de la interfaz gráfica de usuario y, como

resultado, desarrolló una extensa interfaz de línea de comandos en lugar. De hecho, una de las

razones más fuertes los primeros usuarios de Linux lo eligieron sobre, por ejemplo, Windows

NT fue el potente interfaz de línea de comandos que hizo las "tareas difíciles posibles."

Lo que trata este libro

Este libro es una visión general de la "vida" en la línea de comandos de Linux. A diferencia de

algunos libros que se concentran en un solo programa, como el programa de shell, bash, este

libro va a tratar de transmitir cómo llevarse bien con la interfaz de línea de comandos en un

sentido

más amplio. ¿Cómo lo hace todo el trabajo? ¿Qué puede hacer? ¿Cuál es la mejor

manera

de usarlo?

Este no es un libro sobre administración de sistemas Linux. Mientras que cualquier discusión seria de la línea de comandos conducirá invariablemente a temas de administración del sistema, este libro sólo se toca en algunos temas de administración. Será, sin embargo,

preparar al lector para el estudio adicional, proporcionando una base sólida en el uso de la línea de comandos, una herramienta esencial para cualquier tarea de administración del

sistema serio.

Este libro es muy Linux-céntrica. Muchos otros libros tratan de ampliar su atractivo mediante la inclusión de otras plataformas como Unix genérico y OS X. Al hacerlo, ellos "agua abajo" su contenido a sólo cuentan con temas generales. Este libro, por otro lado, sólo cubre las distribuciones de Linux contemporáneos. El noventa y cinco por ciento del contenido es útil para los usuarios de otros sistemas tipo Unix, pero este libro está muy dirigido a los usuarios de línea de comandos de Linux moderna.

Quién debe leer este libro

Este libro es para los nuevos usuarios de Linux que han emigrado de otras plataformas. Lo más probable es que usted es un "usuario avanzado" de alguna versión de Microsoft Windows. Tal vez su jefe le ha dicho que administrar un servidor Linux, o tal vez sólo eres un

usuario de escritorio que está cansado de todos los problemas de seguridad y quieren dar una

oportunidad Linux. Eso está bien. Todos son bienvenidos aquí.

Dicho esto, no hay acceso directo a Linux iluminación. El aprendizaje de la línea de comandos es difícil y requiere un esfuerzo real. No es que es tan difícil, sino que es tan vasto. El AV-

xvii

tura sistema Linux tiene literalmente miles de programas que usted puede emplear en la línea

de comandos. Considérese advertido; el aprendizaje de la línea de comandos no es un esfuerzo ocasional.

Por otra parte, el aprendizaje de la línea de comandos de Linux es muy gratificante. Si usted piensa que usted es un "usuario avanzado" Ahora, sólo tiene que esperar. Usted no sabe lo que el poder real es-todavía. Y, a diferencia de muchos otros conocimientos de informática, el conocimiento de la línea de comandos es de larga duración. Las habilidades aprendidas hoy todavía serán útiles dentro de diez años. La línea de comandos ha sobrevivido la prueba del tiempo.

También se asume que usted no tiene ninguna experiencia en programación, pero que no se preocupe, nosotros le empezamos por ese camino también.

¿Qué hay en este libro

Este material se presenta en una secuencia cuidadosamente elegido, al igual que un profesor que se sienta a tu lado guiando a lo largo. Muchos autores tratan este material de manera "sistemática", lo cual tiene sentido desde la perspectiva de un escritor, pero puede ser muy confuso para los nuevos usuarios.

Otro de los objetivos es que se familiarice con la forma de pensar de Unix, que es diferente de la forma en que Windows de pensar. En el camino, vamos a ir en un par de viajes de lado para ayudarle a entender por qué ciertas cosas funcionan de la manera que lo hacen y cómo consiguieron esa manera. Linux no es sólo una pieza de software, es también una pequeña parte de la cultura Unix más grande, que tiene su propio lenguaje y la historia. Yo podría lanzar en una diatriba o dos, también.

Este libro está dividido en cuatro partes, cada una cubriendo algún aspecto de la experiencia de la línea de comandos:

Parte 1 - Aprender La Shell comienza nuestra exploración del lenguaje básico de la línea de comandos que incluye cosas tales como la estructura de los comandos, la navegación del sistema de archivos, edición de línea de comandos, y la búsqueda de ayuda y documentación para los comandos.

Parte 2 - Configuración y el medio ambiente cubre la edición de archivos de

configuración que controlan el funcionamiento de la computadora desde la línea de comandos.

Parte 3 - Tareas comunes y herramientas Esenciales explora muchas de las tareas

comunes que se realizan habitualmente desde la línea de comandos. Sistemas operativos tipo Unix, como Linux, contienen muchos programas "clásicos" de la línea de comandos que se utilizan para llevar a cabo operaciones de gran alcance en los datos.

Parte 4 - Escribiendo Shell Scripts presenta la programación de shell, una técnica ciertamente rudimentario, pero fácil de aprender, para la automatización de muchas tareas informáticas comunes. Al aprender la programación de shell, usted se familiarizará con los conceptos que se pueden aplicar a muchos otros lenguajes de programación.

Cómo leer este libro

Comience desde el principio del libro y seguirlo hasta el final. No está escrito como una obra de referencia, que es realmente más como una historia con un principio, un medio y un fin.

xviii

Requisitos previos

Para utilizar este libro, todo lo que necesita es una instalación de Linux trabajando. Usted puede conseguir esto en una de dos maneras:

1. Instalar Linux en una (no tan nuevo) equipo. No importa que la distribución que usted elija, aunque la mayoría de la gente hoy en día comienzan con cualquiera de Ubuntu, Fedora, OpenSUSE o. En caso de duda, probar Ubuntu por primera vez. La instalación de una moderna distribución de Linux puede ser ridículamente fácil o ridículamente difícil dependiendo de su hardware. Sugiero una computadora de escritorio que es un par de años de edad y tiene por lo menos 256 megabytes de RAM y 6 GB de espacio libre en el disco duro. Evite los ordenadores portátiles y redes inalámbricas, si es posible, ya que estas son a menudo más difícil conseguir trabajo.

2. Use un "Live CD". Una de las cosas interesantes que puedes hacer con ellos muchas distribuciones de Linux se ejecuta directamente desde un CD-ROM (o unidad flash USB) sin instalarlos en absoluto. Sólo tienes que ir a la configuración del BIOS y configurar su computadora para "Arrancar desde CD-ROM", inserte el CD en vivo, y reiniciar el sistema. El uso de un CD en vivo es una gran manera de probar un ordenador para la compatibilidad de Linux antes de la instalación. La desventaja de usar un CD en vivo es que puede ser muy lenta en comparación con tener Linux instalado en su disco duro. Tanto Ubuntu y Fedora (entre otros) tienen versiones en CD en vivo.

Independientemente de cómo instalar Linux, usted tendrá que tener superusuario ocasional (es decir, los privilegios administrativos) para llevar a cabo las lecciones de este libro.

Después de tener una instalación de trabajo, comenzar a leer y seguir con su propio ordenador. La mayor parte del material de este libro es "manos en", por lo sentarse y llegar a escribir!

¿Por qué no lo llaman "GNU / Linux"

En algunos sectores, es políticamente correcto llamar el sistema operativo Linux el "sistema operativo GNU / Linux." El problema con "Linux" es que no hay manera completamente correcta de nombrarlo porque fue escrita por muchas personas diferentes en un vasto , esfuerzo de desarrollo distribuido. Técnicamente hablando, Linux es el nombre del núcleo del sistema operativo, nada más. El núcleo es muy importante, por supuesto, ya que hace que el sistema operativo de ir, pero no es suficiente para formar un sistema operativo completo. Introduzca Richard Stallman, el genio-filósofo que fundó el movimiento del Software Libre, comenzó la Fundación para el Software Libre, formado el Proyecto GNU, escribió la primera versión de la GNU C Compiler (GCC), creado la Licencia Pública General de GNU (GPL), etc., etc., etc. Él insiste en que usted lo llama "GNU / Linux" para reflejar adecuadamente las contribuciones del proyecto GNU. Mientras que el Proyecto GNU es anterior a la del núcleo de Linux, y las contribuciones del proyecto son muy merecedores de reconocimiento, de colocarlos en el nombre es injusto para todos los demás que hizo significativa

xix

contribuciones. Además, creo que "Linux / GNU" sería técnicamente más preciso, ya que el núcleo arranca primero y todo lo demás corre encima de él. En el uso popular, "Linux" se refiere al núcleo y todo el resto del software libre y de código abierto que se encuentra en la típica distribución de Linux; es decir, todo el ecosistema Linux, no sólo los componentes de GNU. El mercado de sistema operativo parece preferir nombres de una sola palabra, como DOS, Windows, Solaris, Irix, AIX. He optado por utilizar el popular formato. Sin embargo, si usted prefiere usar "GNU / Linux" en lugar, realice una búsqueda mentales-y-reemplazar al leer este libro. No me importa.

Agradecimientos

I quiere agradecer a las siguientes personas, que ayudaron a hacer posible este libro:

Jenny Watson, Adquisiciones Editor en Wiley Publishing que originalmente me sugirió que escribiera un libro de secuencias de comandos de shell.

John C. Dvorak, señaló el columnista y comentarista. En un episodio de su podcast de vídeo, "Cranky Geeks," Sr. Dvorak describe el proceso de la escritura: "El infierno. Escribir 200 palabras al día y en un año, usted tiene una novela. "Este consejo me llevó a escribir una página al día hasta que tuve un libro.

Dmitri Popov, escribió un artículo en la Revista de Software Libre titulado "Creación de una plantilla de libro con Writer", que me inspiró a utilizar OpenOffice.org Writer para componer el texto. Al final resultó que, funcionó maravillosamente.

Marcos Polesky realiza una revisión extraordinaria y prueba del texto.

Jesse Becker, Tomasz Chrzczonowicz, Michael Levin, Spence Minero también probaron y revisaron partes del texto.

Karen M. Shotts aportó una gran cantidad de horas, puliendo mi llamado Inglés editando el texto.

Y por último, los lectores de LinuxCommand.org, Que me han enviado tantos correos

electrónicos amables. Su aliento me dio la idea de que yo estaba realmente en lo cierto!

Su regeneración es necesaria!

Este libro es un proyecto en curso, al igual que muchos proyectos de software de código abierto. Si usted encuentra un error técnico, mándenme una línea en:

Sus cambios y sugerencias pueden entrar en futuras versiones.

xx

¿Qué hay de nuevo en la segunda edición del Internet

Esta versión de la línea de comandos de Linux ha experimentado un cierto pulimento y modernización adicional. En particular, la versión 4.x de bash se supone que es la versión estándar y el texto se ha actualizado para reflejar esto. Los números de capítulo en la segunda edición del Internet ahora se alinean con los de la edición Sin Almidón de prensa. También me fijé algunos errores;-).

Un agradecimiento especial a las siguientes personas que proporcionaron información valiosa sobre la primera edición: Adrian Arpidez, Hu Bo, Heriberto Cantú, Josué Escamilla, Bruce Fowler, Ma Jun, Seth King, Mike O'Donnell, Parviz Rasoulipour, Gabriel Stutzman, y Cristiano Wuethrich.

Lectura adicional

Éstos son algunos de los artículos de Wikipedia sobre los personajes famosos mencionados en este capítulo: http://en.wikipedia.org/wiki/Linus Torvalds http://en.wikipedia.org/wiki/Richard Stallman

La Free Software Foundation y el Proyecto GNU:

Richard Stallman ha escrito mucho sobre la "GNU / Linux" cuestión de nomenclatura:

Colofón

Este libro fue escrito originalmente usando OpenOffice.org Writer en fuentes de Liberación serif y sans en un Dell Inspiron 530N, fábrica configurados con Ubuntu 8.04. La versión PDF del texto se genera directamente por OpenOffice.org Writer. La Segunda Edición de Internet se produjo en el mismo ordenador usando LibreOffice escritor en Ubuntu 12.04.

Parte 1 - Aprender La Shell

1 - ¿Cuál es la cáscara?

1 - ¿Cuál es la cáscara?

Cuando hablamos de la línea de comandos, en realidad estamos hablando de la cáscara. El shell es un programa que toma los comandos del teclado y los pasa al sistema operativo para llevar a cabo. Casi todas las distribuciones de Linux proporcionan un programa de shell de la llamada fiesta de Proyecto GNU. El nombre de "fiesta" es un acrónimo de "Bourne Again Shell", una referencia al hecho de bash es un sustituto mejorado para sh, el programa original shell de Unix escrito por Steve Bourne.

Los emuladores de terminal

Cuando se utiliza una interfaz gráfica de usuario, necesitamos otro programa que se llama un emulador de terminal para interactuar con el shell. Si miramos a través de nuestros menús de escritorio, probablemente encontrar uno. KDE utiliza Konsole y GNOME usa gnome-terminal, aunque lo más probable es llamado simplemente "terminal" en nuestro menú. Hay una serie de otros emuladores de terminal disponibles para Linux, pero todos ellos básicamente hacen lo mismo; nos dará acceso a la cubierta. Es probable que el desarrollo de una preferencia por uno u otro en función del número de campanas y silbatos que tiene.

Sus primeras pulsaciones de teclas

[Me @ linuxbox ~] $

Así que vamos a empezar. Inicie el emulador de terminal! Una vez que aparece, deberíamos ver algo como esto:

Esto se conoce como el intérprete de comandos y aparecerá cada vez que la cáscara está listo para aceptar la entrada. Si bien puede variar en apariencia un poco dependiendo de la distribución, por lo general, incluya su nombre de usuario @ machinename, seguido por el directorio de trabajo actual (más sobre esto en un poco) y un signo de dólar.

Si el último carácter de la petición de orden es un signo de almohadilla ("#") en lugar de un signo de dólar, la sesión de terminal con privilegios de superusuario. Esto significa que cualquiera de los dos nos iniciamos una sesión como usuario root o seleccionamos un emulador de terminal que ofrece superusuario (administrativa) privi-

Sus primeras pulsaciones de teclas

leges.

Suponiendo que las cosas son buenas hasta ahora, vamos a tratar algunos de mecanografía. Ingrese algún galimatías en el símbolo de este modo:

[Me @ linuxbox ~] $ kaekfjaeifj

Desde este comando no tiene sentido, el shell nos dirá esto y darnos otra oportunidad:

bash: kaekfjaeifj: comando no encontrado [me @ linuxbox ~] $

Histórico de comandos

Si pulsamos la tecla de flecha hacia arriba, veremos que el comando anterior "kaekfjaeifj" vuelve a aparecer después de la solicitud. Esto se llama la historia de comandos. La mayoría de las distribuciones de Linux recuerdan los últimos 500 comandos por defecto. Pulse la tecla de flecha hacia abajo y el comando anterior desaparece.

Movimiento del cursor

Recordemos el comando anterior con la tecla de flecha hacia arriba de nuevo. Ahora trata de las teclas de izquierda y derecha de flecha. Vea cómo podemos posicionar el cursor en cualquier lugar de la línea de comandos? Esto hace que los comandos de edición fácil.

Algunas palabras sobre ratones y enfoque

Mientras que la cáscara es todo sobre el teclado, también puede utilizar un ratón con su emulador de terminal. Existe un mecanismo integrado en el Sistema de Ventanas X (el motor subyacente que hace que la marcha GUI) que soporta una técnica copiar y pegar rápido. Si resalta un texto manteniendo pulsado el botón izquierdo del ratón y arrastrando el ratón sobre ella (o doble clic sobre una palabra), se copia en un búfer mantenido por X. Al pulsar el botón central del ratón hará que el texto que se pega en la posición del cursor. Pruébalo.

Nota: No tener la tentación de utilizar las teclas Ctrl-C y Ctrl-V para realizar la copia y pegar dentro de una ventana de terminal. Ellos no trabajan. Estos códigos de control tienen diferentes significados para la cáscara y se asignaron muchos años antes de que Microsoft Windows.

1 - ¿Cuál es la cáscara?

Su entorno gráfico de escritorio (KDE o GNOME lo más probable), en un esfuerzo por comportarse como Windows, probablemente tiene su política de enfoque ajustado en "haga clic para enfocar." Esto significa, por una ventana para conseguir el enfoque (se activa) es necesario hacer clic en ella. Esto es contrario a la conducta X tradicional de "foco sigue al ratón", que significa que una ventana se centran simplemente pasando el ratón sobre él. La ventana no vienen a primer plano hasta que haga clic en él, sino que será capaz de recibir la entrada. Establecimiento de la política de enfoque a "foco sigue al ratón" hará que la técnica de copiar y pegar aún más útil. Darle una oportunidad si se puede (algunos entornos de escritorio, tales como la Unidad de Ubuntu ya no apoyarla). Creo que si le das una oportunidad usted preferiría. Va a encontrar este ajuste en el programa de configuración para el gestor de ventanas.

Pruebe algunos comandos simples

Ahora que hemos aprendido a escribir, vamos a tratar algunos comandos simples. La primera de ellas es la fecha. Este comando muestra la hora y fecha actual.

[Me @ linuxbox ~] $ fecha Jue 25 de octubre 2007 13:51:54 EDT

Un comando relacionado es cal que, por defecto, muestra un calendario del mes en curso.

[Me @

     

linuxbox

 

] Cal $

 

Octubre

2007

 

Su

Mo

Tu

Nos

Th

P.

Sa

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

Para ver la cantidad actual de espacio libre en sus unidades de disco, escriba df:

[Me

@

linuxbox

~]

$

df

 

Utilice

   

Filesystem

 

1K-blocks

Usado

Disponible

%

Montado en

/ Dev / sda2

15115452

5012392

9949716

 

34

/

/ Dev / sda5

 

59631908

26545424

30008432

 

47

/

Home

/ Dev / sda1

 

147764

17370

122765

 

13

/

Boot

 

%

Pruebe algunos comandos simples

tmpfs

256856

0

256856

0% / dev / shm

Del mismo modo, para mostrar la cantidad de memoria libre, entre el mandato libre.

 

[Me @ linuxbox ~] $ gratis usado total

 

compartid

 

libre

o

tampones

caché

Mem: 513712

503976

9736

0

5312

122916

-

/

+

Buffers / cache:

375748

137964

Intercambio: 1052248

104712

947536

 

Poner fin a una sesión de terminal

Podemos terminar una sesión de terminal, ya sea el cierre de la ventana de emulador de terminal, o introduciendo el comando exit en el intérprete de comandos:

[Me @ linuxbox ~] $ exit

La Consola Detrás de la cortina

Incluso si no tenemos un emulador de terminal en funcionamiento, varias sesiones de terminal seguirá funcionando detrás del escritorio gráfico. Llamado terminales virtuales o consolas virtuales, estas sesiones se puede acceder en la mayoría de distribuciones de Linux presionando Ctrl-Alt-F1 a Ctrl-Alt-F6. Cuando se accede a una sesión, se presenta un indicador de inicio de sesión en el que podemos introducir nuestro nombre de usuario y contraseña. Para cambiar de una consola virtual a otro, pulse la tecla Alt y F1-F6. Para volver al escritorio gráfico, presione Alt-F7.

Resumiendo

Al comenzar nuestro viaje, se nos presenta a la cáscara y vemos la línea de comandos, por primera vez y aprender cómo iniciar y finalizar una sesión de terminal. También vemos cómo emitir algunos comandos simples y realizar un poco de edición de línea de comandos de la luz. Eso no era tan temible era?

1 - ¿Cuál es la cáscara?

Lectura adicional

Para aprender más sobre Steve Bourne, padre de la Bourne Shell, consulte este artículo de Wikipedia:

He aquí un artículo sobre el concepto de conchas en la computación:

6

2

-

2 - Navegación

Navegación

Lo primero que tenemos que aprender (además de sólo escribir) es cómo navegar el sistema de archivos en nuestro sistema Linux. En este capítulo vamos a introducir los siguientes comandos:

pwd - Escriba el nombre de directorio de trabajo actual

CD - Directorio de Cambio

ls - Lista el contenido del directorio

Entender el archivo del árbol de sistemas

Al igual que Windows, un sistema operativo de tipo Unix como Linux organiza sus archivos en lo que se llama una estructura jerárquica de directorios. Esto significa que se organizan en un patrón en forma de árbol de directorios (a veces llamados carpetas en otros sistemas), que pueden contener archivos y otros directorios. El primer directorio en el sistema de archivos se llama el directorio raíz. El directorio raíz contiene archivos y subdirectorios, que contienen más archivos y subdirectorios y así sucesivamente y así sucesivamente.

Tenga en cuenta que a diferencia de Windows, que tiene un árbol de sistema de archivos independiente para cada dispositivo de almacenamiento, sistemas de tipo Unix como Linux siempre tienen un solo árbol del sistema de archivos, independientemente del número de unidades o dispositivos de almacenamiento están conectados al ordenador. Los dispositivos de almacenamiento están conectados (o más correctamente, montados) en varios puntos en el árbol de acuerdo a los caprichos del administrador del sistema, la persona (o personas) responsable del mantenimiento del sistema.

El directorio de trabajo actual

La mayoría de nosotros somos probablemente familiar con un administrador de archivos gráfico que representa el árbol del sistema de archivos como en la Figura 1. Tenga en cuenta que el árbol por lo general se muestran volcó, es decir, con la raíz en la parte superior y las diversas ramas que descienden por debajo.

Sin embargo, la línea de comandos no tiene imágenes, por lo que para navegar por el árbol de directorios que tenemos que pensar en él de una manera diferente.

7

2

- Navegación

Imagine que el sistema de archivos es una forma de un árbol al revés laberinto y somos capaces de

Bft / h bin D h CD

de arranque de exploración y producción de CD dev $ CD etc lj casa i CD bshotts | $ CD ftp ih CD karen! CD perdido encontró

+

0 CD .enlightenment r

CD

.gnome-escritorio

que

CD .gnome

Figura 1: Archivo árbol del sistema, como se muestra por un administrador de archivos gráfico

pararse en el medio de ella. En un momento dado, estamos dentro de un solo directorio y podemos ver los archivos contenidos en el directorio y la ruta al directorio por encima de nosotros (llamado el directorio padre) y los subdirectorios por debajo de nosotros. El

[Me @ linuxbox ~] $ pwd / home mí /

directorio estamos de pie en se llama el directorio de trabajo actual. Para mostrar el directorio de trabajo actual, utilizamos los comandos pwd (print working directory).

Cuando nos registramos en nuestro sistema (o iniciar una sesión de emulador de terminal) nuestro directorio de trabajo actual se establece en nuestro directorio home. Cada cuenta de usuario tiene su propio directorio y es el único lugar donde se permite a un usuario normal para escribir archivos.

[me @ linuxbox ~] $ ls Documentos de Escritorio Música Fotos Plantillas Públicos Videos

Añadir el contenido de un directorio

Para una lista de los archivos y directorios en el directorio de trabajo actual, utilizamos el comando ls.

Añadir el contenido de un directorio

En realidad, podemos usar el comando ls para listar el contenido de cualquier directorio, no sólo el directorio de trabajo actual, y hay muchas otras cosas divertidas que puede hacer también. Vamos a pasar más tiempo con ls en el próximo capítulo.

Cambiar el directorio de trabajo actual

Para cambiar su directorio de trabajo (donde estamos parados en nuestro laberinto en forma de árbol) utilizamos el comando cd. Para ello, escriba cd seguido de la ruta del directorio de trabajo deseado. Una ruta de acceso es la ruta que tomamos a lo largo de las ramas del árbol para llegar al directorio que queremos. Nombres de vías se pueden especificar en una de dos maneras diferentes; como nombres de ruta absolutos o como rutas relativas. Vamos a tratar con nombres de ruta absolutos primero.

[Me @ linuxbox ~] $ cd / usr / bin [me @ bin linuxbox] $ pwd / usr / bin [Me @ bin linuxbox] $ ls

Listado de muchos, muchos archivos

Rutas absolutas

Una ruta absoluta comienza con el directorio raíz y sigue la rama de un árbol por la rama hasta que se complete la ruta de acceso al directorio o archivo deseado. Por ejemplo, hay un directorio de su sistema en el que la mayor parte de los programas de su sistema están instalados. La ruta de acceso del directorio es / usr / bin. Esto significa que desde el directorio raíz (representado por la barra inicial en el nombre de ruta) hay un directorio llamado "usr", que contiene un directorio llamado "bin".

Ahora podemos ver que hemos cambiado el directorio de trabajo actual a / usr / bin y que está lleno de archivos. Observe cómo ha cambiado la línea de comandos? Para su conveniencia, por lo general se estableció para mostrar automáticamente el nombre del directorio de trabajo.

Rutas relativas

Cuando una ruta absoluta comienza desde el directorio raíz y conduce a su destino, un nombre de ruta relativa empieza desde el directorio de trabajo. Para ello, utiliza un par de símbolos especiales para representar posiciones relativas en el árbol del sistema de archivos. "

símbolo se refiere a directorio padre del

Estos símbolos son especiales "." (Punto) y "

El "." símbolo se refiere al directorio de trabajo y el "

directorio de trabajo. Aquí es cómo funciona. Vamos a cambiar el directorio de trabajo a

(punto punto).

"

2 - Navegación /

usr / bin de nuevo:

[Me @ linuxbox ~] $ cd / usr / bin [me

@ bin linuxbox] $ pwd / usr / bin

Bien, ahora vamos a decir que queríamos cambiar el directorio de trabajo al padre de / usr / bin, que es / usr. Podríamos hacer que dos maneras diferentes. Ya sea con una ruta absoluta:

[Me @ linuxbox [Me @ linuxbox

bin] $

cd

/ usr

usr] $

pwd

/

Usr

   

O, con una ruta de acceso relativa:

[Me @ linuxbox [Me @ linuxbox

bin] $

cd

usr] $

pwd

/

Usr

   

Dos métodos diferentes con resultados idénticos. ¿Cuál debemos utilizar? La que requiere la menor mecanografía!

Del mismo modo, podemos cambiar el directorio de trabajo de / usr a / usr / bin en dos maneras diferentes. O bien utilizando una ruta absoluta:

[Me @ linuxbox usr] $ cd / usr / bin [me

@ bin linuxbox] $ pwd / usr / bin

O, con una ruta de acceso relativa:

[Me @ linuxbox usr] $ cd ./bin [me

@ bin linuxbox] $ pwd / usr / bin

Ahora, hay algo importante que debo señalar aquí. En casi todos los casos, se puede

[Me @ linuxbox usr] bin $ cd

omitir el "./". Se da a entender. Mecanografía:

Cambiar el directorio de trabajo actual

hace lo mismo. En general, si no se especifica una ruta de acceso a algo, se supone que el

Datos importantes sobre nombres de archivo

 

1.

Los nombres de archivo que comienzan con un carácter de punto están ocultos.

Esto sólo significa que ls no enumerarlos a menos que usted dice ls -a. Cuando se

Tabla 2-1: Métodos abreviados de cd

creó su cuenta, varios archivos ocultos fueron colocados en el directorio de inicio

 

Atajo

para configurar las cosas por su cuenta. Más tarde vamos a echar un vistazo más

Resultado

CD

de cerca a algunos de estos archivos para ver cómo se puede personalizar el

Cambia el directorio de trabajo al directorio de tu casa.

 

entorno. Además, algunas aplicaciones colocan sus archivos de configuración y

cd

-

ajustes en su directorio personal como archivos ocultos.

Cambia el directorio de trabajo al directorio de trabajo anterior.

2.

Los nombres de archivo y comandos en Linux, como Unix, mayúsculas y

cd

nombre_usuario

~

minúsculas.

Los

diferentes archivos.

Cambia el directorio de trabajo al directorio y principal de

nombres

de

archivo

"archivol"

"archivol"

se

refieren

a

 

3.

nombre_usuario. Por ejemplo, cd ~ bob cambiará el directorio para

Linux no tiene ningún el directorio concepto de de inicio una del "extensión usuario de "bob". archivo" como algunos otros

sistemas operativos. Es posible que el nombre de los archivos como quieras. Los

contenidos y / o función de un archivo se determina por otros medios. Aunque el sistema operativo similar a Unix no utilice

directorio de trabajo.

Algunos atajos útiles

En la Tabla 2-1 vemos algunas maneras útiles el directorio de trabajo actual se pueden cambiar rápidamente.

11

las extensiones de archivo para determinar el contenido / el propósito de archivos, algunos programas de aplicación hacen. 4. Aunque Linux soporta nombres de archivo largos que pueden contener espacios incrustados y caracteres de puntuación, limitar los caracteres de puntuación en los nombres de archivos se crea a período, guiones y subrayados. Lo más importante, no incrustar espacios en los nombres de archivo. Si desea representar espacios entre palabras en un nombre de archivo, utilice caracteres de subrayado. Usted se agradecerá más tarde. 2 - Navegación

Resumiendo

En este capítulo hemos visto cómo la cáscara trata la estructura de directorios del sistema. Aprendimos sobre nombres de ruta absolutos y relativos y los comandos básicos que se utilizan para moverse por esa estructura. En el próximo capítulo vamos a utilizar este conocimiento para ir en un tour de un moderno sistema Linux.

12

3

sistema

-

Exploración

del

3 - Exploración del sistema

Ahora que sabemos cómo mover todo el sistema de archivos, es el momento para una visita guiada de nuestro sistema Linux. Antes de empezar, sin embargo, vamos a aprender algunos comandos más que serán útiles a lo largo del camino:

ls - Lista el contenido del directorio

expediente - Determinar el tipo de archivo

menos - Ver el contenido del archivo

[me @ linuxbox ~] $ ls Documentos de Escritorio Música Fotos Plantillas Públicos Videos

Además del directorio de trabajo actual, podemos especificar el directorio a la lista, así:

me @ linuxbox

       

~

] $ Ls / usr

 

juegos bin

kerberos

libexec

sbin

src

etc incluyen

lib

local

cuota

tmp

Más diversión con ls

El comando ls es probablemente el comando más utilizado, y por una buena razón. Con él,

podemos ver el contenido del directorio y determinar una variedad de atributos de archivos y directorios importantes. Como hemos visto, podemos simplemente entrar ls para ver una lista

de archivos y subdirectorios contenidos en el directorio de trabajo actual:

O incluso especificar varios directorios. En este ejemplo vamos a enumerar tanto el directorio

del usuario doméstico (simbolizada por el carácter "~") y el directorio / usr:

[Me @ linuxbox ~] $ ls ~ / usr / home / me:

13

3 - la exploración del sistema

Documentos de Escritorio Música Fotos Plantillas Públicos Videos

/ Usr:

papelera

juegos

kerberos

libexec

sbin

 

src

etc

incluir

lib

local

cuota

tmp

También podemos cambiar el formato de la salida a revelar más detalles:

 

~] $ Ls

-l

 

[Me @ linuxbox total de 56 drwxrwxr-x

2

 

4096

2007-10-26

17:20

Escritorio

drwxrwxr-x

2

4096

2007-10-26

17:20

Documentos

drwxrwxr-x

2

4096

2007-10-26

17:20

Música

drwxrwxr-x

2

4096

2007-10-26

17:20

Imágenes

drwxrwxr-x

2

4096

2007-10-26

17:20

Público

drwxrwxr-x

2

4096

2007-10-26

17:20

Plantillas

drwxrwxr-x

2

4096

2007-10-26

17:20

Vídeos

 

Mediante la adición de "-l" para el comando, cambiamos la salida al formato largo.

Opciones y argumentos

Esto nos lleva a un punto muy importante sobre el funcionamiento de la mayoría de los comandos. Comandos suelen ir seguidas de una o más opciones que modifican su comportamiento, y, además, por uno o más argumentos, los artículos sobre los que los actos de comando. Así que la mayoría de los comandos se ven un poco como esto:

comando -Opciones argumentos

La mayoría de los comandos utilizan las opciones que consisten de un solo carácter precedido por un guión, por ejemplo, "-l", pero muchos de los comandos, entre ellos los del Proyecto GNU, también admiten opciones largas, que consiste en una palabra precedida de dos guiones. Además, muchos comandos permiten múltiples opciones cortas que se encadenan juntos. En este ejemplo, el comando ls se le da dos opciones, la opción "l" para producir la salida de formato largo, y la opción de "t" para ordenar el resultado por hora de modificación del archivo.

[Me @ linuxbox ~] $ ls -lt

[Me @ linuxbox ~] $ ls -lt --reverse

Más diversión con ls

Vamos a añadir la opción larga "--reverse" para invertir el orden de la clase:

Tenga en cuenta que las opciones de comando, al igual que los nombres de archivos en Linux, entre mayúsculas y minúsculas.

El comando ls tiene un gran número de opciones posibles. Los más comunes se enumeran en la Tabla 3-1.

Tabla 3-1: ¿Es común Opciones

Opción

Largo Opción

Descripción

-a

--all

Haga una lista de todos los archivos, incluso los que tienen nombres que comienzan con un período, que normalmente no figuran (es decir,

 

-A

--casi todo-

 
 

Al igual que la opción -a anterior, excepto que no

lista. (Directorio actual) y

(directorio padre).

-d

--directory

Normalmente, si se especifica un directorio, LS

listar el contenido del directorio, no el propio directorio. Utilice esta opción junto con la

opción -l para ver detalles sobre el directorio en lugar de su contenido.

-F

--classify

 
 

Esta opción añadirá un carácter indicador hasta el final de cada nombre de la lista. Por ejemplo, un "/" si el nombre es un directorio.

-h

---human legible

En los listados de formato largo, mostrar tamaño de los archivos en formato legible para las

 

-l

 

Mostrar resultados en formato largo.

-r

--reverse

 
 

Mostrar los resultados en orden inverso. Normalmente, ls muestra sus resultados en orden alfabético ascendente.

-S

 

Ordenar los resultados por tamaño de archivo.

-t

 

Ordenar por fecha de modificación.

-S   Ordenar los resultados por tamaño de archivo. -t   Ordenar por fecha de modificación.
-S   Ordenar los resultados por tamaño de archivo. -t   Ordenar por fecha de modificación.
-S   Ordenar los resultados por tamaño de archivo. -t   Ordenar por fecha de modificación.

15

3 - Exploración del sistema

Una mirada a más largo At Long Formato

Como vimos antes, los "-l" causas opción ls para mostrar sus resultados en formato largo. Este formato contiene una gran cantidad de información útil. Aquí es el directorio de ejemplos de un sistema Ubuntu:

- r w - r

- r - -

 

1 raíz

raíz

3576296

2007-04-03

11

05

Experiencia ubuntu.ogg

- r w - r

- r - -

 

1 raíz

raíz

1186219

2007-04-03

11

05

kubuntu-leaflet.png

- r w - r

- r - -

 

1 raíz

raíz

47584

2007-04-03

11

05

logo-Edubuntu.png

- r w - r

- r - -

 

1 raíz

raíz

44355

2007-04-03

11

05

logo-Kubuntu.png

- r w - r

- r - -

 

1 raíz

raíz

34391

2007-04-03

11

05

logo-Ubuntu.png

- r w - r

- r - -

 

1 raíz

raíz

32059

2007-04-03

11

05

oo-cd-cover.odf

- r w - r

- r - -

 

1 raíz

raíz

159744

2007-04-03

11

05

oo-derivatives.doc

- r w - r

- r - -

 

1 raíz

raíz

27837

2007-04-03

11

05

oo-maxwell.odt

- r w - r

- r - -

 

1 raíz

raíz

98816

2007-04-03

11

05

oo-trig.xls

- r w - r

- r - -

 

1 raíz

raíz

453764

2007-04-03

11

05

oo-welcome.odt

- r w - r

- r - -

1 raíz

raíz

358374

2007-04-03

05

ubuntu Sax.ogg

11

     

Echemos un vistazo a los diferentes campos de uno de los archivos y examinar sus significados:

Tabla 3-2: ¿Es campos Listing largas

Campo

Significado

-rw-r - r --

Los derechos de acceso al archivo. El primer carácter indica el tipo de archivo. Entre los diferentes tipos, un guión que lleva significa un archivo normal, mientras que una "d" indica un directorio. Los siguientes tres caracteres son los derechos de acceso para el propietario del archivo, el próximo tres son para los miembros del grupo del archivo, y la final tres son para todos los demás. El significado completo de esto se

Número de archivo de enlaces duros. Véase el análisis de los vínculos más adelante en este capítulo.

1

raíz

El nombre de usuario del propietario del archivo.

raíz

El nombre del grupo que posee el archivo.

32059

Tamaño de archivo en bytes.

2007-04-03 11:05

Fecha y hora de la última modificación del archivo.

oo-cd-cover.odf

Nombre del archivo.

2007-04-03 11:05 Fecha y hora de la última modificación del archivo. oo-cd-cover.odf Nombre del archivo. 16
2007-04-03 11:05 Fecha y hora de la última modificación del archivo. oo-cd-cover.odf Nombre del archivo. 16

16

Determinar el tipo de un archivo con el archivo

Determinar el tipo de un archivo con el archivo

A medida que exploramos el sistema será útil para saber qué contienen los archivos. Para ello vamos a utilizar el comando file para determinar el tipo de un archivo. Como hemos comentado anteriormente, los nombres de archivos en Linux no son necesarios para reflejar el contenido de un archivo. Mientras que normalmente se esperaría que un nombre de fichero

archivo de

nombre de

archivo

como "picture.jpg" para contener una imagen JPEG comprimida, no se requiere que en Linux. Podemos invocar el comando de archivo de esta manera:

[Me @ linuxbox ~] imagen.jpg $ archivo picture.jpg: datos de imagen JPEG, JFIF estándar 1.01

Cuando se invoca, el comando file imprimirá una breve descripción del contenido del archivo. Por ejemplo:

Hay muchos tipos de archivos. De hecho, una de las ideas comunes de los sistemas operativos tipo Unix como Linux es que "todo es un archivo." A medida que avanzamos con nuestras

¿Qué es el "texto"?

Hay muchas formas de representar la información en un ordenador. Todos los métodos implican la definición de una relación entre la información y algunos números que se utilizarán para representarla. Computadoras, después de todo, sólo entienden números y todos los datos se convierten a la representación numérica. Algunos de estos sistemas de representación son muy complejos (como los archivos de vídeo comprimido), mientras que otros son bastante simples. Uno de los primeros y más simple se llama texto ASCII. ASCII (pronunciado "Como-Key") es la abreviatura de American Standard lecciones, veremos qué tan cierto que la declaración es.

Mientras que muchos de los archivos