.======================================.                              
|««««««  TRABAJO CON FICHEROS    »»»»»»|
'======================================'                                                 
                                       
 2.1-Varios
 ==========

 mc ----------------------------------- Explorador de archivos que incluye su propio editor,mcedit.
 mcedit ------------------------------- Editor de texto incluído en mc.

 ls ----------------------------------- Lista los ficheros de un directorio concreto.
    |ls -l ---------------------------- Lista también las propiedades y atributos.
    |ls -la --------------------------- Lista ficheros incluidos los ocultos de sistema.
    |ls -la | more -------------------- Lista los  ficheros de un directorio de forma paginada.
    '-------------
 
 cat -n fichero ----------------------- Muestra el contenido de un fichero.(-n lo numera)
 pr -t fichero ------------------------ Muestra el contenido de un fichero de manera formateada.
 					Ver imprimiendo.

 cat fichero | less -------------,
 cat fichero | lmore ------------|
                                 |----> Muestra el contenido de un fichero de forma paginada.
 more fichero -------------------|
 less fichero -------------------'

 zcat fichero -------------------,         
 zmore fichero ------------------|----> Muestra el contenido de un fichero comprimido (.gz)
 zless fichero ------------------'

 echo cadena -------------------------- echo nos muestra en pantalla,el texto que le siga.   
 grep 'cadena' archivo ---------------- Muestra  las líneas del archivo que contienen la cadena.

 stat fichero ------------------------- Muestra el estado de un fichero.
    | stat -f fichero ----------------- Muestra el estado del sistema de ficheros.
    '----------------

 file fichero ------------------------- Muestra de qué tipo es un fichero.    

 tail archivo ------------------------- Muestra las últimas líneas de un archivo,10 por defecto.
    |tail -n 12 archivo --------------- Muestra las 12 últimas líneas del fichero.
    '-------------------
   
 head -nº fichero --------------------- Muestra las primeras (número) líneas de un fichero.
 find /usr -name lilo -print ---------- Busca todos los ficheros con nombre lilo en /usr.
 find /home/paco -name *.jpg -print --- Busca todas las imágenes .jpg  en /home/paco.
      ----------  ----------  -----   
          |           |         |
          V           V          `---->muestra la ruta completa del fichero encontrado
 	ruta  patrón de búsqueda
	 	 
 whereis ejecutable ------------------- Busca ejecutables(ejemplo: whereis find)
 type comando ------------------------- Muestra la ubicación del comando indicado.
    |si es un comando interno del shell mostrará algo así como:comando is a shell builtin
    '------------------------
   
 pwd ---------------------------------- Visualiza el directorio actual.
 history ------------------------------ Muestra el listado de comandos usados por el usuario
					(~/.bash_history)
 fc -l -------------------------------- Muestra el listado de los últimos comandos ejecutados.

 eject cdrom0 ------------------------- Abre la bandeja del cdrom.
 eject -t cdrom0 ---------------------- Cierra la bandeja del cdrom.

 cd nom_directorio -------------------- Cambia de directorio 
    |cd .. ---------------------------- Vuelves al anterior. 
    |cd .mozilla ---------------------- Entras al de mozilla.(por la puerta grande)
    |cd ./.mozilla -------------------- Entras al de mozilla (indicando la ruta relativa)
    |cd /home/paco/.mozilla ----------- Entras al de mozilla.(indicando la ruta completa)
    '-----------------------
   
 cp -dpR fichero1 ruta_fichero2 ------- Realiza una copia del fichero1 a ruta_fichero2,cambiándole el nombre.
 cp -dpR fichero1 /directorio --------- Copia fichero1 a directorio,conservando fichero1 el nombre.
    | -R ------------------------------ Copia un directorio recursivamente,salvo los ficheros especiales.
    | -p ------------------------------ Copia preservando permisos,propietario,grupos y fechas.
    | -d ------------------------------ Conserva los enlaces simbólicos como tales y preserva las relaciones
 					de los duros.
    | -a ------------------------------ Lo mismo que -dpR .
    '-----------

 mv ruta_fichero1 ruta_fichero2 ------- Mueve y/o renombra ficheros o directorios.
 mkdir nom_directorio ----------------- Crea un directorio.
 rmdir nom_directorio ----------------- Elimina un directorio(tiene que estar vacío).
 rm archivo --------------------------- Elimina archivos .
    |rm -r directorio ----------------- Borra los ficheros de un directorio recursivamente.Quietorrrrrrr...
    |rm *.jpg ------------------------- Borra todos los ficheros .jpg del directorio actual.
    '----------------

 ln ruta_fichero ruta_enlace --------- Crea un enlace duro (con el mismo inodo,es decir mismo fichero con
				       distintos nombres) 
 ln -s ruta_directorio ruta_enlace --- Crea un enlace simbólico (con diferente inodo,es decir se crea un
				       nuevo fichero que apunta al "apuntado",permitiendo enlazar con
				       directorios y con ficheros de otro sistema de archivos)
                                       
   
 diff [opciones] fichero1 fichero2 ---- Compara ficheros.  
    |diff -w fichero1 fichero2 -------- Descarta espacio en blanco cuando compara líneas.
    |diff -q fichero1 fichero2 -------- Informa sólo de si los ficheros difieren,no de los detalles de las
					diferencias.
    |diff -y fichero1 fichero2 -------- Muestra la salida a dos columnas.
    '-------------------------

 join [opciones] fichero1 fichero2 ---- Muestra las líneas coincidentes entre fichero1 y fichero2.

 wc fichero --------------------------- Muestra el nº de palabras,líneas y caracteres de un archivo.
 wc -c fichero ------------------------ Muestra el tamaño en bytes de un fichero.


 touch [-am][-t] fichero -------------- Cambia las fechas de acceso (-a) y/o modificación (-m) de un archivo.
    |touch -am fichero ---------------- A la fecha actual.Si no existiese el fichero,se crearía.
    |touch -am -t 0604031433.30 fich -- A la fecha especificada.Si no existiese el fichero,se crearía.
    |             AAMMDDhhmm.ss ------- Si no se especifican los segundos,tomaría 0 como valor.
    |touch fichero -------------------- Usado sin opciones crearía un fichero con la fecha actual.
    '------------

 split -b 1445640 mozart.ogg mozart- -- Partir un archivo
       ----------            -------
            |                   V                
	    |   nombre elegido para las partes,por defecto x
            V
  tamaño en bytes de cada parte
                                        
 cat mozart.* > mozart.ogg ------------ Unir las distintas partes de un fichero cortado con split.

 chown [-R] usuario fichero ----------- Cambia el propietario de un fichero o directorio.
 chgrp [-R] grupo fichero ------------- Cambia el grupo de un fichero o directorio.

 chmod [-R][ugo][+/- rwxs] fichero ---- Cambia los permisos de acceso de un fichero
    |
    |+: da permisos -: quita permisos
    |u: propietario  R: recursivo        
    |g: grupo        r: lectura          ejemplo: chmod +x fichero ,es lo mismo que: chmod a+x fichero  
    |o: otros        w: escritura        explicación: a es la opción por defecto.                   
    |a: todos        x: ejecución 
    |
    |s: los atributos suid y sgid,otorgan a un "fichero" los permisos de su dueño o
    |   grupo respectivamente,cada vez que se ejecute,sea quien sea el que lo ejecute.
    |   Ejemplo: chmod +s /usr/bin/cdrecord
    |------------------------------------------------------
    |Cómo afectan los permisos  a los directorios: 
    |r permite ver su contenido(no el de sus ficheros)
    |w permite añadir o eliminar ficheros (no modificarlos)
    |x permite acceder al directorio.
    |------------------------------------------------------
    |                                         
    |    Método absoluto de determinar los permisos:  chmod 760 fichero
    |
    |                                    .---------------------.
    |                       explicación: |dueño | grupo | otros|
    |                     .--------------|---------------------|                                  
    |                     | asci         | r w x  r w -  - - - |            
    |                     | binario      | 1 1 1  1 1 0  0 0 0 |
    |                     | octal        |   7      6      0   |  
    |                     |--------------|---------------------|----------------.
    |                     | paso de asci | r w x  r w -  - - - | activar=1      |  
    |                     | a binario    | 1 1 1  1 1 0  0 0 0 | desactivar=0   |                  
    |                     |--------------|---------------------|----------------| 
    |                     | paso de      | 1 1 1  1 1 0  0 0 0 | r activado=4   |
    |                     | binario      | 4+2+1  4+2+0  0+0+0 | w activado=2   |
    |                     | a octal      |   7      6      0   | x activado=1   |
    |                     '-----------------------------------------------------'
    '---------------------------------------------------------------------------------------


 umask nnn ---------------------------- Establece qué permisos serán deshabilitados para los archivos nuevos.
    | umask --------------------------- Muestra la configuración actual de umask(normalmente 022) 
    | umask 000 ----------------------- Deshabilita ninguno,es decir los activa todos. 
    |
    | Atención,que la cosa manda huevos:
    | .----------------------------------------.   .----------------------------------------.
    | | umask  0   2   2  = chmod  7   5   5   |   | umask  0   0   0  = chmod  7   7   7   |
    | | umask --- -w- -w- = chmod rwx r-x r-x  |   | umask --- --- --- = chmod rwx r-x r-x  |
    | '----------------------------------------'   '----------------------------------------'		  
    |						                                                 
    | Una manera rápida de averiguar los permisos partiendo de umask es aplicando la siguiente resta:  
    | 777-022=755 para el primer caso y  777-000=777 para el segundo.		                         
    |                                                                                                 
    | Cuando umask es 022,los permisos normales de un directorio son 755 (rwx r-x r-x) producto de la  
    | resta 777-022.Sin embargo los de un fichero son 644 (rw- r-- r--).Ésto es así porque se considera
    | que lo normal para un fichero es que no sea ejecutable de manera que la resta para averiguar los 
    | permisos de un fichero sería 666-022=644                                                         
    |                                                                                                 
    | Si escribo en una consola umask 000 y a continuación "mkdir nuevodirectorio",éste tendrá todos los  
    | pemisos: rwx rwx rwx (777) pero ¿y los ficheros que creemos dentro de dicho directorio? pues éstos  
    | tendrán los permisos : rw- rw- rw- (666) resultado de la resta 666-000=666                       
    |                                                                                                 
    | ¿Os aclarais?... yo tampoco.                                                                     
    |                                                                                                 
    | Para que la máscara de permisos permanezca de una sesión a otra tienes que ponerla en el         
    | .bash_profile de tu home.                                                                        
    '---------------------------------------------------------------------------------------

 2.2.-Imprimiendo
 ================

 lpr fichero -------------------------- Añade un documento a la cola de impresión
    | lpr -#3 fichero ----------------- Realiza 3 copias del fichero.
    '----------------

 lpq ---------------------------------- Muestra los documentos en cola
 lprm --------------------------------- Cancela la impresión del documento activo.
    | lprm 3 -------------------------- Cancela la impresión del trabajo nº 3.
    '-------

 pr +2 l70 -w 80 -h "Comandos" fichero- Preprocesador de impresión para formatear un archivo de texto.
    | -l70  --------------------------- Establece la longitud de la página de 70 lineas (66 por defecto) 
    | -w 80  -------------------------- Establece el ancho de linea en 80 caracteres()72 por defecto).
    | -h "Comandos" ------------------- Establece "Comandos" como cabecera de cada página.
    | +2 ------------------------------ Imprime a partir de la página 2.
    | -t ------------------------------ No imprimiría cabeceras ni pies de página.
    '------------------
 pr l70 -d comandos.txt | lpr --------- Una vez formateado el documento lo manda a la cola.

 2.3.- Nano
 ==============

 nano fichero ------------------------- Leer,crear,editar un fichero de texto.
    |
    | M = Esc/Alt  
    |
    | Ctrl + g ----------- Invocar el menú de ayuda.
    | Ctrl + x ----------- Salir de nano.
    | Ctrl + o ----------- Escribir el fichero actual a disco.
    | Ctrl + r ----------- Insertar otro fichero en el actual.
    | Ctrl + w ----------- Buscar un texto en el editor.
    | Ctrl + y ----------- Moverse a la página anterior.
    | Ctrl + v ----------- Moverse a la página siguiente.
    | Ctrl + k ----------- Cortar la línea actual y guardarla en el cutbuffer.
    | Ctrl + u ----------- Pegar el cutbuffer en la línea actual.
    | Ctrl + l ----------- Redibujar la pantalla actual.
    | Ctrl + j ----------- Justificar el párrafo actual.
    | Ctrl + m ----------- Insertar un retorno de carro en la posición del cursor.
    | Ctrl + _ ----------- Ir a un número de línea en concreto.
    | M + g -------------- Ir a un número de línea en concreto.
    | M + i -------------- Auto indentar habilitar/deshabilitar.
    | M + x -------------- Modo ayuda habilitar/deshabilitar.
    | M + p -------------- Modo Pico habilitar/deshabilitar.
    | M + m -------------- Soporte para ratón habilitar/deshabilitar.
    | M + r -------------- Reemplazar texto en el editor.
    | M + e -------------- Expresiones regulares habilitar/deshabilitar.
    | M + b -------------- Respaldar ficheros habilitar/deshabilitar.
    | M + s -------------- Desplazamiento suave habilitar/deshabilitar.
    | M + h -------------- Tecla 'smart home' habilitar/deshabilitar.
    | M + y -------------- Coloreado de sintaxis habilitar/deshabilitar.
    | M + p -------------- Mostrar blancos habilitar/deshabilitar.
    '-------------------------------------------------------------------------


 2.4.-Formatos:
 ==============
 
 [w3m,lynx,links,links2,elinks] fichero.html ---------- Visualizan ficheros html.

 tidy fichero.html ------------------------------------ Analiza el código de un documento html.
    |tidy -m fichero.html ----------------------------- Corrige,modificándolo,el código del fichero html.
    |tidy -m -asxml fichero.html ---------------------- Convierte un html a xml
    |tidy -m -asxhtml fichero.html -------------------- Convierte un html a xhtml
    |tidy -m -ashtml fichero.xhtml -------------------- Convierte un xhtml a html
    '---------------

 pstotext fichero.ps | less --------------------------- Visualiza ficheros ps.
 pstotext fichero.pdf | less -------------------------- Visualiza ficheros pdf.

 pdftops fichero.pdf fichero.ps ----------------------- Convierte un fichero pdf a ps.
 pdftotext -layout fich.pdf fich.txt ------------------ Convierte un fichero pdf a texto.
 pdftotext -layout -htmlmeta fich.pdf fich.html ------- Convierte un fichero pdf a html.

 htmldoc fich1.html fich2.html -f unidos.html --------- Une varios ficheros html en uno solo. 
 htmldoc --webpage fich1.html fich2.html -f suma.pdf -- Convierte o une varios html en un pdf.
 htmldoc --webpage fich1.html fich2.html -f suma.ps --- Convierte o une varios html en un ps.
 links2 fichero.html -> guardar con formato...--------- Convierte un fichero html a texto.

 antiword fichero.doc | less -------------------------- Visualiza un fichero doc.
 antiword -p folio fichero.doc > fichero.ps ----------- Convierte un fichero doc a ps con tamaño folio
 antiword -t -w 30 fichero.doc > fichero.txt ---------- Convierte un fichero doc a texto 
                                                        |-p también puede ser a3,a4,a5,b4,etc
                                                        |-w anchura de la linea en caracteres
                                                        '--------
  .----Notas:-----------------------------------------------------------------.
 |-pdftotext y pdftops vienen en el paquete xpdf-utils.                        |
 |-tidy se guía por el estándar de la W3C.                                     |
 |-la opción -layout hace que el documento de texto conserve lo mejor  posible | 
 | la disposición fisica del documento pdf:columnas,saltos de linea,etc        |
 |-links2 convierte un html a texto,conservando totalmente la disposición      | 
 | física del documento html.                                                  |
  '---------------------------------------------------------------------------'
   
 2.5.-Empaquetado y compresión 
 =============================

 .-----------------------------------------------------------------------------
 |Comprimir  ---------------------- 7z a fichero.7z fichero                    |
 |Descomprimir  ------------------- 7z e fichero_comprimido                    |
 |Extraer donde indicamos --------- 7z x fichero_comprimido -o ruta_de_destino |
 |Ver contenido  ------------------ 7z l fichero_comprimido                    |
 |Chequea el contenido ------------ 7z t fichero_comprimido                    |
 |                                                                             |
 |               <<<< Notas sobre 7zip >>>>                                    |
 |                                                                             |
 |-Comprime en formato 7z, zip, gzip, bzip2 y tar.                             |
 |-Si es un directorio lo hace recursivamente sin emplear la opción -r         |
 |                                                                             |
 |-Con -t{tipo de fichero} tras las opción "a" elegimos el formato de          |
 | compresión:                                                                 |
 |                 7z a -tgzip fichero.gz fichero                              |
 |                                                                             |
 |-Con -p protegemos con una contraseña el fichero:                            |
 |                                                                             |
 |                 7z a -tgzip -p fichero.gz fichero                           |
 |                                                                             |
 |-Para comprimir más de un archivo gz o bz2 antes hay que empaquetarlos       |
 | en formato tar:                                                             |
 |                 1º) 7z a -ttar prueba.tar *.txt                             |
 |                 2º) 7z a -tgzip prueba.tgz prueba.tar                       |
 |                                                                             |
 |-El formato 7z no guarda el dueño o grupo de un fichero por lo que           |
 | no es recomendable para copias de seguridad.                                |
 |-Es capaz de descomprimir zip,rar,gz,bz2,tar,cab,arj,cpio,deb,rpm            |
 | aunque para rar necesita del paquete 7zip-rar                               |
 '-----------------------------------------------------------------------------' 

 
 Comprimir zip: ------------------ zip -r fichero.zip fichero ;ejemplo: zip -r sinatra.zip ./sinatra/
 Descomprimir zip: --------------- unzip archivo.zip 
 Ver contenido zip: -------------- unzip -v archivo.zip 
 
 Descomprimir rar: --------------- unrar e -r archivo.rar (e extrae en el directorio actual)
 Descomprimir rar: --------------- unrar x -r archivo.rar directorio de destino (x extrae donde se indique)
 Ver contenido rar: -------------- unrar v archivo.rar 

 Comprimir gz: ------------------- gzip -r fichero ; ejemplo: gzip -r ./sinatra
 Descomprimir gz: ---------------- gzip -d fichero.gz 
 Ver contenido gz ---------------- gzip -c fichero.gz
 
 Comprimir bz2: ------------------ bzip2 fichero ; ejemplo: bzip2 ./sinatra/*.ogg 
 Descomprimir bz2: --------------- bzip2 -d fichero.bz2 
 Ver contenido bz2: -------------- bzip2 -c fichero.bz2

 NOTA: r equivale en todos los casos a recursivo
 
Mientras que zip comprime y empaqueta, gzip ó bzip2 sólo comprimen ficheros, no directorios, para eso existe tar. 

 Ficheros tar 
 Empaquetar: --------------------- tar -vcf archivo.tar /fichero1 /fichero2 ...(fichero puede ser directorio)
 Desempaquetar: ------------------ tar -vxf archivo.tar
 Ver contenido ------------------- tar -vtf archivo.tar

Para comprimir varios ficheros y empaquetarlos en un solo archivo hay que combinar el tar y el gzip o el bzip2 de la siguiente manera:

 Ficheros tar.gz (tgz)
 Empaquetar y comprimir: --------- tar -zvcf archivo.tgz directorio 
 Desempaquetar y descomprimir: --- tar -zvxf archivo.tgz 
 Ver contenido: ------------------ tar -zvtf archivo.tgz

 Ficheros tar.bz2 (tbz2)
 Empaquetar y comprimir: --------- tar -jvcf archivo.tbz2 directorio 
 Desempaquetar y descomprimir: --- tar -jvxf archivo.tbz2 
 Ver contenido: ------------------ tar -jvtf archivo.tbz2

.-opciones de tar:
| -c : crea un nuevo archivo.
| -f : cuando se usa con la opción -c,usa el nombre del fichero especificado para la creación del fichero tar
|      cuando se usa con la opción -x,retira del archivo el fichero especificado.
| -t : muestra la lista de los ficheros que se encuentran en el fichero tar
| -v : muestra el proceso de archivo de los ficheros.
| -x : extrae los ficheros de un archivo.
| -z : comprime el fichero tar con gzip.
| -j : comprime el fichero tar con bzip2.
'----------------------------------------

   __________________________________________________________________________________________________
  +                                                                                                  +
  +  2.6.-Comodines:                                                                                 +
  +                                                                                                  +
  + (~) Sustituye el directorio home de manera que:                                                  +
  +                                                                                                  + 
  +     ~/comandos.txt equivale a /home/paco/comandos.txt (si estamos en nuestro propio directorio)  +
  +     ~pepe/comandos.txt equivale a /home/pepe/comandos.txt (pepe es otro usuario)                 +
  +                                                                                                  +
  + (?) Sustituye un solo caracter.Ejemplos:                                                         +
  +                                                                                                  +
  +     ls p?pe -------- mostraría todos los ficheros cuyos 1º 3º y 4º caracteres fuesen p,p y e     +
  +     ls ?epe -------- mostraría todos los ficheros acabados en epe                                +
  +                                                                                                  +
  + (*) Sustituye cualquier sucesión de caracteres.Ejemplos:                                         + 
  +                                                                                                  +
  +     ls .ba* -------- muestra todos los directorios o ficheros que comiencen con .ba              +
  +     ls *. ---------- muestra todos los archivos ocultos.                                         +
  +     rm -r * -------- otra manera de desinstalar el sistema operativo.                            +
  +     rm *.jpg ------- borra todas las imágenes jpg                                                +
  +     oggdec *.ogg --- pasa de ogg a wav todos los ogg del directorio en el que estamos            +
  +                                                                                                  +
  + (;) Puesto entre dos comandos hace que tras el primero se ejecute el segundo.Ejemplos:           +
  +                                                                                                  +
  +     nano nuevo.txt ; cat nuevo.txt                                                               +
  +                                                                                                  +
  +     nos abrirá el editor nano para que escribamos lo que queramos en un nuevo archivo que        +
  +     se llamará  nuevo.txt y tras guardar y salir del editor,cat nos mostrará el contenido        +
  +     de lo que acabamos de  crear                                                                 +
  +                                                                                                  +
  +     sleep 5m ; xmms canción.mp3 --------- tras 5 minutos se iniciará el xmms (ver más abajo)     +	  
  +__________________________________________________________________________________________________+
    
   __________________________________________________________________________________________________
  +                                                                                                  +
  + 2.7.-Alias:                                                                                      +
  +                                                                                                  +
  + Es el mote que se le pone a un comando,de manera que la próxima vez que queramos ejecutarlo      +
  + basta con llamarlo por su mote.Escribiendo alias sin parámetos nos aparecen la lista de alias    +
  + que tenemos. Ejemplos                                                                            +
  +                                                                                                  +
  + Si ejecuto:                                                                                      +
  +                                                                                                  +
  + alias rm='mv --target-directory=/home/paco/.papelera_rm'                                         +
  +                                                                                                  +
  + le he puesto el mote rm a mv --target-directory=/home/paco/.papelera_rm                          +
  + Así la próxima vez que borre algo con rm ,irá a parar al directorio .papelera_rm                 +
  +                                                                                                  +
  + Pero si lo escribo así: \rm loquesea el alias será ignorado.                                     +
  +                                                                                                  +
  + Otro:                                                                                            +
  +                                                                                                  +
  + alias cdrip='cdda2wav -B -D /dev/hdd -s -x'                                                      +
  + cada vez que escriba en una consola cdrip me ripeará el CD que tenga en /dev/hdd                 +
  +                                                                                                  +
  + Para que los alias permanezcan de una sesión a otra hay que ponerlos en el archivo /home/.bashrc +
  +                                                                                                  +
  + nota1:el mote y el comando al que sustituye bien pegaditos al signo igual.                       +
  + nota2:el comando entre comillas simples.                                                         +
  +__________________________________________________________________________________________________+
   
   __________________________________________________________________________________________________
  +                                                                                                  +
  + 2.8.-Conceptos de entrada -salida (I/O)(E/S):                                                    +
  +                                                                                                  +
  +   stdin ---- entrada estandar para datos,el teclado (0)                                          +
  +   stdout --- salida estandar para los programas,la pantalla (1)                                  +
  +   stderr --- salida estandar para los mensajes de error,la pantalla (2)                          +
  +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  +                                                                                                  +
  +   Redirecciones, un redireccionador redirige la salida de un comando a un fichero                +
  +                                                                                                  +
  +   (<) ------.                           .--> comando < fichero                                   +
  +   (>) ------|---> Su sintaxix suele ser:|--> comando > fichero                                   +
  +   (>>)------'                           '--> comando >> fichero                                  +
  +                                                                                                  +
  +   Ejemplos:                                                                                      +
  +                                                                                                  +
  +   dpkg --get-selections > programas_instalados.txt                                               +
  +                                                                                                  +
  +   En vez de mostrar la salida por pantalla ,nos la vuelca al fichero  programas_instalados.txt   +
  +                                                                                                  +
  +   Si ese fichero ya existía ha sido sobreescrito su contenido,pero si usamos >> no borrará nada  +
  +   y añadira su salida al final del fichero.Otro ejemplo con echo:                                +
  +                                                                                                  +
  +   echo "fin de la lista de programas instalados" >> programas_instalados.txt                     +
  +                                                                                                  +
  +   en vez de mostrar en pantalla el texto,lo añade al final del fichero programas_instalados.txt  +
  +                                                                                                  +
  +   Para despistar los de Unix se han inventado el mismo caracter pero al revés:                   +
  +                                                                                                  +
  +   cat < programas_instalados.txt                                                                 +
  +                                                                                                  +
  +   en donde programas_instalados hace,no de salida sino de entrada para cat el cual lo muestra    +
  +   en pantalla ,ya que la salida natural de cat es la estandar,stdout o pantalla                  +
  +                                                                                                  +
  +   Si queremos que la salida de error no aparezca en pantalla sino que vaya a un archivo de texto:+
  +                                                                                                  +
  +   comando 2> fichero.txt      ejemplo: xmms 2> error_xmms.txt                                    +
  +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  +                                                                                                  +
  +  Tuberías,Una tubería hace que la salida de un programa sea la entrada de otro.                  +
  +                                                                                                  +
  +  (|)  Su sintaxis suele ser:    comando | comando.                                               +
  +                                                                                                  +
  +  Ejemplos:                                                                                       +
  +                                                                                                  +
  +  cat programas_instalados.txt | grep mozilla                                                     +      
  +                                                                                                  +
  +  Aquí le hemos cambiado la salida natural a cat y se la hemos mandado a grep para que busque la  + 
  +  palabra mozilla dentro del fichero programas_instalados.txt                                     +
  +                                                                                                  +
  +  pr l70 -d comandos.txt | lpr  Una vez formateado el documento (pr) lo manda a la cola (lpr)     +
  +__________________________________________________________________________________________________+


 2.9.-Renombrando
 =================

 mp3rename opciones *.mp3 ------------- Renombra ficheros mp3 basándose en las etiquetas incluidas en los
					mp3(id3tags)
    |    
    |Opciones:
    |-i --- Sólo muestra los id3 de los ficheros.
    |-p --- pone un cero al track cuando es menor que 10.
    |-s --- Se usa para configurar las opciones por defecto,las cuales quedarian definidas en el fichero
			 ~/.mp3rename
    |      |&t -- título    
    |      |&b -- album     
    |      |&a -- artista      Hay que usarlas entrecomilladas para que no sean interpretadas por el shell
    |      |&y -- año       
    |      |&k -- pista
    |      '----
    |Ejm : 1º- mp3rename -s '&a_&t' --- establecería  artista_título como predeterminadas de manera que
    |      2º- mp3rename *.mp3  ------- renombrará los mp3 como: "artista_título.mp3"
    '-------

 rename ------------------------------- Script de Perl que sirve para renombrar ficheros usando expresiones
					de Perl
    |rename 'y/A-Z/a-z/' *.zip -------- Cambiamos todas las mayúsculas a minúsculas(en este caso en el nombre
					de los .zip)
    |rename 'y/ /_/' *.jpg ------------ Renombramos el espacio en blanco por _ (en este caso en el nombre de
					los .jpg)
    |rename 's/expresión //' *.mp3 ---- Eliminamos una expresion en el nombre de todos los .mp3 del
					directorio actual
    | |rename 's/M.Oldfield//' *.mp3 -- quitaría "M.Oldfield" del nombre en todos los mp3
    | '----
    '-------

 mrename 'ruta_fich.' prefijo opción -- Añade un prefijo al nombre de los ficheros.
    |                                    
    |Opciones:|-c --- Copia los ficheros con un nuevo nombre.
    |         |-m --- Los renombra.
    |         '-----
    |Ejm: cd/ruta a los ficheros ------ debe ejecutarse en el directorio en donde se encuentren.
    |     mrename '*.jpg' boda -m ----- añadiría boda a los nombres de los jpg
    '----------

mmv ";*.original" "#1#2.nuevo" -------  Comando para cambiar el sufijo del nombre de los archivos. En su
				        sintaxis #1
    |                                   sustituye a la primera expresión regular(;) y #2 a la
					segunda(*).Aunque con 
    |                                   este comando el(;) representa cualquier subdirectorio y es la forma
					de darle recursividad a la acción.
    | Ejemplos:
    |
    |     mmv "*.cbz" "#1.zip" -------- Renombraría todos los cbz a zip,conservandose el nombre que precede a
					.cbz
    |     mmv ";*.cbz" "#1#2.zip" ----- Renombraría todos los cbz a zip en el directorio actual y sus
					subdirectorios
    |
    '----------                                        


 2.10.-Mtools
 ===========

Colección de herramientas que permite acceder y manipular ficheros de MS-DOS  sin necesidad de un montaje
previo. El uso de comodines refiriéndose a archivos del disquete requiere que los nombres se entrecomillen
para que no sean interpretados  por el shell sino por herramientas de mtools.Más información:"info mtools"

 minfo unidad: ------------------------ Muestra información sobre el sistema de archivos MS-DOS de una 
					unidad (a:)
 mformat a: --------------------------- Formatea un disquete,donde "a:" es "dev/fd0"
 mbadblocks a: ------------------------ Se emplea tras formatear para buscar errores.
 mcd [a:] ----------------------------- Informa del directorio MS-DOS en curso o bién cambiamos a uno.
 mdir -a a:---------------------------- Muestra el contenido de un directorio MS-DOS.
 mcopy -------------------------------- Copia de ficheros MS-DOS a/o  desde  Unix. 
    |mcopy "a:directorio/*" ----------- copiaría el contenido de "a:directorio/*" al directorio en curso.
    |mcopy "a:directorio/*" ~/disquete  copiaría el contenido de "a:directorio/*" al directorio "disquete".
    |mcopy *.txt a:bill --------------- copiaría al directorio "bill" del disquete todos los .txt.
    '-----
 mmd a:nuevo_directorio --------------- Crea un directorio MS-DOS
 mdel "a:bill/*.txt" ------------------ Elimina un fichero MS-DOS.
 mrd a:bill --------------------------- Elimina  un directorio MS-DOS
 mdeltree a:bill ---------------------- Elimina recursivamente un directorio MS-DOS
 mren "a:direct1/*.txt" a:direct2 ----- Mueve o renombra ficheros MS-DOS
 mmove a:directorio1 a:directorio2 ---- Mueve o renombra ficheros o subdirectorios MS-DOS


 Comandos relacionados:

 mkfs.msdos /dev/fd0  ----------------- Formatea en formato msdos un disquete.
 fdformat /dev/fd0 -------------------- Formatea en formato msdos un disquete y después verifica el formateo.