Está en la página 1de 10

¿QUÉ ES LA SHELL?

 La shell es un programa que sirve como interfaz para acceder a los recursos y
servicios del sistema operativo. Y es la parte que envuelve el kernel.
Actualmente las más importantes son bash y zsh.
 Instalando una Shell de ubuntu en Windows 10
 Comando para instalar mwsl con powershell: Enable-WindowsOptionalFeature
-Online -FeatureName Microsoft-Windows-Subsystem-Linux
 Ubicación al disco local c: /mnt/c
COMANDOS
Man: sirve para obtener ayudas en entorno de la Shell.
Introducimos man y luego otro comando por ejemplo chsh, man –k busca dentro de
las páginas aquellas que tengan una determinada palabra, por ejemplo make.
Para crear directorio man –k make directory.
Para hacer una búsqueda de que tenga dos ocurrencias, man –k make || grep
directories. El comando grep es para buscar tenxto. Con esto se devuelven todas las
páginas con la ocurrencia make y que tenga la ocurrencia directories esas páginas.
Para buscar dentro de una página man, man ls | grep “sort”

 Pequeña descripción: man -f comando


 Buscar una palabra en todas las páginas man: man -k palabra1
 Hacer una búsqueda or de palabras: man -k palabra1 palabra2 ....
 Hacer una búsqueda and de palabras: man -k palabra1 | grep palabra2 | ....
 Búsqueda hacia adelante dentro de una página man: /palabra
 Búsqueda hacia atrás dentro de una página man: ?palabra
 Búsqueda de información de un parámetro: man comando | grep "parámetro"
 Búsqueda de información de un parámetro abriendo less: man comando | less
+/parámetro
 Ubicación de la página más de un comando: man -w comando
Otras herramientas útiles:
Instalacion de las bropages:
sudo apt-get install gem
gem install bropages
gem install bropages
Uso de las bropages: bro comando
Instalación de Manly: pip install --user manly
Ejemplo de uso: manly dpkg -i –R

Bropages: buscar ejemplos de cómo usar otros comandos


Manly: para dar un comando con ciertos parámetros, saber lo que hace con una
pequeña descripción.

WHOAMI, SU, SUDO


Whoami: indica con qué usuario se ha iniciado sesión en la Shell.
Su: comando para cambiar a otro usuario.
Sudo: comando para ejecutar una orden como otro usuario.

Comando para saber quién eres: whoami


Iniciar sesión como root: su
Iniciar sesión como otro usuario: su usuario
Ejecutar un comando como root: sudo comando
Ejecutar un comando otro usuario: sudo -u usuario comando por ejemplo whoami.
Iniciar sesión como root si no está “habilitado”: sudo su
Exit para cerrar sesión.
Poner su por defecto pide la contraseña del administrador, por general los sistemas
operativos lo tienen desactivado.

DIRECTORIOS
Listar contenido de un directorio o si indicamos una ruta vemos el contenido de la ruta:
ls
Mostrar información de los ficheros: -l
Mostrar ficheros ocultos: -a
Ordenar por tamaño: -S
Para saber el contenido de las descargas: ls Descargas/
Mostrar ficheros ocultos y ocultar el directorio actual y el directorio padre: -A
Cambiar el tipo de tamaño que se muestra uno más estándar por los usuarios: -h
Todo junto: ls -lAhS
Directorio actual .
Directorio padre ..

Navegar entre directorios:

 Conocer mi directorio actual: pwd


 Cambiar a otro directorio: cd directorio
cd.. conduce al directorio padre
cd solo te conduce a tu carpeta principal de usuario.
cd ~ acceder al directorio principal (el directorio home)

 Directorio home del usuario: ~


 Poniendo tree te sale la estructura de carpetas.
 Agregar directorio actual a la pila y cambiar a otro directorio: pushd directorio
pushd log/proyectos guarda la carpeta a la que has ido.
pushd proyecto/binarios/

push../../
push../../log

 Sacar el último directorio agregado a la pila e ir a el: popd


 Ver la pila de directorios: dirs –v
Para ver las carpetas que están almacenadas en la memoria dirs -v

Navegar a una posición concreta de la pila:

 Lo podemos hacer con -n para seleccionar el mismo número que en la


pila pushd -n
 Lo podemos hacer con +n para seleccionar el inverso que en la pila pushd +n

Crear directorio (mkdir):


 Crear un directorio: mkdir directorio
 Crear varios directorios: mkdir directorio1 directorio2
 Crear directorios en directorios no existentes: mkdir -p directorio1/directorio2
 Crear una estructura de directorios: mkdir -p dir1/{dira,dirb/dirc}
Borrar directorios y ficheros (rm):

 Borrar un fichero: rm fichero


 Borrar varios ficheros: rm fichero1 fichero2
 Borrar ficheros según patrón: rm patron
 Pedir confirmación para cada fichero borrado: -i
 Borrar un directorio: rm -r directorio
 Borrar todo lo del disco duro: sudo rm-rf
 Borrar todo que acabe con determinado carácter: Rm –rf *
 Borrar solo los directorios vacíos y ficheros: rm -d directorio
Renombrar, mover, copiar un directorio (mv, cp):

 Mover un fichero: mv origen destino


 Renombrar: mv viejoNombre nuevoNombre
mv src/ películas
 Borrar: mv*.avi películas/

Imprimir un árbol de directorios (apt-get, tree):

 Instalar tree: sudo apt-get install -y tree


Te dirá que no tiene permisos de administrador. Para poder entrar poner
sudo su enter apt-get installa tree

Otra forma es sudo apt-get install tree

 Instalar vlc: sudo apt-get install vlc

 Uso: tree
Ejemplo de estructura de árbol compleja:
rm –rf *
mkdir –p {a/{b,c},d/e/f/{a,bc}}
tree para ver como ha quedado.

solución: }}}}a/l/b,a{/l/l/l/l/k,j,i{/h,g,e{/d,}c,b{/a{ p- ridkm

CREACIÓN Y LECTURA DE FICHEROS


Creación de ficheros con touch

 Crear un archivo vacío: touch archivo.


touch proyecto.log
nano:

 Abrir archivo: nano archivo


 Para que genere un archivo de backup: -B
 Para que podáis usar el ratón: -m
 ^ significa control
 M significa alt

Cat:

 Ver todo el contenido de un fichero: cat fichero


 Ver todo el contenido de varios ficheros: cat ficheroa, ficherob
 Unir varios ficheros en uno solo cat ficheroa, ficherob > ficheroc
Less:

 Abrir un fichero con less: less fichero


 Salir de less: :q
 Ver guía de navegación: h
 Salir de la guía de navegación: q
 Búsqueda hacia adelante /patrón
 Búsqueda hacia atrás / patrón
Head y tail:

 Líneas por defecto que muestran tail y head: 10


 Mostrar las 4 primeras líneas: head –n 4 y nombre del fichero
 Ver las primeras 10 líneas de un fichero: head fichero
 Ver las primeras x líneas de un fichero: head -n x fichero donde x es el número
de líneas
 Ver las ultimas 10 líneas de un fichero pero empezando desde el final: tail
fichero
 Ver las tres últimas primeras líneas: tail –n3 nombre del fichero
 Ver las ultimas x líneas de un fichero: head -n x fichero donde x es el número
de líneas
 Ver las ultimas x líneas de un fichero en tiempo real: head -f -n x fichero donde
x es el número de líneas
 Salir de la visualización en tiempo real: control + c
 tail –f cuento
 Para salir: ctrl z para pasar el programa en segundo plano

Contando las palabras de un fichero:


 Contar las palabras de un fichero: wc fichero –w
wc –w nombre del fichero
 Conocer la cantidad total de ficheros y carpeta del directorio actual: ls | wc -w
 Para ver cuánto ocupa el fichero: ls -l

BÚSQUEDA DE FICHEROS

 Contar las palabras de un fichero: wc fichero -w


 Conocer la cantidad total de ficheros y carpeta del directorio actual: ls | wc -w
 ? vale por un carácter
 *vale por cualquier carácter
 [] para rango
 ls 1.log
 ls diputad?.png
 contar todos los ficheros de log: ls[1-3].log | wc -c
Caracteres comodín:

 Cualquier carácter o conjunto de ellos incluyendo la cadena vacía: *


 Cualquier carácter: ?
 Un conjunto concreto te caracteres: []
 [19] -> 1, 9
 [1-3] -> 1, 2, 3
 [A-z] -> Todo el alfabeto en mayúsculas y minúsculas
 Un conjunto concreto te caracteres salvo los de dentro: [!]
Grep:

 Buscar palabras o frases en un fichero grep "palabra a buscar" fichero


 Buscar palabras o frases en todos los ficheros del directorio actual grep
"palabra a buscar" *
 Buscar palabras o frases en todos los directorios desde al actual de forma
recursiva grep -r "palabra a buscar"
 Conocer la línea exacta donde está, en la que hemos encontrado: -n
 Usar una expresión regular: -E
 Ejemplo buscar todos los documentos que tengan una ip:
grep –rE '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9]
[0-9]?)){3}\b'
Which:

 Conocer la ruta del ejecutable: which comando.


Ejemplo: which phyton.

Updatedb:

 Actualizar la base de datos de ficheros: sudo updatedb

Located:
 Localizar un fichero a través de la base de datos: locate fichero.
 locate home, devuelve todo archivo que contiene home.
 locate home | home grep “/urs/share/”
Find:

 ls –lh para ver todos los ficheros.


 ls –l para ver las modificaciones.
 find –cim -5
 Buscar solo ficheros: find -type f
 Buscar solo directorios: find -type d
 Buscar con case sensitive: find -name palabra
 Buscar sin case sensitive: find -iname openwebinars
 Buscar ficheros de más de x MegaBytes: find -size +XM donde x es el numero
en MegaBytes
 Buscar ficheros de menos de x MegaBytes: find -size -XM donde x es el
numero en MegaBytes
 Buscar los archivos con un tamaño determinado: find –size 399M
Otras cantidades:

 k para KiloBytes
 M para MegaBytes
 G para GigaBytes

 Ficheros que han sido modificados hace menos de X minutos: find . -cmin -x
donde x son los minutos
 Ficheros que han sido modificados hace más de X minutos: find . -cmin +x
donde x son los minutos
 Buscar solo en el directorio actual: find . -maxdepth 1 -cmin +5
Ejemplo de buscar todos los ficheros que acaben en . avi y sean mayores de 10 MB:
find . –iname “*.avi” –size +10MB
Solución: M01+ ezis- "iva.*" emani- . dnif
TUBERÍAS Y REDIRECCIONAMIENTO
Entrada y salida estándar y direccionadores
Entras y salidas existentes:

 stdin - Entrada estándar - 0


 stdout - Salida estándar - 1
 stderr - Salida de error estándar – 2
Redireccionamientos:

 comando < fichero: Toma la entrada de un fichero


 comando > fichero: Envía la salida del comando al fichero sobreescribiendo
este
 comando 2> fichero: Envía la salida de error del comando al fichero
 comando >> fichero: Añade al final del archivo
 comando 2>&1: Envía la salida de error a la salida estándar
 comando &> fichero: Envía la salida estándar y error al fichero
 comando 2> errorfile 1>stadout: Enviar las salidas en archivos separados
Tuberías: |
Para redirigir la salida de un comando a otro comando. La salida estándar de un
programa se convertirá en la entrada estándar de otro programa.

 La tubería se representa con el carácter |


 Uso: comando | comando | comando | ...
 Ejemplo: la salida estandard de aquí | entra aquí
 Ejemplo: cat filename | less
Tee:

 Sirve para leer desde la entrada estándar y escribe en la salida estándar y


ficheros.
 Ejemplo: ls | tee fichero1 fichero2
 Y si queremos agregar al final en vez de sobrescribir: -a
Xargs:

 Sirve para pasar argumentos de la salida estándar de otro comando por


ejemplo
 Uso: comando | xargs comando
 Ejemplo: ls fichero[12] | xargs rm

Reto: cuenta el número de ficheros y de directorios que tienes en una carpeta.


Solución: w- cw | A- sl
COMPRESIÓN
Zip:

 Instalar zip: sudo apt install zip unzip


 Comprimir ficheros: zip nombreArchivo.zip [fichero | carpeta | patrón | ficheros]
 Comprimir ficheros de forma recursiva: zip -r nombreArchivo.zip [fichero |
carpeta | patrón | ficheros]
 Ver el contenido de un fichero zip: un zip -vl archivo.zip
 Borrar un fichero dentro de un zip : zip -d fichero.zip fichero_a_borrar
 Descomprimir en la carpeta actual: un zip archivo.zip
 Descomprimir en otra ruta: un zip archivo.zip -d ruta
RETO: Comprimé todos tus ficheros de *.avi
Solución: find . -iname '*avi' | xargs zip videos.zip
Tar:

 Crear un contenedor: tar vcf archivo.tar archivos


 Crear un contenedor y comprimirlo: tar cfz archivo.tar.gz archivos
 Descomprimir todo y sacar del contenedor: tar xcf archivo.tar.gz
 Empaquetado.tar

PERMISOS
Entendiendo los permisos:
Significado de las letras en los permisos: (r)ead, (w)rite, e(x)cution y - sin permisos
---:---:---: Lo podemos dividir en tres ---:

 El de más a la izquierda los permisos del dueño


 El del centro los permisos del grupo
 El de más a la derecha los permisos de anónimo
Para cada grupo los permisos tienen el siguiente valor:

 rwx
 421
Ejemplos:

 r-- = 4
 rw- = 6
 r-x = 5
 -wx = 3
 rwx = 7
Ejemplo una vez dado algunos permisos a los usuarios, grupo y anónimos
777 = rwx:rwx:rwx
Cambiando los permisos:

 Ejemplo de cambios de permisos con sistema octal: chmod 721 fichero


 Ejemplo de cambios de permisos de modo carácter: chmod chmod ugo=rx
fichero
 si quieres quitar permisos: chmod ugo=rx- fichero
 Varios permisos diferentes a la vez: chmod u=rw, go= fichero

ALIAS
Creación de alias:

 Los alias se guardan en el fichero: ~/.bashrc


 Los alias empiezan por la palabra alias seguido de un espacio el nombre del
alias un igual y entre comillas el comando, no debe poner espacios a ambos
lados del igual.
 Una forma rápida de crearlo es: echo alias ls='ls -lah' >> ~/.bashrc
o

También podría gustarte