<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://miguelangel.torresegea.es/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://miguelangel.torresegea.es/wiki/feed.php">
        <title>miguel angel torres egea</title>
        <description></description>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <image rdf:resource="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png" />
       <dc:date>2026-06-13T23:14:44+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:install-12?rev=1781084106&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:sudo:start?rev=1715072349&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:start?rev=1777033277&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:parallel?rev=1781182496&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:sed?rev=1554881427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:shellvariables?rev=1727780019&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:distros:debian-12-bookworm?rev=1747299953&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:fsh:start?rev=1731409382&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:fsh:sys?rev=1613057041&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:getopts?rev=1547928366&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ubuntu:start?rev=1715085125&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:dpkg?rev=1741601006&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:ppa?rev=1571990093&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:background:start?rev=1579346279&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:awk?rev=1582615767&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:dd?rev=1752601467&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:find?rev=1725268231&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:less?rev=1533202124&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:locale?rev=1763374899&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:mlocate?rev=1708086824&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:tar?rev=1682592622&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:xargs?rev=1543585980&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:certificados:cayotros?rev=1638598737&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:comm:start?rev=1639738082&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:cron:anacron?rev=1605886810&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:cron:cron?rev=1780141472&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:install-6?rev=1580596040&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:inodes?rev=1614938829&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:mbr2gpt?rev=1731489132&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:kdeneon:start?rev=1613073641&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:start?rev=1681813259&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:knockd?rev=1479568269&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:pureftpd?rev=1540372183&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:sysstat?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:vsftpd?rev=1527955134&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:backupgpg?rev=1584903148&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:phpscript?rev=1328010857&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:seguridad:hackchecklist?rev=1597225140&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:seguridad:limitar-recursos?rev=1780923043&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:seguridad:secureboot?rev=1695801714&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:agente?rev=1777967047&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:localportforwarding?rev=1700559496&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:rdpconn?rev=1604492281&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteaccess?rev=1604512885&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:reverse?rev=1776425458&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:sshfs?rev=1777967145&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:start?rev=1637991770&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:users:start?rev=1772529314&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:expansion-flags?rev=1584880427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:globbing?rev=1585000649&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:install?rev=1764921530&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:start?rev=1479171919&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png">
        <title>miguel angel torres egea</title>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <url>https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-10T10:03:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>apt-get</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:apt?rev=1741600997&amp;do=diff</link>
        <description>apt-get

apt VS apt-get

	*  &lt;https://itsfoss.com/apt-vs-apt-get-difference/&gt;
	*  &lt;https://itsfoss.com/apt-get-linux-guide/&gt;
	*  &lt;https://itsfoss.com/apt-command-guide/&gt;

sources.list

	*  copia: /usr/share/doc/apt/examples/sources.list
	*  añadir universe y multiverse:
sudo add-apt-repository universe
sudo add-apt-repository multiverse


ignore certificate

Cuando estamos en una versión vieja de algún linux (debian 9 strech en este caso), podemos intentar encontrar la manera de actualizar los c…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-05T06:10:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comandos bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:comandos?rev=1757052655&amp;do=diff</link>
        <description>comandos bash

linux bash

comandos al detalle

	*  uptime
	*  tail [-n &lt;nn&gt;]
	*  head [-n &lt;nn&gt;]
	*  sort
	*  watch
	*  wc : wordcount
		*  -c : caracteres
		*  -l : líneas
		*  -w : palabras

	*  tr : translate characters (sustitución cadenas sobre la entrada estandard. Uso com filtro en scripts)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-31T08:58:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Los ficheros de inicio de Bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:ficherosinicio?rev=1675155487&amp;do=diff</link>
        <description>Los ficheros de inicio de Bash

tipos de shell

	*  Interactivo: permite interactuar, ejecutando comandos introducidos desde el teclado.
	*  No Interactivo: ejecuta los comandos desde un script
	*  De Inicio: los shells que se ejecutan justo después de haberse identificado. Son los que solicitan usuario y contraseña (versus los interactivos que no la solicitan, que no serían de inicio)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:install-12?rev=1781084106&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-10T09:35:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian 12 &quot;bookworm&quot; + KDE</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:install-12?rev=1781084106&amp;do=diff</link>
        <description>debian 12 &quot;bookworm&quot; + KDE

first install

	*  
sudo apt install git simplescreenrecorder clamtk remmina flameshot vim curl python3 python3-dev python3-pip python-is-python3 python3-requests build-essential openssh-server libreoffice bat tilix usbutils</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-13T21:26:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>docker (first contact)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:docker:start?rev=1581629161&amp;do=diff</link>
        <description>docker (first contact)

docker

un poco de historia

	*  docker monta un sistema de containerización que permite lanzar nuevas instancias de S.O. aprovechando los recursos (hard) de la máquina Y el kernel del SO ya corriendo, lo que hace más óptimo el aprovechamiendo de recursos que las máquinas virtuales (que recrean un ordenador al completo, con sus propios kernels y sistemas de ficheros)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-01-16T13:50:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instal·lació Linux Server Ubuntu 20.04.3</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:install:server:ubuntu20043?rev=1705413007&amp;do=diff</link>
        <description>Instal·lació Linux Server Ubuntu 20.04.3

recepta

instal·lació

configuració


sudo apt update -y &amp;&amp; sudo apt upgrade -y
sudo apt install -y git vim curl



sudo update-alternatives --config editor # canvi d&#039;editor per defecte
sudo visudo -f /etc/sudoers.d/nopass # %sudo ALL=(ALL:ALL) NOPASSWD:ALL</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:sudo:start?rev=1715072349&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-07T08:59:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sudo</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:sudo:start?rev=1715072349&amp;do=diff</link>
        <description>sudo

config

	*  edición /etc/sudoers: sudo visudo
		*  --check
		*  --strict
		*  --file=/etc/sudoers.d/alternate


sudoers

/via: &lt;https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-es&gt;

directorio /etc/sudoers.d

	*  sudo visudo -f /etc/sudoers.d/nopass
	*  interpreta todos los archivos que no acaben en</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:start?rev=1777033277&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-24T12:21:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>BASH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:start?rev=1777033277&amp;do=diff</link>
        <description>BASH

linux pendiente wiki

doc

	*  &lt;https://github.com/dylanaraps/pure-bash-bible&gt;

related

cheatsheet

	*  

shell

	*  /etc/shells
	*  history expansion
	*  Special Shell Variables &amp; Parameter Substitution and Expansion
	*  Los ficheros de inicio de Bash
	*  update-alternatives
&lt;https://devhints.io/bash&gt;&lt;https://wiki.bash-hackers.org/start&gt;&lt;http://www.compciv.org/topics/bash/variables-and-substitution/&gt;&lt;http://wiki.bash-hackers.org/syntax/pe?rev=1529675381&gt;&lt;https://en.m.wikipedia.org/wiki/G…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:parallel?rev=1781182496&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-11T12:54:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>parallel (bash)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:parallel?rev=1781182496&amp;do=diff</link>
        <description>parallel (bash)

	*  GNU Parallel actúa como un director de orquesta. No solo lanza los procesos, sino que los gestiona para que no colapsen el sistema:
		*  Gestión de carga: Si un proceso termina, lanza el siguiente inmediatamente.
		*  Orden de salida: Evita que los mensajes de error o logs de diferentes sujetos se mezclen de forma caótica en la terminal.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:sed?rev=1554881427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-10T07:30:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sed</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:sed?rev=1554881427&amp;do=diff</link>
        <description>sed

Stream EDitor

sintaxis


sed [-ns] &#039;[direccion] instruccion argumentos&#039;


donde:

	*  -n : no mostrar por STDOUT las líneas procesadas
	*  -s : tratar los ficheros entrantes como flujos separados
	*  dirección: número de línea, rango de números de línea o búsqueda por regexp. Si no se especifica, afecta a todas las líneas del fichero</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:shellvariables?rev=1727780019&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-01T10:53:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Special Shell Variables &amp; Parameter Substitution and Expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:shellvariables?rev=1727780019&amp;do=diff</link>
        <description>Special Shell Variables &amp; Parameter Substitution and Expansion

linux

bash

$ es utilizado para expansión de parámetros y sustitución de comandos

File descriptors

Special Shell Variables
 variable  Significado  $0        Nombre del script que se está ejecutando</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:distros:debian-12-bookworm?rev=1747299953&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-15T09:05:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Debian 12 bookworm</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:distros:debian-12-bookworm?rev=1747299953&amp;do=diff</link>
        <description>Debian 12 bookworm

network

/via:

	*  &lt;https://www.linuxtechi.com/configure-static-ip-address-debian/&gt;
	*  &lt;https://infotechys.com/add-multiple-ip-addresses-using-nmcli/&gt;
	*  &lt;https://shape.host/resources/como-configurar-la-red-en-debian-12&gt;

nmcli


nmcli connection
sudo nmcli connection modify &#039;Wired connection 1&#039; ipv4.address 192.168.1.240/24
sudo nmcli connection modify &#039;Wired connection 1&#039; ipv4.gateway 192.168.1.1
sudo nmcli connection modify &#039;Wired connection 1&#039; ipv4.method manual
sudo n…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:fsh:start?rev=1731409382&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-12T11:03:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Filesystem Hierarchy Standard</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:fsh:start?rev=1731409382&amp;do=diff</link>
        <description>Filesystem Hierarchy Standard

linux bash

(basado en debian)

/proc

	*  /proc/cpuinfo
	*  /proc/version
	*  /proc/1/comm
	*  /proc/sys/kernel/random/uuid
	*  echo n &gt;/proc/sys/vm/drop_caches
		*  n = 1 -&gt; Clears only the page cache.
		*  n = 2 -&gt; Clears dentries and inodes.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:fsh:sys?rev=1613057041&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-11T15:24:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sysfs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:fsh:sys?rev=1613057041&amp;do=diff</link>
        <description>sysfs

Ya que procfs se encuentra saturado con una gran cantidad de información no relacionada con los procesos, se diseñó sysfs con el fin de exportar desde el espacio del kernel (Anillo 0) al espacio del usuario (Anillo 3) información sobre los dispositivos y sus controladores.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:getopts?rev=1547928366&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-01-19T20:06:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getopts</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:getopts?rev=1547928366&amp;do=diff</link>
        <description>getopts

buen tutorial: &lt;https://wiki.bash-hackers.org/howto/getopts_tutorial&gt;

uso

	*  la cadena que acompaña a la instrucción getopts indica las opciones disponibles
	*  getopts OPTSTRING VARNAME [ARGS...]
		*  OPTSTRING:
			*  h: comprueba la opción -h sin parámetros. Da error en opciones no soportadas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ubuntu:start?rev=1715085125&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-07T12:32:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ubuntu</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ubuntu:start?rev=1715085125&amp;do=diff</link>
        <description>Ubuntu

22.04

.desktop

	*  &lt;https://atareao.es/software/utilidades/como-crear-lanzadores-en-ubuntu/&gt;

curiosidades

	*  comando para lanzar el salvapantallas: $ gnome-screensaver-command --lock
	*  comando para lanzar un terminal: $ gnome-terminal
	*  abrir un archivo basado en su MIME-TYPE: $ gnome-open &lt;archivo o URL&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:dpkg?rev=1741601006&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-10T10:03:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dpkg</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:dpkg?rev=1741601006&amp;do=diff</link>
        <description>dpkg

opciones

	*  Muestra los ficheros y su ubicación de un paquete:
dpkg -L packagename

	*  Instalar desde archivos .deb descargados:
dpkg -iEGB packagename

		*  i : instala desde fichero
		*  E, –skip-same-version: Don’t install the package if the same version of the package is already installed.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:ppa?rev=1571990093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-25T07:54:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ppa</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:ppa?rev=1571990093&amp;do=diff</link>
        <description>ppa

global

	*  listado de ppa(s) instalados: 
grep -i ppa.launchpad.net /etc/apt/sources.list.d/*.list

	*  añadir: 
sudo add-apt-repository ppa:haraldhv/shotcut

	*  quitar: 
sudo add-apt-repository --remove ppa:haraldhv/shotcut


info

	*  como saber el nombre del ppa original:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:background:start?rev=1579346279&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-18T11:17:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comandos &quot;background&quot;</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:background:start?rev=1579346279&amp;do=diff</link>
        <description>comandos &quot;background&quot;



Trabajos en segundo plano

	*  &lt;comando&gt;&lt;param&gt; &amp;
	*  &lt;comando&gt;&lt;param&gt; y a posterior, ^Z y entonces $ bg
	*  bg
	*  jobs -&gt; lista de trabajos en segundo plano
		*  jobs -l -&gt; lista de trabajos con PID
		*  jobs -p -&gt; lista de trabajos con ID solo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:awk?rev=1582615767&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-25T07:29:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>awk</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:awk?rev=1582615767&amp;do=diff</link>
        <description>awk

/via: &lt;https://www.howtogeek.com/562941/how-to-use-the-awk-command-on-linux/&gt;

	*  rule = pattern + action
	*  todo el comando entre comillas simples
	*  print
		*  $1,$3,$7: campo 1, 3 y 7 respectivamente (separados por espacio por defecto)
		*  $NF: último campo
		*  $0 : la línea entera

	*  cambiar carácter separador:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:dd?rev=1752601467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-15T17:44:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:dd?rev=1752601467&amp;do=diff</link>
        <description>dd

	*  dd -&gt; comando para flujos de datos
		*  if: archivo de origen
		*  of: archivo de destino
		*  ibs: número bytes leídos cada vez
		*  obs: número bytes leídos cada vez
		*  bs: número de bytes leídos y escritos cada vez
		*  cbs: número de bytes a convertir cada vez</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:find?rev=1725268231&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-09-02T09:10:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>find</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:find?rev=1725268231&amp;do=diff</link>
        <description>find

opciones

	*  -name : busca ficheros por nombre
	*  -iname : busca ficheros por nombre sin tener en cuenta mayúsculas o minúsculas
	*  -path : busca en el path completo (directorio+nombre)
	*  -ipath : busca en el path completo (directorio+nombre) no Case Sensitive</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-20T09:16:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>history expansion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:historyexpansion?rev=1579511775&amp;do=diff</link>
        <description>history expansion

linux bash
 shortcut   descripción  eventos    !                  Indica que empieza la sustitución  !!                 Último comando -&gt; !-1 !n                 enésimo comando  !-n                último comando menos n  !string</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:less?rev=1533202124&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-02T09:28:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>less</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:less?rev=1533202124&amp;do=diff</link>
        <description>less

línea comando

	*  -N : números de línea
	*  -M : long prompt -&gt; + información
	*  +F : seguimiento en vivo (como tail -f &lt;fichero&gt;)
	*  -S : no rompe las líneas al llegar a final de pantalla

enlaces

	*  &lt;https://en.wikipedia.org/wiki/Less_(Unix)&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:locale?rev=1763374899&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-17T10:21:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>locale</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:locale?rev=1763374899&amp;do=diff</link>
        <description>locale

	*  lista de los códigos locale
	*  para lanzar una aplicación en un idioma determinado (y si la aplicación lo soporta): $ export LANG=&lt;codigo&gt;; &lt;aplicacion&gt;

el comando

	*  locale -&gt; permite ver todos los valores en el sistema
	*  locale -a -&gt; permite ver los locales del sistema</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:mlocate?rev=1708086824&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-02-16T12:33:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>locate &amp; updatedb</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:mlocate?rev=1708086824&amp;do=diff</link>
        <description>locate &amp; updatedb

	*  alternativa plocate (en repos): &lt;https://plocate.sesse.net/&gt;
		*  compatible a nivel de configuración
		*  más rápido


install &amp; setup

	*  instalación:
sudo apt install mlocate

	*  excluir directorios:
sudo updatedb -e /usr -e /proc -e /boot -e /cdrom -e /dev -e /lib -e /lib64 -e /lost+found -e /media -e /mnt -e /run -e /snap -e /sys -e /tmp</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:tar?rev=1682592622&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-27T10:50:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tar</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:tar?rev=1682592622&amp;do=diff</link>
        <description>tar

comprimir

	*  tar -czvf &lt;file&gt;.tgz &lt;dir&gt;
	*  dónde:
		*  c : indica comprimir
		*  z : usar gzip como formato de compresión
		*  v : verbose, mostrar información mientras trabaja
		*  f : fichero TAR a crear


descomprimir

	*  tar -xzvf &lt;file&gt;.tgz [fichero o directorio a extraer]</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:xargs?rev=1543585980&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-30T13:53:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>xargs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:xargs?rev=1543585980&amp;do=diff</link>
        <description>xargs

Existen ocasiones en el que el número de ficheros a tratar es demasiado grande y llena el buffer del bash destinado a la expansión de los comodines que realiza el BASH (rm -fr *, por ejemplo, se transforma en rm fichero1 ficher2 fichero3 etc</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:certificados:cayotros?rev=1638598737&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-04T06:18:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Certificados, certificaciones, Entidades de Certificación</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:certificados:cayotros?rev=1638598737&amp;do=diff</link>
        <description>Certificados, certificaciones, Entidades de Certificación

/vía: &lt;http://www.rinconastur.com/php/php21.php&gt;

	*  openssl

todo

	*  si no es https, redirección a https
	*  si no tiene certificado de CA ficticea, llevar a página donde descargar

Creación entidad certificadora

	*  Creación de clave privada:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:comm:start?rev=1639738082&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-17T10:48:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux communications</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:comm:start?rev=1639738082&amp;do=diff</link>
        <description>linux communications

	*  tcp/ip (on Linux)
	*  otros protocolos

aplicaciones

	*  nmap: scan de red
	*  Escaner de vulnerabilidades nikto2: scan de webs
	*  netcat (nc)
	*  dig
	*  ss
	*  netplan (ubunut network)

sockets

	*  &lt;http://www.vozidea.com/como-obtener-los-sockets-unix-abiertos-en-linux&gt;
		*  &lt;https://en.wikipedia.org/wiki/Unix_domain_socket&gt;
		*  &lt;https://unix.stackexchange.com/questions/88083/idiomatic-location-for-file-based-sockets-on-debian-systems&gt;

other

	*  SPF/DKIM:
		*  S…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:cron:anacron?rev=1605886810&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-20T15:40:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>anacron</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:cron:anacron?rev=1605886810&amp;do=diff</link>
        <description>anacron

este programa sirve para ejecutar tareas de CRON en sistemas que no están encendidos 24h horas al díase ejecuta al arrancar el sistema y comprueba /etc/anacrontab, donde están las tareas especificadas a realizar como «importantes»

un ejemplo:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:cron:cron?rev=1780141472&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-30T11:44:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cron / crontab</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:cron:cron?rev=1780141472&amp;do=diff</link>
        <description>cron / crontab

Conceptos básicos

Cron se ejecuta en el background, revisa cada minuto la tabla de tareas crontab /etc/crontab o en /var/spool/cron

comprobar si está en ejecución:

$ ps -ef | grep crond

Añadir el servicio si no lo estuviera:

$ chkconfig --level 35 crond on</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:install-6?rev=1580596040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-01T22:27:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación rápida debian 6 como seedbox</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:install-6?rev=1580596040&amp;do=diff</link>
        <description>instalación rápida debian 6 como seedbox

	*  /vía: &lt;http://pastebin.com/Kx8sLk46&gt;
	*  /vía: &lt;http://www.linuxquestions.org/questions/linux-general-1/problem-using-screen-cannot-open-your-terminal-dev-pts-0-please-check-338313/&gt;: problemas con screen
	*  configuración rtorrent+rutorrent+screen: /vía: &lt;https://ks358174.kimsufi.com/download.CFF9640E/&gt;
	*  reiniciar rtorrent (&lt;https://www.feralhosting.com/faq/view?question=158&gt;)

instalación básica


apt-get update &amp;&amp; apt-get upgrade
apt-get instal…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:inodes?rev=1614938829&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-05T10:07:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux inodes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:inodes?rev=1614938829&amp;do=diff</link>
        <description>Linux inodes

ls -li

find /home/david/ -inum 5414

df -i
du -sh --inodes *
du -csh --inodes * | tee inodes.txt

find . -printf &quot;%h\n&quot; | cut -d/ -f-2 | sort | uniq -c | sort -rn

/via: &lt;https://www.ochobitshacenunbyte.com/2019/04/08/como-saber-el-uso-de-inodos-en-linux/#:~:text=Una%20de%20las%20formas%20habituales,el%20primer%20campo%20de%20salida.&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:mbr2gpt?rev=1731489132&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-13T09:12:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MBR / GPT</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:mbr2gpt?rev=1731489132&amp;do=diff</link>
        <description>MBR / GPT

/via: &lt;https://www.muycomputer.com/2024/09/20/como-cambiar-una-particion-de-windows-de-mbr-a-gpt-sin-perder-datos/&gt;
revisar: /via: &lt;https://www.muycomputer.com/2020/02/05/gpt-mejor-que-mbr-linux-windows/&gt;

MBR

	*  Master Boot Record
	*  BIOS
	*  el más antiguo
	*  compatible con gama más amplia de OS
	*  desarrollado con los primeros IBM
	*  contiene el cargador de arranque del OS
	*  máximo particiones de 2TB
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-04T11:09:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux udisks</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:udisks?rev=1649070557&amp;do=diff</link>
        <description>linux udisks

	*  lsblk: dispositivos conectados
		*  -a: más información (incluido major:minor)
		*  -d: no muestra información de los «esclavos» o holder devices (particiones)
		*  -i: usa caracteres ASCII para las representaciones de árbol (mejor copy&amp;paste)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:kdeneon:start?rev=1613073641&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-11T20:00:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>KDE Neon</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:kdeneon:start?rev=1613073641&amp;do=diff</link>
        <description>KDE Neon

restart

	*  kinfocenter --version
	*  reiniciar KDE Plasma &gt; 5.10: kquitapp5 plasmashell || killall plasmashell &amp;&amp; kstart5 plasmashell

info

problemas

	*  al habilitar ¿AHCI + HotSwap?, acceso a discos deficiente, lento
	*  ACPI: &lt;https://www.quijotelibre.com/2017/10/12/acpi-error-una-tonteria-de-gnulinux-que-me-ha-vuelto-loco/&gt;

acceso GRUB</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:log:start?rev=1681813259&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-18T10:20:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>logs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:start?rev=1681813259&amp;do=diff</link>
        <description>logs

visualización

	*  LNAV : paquete para consultar logs con herramientas avanzadas

gestión de logs

	*  rsyslogd
	*  loganalyzer
	*  logstatsh
	*  logrotate
	*  log parsing cheat sheet

usuario

para ver el contenido de estos ficheros (binarios) se puede usar utmpdump

	*  /var/log/wtmp -&gt; últimos accesos al sistema</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:knockd?rev=1479568269&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-19T15:11:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>knockd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:knockd?rev=1479568269&amp;do=diff</link>
        <description>knockd

demonio que escucha en unos puertos determinados una secuencia determinada para realizar una serie de acciones

normalmente, se abre de manera temporal algún puerto (como de gestión remota)

instalacion

aptitude install -y knockd

configuración</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:pureftpd?rev=1540372183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-24T09:09:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pure-ftpd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:pureftpd?rev=1540372183&amp;do=diff</link>
        <description>pure-ftpd

enlaces de interés

	*  &lt;http://linuxdev.dk/articles/pureftpd-over-tls&gt;
	*  &lt;http://wiki.openwrt.org/doc/uci/pure-ftpd&gt;
	*  comandos/opciones: &lt;http://edoceo.com/howto/pure-ftpd&gt;
	*  instalación + webui: &lt;http://www.debianhelp.co.uk/pureftp.htm&gt;
	*  otro webui: &lt;https://pure-ftpd-webui.org/&gt;
	*  &lt;https://help.ubuntu.com/community/PureFTP&gt;

instalación

	*  apt-get install pure-ftpd pure-ftp-common
	*  crear usuario/grupo:
		*  groupadd ftpgroup
		*  useradd -g ftpgroup -d /dev/null -s…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:sysstat?rev=1321351182&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-15T09:59:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Configuración sysstat</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:sysstat?rev=1321351182&amp;do=diff</link>
        <description>Configuración sysstat

Este paquete se instala desde el apt-get install ssysstat y lo descubrí a partir de esta página. (la información contenida en esta sección es practicamente un resumen de esa página)
Es un paquete de utilidades para monitorizar diferentes aspectos de nuestro servidor y poder detectar sobrecargas. Permite información en tiempo real y permite  guardar la información en logs para ir consultando.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:vsftpd?rev=1527955134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-02T15:58:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vsftpd (ftp server)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:vsftpd?rev=1527955134&amp;do=diff</link>
        <description>vsftpd (ftp server)

instalación

sudo apt-get install vsftpd

configuración

	*  /etc/vsftpd.conf -&gt; &lt;https://wiki.debian.org/vsftpd&gt;
	*  &lt;http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd&gt;
	*  &lt;http://www.linuxhispano.net/2010/09/14/configurar-servidor-ftp-en-linux-con-vsftpd/&gt;

solución de problemas

no deja hacer un CHROOT de un usuario local

	*  el usuario no ha de tener permisos de escritura en su /home/usuario</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-01T07:17:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsync</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rsync:start?rev=1727767063&amp;do=diff</link>
        <description>rsync

related

	*  Copias de seguridad usando RSYNC y SSH
	*  otra guía: &lt;http://troy.jdmz.net/rsync/index.html&gt;
	*  al detalle: &lt;https://www.computerhope.com/unix/rsync.htm&gt;

ejemplos

	*  sincronización de 2 directorios locales:
rsync -a -v dir1/ dir2

		*  -a implica:
			*  -r : recursividad
			*  -l : copiar symlinks como tal
			*  -p : copiar permisos
			*  -o,-g</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:backupgpg?rev=1584903148&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-22T18:52:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backup, encriptado y copia a remoto</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:backupgpg?rev=1584903148&amp;do=diff</link>
        <description>backup, encriptado y copia a remoto

2.2

	*  disociar parámetros de script en 2 ficheros
		*  usar source para incluir las variables necesarias
		*  o volver a mirar opciones de usar otro tipo de fichero (INI,JSON)


v2.1

	*  sustitución GPG por</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:phpscript?rev=1328010857&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-01-31T11:54:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ejecución PHP desde CRON sin problemas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:phpscript?rev=1328010857&amp;do=diff</link>
        <description>Ejecución PHP desde CRON sin problemas

en muchas ocasiones queremos ejecutar un script en PHP para realizar una tarea programadaen muchas ocasiones tenemos problemas con los INCLUDES o PATHS debido a que la ejecución del script desde APACHE difiere en el entorno que al ejecutarlo desde línea de comando.</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:seguridad:hackchecklist?rev=1597225140&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-12T09:39:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>checklist server hacked</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:hackchecklist?rev=1597225140&amp;do=diff</link>
        <description>checklist server hacked

	*  w
	*  last
	*  history
	*  top
	*  strace -d -p &lt;PID&gt;
		*  apt install strace

	*  ps auxf
		*  kill -9 &lt;PID&gt;

	*  iftop
		*  apt install iftop

	*  netstat -plunt
	*  lsof -l
	*  chrootkit
		*  apt install chrootkit


/via:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:seguridad:limitar-recursos?rev=1780923043&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-08T12:50:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux: limitar recursos usuarios</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:limitar-recursos?rev=1780923043&amp;do=diff</link>
        <description>Linux: limitar recursos usuarios

systemd

un usuari


# primer cop:
sudo systemctl edit --force --full user-$(id -u juan).slice
sudo systemctl edit user-$(id -u juan).slice

[Slice]
# Limitar al usuario a un máximo de 2 núcleos de CPU en total (200%)
CPUQuota=200%

# Limitar la memoria RAM máxima a 4 Gigabytes
MemoryMax=4G
MemoryHigh=3.5G

# Número máximo de procesos o hilos que puede abrir a la vez
TasksMax=100

# Los usuarios normales solo pueden usar los tres primeros núcleos
AllowedCPUs=0-2…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:seguridad:secureboot?rev=1695801714&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-27T08:01:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>secure boot</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:secureboot?rev=1695801714&amp;do=diff</link>
        <description>secure boot

ubuntu install

	*  desactivar secure boot para instalación en un mismo ordenador de Linux y Windows
	*  se supone que debería funcionar, pero no lo he conseguido:
		*  Instalar ubuntu, definir la contraseña temporal, al finalizar, rearrancar con el USB para hacer el</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:agente?rev=1777967047&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>agente SSH (ssh-agent)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:agente?rev=1777967047&amp;do=diff</link>
        <description>agente SSH (ssh-agent)

linux ssh

opciones

	*  
ssh-add &lt;clave&gt;

 : añade la clave indicada para su uso (si tiene contraseña, nos la pedirá al usar)

		*  -t &lt;&gt; : duración de la identidad en el agente (por defecto, segundos)
		*  
s | S   seconds, m | M   minutes, h | H   hours, d | D   days, w | W   weeks</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:localportforwarding?rev=1700559496&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-21T09:38:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Port Forwarding &amp; Tunneling (cliente)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:localportforwarding?rev=1700559496&amp;do=diff</link>
        <description>Port Forwarding &amp; Tunneling (cliente)

tunneling

	*  puerto local (3306) mapeado a puerto de &lt;server&gt; (3306) a través de SSH:
ssh &lt;user&gt;@&lt;SERVER&gt; -N -L 3306:127.0.0.1:3306

		*  -N : no ejecuta comandos, se queda abierto
		*  -L : es el encargado de establecer la conexión</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:rdpconn?rev=1604492281&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-04T12:18:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Conexión RDP con tunneling (y VPN)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:rdpconn?rev=1604492281&amp;do=diff</link>
        <description>Conexión RDP con tunneling (y VPN)

	*  usando Remmina como programa para la conexión RDP
	*  usando una VPN existente (y en marcha)
	*  usamos un servidor Linux (accesible a través de la VPN) para conectarnos a una máquina Windows (no accesible a través de la VPN)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:remoteaccess?rev=1604512885&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-04T18:01:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>uso de bastion</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:remoteaccess?rev=1604512885&amp;do=diff</link>
        <description>uso de bastion

acceso a servicio remoto a través de bastion

	*  pretendemos acceder a un servicio fuera de nuestro alcance, usando un servidor bastion intermedio al que si que tenemos.
	*  concretamente a un servidor MYSQL
		*  así el servicio de MYSQL no está expuesto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:reverse?rev=1776425458&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-17T11:30:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh tunel inverso (o reverso)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:reverse?rev=1776425458&amp;do=diff</link>
        <description>ssh tunel inverso (o reverso)

método SSH

sean:

	*  A - ordenador al que me quiero conectar desde «donde sea»
	*  B - ordenador con acceso «pleno»
	*  C - cualquier ordenador
	*  A y C pueden estar sin acceso público SSH

el método sería:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:sshfs?rev=1777967145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:45:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sshfs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:sshfs?rev=1777967145&amp;do=diff</link>
        <description>sshfs

linux ssh

conectar via SSH con lozalización remota como punto de montaje

especialmente útil cuando hay que copiar ficheros «salteados», evitamos el uso del scp

	*  instalar el paquete sshfs
	*  para montar: 
sudo sshfs usuario@sistema.remoto:/path/montaje /path/punto.montaje.local</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:start?rev=1637991770&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-27T05:42:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:start?rev=1637991770&amp;do=diff</link>
        <description>systemd

sistema de gestión de servicios que sustituye a systemV


-&gt; via: &lt;https://linoxide.com/linux-command/systemd-vs-sysvinit-cheatsheet/&gt;

en lugar de multitud de pequeños scripts de incialización de consola, el método systemd utiliza un único programa que usa archivos de configuración individuales para cada servicio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-03T08:58:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Uncomplicated Firewall</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ufw:start?rev=1756889908&amp;do=diff</link>
        <description>Uncomplicated Firewall

manera alternativa de montar reglas de acceso con una sintáxis más sencilla, monta tablas y cadenas a su antojo

sintaxis y argumentos

ufw [--dry-run] [options] [rule syntax]

	*  options:
		*  allow
		*  deny
		*  reject
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:users:start?rev=1772529314&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-03T09:15:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>usuarios y grupos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:users:start?rev=1772529314&amp;do=diff</link>
        <description>usuarios y grupos



información usuario

	*  id &lt;user&gt; -&gt; para saber datos y grupos del usuario
	*  whoami -&gt; nombre del usuario

usuarios en línea

	*  who -&gt; usuarios conectados - terminal
	*  ps -U &lt;USER&gt; -&gt; procesos asociados a un usuario
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-07T22:25:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vim</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:vim:comandos?rev=1604787919&amp;do=diff</link>
        <description>vim



linux

/vía: &lt;https://www.catswhocode.com/blog/vim-cheat-sheet-for-2016&gt;

/vía:&lt;http://www.catswhocode.com/blog/130-essential-vim-commands&gt;

info

	*  .vimrc
	*  1 al día por mlechon

Plugins/extensiones/personalización
&lt;https://kadekillary.work/post/statusline/&gt;&lt;https://gist.github.com/millermedeiros/1262085&gt;
	*  gestión/instalación plugins en sus propios directorios (runtimepath): &lt;https://github.com/tpope/vim-pathogen&gt;
		*  crear dos directorios: ~/.vim/autoload (ubicación vim-pathogen…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:expansion-flags?rev=1584880427&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-22T12:33:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH Parameter Expansion Flags</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:expansion-flags?rev=1584880427&amp;do=diff</link>
        <description>ZSH Parameter Expansion Flags

de manera similar a ZSH expansion modifiers, si dentro de una variable en el formato ${ } hay una apertura de paréntesis, se toma como una lista de flags ${(&lt;FLAGS&gt;)&lt;VAR&gt;}

	*  (q%q%q)  ≡ (%%qqq)
	*  lista de flags:
		*  #: evalua expresión numérica</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:globbing?rev=1585000649&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T21:57:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH Globbing (extended)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:globbing?rev=1585000649&amp;do=diff</link>
        <description>ZSH Globbing (extended)

glob expression

	*  ls &lt;path&gt;/*/* : lista todos los ficheros a 2 niveles del actual
	*  ls &lt;path&gt;/**/* : lista todos los ficheros en cualquier directorio
	*  ls &lt;path&gt;/**/*.txt : lista todos los ficheros .txt en cualquier directorio por debajo</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:install?rev=1764921530&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-05T07:58:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH install</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:install?rev=1764921530&amp;do=diff</link>
        <description>ZSH install

	*  &lt;https://geekytheory.com/como-instalar-oh-my-zsh-en-ubuntu&gt;
	*  &lt;https://blog.armesto.net/sacale-el-maximo-partido-a-tu-terminal-con-zsh/&gt;
	*  MAC: &lt;https://sourabhbajaj.com/mac-setup/iTerm/zsh.html&gt;

install

	*  
sudo apt install -y fonts-powerline fonts-font-awesome zsh

	*  instalación Oh My ZSH: 
sh -c &quot;$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)&quot;

	*  establece por defecto:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:start?rev=1479171919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-15T01:05:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsyslogd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:rsyslogd:start?rev=1479171919&amp;do=diff</link>
        <description>rsyslogd

paso 1

preparar a nuestro demonio para recibir logs del exterior

rsyslogd (paso 1)


/via: &lt;https://aelog.org/use-the-raspberry-pi-as-a-syslog-server-using-rsyslog/&gt;


paso 2

preparar cliente para enviar datos a nuestro demonio

rsyslogd (paso 2)


En este enlace también explica como volcar los datos a un servidor BDD/via: &lt;http://www.alcancelibre.org/staticpages/index.php/configuracion-rsyslog&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-27T11:20:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zsh-autoenv</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:autoenv?rev=1732706445&amp;do=diff</link>
        <description>zsh-autoenv

/via: &lt;https://github.com/Tarrasch/zsh-autoenv&gt;

configuration

	*  AUTOENV_FILE_ENTER: Name of the file to look for when entering directories. Default: .autoenv.zsh
	*  AUTOENV_FILE_LEAVE: Name of the file to look for when leaving directories. Requires AUTOENV_HANDLE_LEAVE=1.Default: .autoenv_leave.zsh</description>
    </item>
</rdf:RDF>
