Hola Humanistas!
Hoy se comparte el excelente trabajo del Sr. Francisco Javier Hurtado quien ha resumido, de manera magistral y ordenada, un texto-guia sobre el uso de comandos GNU/Linux para el trabajo diario y por qué no, para nuevos usuarios insteresados en profundizar sus conocimientos a la hora de utilizar una consola.
Version PDF para su descarga aquí
01. « PRÓLOGO »
.-----------------------------------------------------------------------------------------------.
| La siguiente recopilación de comandos para GNU/Linux obedece a una necesidad.Cuando me inicié |
| en Debian GNU/Linux, a las pocas semanas de tener mi primer ordenador,de eso hace tres años, |
| (sí,soy de los que han llegado tarde) me encontré con que las recopilaciones que circulaban |
| por internet no me terminaban de convencer ni cubrir todas mis carencias.De manera que,cabezón|
| yo,me puse a la tarea de llevarla a cabo por mi cuenta y riesgo. |
| |
| Se actualiza constantemente,comando nuevo que veo,comando que incluyo. |
| |
| Que la disfrutéis. |
| |
| |
| Prólogo a EsDebian |
| ****************** |
| |
| Ahora que han salido las faqs,es una buena ocasión para incluir un listado de comandos de GNU/|
| linux en esDebian y curiosamente dispongo de uno.Todo empezó al instalar Debian a un colega. |
| Pensé que no sería mala idea que,aparte de disponer en su menú de enlaces a manuales,pudiera |
| echar un vistazo rápido a un listado de comandos básicos con sólo apretar una tecla(usa icewm)|
| |
| Al final lo que hice fue unir el listado básico que hice para él,con el que vengo utilizando |
| yo mismo.No están todos los que son pero si son todos los que están.Es posible que haya algún |
| error o que algunos estén a medio hacer,en cuyo caso y al igual que en las faqs se pueden ir |
| aportando nuevos datos hasta completarlo. |
'-----------------------------------------------------------------------------------------------'
02. « FICHEROS »
.-------------------------------------------------------------------------------------.
| EXPLORANDO EL DISCO |
| |
| |
| mc --------------------------- Gestor de ficheros que incluye un cliente FTP,SMB... |
| mcedit ----------------------- Editor de texto incluido en mc. |
| |
| pwd -------------------------- Te dice dónde estás. |
| |
| ls --------------------------- Lista los ficheros de un directorio concreto. |
| |ls -R --------------------- Lista recursivamente. |
| |ls -C --------------------- Lista los ficheros en columnas. |
| |ls -l --------------------- Lista también las propiedades y atributos. |
| |ls -a --------------------- Lista ficheros incluidos los ocultos de sistema. |
| |ls -la | more ------------- Lista los ficheros de forma paginada |
| '------------- |
| |
| cd 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) |
| '----------------------- |
| |
'-------------------------------------------------------------------------------------'
.-------------------------------------------------------------------------------------.
| BUSCANDO |
| |
| find /home/paco -name *.jpg -print --- Buscador de ficheros. |
| ---------- ---------- ----- |
| | | `----> muestra la ruta fichero encontrado |
| v | |
| ruta donde buscar '---> patrón de búsqueda (-iname ignoraría mayúsculas) |
| |
| locate expresión ------------- Busca ficheros que contengan una expresion dada en |
| su «ruta completa».Admite comodines. |
| locatedb --------------------- Actualiza la base de datos en la que se basa locate. |
| |
| type comando ----------------- Busca un ejecutable,siempre que no sea del shell |
| whereis comando -------------- Busca un ejecutable,su código fuente y página man |
| |
'-------------------------------------------------------------------------------------'
.-------------------------------------------------------------------------------------.
| CARACTERÍSTICAS Y COMPARACIONES |
| |
| |
| file fichero ------------------ Muestra de qué tipo es un fichero. |
| readelf -a -------------------- Muestra información sobre un fichero ELF |
| stat fichero ------------------ Muestra el estado de un fichero. |
| join fich1 fich2 -------------- Muestra las líneas coincidentes entre ellos. |
| |
| cmp [opciones]fich1 fich2 —– Compara ficheros byte a byte. |
| |-l ————————– Muestra todas las diferencias,no solo la primera. |
| ‘—————— |
| |
| .—————————————————————————. |
| |comm [opciones] fichero1 fichero2 Compara ficheros línea por línea.Sin | |
| | opciones produce una salida con tres | |
| |columnas.La primera con las líneas únicas del primer fichero.La segunda,las| |
| |del segundo y la tercera las que aparecen en los dos.No es tan fiable como | |
| |diff,ya que espera que las líneas se hayen encuentren en la misma posición | |
| |dentro del fichero. | |
| | | |
| |Opciones: | |
| |-1 — suprime la primera columna en su salida | |
| |-2 — suprime la seguna columna en su salida | |
| |-3 — suprime la tercera columna en su salida | |
| ‘—————————————————————————’ |
| |
| .—————————————————————————. |
| |diff [opciones] fichero1 fichero2 Compara ficheros y si son directorios,| |
| | el contenido de los mismos. | |
| |Opciones: | |
| |-b ——————- Ignora los espacios en blanco. | |
| |–text ————— Compara el texto línea por línea | |
| |-w —————— Descarta espacio en blanco cuando compara líneas. | |
| |-r ——————- Compara directorios de forma recursiva. | |
| |-q —————— Informa sólo de si los ficheros difieren. | |
| |-y —————— Muestra la salida a dos columnas. | |
| ‘—————————————————————————’ |
| |
| zcmp [opciones_cmp] fich.1 fich.2 —- Llama a cmp sobre ficheros comprimidos. |
| zdiff [opciones_diff] fich.1 fich.2 — Invoca a diff sobre ficheros comprimidos. |
| |
‘————————————————————————————-’
.-------------------------------------------------------------------------------------.
| VIENDO Y FILTRANDO CONTENIDOS (ver cap. Entrada/Salida) |
| |
| nl fichero --------------- Muestra el contenido con las líneas numeradas. |
| |-v 50 ------------------ Muestra el contenido a partir de la línea 50. |
| '------------------ |
| |
| cat fichero -------------- Muestra el contenido de un fichero.(-n numera las líneas)|
| tac fichero -------------- Muestra el contenido de un fichero en orden contrario |
| sort fichero ------------- Muestra el contenido de un fichero en orden alfabético. |
| |-d --------------------- Muestra directorios. |
| |-f --------------------- Ignora las mayúsculas y minúsculas. |
| |-r- -------------------- De mayor a menor. |
| |-n --------------------- En orden númerico. |
| |-u --------------------- Elimina de su salida las líneas iguales consecutivas. |
| '------------------ |
| |
| od fichero --------------- Muestra byte a byte el contenido de un fichero. |
| | ---------------------- Sin opciones lo muestra en octal de dos en dos bytes |
| |-b ---------------------- en octal byte a byte |
| |-c ---------------------- en caracteres ascii,de a uno,los saltos de línea como \n |
| |-cb --------------------- en caracteres ascii de a uno y su correspondiente octal. |
| |-h ---------------------- en hexadecimal de dos en dos bytes |
| |-s ---------------------- en decimal de dos en dos bytes |
| '------------------ |
| |
| pr fichero --------------- Muestra el contenido de un fichero de manera formateada. |
| |--columns=2 ------------ Lo muestra a dos columnas. |
| '------------------ |
| |
| more fichero -------. |
| |----> Muestra el contenido de un fichero de forma paginada. |
| less fichero -------' |
| |
| zcat fichero -------, |
| zmore fichero ------|----> Muestra el contenido de un fichero comprimido (.gz) |
| zless fichero ------' |
| |
| pg fichero --------------> Muestra el contenido de un fichero de forma paginada. |
| | Las opciones(«less» también lo permite)se introducen una |
| |3 ---------------------- Muestra la página 3. [vez abierto el prompt |
| |/patrón ---------------- Busca la expresión patrón. |
| |q ---------------------- Nos salimos. |
| '------------------ |
| |
| wc fichero --------------- Muestra nº de líneas,palabras y bytes de un fichero |
| echo expresión ----------- Muestra en pantalla el texto que le siga. |
| strings fichero ---------- Muestra los caracteres mostrables de un fichero(no ascii)|
| |
| tail fichero ------------- Muestra las 10 últimas líneas de un archivo. |
| |tail -n Nº archivo ----- Muestra las Nº últimas líneas del fichero. |
| '------------------- |
| |
| head fichero ------------- Muestra las 10 primeras líneas de un fichero. |
| |head -n Nº fichero ----- Muestra las primeras Nº líneas de un fichero. |
| '------------------ |
| |
| .---------------------------------------------------------------------------. |
| |tee [opciones][fichero] | |
| | | |
| |Comando que se suele usar como filtro entre dos pipes.Lee los datos de la | |
| |entrada estándar y los vuelca en pantalla y en un fichero (ver cap. | |
| |Entrarda/Salida).Usado con la opción -a ,no sobreescribe el fichero sino | |
| |que añade datos. | |
| ‘—————————————————————————’ |
| |
| .—————————————————————————. |
| |grep [opciones] patrón fichero —- Busca texto coincidente con un patrón. | |
| | | |
| |Opciones: | |
| |-A Nº —————— Incluye las Nº líneas siguientes. | |
| |-B Nº ——————- Incluye las Nº líneas anteriores. | |
| |-E - equivale a «egrep»– Interpreta el patrón como una expresión regular. | |
| |-a ———————- Procesa un binario como si de texto se tratara. | |
| |-r ———————- Realiza la búsqueda de forma recursiva | |
| |-l ———————- Muestra los ficheros que contienen el patrón. | |
| |-n ———————- Muestra la línea (y su nº)que contiene el patrón.| |
| ‘—————————————————————————’ |
| |
| .—————————————————————————. |
| | uniq fichero ————- Elimina las líneas consecutivas repetidas de un| |
| | fichero (o entrada estándar) mostrando sólo una| |
| | en su salida por pantalla (o un fichero ) | |
| | | |
| |Sintaxis : uniq [opción] [entrada [salida]] | |
| | | |
| |Opciones: | |
| |-c Comienza la línea con el número de veces que aparece. | |
| |-i Ignora mayúsculas y minúsculas al comparar. | |
| |-d Muestra sólo líneas repetidas. | |
| |-u Muestra sólo líneas únicas. | |
| ‘—————————————————————————’ |
| |
| .—————————————————————————. |
| |tr Sustituye o borra caracteres y al igual que tee lee desde la entrada | |
| | estándar (teclado)y vuelca los dator filtrados a la salida estándar | |
| | (pantalla),por lo que se suele emplear entre tuberías. | |
| | | |
| | Sintaxis: tr [opcion] lista1 [lista2] | |
| | | |
| | Sin opciones sustituye los carateres de la lista1 por los de la lista2, | |
| | realizándose de uno en uno,el 1º de la lista1 por el 1º de la lista2… | |
| | por lo que ambas listas deben tener mismo nº de caracteres o bien que la | |
| | lista2 tenga tan sólo uno que sustituirá a todos los de la lista1. | |
| | | |
| | Opciones: | |
| | -c — Serán sustituídos todos salvo los de la lista1. | |
| | -d — Elimina los caracteres espeficificados en la lista1. | |
| | -s — Comprime los caracteres repetidos de lista1 en uno solo | |
| | | |
| | Algunas de las secuencias de caracteres que se pueden especificar son: | |
| | | |
| | .—————————————————-. | |
| | |\n ——— Salto de línea | | |
| | |\r ——— Retorno del carro | | |
| | |\t ——— Tabulación horizontal | | |
| | |\v ——— Tabulación vertical | | |
| | |[=CAR=] —- Todos los caracteres iguales que CAR | | |
| | |CAR1-CAR2 — Un rango de caracteres,p.ej. a-z y A-Z | | |
| | |[:alnum:] — Letras y dígitos | | |
| | |[:alpha:] — Las letras | | |
| | |[:blank:] — Espacios en blanco horizontales | | |
| | |[:cntrl:] — Caracteres de control | | |
| | |[:digit:] — Los dígitos | | |
| | ‘—————————————————-’ | |
| | | |
| | Ejemplos: | |
| | | |
| | 1) prompt# tr A-Z a-z 2) prompt# tr -d [=A=] | |
| | HOLA MUNDO «enter» HOLA MUNDO «enter» | |
| | hola mundo «ctrl+c» HOL MUNDO «ctrl+c» | |
| | promp# promp# | |
| | | |
| | | |
| | 3) tr -d “\r” < texto_dos.txt > texto_unix.txt | |
| | elimina todos los retornos de carro | |
| | | |
| | tr ‘\r’ ‘\n’ < texto_mac.txt > texto_linux.txt | |
| | sustituye los retornos de carro por saltos de línea | |
| | | |
| | (ver cap. formatos-comando fromdos) | |
| | | |
| | 5) prompt# cat fichero.txt | |
| | Esta frase tiene 20 letras | |
| | Salida de cat| | |
| | Fin ————-’ | |
| | | |
| | 6) prompt# cat fichero.txt | tr -c “[:alnum:]” ‘n’ | |
| | Esta | |
| | frase filtrada por tr sustituyendo todos los| | |
| | tiene caracteres salvo los números y letras| | |
| | 20 (los espacios)por saltos de línea. | | |
| | letras ————————————–’ | |
| | | |
| | Fin | |
| | | |
| | 7) prompt# cat fichero.txt | tr -sc “[a-zA-Z0-9]” ‘n’ | |
| | Esta | |
| | frase Como el anterior y además comprimiendo| | |
| | tiene los caracteres repetidos (los saltos | | |
| | 20 de línea) en uno solo. | | |
| | letras —————————————’ | |
| | Fin | |
| | prompt# | |
| | | |
| | | |
| ‘—————————————————————————’ |
| |
| .—————————————————————————. |
| |cut [opciones] [fichero] Muestra partes de un fichero según le indiquemos.| |
| | | |
| |Opciones: | |
| |-b lista —– Selecionamos sólo esos bytes por línea. | |
| |-c lista —– Selecciona sólo esos caracteres por línea. | |
| |-d ———– Usa un carácter en vez del tabulador para delimitar un | |
| | campo, debe entrecomillarse si es un carácter especial. | |
| |-f lista —– Selecionamos sólo esos campos/columnas.También muestra | |
| | cualquier línea que no contenga un carácter separador. | |
| |-s ———– No muestra las líneas que no contienen delimitadores | |
| | | |
| | La lista admite los siguientes rangos: | |
| | N Sólo ese byte,carácter o columna.O varios separados por comas | |
| | N- Desde N hasta el final de línea. | |
| | N-M Desde N hasta M (incluído). | |
| | M- Desde el primero hasta M (incluído). | |
| | | |
| | Ejemplo: cut -d : -f 1,3,4 /etc/passwd | |
| | mostrara solo las columnas con el nombre de usuario,su UID y su GID, | |
| | separadas por los dos puntos. | |
| | | |
| ‘—————————————————————————’ |
| |
| .—————————————————————————. |
| |paste [opciones] [ficheros] Une las líneas de varios ficheros separándolas| |
| | por defecto con espacios. | |
| |Opciones: | |
| |-d lista —– especifica el carácter separador entre las columnas. | |
| |-s ———– Une sucesivamente las líneas en vez de hacerlo en columnas. | |
| | | |
| ‘—————————————————————————’ |
| |
|————————————————————————————-|
| Ejemplo combinado: |
| |
|prompt# cat a.txt |
|Esta frase tiene exactamente 31 letras |
| |
|Fin del fin |
|prompt# cat a.txt | tr -c “[:alnum:]” ‘\n’ | tr ‘A-Z’ ‘a-z’ |sort -u | tail -n5 |
|exactamente |
|fin |
|frase |
|letras |
|tiene |
|prompt# |
| |
|El primer filtro sustituye todos los caracteres que no son letras o números por |
|saltos de línea,el segundo las mayúsculas por minúsculas; el tercero (sort) ordena |
|las líneas alfabéticamente eliminando las repetidas y el cuarto,tail muestra las 5 |
|últimas líneas del fichero. |
| |
‘————————————————————————————-’
.-------------------------------------------------------------------------------------.
| MAREÁNDOLOS |
| |
| cp -dpR fichero1 fichero2 ------ Copia fichero1 con distinto nombre. |
| cp -dpR fichero1 directorio/ --- Copia fichero1 a directorio/,conservando el nombre.|
| | |
| | -R ------ Copia un directorio recursivamente. |
| | -p ------ Copia preservando permisos,propietario,grupos y fechas. |
| | -d ------ Conserva los enlaces simbólicos y preserva las relaciones de los duros.|
| | -a ------ Lo mismo que -dpR . |
| '---------- |
| |
| mv ruta_fich1 ruta_fich2 ------- 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 fichero --------------------- Elimina fichero. |
| |rm -r directorio ------------- Borra directorio con todos sus ficheros. |
| |rm *.jpg --------------------- Borra todos los jpeg del directorio actual. |
| '---------------- |
| |
:=====================================================================================:
| dd [opciones] —— Copia y convierte un fichero |
| |if=fichero ——- fichero de entrada |
| |of=fichero ——- fichero de salida |
| |bs=N ————- lee y escribe N bytes de una vez (512 por defecto) |
| |count=N ———- Copia N bloques del tamaño especificado por «bs» |
| |conv=sync ——– Añade ceros al final de cada bloque hasta el tamaño dado por bs|
| |conv=noerror —– Continúa a pesar de posibles errores de lectura |
| ‘———– |
| El comando «dd» realiza copias bit a bit,lo que permite clonar un sistema de |
| ficheros de un dispositivo de almacenamiento creando una imagen del mismo. |
| Ejemplos: |
| |
| dd if=/dev/hda1 of=/dev/hda2 |
| |
| Nos clonaría la partición hda1 en hda2,que no es lo mismo que copiar el contenido |
| de una en otra.Por tanto hda2 debe ser de igual o mayor tamaño que hda1. |
| |
| dd if=/dev/cdrom of=cdrom.iso |
| |
| Nos crea una imagen del CD volcándola en nuestro disco y de nombre cdrom.iso |
| |
| dd if=/dev/hda of=mbr count=1 bs=512 |
| |
| Nos crea un fichero (imagen) llamado mbr con los primeros 512 bytes de hda |
| que es justo lo que ocupa el MBR.Para restaurar la tabla de particiones: |
| |
| dd if=mbr of=/dev/hda |
| |
:=====================================================================================:
| |
| ln fichero1 fichero2 Crea un enlace duro.Los enlaces duros tienen el mismo inodo |
| origen enlace que el fichero original.Se trata pues del mismo fichero con |
| distintos nombres |
| |
| ln -s fichero1 fichero2 Crea un enlace simbólico,con diferente inodo.Se crea un |
| origen enlace nuevo fichero que apunta al “original”,permitiendo enlazar |
| con directorios y con ficheros de otro sistema de archivos.|
| |
:=====================================================================================:
| |
| split -b 1445640 mozart.ogg mozart- — Parte un archivo |
| ———- ——- |
| | V |
| | nombre elegido para las partes,por defecto x |
| V |
|tamaño en bytes de cada parte (con -n especificamos el nº de líneas) |
| |
|cat mozart.* > mozart.ogg ——– Une las partes de un fichero cortado con split. |
| |
:=====================================================================================:
| touch [-am][-t] fichero ——– Cambia las fechas de un archivo.Usado sin opciones |
| | crearía un fichero con la fecha actual |
| |-a ——- fecha de acceso |
| |-m ——- fecha de modificación |
| |-t ——- Indica la fecha nueva.El formato de la fecha es AAMMDDhhmm.ss |
| ‘———– |
| |
| touch -am fichero ————- A la fecha actual. |
| touch -am -t 0604031433 fich — A la indicada.Al no indicarse el valor de ss,es 0 |
| |
| En ambos casos de no existir el fichero se crearía. |
‘————————————————————————————-’
.-------------------------------------------------------------------------------------.
| PROPIETARIOS Y PERMISOS |
| |
|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|
| |
|u propietario R recursivo + da permisos |
|g grupo r lectura - quita permisos |
|o otros w escritura = añade permisos,quitando los anteriores |
|a todos x ejecución |
| |
|Ejemplo: |
| chmod +x fichero daría permiso de ejecución a un fichero y es lo mismo que |
| chmod a+x fichero ya que a es la opción por defecto. |
| |
|-Atributos especiales: |
|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 g+s /usr/bin/cdrecord activa el bit sgid en cdrecord |
|t: el atributo sticky (pegajoso) hace que sólo el propietario del fichero pueda |
| borrarlo.Ejemplo: chmod u+t fichero activa el atributo pegajoso |
| |
|-Método absoluto de determinar los permisos. |
| Si acabamos de crear un fichero y queremos que tenga estos permisos: rwx rw- — |
| podríamos hacer: chmod u=rwx fichero ; chmod g=rw fichero ; chmod o= fichero |
| o de una manera más rápida haciendo: chmod 760 fichero |
| |
| Explicación: .———————. |
| |dueño | grupo | otros| |
| .————-|———————| |
| | ascii | r w x r w - - - - | |
| |————-|———————|—————-. |
| | 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 | |
|————————————————————-’ |
| Añadiendo los | 0 7 6 0 |suid activado=4 | |
| ‘—–|——-|——|——|sgid activado=2 | |
| atributos especiales | dueño |grupo |otros |sti activado=1 | |
|————————————————————-’ |
| |
|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. |
| |
‘————————————————————————————-’
.————————————————————————————-.
| 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 rwx rwx | |
| ‘—————————————’ ‘—————————————’ |
| |
| 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 premisos: 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 aclaráis?… 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. |
‘————————————————————————————-’
.-------------------------------------------------------------------------------------.
| ATRIBUTOS (Tanto lsattr como chattr forman parte del paquete e2fsprogs.) |
| |
|chattr Cambia los atributos de los ficheros en un sistema de ficheros ext2/ext3 |
| |
|Sintaxis: chattr [opciones] [modo] ficheros |
| |
|———————————-. .—————————————–. |
|Opciones: | |Modos: | |
|-R Recursivamente. | |+ se usa para añadir atributos | |
|-V Muestra una salida detallada. | |- se usa para quitar atributos | |
|———————————-’ |= se usa para especificar los atributos | |
| ‘—————————————–’ |
|Algunos de esos atributos son: |
| |
| A evita que se modifique el campo atime al acceder a un fichero. |
| a sólo permite abrir el fichero para añadir datos. |
| c el fichero se guarda automáticamente comprimido por el kernel. |
| D cuando un directorio es modificado,los cambios son escritos síncronamente. |
| d excluye al fichero para ser respaldado por dump. |
| i impide modificar,eliminar,renombrar el fichero y también enlazarlo. |
| s al borrar un fichero con este atributo,sus bloques son rellenados con ceros. |
| S cuando un fichero es modificado,los cambios son escritos síncronamente. |
| u cuando un fichero es eliminado,su contenido es guardado. |
| |
| Ejemplo: chattr -R +c /home/diskoppix/doc |
| |
| Nota
es equivalente a la opción de montaje «dirsync» |
| S es equivalente a la opción de montaje «sync» |
| |
|————————————————————————————-|
| |
|lsattr Muestra los atributos de los ficheros en un sistema de ficheros ext2/ext3 |
| |
|Sintaxis: lsattr [opciones] [ficheros] |
| |
|Opciones: |
|-R Recursivamente. |
|-a Muestra todos los ficheros de un directorio. |
|-v Muestra la versión del fichero. |
| |
‘————————————————————————————-’
.-------------------------------------------------------------------------------.
| CIFRANDO |
| |
|encfs fichero p.de_montaje ------- Cifra y/o monta un fichero ya cifrado |
|encfs -i 10 ruta_fichero -------- Monta un fichero,desmontándolo al cabo de |
| [10 minutos de inactividad|
|fusermount -u p.de_montaje ------- Desmonta el fichero |
|encfsctl info fichero ------------ Muestra información sobre el fichero cifrado|
|encfsctl passwd fichero ---------- Cambia la contraseña del fichero cifrado |
| |
| Notas: |
|-Una vez cifrado el directorio todo lo que se introduzca en el punto de |
| montaje será cifrado en el directorio y visible a través del punto de montaje |
|-Por defecto se ejecuta en segundo plano,pero seguido de la opción -f lo haría |
| en primero en cuyo caso no habría necesidad de indicar rutas absolutas. |
|-encfs depende del paquete fuse(Filesystem in USErspace),que permite a un |
| usuario manejar sistemas de ficheros virtuales.Una vez instalado hay que |
| cargar el módulo "fuse" en el kernel y añadir el usuario al grupo "fuse" |
| |
'-------------------------------------------------------------------------------'
.-------------------------------------------------------------------------------.
| IMPRIENDO |
| |
| 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 --- Formatea un archivo de texto. |
| | |
| |+2 ------------- Imprime a partir de la página 2. |
| |-l70 ---------- Establece longitud de página en 70 líneas (66 x defecto) |
| |-w 80 --------- Establece el ancho de línea en 80 caracteres(72 x defecto) |
| |-h "Comandos" -- Establece "Comandos" como cabecera de cada página. |
| |-t ------------- No imprimiría cabeceras ni pies de página. |
| '------------- |
| |
| pr l70 -d comandos.txt | lpr --- Formateado el documento,lo manda a la cola. |
| |
'-------------------------------------------------------------------------------'
.-------------------------------------------------------------------------------.
|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. |
'-------------------------------------------------------------------------------'
.--------------------------------------------------------------------------------------.
| FORMATOS: |
|----------------------------------------------------------------------------------------|
| |
| w3m,lynx,links fichero.html---------------- Visualizan ficheros html. |
| links2,elinks fichero.html ---------------- Visualizan ficheros html. |
| pstotext fichero.ps | less ---------------- Visualiza ficheros ps. |
| pstotext fichero.pdf | less --------------- Visualiza ficheros pdf. |
| antiword fichero.doc | less --------------- Visualiza un fichero doc. |
| info fichero.info ------------------------ Visualiza ficheros texinfo. |
| |
| .----------------------------------------------------------------------------------. |
| |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 1.pdf 1.html -- Convierte un fichero pdf a html. | |
| | | |
| |la opción -layout hace que el fichero de salida conserve lo mejor posible la | |
| |disposición fisica del documento pdf.Ambos vienen en el paquete xpdf-utils. | |
| '----------------------------------------------------------------------------------' |
| |
| .----------------------------------------------------------------------------------. |
| |htmldoc 1.html 2.html -f unidos.html ------ Une varios ficheros html en uno solo. | |
| |htmldoc --webpage 1.html 2.html -f 3.pdf--- Convierte o une varios html en un pdf.| |
| |htmldoc --webpage 1.html 2.html -f 3.ps --- Convierte o une varios html en un ps. | |
| |elinks -dump fichero.html > fichero.txt --- Convierte un fichero html a texto. | |
| '----------------------------------------------------------------------------------' |
| |
| .----------------------------------------------------------------------------------. |
| |antiword -p folio fich.doc > fich.ps ------ Convierte un fichero doc a ps | |
| |antiword -t -w 30 fich.doc > fich.txt ----- Convierte un fichero doc a texto | |
| | | |
| |-p puede ser tamaño folio,a3,a4,etc | |
| |-w anchura de la línea en caracteres | |
| '----------------------------------------------------------------------------------' |
| |
| .----------------------------------------------------------------------------------. |
| |latex fichero.tex -------------------- Genera un documento.dvi a partir de un tex | |
| |dvi2ps -c fichero.ps fichero.dvi ----- Convierte un documento dvi a formato ps | |
| |latex2html fichero.tex --------------- Convierte un documento LaTeX a formato html| |
| |pdflatex fichero.tex ----------------- Convierte un documento LaTeX a formato pdf | |
| '----------------------------------------------------------------------------------' |
| |
| .----------------------------------------------------------------------------------. |
| |tidy | |
| |Descripción:Limpia el código de un documento html,según los estándares W3C. | |
| | | |
| |Sintaxis: tidy [opciones] fichero.html | |
| | | |
| |Opciones: | |
| |-f fichero.txt --------- Vuelca la salida en el fichero fichero.txt | |
| |-m --------------------- Corrige,modificándolo,el código del fichero html. | |
| |-asxhtml --------------- Convierte un html a xhtml | |
| |-latin1 ---------------- Usa caracteres ISO-8859-1 para entrada y salida | |
| |-utf8 ------------------ Usa caracteres UTF-8 para entrada y salida | |
| '----------------------------------------------------------------------------------' |
| |
| .----------------------------------------------------------------------------------. |
| |iconv ------------------------ Cambia el código de caracteres de un fichero | |
| | | |
| | iconv -c -f iso-8859-1 -t utf-8 fichero1 -o fichero2 | |
| | / \ | |
| | fichero original--´ `-- fichero de salida | |
| | | |
| | -f ----- Codificación de entrada (opcional) | |
| | -t ----- Codificación de salida | |
| | -c ----- Se omiten los caracteres inválidos en la salida | |
| | -l ----- Lista todos los sistemas de codificación conocidos | |
| '----------------------------------------------------------------------------------' |
| |
| .----------------------------------------------------------------------------------. |
| |convmv ---------- Cambia el código de caracteres en los nombres de ficheros | |
| | | |
| | convmv --notest -f iso-8859-1 -t utf-8 directorio/* (admite comodines) | |
| | | |
| | --notest ---- Necesario para que los cambios se lleven a cabo | |
| | --list ------ Lista todos los sistemas de codificación disponibles | |
| | --unescape -- Elimina secuencias de escape (%20) en los nombres | |
| | -r ---------- En modo recursivo | |
| '----------------------------------------------------------------------------------' |
| |
| .----------------------------------------------------------------------------------. |
| |fromdos Permite convertir ficheros de texto entre los formatos Dos y Unix. Se | |
| | incluye en el paquete tofrodos.Los ficheros de texto en sistemas Unix | |
| | y Dos emplean distintos caracteres de control para definir una nueva | |
| | línea.Mientras en el primero se emplea el salto de línea,en el segundo | |
| | se usa la combinación de éste con el retorno de carro. Mención aparte | |
| | merece Mac OS, que sólo utiliza el retorno de carro. (ver comando tr) | |
| | | |
| | Caracteres de control: | |
| | LF ----- Salto de línea (line feed). | |
| | CR ----- Retorno de carro (Carriage return) | |
| | CRLF --- Combinación de ambas. | |
| | | |
| |Sintaxis fromdos [opciones] fichero | |
| | | |
| |Opciones: | |
| |-d — De Dos a Unix | |
| |-u — De Unix a Dos | |
| |-b — Crea una copia de seguridad del original,renombrándolo .bak | |
| |-o — Escribe los cambios directamente en el fichero original.Usada por defecto. | |
| |-p — Preserva la fecha del fichero.Si se trata de root también el propietario. | |
| |-a — Al convertir de dos a unix,eliminamos todos los CR,no sólo los que van se- | |
| | guidos de un LF,es decir los CRLF.Y al pasar de Unix a DOS,convierte todos | |
| | los LF en CRLF,no sólo los LF aislados que no van precedidos de un CR. | |
| | | |
| |Ejemplo: fromdos -d texto_win.txt | |
| | es lo mismo que | |
| | tr -d “\r” < texto_win.txt > texto_unix.txt (ver comando tr) | |
| | | |
| | fromdos -d -a texto_mac.txt | |
| | es lo mismo que: | |
| | tr ‘\r’ ‘\n’ < texto_mac.txt > texto_linux.txt (ver comando tr) | |
| | | |
| ‘———————————————————————————-’ |
| |
‘—————————————————————————————-’
.-----------------------------------------------------------------------------.
| COMPRIMIENDO |
.-----------------------------------------------------------------------------.
|7zip |
|***** |
|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 |
|Cifrar el zip: ------------------ zip -re fichero.zip fichero |
|Descomprimir zip: --------------- unzip fichero.zip |
|Descomprimir zip: --------------- unzip -d fichero.zip directorio_destino |
|Ver contenido zip: -------------- unzip -v fichero.zip |
|Chequea la integridad ----------- unzip -t fichero.zip |
| |
|Descomprimir rar: --------------- unrar e -r fichero.rar |
|Descomprimir rar: --------------- unrar x -r fichero.rar directorio_destino |
|Ver contenido rar: -------------- unrar l fichero.rar |
|Chequear rar: ------------------- unrar t fichero.rar |
| |
|Descomprimir ace ---------------- unace e fichero.ace |
|Descomprimir ace ---------------- unace x fichero.ace directorio_destino/ |
|Ver contenido ace: -------------- unace l fichero.ace |
|Chequear ace: ------------------- unace t fichero.ace |
| |
|Comprimir gz: ------------------- gzip -r fichero |
|Descomprimir gz: ---------------- gzip -d fichero.gz |
|Ver contenido gz ---------------- gzip -c fichero.gz |
|Chequea la integridad ----------- gzip -t fichero.gz |
| |
|Comprimir bz2: ------------------ bzip2 fichero |
|Descomprimir bz2: --------------- bzip2 -d fichero.bz2 |
|Ver contenido bz2: -------------- bzip2 -c fichero.bz2 |
|Chequea la integridad ----------- bzip2 -t 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... |
|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 |
| |
|-- 0pciones de tar: |
| -c : crea un nuevo archivo. |
| -f :puede combinarse con: |
| |-c,usa el nombre del fichero especificado para el fichero tar |
| |-x,retira del archivo el fichero especificado. |
| '----- |
| -t : 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. |
'-----------------------------------------------------------------------------'
.-----------------------------------------------------------------------------.
| fcrackzip Intenta conseguir la contraseña de un fichero zip. |
| |
| Sintaxis: |
| fcrackzip [opciones] fichero.zip |
| |
| Opciones: |
|-b —- Seleccionamos el modo fuerza bruta,probando según le especifiquemos. |
|-c —- Seleccionamos los caracteres usados mediante fueza bruta. |
| |a — incluye todas las minúsculas [a-z] |
| |A — incluye todas las mayúsculas [A-Z] |
| |1 — incluye todos los números [0-9] |
| |! — incluye [!:$%&/()=?[]+*~#] |
| |: — incluye los caracteres que le sigan [:@] |
| ‘—– |
|-p —- Especificamos una contraseña (y su longitud exacta) inicial. |
|-l —- Damos la longitud mínima-máxima de la clave,puede omitirse el máximo.|
|-u —- Intenta usar unzip para descomprimir tras conseguir la clave. |
|-D —- Seleccionamos el modo diccionario,leyendo claves de un fichero dado. |
| |
| Ejemplo: fcrackzip -c a:@ -p aaa fichero.zip |
| |
| Busca claves que contengan tres caracteres en minúsculas incluída la arroba |
| |
‘—————————————————————————–’
.--------------------------------------------------------------------------------------------------.
| |
| 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 carácter.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) |
‘————————————————————————————————–’
.--------------------------------------------------------------------------------------------------.
| |
| 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ámetros 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 -t /home/paco/.papelera |
| así la próxima vez que borre algo con rm ,irá a parar al directorio .papelera |
| |
| 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. |
'--------------------------------------------------------------------------------------------------'
.--------------------------------------------------------------------------------------------------.
| |
| Conceptos de ENTRADA/SALIDA «I/O» «E/S» |
| |
| stdin ---- entrada estándar para datos,el teclado (0) |
| stdout --- salida estándar para los programas,la pantalla (1) |
| stderr --- salida estándar para los mensajes de error,la pantalla (2) |
|==================================================================================================|
| |
| Redirecciones. Un redireccionador redirige la salida de un comando a un fichero |
| |
| (<
——. .–> comando < fichero |
| (>
——|—> Su sintaxis 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 carácter 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 estándar,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 o pipe 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) |
| |
| ls -a | tee fichero.txt |
| es lo mismo que: ls -a ; ls -a >> fichero.txt |
| |
| ls -a | tee misficheros.txt | wc -l |
| En este ejmplo tee y wc han actuado como filtros,permitiédonos saber cuántos ficheros tenemos |
| en nuestra home y al mismo tiempo crear un fichero con sus nombres. Para ello tee ha tomado la |
| salida de ls y aparte de crear el fichero,le ha pasado esa misma salida a wc que nos muestra el |
| número de líneas de dicho fichero. |
| |
‘————————————————————————————————–’
.--------------------------------------------------------------------------------------------------.
| Mtools |
| |
| Colección de herramientas que permite acceder y manipular ficheros de MS-DOS sin necesidad de |