Beruflich Dokumente
Kultur Dokumente
Sistemas Informáticos................................................................... 1
General. .......................................................................................... 2
Árbol de directorios. .................................................................................. 2
Rutas absolutas y relativas. ...................................................................... 4
Terminal.......................................................................................... 4
General. ....................................................................................................... 4
Múltiples ventanas. Tmux.......................................................................... 5
Atajos de teclado. ...................................................................................... 5
Cerrar programas. ...................................................................................... 6
Alias. ........................................................................................................... 6
Comodines / wildcards. ............................................................................. 7
Cadenas de texto / comillas. ..................................................................... 8
Comandos y archivos. ................................................................... 8
Comandos ayuda. ...................................................................................... 8
Sistema / Situación. ................................................................................. 11
Comandos. ..........................................................................................11
Archivos. .............................................................................................13
Directorios, ficheros y enlaces. .............................................................. 13
General. ...............................................................................................13
Directorios. .........................................................................................15
Ficheros. .............................................................................................15
Búsqueda de directorios y ficheros. .................................................17
Enlaces................................................................................................20
Redirecciones / Tuberías / Sustitución. ................................................. 21
Estándares de entrada / salida. .........................................................21
Redirección de entrada. .....................................................................21
Redirección de salida de éxito. .........................................................21
Sustitución. ................................................................................. 21
Adicción. ...................................................................................... 21
Redirección de salida de error. .........................................................22
Concatenación....................................................................................22
/dev/null...............................................................................................22
Tuberías / pipelines. ...........................................................................22
Bifurcación (tee) .................................................................................23
Sustitución de comandos ($) .............................................................23
Usuarios y grupos. ................................................................................... 24
Comandos usuarios. ..........................................................................24
Comandos grupos. .............................................................................25
Archivos. .............................................................................................25
Permisos. .................................................................................................. 26
Comandos. ..........................................................................................26
Permisos especiales. .........................................................................27
Archivos. .............................................................................................28
Gestión de paquetes y archivos. ............................................................ 28
Paquetes, distribuciones y herramientas. ........................................28
Comandos. ..........................................................................................28
Repositorios. ............................................................................... 29
Descarga de software. ................................................................ 29
Herramientas de bajo nivel. Instalación manual. ...................... 29
RESOLUCIÓN DE DEPENDENCIAS ........................................... 30
Herramientas de alto nivel. ......................................................... 31
Archivos. .............................................................................................33
Procesos y servicios. .............................................................................. 33
General. ...............................................................................................33
ARRANQUE DEL SISTEMA. ...............................................................33
Runlevels ..................................................................................... 34
Comandos servicios. .........................................................................34
Manejo de servicios. ................................................................... 34
Deshabilitar servicios. ................................................................ 34
Comandos procesos. .........................................................................35
Archivos. .............................................................................................41
Configuración de red. .............................................................................. 41
Comandos. ..........................................................................................41
Archivos. .............................................................................................42
Conexiones de red. .................................................................................. 42
Comandos. ..........................................................................................42
SSH (Secure SHell) .............................................................................43
Comandos. .................................................................................. 43
Archivos. ...................................................................................... 43
Copia segura de archivos. .................................................................43
Sincronización de archivos. ..............................................................44
Importante: .................................................................................. 45
NFS (Network File System) ................................................................45
Ejemplos: ..................................................................................... 46
Servidor: ...................................................................................... 46
Cliente: ......................................................................................... 46
IP_servidor:recurso_remoto punto_montaje_local .................. 46
SAMBA. ...............................................................................................47
Gestión: ....................................................................................... 47
Usuarios: ..................................................................................... 47
Linux como cliente:..................................................................... 47
General.
Árbol de directorios.
La estructura de directorios en Linux está definida por el Filesystem Hierarchy Standar (FHS). Es la
norma que define los directorios principales, su contenido y sus funciones. Es común los sistemas Linux
y otros derivados de UNIX.
2 de 48
/etc TODOS LOS FICHEROS DE CONFIGURACIÓN DEL SISTEMA.
o Los archivos con guión al final son backups. Ej: passwd passwd-
Por precaución, editar los archivos de configuración solo para modificarlos. Para
consultarlos visualizarlos con more, less o similar.
Siempre hacer una copia de seguridad de un archivo antes de modificarlo.
Ej: cp host.conf host.conf _bak
/home Almacena los directorios personales de los usuarios. Se pueden crear usuarios sin
/home o crearlo en otra parte.
/lib y /lib64 Librerías compartidas por diferentes programas que pertenecen al núcleo del
sistema. Equivalentes a los .dll de Windows. Se dividen en x32 y x64.
/lost+found Cuando algo sale mal y se corrompe el sistema de archivos (EXT4) por una
apagado repentino, etc, en este directorio se crean los archivos temporales que el sistema
necesita para restaurar el sistema de archivos. Si está VACÍO OK.
/media Aloja los puntos de montaje de los dispositivos de almacenamiento externo. Los puntos
de montaje se organizan en subcarpetas con el nombre del usuario.
o Al conectar un USB
En /dev aparece el archivo sd* (sdb, sdc o la siguiente letra libre porque sda es
para el disco principal) y sdb1 para la partición. Si tiene varias particiones, sdb1,
sdb2, etc.
En /media aparece un punto de montaje dentro de una subcarpeta con el nombre
del usuario
o Puntos de montaje. Los puntos de montaje están relacionados con los archivos en /dev
y sirven para comunicarse con el dispositivos y acceder a su información.
/mnt (mount) Versión antigua de la carpeta /media. Normalmente los dispositivos
automontados por el sistema van a /media y los montados manualmente van en /mnt.
/opt (optional) Software opcional no descargado de los repositorios oficiales. Muchos usuario
lo instalan en su home pero lo más lógico es crear una subcarpeta en /opt e instalarlo en ella.
No es obligatorio, solo se trata de una buena práctica.
/proc () No es un directorio como tal. Es un sistema de ficheros virtual y está mantenida por el
núcleo del sistema. Toda la información escrita en ella ayuda al sistema a conocer el estado del
sistema en cada momento, como direcciones de memoria para los puertos, etc. Por ejemplo,
cualquier consola que muestre información del sistema lee la información en proc.
/root Es el /home del superusuario.
/sbin Comandos utilizados por el root.
/tmp Aloja archivos temporales generados por diferentes programas.
/usr Es una de los directorios más grandes del sistema. Almacena en subcarpetas los
programas ejecutables y todo lo que necesiten, librerías, fondos de pantalla, sonidos, iconos,
etc.
3 de 48
o bin, games, include, lib, local, sbin, share, src
o /usr/bin Ejecutables de todos los programas instalados.
o /usr/lib Librerías de todos los programas instalados. Las librerías se comparten de
manera que no se almacene la misma librería varias veces para programas distintos.
o /usr/local Programas que no son propios de la distribución pero que son compatibles
con Linux y sin compilar. Si están bien ejecutados utilizarán subcarpetas en este
directorio.
o /usr/sbin Programas destinados para el administrador del sistema.
o /usr/share Contiene varias subcarpetas con todo lo que es compartido por varios
programas como sonidos, iconos, fondos, etc.
/usr/share/doc Aquí se guarda la documentación de los diferentes programas
instalados como las manpages. NO ESTA EN TODAS LAS DISTRIBUCIONES.
o /usr/src Código fuente.
/var (variable) Archivos no estáticos, que van cambiando. Logs, caché del sistema, cola de
impresión, etc.
o /var/log Guarda los logs del sistema. Todo lo que acontece en el sistema queda
registrado aquí. Se van creando subcarpetas para los logs de los nuevos programas
salvo que se configure guardarlos en otro sitio.
Terminal.
General.
4 de 48
Prompt Carácter o conjunto de caracteres que se muestran en una línea de comandos
para indicar que está a la espera de órdenes y puede cambiar de una distribución a otra.
o root@server116:~# juan@server116:~$
o Nombre usuario @ maquina : ruta ubicación actual (~ = home usuario actual) tipo usuario
(# = root, $ = usuario normal)
o Configurable Se puede configurar para cada usuario en su home en el archivo .bashrc.
Las líneas del tipo \u@\h:\w\$ permiten cambiar la información y los colores del prompt.
Instancias Se pueden abrir varias instancias dentro de la misma terminal. Por defecto la
primera es nombrada tty1.
o Para abrir otras y cambiar entre ellas: Ctrl+Alt+F2 tty2, Ctrl+Alt+F3 tty3, ….,
Ctrl+Alt+F6 tty6
tmux Permite dividir la consola para ejecutar más de un comando al mismo tiempo. Muy útil en
entorno de texto para tener varios paneles:
o Ctrl+b luego % Divide la consola verticalmente.
o Ctrl+b luego “ Divide la consola horizontalmente.
o Ctrl+b luego flecha_dirección Permite cambiar entre los paneles.
o Ctrl+b+flechaCursor Permite redimensionar los paneles. SOLO EN ENTORNO
GRÁFICO.
o exit Cierra el panel actual. Con un solo panel se sale de tmux.
o ASOCIAR DOS VENTANAS DE COMANDO, una como servidor y otra como cliente.
Pueden estar en máquinas diferentes conectadas:
SERVIDOR Es la máquina / ventana donde se crea la sesión tmux new-
session -s nombre_sesión
CLIENTE Es la máquina / ventana desde la se realiza la conexión al servidor
tmux attach [nombre_sesión] (si hubiera más de una sesión abierta se
especificaría con el nombre).
CLIENTE Abrir nuevas ventanas en el servidor Ctrl+b c
CLIENTE Cambiar entre las diferentes pantallas Ctrl+b n (next) / p (previous)
CLIENTE Mostrar todos las ventanas Ctrl+b w
Índice
Atajos de teclado.
5 de 48
Shift + RePag / AvPag Permite retroceder y avanzar por los resultados de un comando.
Ctrl+a Inicio del comando.
Ctrl+e Final del comando.
Ctrl+f Hacia delante carácter a carácter.
Ctrl+b Hacia atrás carácter a carácter.
Alt+f Hacia delante palabra a palabra.
Alt+b Hacia atrás palabra a palabra.
Ctrl+l Limpia la pantalla == clear.
Ctrl+Delete Encima de un carácter lo borra.
Ctrl+t Sobre un carácter lo intercambia con el precedente.
Alt+t Sobre una palabra la intercambia con la precedente.
Alt+u Sobre una palabra la pone en mayúscula desde la posición actual hasta el final.
Ctrl+k Borra desde la posición actual hasta el final PERO QUEDA EN EL
PORTAPAPELES.
Ctrl+u Borra desde la posición actual hasta el inicio de línea PERO QUEDA EN EL
PORTAPAPELES.
Ctrl+i Pega.
Alt+? Propone coincidencias == tabulador
Alt+* Escribe todas las opciones posibles para una ruta.
o ls -l /usr/bin Alt+* Escribe todas las rutas posibles ls -l /usr/bin /usr/games
/usr/include /usr/lib /usr/local /usr/sbin /usr/share /usr/src
o ls -l /usr/b Alt+* Completa la ruta ls -l /usr/bin
Ctrl+r Busqueda reversa. Pide una entrada de texto y comienza a buscar coincidencias.
Enter Ejecuta el comando.
Ctrl+c Salir de la búsqueda.
Cerrar programas.
Índice
Alias.
alias Permite llamar / ejecutar un comando o conjunto de ellos mediante un alias para
simplificar su uso.
6 de 48
o alias bocata=’cd /usr; ls; cd -‘ Crea el alias ‘bocata’ que ejecutará la cadena de
comandos indicada.
o alias Lista todos los alias en el sistema.
o PERSISTENCIA Los alias se pierden al cerrar la sesión. Para guardarlos se utiliza el
fichero .basrc en el home de cada usuario (o para todos los usuarios en
/etc/bash.bashrc). Es un archivo de configuración del Shell para cada usuario. Al final
del archivo se podría añadir algo así:
alias bocata=’cd /usr; ls; cd -‘
unalias nombre_alias Elimina el alias designado.
o unalias bocata Elimina el alias bocata.
Comodines / wildcards.
7 de 48
*[[:lower:]123] Empieza por cualquier cosa o no, seguido o de una minúscula, 1,
2 ó 3 aloloco3, a, 2. EstUPidox. Otra manera sería *[[:lower:]1-3]
; (punto y coma) Permite ejecutar varios comandos en una misma línea de forma consecutiva.
o cd /usr; ls; cd - va a usr, lista el contenido y vuelve al nuestra posición anterior.
“ (comillas dobles) Ayudan a conservar el formato de lo que contienen y permiten solo algunas
sustituciones ($).
o Diferencias:
echo “$USER $((2+2)) $(cal)” != echo $USER $((2+2)) $(cal)
echo “Hola a todos” != echo “Hola a todos”
echo text ~/* {a,b} $(echo foo) $((2+2)) $USER != echo “text ~/* {a,b}
$(echo foo) $((2+2)) $USER”
‘ (comilla simple) Se toma todo como un literal y no permite las sustituciones ($).
o Diferencias:
echo “text ~/* {a,b} $(echo foo) $((2+2)) $USER” != echo ‘text ~/* {a,b}
$(echo foo) $((2+2)) $USER’
\ (escape) Caracteres de escape
o echo “Mis alumnos ganan $500” != echo “Mis alumnos ganan \$500”
o echo -e “Hola\tAdios” != echo “HolaAdios” != echo -e “Hola\nAdios”
Índice
Comandos y archivos.
Comandos ayuda.
8 de 48
type ls ls es un alias de ‘ls—color=auto’ Y tres variantes o estilos en el uso de las opciones de cada
comando:
9 de 48
y Retorna una línea.
[Barra espaciadora] Avanza una pantalla.
d Avanza media pantalla.
u Regresa media pantalla.
[Flecha a la derecha] Mueve media pantalla a la derecha.
[Flecha a la izquierda] Mueve media pantalla a la izquierda.
Búsqueda:
? [cadena] Busca una cadena de texto hacia arriba. CASE SENSITIVE.
En algunos sitios aparece como ¿[cadena]
/[cadena] Busca una cadena de texto hacia abajo. CASE SENSITIVE.
/PROCESS STATE CODES ¿-m /EXAMPLES ¿AUTHOR /session ID
g Avanza al inicio del manual.
G Avanza al final del manual.
o Secciones (posiblemente las más importantes sean la 1 y la 5):
1 bin Binarios esenciales para el funcionamiento del sistema. Programas
ejecutables y guiones del intérprete de órdenes.
2 sys Llamadas del sistema (funciones servidas por el núcleo).
3 lib Llamadas de la biblioteca (funciones contenidas en las bibliotecas
del sistema).
4 dev Ficheros especiales, normalmente en /dev (ej.: HD, pendrive, tarjeta
de vídeo, impresora, etc). Información de drivers.
5 etc Archivos de configuración. Formatos de los ficheros.
6 games.
7 misc Miscelánea.
8 sbin Binarios esenciales para la administración y mantenimiento del
sistema (root).
9 boot Kernel.
o Ejemplos:
o man ls Información sobre el comando ls.
info [opciones] nombre_comando Algunos programas no tienen “man-pages” o son
muy incompletas. En estos casos es recomendable el comando info en lugar del comando man.
o Info Muestra información sobre si mismo.
o -d nome_dir Agrega un directorio a la lista de directorios a ser buscados para archivos.
o -f arqinfo Especifica el archivo a ser utilizado por el comando info.
o -h Mensaje de ayuda.
apropos palabra_clave Busca en todo el sistema información relacionada con la palabra
clave. El comandos linux apropos busca “man-pages” que contienen una frase, así que es una
10 de 48
forma rápida de encontrar un comando que puede hacer algo. Es igual a la ejecución de la orden
man -k. Apropos muestra información sobre un tema a partir de una base de datos.
o apropos directory
o apropos mail Lista toda la información sobre los comandos que utilizan correos
electrónicos.
o Queremos contar los elementos de un directorio apropos count Muestra
sugerencias de comandos.
o Observación La diferencia entre whatis y apropos, es que whatis necesita el nombre
exacto del comando y apropos puede poner el nombre del comando o lo que hace.
whatis palabra_clave Muestra un resumen de una línea de un comando, tomado de su “man-
pages”. Es una forma rápida de ver lo que un comando contiene.
o whatis find
o whatis Consulta manuales del sistema a partir de una base de datos. Esta base de datos
debe ser actualizada periódicamente con el comando makewhatis (sólo con el usuario
root).
o makewhatis -? Muestra ayuda sobre este comando.
Comando no encontrado Cuando se sabe el comando que se necesita pero no se conoce el
paquete que lo contiene se puede escribir de todos modos. Algunas distribuciones (Ubuntu) van
a indicar el paquete que contiene el comando y mostrarán los comandos que se pueden usar
para instalarlo.
o rotate (permite rotar una imagen) “Command ‘rotate’ not found, but can be installed
with: apt install jigl”
Índice
Sistema / Situación.
Comandos.
halt Solo root. Apaga el sistema y lo deja preparado para apagar físicamente la máquina.
clear Limpia la pantalla.
date Fecha y hora del sistema.
cal Calendario.
tzselect Seleccionar zona horaria.
free Muestra el uso de memoria
df Distribución del disco duro, sistema de archivos, tamaño en bloque de 1K. Bloques utilizados
libres.
pwd Directorio actual. Situación actual del prompt del usuario.
11 de 48
cd Moverse por la estructura de directorios.
cd Lleva al home del usuario.
cd Puede utilizar rutas absolutas o relativas:
Absolutas cd /…/directorio
Relativas cd directorio ó cd ./directorio
cd .. Lleva al directorio superior.
cd - Lleva a la situación anterior del prompt del usuario.
cd ~ Lleva a la carpeta personal del usuario actual.
cd ~nombre_usuario Lleva a la carpeta personal del usuario indicado.
printenv Muestra todas las variables de entorno. Para mostrar el valor de cada variable se
puede usar echo:
o echo $NOMBRE_VARIABLE Muestra el valor de una variable de entorno concreta.
o echo $USER Usuario actual.
o echo $MAIL, echo $LOGNAME, etc...
echo Muestra un mensaje en pantalla.
echo hola mundo
echo * Muestra todo el contenido del directorio actual. El resultado coincidirá con el del
comando ls.
echo f* Muestra todo el contenido del directorio cuyo nombre empiece por f ó f* si
no encuentra ninguna equivalencia.
echo [[:upper:]]* Muestra todo el contenido del directorio actual cuyo nombre
empiece por mayúscula.
echo /usr/*/share Muestra la ruta completa /usr/local/share
echo ~ Muestra la ruta del home del usuario actual.
echo ~pepe Muestra la ruta del home del usuario dado.
echo $((2+2)) Muestra el resultado.$((2-2)) $((2/2)) $((2*2)) $((2%2))
echo $(($((5+2))-1)) ó $(((2+5)-1)) 6
echo cinco entre dos es: $((5/2)) Admite mezclar texto y operaciones.
echo From-{A,B,C}-Back From-A-Back From-B-Back From-C-Back Genera una
secuencia con los elementos dentro de las llaves.
echo Numeros_{1..5} Numeros_1 Numeros_2 Numeros_3 Numeros_4 Numeros_5
echo {001..15} 001 002 003 004 005 ..... 015
echo a{A{1,2},B{3,4}}b aA1b aA2b aB3b aB4b
echo $NOMBRE_VARIABLE Muestra el valor de una variable de entorno concreta.
echo $(ls) Muestra por pantalla el resultado del comando ls.
12 de 48
Archivos.
Nombres de ficheros y directorios. Para los ficheros y directorios es recomendable evitar los espacios
en blanco. Cuando se tenga que trabajar con nombres con espacios en blanco, estos deberán ir entre
comillas (“).
General.
13 de 48
o ls -l /usr/bin | sort
cp Copia ficheros y directorios.
o -a (--archive) Copia los elementes preservando los permisos y el propietario o de lo
contrario pondrá los del usuario que realiza la copia.
o -i (--interactive) Pregunta antes de sobrescribir ficheros con el mismo nombre en el
destino.
o -r (--recursive) Hace copia recursiva, copia el contenido de las carpetas.
o -u (--update) Actualiza los archivos. No copia los archivos repetidos. Solo copia los
archivos que suponen un cambio o si están repetidos copia solo si son más modernos.
o -v (--verbose) Fuerza la salida de información por cada acción de copia que realice el
comando.
o Ejemplos:
cp /etc/passwd . (espacio_punto) Copia el fichero passwd al directorio actual.
cp fichero1.txt fichero2.txt Copia el fichero1 como fichero2
cp fichero1.txt fichero2.txt fichero3.txt carpeta1 Copia los tres ficheros en la
carpeta1.
cp -r fichero1.txt fichero2.txt fichero3.txt carpeta1 carpeta2 Copia los tres
ficheros y el contenido de carpeta1 en la carpeta2.
cp /etc/passwd Copias fichero passwd en /etc al directorio actual.
o ERROR COMÚN al copiar el contenido de un directorio en otro:
cp -ur carpeta1 carpeta2 MAL. Copia la carpeta1 dentro de la carpeta2
cp -ur carpeta1/* carpeta2 Copia el contenido de carpeta1 en la carpeta2
mv Mueve y/o renombra ficheros y directorios.
o -i (--interactive) Pregunta antes de sobrescribir ficheros con el mismo nombre en el
destino.
o -u (--update) Solo mueve las actualizaciones.
o -v (--verbose) Fuerza la salida de información por cada acción de copia
que realice el comando.
o Ejemplos:
mv f.txt a.jpg Renombra el archivo f.txt como a.jpg
mv /ruta_origen /ruta_destino Mueve el archivo o directorio de una ruta a
otra.
mv f.txt carpeta1 Mueve el archivo
mv f.txt a.jpg b.gif carpeta1 Mueve los tres archivos a la carpeta1.
mv hola.txt carpeta1/adios.txt Mueve el fichero hola.txt a la carpeta1 y lo
renombra como adios.txt
rm Borra ficheros y directorios.
o -i (--interactive) Pide confirmación.
14 de 48
rm -i f1.txt Pregunta antes de borrar f1.txt
o -v (--verbose) Fuerza la salida de información por cada acción de copia que realice el
comando.
o -r (--recursive) NECESARIO PARA BORRAR CARPETAS.
rm -r f1.txt carpeta1 Borra f1.txt y carpeta1 (gracias a -r).
o -f (--force) Fuerza la ejecución aunque haya errores (por ejemplo que se le ordene
borrar un archivo que ya no existe) No se detendrá en cada error.
rm -rf f1.txt carpeta1 Si f1.txt no existe, parará y no borrara carpeta1 pero al
con -f continuara a pesar de los errores y lo borrará todo.
o Borrar todo Hay que ejecutar dos comandos.
rm * Borra todo excepto los archivos ocultos.
rm .* Borra todos los archivos ocultos solo.
o ERROR COMÚN al querer borrar utilizando comodines:
rm * .html Borra TODO y luego busca .html porque hay un espacio entre el
asterisco y el resto del nombre de los archivos a borrar.
rm *.html Borra todos los archivos .html
Índice
Directorios.
Ficheros.
file Identifica el tipo de fichero, su formato. Lee el encabezado del archivo y da información
sobre él independientemente de la extensión.
15 de 48
o file nostromo.jpg Nos dirá el tipo de archivo sin tener en cuenta la extensión.
o file $(ls -d /usr/bin/* | grep zip) Que tipo de archivos son todos los zip en la ruta
dada.
comm Compara dos archivos ordenados línea por línea.
o comm letras1 letras2 Compara los dos archivos y muestra la diferencia línea por
línea.
touch Crea un fichero vacío.
o touch fichero.txt. Puede crear más de un archivo touch borrador carta.txt
nano Editor de texto.
o nano carta.txt. Puede crear más de un archivo nano borrador carta.txt
o ^ = Ctrl ^O = Ctrl+O
cat Muestra el contenido de uno o varios ficheros concatenados.
o cat fichero.txt Muestra el contenido de fichero.txt.
o cat fichero.txt fichero2.txt Mostrara el contenido fichero.txt primero y luego el
contenido de fichero2.txt.
o cat Si no se añade ningún parámetro espera para mostrar la salida del teclado. Ctrl+d
Repite lo escrito.
o cat > ficheto.txt Redirige la salida del teclado al fichero indicado.
o cat < fichero.txt Muestra por pantalla el contenido de fichero.txt
more Muestra el contenido de un fichero pero según el espacio disponible en la pantalla.
less Muestra el contenido de un fichero pero si no hay espacio permite navegar con arriba y
abajo con las flechas del cursor.
o Con el fichero visualizado:
Q /q Exit.
G Final archivo.
g Inicio del archivo.
/cadenaTexto La busca en el archivo.
head Muestra el comienzo de un fichero.
o head salida.txt
o head -n NúmeroLíneas head -n 5 salida.txt Muestra las primeras 5 líneas del
fichero salida.txt
tail Muestra el final de un fichero.
o tail salida.txt
o tail -n NúmeroLíneas Muestra las últimas n líneas.
o tail -n 5 salida.txt Muestra las últimas 5 líneas del fichero salida.txt
o tail -n+20 salida.txt Empezará por la línea nº 20.
o tail -f /var/log/syslog Se queda leyendo de manera continua el fichero y mostrando
cada variación en él.
16 de 48
wc Muestra información de un archivo.
o wc carta.txt 6 24 135 carta.txt Número de líneas, de palabras, de bytes y nombre
del fichero.
Índice
uniq Detecta archivos repetidos. Para detectarlos necesita que aparezcan como adyacentes al
listarlos por lo que se suele utilizar junto ls y después de sort.
grep [OPTIONS] PATTERN [FILE …] Orientado a buscar cadenas de texto DENTRO de los
archivos.
o [OPTIONS]
-r Búsqueda recursiva en el directorio y subdirectorios.
-i Ignora mayúsculas y minúsculas.
-v Muestra las líneas que NO contienen la cadena indicada.
-e –regexp Permite el uso de expresiones regulares.
o PATTERN
Cuando se indica una cadena de caracteres con espacios en blanco, debe ir entre
comillas dobles o sencillas “Private Vasquez”.
Regex (expresiones regulares) Algunos parámetros son:
Algunas de sus parámetros para construir las expresiones regulares son:
^ Indica inicio de línea.
$ Indica final de línea.
\ (backslash) Carácter de escape. Evita dar un significado especial a un
carácter. ^ \^
• [] Indica un conjunto de caracteres o un rango.
[^ ] Indica la negación de un conjunto de caracteres.
. (punto) Indica cualquier carácter.
* (asterisco) Indica que puede existir el carácter o expresión anterior
ninguna o varias veces.
\{x,z\} Indica que el carácter o expresión anterior puede existir entre x y z
veces.
\{x\} Indica que el carácter o expresión debe repetirse exactamente x
veces.
\{x,\} Indica que el carácter o expresión debe repetirse x veces o más.
Ejemplo [a-z0-9._-]+@[a-z0-9.-]+[a-z]{2,4}
17 de 48
o [a-z0-9._-]+ Una combinación de letras, números, y/o los
símbolos . (punto) _ (guión bajo) y - (guión) de uno o más
caracteres.
o @ Seguido de una arroba.
o [a-z0-9.-]+ Seguido de una cadena de letras, números y/o los
símbolos . (punto) y – (guión).
o [a-z]{2,4} Seguido de una cadena de entre dos y cuatro
caracteres.
o Filtro Se suele utilizar como filtro sobre la salidas de otros comandos utilizando pipelines
ls -l /dev | grep std De la salida del comando ls tomara solo los que contengan std
en su nombre.
o Ejemplos:
grep hola fichero1 Busca líneas que contengan “hola” dentro de
fichero1.
grep ‘^ho’ fichero? Busca una cadena que comience por “ho” en todos
los ficheros cuyo nombre empiece por fichero seguidos de un carácter.
grep ‘^.$’ fichero1 Busca líneas con un solo carácter en fichero1.
grep ‘[A-Z]’ fichero1 fichero2 Busca líneas con al menos una letra
mayúscula dentro de fichero1 y fichero2.
grep "Started Session [0-9A-Za-z ]* usuario." /var/log/syslog -c Busca las
líneas que contengan ‘Started Session’ y terminen con ‘usuario.’ en el archivo
indicado y cuenta las líneas.
find [startingdirectory] [expresión_de_búsqueda] [acción] Orientado a buscar y filtrar
archivos y directorios.
o find /ruta -type f -size +50m -user -group -perm -not/-and/-or -iname/-name “nombre
del archivo”
o /ruta Se puede utilizar punto (.) en vez de / para forzar la búsqueda a solo el directorio
actual y sus subdirectorios.
/ruta1 /ruta2 Admite varias rutas de forma conjunta.
o -type f (archivos regulares), d (directorios), l (enlaces simbólicos), c (dispositivos de
caracteres) y b (dispositivos de bloqueo).
o -size +20M (archivos más grandes de 20 MB), -22M (archivos de menos de 22M) y 32M
(omitiendo + y - busca archivos del mismo tamaño que el indicado).
c (bytes), k (kilobytes), M (megabytes), G (gigabytes) o b (bloques de 512 bytes)
o -user nombre_usuario Búsqueda por nombre de usuario propietario -user max
o -group nombre_grupo Búsqueda por nombre de grupo propietario -group
estudiantes
o -perm permisos Búsqueda por el tipo de permisos -perm 777
18 de 48
o -iname No case sensitive. / -name Case sensitive.
o nombre_archivo ó “nombre del archivo” Admite comodines para buscar
subcadenas, “*.mp3”, “*wiki*”
Archivos ocultos “.*”
o -mindepth / -maxdepth
find wordpres –mindepth 1 –name “*js” Busca en todos los niveles de
directorios excepto en el raíz de la ruta, el primer nivel.
find wordpress -maxdepth 1 -name “*js” Solo busca en el directorio raíz.
o Operadores relacionales -not/-and/-or
-not ó ! (Admite ambos)
find . –type f ! –name *php Todos los archivos que NO
terminen con .php
find . –type f -not –name *php Lo mismo. Admite ! y -not
-a find . –name ‘*.php’ –a –name ‘*.txt’ Archivos php y archivos txt.
-o find . –name ‘*.php’ –o –name ‘*.txt’ Archivos php o archives txt. Si
la primera expresión es cierta no busca la segunda.
o -links n Ficheros con “n” enlaces duros.
o -lname nombre_enlace Busca enlaces simbólicos.
o -regex expresión_regular Permite utilizar expresiones regulares.
o Ejemplos:
find . -type f -perm 777 -exec chmod 755 {} \ Realizara una búsqueda en el
directorio actual (y subdirectorios) de archivos con permisos 777. Después usará
el comando chmod para cambiar los permisos a 755.
locate Alternativa al comando find. Es más rápido pero sin tantas opciones.
o sudo apt update sudo apt install mlocate No viene instalado por defecto.
o sudo updatedb Actualiza manualmente la BBDD del sistema. El comando locate
busca en la base de datos principal del sistema operativo Linux. Si esa base de datos no
se actualiza, incluso los archivos eliminados pueden aparecer en los resultados de
búsqueda.
o -n 20 Solo los primeros 20 resultados.
o -i Ignora mayúsculas y minúsculas.
o -b Solo muestra los archivos que contengan la cadena y no todos los directorios que
los contienen.
o -e Muestra entradas de archivos existentes en el momento en que se ejecuta el
comando locate.
o -q Inhabilita la visualización de errores encontrados en el proceso de búsqueda.
o -c Muestra la cantidad de archivos que coinciden, en lugar de los nombres de los
archivos.
19 de 48
o Ejemplo: locate -n 20 -i “*.jpg” Muestra los 20 primeros resultados de todos
los archivos terminados en .jpg
Índice
Enlaces.
20 de 48
Índice
Redirección de entrada.
Sustitución.
ls -l /usr/bin > ls-output.txt Crea el archivo ls-output.txt y escribe en él la salida del comando ls
-l /usr/bin.
o Si el fichero ya existe, no lo crea pero SOBREESCRIBE SU CONTENIDO.
> fichero.txt Crea un fichero vacío con el nombre fichero.txt
cat > fichero.txt Envía la salida del teclado al fichero.txt
Adicción.
ls -l /usr/bin >> ls-output.txt Crea el archivo ls-outputl.txt y escribe en él la salida del comando
ls -l /usr/bin. Si el fichero ya existe, no lo crea y si ya tiene información AÑADE AL FINAL EL
RESULTADO DEL COMANDO.
21 de 48
Redirección de salida de error.
ls -l /bin/usr 2> ls-error.txt Crea el archivo ls-error.txt y escribe en él la salida del comando ls -
l /bin/usr. Si el fichero ya existe, no lo crea pero SOBREESCRIBE SU CONTENIDO.
ls -l /bin/usr 2>> ls-error.txt Crea el archivo ls-error.txt y escribe en él la salida del comando ls
-l /bin/usr. Si el fichero ya existe, no lo crea y si ya tiene información AÑADE AL FINAL EL
RESULTADO DEL COMANDO.
Concatenación
ls /usr/bin /etc /prima > salida.txt 2> errores.txt La salida va al fichero salida.txt y los errores
van al fichero errores.txt
ls /bin/usr /urs/bin > salida.txt 2>&1 Los éxitos los guarda en salida.txt y los fracasos también
en el mismo sitio que los éxitos (salida estándar = 1).
ls /bin/usr /urs/bin >> salida.txt 2>&1 Lo mismo que el anterior pero añadiendo la salida en el
archivo.
ls /usr/bin /urs/bin 2>&1 > f1.txt Los errores salen por pantalla y los éxitos los manda a un
fichero.
ls /bin/usr &> salida.txt Versión abreviada donde éxitos y fracasos son redireccionados al
mismo fichero.
ls /bin/usr &>> salida.txt Lo mismo que el anterior pero añadiendo no sobreescribiendo.
cat f1.txt f2.txt > resultado.txt Concatena los contenidos de los dos primeros ficheros en el
tercero. Puede servir con algunos archivos de vídeo (mpeg) e incluso imágenes.
Índice
/dev/null
Tuberías / pipelines.
22 de 48
El resultado de un comando se lo envía como entrada al siguiente comando.
o ls -l /usr/bin | less Permite visualizar la salida de ls -l página a página con less.
o ls l /usr/bin /bin | sort | less La salida de ls -l se envía a sort para la que la ordene y
luego a less para poder visualizarla página a página.
o ls /usr/bin /bin | sort | uniq –d Ordena el listado de ambos directorios y muestra solo
las líneas repetidas.
o ls /usr/bin /bin | sort | uniq | wc –w Lista los directorios, ordena el resultado
unificándolo, elimina los repetidos y cuenta el número de palabras.
Bifurcación (tee)
Este comando permite realizar una bifurcación en una tubería de manera que envía la
información a dos salidas.
ls /usr/bin/ | tee f1.txt | grep zip El listado es enviado al fichero f1.txt y al mismo tiempo al
comando grep que lo filtrara para mostrarlo en pantalla. En este caso el contenido de f1.txt será
diferente del resultado mostrado por pantalla porque no está filtrado.
echo $(ls) Muestra por pantalla el resultado del comando ls. El comando ls es sustituido por su
resultado que es la entrada del comando echo.
file $(ls -d /usr/bin/* | grep zip) Que tipo de archivos son todos los zip en la ruta dada. La pipe
entre el comando ls y el comando grep son sustituidos por su resultado que funciona como
entrada del comando file.
ls -l $(which cp = ls -l ‘which cp‘ Lista formato largo el archivo cp incluida la ruta. Se puede
sustituir el símbolo del dólar por el acento grave o francés (‘)
Índice
23 de 48
Usuarios y grupos.
Comandos usuarios.
24 de 48
usermod -m –d /home/casa_pedro pedro (el home de pedro pasa a
/home/casa_pedro)
usermod –s /bin/sh pedro (el shell de pedro sera sh (UNIX))
nombreGrupo nombreUsuario Añade un usuario a un grupo.
g Cambia el grupo primario.
G Añade el usuario al grupo y lo elimina del resto de grupos. NO AFECTA AL
GRUPO PRIMARIO.
aG Añade el usuario al grupo sin eliminarlo del resto de grupos.
Ejemplos: usermod –g administradores amelio (el grupo primario de amelio
sera administradores)
userdel nombre_usuario Elimina usuarios.
o r nombre_usuario Elimina el usuario y su home (todos sus archivos)
Índice
Comandos grupos.
Archivos.
Índice
25 de 48
Permisos.
Comandos.
26 de 48
chown usuario archivo_o_directorio Cambia el usuario propietario de un archivo o
directorio.
chown jonesy /archivo1.txt El usuario jonesy pasa a ser el usuario propietario del
archivo1.txt.
chgrp grupo archivo_o_directorio Cambia el grupo propietario de un archivo o carpeta.
chgrp estudiantes /archivo1.txt El grupo estudiantes es ahora el grupo propietario de
archivo1.txt.
• chown usuario.grupo archivo_o_directorio Cambia el usuario y el grupo
propietarios de un archivo o carpeta.
chown jonesy.estudiantes archivo1.txt El usuario jonesy y el grupo estudiantes
pasan a ser los propietarios de archivo1.txt.
Índice
Permisos especiales.
umask Cambia la máscara de permisos de cada usuario (por defecto, archivos 666 y
directorios 777), los permisos por defecto con que se crean los nuevos archivos y carpetas.
Parte de un valor 000 que se le resta a la máscara de permisos.
chmod u+s Activa el bit SUID. SOLO TIENE SENTIDO EN ARCHIVOS EJECUTABLES.
Cuando un usuario ejecuta el archivo lo hace con los permisos del usuario propietario.
chmod g+s Activa el bit SGID. Si se aplica a un directorio, todos los archivos y subdirectorios
creados dentro de ella tendrán como grupo propietario al grupo propietario del directorio padre
en vez de tener el del usuario que lo crea.
Si el grupo propietario de ese directorio es un grupo al que pertenecen varios usuarios, todos
tendrán esos permisos dentro del directorio. Todos los archivos y subcarpetas creados dentro
pertenecerán al grupo.
Ejemplo: chmod g+s directorio Se activa el bit SGID sobre el directorio.
Previamente se habrán dado los permisos que se quiera al grupo
propietario del directorio.
chgrp grupo directorio Se cambia el grupo propietario del directorio.
Todos los archivos que los integrantes del grupo creen dentro del directorio
tendrán como grupo propietario el indicado en el comando.
Ejemplo: umask 022 Si la máscara por defecto es 777-022 = pasará a ser 755.
Sticky bit LOS PERMISOS DE ESCRITURA SOBRE UN DIRECTORIO PERMITEN
BORRAR ARCHIVOS DE OTROS USUARIOS. Normalmente se activa para el grupo y para
otros usuarios. No tiene sentido para el propietario del directorio.
27 de 48
Ejemplo: chmod go+t nombre_directorio Se activa el Sticky bit de manera que
aunque otros usuarios tengan permiso de escritura solo podrán borrar los
archivos de los que son propietarios.
Archivos.
Índice
alien Permite convertir entre diferentes formatos de paquetes de Linux. Soporta conversiones
entre Linux Standard Base, RPM, deb, Stampede (.slp) , Slackware (.tgz), tarball (tar.bz2) y
tar.gz.
o apt install alien Instala el programa.
-r, --to-rpm .deb .rpm
alien—to-rpm SOFTWARE.deb
alien –r tupaquete.deb
-d, --to-deb .rpm .deb
alien -d tupaquete.rpm
alien—to-deb SOFTWARE.rpm
-t, --to-tgz Genera paquetes tgz.
Comandos.
Herramientas de alto nivel. Permiten la descarga e instalación de los paquetes y sus dependencias.
Debian dpkg
apt-get
28 de 48
apt
aptitude (texto y gráfico)
dselect (gráfico)
Red Hat,
yum (más antigua)
Fedora, rpm
dnf (acabará sustituyendo a Yum)
CentOS
Repositorios.
Descarga de software.
apt download paquete1 paquete2 Descarga el paquete o los paquetes indicados SIN INSTALARLOS.
29 de 48
• r --remove Desinstala el programa excepto los archivos de
configuración.
• P --purge Desinstala y borra todo incluido los archivos de
configuración.
gzip archivo.tar Comprime un archivo .tar con GZIP resultando un archivo .tar.gz
• d archivo.tar.gz Descomprime el archivo .tar.gz
tar Empaqueta diferentes archivos en uno solo. Los archivos se guardan primero en una sola
carpeta. Se suele utilizar con gzip, primero empaquetando los archivos y luego
comprimiéndolos.
• cvf archivo_final.tar directorio_a_empaquetar Crea un archivo empaquetado.
• tvf archivo.tar Permite visionar el contenido de un archivo empaquetado.
• xvf archivo.tar Extrae el contenido del archivo empaquetado.
rpm Es una herramienta de administración de paquetes desarrollada por Red Hat.
o -U nombre.rpm Actualiza el paquete rpm
o –a Consulta todos los paquetes instalados.
o -q Operación de consulta.
rpm -qa Muestra los paquetes .rpm instalados.
o -q palabra_clave_paquete Información si está instalado o “el paquete xxxx no está
instalado” rpm –q gedit Busca información del paquete Gedit.
o -l Lista los archivos de un paquete.
o -p Especifica el nombre del paquete.
o -qlp nombre_paquete.rpm Lista el contenido del paquete.
o -qf /ruta/nombre_archivo Muestra el paquete que lo contiene.
rpm -qf /usr/bin/vim vim-enhanced-7.4.160-4.el7.x86_64
o -i Instala el paquete indicado
o -v Muestra las acciones que se realizan.
o -h Imprime las marcas de hash (se usa junto con -v)
o -ivh “localFile.rpm” Instala un paquete.
rpm -ivh /home/deckard/Descargas/atom.x86_64.rpm
o -Uvh nombre_paquete.rpm Actualiza el paquete.
o -ev palabra_clave_paquete Desinstala el paquete. Confirmar la desinstalación
con rpm -qa
RESOLUCIÓN DE DEPENDENCIAS
30 de 48
apt install ./vim_2%3ª8.0.0197-4+deb9u1_amd64.deb apt instala el paquete descargado
previamente pero antes resuelve las dependencias necesarias.
yum install ./home/usuario/Descargas/code-1.25.1-1531323952.el7.x86_64.rpm yum
instala el paquete descargado previamente pero antes resuelve las dependencias necesarias.
APT (Advanced Packaging Tool) Es una conjunto de funciones empleas por varios programas
de línea de comandos para la gestión de paquetes. En especial, apt-get, apt (versión
modernizada de apt-get) y apt-cache. Fue creada dentro del proyecto Debian.
apt-get / apt {opciones} (apt es la evolución de apt-get) Instala, administra y desinstala los
programas del sistema y SUS DEPENDENCIAS.
o update Actualiza el índice de paquetes disponibles en los repositorios. Ejecutar
siempre antes de cualquier operación con el comando apt-get / apt.
o list –upgradable Lista de todos los paquetes con actualizaciones disponibles en los
repositorios.
o upgrade Actualiza todos los paquetes instalados a su versión más actual. No
actualiza el Sistema Operativo.
o dist-upgrade Actualiza todos los paquetes a su versión más actual INCLUYENDO EL
SISTEMA OPERATIVO.
o download nombre_paquete Descarga los paquetes indicados sin instalarlos.
apt download vim
o install Descarga, instala los paquetes y gestiona las dependencias. Si detecta
dependencias para el paquete, avisa y pide confirmación para instalar todos los paquetes
requeridos. apt install bsdgames (tetris-bsd)
o install—reinstall Instala programas desinstalados con remove (que no borra el
paquete del programa) por lo que no necesita descargarlo de nuevo.
o remove Desinstala programas. No borra los archivos de configuración ni el
paquete. Permite volver a instalarlo sin descargarlo y recuperar la configuración anterior.
o purge Desinstala programas y borra todo rastro de ellos (archivos de recuperación),
INCLUIDO EL PROPIO PAQUETE.
apt purge paquete1 paquete2 apt purge jed pico
o check Comprueba dependencias.
o autoremove Borra los paquetes huérfanos o las dependencias de los paquetes que han
sido desinstalados y ya no son necesarios.
o clean Libera espacio eliminando todos los paquetes del cache, pero para volver a
instalar un programa hay que descargarlo de nuevo.
o show nombre_paquete Muestra información sobre el paquete. Versión más
moderna de apt-cache show nombre_paquete.
31 de 48
apt-cache search cadena_texto (nombre o tipo de programa) Busca programas relacionados.
o apt-cache search emacs Busca todos los paquetes relacionados con el procesador de
texto emacs.
apt-cache show nombre_paquete Muestra información sobre el paquete. Igual que apt
show nombre_paquete.
apt search cadena_texto (nombre o tipo de programa) Hace lo mismo que apt-cache search
pero es más moderno.
o apt search games Busca todos los paquetes relacionados con juegos.
apt-key {opciones} Gestiona las claves públicas para autenticar paquetes. Cuando se agrega
una fuente de paquetes de terceros al archivo sources.list, se necesita informar a APT que
confíe en las llaves de autenticación GPG correspondientes. APT revisará las firmas antes de
cualquier operación de riesgo y mostrara una advertencia cuando este instalando un paquete
sobre el que no se puede verificar autenticidad.
o add nombre_archivo_clave Añade una nueva clave a la lista de confianza.
o list Lista las claves de confianza.
o finger / fingerprint Muestra las huellas digitales de las claves de confianza.
o del keyID Elimina una clave de la lista de claves de confianza. apt-key del 153F5386
yum Es un administrador de paquetes de software en distribuciones que trabajan con
paquetes RPM (redhat, fedora, centos, etc). El gestor yum está siendo sustituido por dnf.
o history list Muestra las últimas 20 entradas del historial.
o history list all Muestra todo el historial.
o -y La acción se ejecutará sin pedir confirmación.
o update Equivale a apt update y apt upgrade. Primero ejecuta la primera y luego da
la opción de seguir con upgrade o descartar la opción. yum update nano htop zlib perl
python
o install nombre_paquete Instala la última versión del paquete indicado. Pide
confirmación. yum install nudoku
o install -y paquete1 paquete2 Instala la última versión de los paquetes indicados sin
pedir confirmación. yum install nano wget gzip htop
o -y install nombre_paquete.arch Instala la última versión del paquete indicado con la
arquitectura indicada. yum install mysql.i386
o grouplist Lista los conjuntos de bloques o paquetes de software que se pueden
instalar. Cada bloque es un conjunto de software de una temática similar. Ej:
Herramientas de desarrollo, Servidor web básico, etc.
o groupinstall nombre_bloque Instala el bloque de software elegido.
o search cadena_texto Busca programas coincidentes con la cadena de texto.
search games yum install nudoku
o erase nombre_paquete Desinstala el paquete. yum erase nudoku
32 de 48
o info nombre_paquete Da información del paquete. Si no encuentra nada utilizar
search para buscar el nombre correcto del paquete.
o clean packages Con update o install el paquete instalado o actualizado no se
elimina del sistema. Esta opción los elimina liberando espacio.
o clean all Limpia los paquetes y los archivos de encabezados utilizados para resolver
dependencias.
Archivos.
Índice
Procesos y servicios.
General.
init Primer proceso que se ejecuta en Linux. Es el padre del resto de procesos y arranca el resto de
procesos necesarios. En /etc/init.d se encuentran los scripts que pueden ser llamados por init para
arrancar procesos del sistema como el bluetooth, wifi, propios del sistema, etc
Linux puede arrancar en diferentes niveles, como multiusuario, entorno gráfico, modo texto, etc. Son los
llamados runlevels que van de rc0 a rc6. Para cada nivel hay una carpeta en /etc/rc (ls -d /etc/rc*).
Estas carpetas tienen enlaces simbólicos que apuntan a los scripts, normalmente en init.d Y son las
diferentes combinaciones de enlaces a los scripts en cada carpeta, lo que determina que procesos y
servicios son iniciados en cada runlevel y por lo tanto cual será el comportamiento del sistema.
33 de 48
Runlevels
PID Identificador único de proceso. Cambia en cada ejecución de un mismo proceso pero no se
puede asignar a dos procesos distintos al mismo tiempo.
Comandos servicios.
Manejo de servicios.
init.d ( /etc/init.d) Contiene una serie de scripts que permiten iniciar / detener la gran mayoría
de los servicios instalados en el equipo. La mayoría de estos scripts reconocen los argumentos
start, stop, restart y status.
o service stop / start / rebot / reload / status nom_demonio
o sudo /etc/init.d/cups stop Detiene el daemon cups (servidor de impresión)
o sudo /etc/init.d/cups start Arranca.
o sudo /etc/init.d/cups restart Reinicia.
o sudo /etc/init.d/cups reload Lee de nuevo los archivos de configuración. Se suele
utilizar cuando se hacen cambios en dichos archivos y se quieren aplicar al daemon.
Deshabilitar servicios.
34 de 48
-f Force.
-n Cuando se añade esta opción a una combinación del comando no realiza
ninguna acción pero lanza un informe con las opciones que realizara con esa
orden sin esta opción.
update-rc.d -n cups disable Solo informa de las acciones a realizar
para deshabilitar el demonio cups.
update-rc.d cups disable Deshabilita el demonio cups.
Índice
Comandos procesos.
35 de 48
johndoe@crystalpalace-xfce ~ $ jobs
[1]+ Detenido nano
Nano aparece detenido porque necesita ser visualizado dentro del terminal y al no
poder por ser enviado a segundo plano, se detiene.
%númeroTrabajo Permite referirse a los números de los trabajos. kill -9 %2
fg (foreground) Pasa a ejecutar en primer plano el marcado con + en jobs
o %númeración_trabajo Cuando se indica el número de trabajo asignado por el
comando jobs lo arranca en primer plano. Ejemplo:
johndoe@crystalpalace-xfce ~ $ nano & (Se ejecuta nano en segundo plano)
[1] 3571
johndoe@crystalpalace-xfce ~ $ jobs
[1]+ Detenido nano (Aparece detenido)
johndoe@crystalpalace-xfce ~ $ fg %1 (El editor nano pasa a primer plano)
bg (background) Permite ejecutar en segundo plano un trabajo detenido.
o %númeración_trabajo Cuando se indica el número de trabajo asignado por el
comando jobs lo arranca en segundo plano. Ejemplo:
johndoe@crystalpalace-xfce ~ $ xlogo (Se ejecuta xlogo en segundo plano)
^Z (Ctrl+Z para detener el proceso)
johndoe@crystalpalace-xfce ~ $ jobs
[1]+ Detenido xlogo (Muestra xlogo detenido)
johndoe@crystalpalace-xfce ~ $ bg %2
[2]+ xlogo & (xlogo pasa a ejecutarse en segundo plano)
johndoe@crystalpalace-xfce ~ $ jobs (xlogo se ejecuta en segundo plano)
[1]+ Detenido nano
[2]- Ejecutando xlogo &
ps Muestra información sobre los procesos. La información que ofrece es una instantánea del
momento de la ejecución del comando.
o PROCESS STATE CODES. Códigos del estado de los procesos:
D Uninterruptible sleep (usually IO). Salvo por un proceso de entrada/salida del
disco.
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to complete)
T Stopped by job control signal.
t Stopped by debugger during the tracing.
W Paging (not valid since the 2.6.xx kernel)
X Dead (should never be seen)
Z Defunct (“zombie”) process, terminated but not reaped by its parent (no ha
liberado sus recursos)
36 de 48
< Alta prioridad.
N Baja prioridad.
o ps A secas, lista SOLO los procesos ejecutándose en la terminal actual. Columnas:
PID Identificador
TTY Terminal en el que se está ejecutando.
TIME Tiempo consumido de CPU.
CMD Comando que ha lanzado el proceso.
o Modificadores:
x Lista todos los PROCESOS DEL USUARIO. Columnas:
PID Igual
TTY Terminal. ? Cuando no se ejecutan desde una consola.
STAT El estado del proceso. Mirar PROCESS STATE CODES.
TIME Igual
COMMAND Ubicación del comando que ha lanzado el proceso.
aux Lista todos los procesos ejecutándose en el sistema.
USER Igual. PID Igual.
%CPU % tiempo de CPU utilizado.
%MEN % de RAM utilizada.
VSZ Cantidad de memoria virtual utilizada.
RSS Cantidad de memoria RAM en kilobytes.
TTY Igual. STAT Igual.
START Hora de comienzo del proceso
TIME Tiempo
COMMAND Ubicación del comando que ha lanzado el proceso.
top Muestra una lista de todos los procesos del sistema. Es una VISTA DINÁMICA que se
refresca cada 3 s. por defecto.
o LÍNEAS DE CABECERA:
1. SUMMARY display. Ejemplo:
top - 19:54:30 up 2:39, 1 user, load average: 0,31, 0,14, 0,04
o top Comando
o 19:54:30 Hora
o 2:39 Tiempo ejecutándose
o 1 user Número de usuarios activos en el sistema.
o load average Las medias del número de procesos listos, en
espera para ejecutarse los últimos 60 s., últimos 5 min. y últimos 15
min.). Con valores por debajo de 1 el consumo es bajo.
2. Tareas: 150 total, 2 ejecutar, 118 hibernar, 0 detener, 0 zombie
Agrupa las tareas según su estado (hibernar = durmiendo).
37 de 48
3. %Cpu(s): 54,5 usuario, 12,4 sist, 0,0 adecuado, 33,1 inact, 0,0 en espera, 0,0
hardw int, 0,0 softw
%’s de uso de la CPU: usuario(con sesión abierta), sist (procesos sistema-
kernel), adecuado (procesos baja prioridad), inact (% CPU no utilizado), en
espera (% CPU esperando por procesos entrada-salida)
4. KiB Mem (Uso de RAM): 1022260 total, 119088 libre, 373944 usado,
529228 búfer/caché
5. KiB Swap (Uso de swap): 1459804 total, 1459804 libre, 0 usado. 495348
avail Mem
o ENCABEZADO COLUMNAS:
PID Identificador único proceso.
USUARIO Usuario que inicia el proceso.
PR Prioridad. Ver comando nice.
NI Prioridad. Ver comando nice.
VIRT Memoria virtual.
RES Memoria residente.
SHR Memoria compartida.
S Estado del proceso.
%CPU Uso de la CPU.
%MEN Uso de la RAM.
HORA+ Tiempo de CPU.
ORDEN Comando que ha iniciado el proceso.
o Opciones CON EL COMANDO TOP CORRIENDO GLOBAL Commands:
Ayuda.
h (Con el comando top corriendo) Muestra la ayuda del comando.”q” o
“Esc” para volver al comando.
? (Con el comando top corriendo) Muestra la ayuda del comando. “q” o
“Esc” para volver al comando.
A (Con el comando top corriendo) Modo fullscreen.
d num_segundos (Con el comando top corriendo) Cambiar la tasa de refresco.
H (Con el comando top corriendo) Muestra la información en forma de hilos.
p (Con el comando top corriendo)
B (Con el comando top corriendo) Cambia las negritas.
m (Con el comando top corriendo) Muestra gráficamente el uso de memoria.
R (Con el comando top corriendo) Reverse.
i (Con el comando top corriendo) Tareas inactivas.
nice Ejecuta un comando al mismo tiempo que le asigna prioridad. De -20 a 19. Cuanto más
bajo el número más alta la prioridad.
38 de 48
o PRI (columna) Prioridad asignada por el kernel. La prioridad por defecto. Si el usuario
asigna otra prioridad, muestra la suma de ambas.
o NI (columna) Prioridad asignada por el usuario.
o –n<número_entero> Asigna la prioridad del usuario. El cálculo se hace con la
prioriodad PRI y la NI.
Si PRI = 20 y NI = 15 (nice -n5 comando) 20+15=35
Si PRI = 20 y NI = -5 (nice -n-5 comando) 20-5=15
o ps –a1 Para poder visualizar los procesos iniciados con nice
ps –lxa1 | grep xlogo
o Ejemplo: (Se han quitado las líneas que no aportan nada)
johndoe@crystalpalace-xfce ~ $ xlogo &
johndoe@crystalpalace-xfce ~ $ sudo nice -n-15 xlogo &
johndoe@crystalpalace-xfce ~ $ ps -lxa1 | grep xlogo
0 1000 4732 2232 20 0 59148 4840 poll_s S pts/5 0:00 xlogo
4 0 4738 2232 20 0 94228 5156 - S pts/5 0:00 sudo nice -n-15
xlogo
4 0 4739 4738 5 -15 59148 4800 - S< pts/5 0:00 xlogo
Explicación:
Por defecto, el kernel asigna al comando xlogo una prioridad de 20 (la
más baja).
Cuando se ejecuta otra instancia de xlogo con nice, calcula la nueva
prioridad a partir de la por defecto, 20 – 15 = 5.
Como curiosidad, crea dos procesos, uno para la orden nice y otro para el
propio xlogo.
renice Modifica la prioridad a los procesos que ya están en ejecución.
o renice prioridad [[-p] pid …] [[-g] pgrp (ID grupo del proceso) …] [[-u] usuario (nombre
usuario dueño del proceso) …]
o -p Permite varios ID’s de procesos.
o -g Permite varios ID’s de grupos de los procesos.
o -u Permite más de un usuario dueño del proceso. renice +20 -u vazquez
o El cálculo siempre lo hace con la prioridad inicial por defecto asignada por el kernel
(columna PRI) al crearse el proceso.
o Ejemplo: (Se han quitado las líneas que no aportan nada)
usuario@Mint102:~$ ps -lx | grep nano
0 1000 2608 1606 35 15 6920 2892 wait_w SN+ pts/0 0:00 nano
usuario@Mint102:~$ sudo renice -12 2608 (asignar prioridad -12 al proceso 2608)
2608 (process ID) prioridad anterior 15, nueva prioridad -12
usuario@Mint102:~$ ps -lx | grep nano
39 de 48
0 1000 2608 1606 8 -12 6920 2892 wait_w S<+ pts/0 0:00 nano
Explicación: Antigua prioridad asignada por el usuario (columna NI) 15 y la
nueva es -12. La diferencia son 27 y eso es lo que ha quitado a la prioridad
asignada por el kernel (columna PRI), 35 – 27 = 8. La prioridad que tendrá en
cuenta el kernel ahora es 8.
SIGTERM Señal que se envía el proceso para comunicarle un apagado “amable” (cerrando
conexiones, ficheros y limpiando su propio búfer). Puede ser controlada o ignorada por un
manejador de señales del proceso. Es la señala que mandan por defecto kill y killall desde la
terminal.
kill Permite enviar señales al proceso especificado con su PID.
o Kill -modificador PID.
o kill %2 (número trabajo jobs) kill 7248 (PID ps)
o Si no funciona con un proceso detenido, después de kill ejecutar fg ó bg %num_trabajo
y volver a comprobar el estado del proceso.
o -1 / -HUP PID (Hang up) Manda la orden de reinicio a un proceso.
o -2 / -INT PID Manda la orden de interrupción al proceso y el proceso puede terminar
ordenadamente o no. Equivale a Ctrl+c.
o -9 / -KILL PID Mata el proceso.
o -15 / -TERM PID Manda la orden de interrupción y el proceso termina
adecuadamente. Es la opción por defecto si se ejecuta kill a secas.
o -18 / -CONT PID Manda la señal de continuar a un programa detenido.
kill -18 %1
o -19 / -STOP PID Manda la señal de parada a un programa para detenerlo.
kill -19 %1
o -20 / -TSTP PID (Terminal Stop == Ctrl+z) Manda la señal de parada a un programa
para detenerlo pero este puede elegir ignorarla.
kill -TSTP 4381
o -28 / WINCH PID Es una señal del sistema.
killall Permite enviar señales al proceso especificado con su nombre. Si hay varios procesos
con el mismo nombre, la señal les llegara a todos.
o killall xlogo Enviara la señal SIGTERM al proceso de nombre xlogo. Si hay varios, a
todos ellos.
usuario@Mint102:~$ killall xlogo
[4] Terminado xlogo
[5] Terminado xlogo
[6] Terminado xlogo
[7] Terminado xlogo
o -l Muestra el listado de señales que se pueden enviar con killall.
40 de 48
o -u Especifica el usuario y mata todos sus procesos.
xkill Permite matar un proceso haciendo click con el cursor sobre la ventana del programa.
reboot Reinicia el sistema. Solo como root.
shutdown Apaga el sistema. Solo como root.
o +0 == now, +5 en cinco minutos.
o -c Cancela el apagado programado.
o -h now Apaga el sistema ahora.
o -r Reinicia.
Archivos.
/etc/init.d Contiene los scripts que pueden ser llamados por el init.
/etc/rc0.d rc6.d Carpetas de los runlevels. De la rc0.d a la rc6.d. Contienen enlaces simbólicos a
diferentes scripts en /etc/init.d.
Índice
Configuración de red.
Comandos.
41 de 48
ip {opciones} Forma parte de la iproute2 suite parece ser que es el sustituto de ifconfig.
o a, address show, address list, addr list Todas estas opciones son equivalentes al
antiguo ifconfig para ver la configuración de red.
o link show Muestra información de la capa 2 (data link layer) de las interfaces.
o link set nombreInterfaz down Deshabilita el interfaz de red indicado. Desaparece el
flag UP mostrado por ip addr list.
o link set nombreInterfaz up Habilita el interfaz de red indicado. Aparece el flag UP
mostrado por ip addr list.
ifdown [nombre interfaz de red] Desactiva (baja) el interfaz de red.
ifup [nombre interfaz de red] Activa (levanta) el interfaz de red.
iwconfig Muestra las tarjetas inalámbricas. Para instalarlo sudo apt-get install wireless-
tools
netstat {opciones} Muestra información sobre las conexiones de red.
• r Muestra la configuración lógica de los interfaces de red.
Archivos.
Índice
Conexiones de red.
Comandos.
42 de 48
SSH (Secure SHell)
Comandos.
apt-get install ssh Instala el servidor ssh. El cliente ssh viene instalado por defecto.
service ssh {options} Muestra el estado del servicio y permite administrarlo.
opciones status, start, stop, restart
/etc/init.d/ssh {options) Muestra el estado del servicio y permite administrarlo.
opciones status, start, stop, restart
ssh _usuario@IP ó nombre_máquina_remota Permite conectarse a una máquina remota en
línea de comandos. Se necesita una cuenta de usuario en la máquina remota.
Ejemplo:
ssh alumno@192.168.1.131
• X nombre_usuario@IP ó nombre_máquina_remota nombre_aplicacion
Permite lanzar una aplicación directamente. Aunque gráficamente la aplicación se
abre en la máquina local, SE ESTA EJECUTANDO EN LA MÁQUINA REMOTA.
Ejemplo:
ssh –X alumno@192.168.1.131 gedit
Se lanza gedit con la cuenta alumno en la máquina 192.168.1.131. El archivo creado
quedara guardado en el home de alumno en la máquina remota.
Archivos.
Índice
scp
Linux Linux. Se utiliza el comando cp sobre SSH. Permite copiar archivos o directorios
entre la máquina local y la remota y viceversa.
• r Opción recursiva. Permite copiar directorios y todo su contenido. Si se
indica el nombre del directorio se copiara este y todo su contenido. Si después del
nombre del directorio se indica / se copiara solo el contenido de este.
Máquina local máquina remota:
scp archivo_origen usuario@host(IP ó nombreEquipo):directorio/archivo_destino
43 de 48
Ejemplo:
scp -r archivoPrueba alex@192.168.2.23:/home/alex/pruebaSSH
Máquina remota máquina local:
scp usuario@host(IP ó nombreEquipo):directorio/archivo_origen archivo_destino
Ejemplo:
scp alex@192.168.2.23:/home/remoto/pruebaSSH archivoPrueba
Sincronización de archivos.
Ejemplo de configuación:
44 de 48
Importante:
rsync 192.168.2.23::
rsync 192.168.2.23::copia1
Índice
nfs Sistema de archivos distribuido en red. Permite guardar archivos en la red como si
estuvieran en local. Estructura CLIENTE-SERVIDOR:
Configuración. Se utiliza una línea por cada recurso a compartir. En ella se especifica:
Recurso a compartir.
Quien tiene acceso.
Modo en que se comparte (ro) solo lectura, (rw) lectura y escritura
45 de 48
Privilegios. Poner a nobody y nogroup como propietarios de los archivos:
o root_squash root remoto sin privilegios, como nobody
o all_squash todos los usuarios remotos como nobody
Predeterminar el usuario y el grupo propietario de los archivos:
o all_squash, anonuid=valorUID
o all_squash, anongid=valorGID
Ejemplos:
/another/exported/directory 192.168.0.3(rw,root_squash)
/copias_servidor 192.168.0.0/24(ro)
/home/nfs/copias 192.168.1.0/255.255.255.0(rw,all_squash,anonuid=1020,anongid=1012)
/copias_servidor *(ro) 192.168.0.10(rw,all_squash)
/copias_servidor *.ejemplo.com(rw)
Servidor:
Cliente:
/etc/fstab Archivo donde se definen las particiones, dispositivos o sistemas de archivos remotos
que deben ser montados e integrados en el sistema durante el arranque. En él se realizan los montajes
automáticos de los recursos en red. Uno por línea:
IP_servidor:recurso_remoto punto_montaje_local
#192.168.2.23:/copias_servidor /home/alumno/copias_nfs
Índice
46 de 48
SAMBA.
SAMBA Implementación libre del protocolo que utiliza Windows para compartir carpetas e
impresoras en red.
apt-get Install samba samba-common smbclient samba-doc smbfs
Gestión:
Permisos El acceso a los recursos se define por dos tipos de permisos Los del propio servicio y
los del punto de montaje:
Usuarios:
47 de 48
De esta forma, el comando tiene el inconveniente que los archivos creados en este recurso
tendrán como propietario al root.
smbmount //192.168.2.40/ejercicios /home/alex/windows/ejercicios –o
user=alumno,uid=1004,gid=1007
Se añade el uid y gid de un usuario del sistema Linux que es el que tomara posesión de los
archivos creados. En este caso serian de alex porque se está trabajando en su home.
umount punto_montaje Desmonta los recursos compartidos.
umount /home/alex/windowsPrivada
Índice
48 de 48