<?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-23T01:44:41+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:docker:start?rev=1581629161&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:mount:start?rev=1780492438&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:filesystem:permisos?rev=1727956812&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:aptget:apt?rev=1741600997&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:bash:comandos?rev=1757052655&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:log:logrotate?rev=1673629520&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&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:bash:sed?rev=1554881427&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:certificados:pki?rev=1558438235&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:paquetes:pureftpd?rev=1540372183&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:start?rev=1777033277&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:config?rev=1777967007&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:start?rev=1759250047&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:find?rev=1725268231&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:fsh:sys?rev=1613057041&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:systemd:systemctl?rev=1584613486&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:debian:seedbox:screen?rev=1685079106&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:swap?rev=1748941460&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:repos?rev=1566804756&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:lsof?rev=1594280658&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:procesos?rev=1731321620&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:inicio:start?rev=1478089265&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:rsync:start?rev=1727767063&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:scripts:phpscript?rev=1328010857&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:protocolobackup?rev=1330366804&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:zsh:globbing?rev=1585000649&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:alias?rev=1536305720&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:grub?rev=1697535310&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:heredoc?rev=1511442654&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:indirectreferences?rev=1543427202&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:librerias-dinamicas?rev=1674210840&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:bash:locales?rev=1594132941&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:cron:at?rev=1700746784&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:debian:install-8?rev=1580459479&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:hard:start?rev=1606847267&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:mint:start?rev=1686748898&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:findimagedupes?rev=1535013969&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:lighttpd?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:openvpn?rev=1588187731&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:paquetes:scanneracerscanprisa?rev=1435502676&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:scripts:1st-last?rev=1321351182&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:tareasserver?rev=1347554934&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:utils?rev=1605886849&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:scripts:vsftp?rev=1321351182&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:start?rev=1780922730&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:chroot?rev=1777967080&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:varios?rev=1777967135&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl?rev=1640200694&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:dig?rev=1556648584&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:dns?rev=1767009585&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:nfs?rev=1628965242&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tcpip:nmap?rev=1689772815&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:tomcat:install?rev=1538038548&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:zsh:expansion-flags?rev=1584880427&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh?rev=1780418250&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&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: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: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:mount:start?rev=1780492438&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-03T13:13:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mount</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:mount:start?rev=1780492438&amp;do=diff</link>
        <description>mount

linux

SMB mount

comandos

	*  
findmnt

		*  solo bind: 
findmnt | grep  &quot;\[&quot;


	*  
lsblk

		*  -f: etiquetas particiones
		*  -m: size,owner,group
		*  -o NAME,UUID,PARTUUID

	*  
blkid

	*  /dev/disk -&gt; /dev/disk/by-uuid

check disco

	*  &lt;https://ignoresysprereqs.blogspot.com/2011/11/forzar-chequeo-de-disco-al-reiniciar.html&gt;
	*  usar tune2fs</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:filesystem:permisos?rev=1727956812&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-03T12:00:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>permisos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:filesystem:permisos?rev=1727956812&amp;do=diff</link>
        <description>permisos

cada archivo tiene 3 grupos de permisos, el del autor (owner), el del grupo (group) y el del resto.

en un listado (ls -la) los permisos se muestran en el mismo orden (primero owner, después grupo, después resto) representado por 3 letras:</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: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: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: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:log:logrotate?rev=1673629520&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-13T17:05:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>logrotate</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:log:logrotate?rev=1673629520&amp;do=diff</link>
        <description>logrotate

info

	*  &lt;https://atareao.es/ubuntu/rotado-de-logs-con-logrotate/&gt;
	*  &lt;https://www.digitalocean.com/community/tutorials/how-to-manage-logfiles-with-logrotate-on-ubuntu-16-04&gt;
	*  &lt;https://stackoverflow.com/questions/20162176/centos-linux-setting-logrotate-to-maximum-file-size-for-all-logs&gt;

cli

	*  ejecutar dry-run:
sudo logrotate /etc/logrorate.conf --debug

	*  ejecutar manualmente o un fichero concreto:
sudo logrotate &lt;FICHERO.CONF&gt;

	*  status del estado de rotado:
cat /var/lib…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-27T15:24:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MasterClass Docker</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:docker:masterclass?rev=1543332294&amp;do=diff</link>
        <description>MasterClass Docker

docker

info masterclass

ponente: Dani Sanchez  --&gt; docker user 

pass:2...s

docker

info general

3 componentes:

	*  docker daemon
	*  rest api (escuchando en file system) --&gt; nos permite hablar con otros demonios docker (en otras máquinas)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:43:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fichero .ssh/config</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:clientconfig?rev=1777967022&amp;do=diff</link>
        <description>fichero .ssh/config

linux ssh

man page

fichero configuración conexión

para simplificar la conexión vía SSH con diferentes servidores, y en alternativa a crear alias de conexiones:

alias ssh-local-dns=&#039;ssh -v -i /home/mate/.ssh/pi@raspberry pi@192.168.1.60&#039;

se puede optar por crear el fichero de configuración de conexión (</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: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: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:certificados:pki?rev=1558438235&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-05-21T11:30:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PKI</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:certificados:pki?rev=1558438235&amp;do=diff</link>
        <description>PKI

&lt;https://linuxize.com/post/how-to-set-up-an-openvpn-server-on-centos-7/&gt;
Public Key Infraestrucure


previa

orientado a la instalación de un openvpn

creación de los siguientes elementos:

	*  CA
	*  SERVER certificate + key
	*  CLIENT certificate + key

usando la herramienta easy-rsa

CA

se recomienda crear todos estos ficheros en un servidor standalone / offline de la insfraestructura que se monte</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: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: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: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:ssh:config?rev=1777967007&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:43:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración ssh server (/etc/ssh/sshd_config)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:config?rev=1777967007&amp;do=diff</link>
        <description>configuración ssh server (/etc/ssh/sshd_config)

linux ssh

	*  comprobar si hay restricciones en IPTABLES /etc/sysconfig/iptables
	*  se puede limitar el uso que se puede hacer de SSH en el siguiente fichero: /etc/ssh/sshd_config
	*  Opciones destacadas:
		*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>authorized_keys</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:keys?rev=1777967067&amp;do=diff</link>
        <description>authorized_keys

linux ssh

contiene las claves públicas de los sistemas que permiten la conexión al sistema actualse le pueden añadir restricciones del tipo:

	*  from=«xxx.xxx.xxx.xxx» ssh-dss.... -&gt; restricción por IP
	*  no-pty ssh-dss... -&gt; evita obtener una shell</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:start?rev=1759250047&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T16:34:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Gestión paquetes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:start?rev=1759250047&amp;do=diff</link>
        <description>Gestión paquetes

linux

	*  apt-get
		*  apt unattended-upgrades
		*  apt (sin internet)

	*  repos
	*  dpkg
	*  aptitude
	*  yum
	*  ppa
	*  apk (alpine)

verificar/actualizar paquete

	*  mirar si está en el sistema:
dpkg --get-selections | grep &lt;paquete&gt;

	*  mirar el detalle del paquete: 
dpkg -l &lt;paquete&gt;

	*  actualizar paquete (no instala si no está):</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: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: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: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: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:systemd:systemctl?rev=1584613486&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-19T10:24:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>systemctl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:systemctl?rev=1584613486&amp;do=diff</link>
        <description>systemctl

sistema / gestión energía

	*  systemctl reboot
	*  systemctl halt
	*  systemctl poweroff
	*  polkit es necesario para la gestión de energía:
		*  systemctl suspend
		*  systemctl hibernate
		*  systemctl hybrid-sleep


servicios

status</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:debian:seedbox:screen?rev=1685079106&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-26T05:31:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>configuración/uso screen</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:seedbox:screen?rev=1685079106&amp;do=diff</link>
        <description>configuración/uso screen

install &amp; help

	*  
sudo apt install screen

	*  &lt;https://linuxize.com/post/how-to-use-linux-screen/&gt;
	*  &lt;https://www.gnu.org/software/screen/manual/screen.html&gt;
	*  versión moderna TMUX: &lt;https://www.howtogeek.com/671422/how-to-use-tmux-on-linux-and-why-its-better-than-screen/&gt;

comando

	*  screeen -ls: lista sesiones
	*  screen -r [&lt;sesion&gt;] : retornar a última sesión o a sesión específica
	*  screen -S &lt;nombre&gt;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:swap?rev=1748941460&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-03T09:04:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>swap</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:swap?rev=1748941460&amp;do=diff</link>
        <description>swap

operativa básica

	*  averigura donde está mi partición SWAP: 
swapon -s

	*  desactivar la partición de swap: 
swapoff /dev/sdxx

	*  fabricar una partición swap: 
mkswap /dev/sdxx

	*  activar partición de swap: 
swapon /dev/sdxx

		*  modificar en</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:repos?rev=1566804756&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-26T07:32:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>repos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:repos?rev=1566804756&amp;do=diff</link>
        <description>repos

&lt;https://wiki.debian.org/SourcesList#Component&gt;

ubicación/configuración

para cambiar los repositorios que hemos de utilizar, modificar el fichero /etc/apt/sources.list

o mejor crear fichero nuevo en /etc/apt/sources.list.d/*.list

https

para usar https en las peticiones a repositorios, instalar el paquete</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:lsof?rev=1594280658&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-09T07:44:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>lsof</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:lsof?rev=1594280658&amp;do=diff</link>
        <description>lsof

El comando lsof es un comando integrado en Linux gracias al cual podemos obtener información sobre los archivos que se abren por procesos en el sistema, es decir, lsof se encarga de listar los ficheros abiertos en la distribución de Linux usada.</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:procesos?rev=1731321620&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-11-11T10:40:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>control de procesos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:procesos?rev=1731321620&amp;do=diff</link>
        <description>control de procesos

linux bash

	*  busca procesos que cumplan cadena: 
ps aux | grep &lt;cadena_buscada&gt;

	*  
pgrep &lt;nombre proceso&gt;

		*  -u : especifica usuario
		*  -c : cuenta procesos
		*  -v : invierte el match
		*  -l : lista PID y proceso
		*  -f : cualquier parte de la cadena que aparezca en el proceso, no solo al principio</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:inicio:start?rev=1478089265&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-02T12:21:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>init</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:inicio:start?rev=1478089265&amp;do=diff</link>
        <description>init

niveles

cada nivel de funcionamiento arranca ciertos servicios que los otros no

número de niveles

0 -&gt; halt

1 -&gt; modo monousuario

2 a 5 -&gt; modo multiusuario

6 -&gt; reboot


comandos

	*  $ runlevel -&gt; muestra el runlevel en el que se está ejecutando el sistema</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: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: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: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:scripts:protocolobackup?rev=1330366804&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-02-27T18:20:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Protocolo de Backup</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:protocolobackup?rev=1330366804&amp;do=diff</link>
        <description>Protocolo de Backup

	*  master -&gt; servidor que hace las copias de seguridad
	*  esclavo(s) -&gt; servidor que se deja hacer las copias de seguridad

esclavo

	*  (1) crear cuenta específica para backups: $ useradd -c «Usuario de backup» -m -d /home/bck bck</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: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: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:alias?rev=1536305720&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-07T07:35:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>alias</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:alias?rev=1536305720&amp;do=diff</link>
        <description>alias

linux bash
&lt;https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html&gt;
creación


alias name=value
alias name=&#039;command&#039;
alias name=&#039;command arg1 arg2&#039;
alias name=&#039;/path/to/script&#039;
alias name=&#039;/path/to/script.pl arg1&#039;


desactivación (temporal)


## path/to/full/command
/usr/bin/clear
## call alias with a backslash ##
\c
## use /bin/ls command and avoid ls alias ##
command ls</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-10-09T11:48:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>arrays bash</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:arrays?rev=1539085719&amp;do=diff</link>
        <description>arrays bash



linux bash pendiente wiki

/via: &lt;http://www.thegeekstuff.com/2010/06/bash-array-tutorial/&gt;
&lt;http://wiki.bash&gt;-hackers.org/syntax/arrays?rev=1534920675&lt;https://www.artificialworlds.net/blog/2012/10/17/bash-associative-array-examples/&gt;
declaración e inicialización


declare -a array=(valor0 &#039;valor uno&#039; &#039;valor dos&#039;)



declare -A array=( [indice1]=valor0 [indice2]=&#039;valor uno&#039; [indice3]=&#039;valor dos&#039;)
# es necesario una versión 4+ de BASH para disponer de Arrays asociativos</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-31T09:25:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Estructuras de control y bucles</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:estructurasdecontrol?rev=1685525137&amp;do=diff</link>
        <description>Estructuras de control y bucles



comparaciones de cadenas alfanuméricas (Test Operators, Binary Comparison)

	*  cadena1 = cadena2 (también cadena1 == cadena2)
	*  cadena1 != cadena2
	*  cadena1 &lt; cadena2
	*  cadena1 &gt; cadena2
	*  -n cadena1 -&gt; longitud mayor que 0</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:grub?rev=1697535310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-10-17T09:35:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>grub</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:grub?rev=1697535310&amp;do=diff</link>
        <description>grub

añadir otros OS


sudo os-prober # sudo apt install os-prober
sudo update-grub


solución de problemas

en mi caso, en una instalación con W10 y SecureBoot activado en el primer intento de instalación.

boot-repair


sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:heredoc?rev=1511442654&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-11-23T13:10:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>heredoc (docs emblebed)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:heredoc?rev=1511442654&amp;do=diff</link>
        <description>heredoc (docs emblebed)

un heredoc es la manera de «embutir» un documento de texto dentro de un script para volcar a nuestro criterio.

ejemplos

el EOF usado en los ejemplos no deja de ser una etiqueta, no es mandatory... podríamos usar MITEXTO, la cuestión es definir principio y fin con la misma etiqueta</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:indirectreferences?rev=1543427202&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-11-28T17:46:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Referencias indirectas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:indirectreferences?rev=1543427202&amp;do=diff</link>
        <description>Referencias indirectas

indirection, indirect references

usar el valor de una variable para acceder al contenido de otra


# declaramos 2 variables
export xyzzy=plugh ; export plugh=cave

echo ${xyzzy}  # normal, xyzzy to plugh -&gt; plugh

echo ${!xyzzy} # indirection, xyzzy to plugh to cave -&gt; cave</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:librerias-dinamicas?rev=1674210840&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-20T10:34:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux: librerías dinámicas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:librerias-dinamicas?rev=1674210840&amp;do=diff</link>
        <description>Linux: librerías dinámicas

	*  Bibliotecas estáticas:
find / -name &#039;*.a&#039;

	*  Bibilotecas dinámicas:
find / -name &#039;*.so&#039;


gestión

	*  fichero de configuración global: /etc/ld.so.conf
		*  los cambios en las rutas se tienen que actualizar con el comando</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:bash:locales?rev=1594132941&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-07-07T14:42:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Locales</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:locales?rev=1594132941&amp;do=diff</link>
        <description>Locales

linux bash

variables

	*  LANG : establece el valor del lenguaje (y de LC_*) usado en el sistema
	*  LC_ALL : establece el valor de todas las categorias y tiene prefereencia
	*  definidos por POSIX
		*  LC_COLLATE : funciones de cadena
		*  LC_CTYPE : establece el comportamiento de funciones que tengan que ver con la convención de mayúsculas/minúsculas</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:cron:at?rev=1700746784&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-11-23T13:39:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>at</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:cron:at?rev=1700746784&amp;do=diff</link>
        <description>at

resumen

	*  at &lt;time&gt;: entra en el modo shell de AT para darle la lista de comandos a ejecutar
		*  para salir del modo shell:
			*   : guarda
			*   : cancela

		*  permite indicar hora, días, etc... ejemplos: 10:33, 10:33 + 2 days, dd.mm.yy,</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-26T22:51:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>curl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:curl:start?rev=1582757483&amp;do=diff</link>
        <description>curl

	*  &lt;https://curl.haxx.se/&gt; -&gt; 
	*  curl api rest test: &lt;https://www.baeldung.com/curl-rest&gt;
	*  protocolos: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET y TFTP

parámetros

	*  -o &lt;nombre&gt;: guarda el archivo con el nombre especificado</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:debian:install-8?rev=1580459479&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-31T08:31:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian 8 + ISPCONFIG OVH VPS</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:install-8?rev=1580459479&amp;do=diff</link>
        <description>debian 8 + ISPCONFIG OVH VPS

	*  &lt;https://www.howtoforge.com/tutorial/perfect-server-debian-8-jessie-apache-bind-dovecot-ispconfig-3/&gt;
		*  no se ha instalado SQRMAIL de este tutorial

	*  SPF/DKIM:
		*  SPF Wizard: &lt;http://www.spfwizard.net/es/&gt;
		*  DKIM Help: &lt;http://eltallerdelbit.com/configuracion-de-registros-spf-y-dkim/&gt;

	*  roundcube webmail: &lt;https://www.howtoforge.com/tutorial/roundcube-installation-on-debian-8-jessie/&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:hard:start?rev=1606847267&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-01T18:27:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>info hard</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:hard:start?rev=1606847267&amp;do=diff</link>
        <description>info hard

linux bash

pre-mount

localizar discos no montados en sistema:

	*  lsblk
	*  fdisk
		*  sfdisk: versión con scripting de fdisk más agradable
			*  echo &#039;type=83&#039; | sudo sfdisk /dev/sdb: crea partición ext4 de todo el disco


	*  blkid
	*  ls -l /dev/disk/by-uuid</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:mint:start?rev=1686748898&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-14T13:21:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux Mint 18</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:mint:start?rev=1686748898&amp;do=diff</link>
        <description>Linux Mint 18

Impresora

cambiar permisos de servidor de impresión: &lt;http://unix.stackexchange.com/questions/21074/dont-require-root-to-add-printers&gt;

sacar a un usuario de la pantalla de logon

	*  sudo vim /usr/share/mdm/defaults.conf
	*  buscar Exclude y cambiar nobody por la lista de usuarios que no se quiere que aparezca</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-14T17:02:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>instalación moebius (raspberry)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:moebius:start?rev=1365958942&amp;do=diff</link>
        <description>instalación moebius (raspberry)

/vía: &lt;http://www.ubuntumax.com/2013/01/el-home-server-perfecto-con-una.html&gt;

S.O.

	*  descargar IMG y grabar en SD:
		*  &lt;http://downloads.sourceforge.net/project/moebiuslinux/raspberry.stable/moebius.minimal.image.1.0.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmoebiuslinux%2Ffiles%2Fraspberry.stable%2F&amp;ts=1356605621&amp;use_mirror=heanet&gt;
		*  $ dd bs=4M if=moebius.minimal.imagen.1.0.1 of=/dev/sd? ? indica la letra que identifica a nuesrta SD

	*  local…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:findimagedupes?rev=1535013969&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-08-23T08:46:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>findimagedupes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:findimagedupes?rev=1535013969&amp;do=diff</link>
        <description>findimagedupes

funcionamiento

	*  &lt;http://www.jhnc.org/findimagedupes/manpage.html&gt;

ejemplos

	*  muestra los fingerprints de las imágenes, ordenados para que los idénticos se muestren uno al lado de otro:
$ findimagedupes -R --verbosity=fingerprint --no-compare . | sort

	*  ejemplo utilización funciones y parámetro -i:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:lighttpd?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 lighttpd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:lighttpd?rev=1321351182&amp;do=diff</link>
        <description>Configuración lighttpd


/etc/lighttpd/lighttpd.conf


Nos permite configurar todo el servidor http. Lo más destacable es:

	*  ubicación del root: /var/www
	*  activación de módulos
	*  ubicación del log de errores: /var/log/lighttpd/error.log</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:openvpn?rev=1588187731&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-04-29T19:15:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>openvpn</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:openvpn?rev=1588187731&amp;do=diff</link>
        <description>openvpn

	*  PKI
	*  private internet access (PIA)

instalación

aptitude install openvpn

aptitude install easy-rsa

configuración servidor

copiar ficheros para facilitar la generación de claves y certificados:

cp -rd /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

creación keys</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:paquetes:scanneracerscanprisa?rev=1435502676&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-06-28T14:44:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Configuración Scaner Acer ScanPrisa 640U</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:scanneracerscanprisa?rev=1435502676&amp;do=diff</link>
        <description>Configuración Scaner Acer ScanPrisa 640U

partiendo del proyecto SANE se procede de la siguiente manera:

	*  descargar el fichero &lt;http://benq.eu/support/downloads/download.cfm?file=scanner/drivers/usb/mirascanv403u10_bqa.zip&gt;
	*  buscar en la carpeta BIN el archivo u96v121.bin
	*  instalar paquete xsane ($ sudo apt-get install xsane)
	*  copiar el archivo u96v121.bin en</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:scripts:1st-last?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>ejecutar el primer o último día del mes</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:1st-last?rev=1321351182&amp;do=diff</link>
        <description>ejecutar el primer o último día del mes


#! /usr/bin/ksh
alias datecalc=/usr/local/bin/datecalc

#  weekselector ---  script to assist in scheduling cron jobs
#  Perderabo  Oct 11, 2003
#
#  example:
#  You want to run command1 on the first monday of each month and
#  you want to run command2 on the last monday of each month.
#  Just use this syntax:
#
#    0 0 * * 1 /usr/local/bin/weekselector 1st &amp;&amp; command1
#    0 0 * * 1 /usr/local/bin/weekselector last &amp;&amp; command2
#
#  Version 2.0  March 2…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-06-10T08:32:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mis ficheros $HOME</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:home?rev=1654849975&amp;do=diff</link>
        <description>mis ficheros $HOME

.bash_profile


# ~/.bash_profile: executed by bash(1) for login shells.

# quita el permiso de excritura al others
umask 002

#prompt por defecto
PS1=&#039;[\h]$ &#039;

# prompt de color en 2 lineas
if [ -f &quot;.prompt&quot; ]; then
  export PS1=`cat .prompt`
fi

if [ -f &quot;.bashrc&quot; ]; then
  source ~/.bashrc
fi

# variables de entorno
export EDITOR=&quot;vim&quot;
export LANG=en_US.ISO-8859-15

# echo &quot;&gt; .bash_profile&quot;</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:tareasserver?rev=1347554934&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-09-13T16:48:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Tareas Server</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:tareasserver?rev=1347554934&amp;do=diff</link>
        <description>Tareas Server

en /root/add_user_ERE.sh


#!/bin/bash

# funciones del script
genpasswd() {
        local l=$1
        [ &quot;$l&quot; == &quot;&quot; ] &amp;&amp; l=16
        echo `tr -dc A-Za-z0-9_ &lt; /dev/urandom | head -c ${l} | xargs`
}


# comprobar que pasa el parametro del nombre
if [ $# -ne 1 ]; then
    echo &quot;Usage Error!&quot;
    echo &quot;ftp_add_user.sh usuario&quot;
    echo &quot; &gt; introduce el nombre de usuario!&quot;
    exit -1
fi

# crea el usuario
#   -m (opcion que existia y he quitado)
#   -M para que no intente crear el …</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:utils?rev=1605886849&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-11-20T15:40:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>control de flujo / testing</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:utils?rev=1605886849&amp;do=diff</link>
        <description>control de flujo / testing

	*  más información: &lt;http://www.ibm.com/developerworks/library/l-bash-test/index.html&gt;
	*  test y || &amp;&amp;
		*  se pueden concatenar comandos con || (OR) o con &amp;&amp; (AND)
		*  test es equivalente al if, pero no permite bloques de comandos
		*  ejemplos:
			*  test -x /usr/sbin/anacron || exit 0</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:scripts:vsftp?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>scripts alta usuarios vsFTP</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:vsftp?rev=1321351182&amp;do=diff</link>
        <description>scripts alta usuarios vsFTP

script «mejorado», se puede utilizar como shell de usuario:


#! /bin/bash

genpasswd() {
        local l=$1
        [ &quot;$l&quot; == &quot;&quot; ] &amp;&amp; l=16
        echo `tr -dc A-Za-z0-9_ &lt; /dev/urandom | head -c ${l} | xargs`
}

clear
echo -n &quot;Introduce nombre cliente: &quot;
read CLIENTE

# aÃ± usuario
/usr/sbin/useradd -m -g ftp_arnoldfuel_es_clientes -s /bin/true -d /var/ftp/ftp.arnoldfuel.es/$CLIENTE -c &quot;Carpeta ftp para el cliente $CLIENTE&quot; $CLIENTE

echo -n &quot;sugerencia de password…</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:start?rev=1780922730&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-08T12:45:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux seguridad</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:seguridad:start?rev=1780922730&amp;do=diff</link>
        <description>linux seguridad

	*  Linux sadservers
	*  Linux: limitar recursos usuarios
	*  Linux: reservar recursos (administración)

setup

	*  PAM
		*  su: crear un grupo tipo permitsu y añadir a los usuarios que pueden usar su
		*  passwd: crear reglas fuertes de contraseña

	*  sudo:
		*  restringido per grups usuaris
		*  noexec

	*  sudoreplay</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:chroot?rev=1777967080&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>chroot (enjaulado)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:chroot?rev=1777967080&amp;do=diff</link>
        <description>chroot (enjaulado)

linux ssh

los usuarios se quedan encerrados en un directorio y no pueden salir de ahí (excepciones con mount --bind)


# override default of no subsystems
##Subsystem     sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server

AllowGroups ConexionSFTP

Match group ConexionSFTP
ChrootDirectory …</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:varios?rev=1777967135&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:45:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh varios</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:varios?rev=1777967135&amp;do=diff</link>
        <description>ssh varios

linux ssh

ssh forzando password

no sé pq razón, ssh ha empezado a probar todas las claves de mi directorio .ssh para intentar logarse en un sistema remoto. (habrá que averiguar pq lo ha hecho)

para evitar que haga esto, hay que hacer:

ssh -v -o PubkeyAuthentication=no user@machine</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl?rev=1640200694&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-22T19:18:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>journalctl</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl?rev=1640200694&amp;do=diff</link>
        <description>journalctl

gestión centralizada de logs

	*  archivo principal de configuración: /etc/systemd/journald.conf
	*  importancia de tener bien establecida la zona horaria con timedatectl
	*  journalctl-remote
	*  &lt;https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs-es&gt;

comandos

	*  listar todos los registros: journalctl
	*  mostrar mensajes del kernel:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:dig?rev=1556648584&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-04-30T18:23:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dig</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:dig?rev=1556648584&amp;do=diff</link>
        <description>dig

linux tcpip

related

secciones

	*  cabecera : opciones generales e informativas
	*  question section : petición lanzada al DNS
	*  answer section : respuesta del servidor a la petición
	*  authority section: que servidor DNS tiene autoridad para responder a la petición</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:dns?rev=1767009585&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-29T11:59:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>DNS</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:dns?rev=1767009585&amp;do=diff</link>
        <description>DNS

linux tcpip dns

related

	*  DNS y funcionamiento
	*  DNS: Resolución, progagación, limpieza
	*  dnsmasq
	*  bind9
	*  127.0.0.1 VS 127.0.1.1
	*  &lt;https://www.dns0.eu/&gt;
	*  &lt;https://one.one.one.one/&gt;

direct

	*  esbrinar qui gestiona les dades de xarxa (netplan)
	*  aplicar els canvis (networkmanager en desktops)

DNS populars

	*  Cloudflare DNS (1.1.1.1, 1.0.0.1)
	*  OpenDNS (208.67.222.222, 208.67.220.220)</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:nfs?rev=1628965242&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-08-14T18:20:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>NFS</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:nfs?rev=1628965242&amp;do=diff</link>
        <description>NFS

información

	*  &lt;http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/x-087-2-nfs.html&gt;
	*  mount -t nfs nfs_volume local_dir options (se puede omitir -t nfs pq el formato de montaje es exclusivo de este protocolo)
		*  mount -t nfs vlager:/home /users

	*  cat /proc/filesystems -&gt; ha de aparecer «nfs»

puesta en marcha de server/client</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tcpip:nmap?rev=1689772815&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-19T13:20:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nmap</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tcpip:nmap?rev=1689772815&amp;do=diff</link>
        <description>nmap

parámetros

	*  -sS : escanea los puertos más normales o los difinidos en services
	*  -p  : escanea un puerto determinado (50), un rango (50-60) o todos, poniendo un guión (-p-)
	*  -Tx : establece el periodo de tiempo que deja pasar para escanear un dispositovo para evitar ser detectado y que el firewall nos mande información falsa. De más espaciado a menos:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:tomcat:install?rev=1538038548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-09-27T08:55:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instalación Tomcat 8 en máquina vagrant</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:tomcat:install?rev=1538038548&amp;do=diff</link>
        <description>Instalación Tomcat 8 en máquina vagrant

vagrant


Vagrant.configure(&quot;2&quot;) do |config|
  config.vm.box = &quot;debian/stretch64&quot;
  config.vm.synced_folder &quot;./data&quot;,&quot;/vagrant&quot;
  config.vm.network &quot;forwarded_port&quot;, guest: 8080, host: 8080

  config.vm.provider &quot;virtualbox&quot; do |vb|
    vb.name = &quot;tomcat8&quot;
    vb.memory = 1024
    vb.cpus = 1
    vb.linked_clone = true
  end
end</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: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:oh-my-zsh?rev=1780418250&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-02T16:37:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>oh-my-zsh</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh?rev=1780418250&amp;do=diff</link>
        <description>oh-my-zsh

potenciador de zsh con temas y plugins : &lt;https://ohmyz.sh/&gt;

install

	*  sh -c &quot;$(wget &lt;https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh&gt; -O -)&quot;

más: &lt;https://www.howtoforge.com/tutorial/how-to-setup-zsh-and-oh-my-zsh-on-linux/&gt;

	*  chsh -s $(which zsh) : cambiar shell a mano si no lo hace automaticamente

config

	*  ~/.oh-my-zsh/tools/theme_chooser.sh

internal plugins

	*  dotenv</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-22T15:36:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff</link>
        <description>ZSH

	*  ZSH install
	*  &lt;http://zsh.sourceforge.net/&gt;
	*  introducción:
		*  &lt;https://linuxconfig.org/learn-the-basics-of-the-zsh-shell&gt;
		*  &lt;http://reasoniamhere.com/2014/01/11/outrageously-useful-tips-to-master-your-z-shell/&gt;


+ características

	*  ZSH features
	*  oh-my-zsh
	*  ZSH TAB Expansion
	*  ZSH Globbing (extended)
	*  ZSH expansion modifiers
	*  ZSH Parameter Expansion Flags
	*  ZSH zmv
	*  ZSH modules
	*  ZSH prompt

curiosidades

	*  src: recarga entorno (plugin)
	*  take : fun…</description>
    </item>
</rdf:RDF>
