apt-get install xserver-xorg-input-synaptics
printf "[%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 -3
df
chown
:$ 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/
cat
uptime
: tiempo que lleva la máquina levantadatail
→ muestra 10 últimas líneashead
→ muestra 10 primeras líneassort
xargs
cut
watch
: ejecuta un segundo comando cada n segundoswatch -n 5 ls -la
wc
→ 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 linecat
file
→ 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