domingo, 30 de septiembre de 2012

Manual básico del editor Vi

Vi es el editor de texto incluido en todas las versiones de Unix y por tanto es importante conocerlo si tenemos que trabajar en este sistema, ya que no siempre están instalados nano, pico u otros editores de ese tipo.

El Vi es un editor poco intuitivo pero para algunas tareas puede resultar muy cómodo de utilizar.
Su utilización se basa en dos modos de trabajo:

· Modo Comando: es el modo utilizado para guardar el fichero, moverse por el fichero, etc.
· Modo Edición: es el modo en el cual se puede introducir y borrar texto.

A continuación los describo con más detalle:

Modo Comando:

Cuando abrimos un archivo con este editor estamos directamente en modo Comando y comprobaremos que no podemos escribir ni borrar nada con las teclas habituales. Algunos comandos obedecen a la pulsación de una tecla concreta y en otros hay que escribir : y a continuación una o varias letras determinadas. Cuando queramos en cualquier momento volver al modo Comando hay que pulsar la tecla Esc.

En este modo podemos hacer algunas de las siguientes cosas:

Salir del archivo:

  • :q    Salir cuando no se han hecho modificaciones en el fichero.
  • :q!   Salir y descartar los cambios realizados.
  • :wq  Salir y guardar los cambios.

 

Moverse por el texto:


Normalmente funciona con los cursores pero a veces no, en cuyo caso las teclas son:
  • Izquierda: h ó barra de espacio
  • Derecha: l ó borrar (<-)
  • Arriba: k
  • Abajo: j
  • Ir al comienzo de la línea siguiente: Enter
  • Avanzar página:  Ctrl-F (forward)
  • Retroceder página: Ctrl-U
  • Movernos una palabra a la derecha: w (word)
  • Movernos una palabra a la derecha: b (before) 
  • Ir al inicio de la línea en la que está el cursor: ^
  • Ir al final de la línea en la que está el cursor: $

 

Insertar texto:

  • Hay que pulsar la tecla a (append) o i (insert). Hacen casi lo mismo. Con una se empieza a escribir después del cursor y con la otra antes del cursor.
  • Hay otra forma de insertar texto que es sobreescribiendo el caracter donde se encuentre el cursor en ese momento (como el modo Insert de toda la vida), que se hace pulsando en la tecla s.

 

Borrar texto:

  • Borrar un caracter: x
  • Borrar una palabra: nos situamos al principio de la palabra y escribimos dw
  • Borrar una línea: dd

 

 Deshacer cambios:

  • Nos situamos encima de la línea donde queremos deshacer los cambios y pulsamos U.
  • Si realizamos un comando y queremos deshacer lo que hemos hemos en el mismo, pulsar u.

 Copiar y pegar texto:
  • Nos situamos al principio de la línea donde queremos empezar a copiar, escribimos el número de líneas a copiar, escribimos yy (comando yank), nos situamos en la línea donde queremos pegar y pulsamos p.
  • Si lo que queremos es cortar texto, es igual que el punto anterior pero pulsando dd (comando delete) en lugar de yy.

 

Búsqueda:

  • Para buscar una cadena pulsamos / seguida del texto a buscar y pulsamos Enter.
  • Si pulsamos n vamos a la siguiente ocurrencia.
  • Si pulsamos N vamos a la anterior ocurrencia.


Modo Edición:

En este modo podemos escribir y borrar texto normalmente. Para volver al modo Comando hay que pulsar Esc.



Y eso es todo. Con esta pequeña guía podemos manejarnos perfectamente en casi todas las situaciones con las que nos encontremos.
Para más información leer:
http://ex-vi.sourceforge.net/viin/paper.html



miércoles, 26 de septiembre de 2012

Instalar XAMPP en Linux

Hay varios métodos para trabajar con aplicaciones web, bases de datos, PHP o Perl, pero hay una de ellas especialmente útil por su diseño y rapidez en la instalación, que es XAMPP. Éste es un servicio multiplataforma que incluye todas las tecnologías anteriormente citadas.

La instalación de XAMPP en Linux se puede efectuar de la siguiente manera:

1) Descargar XAMPP de http://www.apachefriends.org/en/xampp-linux.html

2) Abrir una terminal y acceder a la ruta donde hayamos descargado el archivo.

3) Logarnos como root con:
 $ su  

O si trabajamos con Ubuntu:
 $ sudo su  

4) Extraemos los contenidos del archivo con tar y los trasladamos al directorio /opt:
 $ tar xvfz [nombre del archivo descargado] -C /opt  

Por ejemplo, con la versión más actual a fecha de hoy habría que poner:
 $ tar xvfz xampp-linux-1.8.0.tar.gz -C /opt  

Si todo ha ido bien ya podemos iniciar el servidor escribiendo:
 $ /opt/lampp/lampp start 

Para detenerlo sería igual pero poniendo stop al final.

De momento dejamos la consola abierta y con el servidor iniciado vamos a probar el correcto funcionamiento abriendo un navegador y accediendo a nuestro servidor con la dirección:

http://localhost

Aquí podremos seleccionar el idioma, ver el status o algunas demos, pero si intentamos acceder a phpMyAdmin veremos que nos aparece un error:

XAMPP nuevo concepto de seguridad:
El acceso a la solicitada directorio sólo está disponible desde la red local.
Este ajuste puede ser configurado en el archivo "httpd-xampp.conf".

Para solucionarlo tendremos que configurar las contraseñas volviendo a la terminal que teníamos abierta y escribiendo:
 $ /opt/lampp/lampp security  

Aquí configuraremos todas las contraseñas y es extremadamente importante acordarnos de ellas para evitar accesos denegados en el futuro. Aquí nos dirá cuál es nuestro usuario (lampp o xampp).

Para que sean efectivos los cambios debemos reiniciar el servidor:
  $ /opt/lampp/lampp stop  
  $ /opt/lampp/lampp start  

Cuando intentemos acceder al localhost de nuevo nos pedirá un usuario y contraseña. El usuario es lampp o xampp  y la contraseña la que hayamos puesto.

Cuando queramos acceder a phpMyAdmin el usuario es root y la contraseña es la que hayamos configurado.

La carpeta htdocs, donde guardaremos los archivos html y php con los que trabajemos, está en /opt/lampp/ htdocs.

Para darle permisos hacemos lo siguiente:

  $ cd /opt/lampp/  
  $ sudo chmod 777 htdocs   

That's all folks!


sábado, 22 de septiembre de 2012

Eliminar servicios en Mac OS X

Al desinstalar algún programa en Mac a veces nos encontramos con el problema de que algunos servicios siguen presentes en el sistema operativo y se inician automáticamente al iniciar.

Si queremos eliminar definitivamente estos servicios tendremos que abrir la terminal y escribir:
 $ launchctl list  

Esto nos mostrará una lista con todos los servicios que se inician automáticamente.
Aquí veremos el nombre exacto del que queremos eliminar, para lo cual tendremos que escribir:
 $ launchctl remove nombre 

Por ejemplo, si quiero eliminar el servicio com.zeobit.MacKeeper.Helper habría que poner:
 $ launchctl remove com.zeobit.MacKeeper.Helper 

En algunos casos son necesarios permisos de superusuario, para lo que escribiremos al principio sudo:
 $ sudo launchctl remove com.zeobit.MacKeeper.Helper 

En caso de que el servicio siga activándose de forma automática al iniciar el ordenador podemos buscar su archivo de propiedades correspondiente en la carpeta home de nuestro usuario accediendo a continuación a /Library/Preferences. En la lista que aparece posiblemente aparezca la lista plist que contiene ese servicio por lo que procedemos a eliminarlo. Del mismo modo lo buscaremos para borrarlo en /Library/LaunchAgents/ y en /Library/LaunchDaemons. Realizar las mismas búsquedas en el directorio raíz del Mac, en su carpeta Library correspondiente.

miércoles, 12 de septiembre de 2012

Mostrar archivos ocultos en Mac OS X

Si trabajas mucho con ficheros en Mac habrás comprobado que en el Finder no aparecen muchos archivos y carpetas, como /usr, /bin o /etc. El motivo es que estos elementos están ocultos para que queden protegidos para la mayoría de los usuarios, ya que son archivos de funcionamiento interno del sistema.
Para que podamos verlos en el Finder simplemente tendremos que abrir una Terminal y escribir:
 $ defaults write com.apple.Finder AppleShowAllFiles TRUE  
La próxima vez que iniciemos Finder comprobaremos que aparecen todos los archivos y carpetas ocultos.
Para realizar un reinicio inmediato de Finder tendríamos que poner:
 $ killall Finder

Si queremos que vuelvan a permanecer ocultos habría que escribir:
 $ defaults write com.apple.Finder AppleShowAllFiles FALSE