Vous êtes sur la page 1sur 6

Comandos Unix en Mac OS X

Parte I:
Leccin 1: primeros pasos con la lnea de comandos
Cuando Apple anunci la salida del Mac OS X, muchos usuarios Mac se quedaron aturdidos: aqu estaba
un nuevo sistema operativo basado en el venerable Unix, el cual, ellos teman, podra poner en
dificultades la legendaria facilidad de uso del MacOS. Los usuarios Mac han sido fieles durante muchos
aos a un interface basado en el ratn, y Unix, o por lo menos ellos lo pensaban, era exactamente lo
opuesto. Como el Mac OS X presenta un interface grfico por encima de sus cimientos Unix, no tiene
sentido preocuparse - los veteranos usuarios Mac pueden sentirse como en casa (despus de unos ajustes)
con el nuevo interface, y no necesitan conocer nada acerca de los cimientos Unix sobre los que se ejecuta
el Mac OS X.
Tal vez, no todo el mundo tena miedo. Muchos usuarios Mac, especialmente aquellos que trabajaban en
grandes empresas o instituciones educativas, han utilizado durante aos variantes de Unix, o similares,
como alguna de las muchas distribuciones Linux. Estaban encantados de descubrir que ellos podan
utilizar sus Macs y todava usar la potencia de Unix (concretamente FreeBSD 4.4, uno de los ms
veteranos y ms estables versiones de Unix). Podan acceder a las mltiples herramientas de lnea de
comandos disponibles para Unix y los poderosos programas proporcionados como equipamiento estndar
en el MacOS X; como el servidor Web Apache, numerosas utilidades de red, un compilador etc .... Y ellos
podan adems beneficiarse del sencillo interface grfico de Apple.
Unix tiene una reputacin de complejo - se consideran que sus crpticos comandos ofrecen una empinada
curva de aprendizaje y no accesible al "al resto del mundo". Mientras esto puede ser verdad - algunos
comandos Unix son como cualquier otra lengua extranjera -la lnea de comandos puede tambin ser
simple, til y poderosa.
La meta de este artculo (el primero de una ocasional serie para ser publicados en TidBits durante el
prximo ao) es presentar un breve ejemplo de cmo se puede utilizar el interprete de comandos en lnea
del Mac OS X, el terminal, para ejecutar algunos comandos simples, y ver exactamente como funcionan.
Descubrirs, si sigues este simple tutorial, que Unix no es tan complicado.
Abriendo el terminal-- El Terminal es el programa que Apple incluye en el Mac OS X como interface
entre los comandos que tecleas y el sistema operativo. El Terminal es un programa "tonto" -hace poco
ms que pasar la informacin a la shell (otro programa que interpreta estos comandos) y visualizar los
resultados de estos comandos.
Comenzamos abriendo el Terminal, el cual es localizado en la carpeta "Utilidades" de la carpeta
"Aplicaciones" (o, utilizando la convencin Unix, /Applications/Utilities). Doble-click sobre el icono del
Terminal. La ventana del Terminal aparecer, mostrando algo similar a esto:
Last login: Mon Nov 25 16:03:03 on ttyp1
Welcome to Darwin!
[Walden:~] kirk%
Este texto nos indica unas cuantas cosas:
* La primera lnea muestra la fecha y la hora del ltimo "login" (entrada del usuario en el sistema),
seguido por el terminal que se est utilizando ("ttyp1").
* La segunda lnea es el "Mensaje del da". El mensaje por defecto del da en Mac OS X (en la versin
10.2) es " Bienvenido a Darwin1", siendo Darwin el nombre de la implementacin del BSD Unix en el
Mac. (Como muchas cosas en Unix, puedes fcilmente cambiar este texto; veremos cmo hacerlo en un
prximo artculo.)
* La tercera lnea es el "prompt" -cursor- . primero muestra el "localhost" -nombre dado al ordenador- o
computador que se est utilizando: en este caso, el nombre de mi Mac es "Walden". El "directorio actual",
o carpeta, es mostrada despus de los dos puntos (":") que siguen al nombre del computador o "localhost".
Cuando abres una nueva ventana de terminal, el "directorio actual" es por defecto vuestro carpeta
"Home", representada por el smbolo "~" - en realidad es un "atajo" o forma abreviada de referirse al
"directorio actual" - La parte final del "prompt" es el nombre abreviado del usuario actual, "kirk".
(Obviamente, vuestro "localhost" y "nombre de usuario" sern distintos a los mos.)
El "prompt" o cursor indica que puedes teclear comandos. Si el Terminal est trabajando en un comando o
mostrando ciertos "procesos", no vers el "prompt". Si este es el caso, siempre puedes abrir una nueva
ventana de Terminal para teclear comandos; puedes abrir un nmero ilimitado de ventanas de Terminal,
llamadas "sesiones", en cualquier momento.

Tecleando tu primer comando -- Ahora que sabemos lo bsico, estamos preparados para teclear nuestro
primer comando. Comenzaremos con "echo", un simple comando que muestra lo que se teclea despus
del nombre del comando en la ventana del Terminal.
(Nota: en el resto del artculo, el comando y el texto tecleado se mostrarn despus del smbolo del
"prompt", "%", sin el nombre del "localhost" o computador y el "nombre del usuario". No es necesario
teclear el "prompt"; simplemente teclea el texto despus del smbolo "%".)
Teclea lo siguiente:
% echo Hola!
y aprieta la tecla "return" -retorno- o "enter" -intro del teclado numrico-. El Terminal mostrar el texto
tal como lo habas escrito. El comando "echo" escribe un "argumento" en la "salida estndar" -estndar
output- del Terminal; en este caso coincide con la propia ventana del Terminal. Despus de presionar
"return", muestra la siguiente lnea:
Hola!
Vuestro Mac simplemente os saluda, "Hola!". Ahora, podemos ir ms lejos - despus de todo, no sabemos
a quin est saludando el Mac.- prueba el siguiente comando:
% echo Hello $user!
Mi Mac responde:
Hello kirk!
(nota: user es un variable del sistema. En esta variable se almacena el nombre del usuario del sistema. El
smbolo "$" indica a la shell que la palabra siguiente (user) es un variable del sistema. Si no ponemos "$"
delante de "user" la shell respondera con "Hello user!")
Todos los comandos utilizan una sintaxis concreta - en los comandos ms simples, frecuentemente es la
siguiente;
comando argumento
Los "argumentos" son informacin adicional requerida por algunos comandos; otros comandos pueden
ejecutarse sin argumentos. En la lnea de texto que tecleamos arriba, el comando era "echo" y el
argumento era el texto que queramos que el Terminal nos mostrara.
Es fcil, no?. Simplemente acabas de utilizar la lnea de comandos del Mac OS X. El comando "echo" es
ciertamente simple, pero demuestra la sintaxis de los comandos bsicos y cmo el Terminal funciona.
(Probablemente ya habis observado que despus del texto de arriba, el Terminal muestra un nuevo
"prompt" en la siguiente lnea. Es una forma de mostrar, como mencionbamos, que el comando previo se
haba completado.)
Ahora vosotros mismo podis probar el comando "echo" con el texto que ms os guste.
Fin PARTE 1.1
Parte II:
Cmo leer los contenidos de los Directorios -carpetasVamos a ver algunas cosas que se pueden hacer con el Terminal. En la siguiente serie de comandos,
veremos:
* cmo crear un "directorio" -carpeta-,
* examinar el contenido de un "directorio",
* crear un nuevo "archivo",
* como decir al computador que escriba algn texto en este "archivo",
* leer el "archivo",
* borrar el "archivo" y el "directorio".
El "prompt" del Terminal muestra que estamos en nuestro "directorio Home" (~). Vamos a ver que hay en
este "directorio". Si miramos desde la ventana del "Finder", veremos que la carpeta "Home" contiene
unas pocas carpetas. Teclea lo siguiente (la primera letra es la "L" minscula, no es dgito "1"):
% ls
El comando "ls" "lista" el contenido de un "directorio". El Terminal mostrar algo como lo siguiente:
Escritorio Librera Msica Pblico
Documentos Pelculas Imgenes Sites
Se trata de un lista de cada uno de las carpetas que tenemos en la carpeta "Home" (puede diferir
dependiendo del contenido de nuestra carpeta "Home"). Tal vez, esta lista no nos dice cules de los
elementos mostrados son "archivos" o carpetas. Para esto puedes teclear lo siguiente:
% ls -F
El Terminal mostrar la siguiente lista:
Escritorio/ Librera/ Msica/ Pblico/
Documentos/ Pelculas/ Imgenes/ Sites/

"-F" es una "opcin" del comando "ls"; ojo, diferencia maysculas de minsculas : "-F" no es lo mismo
que "-f". Las "opciones" indican a ciertos comandos que realicen las acciones de una forma diferente.
Esta "opcin" indica al Terminal que muestre un signo de divisin (/) inmediatamente despus de cada
nombre que es un "directorio", un asterisco (*) despus de cada "ejecutable" (aplicacin), etc ... Los
signos (/) nos muestran en el ejemplo, que todas las entradas son "directorios". Si alguno de ellos hubiera
sido un "archivo", no tendra ningn smbolo detrs de sus nombre.
Creando un nuevo "directorio"
Ahora, vamos a crear un "directorio" llamado "Test". Teclea lo siguiente:
% mkdir Test
El comando "mkdir" -make directory, en ingls- crea un nuevo "directorio", Vamos a comprobar que este
"directorio" ha sido creado tecleando de nuevo el comando anterior "ls -F" :
Escritorio/ Librera/ Msica/ Pblico/ Test/
Documentos/ Pelculas/ Imgenes/ Sites/
Aqu est: "Test/", el "directorio" que acabamos de crear.
Ahora nos vamos a mover dentro de este "directorio" utilizando el comando "cd" :
% cd Test
El comando "cd" cambia el "directorio actual de trabajo". Despus de ejecutar este comando, el "prompt"
cambia para mostrar que estamos ahora en el "directorio Test":
[Walden:~/Test] kirk%
Como ya aprendimos, el smbolo "~" es un atajo de vuestro "directorio Home", y la barra de divisin
significa que el siguiente "directorio" reside dentro del "directorio Home"
Creando un nuevo "archivo"
Vamos a crear ahora un nuevo "archivo" vaco dentro de nuestro "directorio" Test. Teclear lo siguiente:
% touch testfile
El comando "touch" es normalmente utilizado para actualizar los privilegios de acceso de los archivos y
sus fechas de modificacin, pero tambin puede crear un "archivo" nuevo; el argumento, "testfile", es el
nombre que nosotros daremos al nuevo "archivo".
Vamos a comprobar que el "archivo" ha sido creado. Tecleamos:
% ls -F
que debe mostrar lo siguiente:
testfile
Recordar que la "opcin" "-F" del comando "ls" muestra un "/" despus de cada "directorio" y que no
muestra nada con los "archivos". As ya tenemos un "archivo" nuevo y vaco llamado "testfile" colocado
dentro del "directorio" "Test", esperando datos.
Escribiendo texto en un archivo
Como nuestro nuevo archivo est vaco, podramos escribir algo en l. Qu tal escribir "Hola
[username]!" ?. Para hacer esto, podemos utilizar el comando "echo" que ya conocemos. Teclear lo
siguiente:
% echo Hola $user! > testfile
Este comando dice al Terminal que replique como un eco el texto "Hola [username]!" en el archivo
llamado "testfile". Vamos a comprobarlo para estar seguros de que as ha sucedido. Existen unos cuantos
comandos que muestran el contenido de vuestros archivos; uno de ello es "cat". Teclea esto:
% cat testfile
El Terminal mostrar:
Hola [username]!
Lo que vemos en la ventana del Terminal no tiene el mismo aspecto que un documento abierto en una
ventana desde una aplicacin. Vamos a ver cmo se vera este archivo en una aplicacin grfica. Teclear:
% open .
(Teclear "open", un espacio y un ".")
Este comando indica al Finder que abra el "directorio actual" (el "." es un atajo del directorio actual) en
una nueva ventana. Vers una nueva ventana del Finder, denominada "Test", con un archivo dentro
llamado "testfile".
Doble-click el icono del archivo "testfile", esto lanzar la aplicacin SimpleText -TextEdit- y mostrar
una ventana conteniendo el texto "Hola [username]!".
Salir del SimpleText para cerrar el archivo, entonces volver al Terminal haciendo click en su icono en el
Dock.
Borrando archivos y carpetas
Ahora que ya hemos finalizado nuestra breve demostracin, necesitamos limpiar un poco. Como no
necesitamos guardar el archivo y la carpeta creados anteriormente, vamos a borrarlos.

Cuidado! La lnea de comandos no est libre de riesgos. A diferencia del Finder, algunas tareas son
"permanentes" y no se pueden deshacer. El comando que vamos a presentar, "rm", es muy potente. Es
capaz de remover archivos completamente y permanentemente en vez de simplemente localizarlos en la
era. No puedes recuperar los archivos despus de borrarlos con "rm", as que salo con precaucin, y
siempre utiliza la opcin "-i" como explicaremos ms tarde, as el Terminal te pedir la confirmacin para
borrar cada archivo.
Vuestro "prompt" se parecer a lo siguiente, mostrando que todava se encuentra dentro del "directorio"
"Test" creado anteriormente:
[Walden:~/Test] kirk%
Teclea lo siguiente:
% rm -i testfile
El comando "rm" borra archivos y "directorios", en este caso el "archivo" "testfile". La opcin "-i" indica
al Terminal que ejecute el comando "rm" en modo "interactivo", preguntndote sobre si estas seguro de
que quieres borrar el "archivo". El Terminal preguntar:
remove testfile?
Teclea "y" (Yes) para confirmar, entonces presiona "return" -retorno- o "enter" -intro teclado numrico- y
el "archivo" ser borrado. Si quieres dejarlo sin borrar, solamente tienes que responder "n" de Not, o
presionar simplemente "return".
Vamos a comprobar si el "archivo" todava existe:
% ls
Despus de teclear "ls", vers slo un "prompt". El Terminal no indica si el "directorio" est vaco,
muestra que en el "directorio" no hay nada. Ahora, vuelve al "directorio" "Home", Teclea:
% cd ..
Se trata del mismo comando "cd" que ya habamos utilizado antes para cambiar de directorio". Ahora, el
comando le dice al Terminal que "suba" en la "jerarqua de directorios" al prximo directorio superior (el
".." es un atajo para el "directorio padre" superior o origen); en este caso, es vuestro "directorio" "Home".
Teclea "ls" otra vez para ver qu hay en este directorio:
% ls
Vers algo como esto:
Escritorio/ Librera/ Msica/ Pblico/ Test/
Documentos/ Pelculas/ Imgenes/ Sites/
El "directorio Test" todava existe, pero usando "rm", es fcil borrarlo tecleando:
% rm -d -i Test
La opcin "-d" indica a "rm" que borre un directorio. Entonces el Terminal mostrar:
remove Test?
Teclea "y", entonces "return" o "enter". (Si no has borrado el archivo "testfile" como te haba explicado
antes, el comando "rm" no podr borrar el "directorio" porque no puede, por defecto, borrar directorios
que no estn vacos.)
Realiza una comprobacin final para ver si el directorio ha sido borrado:
% ls
Escritorio/ Librera/ Msica/ Pblico/
Documentos/ Pelculas/ Imgenes/ Sites/
Recapitulacin
Si has seguido los pasos de esta breve demostracin, has podido teclear comandos con xito en la ventana
del Terminal utilizando la lnea de comandos de Unix. Has creado un directorio (carpeta), un archivo, has
escrito en el archivo, borrado el archivo y el directorio - y todo con algunos simples comandos. Aqu un
breve sumario de los comandos utilizados:
* echo: muestra los "argumentos" en la salida estndar; en el primer ejemplo, en la ventana del Terminal,
en el segundo ejemplo, en un archivo vaco.
* ls: lista el contenido de un directorio (o carpeta)
* mkdr: crea un nuevo directorio
* cd: cambia a otro directorio
* touch: crea un archivo nuevo y vaco. (entre otras cosas)
* cat: visualiza un archivo (entre otras cosas)
* open: te permite abrir archivos o carpetas en el Finder.
* rm: borra archivos o directorios. utilzalo con cuidado!
Aunque no has hecho nada extraordinario, puedes ver que utilizar el Terminal no es complicado. Slo
requiere un poco de tiempo aprender los diferentes comandos y sus argumentos y opciones. Pero si vas
lentamente, aprendiendo conforme los utilizas, ms que tratando de memorizar docenas de comandos,

pronto encontrars que no solamente te siente cmodo con la lnea de comandos, sino que adems puedes
hacer cosas que te ayudarn a ahorrar mucho tiempo y te darn mucha ms potencia.

Combinacin de
teclas
C
H

Expulsar CD

Shift

Option

Command+V

Command+S

Descripcin
Arrancar desde CD-ROM. Esta tecla se usa
cuando por ejemplo queremos instalar o
reinstalar el sistema operativo
Arrancar desde disco duro. La opcin por
defecto si no se pulsa ninguna tecla
Arrancar desde una unidad de red. Open
Firmware debe de haber sido configurado
correctamente para que funcione esta
opcin
Arrancar desde la unidad Zip. til si estamos
haciendo nuestro propio sistema operativo
en esta unidad
Si se mantiene pulsada durante el arranque
expulsa el CD-ROM de la unidad de CD. Esto
es especialmente til cuando un CD-ROM se
atasca y no hay forma de sacarlo
Perimte arrancar en modo a prueba de
fallos. La tecla debe pulsarse justo despus
del campanazo inicial y hasta que sale el
spin giratorio en pantalla.
Se nos muestra una lista de los sistemas
operativos instalados, y nosotros podemos
indicar con cual arrancar. til si tenemos
instalados otros sistemas operativos como
Darwin o Linux
Muestra mensajes descriptivos de todo el
proceso de arranque de Mac OS X (modo
"verbose"). Se recomienda probarlo al
menos una vez para ver como arranca Mac
OS X "al estilo UNIX"
"Single User Mode". Arranca en modo
consola monousuario. Especialmente til
para ejecutar comandos que slo se puedan
ejecutar en este modo como fsck
Modo "Target". Al hacerlo veris el logo de
firewire saltando por la
pantalla, no es mas que nuestra mquina
convertida en un disco
Firewire. Estando en este modo, le
enchufamos un cable
desde otro ordenador y veremos un disco
externo.

Command+Option+O
+F

Nos permite acceder al Open Firmware de


nuestra mquina. Despus podemos usar el
comando printenv para ver las variables de
la configuracin. Usando el comando setenv
podemos cambiarlas.