Está en la página 1de 28

http://es.kioskea.

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%

En Kioskea FAQ Foro Descargas Actualidades Artìculos


Buscar
Conexión

Portada Foro Trucos Descargas Actualidad

Trucos Sistemas Operativos Linux Shell Formato imprimible

Bash Scripts Sed VÉASE TAMBIÈN


GUIA DE USO DEL SHELL PARA PRINCIPIANTES Derechos de uso multimedia
Publicado por Carlos-vialfa, última actualización le jueves 14 agosto 2008 à 23:49:08 por Carlos-vialfa Funciones y usos de los sistemas operativos
Guia de uso de ultimate boot cd 4
Guia de uso del formato pdf

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

II. ¿Qué es el Shell?


III. Cómo acceder a la línea de comandos
NECESITAN SU AYUDA
IV. Las consolas virtuales

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

XIII. ¿Dónde se encuentran los comandos?

Ejemplo: búsqueda del comando iptables con which

XIV. La documentación (las páginas "man")

Ejemplos:

XV. La estructura de una página man


XVI. Algunas reglas para comprender SYNOPSYS y/o OPTIONS
XVII. Comandos básicos
XVIII. Ejecución de un comando

Ejemplo: ejecución de firefox desde la línea de comando

XIX. Cambiar de identidad (cambiar de usuario)


XX. La raíz
XXI. Los directorios "." y ".."
XXII. ¿Dónde estoy? (posición en el árbol de directorios)
XXIII. La ruta absoluta
Ejemplo:
XXIV. La ruta relativa

Ejemplo: el directorio actual.


Ejemplo: el directorio padre ..

XXV. Cómo desplazarse en el árbol de directorios


XXVI. Historial
XXVII. El auto-completado de comando

Ejemplo: comando tail utilizando la ruta absoluta


ls /u + TAB + b + TAB + ta + TAB + TAB + i + TAB

XXVIII. Edición de archivos (vi,vim)

Etapa I – MUY RECOMENDADO


Etapa II – Abrir el archivo
Etapa III – Edición del archivo
Etapa IV - Terminar la edición del archivo
Etapa V – Guardar las modificaciones y salir de vi

XXIX. Los alias


XXX. Las redirecciones y los pipelines

Las redirecciones
Ejemplos de redirecciones:
Los pipelines
Ejemplo de pipelines

XXXI. Los meta-caracteres del Shell


XXXII. Trucos y Tips
XXXIII. Midnight Commander (alias mc)
XXXIV. Error: comando not found

Ejemplo: Ls en lugar de ls

XXXV. Error: Ningún archivo o directorio de este tipo


XXXVI. Error: Permiso denegado
XXXVII. Consejos de redacción

Ejemplo: eliminación de la raíz a causa de un simple espacio


Otro ejemplo con el espacio
XXXVIII. Ejecutar un script

Introducción

Llamado a los miembros de Kioskea

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.

II. ¿Qué es el Shell?

Para encontrar una respuesta más precisa les recomiendo que visiten esta página SHELL en inglés.

El Shell es un programa que se encuentra en el directorio /bin.

Se distinguen varios tipos de Shell

- el /bin/sh shell Bourne


- el /bin/bash shell Bourne Again SHell
- el /bin/csh C shell
- el /bin/ksh Korn shell
- el /bin/tcsh C shell mejorado
- el /bin/zsh/ Z shell

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.

Kterm – es un terminal emulador multi-lengua basado en xterm.


Las principales diferencias entre kterm y xterm son:
la posibilidad de procesar texto multi-lengua codificado en ISO2022, *mostrar el texto coloreado (ver
man kterm).

Para esto, tenemos dos posibilidades:


utilizar el menú del escritorio (Gnome, Kde, etc.). Este método recomendado.
utilizar el menú ejecutar una aplicación. En la ventana abierta, escriba el nombre del terminal y valide.
La ventana ejecutar una aplicación puede ser abierta con Alt + F2
utilizar las consolas virtuales (hay 6).

IV. Las consolas virtuales

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

Ejemplo: Acceder a la consola 3 desde la interfaz gráfica

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.

V. Conexión en una consola virtual

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.

Si la contraseña es valida, aparecerá el prompt, indicando que la conexión ha sido satisfactoria.

Ejemplo
VI. El prompt del shell despues de la conexion

El prompt del shell tiene por lo general la forma siguiente:

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!

VII. Regresar al modo gráfico desde una consola virtual

Para regresar al modo gráfico desde una consola virtual, utilice la combinación de teclas ALT + F7

VIII. El entorno shell

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.

IX. Variables de entorno importantes

HOME, USER, GROUPS, UID, PWD, SHELL, PATH, HOSTNAME


HOME contiene el directorio del usuario
USER contiene el login del usuario
PWD contiene el directorio actual
SHELL contiene el nombre del Shell de conexión
PATH contiene la lista de directorios donde se encuentran los comandos que el usuario puede
ejecutar
HOSTNAME contiene el nombre del equipo
HOSTSIZE contiene el tamaño máximo de los comandos ejecutados contenidos en el archivo histórico
PS1 contiene la configuración para la visualización del prompt

Ejemplo de visualización:

El comando set permite mostrar las variables y su contenido.


X. Archivos de configuració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)

Editando estos archivos puede ser modificado el comportamiento del Shell.


Por ejemplo el archivo .bashrc es utilizado en el capitulo sobre los alias.

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.

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

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.

XII. Nociones de comando

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

El comando ls muestra el contenido de un directorio. Ver man ls para mayores detalles.


sin argumento y sin opciones
sin argumentos con una o varias opciones

con argumento

con argumento y con una o varias opciones


XIII. ¿Dónde se encuentran los comandos?

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"

La diferencia entre whereis et which


whereis – busca los archivos ejecutables, las fuentes y el manual de un comando
which – busca los archivos ejecutables en la variable PATH

Ejemplo: búsqueda del comando iptables con which

1. El usuario yogi desea saber si el comando iptables existe en el sistema, el resultado es NO

2. verificamos en calidad de usuario root

En realidad el comando iptables existe en el sistema en /sbin. El directorio /sbin al no encontrase en el


PATH del usuario yogi, es normal que which no dé un resultado.
En resumen whereis es más confiable.

XIV. La documentación (las páginas "man")

Acceder a la documentación en línea de comando


man comando
man N comando
N – el número de la página man (lo verá en la parte superior izquierda)
Por regla general en la parte SEE ALSO de una página “man”, encontrará la lista de comandos que se
recomienda consultar que tienen relación directa con el comando que lee en el manual.

Ejemplos:

1. Ejecución del comando man crontab


2. El prompt desaparecerá y se mostrará la página man

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

Para obtener la descripción resumida de un comando, utilizaremos la opción "-f"


man -f comando
whatis comando
Para conocer las secciones que contienen en su presentación una palabra clave, la opción "-k":
man -k comando
XV. La estructura de una página man

COMMAND(1) Manual del usuario Linux COMMAND(1)

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

El nombre del autor

XVI. Algunas reglas para comprender SYNOPSYS y/o OPTIONS

El texto, sin[](corchetes),{}llaves), <>(menor mayor),debe ser escrito tal como aparece


- el texto entre corchetes [] es facultativo
- el texto entre llaves {} contiene las opciones a realizar.
Las opciones son separadas por | o por una coma,
Comando -{a|b} quiere decir comando –a o comando –b pero no comando –ab
- el texto entre <> debe ser reemplazado por el texto apropiado
- los paréntesis (...), utilizados para los parámetros como por ejemplo los nombres
de archivos
- los corchetes []y los <> pueden ser combinados [<nombre_archivo>] – facultativo
pero si lo utiliza debe escribir el nombre del archivo
- los corchetes []y las llaves {} pueden ser combinadas [--opción={a|b|c}]

XVII. Comandos básicos

cat - Lee (concatena)uno o varios archivos, visualización en la salida estándar


cd - ChangeDirectory, cambia el directorio
chmod - CHangeMODe – cambia el modo de acceso (permiso de acceso) de uno
o varios archivos
chown - CHangeOWNer – cambia el propietario de uno o varios archivos
cp - copiar archivos
crontab – planificación de tareas
cut - Retira partes precisas de texto en cada línea de un archivo
date - Muestra la fecha de acuerdo al formato solicitado
dd - DevicetoDevice - Vuelve a copiar octeto por octeto todo o una parte
del contenido de un periférico (mayormente de almacenamiento)a otro periférico.
df - Visualización de la cantidad de espacio libre disponible en todos los sistemas
de archivos
du - DiksUsage – uso del disco
echo - Muestra texto en la salida estándar (en la pantalla)
exit - detiene la ejecución del shell
find - busca archivos
fsck - FileSystemChecK – verifica la integralidad del sistema de archivos
grep - busca en uno o varios archivos las líneas que corresponden a un motivo
groupadd- Agrega un grupo de usuarios
gunzip - descomprime archivos
gzip - comprime archivos
head - muestra las primeras líneas (por defecto 10) de un archivo
help - muestra la ayuda sobre los comandos internos bash
kill - envía una señal a un proceso
less - programa de visualización en pantalla
ln - creación de enlaces
ls - lista el contenido de los directorios
man - muestra las páginas del manual
mkdir - MaKeDIRectory – crea un directorio
mkfs - MaKeFileSystem – creación de sistemas de archivos
more - programa de visualización en pantalla
mount - montar un sistema de archivos
mv - desplazar, renombrar un archivo
ps - muestra los procesos que se están ejecutando
pwd - Print name of current/working directory –
muestra la ruta complete del directorio activo
rm - eliminación de archivos
rmdir -Remove empty directories – eliminación de una
carpeta vacía
tail - muestra las 10 primeras líneas de un archivo
tar - creación de archivos
su - Substitute User identity ou Switch User – toma la identidad de un usuario
uname - Muestra información sobre el sistema.
useradd – agregar un usuario
whereis – localizar un comando

XVIII. Ejecución de un comando

Hay varias maneras de ejecutar un comando.


utilizando simplemente su nombre
utilizando la ruta absoluta
utilizando la ruta relativa
utilizando el alias (práctico para los comandos que se usan frecuentemente y que son largos)

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.

Ejemplo: ejecución de firefox desde la línea de comando

XIX. Cambiar de identidad (cambiar de usuario)

Desde el Shell tiene la posibilidad de tomar la identidad de otro usuario existente en el sistema, incluido el
usuario “root”.

Para esto tiene a su disposición el comando su o su –


Vea como utilizar el comando su para mayores detalles.
XX. La raíz

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.

XXI. Los directorios "." y ".."


. Indica el directorio actual
.. indica el directorio padre
XXII. ¿Dónde estoy? (posición en el árbol de directorios)

Algo muy importante que debemos saber cuando estamos conectados a un Shell, es saber donde nos
encontramos en el árbol de directorios.

El comando pwd (PrintWorkingDirectory) muestra su ubicación en el árbol de directorios.

XXIII. La ruta absoluta

La ruta absoluta representa el árbol de directorios completo de los archivos, comenzando por la raíz.

Ejemplo:

El archivo b.txt se encuentra en /home/user/doc/text


Uno se encuentra en /home/user/ascii

La ruta absoluta hacia b.txt es /home/user/doc/text/b.txt


Cualquiera sea su ubicación en el árbol de directorios el uso de la ruta absoluta es el medio más seguro
para acceder al archivo que se desea.

XXIV. La ruta relativa

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 ..

. nos permite descender en el árbol de directorios del directorio actual.


.. nos permite en un inicio subir en el árbol de directorios con el fin de alcanzar otros directorios.

Ejemplo: el directorio actual.

El archivo b.txt se encuentra en /home/user/doc/text


Nos encontramos en /home/user

El camino relativo hacia b.txt es ./doc/text/b.txt

Ejemplo: el directorio padre ..

El archivo b.txt se encuentra en /home/user/doc/text


Nos encontramos en /home/user/ascii
El camino relativo hacia b.txt es ../doc/text/b.txt
El directorio ascii se encuentra en /home/yogi por lo tanto escribiendo .. voy a utilizar el directorio
padre /home/yogi como punto de inicio luego voy a doc/text (observe que no he escrito /doc/text –
que habría ligado doc de la raíz /)

XXV. Cómo desplazarse en el árbol de directorios

Para desplazarse en el árbol de directorios utilice el comando cd


Cd / ruta / hacia / directorio

Con pwd puede verificar su nueva ubicación en la raíz

XXVI. Historial

Los comandos ejecutados son guardados en un historial.


La variable HISTSIZE contiene el número máximo de comandos que puede guardar.
Puede acceder al historial con el comando history

history [n] | less

n - la opción permite mostrar los n últimos comandos (facultativo)


less – el copmando “less” permite navegar en el historial

las flechas arriba abajo le permiten navegar en el historial


ln – permite ejecutar el comando correspondiente al número “n” en la lista sin tener que volver a
escribirlo

XXVII. El auto-completado de comando

Escribir un comando en un terminal no siempre es fácil.


A pesar de esto, no hay porque preocuparse. El Shell le permite el auto-completado de comandos.

Ejemplo: comando tail utilizando la ruta absoluta

-esto supone que debo escribir /usr/bin/tail

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.

Para hacer el autocompletado utilizamos la tecla TAB


Para eso comenzamos con el primer carácter…
Escribimos /u y presionamos TAB

El Shell completará y escribirá /usr/


En ese momento agregamos una b entonces estamos con /usr/b
Presionamos de nuevo TAB y tendremos /usr/bin/
En ese momento agregamos ta, entonces tendremos /usr/bin/ta
Presionamos 2 veces en TAB

El Shell en el sistema encuentra 4 correspondencias

tac tack tail tasksel


Continuamos y agregamos una i
entonces tendremos /usr/bin/tai
Presionamos de nuevo TAB
y obtenemos /usr/bin/tail

ls /u + TAB + b + TAB + ta + TAB + TAB + i + TAB

Es verdad que explicando da la impresión que es un poco largo.


No se preocupe, es rápido, así escriba con un solo dedo.

XXVIII. Edición de archivos (vi,vim)

El editor vi
Muy útil sobretodo cuando tenemos un problema con el modo gráfico.

Etapa I – MUY RECOMENDADO

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

Etapa III – Edición del archivo

-presione la tecla i para pasar a modo inserción


En la esquina inferior izquierda verá –INSERCION—
-utilice las flechas (derecha, izquierda, arriba, abajo) o Av Pág y Re Pág para desplazarse en el archivo
-la inserción de caracteres se hace encima del cursor con un desplazamiento a la derecha del cursor
-la tecla Supr permite eliminar el carácter que se encuentra encima del cursor.
Etapa IV – Terminar la edición del archivo

Presione la tecla Esc en cuanto haya terminado la edición.


--INSERCION—desaparecerá

Etapa V – Guardar las modificaciones y salir de vi

-presione la tecla: (la debe ver aparecer en la esquina inferior izquierda)


-escriba wq (para WriteQuit)
-presione “Enter”
Regrese al terminal

Es todo para la edición en línea de comando con vi o vim

XXIX. Los alias

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.

Los alias los escribimos en el archivo .bashrc de la manera siguiente


(vea el capitulo XXVIII Edición de archivos (vi, vim) )

alias nom= ‘comando’

Una vez editado el archivo /home/user/.bashrc, escriba

source /home/user/.bashrc

Para tomar inmediatamente en cuenta los alias.

El comando alias muestra los alias existentes.

XXX. Las redirecciones y los pipelines

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)

Estos descriptores son numerados como sigue:


0: entradas estándar (STDIN) <---------------- teclado

Proceso 1: salida estándar (STDOUT) ---------------> pantalla

2: salida errores (STDERR) ----------------> pantalla

Las redirecciones

¿Qué es una redirección?


Es la posibilidad de dirigir el resultado de un comando utilizando otros destinos y no sólo los descriptores
estándar.

Para realizar una redirección utilizamos:


comando > archivo – redirección en modo escritura hacia el archivo
el archivo es creado si no existe
su contenido será reemplazado por el nuevo si el archivo ya existe

comando >> archivo – redirección en modo adición hacia el archivo


el archivo es creado si no existe
el resultado será añadido al final del archivo

comando < archivo – el comando lee desde el archivo

Ejemplos de redirecciones:

- envía el contenido del archivo1 al archivo2


Si el archivo2 existe, su contenido original será eliminado, el archivo2 es creado si no existe

-envía el contenido de archivo1 al archivo2 – modo adición


Si el archivo2 existe, el contenido del archivo1 es añadido al final del archivo2, si el archivo2 no existe,
será creado

-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

comando1 | comando2 - el resultado del comando es utilizado por el comando2


comando1 & comando2 - los comando son ejecutados simultáneamente, comando1
ejecutándose en segundo plano
comando1 && comando2 - si el comando1 funciona el comando2 es ejecutado
comando1 || comando2 - el comando2 se ejecuta solamente si elcomando1 fallo
comando1; comando2 - los comandos son ejecutados en el orden

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 &

Los dos comandos se ejecutan simultáneamente.


-la dependencia &&

Observará que en el 1er caso los dos comandos se ejecutan.


En cambio en el 2do caso he cometido voluntariamente un error de sintaxis para el 1er comando.
El Shell no tiene en cuenta ni siquiera el 2do comando y se detiene diciéndonos que ech no es un
comando conocido.
-la alternativa ||

En el 1er caso observará que solamente el 1er comando se ejecuta.


En el 2do caso el Shell muestra un error para el 1er comando pero sin embargo ejecuta el 2do.
-la secuencia;

echo a se ejecuta
esperamos 1 segundo
echo b se ejecuta
esperamos 2 segundos
echo c se ejecuta

XXXI. Los meta-caracteres del Shell

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

Con los corchetes se puede también utilizar intervalos

[0-9] - cualquier carácter comprendido entre 0 y 9


[a-zA-Z] – cualquier letra comprendida en el intervalo (minúscula y mayúscula)

XXXII. Trucos y Tips

cd : regresar al directorio personal


cd - : regresar al directorio precedente (únicamente si ha ejecutado un cd)

Ctrl+l: limpiar la pantalla


Ctrl+c: detener un comando
Ctrl+z: suspender (hacer una pausa) un comando
CTRL+t: corregir un error de entrada, intercambiando dos letras contiguas
Ctrl+a: ir al inicio de la línea
Ctrl+e: ir al fin de la línea
Ctrl+s: interrupción de la salida del terminal (ocultar el ingreso de datos)
Ctrl+q: anular la interrupción de la salida (mostrar el ingreso de datos)
Ctrl+u: borra todo lo que está a la izquierda del cursor
Ctrl+w: borra la palabra a la izquierda del cursor
Ctrl+k: borra la palabra a la derecha del cursor
Ctrl+y: pegar lo ingresado precedentemente
Ctrl+d: borra el carácter actual, si la línea está vacía desconexión

Alt+b: desplazarse hacia adelante, palabra por palabra en la línea de comando


Alt+f: desplazarse hacia atrás, palabra por palabra en la línea de comando
Alt+d: borra la siguiente palabra
Alt+t: intercambia la palabra actual por la palabra precedente
Alt+c: pone en mayúscula la letra actual, todo el resto de la palabra actual en minúsculas,
luego se desplaza a la siguiente palabra
Alt+l: pone en mayúscula a partir de la letra actual hasta el final de la palabra, luego
se desplaza a la siguiente palabra
Alt+u: pone en minúscula a partir de la letra actual hasta el final de la palabra, luego
se desplaza a la siguiente palabra
Alt+Backspace: borra la palabra precedente (equivalente a Ctrl+w)

XXXIII. Midnight Commander (alias mc)

Midnight Commander - administrador en línea de comandos y una captura de pantalla

Este utilitario le permite navegar, crear, editar, eliminar archivos, etc.


Con mc puede modificar los privilegios, cambiar de propietario, buscar, conectarse a un servidor ftp, etc…
mc puede ser utilizado como explorador

XXXIV. Error: comando not found

Lea este tutorial (Capitulo IV.3) La variable de entorno PATH


Otra causa de este error: no respetó las mayúscula/minúsculas de los caracteres

Ejemplo: Ls en lugar de ls

XXXV. Error: Ningún archivo o directorio de este tipo

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.

XXXVI. Error: Permiso denegado

Este es un problema de privilegios de acceso.


Lea este tutorial: privilegios de acceso

XXXVII. Consejos de redacción

El Shell es muy exigente en lo que respeta a la redacción de los comandos.

Los caracteres reservados para el Shell deben ser evitados para obtener el carácter literal.

Caracteres reservados para el Shell:


el espacio
el punto y coma ;
el slash /
el anti slash \
el carácter | (pipe)
el ampersand &
el punto .
los apostrofes simples ( ‘ ) y dobles ( “ )

En general hay que tener cuidado con los caracteres alfanuméricos.

1. Sensibilidad a las mayúsculas y minúsculas


Si el comando se denomina ls entonces con seguridad Ls no funcionará.
Lo mismo con el nombre de archivos y/o directorios.

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.

Ejemplo: eliminación de la raíz a causa de un simple espacio

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.

POR LO TANTO PRESTE ATENCION A LO QUE ESCRIBE EN EL SHELL!!!

Una solución para evitar todo esto es UTILIZAR EL AUTOCOMPLETADO de comandos.

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.

DESE EL TIEMPO DE LEER ESTA ADVERTENCIA PARA QUE NO LO LAMENTE DESPUÉS!!!

Otro ejemplo con el espacio

Para reconocer el espacio como carácter y no como separador de parámetros es necesario protegerlo
(ponga un anti-slash delante)

Cree un archivo vacio que se llame "aa bb"


Podemos observar que el resultado obtenido no es conforme a lo que deseábamos.
Deseábamos tener un solo archivo aa bb y no el archivo aa ni el archivo bb
¿Por qué hemos obtenido esto?
Porque el Shell, cuando hemos ingresado
touch aa bb

,
Ha entendido que necesitábamos crear un archivo aa y un archivo bb
Corrijamos esto:

Ahora usted dirá: Pero no se ha creado aa bb sino aa\bb!!!


En realidad hemos creado aabb
El carácter \ permite reconocer el espacio como carácter literal.
Por otra parte el comando ls –l nos muestra la existencia del archivo aa bb

En lugar del anti slash podemos utilizar los apostrofes simples touch 'aa bb'

¿Qué podemos retener de todo esto?


Cada vez que desee utilizar caracteres que no sean alfanuméricos, como $, espace, \, etc. como
caracteres literales entonces es necesario poner el anti slash o ponerlos entre apostrofes simples.

3. Los comandos largos que tienen más de una línea

Si el comando se hace demasiado largo puede pasar a la línea siguiente utilizando el carácter \

XXXVIII. Ejecutar un script

shell ejecutar un script

PD: El artículo original fue escrito por lami20j contribuidor de CommentCaMarche


Anterior Siguiente
Kit de supervivencia Linux Ejecutar un script

En Kioskea Trucos Foro Descargas Actualidades Artìculos


Résultats pour Guia de uso del Shell para principiantes

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

Sistema UNIX: El shell


El intérprete de comandos es la interfaz entre el usuario y el sistema operativo, por este
motivo se le da el nombre "shell", que en castellano significa "caparazón". Por lo tanto, el
shell actúa como un intermediario entre el sistema operativo y el...
es.kioskea.net/unix/unix-shell.php3

Linux comandos para editar shell (Resuelto)


Hola, me pueden ayudar a conseguir los comandos para editar shell.
es.kioskea.net/forum/affich-3655-linux-comandos-para-editar-shell

1 2 3 Siguiente

ÌNDICE TEMÁTICO 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z CommentCaMarche Network


CommentCaMarche.net
en.kioskea.net
es.kioskea.net
SOBRE - AVISO LEGAL - PLANO DE LA WEB - CONTACTO - © All rights reserved 2008

También podría gustarte