Mucho más que un 1%, en realidad...
tar
y gzip
Bajo Unix hay algunas aplicaciones ampliamente utilizadas para archivar y
comprimir ficheros. tar
se utiliza para archivar varios ficheros en uno
---es como PKZIP
o Winzip
, pero no comprime, sólo archiva. Para
archivar varios ficheros en uno (que llamaremos archivo de ahora en adelante):
$ tar -cvf <nombre_fichero_final.tar> <fichero1> [fichero2...]
Para extraer ficheros de un archivo:
$ tar -xpvf <nombre_fichero.tar> [fichero]
Para listar los ficheros contenidos de un archivo:
$ tar -tf <nombre_fichero.tar> | less
Puede comprimir los ficheros usando compress
, el cual es obsoleto y
no debería ser utilizado nunca más, o usando gzip
:
$ compress <fichero>
$ gzip <fichero>
eso crea un fichero comprimido con la extensión .Z
(compress) o
.gz
(gzip). Estos programas sólo pueden comprimir un fichero cada
vez. Para descomprimir, use:
$ compress -d <fichero.Z>
$ gzip -d <fichero.gz>
LPM.
Hay también utilidades unarj
, zip
y unzip
(compatibles con
ARJ y PK??ZIP). Los ficheros con la extensión .tar.gz
o tgz
(archivados con tar
, posteriormente comprimidos con gzip
) son
tan comunes en el mundo Unix como los ficheros .ZIP
bajo DOS. Para
listar los contenidos de un fichero .tar.gz
utilice:
$ gzip -dc <fichero.tar.gz> | tar tf - | less
o también:
$ tar -cvzf <fichero.tar.gz>
Antes de nada: instalar paquetes es trabajo del root. La mayoría de las
aplicaciones Linux se distribuyen como ficheros .tar.gz
, que contienen,
típicamente, un directorio bien denominado conteniendo ficheros y/o
subdirectorios. Una buena norma es instalar esos paquetes en el directorio
/usr/local
con la orden
# tar -zxf <archive.tar.gz>
leyendo después el fichero README
o INSTALL
. En la mayoría de los
casos, la aplicación se distribuye en código fuente, por lo que deberá
compilarla; a menudo, será suficiente teclear make
y después make
install
. Si el archivo contiene una rutina configure
ejecútela
primero. Obviamente, necesitará el compilador gcc
o g++
.
Algunos archivos deben ser desempaquetados desde el directorio raíz; éste
es el caso de los archivos .tgz
de Slackware. Otros archivos contienen los
ficheros pero no un subdirectorio - cuidado con liar las cosas. Antes de
instalar un archivo, liste su contenido.
Debian y Red Hat tienen su propio formato de archivo; respectivamente,
.deb
y .rpm
. El último está ganando una amplia aceptación; para
instalar un paquete rpm
, teclee
# rpm -i package.rpm
Visión de pantallas anteriores: presionar <MAYÚS + RE PÁG> (la tecla gris) le permite volver atrás unas cuantas páginas, dependiendo de la memoria de vídeo que posea.
Resetear la pantalla: si por un casual hace un cat
o un more
de
un fichero binario, su pantalla puede acabar llena de basura. Para arreglar
las cosas, teclee reset
a ciegas o pulse esta secuencia de caracteres:
echo CTRL-V ESC c RETURN
.
Pegar texto: en consola, ver más abajo; en las X, haga click y arrastre
para seleccionar el texto en una ventana xterm, después haga click en el botón
central (o con los dos a la vez si tiene un ratón de dos botones) para pegar.
También hay un xclipboard
(portapapeles de X) (de momento, sólo para
texto); no se confunda por su muy baja velocidad de respuesta.
Usar el ratón: instale gpm
, el controlador de ratón para la consola.
Haga click y arrastre para seleccionar texto, entonces haga un click con el
botón derecho para pegar el texto seleccionado. Funciona a través de diferentes
consolas virtuales.
Mensajes del núcleo: échele un vistazo a /var/adm/messages
o
/var/log/messages
como root para ver lo que el núcleo le dice,
incluyendo los mensajes de inicio. La orden dmesg
también es útil.
Si se está preguntando si puede reemplazar su vieja y fiable aplicación DOS/Win
con una aplicación de Linux, le sugiero que navegue por los mayores directorios
de software para Linux:
ftp://sunsite.unc.edu/pub/Linux
,
ftp://tsx-11.mit.edu/pub/linux
, y
ftp://ftp.funet.fi/pub/Linux
.
Otros buenos lugares para empezar son la «Página de Utilidades y Aplicaciones
para Linux»
http://www.xnet.com/~blatura/linapps.shtml
, y la página «oficial»
de Linux
http://www.linux.org
.
Linux puede hacer muchas cosas que eran difíciles o imposibles de hacer con DOS/Windows. Esta es una pequeña lista que puede abrir su apetito:
at
le permite ejecutar programas a una hora determinada;awk
es un lenguaje simple pero potente para manipular ficheros
de datos (y no sólo de datos). Por ejemplo, siendo data.dat
su
fichero de datos con varios campos,
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
imprime los campos 1 y 4 de cada línea de data.dat
cuyo segundo campo
contenga la cadena «abc».
cron
es útil para realizar tareas periódicamente, en una
fecha y hora determinadas. Escriba man 5 crontab
.
find
(vea también sección
Directorios: equivalencia de órdenes) es una de las órdenes más potentes y útiles. Se
utiliza para encontrar ficheros que tengan unas determinadas características y
para realizar acciones en ellos. Un uso general de find
es:
$ find <directorio> <expresión>
donde <expresión> incluye los criterios de búsqueda y las acciones.
Ejemplos:
$ find . -type l -exec ls -l {} \;
encuentra todos los ficheros que son enlaces simbólicos y muestra a quién
apuntan.
$ find / -name "*.old" -ok rm {} \;
encuentra todos los ficheros que ajusten con el patrón y los borra,
pidiendo su permiso primero.
$ find . -perm +111
encuentra todos los ficheros cuyos permisos ajusten con 111 (ejecutables).
$ find . -user root
encuentra todos los ficheros que pertenecen al root. Hay cientos de
posibilidades. LPM.
grep
busca patrones de texto en ficheros. Por ejemplo,
$ grep -l "geología" *.txt
lista todos los ficheros *.txt
que contengan la palabra «geología». La
variante zgrep
trabaja con ficheros comprimidos con gzip. LPM;
^a[^a-m]X{4,}txt$
se ajusta a una línea que comienza con `a',
seguida de cualquier carácter excepto los del intervalo a-m, seguido de 4 o más
`X', y terminado en `txt'. Puede utilizar expresiones regulares con editores
avanzados, less
, y muchas otras aplicaciones. man grep
para
una introducción.
script <fichero_script>
vuelca los contenidos de la
pantalla en fichero_script
hasta que teclee la orden exit
.
Es útil para depuración;
sudo
permite a usuarios efectuar algunas tareas propias del
root, como por ejemplo, formatear y montar discos; LPM);
uname -a
le da información acerca de su sistema;
zcat
y zless
son útiles para visualizar y trabajar con
ficheros comprimidos mediante gzip sin necesidad de descomprimirlos.
Por ejemplo:
$ zless textfile.gz
$ zcat textfile.gz | lpr
bc, cal, chsh, cmp,
cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac,
tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew.
LPM.
Tanto como si me cree como si no, hay buenas utilidades que proporcionan un
entorno similar a UNIX bajo DOS/Windows. Uno es la suite Djgpp (
http://www.delorie.com/djgpp
)
para DOS, mientras que Cygnus (
http://www.cygnus.com
) es un puerto más completo para Win32. Ambos
incluyen las mismas herramientas y utilidades de desarrollo GNU que Linux; sin
embargo, no conseguirá la misma estabilidad.
Si desea tener el sabor de Linux, pruebe Djgpp. Descargue e instale los
siguientes ficheros (en el momento de escribir, la última versión era la
2.02): djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip,
find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.
. Se
proporcionan instrucciones de instalación, y puede encontrar ayuda en
news:comp.os.msdos.djgpp
.
En particular, utilizar bash
bajo DOSWin es una bocanada de
aire fresco. Para configurarlo adecuadamente, edite el fichero
BOOT.BAT
que viene en la distribución para que refleje su
instalación, y ponga estos ficheros en su directorio de usuario (de la
partición Windows) en lugar de los que se proporcionan:
# este es _bashrc
LS_OPTIONS="-F -s --color=yes"
alias cp='cp -i'
alias d='ls -l'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias u='cd ..'
# este es _bprof
if [ -f ~/_bashrc ]; then
. ~/_bashrc
fi
PS1='\w\$ '
PS2='> '
CDPATH="$CDPATH:~"
# cosas para less(1)
LESS="-M-Q"
LESSEDIT="%E ?lt+%lt. %f"
VISUAL="jed" # editor
LESSCHARSET=latin1 # visualizar letras acentuadas
export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
Se podrá encontrar con una gran variedad de extensiones de ficheros. Excluyendo las más exóticas (como las de fuentes, etc.), aquí tenemos una lista de las extensiones más usuales:
1 ... 8
: páginas de manual. Léalas con
groff -Tlatin1 -man <file.1>
.
arj
: archivo hecho con arj
.
dvi
: fichero de salida producido por TeX (ver más abajo).
Use xdvi
para visualizarlo; Use dvips
para transformarlo en un
fichero PostScript (.ps
).
gz
: archivo comprimido con gzip
.
info
: archivo info (Algo así como una alternativa a
las páginas de manual). Consiga info
.
lsm
: Fichero Linux Software Map. Es un fichero de
texto ASCII plano que contiene la descripción de un paquete.
ps
: Fichero PostScript. Para visualizarlo o imprimirlo
consiga gs
y, opcionalmente, ghostview
.
rpm
: Paquete de Red Hat. Puede instalarlo en cualquier
sistema utilizando el gestor de paquetes rpm
.
taz, tar.Z
: archivo hecho con tar
y posteriormente
comprimido con compress
.
tgz, tar.gz
: archivo hecho con tar
y posteriormente
comprimido con gzip
.
tex
: fichero de texto para utilizar con TeX, un poderoso
formateador de textos. Consiga el paquete tex
, disponible en muchas
distribuciones.
texi
: fichero texinfo, a partir del cual se pueden producir
tanto archivos TeX como info. Consiga texinfo
.
xbm, xpm, xwd
: fichero gráfico.
Z
: archivo hecho con compress
.
zip
: archivo hecho con zip
. Consiga zip
y
unzip
.
Si necesita intercambiar ficheros de texto entre DOS/Win y Linux, tenga en
cuenta del problema de «fin de línea». Bajo DOS, cada línea de texto
finaliza con CR/LF (esto es, ASCII 13 + ASCII 10). Bajo Linux, con LF. Si
edita un fichero de texto DOS bajo Linux, cada línea acabará con un
carácter `M' de extraña apariencia. un fichero de texto Linux bajo DOS
aparecerá como una sóla línea kilométrica sin párrafos. Hay un par de
utilidades, dos2unix
y unix2dos
, que convierten estos ficheros.
Nota del revisor: Puede utilizar vim
para convertir este tipo de
ficheros:
vi fichero_dos.txt
# pulse ESC
:set fileformat=unix
# pulse Enter
!wq fichero_linux.txt
# pulse Enter
vi fichero_linux.txt
# pulse ESC
:set fileformat=dos
# pulse Enter
!wq fichero_dos.txt
# pulse Enter
Si sus ficheros de sólo-texto contienen caracteres acentuados, asegúrese de que están hechos bajo Windows (con NotePad) y no bajo DOS; si no, todas las letras acentuadas aparecerán como caracteres extraños.
Para convertir ficheros del Word o WordPerfect a texto plano, la cuestión
es más dificil, pero aún posible. Necesita una de las herramientas que
pueden encontrarse en los sitios CTAN; uno de ellos es
ftp://ftp.tex.ac.uk
. Consiga el
programa word2x
del directorio /pub/tex/tools/. En
concreto, word2x
convierte ficheros de Word 6, mientras que para
ver ficheros realizados con Word 97 necesitará mswordview
(
http://www.csn.ul.ie/~caolan/docs/MSWordView.html
) que los
transforma en HTML.
Si convertir ficheros no le parece suficiente, tiene la posibilidad de probar un paquete (¡gratuito!) similar a Microsoft Office.
La suite StarOffice es gratuita para uso privado. Es grande, algo lenta,
pero muy buena: ofrece muchas funcionalidades no encontradas en Microsoft
Office. Puede también leer y escribir ficheros de Word y Excel, aunque la
conversión no es siempre perfecta. Visite
http://www.stardivision.com
.
Otro buen paquete es Corel WordPerfect, del cual está disponible para
descarga una edición gratuita. ¿Debería decir más? Vaya a por él:
http://www.corel.com
.