Linux

Aprenda Linux

Aprender Linux o GNU/Linux, cómo muchos lo llaman, es saber algo muy importante, y más si su oficio o carrera está vinculado directa o indirectamente a la informática. En esta época (2012) muchos desconocen que es Linux, entonces empezaré diciendo que es un sistema operativo muy eficiente, potente y variado. De él derivan muchos otros sistemas operativos también muy potentes, como lo son: Ubuntu, Debian, Fedora, Gentoo, OpenSuse, etc...

Para entrar en materia un poco más palpable, en Linux hay algo llamado comandos, estos se pueden ejecutar desde una terminal o shell y desde allí controlar todo el sistema operativo. Es muy importante saber (por lo menos) los comandos básicos para operar por la shell o terminal.

Aquí empezaremos con algunos de los comandos más básicos para operar desde la terminal.

También disponen de una documentación para cada comando. Por ejemplo para ver la
documentación del comando ls, tecleamos lo siguiente en un terminal.

$ man ls

Dicho esto, aqui os dejo la lista de comandos más indispensables para Linux:

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 los derechos que tiene, lo que
ocupa, etc:

$ ls -l
Además se pueden solapar los argumentos. Si quisiéramos mostrar los archivos
de la misma forma que antes, pero que muestre también los ocultos:
$ ls -la

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/apt
…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 vuestra carpeta personal. Con escribir…

$ cd tu_carpeta/temporal
…nos situará allí. Como véis 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.

mkdir
make directory: hacer directorio. Crea una carpeta con el nombre que le
indiquemos. Nuevamente podemos usar rutas absolutas y relativas. Podemos
indicarle toda la ruta que le precede al directorio que queremos crear, o si
estamos ya en la carpeta que lo va a contener basta con poner tan sólo el nombre:

$ mkdir /home/tu_cuenta/pepino
Si ya estamos en /home/tu_cuenta…

$ mkdir pepino

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. Esto a partir de ahora lo
vamos a obviar, creo que ya ha quedado claro con los dos comandos anteriores.
Para borrar un archivo:

$ rm nombre_archivo
Para borrar una carpeta vacía:
rm nombre_carpeta

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.

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/X11 y quisiéramos hacer una copia de seguridad de
xorg.conf en nuestra carpeta personal:

$ cp xorg.conf /home/tu_carpeta/xorg.conf.backup

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/pepino.html /home/tu_carpeta/ese_pepino.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 pepino.html ese_pepino.html

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

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

$ find /var -name pepino
Si no estamos muy seguros del nombre podemos indicárselo con comodines.
Supongamos que el nombre de lo que buscamos contiene “pepi”, en la misma
carpeta de antes:

$ find /var -name *pepi*
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 “pepi” y tienen menos de 1000 KB:

$ find / -name *pepi* -size -1000

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

$ clear

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

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

sudo
super-user do: hacer como superusuario. La cuenta de usuario en Ubuntu es
relativamente normal. Tiene derechos de administrador a medias. Me explico,
los tiene, pero cada vez que se haga algo importante y de riesgo para el sistema,
hay que hacerlo mediante el prefijo “sudo” y escribiendo después la contraseña.
Por ejemplo, algo que hemos hecho muchas veces en los tutoriales es hacer una
copia de seguridad del fichero xorg.conf. Éste está localizado en la carpeta
/etc/X11 y ahí ningún usuario puede hacer modificaciones o borrar nada si no es
el administrador o tiene derechos como tal, gracias a sudo. Por eso hacíamos
siempre:

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf

Siempre que necesitemos hacer un apt-get/aptitude update o install y acciones de
este tipo, tendremos que poner antes el “sudo”.

passwd
password: contraseña. Con este comando podremos cambiar la contraseña de
nuestra cuenta. Primero nos pedirá la contraseña actual como medida de
seguridad. Después nos pedirá que introduzcamos dos veces seguidas la nueva
contraseña.

$ passwd

su
super-user: superusuario. Mediante su podremos loguearnos como superusuario.
Tras escribirlo nos pedirá la contraseña de root y estaremos como administrador.
Podremos hacer todo lo que queramos.

$ su

Este comando también nos permite hacer login con otra cuenta distinta. Por
ejemplo, imaginemos que tenemos otra cuenta, además de root y la nuestra,
llamada “invitado”. Para hacer login como tal bastaría con poner:

$ su invitado
y después escribir la contraseña de esa cuenta.

sudo passwd
No es un comando propiamente dicho, pero es interesante que lo conozcáis.
Gracias a la unión de estos dos comandos podréis cambiar la contraseña de root
(la del super-usuario).

$ sudo passwd

apt
advanced packets tool: herramienta avanzada de paquetes. Es uno de los
comandos más útiles que se han desarrollado en los sistemas GNU/Linux debian
o basados en esta distro. Nos permite comprobar actualizaciones, actualizar todo
el sistema. También nos ofrece funcionalidad para buscar, descargar e instalar
paquetes con una sola orden.

Tenemos variantes, las más usadas son las siguientes:

$ apt-cache search nombre_paquete
Busca nombre_paquete para ver si existe literal o aproximadamente
ofreciéndonos los paquetes que pudieran ser en caso de que hayamos puesto un
nombre aproximado.

$ apt-get update
Actualiza los repositorios que son los que contienen los paquetes. Los
repositorios son como las direcciones que contienen nuestros paquetes. apt-get
update lo que hace es actualizar el listado de todos esos paquetes, con la
dirección de dónde obtenerlos para que a la hora de hacer la búsqueda y su
posterior descarga sea más rápida haciéndolo en nuestro ordenador.

$ apt-get upgrade
Actualiza nuestro sistema con todas las posibles actualizaciones que pudiera
haber. La actualización no se realiza sólo sobre el propio sistema operativo, sino
también sobre las aplicaciones que estén contenidas en los repositorios. Una útil
forma de estar siempre al día.

$ apt-get install nombre_paquete
Localizado el nombre del paquete que queremos descargar e instalar, este
comando se encargará del proceso. Buscará en nuestro índice (el que se crea con
update) de dónde tiene que descargarse el paquete, lo hace y posteriormente lo
instala.

$ apt-get remove [--purge] nombre_paquete
Elimina el paquete especificado del sistema. Damite el argumento “–purge”
(corchetes = opcional) para que borre también los ficheros de configuración.

$ apt-get autoremove
Elimina paquetes que han quedado inservibles tras realizar algún apt-get remove,
los llamados huérfanos. Normalmente tras hacer este último te avisa en un
mensaje que lo realices.

Todos estos comandos necesitan tener privilegios de administración, así que si
no los usáis como root, debéis agregar primero el conocido “sudo”.

aptitude
aptitude: aptitud, habilidad. En el fondo juega con las siglas de apt para crear
aptitude. Es una versión mejorada de apt. Si os habéis fijado en todos los
manuales y entradas donde había un proceso de instalación he usado aptitude en
lugar de apt. El segundo es quizá el más extendido al ser el que vio la luz
primero.

aptitude nació como un front-end de apt, es decir, como una especie de
aplicación gráfica y en modo texto para realizar todo lo que hace apt. Pero lo
cierto es que sus características son mejores.

apt cuando instala algo te puede realizar una sugerencia para que instales algo
más que te podría venir bien, pero no lo hace. Hay programas que a la vez usan
otros para algunas de sus funciones u opciones. apt no instalaría los segundos,
como mucho te avisaría. Sin embargo aptitude sí que lo instalará porque sabe
que de alguna forma es indispensable para el que has pedido.

De la misma forma, si con apt instalas luego ese programa que es usado por otro,
cuando desinstalas el principal, no se desinstalará el secundario, aunque éste ya
no tenga mucho sentido que esté instalado, y lo mismo sucede con librerías.
aptitude está capacitado para desinstalar lo que él mismo ha instalado como
recomendación. Te deja el sistema más limpio tras las desinstalaciones.
Para abrir el interfaz gráfico de aptitude, tan sólo hay que teclearlo:

$ aptitude
Sin embargo, también se puede usar exactamente igual que apt, pero con las
características que he comentado de aptitude:

$ aptitude search nombre_paquete
$ aptitude install nombre_paquete
$ aptitude remove nombre_paquete
$ aptitude purge nombre_paquete
$ aptitude update
$ aptitude upgrade

Y al igual que antes, necesitaréis usarlo con el sudo delante si no estáis como
administrador.

dpkg
depackage: despaquetar. Los paquetes cuando se instalan sufren un proceso de
despaquetaje. En el fondo un paquete .deb contiene una serie de scripts de preinstalación,
post-instalación y los archivos en cuestión del paquete.

Este comando lo usaremos para instalar un paquete .deb que ya tengamos
descargados en nuestro sistema. En muchas ocasiones hay una aplicación que no
está en los repositorios y nos hemos bajado el .deb para instalarlo con el interfaz
gráfico que corresponda (GDebi en el caso de GNOME).

En el fondo estas interfaces gráficas están basadas en dpkg. Si queremos instalar
un paquete ya descargado mediante consola usaremos el argumento ‘-i’
(i=install):

$ dpkg -i nombre_paquete
Para desinstalarlo ‘-r’ (r=remove):

$ dpkg -r nombre_paquete
Para desinstalar el paquete y los ficheros de configuración “–purge” (purgar):

$ dpkg -r –purge nombre_paquete

alien
A petición de lector.
Alien: de otro país, de otro planeta. Aunque Debian -y por extensión Ubuntudispone
de una ingente cantidad de paquetes en sus repositorios, puede que
alguien tenga algún problema en encontrar una aplicación específica
empaquetada como le interesa aunque ha visto el paquete que quiere para otras
distros.
alien es bastante práctico para estas situaciones ya que nos permite transformar
un paquete de un gestor de paquetes determinado en otro. Por ejemplo podemos
pasar de un .deb (Debian) a un .rpm (Red Hat) y viceversa. Las extensiones
soportadas son:
* deb (Debian)
* rpm (Red Hat)
* slm (Stampede)
* tgz (Slackware)
* pkg (Solaris)

Su uso es sencillo. Lo que debemos saber es el argumento que transformará el
paquete original en la extensión objetivo:
* “–to-deb” o “-d” para transformar a .deb
* “–to-rpm” o “-r” para transformar a .rpm
* “–to-tgz” o “-t” para transformar a .tgz
* “–to-pkg” o “-p” para transformar a .pkg
* “–to-slp” para transformar a .slp

Como ejemplo, pasaremos un supuesto paquete de Red Hat llamado
“pepino.rpm” a “pepino.deb”:

$ alien -d pepino.rpm

man
manual: manual. Es otro de los comandos de gran potencia en linux.

Normalmente queda programa o comando viene con un archivo de ayuda muy
completo sobre su uso y sus argumentos. Cuando desconozcáis cómo se usa y
qué argumentos tiene un comando o aplicación tan sólo tenéis que escribir en
consola:

$ man nombre
En ocasiones la información que nos ofrece man puede llegar a ser excesiva.

Casi todos los comandos y aplicaicones aceptan el argumento “–help” para que
muestre cierta ayuda más resumida. Por ejemplo con aptitude:

$ aptitude –help

Todos los comandos que les he mostrado tienen muchos más argumentos. Os he puesto
los más usados o necesarios, así que si hay alguno que os interesa particularmente
conocer más de él, tenéis “man” o “–help” para obtener más detalles.

ACTUALIZACIÓN: Carlos, nos dejo unos comentarios que creo pueden completar el manual
anterior.

Déjame comentar algunas cosas que les pueden ser de interés:
Sobre cd:

$ cd -
Nos devuelve al último directorio en el que estuviéramos. Lo descubrí por accidente.
Es muy práctico cuando queremos editar ficheros en dos lugares.

$ cd /etc/X11/

$ cd /backup/

$ cd -
Nos lleva a /etc/X11

$ cd -
nos devuelve a /backup

Sobre cp:
Para copiar un directorio se usa cp -r

$ cp -r /etc /backup/
Tendremos /backup/etc, y dentro de ese directorio tendremos lo mismo que hay en /etc
Muy útil.

mv:
Tambien permite mover directorios o renombrarlos

$ mv /home/yo/misdocumentos /home/yo/mis_documentos

kill:
apenas lo uso, en su lugar utilizo killall, que permite matar por nombre de proceso, y los
procesos llamarse siempre igual (no así sus pid), permite no tener que hacer un ps para
saber qué tienes que poner.

$ killall firefox-bin
Eso sí, no es útil si tienes varios procesos abiertos con el mismo nombre, puesto que los
cerrará todos.
También acepta entre killall y el nombre del proceso un -X, donde X es la señal que
quieras (9 para matarlo, 15 para que intente cerrar él solo)

$ killall -15 firefox-bin (vaya, no va)

$ killall -9 firefox-bin
 y de2rapi2 añade el siguiente comando al manual:
alias: permite crear atajos para comandos

ej,:
$ alias ll=”ls -l”

$ alias instala=”sudo aptitude install”
también se pueden dejar permanentes, para agregar los alias permanentemente editan el
archivo:

$ nano /home/usuario/.bashrc
(puede ser nano, kate, gedit)
y agregan al final del archivo sus alias
alias actualiza=”sudo aptitude update”
alias upgrade=”sudo aptitude upgrade”
alias instala=”sudo aptitude install”
alias purge=”sudo aptitude purge”
alias show=”sudo aptitude show”
alias busca=”sudo aptitude search”
alias apagate=”sudo shutdown -h now”
luego cierran la terminal, abren otra y listo.
y hay una pequeña aplicacion que puede ayudar si no nos acordamos de algunos
comandos “mc”
para instalar:

$ sudo aptitude install mc
o si tenemos el alias =) :

$ instala mc

                               Fuente

No hay comentarios:

Publicar un comentario

Avance Psicológico Mediante La Tecnología

Avance Psicológico Mediante La Tecnología
La computadora puede ser tu amiga, solo aprende a usarla.