Professional Documents
Culture Documents
net/faq/sujet-387-guia-de-uso-del-shell-para-principiantes#iii-como-acceder-a-la-linea-de-comandos
Domingo 30 noviembre 2008 - 01:23:04 registrados : 1086235 conectados : 25448 preguntas/dia : 4561 % respuestas : 77.35%
SHELL BASH – GUIA DE USO – Nivel Principiante Guia para djs principiantes
Shell linux
Introducción Tipos de shell
Llamado a los miembros de Kioskea Utilizar uso compartido simple de archivos
Ejemplo: Acceder a la consola 3 desde la interfaz gráfica 01:16 QUIERO CREA MI CORREO (Mensajerias y chat
V. Conexión en una consola virtual 01:02 como actualizo el avira AntiVir... (Virus/seguridad
01:00 saber d msm (Mensajerias y chat)
Ejemplo:
00:33 ares no funciona (Software)
VI. El prompt del shell después de la conexión
VII. Regresar al modo gráfico desde una consola virtual 00:11 driver sonido Conexant Cx20561 @... (Drivers)
VIII. El entorno shell 00:09 drivers (Drivers)
IX. Variables de entorno importantes
00:08 que es 4x? (Videojuego)
Ejemplo de visualización:
X. Archivos de configuración
XI. ¿Por qué utilizar la línea de comandos?
XII. Nociones de comando
Ejemplo: el comando ls
Ejemplos:
Las redirecciones
Ejemplos de redirecciones:
Los pipelines
Ejemplo de pipelines
Ejemplo: Ls en lugar de ls
Introducción
Invito a los miembros contribuidores de Kioskea a hacer las correcciones necesarias, a modificar o
añadir trucos que sean de utilidad para un principiante en línea de comandos (evitando los temas muy
complicados, ya que ese no es el propósito de este tutorial).
Invito también a los miembros que no son contribuidores de Kioskea, a que me hagan saber de
posibles errores y sus sugerencias.
El objetivo de este tutorial es el de permitir a un principiante en línea de comandos a que se las arregle
de manera favorable.
Este pequeño tutorial, lejos de ser completo le permitirá conocer el Shell como un programa y no como un
lenguaje de programación.
Voy a intentar ser corto en lo que respecta a cada capítulo (explicaciones concisas y claras), ya que este
tutorial puede resulta para algunos bastante largo, de allí la idea de crear varios capítulos.
No es necesario leer el tutorial de inicio a fin. Puede acceder directamente al capitulo que le interese en
función de sus necesidades.
Para encontrar una respuesta más precisa les recomiendo que visiten esta página SHELL en inglés.
El resto de este tutorial trata únicamente del shell Shell bash que es el Shell por defecto en las
distribuciones GNU/Linux.
El Shell permite ejecutar comandos, explorar el árbol de directorios del sistema, crear, editar y eliminar
archivos, etc.
III. ¿Cómo acceder a la línea de comandos?
Para acceder a la línea de comandos, es posible utilizar un terminal (xterm, kterm, gterm) o también
konsole.
La consola virtual (tty, tty6) es una pantalla negra donde aparece un prompt, de la forma login:
Desde la interfaz gráfica, es posible conectarse a una consola virtual utilizando la combinación de teclas
Ctrl+Alt+FN, donde N es un número del 1 al 6
CTRL+ALT+F3
Una vez que esté en una consola virtual, la navegación entre las consolas se hace con la combinación de
teclas Alt+FN, donde N es un número del 1 al 6.
Cuando se le pida el login: ingrese el login del usuario, luego presione Enter para validar, se le pedirá el
Password: Ingrese la contraseña del usuario y valide.
la contraseña no se muestra en la pantalla por razones de seguridad. No debe preocuparse por no
ver lo que ingresa en la pantalla.
Ejemplo
VI. El prompt del shell despues de la conexion
nom@maquina ~ $
nom – representa el nombre del usuario conectado
maquina – representa el nombre del equipo
~ es un acceso directo (atajo) que significa el directorio personal /home/usuario
$ significa que está conectado como usuario
Si en lugar de $ aparece el signo #, entonces quiere decir que está conectado como superusuario (root.
Recuerde que los sistemas Gnu/Linux utilizan por convención # para root y $ para un usuario que no sea
root.
Puede cambiar esto, modificando la variable de entorno PS1, ¡pero no es aconsejado!
Para regresar al modo gráfico desde una consola virtual, utilice la combinación de teclas ALT + F7
Después de conectarse, el usuario es conectado a su entorno. Esto significa que el Shell pone a su
disposición variables de entorno, es decir un contenedor de memoria en el que son almacenados los
datos.
Para mostrar el contenido de una variable de entorno puede ser utilizado el comando echo
$NOM_VARIABLE.
El nombre de las variables de entorno es por convención en mayúsculas, por lo tanto es necesario
respetar esto.
Ejemplo de visualización:
Durante la conexión, en una consola virtual o cuando se abre un terminal en modo gráfico, el shell utiliza
información que se encuentra en ciertos archivos (.bashrc, .bash_profile, etc)
En lo que respecta a la configuración del Shell deberá esperar un poco, eso no se hará de inmediato.
Deberá aprender a hacerlo con el tiempo, por lo tanto no sea impaciente.
Una gran cantidad de soluciones están dadas en línea de comandos, no es que GNU/Linux no tenga una
interfaz gráfica, pero en ciertas tareas, el uso de la línea de comando es muchos más práctico y potente
que el famoso ratón.
Un comando es un archivo ejecutable. La ejecución de un comando puede ser diferente dependiendo del
caso.
Los comandos utilizados en este capitulo son a modo de ejemplo, por lo que no se obstine en entenderlos
si tuviera algún problema con alguno de ellos. Los comandos básicos serán detallados posteriormente.
Ejemplo: el comando ls
con argumento
Los comandos que puede ejecutar desde su terminal se encuentran en ciertos directorios del sistema.
La variable PATH (en español: “ruta”) contiene una lista de directorios, los cuales contienen los comandos
a los que puede acceder. Para poder acceder a todos los comandos es necesario ser root.
Para encontrar la ubicación de un comando, utilizamos "whereis" (en español “dónde está”):
o también "which"
Ejemplos:
Mire la parte SEE ALSO e identificará las páginas que se recomiendan consultar. Esto significa que
podemos ingresar:
man 5 crontab
man 8 cron
3. la tecla “q” para salir de la página man y regresar al prompt
NAME
comando – resumen de la acción del comando
SYNOPSYS
<sintaxis completa del comando>
DESCRIPTION
Explicaciones concernientes a la ejecución del comando
OPTIONS
Lista de opciones disponibles y lo que hacen
FILES
Los archivos utilizados por el comando
SEE ALSO
comando_primo(1), comando_hermano(5), etc.
BUGS
los bugs que existen en el comando
AUTHOR
Un comando puede ser ejecutado en segundo plano, para ello debe utilizar ampersand (&) después del
nombre del comando. La ejecución de un comando en segundo plano permite dar la mano al Shell
después de la ejecución.
Desde el Shell tiene la posibilidad de tomar la identidad de otro usuario existente en el sistema, incluido el
usuario “root”.
En los sistemas de la familia Unix, la raíz representa la cumbre del árbol de directorios. Esta es
representada por el carácter / (slash) y significa “root” (raíz en español)
Todos los directorios del sistema están ligados a la raíz de manera directa o indirecta.
Algo muy importante que debemos saber cuando estamos conectados a un Shell, es saber donde nos
encontramos en el árbol de directorios.
La ruta absoluta representa el árbol de directorios completo de los archivos, comenzando por la raíz.
Ejemplo:
La ruta relativa para acceder a un archivo es el árbol de directorios relacionado a su ubicación en el Shell.
Utilizamos las notaciones . y/o ..
XXVI. Historial
El autocompletado nos permite ahorra tiempo en cuanto a la escritura del comando y a la vez nos da
seguridad en cuanto a la sintaxis.
El editor vi
Muy útil sobretodo cuando tenemos un problema con el modo gráfico.
Haga una copia de respaldo del archivo original, para esto utilizamos el comando “cp” (copia) seguido del
archivo fuente seguido del archivo destino (aquí inexistente), añadimos “.original” al final del nombre del
archivo para distinguir la copia de respaldo del nuestro archivo:
Etapa II – Abrir el archivo
El uso del alias es muy práctico para los comandos largos que se utilizan regularmente. Esto evita
volverlos a escribir. El uso excesivo de los alias puede hacer que olvide los comandos y sus opciones.
source /home/user/.bashrc
En primer lugar vamos a comenzar con una pequeña explicación con respecto a los descriptores de las
“entradas-salidas”:
todo lo que se escribe en el Shell es llamado STDIN (STandarDINput)
todo lo que ve en la pantalla puede ser:
STDOUT (STandarDOUTput)
STDERR (STandarDERRor)
Las redirecciones
Ejemplos de redirecciones:
-busca en la raíz el archivo denominado archivo.txt, los errores en lugar de ser enviados a STDERR (en la
pantalla) son enviados a /dev/null (especie de papelera de reciclaje sin fin)
-busca en la raíz el archivo denominado archivo.txt, los errores en lugar de ser enviados a STDERR (en la
pantalla) son enviados a los archivos error.txt
Los pipelines
Ejemplo de pipelines
Para comenzar ejecutamos perl -ne 'print unless /^\s*$/' guideshell con el fin de mostrar el archivo en
la pantalla, las líneas vacías son eliminadas.
En lugar de mostrar en pantalla utilizamos | para pasar el resultado al comando wc que completará el
número de líneas de este archivo
-el paralelismo &
echo a se ejecuta
esperamos 1 segundo
echo b se ejecuta
esperamos 2 segundos
echo c se ejecuta
Para facilitar el ingreso de comandos el Shell pone a su disposición meta-caracteres, llamados también
caracteres genéricos o jockers.
* - corresponde a cualquier carácter y número de carácter
? - corresponde a un sólo carácter
[...] – corresponde a un carácter que se encuentra entre corchetes
Ejemplo: Ls en lugar de ls
Error mostrado por el Shell cuando intenta ejecutar un comando en un archivo que no existe en la ruta
precisada.
Soluciones
-busque el archivo con el comando find para ver si existe en el disco y conocer su ruta verdadera.
Los caracteres reservados para el Shell deben ser evitados para obtener el carácter literal.
2. El espacio
Tomemos el ejemplo de un archivo que se llama: mi archivo.txt
Si escribe ls -l mi archivo.txt para ver los atributos de este archivo, entonces preste atención ya que no
obtendrá el resultado deseado.
¿Por qué?
Porque el Shell leerá: Mostrar los atributos de los archivos “mi” y “archivo,txt”
Para pedir al Shell que muestre lo que uno desea, debemos utilizar lo que pone a nuestra disposición
ls -l mi\ archivo.txt – sintaxis ok (el anti slash permite leer el espacio como un carácter y no como un
separador de argumentos del comando)
ls -l 'mi archivo.txt' – sintaxis ok (los apostrofes simples tratan cada carácter de manera literal)
PREGUNTA: ¿Cómo puedo leer un apostrofe simple de manera literal entre 2 apostrofes simples?
El espacio también tiene como función separar los argumentos en la línea de comandos.
Emplear un simple espacio en un lugar donde no debe ir puede ser fatal para todo el sistema.
Supongamos:
El root desea eliminar una carpeta X. Para ello, éste va a utilizar el comando rm con las opciones f
(fuerza) y R (recursivo).
La carpeta que se desea eliminar se llama a_eliminar y se encuentra en /home/yogi/a_eliminar
a. comando correcto
b. comando incorrecto (error de escritura) => sistema eliminado
Explicación:
Observará que en el segundo caso, por error he escrito un espacio entre / y home.
¿Qué pasa?
El Shell creerá que el comando rm debe eliminar en primer lugar la raíz / y luego home/yogi/a_eliminar.
Les tengo que decir que acaba de borrar todos los datos de su sistema.
"home/yogi/a_eliminar" no existe, y su sistema ya no existe.
Si ingresa / y enseguida la tecla TAB 2 veces, varias opciones aparecerán en la pantalla. Normalmente son
los directorios de la raíz: boot,bin...home...,var.
Sólo tiene que agregar una h para home y de nuevo TAB 2 veces y así sucesivamente.
Para reconocer el espacio como carácter y no como separador de parámetros es necesario protegerlo
(ponga un anti-slash delante)
,
Ha entendido que necesitábamos crear un archivo aa y un archivo bb
Corrijamos esto:
En lugar del anti slash podemos utilizar los apostrofes simples touch 'aa bb'
Si el comando se hace demasiado largo puede pasar a la línea siguiente utilizando el carácter \
Linux - Shell
El intérprete de comandos es la interfaz entre el usuario y el sistema operativo. Por esta
razón, se le da el nombre inglés "shell", que significa "caparazón". Por lo tanto, la shell actúa
como un intermediario entre el sistema operativo y el usuario...
es.kioskea.net/linux/linshell.php3
1 2 3 Siguiente