lunes, 9 de mayo de 2016

Comandos Basicos de GNU/Linux



COMANDOS BASICOS DE GNU/LINUX
Que es el Shell
El Shell es un intérprete de comandos. Es el medio a través del cual el usuario interactúa con el sistema operativo. En GNU/Linux utilizamos el Shell bash.



Sintaxis de comandos en Linux:
·         comando opciones argumentos
Siempre debe existir un espacio entre el comando, las opciones y los argumentos.
Lista de comandos
·         man: Muestra el manual (ayuda) de un comando.





Como podemos ver al momento de escribir el comando man seguido de un comando cualquiera nos muestra la ayuda de este comando.
Para salir de la ayuda del comando presiona la tecla q.
·         clear: El comando clear limpia la pantalla.





·         pwd: Muestra el directorio de trabajo actual.



Como se  puede observar nos muestra el directorio actual.
Siempre que comience con /  es una ruta absoluta. Mientras que una ruta relativa NUNCA empiezan por la / y puede haber varias rutas relativas para el mismo archivo o directorio que queremos indicar. Esto es así porque la ruta relativa depende del directorio en el que se esté trabajando.

Ejemplo:

Acabamos de ver el comando pwd en el cual claramente podemos observar que el resultado es una ruta absoluta.

·         cd: Este comando se usa para cambiar de directorio.
Si ponemos: cd ~ o cd nos mostraran el directorio home del usuario que ha iniciado sesión.
cd .. Va al directorio padre.
Ejemplo:
Ahora nos encontramos en el directorio bin e hicimos uso de una ruta absoluta.
·         ls: Lista todos los archivos que se encuentran dentro de un directorio.

Existen algunas variedades de este comando, a continuación algunas de ellas:
ls –l: Muestra información detallada de los archivos.
ls –a: Muestra todos los archivos incluyendo los ocultos.
ls –t: Ordena por fecha de modificación.


·         mkdir: Crea un nuevo directorio.


Para crear un nuevo directorio solo ponemos el nombre del comando seguido del nombre del directorio que queramos crear.
Haciendo uso del comando ls podemos comprobar si nuestro directorio fue creado correctamente.

Mkdir tiene una opción bastante útil que permite crear un árbol de directorios,  para esto usamos la opción: p


Podemos comprobar esto haciendo uso de los comandos ls y cd.



·         history: Muestra el historial de comandos que han sido utilizados hasta el momento.


Si hemos olvidado alguna acción que realizamos o simplemente queremos hacer uso de un comando que ya hayamos utilizado anteriormente ponemos lo siguiente:
! seguido del número que aparece a lado izquierdo del comando que queramos ver.
Ejemplo:


·         echo: Muestra una cadena de texto o el contenido de una variable en pantalla.



Ahora, si ponemos: echo $?

Este nos mostrara el código de erro del comando anterior, es decir, si este fue ejecutado de manera satisfactoria mostrara un 0 y si no lo fue mostrara un 1.

·         touch: Crea archivos de tamaño 0. Es decir que dentro de tal archivo no existe nada aun.


Podemos editar este archivo haciendo uso de un editor de texto, por ejemplo, nano.
nano archivo1.txt

Para guardar lo que hemos escrito ponemos: ctrl + x. A continuación nos preguntara si queremos guardar, presionamos la tecla y.

Ahora para comprobar vamos a utilizar el siguiente comando:
·         cat: Imprime el contenido de un archivo.
Ejemplo:
Revisemos si el archivo que editamos anteriormente se guardó.


Como podemos ver nos mostró el contenido que anteriormente introducimos en nuestro archivo.

·         cp: Permite copiar archivos.

Ejemplo:
Vamos a mover el archivo1.txt al directorio Ejercicios, podemos hacer uso de una ruta absoluta o de una ruta relativa eso dependerá del directorio en el que nos encontremos.





Queda comprobado que nuestro archivo se copió dentro del directorio que queríamos.

Una variación del comando cp es:
cp –r:  este nos permite copiar directorios.
Ejemplo:
Vamos a crear dos directorios Semana1 y Semana2, dentro del directorio home del usuario y luego copiaremos el directorio Semana2 en el directorio Semana1.





·         mv: Mueve archivos de una carpeta a otra (Renombra).


Una variación de este comando es:
mv –i: Pregunta antes de sobrescribir un archivo existente en el directorio de destino.

  
passwd: Cambiar password de una cuenta de usuario.
cal y date: Muestran calendario y fecha actual.
who: Muestra quienes han iniciado sesion en el sistema.
Ejemplo:
 uptime:Muestra la hora a la que se ingreso al sistema
wc: Permite contar la cantidad de lineas, palabras y letras que tiene un archivo.
wc -l: muestra el numero de lineas.
wc -w: Muestra la cantidad de palabras.

ps: Lista los procesos que han sido lanzados desde el shell
ps -aux: Lista todos los procesos
ps axo para observar lo que se requiera
Ejemplo: ps axo pid,ppid
pgrep: Muestra el pid de un proceso.
 
tr: El comando tr dado un flujo de datos (entrada estándar) nos permite modificarlos sustituyendo y/o borrando carácteres.
Ejemplo:

~$ echo 'una         frase muy    tonta pero valdrá' | tr -s ' '
 una frase muy tonta pero valdrá

grep: Nos ayuda cuando necesitamos encontrar dentro de una lista algo especifico.
Ejemplo:

 donde los campos son los siguientes: el nombre de usuario, clave, identificador de usuario, indentificador de grupo, directorio home del usuario, shell que emplea el usuario.

Operadores de redireccion:
> se sobreescribe
>> se escribe al final del archivo
2> salida de error 
 
chmod: Permite cambiar de permisos del usuario, grupo u otros.(u,g,o)
Permisos de:
Lectura: 4
Escritura: 2
Ejecucion: 1
+ para anadir permisos.
- para quitar permisos.

APT: Gestor de paquetes
apt-get update
apt-get install
apt-cache search

diff: Compara dos archivos.
bzip2: Comprime un archivo.
bzip2 -v permite ver la informacion que se esta compirmiendo.
bunzip2: Descomprime un archivo.
bzcat: Muestra el contenido del archivo comprimido.
gzip: Genera archivos .gz
gunzip: Desomprime.
tar: Permite empaquetar varios archivos y/o directorios en uno.

tar -cvf
tar -tvf: lista el contenido del archivo empaquetado
tar -xvf: desempaqueta los archivos
tar -xzvf: descomprime y desempaqueta.

sleep: El comando sleep se utiliza para temporizar un intervalo de tiempo determinado. La unidad de tiempo por defecto es el segundo.
Ejemplo:
ls -l; sleep 2; pwd; sleep 3; clear 

at: At ejecuta un comando o programa a determinada hora determinado día. Su sintaxis es bastante sencilla.
Ejemplo:

El comando que va entre comillas luego de echo es el que se ejecutará a la hora indicada. Si deseamos hacerlo a las 23:11, pero de mañana, ejecutamos:
echo “wget http://www.empresa.com/archivo.txt” | at 23:11 tomorrow

cron y crontab: Cron ejecuta comandos y/o programas a determinados momentos de acuerdo a lo que cada usuario ha configurado en crontab (archivo en donde se guardan las tareas programadas). Es posible ejecutar programas en forma diaria, semana, mensual, etc.

 Para utilizar crontab:

Para agregar una tarea o modificar alguna, editamos el archivo crontab con el comando:
crontab -e
Abrirá el editor de textos Nano para modificar el archivo (para salir y guardar los cambios CTRL + X). Las entradas en el archivo siguen el siguiente formato:
Por ejemplo, deseamos ejecutar un script todos los días a las 23:30Hrs
30 23 * * * /home/usuario/mi_script.sh
Cada * significa “cualquiera”, es decir, se ejecutará a las 23:30 de cualquier día, cualquier mes y cualquier día de la semana.
Si es que deseamos ejecutar un script todos los martes 13 a la 1am:
00 01 13 * 2 /home/usuario/script-martes-13.sh
El 13 indica el decimotercer día del mes, el * que le sigue indica que es cualquier mes y el 2 siguiente indica que se ejecute sólo los días martes (los días de la semana se numeran empezando con 1 para Lunes y terminando con 7 para domingo), así, si el 13 de enero cae jueves, no se ejecutará el script, pero si el 13 de abril cae martes, lanzará el script.


Bibliografía:


  •    C. Deffaix Remy, “Introducción”, Programación Shell en Unix/Linux, Editorial ENI, Tercera Edición, Barcelona, Mayo 2015, pp 19.







No hay comentarios:

Publicar un comentario