Diferencia entre revisiones de «Introducción a Linux/Comandos»

Contenido eliminado Contenido añadido
m Bot: Correcciones ortográficas; cambios triviales
Sin resumen de edición
Línea 1:
Los comandos, en su mayor parte, no son realmente más que pequeños programas incorporados en el sistema operativo. Técnicamente, ubicadoslo enúnico carpetasque clavediferencia comolos /bin (comandos básicosde paralos serprogramas usados(o porde usuarioslos normalesscripts) oes /sbinque (específicoslos paracomandos elsiempre superusario)están en carpetas muy concretas (/bin, /usr/bin, y poren loel tantocaso accesiblesde desdehaber cualquieriniciado partesesión delcomo discosuperusuario, según/sbin), estáasí diseñadoque GNU/Linuxno es necesario especificar dónde se encuentran.
 
Por ello, todas las reglas de sintaxis aplicables a los comandos son aplicables a cualquier programa, siempreo que[[El estéManual operandode ustedBASH enScripting laBásico carpetapara quePrincipiantes|script contienede dichoBash]], programacon oun alcambio: menosen unlugar enlacede simbólicoescribir ael él.nombre (Dedel hechocomando, sihay unque programaespecificar noexactamente existedónde enesta lael carpetaprograma deo trabajoscript actual,(la GNU/Linuxruta lodel buscaráprograma en las carpetas anteriores y eno /usr/binscript)
 
Más abajo se dan ejemplos más concretos, pero como ejemplo introductorio, usaré los comandos <code>cd</code> (cambiar directorio actual) y <code>ls</code> (mostrar contenido de directorio actual)
También son aplicables a los scripts ejecutables de [[:w:es:Bash|Bash]], con la salvedad de que hay que anteponer un punto y una barra hacia adelante al nombre (como en el comando <code>./configure</code>, que arranca el script configure, script de ayuda a la instalación presente en muchos programas.
 
==Reglas de sintaxis==
Como última aclaración, las rutas siempre son relativas a la carpeta actual (es decir, en la carpeta /tmp/, el nombre pulse se refiere al archivo /tmp/pulse) a menos que anteponga una barra antes (en cuyo caso serían relativas a /, la carpeta raíz, indicador de ruta absoluta, como en el ejemplo anterior /tmp/)
===Capitalización===
* Regla número 1: la distinción entre mayúsculas y minúsculas es crucial. Los nombres de los comandos siempre se escriben en minúsculas; laslos opcionesparámetros cambian de significado o son inservibles si se confundenusa la capitalización incorrecta.
 
anais@pepeluis:~$ LS -L
* Regla número 1: la distinción entre mayúsculas y minúsculas es crucial. Los nombres de los comandos siempre se escriben en minúsculas; las opciones cambian de significado o son inservibles si se confunden
bash: LS: no se encontró la orden
* Regla número 2: todos los parámetros se separan por espacios; la consola reconoce la primera palabra como el nombre del comando, y cada cadena de texto entre espacios como un parámetro (a excepción de los operadores, también separados entre espacios; ver más abajo). Para que un espacio no actúe como separador de parámetros (en una ruta de archivo, por ejemplo) antepóngase la barra inversa \. Ejemplo: <code>cd ~/Personajes/Froilán\ de\ Todos\ los\ Santos</code>
anais@pepeluis:~$ ls -l
Estas barra se conoce como carácter de escape, y le da un significado diferente al carácter siguiente. Por ejemplo, \n significa salto de línea, y \\ significa barra inversa.
drwxr-xr-x 1 pepeluis pepeluis 4096 mar 4 20:08 Documentos
drwxr-xr-x 2 pepeluis pepeluis 4096 mar 4 20:08 Escritorio
drwxr-xr-x 1 pepeluis pepeluis 4096 mar 8 19:37 experimento
anais@pepeluis:~$ ls -L
Documentos Escritorio experimento
 
===Parámetros (dije Ortega y Gasset, no ''Ortega'' y ''Gasset'')===
Regla número 2: todos los parámetros se separan por espacios; la consola reconoce la primera palabra como el nombre del comando (o la ruta del programa) y cada cadena de texto entre espacios como un parámetro.
 
anais@pepeluis:~$ cd Documentos
anais@pepeluis:~/Documentos:$ ls
drwxr-xr-x 1 pepeluis pepeluis 4096 mar 4 23:24 Pinky y Cerebro
drwxr-xr-x 2 pepeluis pepeluis 4096 mar 6 13:35 Recetas de cocina
anais@pepeluis:~/Documentos:$ cd Pinky y Cerebro
bash: cd: Pinky: No existe el fichero o el directorio
 
El sistema entendió "acceder a la carpeta Pinky" (el comando <code>cd</code> solo admite un argumento y considera los siguientes cháchara; otro comando podría haber intentado acceder a los archivos "Pinky", "y" y "Cerebro", por ejemplo). Para poder usar un espacio, lo más fácil es entrecomillar el nombre entre apóstrofos:
 
anais@pepeluis:~/Documentos$ cd 'Pinky y Cerebro'
anais@pepeluis:~/Documentos/Pinky y Cerebro:$
También se pueden escribir las primeras letras y pulsar la tecla Tabulación para activar el autocompletado. El resultado sera éste:
 
anais@pepeluis:~/Documentos$ cd Pinky\ y\ Cerebro
 
(de haber varias opciones posibles, mantener pulsada la tecla Tabulación para que aparezcan todas en pantalla. Tecléense unas cuantas letras más, y vuélvase a probar)
 
La barra inversa (\) se llama "carácter de escape". Esto significa que modifica el significado del carácter siguiente: por ejemplo, <code>\n</code> significa "salto de línea". La barra es necesaria porque hay varios símbolos que tienen un significado especial en Bash (el espacio es el más evidente). Si entrecomilla los nombres de sus parámetros, debería bastar con escapar los apóstrofos (\'), y las barras inversas (\\).
 
Esta barra se puede conseguir pulsando Alt Gr + º (símbolo de ordinal) en teclados españoles.
 
=== Rutas ===
En ciertos casos se puede simplemente entrecomillar la ruta, ej: <code>cd "Tales of the Abyss"</code>
A estas horas ya habrá advertido el significado de la barra hacia adelante (/); la carpeta que va después de ella está contenida dentro de la carpeta que va antes de ella. Una barra hacia adelante suelta indica el directorio raíz
* Regla número 3: los comandos se teclean tal como aquí, excepto los parámetros entre corchetes (que son opcionales, y de escribirse, se escribirán sin ellos) y entre símbolos &lt;&gt; (a cambiar por el valor o ruta que haga falta; igualmente se escriben sin símbolos &lt;&gt;).
 
* Regla número 4: las opciones se escriben anteponiendo un guion, si constan de una sola letra; o dos si constan de varias. En casi todos los comandos (o por lo menos en todos los comandos de sistema) todas las opciones que se utilicen de una sola letra se pueden contraer juntando todas las letras y usando un solo guion al principio. Esto funciona excepto cuando las opciones necesiten a su vez parámetros. <br />Ejemplo: <code>ls -a -l</code> equivale a <code>ls -al</code>
Cada vez que sea necesario escribir una ruta como un parámetro, se puede escribir:
* Regla número 5: esta es una lista muy reducida que ofrece las opciones más típicas de los comandos más usados. Para más información, use los comandos de ayuda.
*explicitando la ruta exacta, en referencia al directorio raíz (si la ruta empieza con una barra)
*indicando la ruta en referencia a la carpeta actual (como se hizo en los ejemplos anteriores)
*en referencia a una de las siguientes abreviaturas (también se pueden usar solas)
**<code>.</code> para la carpeta actual. (<code>Pinky y Cerebro</code> sería sinónimo con <code>./Pinky y Cerebro</code>) Conveniente para mover archivos desde una carpeta arbitraria a la carpeta actual, o para ejecutar scripts en la carpeta actual
:Curiosamente, es posible escribir <code>rm experimento</code> para borrar el archivo "experimento", pero para arrancarlo es necesario escribir <code>./experimento</code>, a menos que esté en una de las carpetas clave. Es decir, el punto no es obligatorio para los parámetros, pero sí para los nombres del programa a ejecutar.
**<code>..</code> para el directorio inmediatamente superior. (muy fácilmente combinable: <code>../..</code> indica el directorio superior del superior; <code>../../yinlao</code> indica la carpeta "yinlao" que está en el directorio superior del superior del actual; etc.)
**<code>~</code> para la carpeta personal (depende de qué nombre haya usado para iniciar sesión)
 
=== Opciones (un tipo especial de parámetros) ===
 
* Regla número 43: las opciones se escriben anteponiendo un guion, si constan de una sola letra; o dos, si constan de varias. En casi todos los comandos (o por lo menos en todos los comandos de sistema) todas las opciones que se utilicen de una sola letra se pueden contraer juntando todas las letras y usando un solo guion al principio. Esto funciona excepto cuando las opciones necesiten, a su vez, parámetros; en este caso, el parámetro se aplica a la última opción. <br />Ejemplo: <code>ls -a -l</code> equivale a <code>ls -al</code>
 
== Lista de comandos ==
 
Esta es una lista muy reducida que ofrece las opciones más típicas de los comandos más usados. Los parámetros entre signos menor que y mayor que (&lt;&gt;) deben sustituirse por el valor adecuado; los corchetes indican que el parámetro es opcional. No deben escribirse los corchetes ni los símbolos menor que y mayor que, a menos que sean parte del parámetro.
 
Para más información, use los comandos de ayuda.
 
=== Comandos de ayuda ===
 
{| class="wikitable" border="1"
Línea 24 ⟶ 71:
! Explicación
|-
| info || Información general autoexplicativa. Excesivamente detallada; clasifica los comandos según utilidad.
|-
| man &lt;comando&gt; || Manual completo (o casi completo) sobre un comando<br />Existe un manual para el propio comando man, al que se accede por <code>man man</code>
Línea 37 ⟶ 84:
|}
 
=== Administración de carpetas y archivos ===
{| class="wikitable" border="1"
! Sintaxis
Línea 176 ⟶ 223:
|}
 
=== Relativos a permisos y usuarios ===
{| class="wikitable" border="1"
! Sintaxis
Línea 258 ⟶ 305:
|}
 
=== Manejo de ficheros de texto ===
En general los siguientes comandos se utilizan en la práctica anidados en tuberías de forma que la salida de un comando se utiliza como entrada para el siguiente eliminando la opción <ruta> lo cual le indica al comando que utilize como fichero de entra la salida del comando anterior. P.ej, para mostrar los 10 primeros resultados de un fichero de texto conteniendo la palabra "amarillo" ejecutaríamos un comando similar a:
cat "fichero de texto" | grep -i amarillo | head -n 10
Línea 273 ⟶ 320:
|}
 
=== Monitorización ===
En general, las opciones de monitorización pueden ser considerados comandos de nivel avanzado o muy avanzado.
{| class="wikitable" border="1"
Línea 302 ⟶ 349:
|}
 
=== Gestión de energía ===
Permite controlar parámetros sobre la gestión de energía, como la frecuencia de la CPU, deshabilitar USBs no usados, ...
{| class="wikitable" border="1"
Línea 311 ⟶ 358:
|}
 
=== Operadores ===
{| class="wikitable" border="1"
! Sintaxis