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.