103.3 - Gestion basica de archivos: Comandos clave

Listar archivos: ls

ComandoDescripcionEjemplo
lsLista archivos del directorio actualls
ls -lFormato largo detalladols -l /etc
ls -aIncluye archivos ocultosls -a ~
ls -AOcultos sin . y ..ls -A
ls -hTamanhos legibles (con -l)ls -lh
ls -RListado recursivols -R /var/log
ls -iMuestra numero de inodols -li archivo.txt
ls -dMuestra el directorio, no su contenidols -ld /tmp
ls -tOrdena por fecha (reciente primero)ls -lt
ls -SOrdena por tamanho (mayor primero)ls -lS
ls -rInvierte el ordenls -ltr
ls -FIndicador de tipo (/ * @)ls -F /usr/bin
ls -1Una entrada por lineals -1

Copiar: cp

ComandoDescripcionEjemplo
cp origen destinoCopia archivocp a.txt b.txt
cp -r dir/ destino/Copia recursiva (directorios)cp -r src/ backup/
cp -p origen destinoPreserva permisos y timestampscp -p config.txt bak/
cp -a dir/ destino/Archive (preserva todo, recursivo)cp -a /home/ /backup/
cp -i origen destinoPregunta antes de sobreescribircp -i a.txt b.txt
cp -u origen destinoSolo si origen es mas nuevocp -u *.txt /backup/
cp -v origen destinoMuestra progresocp -v *.conf /etc/
cp -l origen destinoCrea hard linkcp -l archivo link
cp -s origen destinoCrea symbolic linkcp -s archivo link

Mover y renombrar: mv

ComandoDescripcionEjemplo
mv origen destinoMueve o renombramv a.txt b.txt
mv -i origen destinoPregunta antes de sobreescribirmv -i a.txt dir/
mv -u origen destinoSolo si origen es mas nuevomv -u *.log /archive/
mv -v origen destinoMuestra progresomv -v docs/ /backup/
mv -f origen destinoFuerza sin preguntarmv -f tmp.txt /dev/null

Eliminar: rm y rmdir

ComandoDescripcionEjemplo
rm archivoElimina archivorm temp.txt
rm -r directorio/Elimina recursivamenterm -r old_project/
rm -f archivoFuerza eliminacionrm -f lock.pid
rm -rf directorio/Fuerza eliminacion recursivarm -rf /tmp/cache/
rm -i archivoPide confirmacionrm -i importante.txt
rm -v archivoMuestra lo eliminadorm -v *.tmp
rmdir directorio/Elimina directorio vaciormdir vacio/
rmdir -p a/b/c/Elimina jerarquia vaciarmdir -p padre/hijo/

Crear directorios y archivos

ComandoDescripcionEjemplo
mkdir nombreCrea directoriomkdir proyecto
mkdir -p a/b/cCrea padres si no existenmkdir -p src/main/java
mkdir -m 755 nombreCrea con permisosmkdir -m 700 privado
touch archivoCrea vacio o actualiza timestamptouch nuevo.txt
touch -a archivoActualiza solo atimetouch -a datos.txt
touch -m archivoActualiza solo mtimetouch -m datos.txt
touch -t YYYYMMDDhhmm archivoEstablece fechatouch -t 202601150830 f.txt
touch -r ref archivoCopia timestamp de referenciatouch -r old.txt new.txt

Tipo de archivo

ComandoDescripcionEjemplo
file archivoDetermina tipo por contenidofile imagen.dat
file -i archivoMuestra tipo MIMEfile -i documento.pdf
file -L enlaceSigue enlaces simbolicosfile -L /usr/bin/python

Globbing (comodines)

PatronDescripcionEjemplo
*Cero o mas caracteresls *.txt
?Un caracter cualquierals archivo?.log
[abc]Uno de los listadosls [abc]*.txt
[a-z]Uno del rangols [a-z]*.conf
[!abc] o [^abc]Cualquiera excepto los listadosls [!0-9]*
[[:alpha:]]Cualquier letrals [[:alpha:]]*
[[:digit:]]Cualquier digitols [[:digit:]]*
[[:upper:]]Letra mayusculals [[:upper:]]*
[[:lower:]]Letra minusculals [[:lower:]]*

find

Busqueda por nombre y tipo

ComandoDescripcionEjemplo
find ruta -name "patron"Busca por nombrefind / -name "*.conf"
find ruta -iname "patron"Nombre sin importar mayusc.find / -iname "readme*"
find ruta -type fSolo archivos regularesfind /var -type f
find ruta -type dSolo directoriosfind /etc -type d
find ruta -type lSolo enlaces simbolicosfind /usr -type l

Busqueda por tamanho

ComandoDescripcionEjemplo
find ruta -size +10MMayor de 10 MBfind / -size +100M
find ruta -size -1kMenor de 1 KBfind /tmp -size -1k
find ruta -size 100cExactamente 100 bytesfind . -size 100c
find ruta -emptyArchivos vaciosfind /tmp -empty

Busqueda por tiempo

ComandoDescripcionEjemplo
find ruta -mtime -NModificado hace menos de N diasfind / -mtime -7
find ruta -mtime +NModificado hace mas de N diasfind /var -mtime +30
find ruta -atime -NAccedido hace menos de N diasfind . -atime -1
find ruta -ctime -NMetadatos cambiados en N diasfind /etc -ctime -1
find ruta -mmin -NModificado hace menos de N minfind . -mmin -60
find ruta -newer refMas nuevo que archivo reffind . -newer marca.txt

Busqueda por propietario y permisos

ComandoDescripcionEjemplo
find ruta -user nombrePor usuario propietariofind / -user sandra
find ruta -group nombrePor grupofind / -group users
find ruta -nouserSin usuario validofind / -nouser
find ruta -perm 644Permisos exactosfind /var -perm 644
find ruta -perm -644Al menos estos permisosfind / -perm -4000

Profundidad y acciones

ComandoDescripcionEjemplo
find ruta -maxdepth NProfundidad maximafind / -maxdepth 2 -name "*.log"
find ruta -mindepth NProfundidad minimafind / -mindepth 2 -type f
find ruta -exec cmd {} \;Ejecuta por cada resultadofind . -name "*.tmp" -exec rm {} \;
find ruta -exec cmd {} +Ejecuta agrupando resultadosfind . -name "*.txt" -exec ls -l {} +
find ruta -ok cmd {} \;Ejecuta pidiendo confirmacionfind . -name "*.bak" -ok rm {} \;
find ruta -deleteElimina resultadosfind /tmp -name "*.tmp" -delete

Operadores logicos en find

OperadorDescripcionEjemplo
-and (o espacio)Y logico (por defecto)find . -name "*.txt" -size +1M
-orO logicofind . -name "*.txt" -or -name "*.log"
-not o !Negacionfind . -not -name "*.tmp"
\( ... \)Agrupacionfind . \( -name "*.txt" -or -name "*.md" \)

tar (archivador)

ComandoDescripcionEjemplo
tar -cvf arch.tar dir/Crear tartar -cvf backup.tar /home/
tar -czvf arch.tar.gz dir/Crear tar + gziptar -czvf backup.tar.gz /etc/
tar -cjvf arch.tar.bz2 dir/Crear tar + bzip2tar -cjvf docs.tar.bz2 docs/
tar -cJvf arch.tar.xz dir/Crear tar + xztar -cJvf src.tar.xz src/
tar -xvf arch.tarExtraer tartar -xvf backup.tar
tar -xzvf arch.tar.gzExtraer tar.gztar -xzvf backup.tar.gz
tar -xjvf arch.tar.bz2Extraer tar.bz2tar -xjvf docs.tar.bz2
tar -xJvf arch.tar.xzExtraer tar.xztar -xJvf src.tar.xz
tar -tvf arch.tarListar contenidotar -tvf backup.tar
tar -xvf arch.tar -C dir/Extraer en directoriotar -xvf backup.tar -C /tmp/

cpio

ComandoDescripcionEjemplo
cmd | cpio -o > archCrear archivo cpiofind . | cpio -o > backup.cpio
cpio -id < archExtraer cpiocpio -idv < backup.cpio
cpio -it < archListar contenidocpio -it < backup.cpio
cmd | cpio -pdv destino/Copiar directamentefind . | cpio -pdv /backup/

Compresion

ComandoDescripcionExtension
gzip archivoComprime con gzip.gz
gunzip archivo.gzDescomprime gzip-
gzip -k archivoComprime manteniendo original.gz
gzip -d archivo.gzDescomprime (= gunzip)-
bzip2 archivoComprime con bzip2.bz2
bunzip2 archivo.bz2Descomprime bzip2-
xz archivoComprime con xz.xz
unxz archivo.xzDescomprime xz-
zip arch.zip archivosComprime con zip.zip
zip -r arch.zip dir/Comprime directorio.zip
unzip arch.zipDescomprime zip-
unzip -l arch.zipLista contenido zip-

dd

ComandoDescripcionEjemplo
dd if=IN of=OUTCopia bloquesdd if=/dev/sda of=disk.img
dd if=IN of=OUT bs=SIZECon tamanho de bloquedd if=f.iso of=/dev/sdb bs=4M
dd if=IN of=OUT count=NCopia N bloquesdd if=/dev/zero of=f bs=1M count=100
dd ... status=progressMuestra progresodd if=/dev/sda of=d.img status=progress
dd if=/dev/zero of=OUTLlena con cerosdd if=/dev/zero of=/dev/sda
dd if=/dev/sda of=mbr bs=512 count=1Backup del MBRCopia los primeros 512 bytes