Вы находитесь на странице: 1из 12

COMANDOS DE TERMINAL UBUNTU Como lo haba prometido hace uno das, estoy publicando el primer post destinado a explicar

el manejo bsico de la Terminal de Ubuntu 10.04, en el vamos a ver los comandos para administracin de archivos. Todas las labores hechas con estos comandos las podemos hacer en el entorno grfico, pero es importante conocer estas lneas de cdigo para poder usar otros comandos ms avanzados. Para acceder a la terminal debemos dirigirnos a Aplicaciones/Accesorios/Terminal, una vez all debemos tener esta pantalla.

Al entrar, siempre se va a mostrar una lnea de cdigo de esta forma: nombre de usuario@ubuntu:~$ donde: Nombre de usuario ser el nombre de usuario con el que iniciamos sesin; @ (at) siginifica en (como decir el usuario est en:); ubuntu es la distribucin de linux en la que estmos; la virgulilla (~) indica que estmos en el directorio por defecto del usuario, y el smbolo ($) significa que estmos logueados como un usuario que no tiene permisos de administrador. si estuvieramos registrados como administrador estara el smbolo (#). Sabiendo esto, a continuacin dejo una lista de comandos para administracin de archivos y un video donde muestro el resultado de escribir cada una de estas lneas de comando. Es muy importante respetar los espacios y smbolos que se usan. ls = Lista todos los archivos y carpetas visibles dentro de la carpeta actual en orden alfabtico ls -r = Lista todos los archivos y carpetas visibles dentro de la carpeta actual en orden alfabtico invertido ls -a = Lista todos los archivos y carpetas dentro de la carpeta actual incluyendo los que estan ocultos ls -l = Lista todos los archivos visibles dentro de la carpeta actualcon sus propiedades

ls -al = Lista todos los archivos dentro de la carpeta actual con sus propiedades incluyendo los ocultos ls -alr = Lista Lista todos los archivos dentro de la carpeta actual con sus propiedades incluyendo los ocultos en orden alfabtico invertido. ls -d */ = Lista slo las carpetas visibles dentro de la carpeta actual cd carpeta = (cd es Change Directory) Ingresar a la carpeta con ese nombre cd Desktop, nos lleva a la carpeta Desktop, para mayor facilidad este comando lo podemos utilizar despues de usar el comando ls y ver a que carpeta queremos entrar. cd .. = Salir de la carpeta actual y volver a la carpeta anterior. cp archivo1 archivo2 = (cp es copiar) hace una copia del archivo1 o carpeta1 en la misma ubicacin y lo llama con el nombre archivo2 o carpeta2 cp archivo /home/usuario/Carpeta/archivo = Hace una copia del archivo en el directorio indicado y con el nombre indicado, en este caso es necesario colocar la ruta completa del directorio. mv archivo /home/usuario/carpeta = (mv es equivalente a cortar) Mueve el archivo al directorio destino, en este caso no es necesario indicar el nombre que tendr el archivo destino rm archivo = Elimina el archivo, hay que tener mucho cuidado al usar este comando, ya que los archivos se borran definitivamente, no van a la papelera. Clear = Situa la lnea en la que se encuentra el cursor en el tope de la pantalla de la terminal actual.

Comandos para modificar los permisos de acceso a un fichero: chmod


Este ser uno de los comandos que utilices ms habitualmente as que debes acostumbrarte a su utilizacin. Sobre todo, hars uso de l en muchas ocasiones que necesites realizar la instalacin de aplicaciones, herramientas y programas sin hacerlo a travs de los gestores de paquetes automatizados que Ubuntu dispone para esta tarea. Con el comando chmod podrs modificar los permisos de acceso a un fichero o archivo. Pero, ojo!, slo el dueo del archivo y el root pueden cambiar los permisos.

Su sintaxis puede variar mucho, ya que existen varias formas de utilizarlo, siendo la frmula inicial chmod {categora} +-. {permisos} {archivo]. Te mostramos cmo utilizar este comando:

sudo chmod {a, u, g, o} {+, - } {r, w, x } nombre del archivo


donde: u: corresponde al dueo del archivo g: corresponde al grupo o o a: corresponde al resto de los usuarios, a para todos (all) y o para otros (others) Para autorizar o desautorizar el permiso: +: autoriza -: desautoriza =: resetea los permisos y donde los tipos de permisos son: r: lectura w: escritura y x: ejecucin As a simple vista puede parecerte complicado pero con ejemplos concretos lo entenders mejor:

sudo chmod u-r prueba_de_permisos


(se eliminan los derechos de escritura del propietario del archivo prueba_de_permisos) - Ahora el propietario no podr editarlo ni borrarlo.

sudo chmod u+rwx prueba_de permisos


(incluye permisos de lectura, escritura y ejecucin para el propietario del archivo prueba_de_permisos). Ahora el propietario tiene permisos totales sobre el archivo.

sudo chmod uoag-rwx prueba_de_permisos


(establece permisos totales sobre el archivo para todos los usuarios del sistema). Ahora cualquiera puede acceder a l, editarlo y borrarlo eliminarlo - cortarlo. Observa que ahora el archivo ya no dispone del candadito que indicaba la limitacin en los privilegios de acceso al mismo. Pero en este comando, los derechos de acceso tambin pueden expresarse mediante nmeros. Es probable que hayas visto algo como:

sudo chmod 751 {nombre del archivo}

Es otro modo de gestionar los permisos; de forma octal. El sistema es muy simple y cmodo: se considera un bit para lectura (r), otro para escritura (w) y otro para ejecucin (x). Las combinaciones posibles son ocho y se muestran en la tabla siguiente:

0 = Ningn permiso (Lectura = 0 + Escritura = 0 + Ejecucin = 0) 1 = Permiso de Ejecucin (Lectura = 0 + Escritura = 0 + Ejecucin = 1) 2 = Permiso de Escritura (Lectura = 0 + Escritura = 2 + Ejecucin = 0) 3 = Permiso de Escritura y Ejecucin (Lectura = 0, Escritura = 2, Ejecucin = 1) 4 = Permiso de Lectura (Lectura = 4 + Escritura = 0 + Ejecucin = 0) 5 = Permiso de Lectura y Ejecucin (Lectura = 4 + Escritura = 0 + Ejecucin = 1) 6 = Permiso de Lectura y Escritura (Lectura = 4 + Escritura = 2 + Ejecucin = 0) 7 = Permiso de Lectura, Escritura y Ejecucin (Lectura = 4 + Escritura = 2 + Ejecucin = 1)

Luego, por cada identidad, puedes obtener un nmero comprendido entre 0 y 7 que, delimitarn por Identidad, claramente, sus privilegios en particular sobre un archivo o carpeta. Por ejemplo: 644: propietario 6 (lectura-escritura), grupo 4 (solo lectura), otros 4 (solo lectura) 751: propietario 7 (lectura-escritura-ejecucin), grupo 5 (lectura y ejecucin) y otro 1 (slo ejecucin) y as sucesivamente, las combinaciones necesarias hasta el 777 (permisos totales de lectura, escritura y ejecucin para todos los usuarios). Como ves, dentro de los tres dgitos el primero corresponde al dueo o propietario del archivo, el segundo dgito para el grupo y el ltimo dgito para el resto de los usuarios. Y si se necesitan modificar los permisos de acceso sobre una determinada carpeta o directorio? Es muy simple, slo aade la opcin -R para dar permisos recursivamente a todas las carpetas y ficheros en ella contenidos (se aplican los permisos correspondientes a todas las carpetas y archivos que contenga un determinado directorio). Y si necesitas an ms informacin que la que te ofrecemos pues el comando chmod contiene muchas ms opciones y formas de asignar permisos, puedes consultarlas consultando el manual del comando. Para ello, abre una consola o terminal y teclea:

man chmod
Aunque esta manera de asignar niveles de acceso a los recursos te pueda parecer muy elemental, no la infravalores, resulta que tras su sencillez esconde una tremenda potencia y eficacia.

Aca les dejo un par de Comandos.....

* Carpetas: * cd. Significa change directory, o sea, cambiar directorio. Su sintaxis es muy sencilla cd directorio Se puede usar el tabulador para completar los nombres. Para volver atrs se utiliza el smbolo ... Para actualizar el directorio actual .. * ls. Muestra todos los archivos en la carpeta, y los pone de diferentes colores segn sus atributos (verdes los ejecutables, amarillos los dispositivos, etc). Su sintaxis es ls * dir. Tiene la misma funcin que ls pero no muestra tanta informacin como l. * rm. Elimina el archivo especificado. Este comando slo es vlido para archivos. Su sintaxis es rm archivo * rmdir. Al igual que rm pero con los directorios. Su sintaxis es rmdir directorio Conviene tener en cuenta el parmetro ignore-fail-on-non-empty que borra un directorio aunque no este vaco.

* chmod. Este comando tiene una sintaxis difcil de recordar, as que tened esto a mano si os hace falta. El comando chmod se utiliza para cambiar los permisos a los diferentes usuarios. Podemos dar permisos de ejecucin haciendo chmod u+x archivo Esta lnea le dar permiso de ejecucin al usuario dueo del archivo. En definitiva, existen 4 tipos de usuarios: u > dueo g > grupo (grupo de usuarios al que pertenece el archivo) o > otros (los que no son dueos ni pertenecen al grupo) a > todos 3 tipos de modificaciones: + > Aade un modo - > Quita un modo = > Especifca un modo (sobreescribe modo anterior) y 3 tipos de permisos: r > lectura x > ejecucin w > escritura Con todas sus mezclas podemos asignar permisos a todos los usuarios. Por ejemplo, chmod a+w fichero dar permisos de escritura a todos los usuarios para ese fichero. * shred. Elimina ficheros completamente. El comando rm no borra del todo los ficheros, 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 archivo * sh. Este comando se suele utilizar para los ficheros con extensin

.sh o .run. Utiliza el shell de linux para ejecutar archivos en consola. Su sintaxis es sh archivo * 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 fcilmente. Su sintaxis es cp fichero destino Por ejemplo, para copiar el archivo texto.txt a la carpeta /dev/cdu, utilizamos sudo cp texto.txt /dev/cdu Tambin podemos copiar todos los archivos de una carpeta y pegarlos en otra con sudo cp * /dev/cdu * 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 raz. * tar. Programa para desempaquetar archivos. Si no tenemos ganas de hacerlo grficamente, lo podemos hacer mediante terminal escribiendo tar zvf archivo.tar * Compilacin. Si alguna vez nos descargamos el cdigo fuente de un programa, necesitaremos compilarlo por nosotros mismos para que funcione. Esta tarea nos requerir probablemente de gcc y algn que otro paquete extra. *

Configure. Configure es un script que prepara los archivos para su compilacin. 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 cdigo fuente y lo deja preparado para instalarlo, ejecutarlo o lo que sea. Tarda bastante, puesto que la compilacin siempre es una operacin lenta. Su sintaxis es make en el directorio en el cual est el makefile. * Make install. Una vez que termina el make, si hacemos sudo make install el programa se instalar en nuestro PC. Es importante destacar 2 cosas: hay que ser superusuario y que este tambin 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 num telinit num num es un nmero entre 0 y 6. Los diferentes efectos de los nmeros son

0 > Detiene el sistema 1 > Modo monousuario 2-5 > Modo multiusuario 6 > Reiniciar NOTA: el num puede variar dependiendo de la distribucin GNU/Linux que uses. Por ejemplo, en ubuntu, con un telinit 3, nos quedamos igual, puesto que el 3 es un modo grfico (multiusuario). En cambio, en OpenSUSE, un telinit 3 nos llevar a un terminal grfico a pantalla completa, cerrando las X. Este comando es necesario para instalar los drivers grficos (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 PID sustituyendo PID por el PID del programa que queramos y el programa desaparecer.

* 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 contrasea. Hay varios mtodos de autentificarnos como superusuario. Veamos algunos de ellos a continuacin: 1. sudo programa. Ejecuta como superusuario el programa que le digamos. Slo disponible por medio de terminal. 2. gksudo programa. Ejecuta como superusuario el programa que le digamos de manera grfica. Nos pedir la contrasea de manera grfica, al igual que si hubieramos accedido a synaptic desde el men Sistema > Administracin.

3. kdesu programa. Ejecuta como superusuario el programa que le digamos de manera grfica. Es lo mismo que el anterior en su versin para kde. 4. gksu. Al ejecutar este programa nos aparece un pequeo cuadro de dilogo en el que nos pide un programa a ejecutar. Este programa ser ejecutado como root en modo grfico. 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 mtodos 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 aplicacin grfica, es conveniente usar gksudo/kdesu para ejecutar el programa. Si lo que vamos a hacer es ejecutar una aplicacin en terminal, utilizaremos sudo. Por qu hacerlo as? Pues bien, el 99% de las veces todo funcionar igual, pero puede que en algn caso, no salga todo como nosotros esperamos. Como pequeo experimento, probad a abrir firefox con sudo y despus con gksudo. Habis notado las diferentes pginas de inicio? Cuando ejecutamos el programa con gksudo, firefox se abre con la pgina de inicio de root, pero cuando lo ejecutamos con sudo, carga la pgina de inicio del usuario actual. Este es slo un caso de ejemplo, pero hay programas que con sudo no llegarn a funcionar y s con gksudo (kate, por ejemplo). Adems, pulsando Alt+F2 (Ejecutar aplicacin), 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. ______________________________ * Instalacin de programas mediante terminal. Seguro que en los tutoriales habis visto las palabras apt-get/aptitude. Estos dos programas son los utilizados en Ubuntu para instalar programas (en Mandriva se usa urpmi, por ejemplo). Bien, analicemos estos programas: 1. apt-get. Este comando acepta multitud de rdenes: o update: Actualiza los repositorios. o upgrade: Busca actualizaciones de software. o install: Instala el paquete seleccionado. o remove: Elimina el paquete seleccionado.

o dist-upgrade: Actualiza la distribucin. o autoclean: Elimina los archivos descargados antiguos. Con todas estas rdenes podemos instalar los paquetes necesarios. Necesitamos saber el nombre del paquete con antelacin o parte de l. 2. aptitude. Otra gran cantidad de rdenes disponibles: o install: Instala el paquete seleccionado. o remove: Elimina el paquete seleccionado. o hold: Bloquea paquetes. o unhold: Desbloquea paquetes. o update: Actualiza los repositorios. o upgrade: Busca actualizaciones de software. o dist-upgrade: Actualiza la distribucin. o search: Busca un paquete por nombre y expresin. o show: Muestra informacin sobre el paquete seleccionado. o autoclean: Elimina los archivos descargados antiguos. o 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 ms rpido que aptitude. Aunque la diferencia ms 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. Adems, 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. o wget url. Descarga un archivo desde una url dada. La velociad es exactamente la misma que si se hiciera grficamente. o Pegar cdigo en un terminal. Si estis cansados de tener que pulsar el botn derecho para pegar el cdigo en el terminal, lo que podis hacer es copiarlo con el mtodo normal y pegarlo usando la combinacin de teclas Mays.+Ins. o Obtener ayuda para programas. Si necesitis saber como se usa un programa por terminal, podris obtener ayuda de dos formas:

+ Con el comando man programa + O escribiendo el nombre del programa y utilizando la opcin help. Por ejemplo, apt-get --help nos mostrar una pequea ayuda en el mismo terminal que nos mostrar sus funciones y opciones.