apt-get install xserver-xorg-input-synapticsprintf "[%s]\n" * printf "%s\n" * | cat -vte printf "%s\n" * | od -bc
/vía: https://stackoverflow.com/questions/19604384/unixtwo-directories-with-same-name-on-the-same-path
excluir ficheros del listado (y otras cosas??): http://askubuntu.com/questions/333640/cp-command-to-exclude-certain-files-from-being-copied
$ ls !(unlisted1|unlisted2) $ ls !(unlisted*)
$ export GLOBIGNORE='unlisted1:unlisted2' $ ls *
$ export GLOBIGNORE='unlisted*' $ ls *
mkdir -p /jail/{dev,bin,sbin,etc,usr,lib,lib64}: crea estructura directorios en jailecho /usr/dir1 /var/dir2 /nas/dir3 | xargs -n 1 cp -v /path/to/file: copia file en dir1,dir2,dir3diff /tmp/r/ /tmp/s/: diferencias entre 2 directoriosdu → disk used$ du -sk * | sort -nr | head -3dfdf -xsquashfschown:$ chown root tmpfile$ chown :friends tmpfile$ chown himanshu:friends tmpfile$ chown -h root:friends tmpfile_symlnk$ chown –from=root himanshu tmpfile ← cambia tmpfile a himanshu si el propietario es root$ chown –from=:friends :family tmpfile ← cambia tmpfile a family si el grupo es friends$ chown –reference=file tmpfile$ chown -R himanshu:family linux/$ chown -R -H guest:family linux_symlnk$ chown -v <resto de comando>dd → comando para flujos de datossudo dd if=/dev/disk2s1 of=/Users/admin/imagen.iso → graba disco a imagen ISOsudo dd bs=4M if=image.iso of=/dev/sdxx → graba una imagen ISO a disco (USB)sudo dd status=progress if=… of=… → muestra estadísticas de transferencia (solo GNU Coreutils 8.24+)sudo dd if=… | pv ←s size> | sudo dd of=… → usar utilidad PV para progreso (y si le pasas el «size», hace cálculo de restante)cpio : como dd pero copiando solo la zona donde hay datossplit -b<tamaño> <fichero> <output>.@split -b100m <fichero> <output>.@: genera ficheros de 100Mgcat (o entiendo que un type en MSDOS)cat <output>.* <fichero>rename : renombrar ficheros con REG_EXP-n : no-action (modo test)rm !(*.tgz|*.zip) : elimina todos los ficheros que no sean .tgz o .zipshopt -s extglob para que funcione, si no intantará expandir el !cp <FICHERO>{,.bak}mv {,prefix_}<FICHERO>cp -r .ssh{,_backup}cp -r .ssh{,_`date +«%Y.%-m.%-d»`}install -b /path1/fichero1 /path2/catuptime : tiempo que lleva la máquina levantadatail → muestra 10 últimas líneashead → muestra 10 primeras líneassortxargscutwatch : ejecuta un segundo comando cada n segundoswatch -n 5 ls -lawc → word counttr → translate characters (sustituye cadenas sobre la entrada standard, uso como filtro en scripts)expr <operación aritmética>bc → calculadora$ echo «scale=300;4*a(1)» | bc -l → 300 cifras de PInl → numbering linecatfile → intenta identifiar el formato del fichero (o programa del que procede). Falsos «positivos»time (comando) → para calcular cuanto tarda en ejecutarse el comandohttp://www.manpagez.com/man/1/du/
du -csh <carpeta>nc → netcatdig → estilo nslookup, se le da el nombre del dominio y ofrece información en formato BINDping como traceroute: for i in {1..30}; do ping -t $i -c 1 google.com; done | grep "Time to live exceeded"
hdiutil → comando con verbos, relacionado con CD/DVD + ISOfor a in `ls | grep -v PATRON`; do rm -fr $a; done
for i in $(mount | cut -d" " -f1 | grep /home_ERE/); do umount $i; done
rm !(*.foo|*.bar|*.baz)
while read file; do rm "$file"; done < fichero_entrada
rm -f $(<fichero_entrada)
chmod --reference file1 file2
mkdir -p directorios/a/crear
du -sh <directorio>
for f in * ; do comando; done;
export GLOBIGNORE='<match_ficheros_a_ignorar>' ls * <- no mostrará los ficheros que cumplan el criterio, también funciona con cp o mv (y puede que otros, mientras dependan del '*'
comm -12 <(sort -u File1) <(sort -u File2)$ date --set="$(ssh user@server date)"
$ timeout <tiempo> <comando>
((sleep 2h;comando argumentos)$)
watch -n <segundos> <comando>
while [ 1 ]; do foo; sleep 2; done
while true; do foo; sleep 2; done
for ((;;)); do foo; sleep 2; done
until [ ]; do foo; sleep 2; done