<?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-18T06:45:31+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:scripts:backupgpg?rev=1584903148&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:p10k?rev=1780419138&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:scripts:10minutos?rev=1476137592&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:bash:arrays?rev=1539085719&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:find?rev=1725268231&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&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:vim:start?rev=1479165291&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&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:docker:start?rev=1581629161&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:scripts:getopts?rev=1547928366&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:scripts:start?rev=1613914961&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:utils:bat?rev=1764580784&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:start?rev=1780943461&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:aptget:aptitude?rev=1566804919&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:grep?rev=1576251056&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:sed?rev=1554881427&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:start?rev=1781084239&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:fsh:start?rev=1731409382&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:librerias:start?rev=1613257473&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:paquetes:fdupes?rev=1529917303&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:rclone:start?rev=1741346670&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:backup2?rev=1321351182&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:utils?rev=1605886849&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:chroot?rev=1777967080&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:keygen?rev=1777967033&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:ssh:reverse?rev=1776425458&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:ssh:rsync?rev=1777967091&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:utils:find-fd?rev=1763539345&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:zsh:start?rev=1758555368&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/linux:aptget:apt:no-internet?rev=1759250145&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: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: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:zsh:oh-my-zsh:p10k?rev=1780419138&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-02T16:52:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>powerlevel10k ZSH Theme</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:oh-my-zsh:p10k?rev=1780419138&amp;do=diff</link>
        <description>powerlevel10k ZSH Theme

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

ZSH_THEME=&quot;powerlevel10k/powerlevel10k&quot;


# Generated by Powerlevel10k configuration wizard on 2026-06-02 at 11:08 CEST.
# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 57633.
# Wizard options: powerline, rainbow, unicode, angled separators, sharp heads,
# flat tails, 1 line, compact, concise, instant_prompt=verbose.
# Type `p10…</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:scripts:10minutos?rev=1476137592&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-10-10T22:13:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backup 10 minutos al día</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:10minutos?rev=1476137592&amp;do=diff</link>
        <description>backup 10 minutos al día

explicación

Mira en los directorioes asignados si ha habído cambios desde la última vez, si hay algún cambio, haceel backup completo, lo encripta y lo envía a un SFTP

Si no hay cambios, envía al SFTP un archivo SINCAMBIOS vacío.</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: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: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: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:rsync:backup?rev=1585390650&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-28T10:17:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Copias de seguridad usando RSYNC y SSH</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rsync:backup?rev=1585390650&amp;do=diff</link>
        <description>Copias de seguridad usando RSYNC y SSH

Hemos de tener instalados los 2 paquetes, el RSYNC y el SSH, cosa que consideraremos trivial.

Los pasos concretos:

Generar las claves pública/privada:

ssh-keygen

Esto genera en ~/.ssh/ 2 archivos, con el nombre que hayamos especificado, en ese directorio. Uno es la clave privada (NO COMPARTIR) y otra la clave pública (con extesión</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:vim:start?rev=1479165291&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-11-14T23:14:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vi(m)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:vim:start?rev=1479165291&amp;do=diff</link>
        <description>vi(m)

instalación

apt-get install vim vim-rt -&gt; instala el ejecutable y el resaltado de sintaxis


:syntax on
:colorscheme elflord
:set cursorline                 &quot; set cul
:set number                     &quot; set nu
:set showmatch                  &quot; set sm
&quot;:set autoindent                &quot; set au
:set ignorecase                 &quot; set ic
:set incsearch                  &quot; set is
:set hlsearch                   &quot; set hls
:set ruler                      &quot; set ru
&quot;:set backupcopy</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-23T21:49:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ZSH zmv</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:zsh:zmv?rev=1585000143&amp;do=diff</link>
        <description>ZSH zmv

mv/rename mejorado

uso

	*  si no lo hacemos en el .zshrc, cargar con autoload zmv
	*  parámetros:
		*  -n: test, o hace los cambios
		*  C: copy
		*  L: ln
		*  M: move
		*  -w: añade paréntesis en los *
		*  -i: interactivo


ejemplo

usage</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-12-22T19:16:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>journalctl-remote</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:systemd:journalctl:remote?rev=1640200562&amp;do=diff</link>
        <description>journalctl-remote

/via: &lt;https://www.digitalocean.com/community/tutorials/how-to-centralize-logs-with-journald-on-ubuntu-20-04-es&gt;

/via: &lt;https://serverfault.com/questions/758244/how-to-configure-systemd-journal-remote&gt;


basico


sudo apt update -y &amp;&amp; sudo apt upgrade -y
sudo apt install systemd-journal-remote


servidor

	*  instalar servicios:

sudo systemctl enable --now systemd-journal-remote.socket
sudo systemctl enable systemd-journal-remote.service

# si ufw
sudo ufw allow in 19532/tcp…</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: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: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: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: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:scripts:start?rev=1613914961&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-21T13:42:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>scripts</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:start?rev=1613914961&amp;do=diff</link>
        <description>scripts

linux bash

parámetro

	*  getopts

generales

	*  /home/user/.xxxx
	*  script sencillo de hack de Kenneth Peiruza
	*  recopilación del sistema
	*  scripts alta usuarios en vsFTP
	*  control de flujo / testing
	*  ejecutar el primer o último día del mes
	*  Ejecución script PHP con CRON sin problemas

interacción

	*  select
	*  array loop
	*  linux for-folders

el mundo del backup

	*  backup del sistema (correo, BDD MySQL, home, etc)
	*  backup de file system
	*  mysqldump, backups de…</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:utils:bat?rev=1764580784&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-01T09:19:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bat, not cat</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:bat?rev=1764580784&amp;do=diff</link>
        <description>bat, not cat

	*  &lt;https://atareao.es/software/utilidades/bat-un-cat-con-alas/&gt;
	*  integración GIT

install

apt install bat
/usr/bin/batcat


zsh


git clone https://github.com/fdellwing/zsh-bat.git $ZSH_CUSTOM/plugins/zsh-bat


plugins=(zsh-bat ...)

uso

	*  -p: sin decoración, alias de --style:plain
	*</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:start?rev=1780943461&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-08T18:31:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linux</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:start?rev=1780943461&amp;do=diff</link>
        <description>linux

	*  linux shell
	*  Linux distros
	*  Linux remote desktops
	*  linux filesystem
	*  linux communications
	*  linux utils
	*  linux install
	*  linux seguridad
	*  Linux X-Windows
	*  kernel linux
	*  *CTL

que escritorios disponibles?

	*  
ps -a | egrep -i &quot;gnome|kde|mate|cinnamon|lxde|xfce|jwm&quot;

	*  
systemctl status display-manager

	*  
ls /usr/bin/*session

	*  screenfetch: 
git clone git://github.com/KittyKatt/screenFetch.git screenfetch
./screenfetch-dev</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:aptget:aptitude?rev=1566804919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-26T07:35:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>aptitude</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:aptitude?rev=1566804919&amp;do=diff</link>
        <description>aptitude

	*  elimina paquete, paquetes que queden huérfanos asociados y ficheros de configuración:
aptitude purge

	*  actualizar lista de paquetes:
aptitude update

	*  actualiza paquetes ya instalados:
aptitude update

	*  borrar ficheros que ERAN necesarios para la instalación:</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:grep?rev=1576251056&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-12-13T15:30:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>grep</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:bash:grep?rev=1576251056&amp;do=diff</link>
        <description>grep

uso

es una utilidad de línea de comando para buscar expresiones regulares dentro de cadenas.

	*  $ grep
		*  -n : muestra número de línea
		*  -v : inverso, muestra las líneas que NO tienen la cadena
		*  -w : palabras completas
		*  -x : lineas completas, no fragmentos</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: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: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:start?rev=1781084239&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-10T09:37:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>debian installs</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:debian:start?rev=1781084239&amp;do=diff</link>
        <description>debian installs



pendiente wiki

	*  debian 12 &quot;bookworm&quot; + KDE
		*  Debian 12 &quot;bookworm&quot; + Realtek RTL8811AU

	*  debian 10 &quot;Buster&quot;
	*  debian 9 stretch
	*  debian 8 + ISPCONFIG OVH VPS
	*  instalación rápida debian 6 como seedbox
pendiente mirar y documentar webmin
info general

	*  Releases: &lt;https://wiki.debian.org/DebianReleases&gt;
	*  Repositorios: &lt;https://www.debian.org/mirror/list&gt;
	*  apt mirrors: &lt;https://debiansupport.com/mirrors/&gt;
		*  &lt;https://www.debian.org/distrib/archive.es.htm…</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: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:librerias:start?rev=1613257473&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-13T23:04:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Linux dynamic libraries, librerias compartidas</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:librerias:start?rev=1613257473&amp;do=diff</link>
        <description>Linux dynamic libraries, librerias compartidas

	*  Shared Objects .so: ficheros de objetos sin bloque main
	*  todos los programas compilados son vinculados a libc
		*  eliminar esta librería supone la caída del sistema

	*  ld.so: aka ld-linux-so</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:paquetes:fdupes?rev=1529917303&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2018-06-25T09:01:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fdupes, ficheros repetidos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:paquetes:fdupes?rev=1529917303&amp;do=diff</link>
        <description>fdupes, ficheros repetidos

busca ficheros repetidos en diferentes ubicaciones, recursivamente, con posibilidad de ir eliminando

usa hash MD5 y después una comparación byte a byte

funcionamiento

	*  opciones:
		*  -r : recursivo dirs
		*  -S : muestra tamaño</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:rclone:start?rev=1741346670&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-07T11:24:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rclone</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:rclone:start?rev=1741346670&amp;do=diff</link>
        <description>rclone

	*  &lt;https://www.rapidseedbox.com/blog/rclone&gt;
	*  
apt install rclone


2018

sincronización de ficheros y directorios desde CLI para los siguientes servicios cloud:

	*  Google Drive
	*  Amazon S3
	*  Openstack Swift / Rackspace cloud files / Memset Memstore
	*  Dropbox
	*  Google Cloud Storage</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:backup2?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>backup de archivos</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:scripts:backup2?rev=1321351182&amp;do=diff</link>
        <description>backup de archivos

backup varias carpetas de una lista



#!/bin/bash
#
# file system backup
#

# directorios de los que hacer backup, separado por espacio, sin / final
LISTA=&quot;/etc /var&quot;

# RUTAS
# Local Directory for Dump Files
LOCALDIR=/home/backups/tmp/
# Prefix for offsite .tar file backup
HOSTNAME=pandora
MAIL=root@$HOSTNAME
LOG_DATE=&quot;$(date +%y)$(date +%m)$(date +%d)&quot;
SUFFIX=`eval date +%y%m%d`


# APP
# crea un tar de los directorios especificados en LISTA
for directorio in $LISTA
do
   …</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: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: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: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:keygen?rev=1777967033&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:43:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ssh-keygen</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:keygen?rev=1777967033&amp;do=diff</link>
        <description>ssh-keygen

linux ssh

creación y distribución de llaves

	*  crear llave 2048 bits:

ssh-keygen -b 2048 -f /home/user/.ssh/myKey

ssh-keygen -t rsa -f /home/user/.ssh/myKey

ssh-keygen -t ed25519 -f /home/user/.ssh/myKey -C &quot;comentario en clave&quot;

	*  asegurarnos que el directorio</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: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:rsync?rev=1777967091&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-05T07:44:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rsync seguro</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:ssh:rsync?rev=1777967091&amp;do=diff</link>
        <description>rsync seguro

linux ssh

sincroniza 2 carpetas en 1 o 2 sistemas de manera segura (comunicación encriptada)

rsync -rqpl -e &quot;ssh -i /home/user/.ssh/myKey.pri&quot; --stats --delete --log-file=&quot;/home/user/rsync.log&quot; origen destino

origen y destino están en formato scp: usuario@sistema.remoto:/path/</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:utils:find-fd?rev=1763539345&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-19T08:02:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>find - fd</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:utils:find-fd?rev=1763539345&amp;do=diff</link>
        <description>find - fd

&lt;https://github.com/sharkdp/fd&gt;

install


sudo apt install fd-find
sudo ln -s /usr/lib/cargo/bin/fd /usr/local/bin/fd


regexp

&lt;https://docs.rs/regex/latest/regex/#syntax&gt;

	*  por defecto
	*  ^: empieza
	*  $: acaba
	*  buscar -:
fd -- &#039;-pattern&#039;
fd &#039;[-]pattern&#039;


parámetros

	*  --ignore-case
		*  por defecto: todo minúsculas, no distingue. Si alguna mayúscula, distingue.</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>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/linux:aptget:apt:no-internet?rev=1759250145&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-09-30T16:35:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>apt (sin internet)</title>
        <link>https://miguelangel.torresegea.es/wiki/linux:aptget:apt:no-internet?rev=1759250145&amp;do=diff</link>
        <description>apt (sin internet)

Ejemplo para descargar los paquetes .deb de WineHQ, para cogerlos y llevarlos a otra máquina


sudo apt-get clean
sudo apt-get --download-only install winehq-&lt;branch&gt;
sudo apt-get --download-only dist-upgrade

cp -R /var/cache/apt/archives/ /media/usb-drive/deb-pkgs/

cd /media/usb-drive/deb-pkgs
sudo dpkg -i *.deb</description>
    </item>
</rdf:RDF>
