jueves, 18 de junio de 2009

Comandos


Al ya tener una breve historia de lo que es GNU/Linux, empezaré dejando material sobre los comandos de Linux para ir familiarizandonos con esta "belleza" y más adelante empezaremos con la configuración de servicios.

Espero sus comentarios, sugerencias, aportes, críticas constructivas, y sobre todo disposición a aprender juntos......

La distro que utilizaré para ejemplos será CentOS Linux...

Aquí dejo la lista de comandos más indispensables para Linux:

· Comando: ls

list: listar. Es el primer comando que todo linuxero debe aprender. Nos muestra el contenido de la carpeta que le indiquemos después. Por ejemplo. Si queremos que nos muestre lo que contiene /etc:

# ls /etc

Si no ponemos nada interpretará que lo que queremos ver es el contenido de la carpeta donde estamos actualmente:

# ls

Además acepta ciertos argumentos que pueden ser interesantes. Para mostrar todos los archivos y carpetas, incluyendo los ocultos:

# ls -a

Para mostrar los archivos y carpetas junto con lo que ocupa, etc:

# ls -l

Además se pueden observar los argumentos. Además de mostrar también los ocultos:

# ls -la

· Comando cd

change directory: cambiar directorio. Podemos usarlo con rutas absolutas o relativas. En las absolutas le indicamos toda la ruta desde la raíz (/). Por ejemplo, estemos donde estemos, si escribimos en consola…

# cd /etc/squid

…nos llevará a esa carpeta directamente. Del mismo modo si escribimos…

# cd /

…nos mandará a la raíz del sistema de ficheros.

Las rutas relativas son relativas a algo, y ese algo es la carpeta donde estemos actualmente. Imaginad que estamos en /home y queremos ir a una carpeta que se llama temporal dentro de nuestra carpeta personal. Con escribir…

# cd richard/temporal

…nos situará allí. Como vemos, hemos obviado el /home inicial ya que si no lo introducimos toma como referencia el directorio donde estamos, que es ese.

¿Y qué sucede si escribimos tan sólo…

# cd

Sí, sólo “cd”. Esto lo que hace es que te lleva a tu carpeta personal directamente y estemos donde estemos. Es algo realmente muy práctico, muy simple y que no todos conocen.

· Comando mkdir

make directory: hacer directorio. Crea una carpeta con el nombre que le indiquemos. Nuevamente podemos usar rutas absolutas y relativas.

Por ejm: creamos la carpeta prueba dentro de mi carpeta personal:

# mkdir /home/richard/prueba

Si ya estamos en nuestra carpeta personal. Por ejem: /home/richard

# mkdir prueba

· Comando rm

remove: borrar. Borra el archivo o la carpeta que le indiquemos. Como antes se puede indicar la ruta completa o el nombre del archivo. Para borrar un archivo.

Por ejem: borramos la carpeta anteriormente creada:

# rm /home/richard/prueba

Si ya estamos en nuestra carpeta personal: /home/richard

# rm prueba (todo esto con una carpeta vacía)

Para borrar una carpeta que contiene archivos y/o otras carpetas que pueden incluso contener más:

# rm -r nombre_carpeta

Otras opciones: “-f” no te pide una confirmación para eliminar o “-v” va mostrando lo que va borrando.

· Comando cp

copy: copiar. Copia el archivo indicado donde le digamos. Aquí podemos también jugar con las rutas, tanto para el fichero origen, como en el del destino. También podéis poner el nombre que le queréis poner a la copia. Por ejemplo, si estuviéramos en /etc/squid y quisiéramos hacer una copia de seguridad de squid .conf en nuestra carpeta personal:

# cp squid.conf /home/carpetapersonal/squid.conf.backup

· Comando mv

move: mover. Es igual que el anterior, sólo que en lugar de hacer una copia, mueve directamente el archivo con el nombre que le indiquemos, puede ser otro distinto al original:

# mv /etc/prueba.html /home/carpetapersonal/prueba.html

Otro uso muy práctico que se le puede dar es para renombrar un archivo. Basta con indicar el nuevo nombre en el segundo argumento con la misma ruta del primero. En este ejemplo suponemos que ya estamos en la carpeta que lo contiene:

# mv prueba.html prueba1.html

· Comando find

find: encontrar. Busca el archivo o carpeta que le indiques:

# find / -name prueba

El comando anterior buscaría en todos los sitios las carpetas y archivos que se llamen prueba. Si tuviéramos la seguridad de que se encuentra en /var por ejemplo, se lo indicaríamos:

# find /var -name prueba

Si no estamos muy seguros del nombre podemos indicárselo con comodines. Supongamos que el nombre de lo que buscamos contiene “prue”, en la misma carpeta de antes:

# find /var -name *prue*

Tiene otras opciones. Por ejemplo podemos decirle que encuentre los archivos/carpetas de más de 1500 KB:

# find / -size +1500

O los archivos/carpetas contienen el nombre “prue” y tienen menos de 1000 KB:

# find / -name *prue* -size -1000

· Comando clear

clear: despejar. Limpia la pantalla/consola quedándola como si acabáramos de abrirla.

# clear

· Comando ps

process status: estado de los procesos. Nos muestra lo que queramos saber de los procesos que están corriendo en nuestro sistema. Cada proceso está identificado con un número llamado PID. Si hacemos…

# ps -A

…nos mostrará un listado de todos los procesos, su PID a la izquierda y su nombre a la derecha. Si queremos más información:

# ps aux

· Comando kill

kill: matar. Elimina el proceso que le indiquemos con su PID:

# kill

En ocasiones el proceso no “muere” del todo, pero se le puede forzar al sistema para que lo mate con seguridad del siguiente modo:

# kill -9 (numero de proceso)

· Comando useradd

useradd: permite añadir nuevos usuarios al sistema, además de establecer la información por defecto de los nuevos usuarios que se añadan. Se encuentra enlazado simbólicamente por el nombre adduser. Ambos se pueden usar indistintamente:

Por ejm: crear los usuarios: ricardo y Javier

# useradd ricardo …crea el usuario ricardo con las propiedades por defecto.
# useradd javier …crea el usuario javier con las propiedades por defecto.

· Comando userdel

userdel: estecomando permite eliminar definitivamente un usuario del sistema.

# userdel Ricardo …eliminar el usuario Ricardo y borra su directorio base.

· Comando passwd

passwd: este comando permite cambiar el password de un usuario. Si se invoca sin argumentos se asume el usuario actual.

# passwd ricardo …coloca una contraseña para el usuario ricardo.

Historia GNU/Linux

1. GNU/Linux

Es un sistema operativo tipo Unix que se distribuye bajo la Licencia Pública General de GNU (GNU/GPL), es decir que es software libre. Su nombre proviene del Núcleo de Linux, desarrollado desde 1991 por Linus Torvalds. Es usado ampliamente en servidores y super-computadores y cuenta con el respaldo de corporaciones como Dell, Hewlett Packard, IBM, Novell, Oracle, Red Hat, Sun Microsystems.


Las variantes de estos sistemas se denominan “distribuciones” y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios. Algunas son gratuitas y otras de pago, algunas insertan software no libre y otras contienen solo software libre. Existen numerosos grupos de usuarios de Linux en casi todos los países del mundo.


2. Razones para usar GNU/Linux

• Libre de los Virus

Linux difícilmente tendrá algún virus. De hecho, un virus en Linux no es imposible pero Linux hace que esto sea bien difícil que pase, por varias razones:
La mayoría de personas usa Microsoft Windows y los delincuentes informáticos quieren hacer tanto daño (o controlar) como sea posible; es por esto que ellos apuntan sus ataques a Windows.


• Es más seguro

Ya que la gran mayoría de los ataques de hackers son dirigidos a servidores Windows al igual que los virus los cuales se enfocan principalmente a servidores con éste sistema operativo.
La plataforma Linux es más robusta lo cual hace más difícil que algún intruso pueda violar el sistema de seguridad de Linux.


• Estabilidad

Las últimas versiones de Windows, especialmente las “Profesionales” se están volviendo más estables que antes. Pero esta clase de problema todavía aparece muy a menudo. Definitivamente ningún sistema operativo es perfecto y la gente que te dice que el suyo jamás se va a colgar, nunca, están mintiendo. Sin embargo, algunos sistemas operativos pueden ser tan estables que la mayoría de usuarios nunca verán su sistema operativo colgarse, incluso por varios años. Esto es cierto para Linux.


• Protección

Virus, troyanos, adwares, programas espías Windows deja que todos estos entren a tu computadora muy fácilmente. Entonces puedes:
1) instalar un firewall
2) instalar un antivirus,
3) instalar un anti-adware,
4) deshacerte del Internet Explorer y Outlook (con Firefox y Thunderbird para reemplazarlos), y
5) rezar para que los delincuentes informáticos no sean lo suficientemente listos para superar estas protecciones y que, si una falla de seguridad es descubierta, Microsoft tome menos de un mes para hacer que una actualización esté disponible (y esto no pasa muy a menudo). O puedes instalar Linux y dormir profundamente de ahora en adelante.


• Costo y Licencias

Si tu computadora vino con una copia de Windows, entonces pagaste por ella, incluso si la tienda no te dijo nada al respecto. El precio de una licencia de Windows llega a ser en promedio un cuarto del precio de cada computadora nueva. Entonces a menos que hayas obtenido Windows ilegalmente, tú probablemente pagaste por él. Si es pirata también tuviste que pagar menos, pero pagaste, en tiempo, Internet, etc. Por otro lado, tú puedes tener Linux completamente gratis. De hecho, algunas compañías están haciendo un buen negocio vendiendo soporte, documentación, servicio en línea, etc., para su propia versión de Linux y esto es algo realmente bueno. Afortunadamente la mayor parte del tiempo tú no vas a tener que pagar un centavo.


• Libertad

Linux y los software de “Fuente Abierta” son “libres”. Esto significa que su licencia es una “licencia libre” y la más común es la GPL (Licencia Pública General). Esta licencia establece que cualquiera está permitido de copiar el software, ver el código fuente, modificarlo y redistribuirlo siempre y cuando mantenga la licencia GPL.


• Instalación

Instalar Windows es sólo el inicio. Un amigo te manda un e-mail con un archivo PDF adjunto y no tienes un programa para leerlo. Adjunto al e-mail de tu amigo encuentras un documento de texto file.doc. Windows tampoco puede leer eso. Alguien más también te mandó una imagen pero tiene un mal contraste, mala luminosidad y necesita una buena reducción. Windows está lejos de ser completo e instalarlo es sólo el comienzo de los problemas. Cuando obtienes una distribución Linux también tienes, sin instalar nada más: Todo lo que necesitas para escribir textos, editar hojas de cálculo, hacer presentaciones ordenadas, dibujar, editar ecuaciones, un navegador Web y un cliente de correo, un editor de imágenes, un programa de mensajería instantánea, un reproductor y organizador de música, un lector de PDF, todo lo que necesitas para descomprimir archivos, etc.


• Actualización

Windows tiene una herramienta muy conveniente llamada “Windows Update”, el cual te permite tener al día tu sistema con las últimas actualizaciones disponibles. Pero ¿qué tal todo tu software no-Microsoft? ¿Aplicaciones Adobe? ¿Compresor ZIP? ¿Grabador de CD? ¿Navegadores Web, clientes de correo, etc. no-Microsoft? Linux tiene una aplicación especial llamada “Gestor de Paquetes”, la cual se encarga de todo lo que esté instalado en tu sistema, pero también de cada pieza de software que tu computadora tiene. Entonces si quieres mantener todo actualizado, lo único que necesitas hacer es presionar el botón de “Instalar Actualizaciones”.


• Legalidad

Para la mayoría de personas tener software ilegal es muy común. Si usas Linux e instalas software libre, no vas a tener que preocuparte por esto ¡nunca más! La mayoría del software libre es gratis. Puedes encontrar reemplazos libres para la mayoría del software comercial que hay por ahí. Podrán carecer de algunas de las funcionalidades avanzadas pero serán más que suficientes para la mayoría de personas.


• Es más rápido

Al tener una plataforma más estable, ésto favorece el desempeño de aplicaciones de todo tipo tales como: bases de datos, aplicaciones XML, multimedia, etc.
La eficiencia de su código fuente hace que la velocidad de las aplicaciones Linux sean superiores a las que corren sobre Windows lo cual se traduce en velocidad de su página.