sábado, 10 de octubre de 2009

Algunos Comandos Utiles en Linux


Para Movernos Entre Carpetas:


cd ->
Significa “change directory”, o sea, cambiar directorio. Su sintaxis es muy sencilla.
Ejemplo: cd /root/

Se puede usar el tabulador para completar los nombres. Para volver atrás se utiliza el símbolo “..”. Para actualizar el directorio actual “.”.
Ejemplo: cd ..


ls.
Muestra todos los archivos en la carpeta, y los pone de diferentes colores según sus atributos (verdes los ejecutables, amarillos los dispositivos, etc). Su sintaxis es: ls


dir.
Tiene la misma función que ls pero no muestra tanta información como él.


rm.
Elimina el archivo especificado. Este comando sólo es válido para archivos. Su sintaxis es
rm


rmdir.
Al igual que rm pero con los directorios. Su sintaxis es
rmdir directorio
Conviene tener en cuenta el parámetro –ignore-fail-on-non-empty que borra un directorio aunque no este vacío.


chmod.
Este comando tiene una sintaxis difícil de recordar, así que ten esto a mano si te hace falta. El comando chmod se utiliza para cambiar los permisos a los diferentes usuarios. Podemos dar permisos de ejecución haciendo
chmod u+x

Esta línea le dará permiso de ejecución al usuario dueño del archivo. En definitiva, existen 4 tipos de usuarios:
u –> dueño
g –> grupo (grupo de usuarios al que pertenece el archivo)
o –> otros (los que no son dueños ni pertenecen al grupo)
a –> todos

3 tipos de modificaciones:
+ –> Añade un modo
- –> Quita un modo
= –> Especifíca un modo (sobreescribe modo anterior)

y 3 tipos de permisos:
r –> lectura
x –> ejecución
w –> escritura

Con todas sus mezclas podemos asignar permisos a todos los usuarios. Por ejemplo:
chmod a+w
dará permisos de escritura a todos los usuarios para ese Archivo.


shred.
Elimina archivos completamente. El comando rm no borra del todo los Archivos, sino que los marca como “que se pueden sobreescribir”. Los datos siguen en el disco duro. Con el comando shred borramos los datos definitivamente, haciendolos irrecuperables. Su sintaxis es
shred -u >


sh.
Este comando se suele utilizar para los archivos con extensión .sh o .run. Utiliza el shell de linux para ejecutar archivos en consola. Su sintaxis es
sh


cp.
Copia uno o varios archivos a la carpeta especificada. Especialmente util para pegar archivos cuando no tenemos permisos. Con este comando, podemos hacerlo como root fácilmente. Su sintaxis es
cp

Por ejemplo, para copiar el archivo texto.txt a la carpeta /dev/cdu, utilizamos
sudo cp texto.txt /dev/cdu

También podemos copiar todos los archivos de una carpeta y pegarlos en otra con
sudo cp * /dev/cdu

Recuerda que debes estar en la carpeta que contiene el archivo que deseas copiar, puedes moverte entre carpetas con el primer comando que es cd.


mv.
Mueve un archivo o carpeta a otro lugar. Su sintaxis es
mv /carpeta1 /carpeta2

Lo que hace esto es mover la carpeta1 a la carpeta2, ambas en el directorio raíz.


tar.
Programa para desempaquetar archivos. Si no tenemos ganas de hacerlo gráficamente, lo podemos hacer mediante terminal escribiendo
tar zvf archivo.tar

==================================================
Compilación.

Si alguna vez nos descargamos el código fuente de un programa, necesitaremos compilarlo por nosotros mismos para que funcione. Esta tarea nos requerirá probablemente de gcc y algún que otro paquete extra.


Configure.
Configure es un script que prepara los archivos para su compilación. Nos informará de si falta alguna dependencia. Debe ejecutarse y por ello se utiliza
./configure

Para ejecutar cualquier archivo ejecutable se utiliza la sintaxis
./programa

siempre y cuando el archivo esté en el mismo directorio en el que estamos nosotros.


Make.
Cuando llamas a make, compila todo el código fuente y lo deja preparado para instalarlo, ejecutarlo o lo que sea. Tarda bastante, puesto que la compilación siempre es una operación lenta. Su sintaxis es
make

en el directorio en el cual está el makefile.


Make install.
Una vez que termina el make, si ponemos
sudo make install

el programa se instalará en nuestro PC. Es importante destacar 2 cosas: hay que ser superusuario y que este también tarda un poco, así que hay que ser pacientes.

==================================================

Sistema:


init/telinit.
Estos 2 comandos le dicen al kernel linux cual es el runlevel actual. Su sintaxis es
init
telinit

num es un número entre 0 y 6. Los diferentes efectos de los números son
0 —> Detiene el sistema
1 —> Modo monousuario
2-5 —> Modo multiusuario
6 —> Reiniciar

NOTA:
el num puede variar dependiendo de la distribución GNU/Linux que uses. Por ejemplo, en ubuntu, con un telinit 3, nos quedamos igual, puesto que el 3 es un modo gráfico (multiusuario). En cambio, en OpenSUSE, un telinit 3 nos llevará a un terminal gráfico a pantalla completa, cerrando las X.
Este comando es necesario para instalar los drivers gráficos (por lo menos los de Nvidia) si no se dispone de internet. De ahí lo de cerrar las X.


kill.
Este programa cierra cualquier proceso que se le indique. Para cerrarlo se necesita su PID, que se obtiene con el comando
ps aux

Nos aparecerá una lista con el nombre de los procesos al final. Buscamos el que queramos y vemos la segunda columna (la columna llamada PID). Ahora escribimos
kill

sustituyendo PID por el PID del programa que queramos y el programa desaparecerá.

es parecido a lo que hacemos cuando se nos atasca algun programa en windows XD probablemente aqui sera menos necesario pero es buen saberlo.


Tomando privilegios en el sistema.
Cuando queremos instalar un progrma, copiar archivos a carpetas del sistema, etc. Necesitamos privilegios de superusuario (root). El superusuario tiene control sobre todo, por ese motivo, su cuenta está protegida bajo contraseña. Hay varios métodos de autentificarnos como superusuario. Veamos algunos de ellos a continuación:

1. sudo programa. Ejecuta como superusuario el programa que le digamos. Sólo disponible por medio de terminal.

2. gksudo programa. Ejecuta como superusuario el programa que le digamos de manera gráfica. Nos pedirá la contraseña de manera gráfica, al igual que si hubieramos accedido a synaptic desde el menú Sistema —> Administración.

3. kdesu programa.
Ejecuta como superusuario el programa que le digamos de manera gráfica. Es lo mismo que el anterior en su versión para kde.

4. gksu.
Al ejecutar este programa nos aparece un pequeño cuadro de diálogo en el que nos pide un programa a ejecutar. Este programa será ejecutado como root en modo gráfico.

5. su.
Desactivado por defecto en Ubuntu. Este comando te autentifica como root en un terminal. En ubuntu puede usarse escribiendo sudo su.


Todos estos métodos son diferentes, pero deben diferenciarse en algo, ¿no? Pues bien, el uso de uno u otro depende de lo que vayamos a hacer. Si lo que vamos a utilizar es una aplicación gráfica, es conveniente usar gksudo/kdesu para ejecutar el programa.

Si lo que vamos a hacer es ejecutar una aplicación en terminal, utilizaremos sudo. ¿Por qué hacerlo así? Pues bien, el 99% de las veces todo funcionará igual, pero puede que en algún caso, no salga todo como esperamos.

Como pequeño experimento, prueba abriendo firefox con sudo y después con gksudo.
equipo:~$ sudo firefox
equipo:~$ gksudo firefox

de hecho en este ejemplo estoy trabajando en firefox y con el primer comando nisiquiera me abre una segunda ventana, en cambio con gksudo si lo hace.

en caso de no haber estado trabajando sobre firefox al hacer este pequeño ejercisio
con gksudo, firefox se abre con la página de inicio de root, pero cuando lo ejecutamos con sudo, carga la página de inicio del usuario actual.

Este es sólo un caso de ejemplo, pero hay programas que con sudo no llegarán a funcionar y con gksudo si. Además, pulsando Alt+F2 (Ejecutar aplicación), podemos usar directamente el comando gksudo programa para encender el programa, sin necesidad de tener que recurrir al engorroso terminal (para algunos). Esto no se puede hacer con sudo. Otra gran ventaja para usar gksudo.


===================================================
______________________________
* Instalación de programas mediante terminal.

Seguro que en los tutoriales haz visto las palabras apt-get/aptitude. Estos dos programas son los utilizados en Ubuntu para instalar programas (en Mandriva se usa urpmi).

1. apt-get. Este comando acepta multitud de órdenes:
update: Actualiza los repositorios.
upgrade: Busca actualizaciones de software.
install: Instala el paquete seleccionado.
remove: Elimina el paquete seleccionado.
dist-upgrade: Actualiza la distribución.
autoclean: Elimina los archivos descargados antiguos.

Con todas estas órdenes podemos instalar los paquetes necesarios. Necesitamos saber el nombre del paquete con antelación o parte de él.


2. aptitude. Otra gran cantidad de órdenes disponibles:
install: Instala el paquete seleccionado.
remove: Elimina el paquete seleccionado.
hold: Bloquea paquetes.
unhold: Desbloquea paquetes.
update: Actualiza los repositorios.
upgrade: Busca actualizaciones de software.
dist-upgrade: Actualiza la distribución.
search: Busca un paquete por nombre y expresión.
show: Muestra información sobre el paquete seleccionado.
autoclean: Elimina los archivos descargados antiguos.
reinstall: Reinstala el paquete seleccionado.

Como en el caso anterior de los privilegios de usuario, ambos tienen diferencias entre sí. Una de ellas es la velocidad de trabajo. Claramente, apt-get funciona algo más rápido que aptitude. Aunque la diferencia más importante es que, si instalamos un paquete y con él algunas dependencias, puede que al eliminar el paquete esas dependencias sigan en el sistema. Con apt-get, las dependencias se quedan en el sistema, mientras que aptitude tiene un log donde controla el tema de las dependencias y las elimina si es necesario. Además, aptitude tiene la órden search, que es realmente útil para buscar un programa del que no conocemos su nombre completo.

===================================================


Varios.

Aquí pongo algunas cosas relacionadas con el terminal que pueden ser de utilidad.


wget url. Descarga un archivo desde una url dada. La velociad es exactamente la misma que si se hiciera gráficamente.

Pegar código en un terminal. Si estáis cansados de tener que pulsar el botón derecho para pegar el código en el terminal, lo que podéis hacer es copiarlo con el método normal y pegarlo usando la combinación de teclas Mayús.+Ins.
no se si en otras distribuciones funcione esto pero yo en ubuntu le doy un click con los 2 botones del mouse

Obtener ayuda para programas. Si necesitáis saber como se usa un programa por terminal, podréis obtener ayuda de dos formas:
+ Con el comando man
+ O escribiendo el nombre del programa y utilizando la opción –help. Por ejemplo,
apt-get --help
nos mostrará una pequeña ayuda en el mismo terminal que nos mostrará sus funciones y opciones.

Espero los sirvan a mi si que me han servido, y pues gracias al monomano77 y
http://sinwindows.wordpress.com/ see u!


No hay comentarios: