lenguaje_del_interprete_de_comandos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
lenguaje_del_interprete_de_comandos [2023/03/02 03:11] peronlenguaje_del_interprete_de_comandos [2023/08/13 04:58] (actual) – [Desactivar la Interpretación de meta-caracteres] peron
Línea 14: Línea 14:
   * '';'' Este carácter permite ingresar varios comandos seguidos, y hacerlo en una sola orden. Cada comando debe estar intercedido por un '';''. Cuando presiones la **tecla Intro** cada comando que compone la orden resultará introducido secuencialmente (desde comienzo de la línea hasta el final).   * '';'' Este carácter permite ingresar varios comandos seguidos, y hacerlo en una sola orden. Cada comando debe estar intercedido por un '';''. Cuando presiones la **tecla Intro** cada comando que compone la orden resultará introducido secuencialmente (desde comienzo de la línea hasta el final).
   * ''&'' Este carácter envía la ejecución del comandos en [[creacion de trabajos en texto-plano|segundo plano]], y mientras la shell ejecuta dicha órden, tu terminal quedará libre para que puedas continuar realizando otras operaciones.   * ''&'' Este carácter envía la ejecución del comandos en [[creacion de trabajos en texto-plano|segundo plano]], y mientras la shell ejecuta dicha órden, tu terminal quedará libre para que puedas continuar realizando otras operaciones.
-  * ''%%\%%'' El caracter de barra invertida permite desactivar la interpretación de los meta-caracteres tales como ''*'', ''[]'', ''&'', y '';''+  * ''%%\%%'' El caracter de barra invertida permite [[#desactivar_la_interpretacion_de_metacaracteres|desactivar la interpretación de los meta-caracteres]] tales como ''*'', ''[]'', ''&'', y '';''
-  * ''%%"%%''...''%%"%%'' ''<nowiki>'</nowiki>''...''<nowiki>'</nowiki>'' Los entrecomillados y los interdiéresis ocultan contenido al shell, desactivando tanto el significado delimitador del espacio entre ellos, así como la interpretación de los caracteres especiales. Sin embargo, las comillas permiten que los caracteres ''$'' y ''%%\%%'' retengan su significado especial. +  * ''%%"%%''...''%%"%%'' ''<nowiki>'</nowiki>''...''<nowiki>'</nowiki>'' Los entrecomillados y los entreapóstrofos ocultan contenido al shell, desactivando tanto el significado delimitador del espacio entre ellos, así como la interpretación de los caracteres especiales. Sin embargo, las comillas permiten que los caracteres ''$'' y ''%%\%%'' retengan su significado especial. 
-  * El acento agudo ''<nowiki>`</nowiki>''..''<nowiki>`</nowiki>'' se utilizan para expansión de comandos. (ver [[acentos_y_enes_en_texto-plano.xyz#caracteres_especiales_en_el_teclado_espanol|caracteres especiales en el teclado español]]+  * El acento agudo ''<nowiki>`</nowiki>''..''<nowiki>`</nowiki>'' se utilizan para [[#expansión de comandos|expansión de comandos]]. (ver [[acentos_y_enes_en_texto-plano.xyz#caracteres_especiales_en_el_teclado_espanol|caracteres especiales en el teclado español]]
  
 > Los caracteres ''$'' y ''%%\%%'' se discutirán más adelante y son importante para los programas interpretados. > Los caracteres ''$'' y ''%%\%%'' se discutirán más adelante y son importante para los programas interpretados.
  
 ====Metacaracteres Comodines==== ====Metacaracteres Comodines====
 +Los comodines son caracteres "de inclusión".
  
-=== * ===+=== Comodín para cualesquiera caracteres (*===
  
-El carácter asterisco ''*'' representa "**todos los ficheros en el directorio actual**".+El carácter asterisco ''*'' representa **todo el contenido de caracteres**, y en el contexto de archivaje, denota la inclusión de "**todos los ficheros en el directorio actual**".
  
-Por ejemplo, podrías utilizar el comando **echo** - capaz de presentar una cadena de texto en la terminal - y combinarlo con el ''*'' para lograr el resultado deseado. Por ejemplo, introduce en tu terminal:+Por ejemplo, podrías utilizar el comando //echo// - capaz de presentar una cadena de texto en la terminal - y combinarlo con el ''*'' para lograr el resultado deseado. Por ejemplo, introduce en tu terminal:
  
 <code bash> <code bash>
Línea 34: Línea 35:
 ...y recibirás como eco de respuesta una lista con todos los ficheros del directorio actual. ...y recibirás como eco de respuesta una lista con todos los ficheros del directorio actual.
  
-Por favor, ten especial cuidado al emplear el metacaracter ''*'' pues significa "**todo lo contenido**". Por ejemplo, si indicas:+Por favor, ten especial cuidado al emplear el metacaracter ''*'' pues significa "**todo cualesquiera**". Por ejemplo, si indicas:
  
 <code bash> <code bash>
Línea 40: Línea 41:
 </code> </code>
  
-...listará todos los ficheros en el directorio actual que tengan cualquier nombre y la extensión ''.txt''.+...listará todos los ficheros en el directorio actual (cualesquier nombre que tengan), cuya extensión sea ''.txt''.
  
- +Podrías indicar que liste cualesquier ficheros que contiengan una letra ''s'' incorporada en cierto lugar de su nombre de archivo, de esta manera:
- +
-Podrías indicar que devuelva una liste de todos los ficheros que contienen una letra ''s'' en su nombre de archivo, de esta manera:+
  
 <code bash> <code bash>
Línea 56: Línea 55:
 </code> </code>
  
-Podría sería interpretado como "lista los ficheros contenidos en el directorio actual, cuyo nombre contenga cualquier letra a continuación de ''reporte'' inclusive". Esto incluiría, por ejemplo:+Será interpretado como "lista cualesquier fichero contenido en el directorio actual, cuyo nombre contenga cualquier letra a continuación de ''reporte'' inclusive". Esto incluiría, por ejemplo:
  
 <code bash> <code bash>
Línea 68: Línea 67:
  
  
 +=== Comodín para un caracter (?) ===
  
-=== ? === 
  
- +El signo //cierre de interrogación// ''?'' se interpreta como la inclusión de "**un caracter único cualquiera**"
-El signo de interrogación cerrado ''?'' se interpreta como "**sólo cualquier único carácter**"+
  
 Por ejemplo, podrías ordenar: Por ejemplo, podrías ordenar:
Línea 94: Línea 92:
 </code> </code>
  
-...pero no listará el capitulo10.+...pero no listará el ''capitulo10''.
  
-Afortunadamente podrás listar //capitulo10// hasta el //capitulo99//. simplemente ingresando doble signo interrogación ''??'' para buscar dos caracteres cualquiera. Si indincas ''???'' podrías encontrar tres caracteres cualquiera.+Afortunadamente, si utilizas //__doble__ cierre de interrogación// (''??''), el intérprete buscará __dos__ caracteres cualesquiera:
  
 <code bash> <code bash>
Línea 102: Línea 100:
 </code> </code>
  
 +...y podría dar desde ''capitulo10'' hasta ''capitulo99''. De la misma forma, procediendo con  ''???'' se buscarán tres caracteres cualquiera, etc, etc.
  
-=== [] === 
  
  
-Los corchetes ''[]'' permiten determinar un **rango de cualquier caracter determinado**. Por ejemplo, si introduces la siguiente delimitación dada:+ 
 +=== Rangos ([]) === 
 + 
 +Utiliza los //corchetes// ''[]'' para incluir cierto **rango de cualquier caracter delimitado**. Por ejemplo, si introduces la siguiente delimitación:
  
 <code bash> <code bash>
Línea 112: Línea 113:
 </code> </code>
  
-...si existiesen en el directorio actual, podrías recibir el listado de los ficheros ''gata'', ''pata'' y ''rata''.+...el intérprete podría listarte los ficheros ''gata'', ''pata'' y ''rata'' (si existiesen en el directorio actual, claro está).
  
-El entre-corchete puede utilizarse también para indicar __rangos alfanuméricos__. Esto es muy útil. Por ejemplo, podrías indicar:+Puedes utilizar también el encorchetado si deseas manifestar **rangos numéricos**. Esto es muy útil. En este sentido podrías ordenar:
  
 <code bash> <code bash>
Línea 120: Línea 121:
 </code> </code>
  
-...y con ello lograrías presentar en tu terminal los contenidos de los ficheros ''capitulo2'', ''capitulo3'' y ''capitulo4''.+...lo que lograría concatenar los contenidos de los ficheros ''capitulo2'', ''capitulo3'' y ''capitulo4'' en tu terminal.
  
-Como se ha dicho, no sólo podrás delimitar un rango de //números//, sino que también podrás delimitar //letras//. ''[a-z]'' responderá a minúsculas, mientras que ''<nowiki>[A-Z]</nowiki>'' lo hará con mayúsculas. El resultado suele presentarse en orden alfabético.+También podrás delimitar **letras alfabéricos**. ''[a-z]'' responderá a letras minúsculas, mientras que ''<nowiki>[A-Z]</nowiki>'' lo hará con letras mayúsculas. El resultado suele presentarse en orden alfabético.
  
 ==== Metacaracteres de redirección ==== ==== Metacaracteres de redirección ====
Línea 149: Línea 150:
  
  
-==== Ejecución en Segundo Plano: & ==== 
- 
-Algunos comandos ejecutados en el //shell// podrían tardar mucho tiempo en ejecutarse. Podría ser conveniente que dejes esos comandos en segundo plano y liberes tu terminal de modo que puedas continuar ingresando otras órdenes al intérprete. 
- 
-El carácter et o "ampersand", el ''&'', se agrega al final de un comando, para provocar su **procesamiento en segundo plano**. 
- 
-Esto se hace ingresando: 
- 
-<code bash> 
-comando & 
-</code> 
- 
-Por ejemplo, el comando ''[[grep]]'' se utiliza para realizar búsquedas de cadenas de texto. Podrías usarlo para buscar en segundo plano todas las existencias de la cadena ''Mengana'' en todos los ficheros del directorio, de la siguiente manera: 
- 
-<code bash> 
-grep Mengana * & 
-</code> 
- 
-La terminal devolverá un identificador de proceso, el cual estará activo mientras se trabaja. Este número de proceso es esencial para poder eliminarlo. 
  
 ==== Ejecución Secuencial ==== ==== Ejecución Secuencial ====
Línea 200: Línea 182:
 </code> </code>
  
 +==== Ejecución en Segundo Plano: & ====
 +El carácter et o "ampersand", el ''&'', se agrega al final de un comando, para provocar su **procesamiento en segundo plano**.
 +
 +Esto se hace ingresando:
 +
 +<code bash>
 +comando &
 +</code>
 +
 +__**Ver también**__: [[creacion_de_trabajos_en_texto-plano|Multitarea en texto-plano.xyz]]
 +
 +>Algunos comandos ejecutados en el //shell// podrían tardar mucho tiempo en ejecutarse. Podría ser conveniente que dejes esos comandos en segundo plano y liberes tu terminal de modo que puedas continuar ingresando otras órdenes al intérprete.
 +
 +Por ejemplo, el comando ''[[grep]]'' se utiliza para realizar búsquedas de cadenas de texto. Podrías usarlo para buscar en segundo plano todas las existencias de la cadena ''Mengana'' en todos los ficheros del directorio, de la siguiente manera:
 +
 +<code bash>
 +grep Mengana * &
 +</code>
 +
 +La terminal devolverá un identificador de proceso, el cual estará activo mientras se trabaja. Este número de proceso es esencial para poder eliminarlo.
  
  
Línea 209: Línea 211:
 === Desactivar los caracteres especiales entrecomillando === === Desactivar los caracteres especiales entrecomillando ===
    
-  * ''%%''%%'' Si usas diéresis todos los metacaracteres contenidos entre ellas no serán interpretados.+  * ''%%''%%'' Si usas apóstrofos todos los metacaracteres contenidos entre ellas no serán interpretados.
  
   * ''%%""%%'' Si usas comillas todos los metacaracteres contenidos entre ellas no serán interpretados, exceptuando ''$'', ''%%\%%'' y ''%%'%%''.   * ''%%""%%'' Si usas comillas todos los metacaracteres contenidos entre ellas no serán interpretados, exceptuando ''$'', ''%%\%%'' y ''%%'%%''.
  
  
-Los meta-caracteres no serán interpretados cuando aparecen entrecomillados. La diéresis simple desactiva todos los meta-caracteres, mientras que las comillas lo hacen con todos con excepción de ''$'', ''%%\%%'' y ''%%'%%''.+Los meta-caracteres no serán interpretados cuando aparecen entrecomillados. El apóstrofo simple desactiva todos los meta-caracteres, mientras que las comillas lo hacen con todos con excepción de ''$'', ''%%\%%'' y ''%%'%%''.
  
 Estos delimitadores separan argumentos, y le dicen al intérprete cuando termina un argumento y cuando inicia otro.  Estos delimitadores separan argumentos, y le dicen al intérprete cuando termina un argumento y cuando inicia otro. 
Línea 231: Línea 233:
  
 $ echo "\"El juego de la \$Plata\"" $ echo "\"El juego de la \$Plata\""
 +"El juego de la $Plata"
 +
 +#tAmbién podría ignorarse su interpretación parcial del contenido entre apóstrofes:
 +$ echo '"El juego de la $Plata"'
 "El juego de la $Plata" "El juego de la $Plata"
 </code> </code>
Línea 237: Línea 243:
 Los acentos agudos ''<nowiki>`</nowiki>'' se utilizan para definir una expansión de comandos anidados. Los acentos agudos ''<nowiki>`</nowiki>'' se utilizan para definir una expansión de comandos anidados.
  
-Cuando se utilizan las diéresis inversas alrededor de un texto, el intérprete reemplaza el texto entre las diéresis inversas con la devolución de la ejecución del comando anidado.+Cuando se utilizan los acentos graves ''`...`'' alrededor de un texto, el intérprete reemplaza el texto entre los acentos graves con la devolución de la ejecución del comando anidado.
  
 Por ejemplo, este comando anidará una solicitud del navegador w3m para conocer la IP local, y la devolución la incorporará dentro de una cadena de texto informativa personalizada, gracias al comando Echo. Por ejemplo, este comando anidará una solicitud del navegador w3m para conocer la IP local, y la devolución la incorporará dentro de una cadena de texto informativa personalizada, gracias al comando Echo.
  • lenguaje_del_interprete_de_comandos.1677726697.txt.gz
  • Última modificación: 2023/03/02 03:11
  • por peron