00- BÁSICOS BASH

Conceptos y comándos básicos de bash.

CONCEPTOS BÁSICOS

COMODINES DEL TERMINAL

? --> Representa un único caracter cualquiera. (tambien se puede representar con un punto como en grep)

* --> Representa desde nada hasta cualquier cantidad de letras o digitos.

[1-5] --> Representa un rango de digitos o letras (guiado por ASCII)

[!1-5] --> Representa todo lo que no esta en el rango marcado

{} --> Permite crear una lista para que se aplique el comando a todos. P.E: cp {sda*,sdb*} /usr/share

\ --> Secuencia de escape. Sirve para utilizar un comodin como caracter normal

^# --> Implica que la linea comience por # (en este caso)

ATAJOS DEL TERMINAL

./ --> Significa "en el directorio en el que me encuentro" (Ejecuta un archivo) *Debe tener permisos de ejecución*

reverse-i-search -->Se inicia con ctrl + r Busca en el historial con el inicio de comando que escriba. Si hay varios que empiecen igual, navego con ctrl + r

!! --> Toma como argumento el comando ejecutado anteriormente.

!$ --> Toma como argumento el argumento del comando ejecutado anteriormente

CONCATENAR--

; --> Permite ejecutar varios comandos uno detrás de otro. Aunque fallen.

&& --> And booleano. Se tiene que ejecutar correctamente el primer comando para que ejecute el siguiente.

|| --> Or booleano. Si se ejecuta correctamente el primer comando no ejecuta los sigientes. Permite ejecutar varios comandos para hacer lo mismo y cuando uno funciona, para.

REDIRECCIONES

> --> Introduce el resultado de la ejecución del comando en un archivo. Eliminando el resto del contenido.

2> --> Introduce el error resultante de un comando mal ejecutado en un archivo. Elimina el resto del contenido.

&> --> Introduce el resultado de la ejecucion del comando en un archivo, si esta ejecucion implica parte correcta y parte error

>> --> Introduce el resultado de la ejecución del comando en un archivo. Añadiendolo al resto del contenido.

2>> --> Lo mismo que >> pero para errores que aparecen por pantalla al ejecutar un comando.

&>> --> Lo mismo que >> pero con error + ejecucion correcta a la vez

< --> Introduce el contenido de un archivo como entrada en la ejecución de un comando.

TUBERIAS

| --> comando 1 | comando 2 | comando n

la salida del comando 1 es la entrada del comando 2, que es, a su vez la entrada del comando n por pantalla sale el resultado del comando n.

dpkg -l | grep ^rc | cut -d " " -f 3 | sudo xargs apt-get purge

En el ejemplo: dpkg lista los programas instalados (salida). grep busca en esos programas instalados (entrada) los que empiezan linea con rc (salida) cut corta de los que empiezan con rc (entrada) la tercera columna separando con espacios (salida) apt-get purge no puede coger cut como entrada por que no tiene entradas sino argumentos. xargs convierte cut en argumento de apt-get purge.

FICHEROS IMPORTANTES

/etc/environment --> almacena los comandos marcados por los usuarios que se van a ejecutar al arrancar el sistema. Si no lo hemos tocado, estara vacio.

/etc/init.d/[servicio] [start / stop / restart] --> Para gestionar cualquier servicio del sistema.

/boot/grub/grub.cfg --> archivo de configuracion del sistema de arranque grub. Si queremos modificarlo, debemos modificar los script del fichero /etc/grub.d y despues ejecutar el comando update-grub.

/etc/default/grub --> aqui si que puedo modificar algunas opciones del sistema de arranque.

COMANDOS BASICOS

MAN --> Manual (muestra información acerca de un comando) Para buscar --> /palabras a buscar (n para buscar siguiente / N anterior) -k --> busca coincidencias con lo buscado hay diferentes manuales:

1 --> ejecutables y comandos de shell 2 --> llamadas al sistema 3 --> llamadas a librerias (librerias en C) 4 --> archivos especiales (dispositivos: /dev/) 5 --> informacion y formato de un archivo (passwd, host, etc) 6 --> juegos, salvapantallas, etc 7 --> comandos no estandar 8 --> comandos de administracion 9 --> subprogramas del nucleo

man -k passwd #busca todas las entradas de manual que contienen passwd en su titulo man 5 passwd #pagina de informacion sobre el ARCHIVO /etc/passwd

INFO --> Informacion de un comando. como MAN pero mas visual

HELP --> Informacion reducida de un comando.

WHATIS --> Da la funcion de un comando (man pero muy resumido)

SU --> Super User (cambia al modo superusuario)

SUDO --> SuperUser Do (permite a un usuario ejecutar un comando con permisos de otro usuario) Si no se especifica nombre de usuario, se toma por defecto el usuario root. Saca la informacion del archivo /etc/sudoers -l --> lista los comandos a los que tienes acceso de superusuario. -u --> permite indicar con que usuario estamos ejecutando el comando. -e --> permite modificar un archivo como root -L --> lista todas las opciones de sudo

visudo --> sirve para abrir el archivo /etc/sudoers.tmp

UPTIME --> imprime el tiempo que lleva arrancado el sistema. - a que hora se ha arrancado - cuanto tiempo lleva levantado - cuantos usuarios hay activos - carga: 1min 5min 15min

UNAME --> Unix Name (imprime informacion del sistema -a --> imprime toda la infromacion del sistema -s --> imprime el nombre del kernel (por defecto) -n --> imprime el nombre del nodo hostname -r --> indica la release del Kernel (la mas importante) -v --> imprime la version del Kernel -m --> imprime la arquitectura de la maquina -p --> imprime el tipo de procesador (no en virtualizado) -o --> imprime el SO

HOSTNAME --> Muestra el nombre de la maquina (como uname -n) llama al archivo /etc/hostname

SEQ --> Genera una secuencia numerica seq 5 2 11 #(genera una lista del 5 al 11 de 2 en 2) Si el numero intermedio es negativo, se puede hacer regresiva.

HYSTORY --> (lista los comandos que se han utilizado en el terminal) !339 --> permite ejecutar el comando que está en el puesto 339. -c --> limpia el historial de comandos

FC --> Como el history pero con mas opciones. Mirar man.

ALIAS --> Permite ponerle otro nombre a un comando más complejo alias--> lista los ya existentes alias [otro nombre]= '[comando complejo entre comillas simples]' PE: alias mostrar= 'ls -la'

ECHO --> Muestra una informacion por pantalla. -n --> elimina el salto de pagina al final del echo. -e --> detecta los caracteres especiales del teclado en el texto. \t tabulador \n salto de linea

XARGS --> Coge como argumento el resultado del comando anterior

READ --> Coge informacion del teclado y la almacena en una variable read nombre #almacena una variable llamada nombre read nombre apellido1 #almacena una variablle llamada nombre y otra llamada apellido read -a color #almacena un array donde cada palabra tiene un identificador echo "los colores son: ${color[0]}, {color[1]}" read -p "pulsa intro para continuar" #hace una pausa hasta darle al intro

WHICH --> Permite saber donde está instalado un programa o comando. P.E. --> which ls --> nos dice /bin/ls

TYPE --> (Permite saber si los comandos están instalados o son intrinsecos de la consola) type ls #nos dice ls is /bin/ls type cd #nos dice cd is a shell builtin

CLEAR --> Limpia nuestro terminal.

SLEEP --> Pone el terminal en modo espera durante los segundos que le marquemos.

EXIT --> Sale del terminal o de la sesión de su.

REBOOT --> Reinicia el sistema

HALT / INIT 0 --> Apaga por completo el SO.

POWEROFF --> Apaga el SO.

SHUTDOWN --> Programa el apagado del SO en 1 min.

Última actualización