Manual
-
Upload
carlatapia -
Category
Documents
-
view
24 -
download
12
Transcript of Manual
1
1. INTRODUCCIÓN
Un intérprete de comandos es un programa que toma la entrada del usuario, por ejemplo las órdenes que teclea, y la traduce a instrucciones.
Podemos compararlo con el COMMAND.COM de MS-DOS, que realiza exactamente la misma tarea. El intérprete de comandos (Shell) será una de las interfaces con Linux, y el X Window será otra interfaz que nos permite ejecutar órdenes usando el ratón y el teclado. Cuando accedemos al sistema entramos por defecto en el entorno gráfico de X Windows, el KDE. Para pasar al modo texto (intérprete de comandos) desde el modo gráfico hemos de pulsar las
combinaciónes: ctrl+alt+f1 o bien con: f2 f3 f4 f5 f6
Esto hace que el sistema salga del modo gráfico y acceda a alguna de las seis consolas virtuales de Linux, a las cuales también se puede acceder cuando se arranca en modo de texto.
Para volver al modo gráfico hay que presionar ctrl+alt+f7 o ctrl+alt+f8 (Según la sesión en modo gráfico a la que deseemos regresar).
La segunda forma es más cómoda y menos radical, permitiendo acceder al shell desde el mismo entorno gráfico. Para esto hay que abrir un programa llamado terminal o consola, el kconsole (en el entorno KDE), o los xterm o gnome-terminal (en GNOME). Si estamos usando el entorno por defecto (GNOME), bastará con obtener el menú contextual del escritorio y
escoger la opción correspondiente: Además de ser un intérprete interactivo de los comandos que tecleamos, el Shell es también un lenguaje de programación,
el cual nos permite escribir guiones que permiten juntar varias órdenes en un fichero. Similar a los ficheros batch de MS-DOS.
En Unix existen varios tipos de intérpretes de comandos. Los dos más importantes son: • Sh o Bourne shell: utiliza una sintaxis similar a la usada en los primeros sistemas Unix.
• Csh o C shell: utiliza una sintaxis diferente a la de sh, similar al lenguaje de programación C. En Linux también disponemos de varios intérpretes de comandos, con algunas diferencias respecto a los de Unix. Los más
usados son: • Bash o Bourne Again Shell: es equivalente a Bourne shell, pero con muchas características avanzadas de la C shell.
Cualquier guión (script) escrito para Bourne funcionará en bash. • Tsch (exTended C shell): es una versión extendida del C original.
Sólo aparecerán diferencias entre unos y otros a la hora de escribir guiones. Es decir, en lo que respecta a los comandos usuales es indiferente el tipo de intérprete de comandos usado.
2. NOCIONES BÁSICAS
En una terminal:
* Las aplicaciones con nombres compuestos se escriben con guión entre las palabras (ej. compizconfig-settings-manager).
* Para los espacios en blanco se pone un guión inferior (ej. nombre_archivo) * Cuando queremos poner varios comandos seguidos, para ejecutarlos a la vez, dejamos un espacio entre ellos, nunca
una coma (ej. avidemux k3b kde-i18n-es k3b-i18n).
Cuando tecleamos una orden, el intérprete de comandos sigue una serie de pasos: 1. Busca el nombre de la orden y comprueba si es una orden interna.
2. Comprueba si la orden es un alias, es decir, un nombre sustitutorio de otra orden. 3. Si no se cumple ninguno de los casos anteriores, busca el programa correspondiente y lo ejecuta.
4. Si el intérprete de comandos no puede encontrar la orden que hemos tecleado, muestra un mensaje de error. El formato general de una orden en Linux es:
2
comando [-opciones] [argumentos] A la hora de introducir los comandos hay que tener en cuenta las siguientes características:
• Los comandos hay que teclearlos exactamente. • Las letras mayúsculas y minúsculas se consideran como diferentes (Case Sensitive).
• En su forma más habitual (los shells de Bourne o de Korn), el sistema operativo utiliza un signo de $ como prompt para indicar que está preparado para aceptar comandos, aunque este carácter puede ser fácilmente sustituido por otro u otros
elegidos por el usuario. En el caso de que el usuario acceda como administrador este signo se sustituye por #. • Cuando sea necesario introducir el nombre de un fichero o directorio como argumento a un comando, Linux, permite
escribir las primeras letras del mismo y realiza un autorrellenado al presionar la tecla del tabulador. Si no puede distinguir entre diversos casos rellenará hasta el punto en el que se diferencien. Por ejemplo, supongamos una carpeta con los
siguientes directorios: Programas
Documentos_proyecto Documentos_privados
Al escribir cd Pr Linux rellenará el resto del contenido hasta escribir cd Programas. Por el contrario al escribir cd D escribirá cd Documentos_
3. COMANDOS BÁSICOS
* ls -> list: listar. Nos muestra el contenido de la carpeta que le indiquemos después.
Es el primer comando que todo linuxero debe aprender. 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
3
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*
4
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
5
* su -> super-user: superusuario. (aunque el comando su suele relacionarse con "super user" realmente parece ser que
6
viene de "switch user" o "substitute user"
7
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 -> podréis cambiar la contraseña de root (la del super-usuario).
No es un comando propiamente dicho (es la unión de 2) pero es interesante que lo conozcáis. $ 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.
8
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 pre-instalació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 -> Alien: de otro país, de otro planeta.
Aunque Debian -y por extensión Ubuntu- dispone 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)
9
* 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 os 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.
* passwd - Podemos cambiar la contraseña empleando la orden passwd.
Nos pedirá la contraseña anterior (current) y la nueva. Volverá a pedir una segunda vez la nueva para validarla. El usuario root podrá cambiar la contraseña de cualquier otro usuario. Sin embargo, los usuarios no privilegiados solamente podrán
cambiar su propia clave. Sintaxis: passwd
* date - Muestra por pantalla el día y la hora, permitiendo, además, el cambio de la misma. Sintaxis:
date [opcion][formato]
* cal - Muestra el calendario del mes o año actual actual. Sintaxis:
cal [año] Por ejemplo,
• cal muestra el calendario del mes actual. • cal 1949 muestra el calendario del año 1949.
• cal 05 1945 muestra el calendario de Mayo de 1949.
* who - Indica qué usuarios tiene el ordenador en ese momento, en qué terminal están y a qué hora iniciaron la sesión. Sintaxis
who
* whoami - Indica el usuario que está trabajando en la terminal actual. Sintaxis:
whoami
10
* finger - Presenta una información completa de los usuarios conectados a la red. Sintaxis:
finger [-bfilpqsw][login1 login2]
* uname - Proporciona el nombre del sistema en el que se está trabajando. Sintaxis:
uname [-opciones] Como opciones principales tenemos:
-a indica, además, la versión, fecha y tipo de procesador. -m indica, además, el tipo de de procesador.
-r indica, además, la versión. -v indica, además, la fecha.
* logname - Indica el nombre del usuario conectado al sistema (el que ha hecho login). Sintaxis:
logname
* info - Proporciona ayuda resumida acerca de un comando en cuestión. Sintaxis:
info
* clear - Este comando se utiliza para limpiar la pantalla. Sintaxis:
clear
* echo - Muestra por pantalla los argumentos que le pasamos. Sintaxis:
echo [argumento1] [argumento2] ... [argumentoN]
* alias - Asigna un nombre o etiqueta a la ejecución de un comando con sus opciones. Sintaxis:
alias etiqueta=’orden’ La orden alias solamente, muestra todos los alias que hay creados. La orden unalias elimina el alias especificado.
4. COMANDOS ESPECÍFICOS
* Para reconfigurar las X (gráfica):
sudo dpkg-reconfigure xserver-xorg y reiniciamos las X con:
sudo reboot
* Para saber que tarjeta gráfica tengo instalada:
lspci | grep -i vga
* Para saber qué modelo de tarjeta de sonido tengo:
11
lspci | grep -i audio o
aplay -l
* Para saber que modelo de chip tiene la tarjeta de sonido:
cat /proc/asound/card0/codec#* | grep Codec
* Para saber todo el hardware y los controladores que tenemos instalados:
lspci -vv
* Para saber el listado de módulos cargados de sonido:
lsmod | grep snd
5. CARACTERES COMODÍN O WILDCARDS
Una característica importante de la mayoría de los intérpretes de comandos en Linux es la capacidad para referirse a más de un fichero.
Una forma de hacerlo es utilizando caracteres especiales llamados comodines. Al igual que en MS-DOS, el comodín * hace referencia a cualquier carácter o cadena de caracteres en el nombre del
fichero. El intérprete de comandos sustituirá el asterisco por todas las combinaciones posibles provenientes de los ficheros en el directorio al cual nos estamos refiriendo. Se dice que está realizando una expansión de comodines.
El carácter ? es también comodín, aunque solamente expande un carácter. Con ambos caracteres existe una excepción. No afectarán a aquellos ficheros que comienzan por un punto, y que son
ocultos para órdenes como ls. Además, podemos utilizar los corchetes para referirnos a un conjunto de caracteres o
bien un rango de caracteres ASCII. Ejemplos:
$ls *n* muestra todos los archivos y directorios, del directorio actual, que contienen el carácter n $ls * muestra todos los archivos y directorios del directorio actual
$ls tm? muestra todos los archivos y directorios del directorio actual que comienzan por tm y contienen tres caracteres $ls tabla[123]a muestra todos los archivos y directorios del directorio actual que comienzan por tabla, seguidos del carácter
1, 2 ó 3, y terminan en a $ls ??base[A-Z][5-9]* muestra todos los archivos y directorios del directorio actual que comienzan con dos caracteres cualesquiera, seguidos de la cadena base, a continuación una letra mayúscula, seguida de un número del 5 al 9 y por
último una cadena de caracteres (uno, varios o ninguno)
6. ÓRDENES RELACIONADAS CON DIRECTORIOS
Directorio Personal Como se ha visto anteriormente el directorio personal es un directorio con un determinado nombre asignado a un usuario.
Los directorios personales habitualmente son subdirectorios de /home (en algunos casos se utiliza mnt, u otro subdirectorio de orden inferior).
Generalmente el nombre coincide con el del nombre de usuario, aunque puede no ser así, y varios usuarios pueden estar trabajando en el mismo directorio. Cada usuario de Linux puede crear una estructura en árbol de subdirectorios y archivos
tan compleja como desee bajo su directorio personal pero normalmente nunca fuera de él. ls Permite mostrar el contenido de un directorio. ls Muestra los nombres de los ficheros y
12
subdirectorios contenidos en el directorio en el que se está. Sólo se obtienen los nombres de los ficheros, sin ninguna otra información. Sintaxis:
ls [-opciones][fichero] -a Muestra todos los ficheros incluyendo algunos que ordinariamente están ocultos para el usuario (aquellos que
comienzan por un punto). Recordemos que el fichero punto . indica el directorio actual y el doble punto .. el directorio padre, que contiene, al actual.
-l Esta es la opción de lista larga: muestra toda la información de cada fichero incluyendo: protecciones, tamaño y fecha de creación o del último ambio introducido,...
-c Muestra ordenando por día y hora de creación. -t Muestra ordenando por día y hora de modificación. -r Muestra el directorio y lo ordena en orden inverso.
-R Lista también subdirectorios. ls subdir Muestra el contenido del subdirectorio subdir.
-l filename Muestra toda la información sobre el fichero filename. --color Muestra el contenido del directorio coloreado.
Las opciones anteriores pueden combinarse. Por ejemplo: ls -cr Muestra el directorio ordenando inversamente por fechas. El comando ls admite los caracteres de sustitución o * y ?.
Por ejemplo: ls *.gif Muestra todos los nombres de ficheros que acaben en .gif, por ejemplo, dib1.gif, a.gif, etc.
ls file? Muestra todos los ficheros cuyos nombres empiecen por file y tengan un nombre de cinco caracteres, por ejemplo: file1, file2, filea, etc.
mkdir El comando mkdir (make directory) permite a cada usuario crear un nuevo subdirectorio. Sintaxis:
mkdir subdirectorio donde subdirectorio es el nombre del directorio que se va a crear.
rmdir Este comando borra uno o más directorios del sistema (remove directory), siempre que estos subdirectorios estén vacíos. Sintaxis:
rmdir subdirectorio Por ejemplo, rmdir subdir1, donde subdir es el nombre del directorio que se va a eliminar.
cd Este comando permite cambiar de directorio a partir del directorio actual de trabajo. Sintaxis:
cd Veamos algunas opciones:
cd – cambia al último directorio en el que estuvimos antes del actual. cd.. cambia al directorio padre. cd. nos deja donde estamos.
cd Nos sitúa nuevamente en el directorio personal del usuario. cd / cambia al directorio raíz
Nota: al contrario que en MS-DOS en Linux no existe la forma cd.. sin espacio entre cd y los dos puntos. pwd El comando pwd (print working directory) visualiza o imprime la ruta del directorio en el que nos encontramos en este
momento. Este comando es uno de los pocos que no tiene opciones y se utiliza escribiendo simplemente pwd.
7. ACCESO A UNIDADES DE DISCO: MONTAJE Y DESMONTAJE
Linux a diferencia de Windows no utiliza letras ("a:", "c:", "d:", ...) para acceder a las distintas unidades de disco de un ordenador. En Linux para acceder al contenido de una unidad de disco o de un CD-ROM este tiene que haber sido
previamente "montado". El montado se realiza mediante el comando mount, con lo que el contenido de la unidad se pone a disposición del usuario en el directorio de Linux que se elija. La sintaxis de este comando es la siguiente:
13
mount [-t tipo_de_sistema_ficheros] directorio_de_montaje Por ejemplo para acceder al CD-ROM se teclearía el siguiente comando:
mount -t iso9660 /dev/cdrom /mnt/cdrom donde -t iso9660 indica el tipo de sistema que usa la unidad de disco para guardar los ficheros (las más usuales son:
iso9660 en el caso de un CD-ROM, vfat en el caso de Windows, y ext2 (3 o 4) en el caso de Linux), /dev/cdrom indica el dispositivo que se va a montar. Todos los dispositivos están representados por un fichero del directorio /dev; por ejemplo,
en el caso de un disquete será seguramente /dev/fd0, por último /mnt/cdrom es el directorio en el que se pondrá a disposición del usuario el contenido del CD-ROM. Para montar disquetes se suele utilizar el directorio /mnt/floppy (aunque
esto depende de la versión de Linux que utilicemos). En el caso de Ubuntu, el comando mount admite directamente los directorios /cdrom, /cdrom1, /floppy, ... para el montaje
de nuestras unidades, por lo que lo único que habría que escribir, para montar por ejempo la disquetera, sería: mount /floppy
Si omitimos el tipo de sistema de ficheros y/o el dispositivo, Ubuntu toma la información correspondiente del fichero /etc/fstab, el cual contiene información de los distintos sistemas de ficheros del equipo.
De todas formas el usuario siempre puede crear un directorio vacío con el nombre que el elija para montar las unidades de disco que desee donde desee.
Cuando el usuario haya dejado de usar ese disco deberá "desmontarlo" mediante el comando umount antes de sacar el disquete o el CD-ROM. Siguiendo con el ejemplo de la disquetera en Ubuntu, debería escribir:
umount /floppy En principio, para utilizar el comando mount especificando todos los parámetros hace falta ser administrador o root. Para que un usuario común pueda utilizar disquetes, CD-ROM, etc. hay que editar el fichero /etc/fstab. Por ejemplo para que
cualquier usuario pueda acceder a un disquete habrá que indicar la siguiente línea: /dev/fd0 /mnt/floppy vfat user,noauto 0 0
También habrá que asegurarse de que el directorio /mnt/floppy sea accesible por todos los usuarios. Una vez seguidos los pasos anteriores cualquier usuario podrá "montar" un disquete escribiendo el siguiente comando:
mount /mnt/floppy Al igual que antes, el usuario deberá ejecutar el comando umount /mnt/floppy antes de sacar el disquete.
Nota: Existen en la actualidad distribuciones (por ejemplo, SuSE Linux) que realizan este proceso de forma automática, por lo que las unidades de disquete y CD-ROM quedan accesibles a todos los usuarios de una forma sencilla, empleando
los comandos: mount /mnt/floppy umount /mnt/floppy
siempre que /mnt/floppy sea la ruta adecuada. Para desmontar una partición empleamos el comando "umount":
sudo umount /dev/sdxX Donde "xX" es la partición que queremos desmontar. Por ej. "sda5" que es la partición "5" del disco duro "a"
8. ÓRDENES RELACIONADAS CON FICHEROS
cp Copia un fichero o ficheros en otro fichero o directorio. Sintaxis: cp fichero1 [fichero2] ... [ficheroN] destino
donde [ficheroX] es el fichero a copiar y es el fichero o directorio de destino. Podemos utilizar . y .. para referirnos al directorio actual y al directorio padre respectivamente.
Así pues, la orden cp file1 file2, hace una copia de file1 y le llama file2. Si file2 no existía, lo crea con los mismos atributos de file1. Si file2 existía antes, su contenido queda destruido y es sustituido por el de file1. El fichero file2 estará en el
mismo directorio que file1. Tanto file1 como file2 indican el nombre de un archivo, que puede incluir el la ruta al mismo si alguno de ellos no se encuentra en el directorio actual. Otra posibilidad es:
cp file1 file2 namedir que hace copias de file1 y file2 en el directorio namedir.
14
mv Se utiliza para el traslado y cambio de nombre de ficheros. Sintaxis: cp fichero1 [fichero2] ... [ficheroN] destino
Como vemos, este comando tiene una forma similar al anterior. El comando mv realiza la misma función que el cp pero además destruye el fichero original.
Así, si ejecutamos la orden mv file1 file2
en definitiva se traslada el contenido de file1 a file2; a efectos del usuario lo que ha hecho es cambiar el nombre a file1, llamándole file2. De igual forma,
mv file1 file2 namedir traslada uno o más ficheros (file1, file2,...) al directorio namedir conservándoles el nombre.
El comando, mv namedir1 namedir2
cambia el nombre del subdirectorio namedir1 por namedir2. Hay que recalcar que el comando mv sirve así mismo para cambiar el nombre de los ficheros.
rm Borrado de ficheros. Este comando elimina uno o más ficheros de un directorio en el cual tengamos permiso de escritura. Sintaxis:
rm file1 [file2] Con este comando resulta facilísimo borrar ficheros inútiles, y desgraciadamente, también los útiles. Por eso es
conveniente y casi imprescindible emplear lo opción -i, de la forma siguiente: rm -i file1 file2
Con esta opción, Linux pedirá confirmación para borrar cada fichero de la lista, de si realmente se desea su destrucción o no. Se recomienda usar siempre este comando con esta opción para evitar el borrado de ficheros útiles. Por ejemplo, si se teclea, rm -i superfluo aparecerá en pantalla el aviso siguiente: remove superfluo? y habrá que contestar y (yes) o n (not). En este comando se pueden utilizar los caracteres comodines (* y ?), como por ejemplo, rm fich* que borraría todos los
ficheros del directorio actual que comiencen por fich. El comando rm * borrará todos los ficheros del directorio actual.
Otra opción es –r, que borra directorios recursivamente (borran el directorio y todo su contenido). file Este comando realiza una serie de comprobaciones en un fichero para tratar de
clasificarlo, mostrando sus características. Sintaxis: file fichero
Tras su ejecución este comando muestra el tipo del fichero e información al respecto del mismo. Este comando se puede aplicar también a directorios.
cat Visualización sin formato de un fichero. Este comando permite visualizar el contenido de uno o más ficheros de forma no formateada. También permite copiar uno o más ficheros
como apéndice de otro ya existente. Algunas formas de utilizar este comando son las siguientes:
cat filename Saca por pantalla el contenido del fichero filename. cat file1 file2 Saca por pantalla, secuencialmente y según el orden especificado, el contenido de los ficheros indicados.
cat >file1 Acepta lo que se introduce por el teclado y lo almacena en file1 (se crea file1). Para terminar se emplea d pr Visualización de ficheros con formato. Este comando, a diferencia de cat, imprime por consola el contenido de los
ficheros de una manera formateada, por columnas, controlando el tamaño de página y poniendo cabeceras al comienzo de las mismas. Está muy en relación con el comando lp de salida por impresora. Las formas más importantes que admite son
las siguientes: pr file Produce una salida estándar de 66 líneas por página, con un encabezamiento de 5 líneas (2 en blanco, una de
identificación y otras 2 líneas en blanco). pr -ln file Produce una salida de n líneas por página (cuando el tamaño de papel de impresora, por ejemplo, tiene un
número de líneas distinto de 66) pr -p file Hace una pausa para presentar la página, hasta que se pulsa para continuar
pr -t file Suprime las 5 líneas del encabezamiento y las del final de página.
15
pr -wn file Ajusta la anchura de la línea a n posiciones. pr -d file Lista el fichero con espaciado doble.
pr -h `caracteres` file el argumento o cadena de caracteres `caracteres` se convertirán en la cabecera del listado.
pr +n file Imprime el fichero a partir de la página n. Además de los ejemplos anteriores, se pueden combinar varias opciones en un mismo comando, como por ejemplo en: pr
-dt file. La salida de este comando es por la consola, pero puede redireccionarse a otro fichero, por ejemplo, si ejecutamos el comando: pr file1 > file2 se crea un fichero nuevo llamado file2 que es idéntico a file1, pero con formato por páginas y
columnas. Comandos more y less Estos comandos permiten visualizar un fichero pantalla a pantalla. El número de líneas por pantalla es de 23 líneas de
texto y una última línea de mensajes, donde aparecerá la palabra more. Cuando se pulsa la barra espaciadora (el espacio en blanco), se visualizará la siguiente pantalla. Para salir de este comando (terminar la visualización) se pulsa d o q.
El comando more muestra el contenido de los ficheros indicados, una pantalla cada vez. Sintaxis: more fichero1 [fichero2] ... [ficheroN]
La teclas que nos permiten movernos por el fichero son: b va a la página anterior, barra espaciadora va a la página siguiente, flechas de cursor arriba y abajo, q finaliza la ejecución de more.
El comando less es muy similar al anterior pero, además, permite el desplazamiento a lo largo del texto empleando las teclas de cursores pudiendo desplazarse, además, hacia la izquierda o la derecha. Sintaxis:
less fichero1 [fichero2] ... [ficheroN] grep El comando grep localiza una palabra, clave o frase en un conjunto de directorios, indicando en cuáles de ellos la ha encontrado. Este comando rastrea fichero por fichero, por turno, imprimiendo aquellas líneas que contienen el conjunto de
caracteres buscado. Si el conjunto de caracteres a buscar está compuesto por dos o más palabras separadas por un espacio, se colocará el conjunto de caracteres entre apóstrofes ('). Su sintaxis es la siguiente:
grep [-opcion] 'conjuntocaracteres' file1 file2 file3 siendo 'conjuntocaracteres' la secuencia de caracteres a buscar, y file1, file2, y file3 los ficheros donde se debe buscar.
Veamos un nuevo ejemplo: grep 'TRIANGULARIZACION MATRIZ' matrix.f scaling.f
Este comando buscará TRIANGULARIZACION MATRIZ entre las líneas de los ficheros matrix.f y scaling.f. Las opciones principales del comando son:
c lo único que se hace es escribir el número de las líneas que satisfacen la condición. i no se distinguen mayúsculas y minúsculas.
l se escriben los nombres de los ficheros que contienen líneas buscadas. n cada línea es precedida por su número en el fichero.
s no se vuelcan los mensajes que indican que un fichero no se puede abrir. v se muestran sólo las líneas que no satisfacen el criterio de selección.
A continuación se muestra una serie de ejemplos. grep ‘ˆd’ text líneas que comienzan por d.
grep ‘ˆ[ˆd]’ text líneas que no comienzan por d. grep -v ‘ˆC’ file1 > file2 quita las líneas de file1 que comienzan por C y lo copia en file2.
head Muestra las primeras líneas del contenido de los archivos especificados; por defecto muestra las 10 primeras líneas. Sintaxis:
head [-número] ... Por ejemplo, head -7 texto, escribe por pantalla las 7 primeras líneas del fichero texto.
tail Muestra las primeras líneas del contenido de los archivos especificados; por defecto muestra las 10 primeras líneas. Sintaxis:
tail [-número] ...
9. OTROS COMANDOS BÁSICOS
16
9.1. Espacio ocupado en el disco: Comandos du y df El comando du permite conocer el espacio ocupado en el disco por un determinado directorio y todos los subdirectorios
que cuelgan de él. Para usarlo basta simplemente colocarse en el directorio adecuado y teclear du. Este comando da el espacio de disco utilizado en bloques. Para obtener la información en bytes se debe emplear el
comando con la opción –h: du -h
El comando df por el contrario informa del espacio usado por las particiones del sistema que se encuentren montadas.
9.2. Impresión: Comando lpr El comando lpr se emplea para imprimir una serie de ficheros. Si se emplea sin argumentos imprime el texto que se
introduzca a continuación en la impresora por defecto. Por el contrario, lpr nombre_fichero
imprime en la impresora por defecto el fichero indicado.
9.3. Búsqueda de ficheros. Comando find Con find podemos encontrar archivos (y, por tanto, directorios) basando su búsqueda en distintas características de los
mismos. Sintaxis: find [camino...] [expresión]
El número de opciones de find es muy elevado, por lo que se aconseja acudir al manual para mayor información (man find).
9.4. Enlaces a ficheros. Comando ln Los enlaces nos van a permitir realizar copias de los ficheros con otro nombre, para poder acceder a ellos desde lugares
distintos a su ubicación original, con un ahorro de espacio muy importante con respecto al comando cp. Nuestro sistema identifica a los ficheros mediante un número denominado inodo, que les asigna en el momento de su
creación. Es decir, un directorio lo que contiene realmente es una lista de números de inodo con sus correspondientes nombres de fichero. De esta forma, cada nombre de fichero es un enlace a un inodo particular; por ello, cada inodo está asociado a un conjunto de información guardada en el disco, que puede tener asignados distintos nombres, y a la que podremos acceder
desde distintos lugares del árbol de directorios si así lo deseamos. En este sentido, podremos crear dos tipos distintos de enlaces a ficheros: enlaces duros y enlaces simbólicos.
El comando ln nos servirá para crear ambos tipos de enlaces. ENLACES DUROS (HARD LINKS)
Si utilizamos el comando ln sin especificar ninguna opción, por defecto crearemos un enlace duro. La sintaxis es la siguiente:
ln [nombre del enlace] ln ...
Obviamente, el fichero o ficheros para los que deseamos crear un enlace duro deberán existir. Así mismo, si el último argumento es el nombre de un directorio que existe, crearemos un enlace duro a cada fichero, dentro del directorio, y con
el mismo nombre de fichero. Si solamente especificamos el fichero que queremos enlazar, y no indicamos ningún nombre para el enlace, éste se creará
con el mismo nombre que el fichero a enlazar. Los cambios que realicemos en el fichero enlazado o en el enlace, se reflejarán en el resto, ya que todos tendrán el mismo
número de inodo, y por lo tanto hacen referencia al mismo conjunto de información. La ventaja de utilizar enlaces duros radica en que el comando rm únicamente borrará aquel fichero que le indiquemos. La
información solamente se borrará por completo cuando borremos todos los enlaces a un inodo. La desventaja con respecto a los enlaces simbólicos es que sólo permite crear enlaces dentro del mismo sistema de
ficheros.
17
Los directorios . y .. son enlaces duros al directorio actual y a su directorio padre respectivamente. Ejemplo:
1 – Creamos el fichero pruebaln con la orden cat. $cat > pruebaln
hola CTRL+ D
2 – Creamos un enlace a pruebaln que se llame penlace. $ln pruebaln penlace
3 – Veamos las características de estos ficheros con la orden ls. Utilizamos la opción –i para ver el número de inodo. Ambos tendrán el mismo número de inodo con dos
enlaces. $ls –i pruebaln penlace
4 – Modificamos pruebaln y comprobamos si también se modifica penlace. $cat >>pruebaln
adios CTRL+ D
$cat pruebaln $cat penlace
5 – Modificamos penlace y comprobamos si también se modifica pruebaln. $cat >>penlace
otra vez hola CTRL+ D
$cat penlace $cat pruebaln
6 – Eliminamos pruebaln y comprobamos si penlace permanece y contiene la información correspondiente. $rm pruebaln $cat penlace
7 – Si utilizamos la orden ls –i, vemos que penlace sigue con el mismo número de inodo, que ahora solamente tendrá un enlace.
ENLACES SIMBÓLICOS Si utilizamos la opción –s con el comando ln, es decir ln –s, crearemos un enlace simbólico. La sintaxis en este caso es la
misma que utilizamos para crear enlaces duros. Podemos encontrar una similitud entre este tipo de enlaces y los accesos directos que estamos acostumbrados a crear
con los sistemas Windows. En el caso de los enlaces simbólicos, cada fichero tendrá un número de inodo distinto. Sin embargo, al igual que con los
enlaces duros, todos los cambios que se realicen en uno de los ficheros se verán reflejados en el resto. Si borramos el fichero enlazado, el enlace simbólico perderá toda la información, puesto que su inodo apunta a un número
de inodo que ya no existe. Sin embargo, podremos crear enlaces simbólicos a ficheros de otros sistemas de archivos. Ejemplo:
1 – Aún tenemos el fichero penlace. Creamos un enlace duro a penlace que se llame pruebaln. $ln penlace pruebaln
2 – Con la orden ls –li vemos que ambos tienen el mismo inodo, y que este inodo tiene dos enlaces. $ls -li pruebaln penlace
3 – Creamos un enlace simbólico a penlace que se llame penlacesim. $ln –s penlace penlacesim
4 – Con la orden ls –li vemos que tienen distinto número de inodo. Además, el inodo de penlacesim sólo tiene un enlace, y el inodo de penlace sigue teniendo dos. En la línea correspondiente a penlacesim vemos que aparece el fichero al que
apunta, y la letra l (“ele”) al inicio. $ls -li pruebaln penlace penlacesim
18
5 – Cambiamos penlace y comprobamos si cambia penalcesim. $cat >>penlace otra vez adios
CTRL+ D $cat penlacesim
6 – Por último borramos penlace. Comprobamos que pruebaln permanece y que no podemos ver el contenido de penlacesim, el sistema nos dirá que no existe. Para que desaparezca totalmente tenemos que borrarlo.
$rm penlace $cat pruebaln
$cat penlacesim $rm penlacesim
$rm pruebaln
9.5. Agrupación y compresión de ficheros: Comandos tar y gzip/gunzip Tanto el comando tar como gzip son ampliamente empleados para la difusión de programas y ficheros en Linux.
tar Este comando agrupa varios ficheros en uno solo o “archivo”, mientras que el segundo os comprime. En conjunto estos dos programas actúan de forma muy similar a programas como Winzip. Su sintaxis es:
tar [ficheros] El modo en el que se escriben las opciones de tar es un poco especial. El guión inicial, por ejemplo, no es necesario.
Las opciones más comunes para tar son: -c creación de archivadores nuevos.
-x extracción de archivos de un archivador existente. -v muestra los archivos mientras se agregan o se extraen.
-t muestra el contenido de un archivo tar. -f el siguiente argumento es el archivador a crear, del que queremos extraer archivos o mostrar un listado.
Para crear un nuevo archivo se emplea: tar –cvf nombre_archivo.tar fichero1 fichero2 ...
donde fichero1, fichero2 etc. son los ficheros que se van a añadir al archivo tar. Si se desea extraer los ficheros se emplea:
tar –xpvf nombre_archivo.tar fichero1 ... Veamos algunos ejemplos:
# tar cvf escritorio.tar Desktop empaqueta el contenido de Desktop en un archivador nuevo escritorio.tar
#tar xvf escritorio.tar Desktop/Floppy.desktop extrae del archivo escritorio.tar el fichero indicado
#tar xvf escritorio.tar extrae todo el contenido del archivo escritorio.tar
#tar tvf escritorio.tar muestra un listado largo del contenido del archivo escritorio.tar
Hay que tener en cuenta, a la hora de extraer el contenido de un archivador (al fichero tar resultante se le suele llamar así), si el archivador se creó conservando el nombre del directorio de origen. Es posible que se sobrescriba el contenido
de los ficheros originales. Ejemplo: Nos situamos en el directorio raíz como root. Si archivamos los ficheros / etc/group y /etc/passwd:
#tar cvf backup.tar /etc/group /etc/passwd estamos conservando los nombres del directorio al que pertenecen. Por lo tanto, para extraer estos ficheros nos
tendremos que situar en el directorio raíz: #cd /
#tar xvf backup.tar /etc/group /etc/passwd Sin embargo, si archivamos los ficheros group y passwd estando en /etc:
19
#tar cvf /backup.tar group passwd no guardamos la ruta, por lo que para extraer los ficheros tendremos que situarnos en ella:
#cd / #cd /etc
#tar xvf /backup.tar group passwd gzip/gunzip Al contrario que tar que agrupa varios ficheros en uno, gzip comprime un único fichero con lo que la
información se mantiene pero se reduce el tamaño del mismo. El uso de gzip es muy sencillo:
gzip fichero con lo que se comprime fichero (que es borrado) y se crea un fichero con nombre fichero.gz.
La opción más común es: -1 a –9 grado de compresión, mínimo y máximo respectivamente.
-d descomprimir el fichero .gz Si lo que se desea es descomprimir un fichero se emplea entonces:
gzip –d fichero.gz recuperando el fichero inicial.
Otra posibilidad sería utilizar el comando gunzip para la descompresión, de la siguiente forma: gunzip fichero.gz
Como se ha comentado al principio es típico emplear tar y gzip de forma consecutiva, para obtener ficheros con extensión tar.gz o tgz que contienen varios ficheros de forma comprimida (similar a un fichero zip). El comando tar incluye la opción z
para estos ficheros de forma que para extraer los ficheros que contiene: tar –zxf fichero.tar.gz
9.6. Cambio de modo de los ficheros: comandos chmod, chown y chgrp Cada usuario es dueño de su directorio personal y será dueño también de los archivos que incluya en él.
Un usuario en Linux podrá configurar permisos en sus archivos. Por ello, distinguiremos por un lado tres categorías de usuarios, y por otro los tipos de permisos que cada uno de ellos puede tener sobre un archivo y/o directorio.
Categorías de usuarios • Dueño del archivo (u).
• Grupo dueño (g), formado por todos los usuarios que son miembros de un grupo asociado al archivo. • Resto de usuarios (o), todos los usuarios que no son ni el dueño ni miembros del grupo dueño.
Tipos de permisos • Lectura (r de Read, leer): para un archivo permite leer su contenido, para un directorio permite que se muestren los
archivos que contiene. • Escritura (w de Write, escribir): para un archivo permite que se modifique su contenido, para un directorio permite
agregar y quitar archivos. • Ejecución (x de eXecute, ejecutar): para un archivo permite su ejecución, para un directorio permite que el usuario lo
recorra (que entre y pase por él) – si no tiene permiso de lectura, aunque pueda entrar no podrá ver el contenido. Cuando ejecutamos el comando ls –l, podemos ver la configuración de permisos de los
archivos: • El primer carácter indica el tipo de archivo: “d” si es directorio, “-“ si es un archivo regular, “l” si es un enlace simbólico. • Los siguientes nueve caracteres indican los permisos para el dueño, el grupo dueño y otros (rwxrwxrwx); si aparece un
guión, indica que el permiso correspondiente no está habilitado. • El siguiente número indica el número de vínculos.
• Nombre del dueño y nombre del grupo dueño. • Tamaño en bytes.
• Fecha de la última modificación. • Nombre del archivo.
chmod Para cambiar los permisos de un fichero se emplea el comando chmod, que tiene el formato siguiente:
20
chmod oper permiso files donde:
quien Indica a quien afecta el permiso que se desea cambiar. Es una combinación cualquiera de las letras u para el usuario, g para el grupo del usuario, o para los otros usuarios, y a para todos los anteriores. Si no se da el quien, el
sistema supone a. oper Indica la operación que se desea hacer con el permiso. Para dar un permiso se pondrá un +, y para quitarlo se
pondrá un -. Si quiero dar exactamente unos permisos, pondremos =. permiso Indica el permiso que se quiere dar o quitar. Será una combinación cualquiera de las letras anteriores : r,w,x,s.
files Nombres de los ficheros cuyos modos de acceso se quieren cambiar. Por ejemplo, para quitar el permiso de lectura a los usuarios de un fichero llamado fichero.txt el comando a utilizar es:
chmod a -r fichero.txt Los permisos de lectura, escritura y ejecución tienen un significado diferente cuando se aplican a directorios y no a
ficheros normales. En el caso de los directorios el permiso r significa la posibilidad de ver el contenido del directorio con el comando ls; el permiso w da la posibilidad de crear y borrar ficheros en ese directorio, y el permiso x autoriza a buscar y
utilizar un fichero concreto. chown Por otra parte, el comando chown se emplea para cambiar de propietario (“change owner”) a un determinado
conjunto de ficheros. Este comando sólo lo puede emplear el actual propietario de los mismos. Los nombres de propietario que admite Linux son los nombres de usuario, que están almacenados en el fichero /etc/passwd. La forma general del
comando chown es la siguiente: chown newowner file1 file2 ...
chgrp Análogamente, el grupo al que pertenece un fichero puede ser cambiado con el comando chgrp, que tiene una forma general similar a la de chown,
chgrp newgroup file1 file2... Los grupos de usuarios están almacenados en el fichero /etc/group.
10. GESTIÓN DE USUARIOS Y GRUPOS 10.1. Introducción
Ya sabemos que Linux es un sistema multiusuario y por lo tanto distingue diferentes usuarios. Cada usuario recibe una cuenta que incluirá toda la información necesaria (nombre de usuario, directorio inicial, etc.).
Además de las cuentas dadas a personas, existen cuentas especiales definidas por el sistema que tienen privilegios especiales. La más importante es la cuenta raíz (administrador), con el nombre de usuario root.
Normalmente, los usuarios normales están restringidos, de forma que los permisos de los ficheros en el sistema están preparados para que no puedan borrar o modificar ficheros en directorios compartidos por todos los usuarios.
Estas restricciones desaparecen para root. El usuario root puede leer, modificar o borrar cualquier fichero en el sistema, cambiar permisos y pertenencias, etc. Por lo tanto, podemos deducir que la gestión de los usuarios solamente puede
realizarla el usuario root.
10.2. Conceptos de gestión de usuarios La información que el sistema mantiene acerca de cada usuario es la siguiente:
• Nombre de usuario: es un identificador único dado a cada usuario del sistema. Es la cadena de caracteres con la que el usuario se identifica al entrar en el sistema. Se pueden utilizar letras, dígitos y los caracteres _ (guión bajo) y . (punto).
Ejemplo: simmd. • User ID o UID: es un número único dado a cada usuario del sistema. Su número debe ser mayor que el del último
usuario creado en el sistema. • Group ID o GID: número identifica el grupo al que pertenece el usuario. El número ha de ser el mismo para todos los usuarios que formen el grupo. Cada usuario puede pertenecer a uno o más grupos definidos por el administrador del
sistema. Aunque la importancia real de las relaciones de grupo es la relativa a los permisos de ficheros. • Clave: el sistema almacena la contraseña del usuario encriptada. El comando passwd nos permitirá asignar y cambiar las
claves de los usuarios.
21
• Nombre completo: puede ser el nombre real del usuario, su número de teléfono, su dirección, etc. Es decir, guarda información real sobre el sistema.
• Directorio inicial: es el directorio al que accede el usuario al entrar en el sistema. Cada usuario debe tener su propio directorio inicial, normalmente situado bajo /home. En principio será el único directorio en el que el usuario podrá guardar
su información personal, programas, etc. Ejemplo: /home/simmd. • Intérprete de inicio: es el intérprete de comandos que arranca para el usuario cuando se conecta al sistema. Ejemplos:
/bin/bash, /bin/tcsh. El fichero que contiene toda esta información relativa a los usuarios es el fichero / etc/passwd. Este fichero contiene una
línea por cada usuario del sistema, y su estructura es la siguiente: nombre:clave encriptada:UID:GID:nombre completo:directorio de inicio:intérprete
Ejemplo: simmd501:501:simmd:/home/simmd:/bin/bash
En el caso de los grupos, la información sobre ellos se encuentra en el fichero /etc/group. Hay varios grupos definidos en el sistema (root, bin, sys, mail, etc) que se utilizan para permisos de ficheros del sistema. Los usuarios no deben
pertenecer a ninguno de estos grupos. El formato de cada línea del fichero /etc/group es el siguiente:
nombre del grupo:clave:GID:otros miembros La clave del grupo no suele utilizarse.
En /etc/passwd cada usuario tiene un GID. Sin embargo, como los usuarios pueden pertenecer a otros grupos, podemos añadir su nombre de usuario en el campo otros miembros (separados unos usuarios de otros por comas) de todos
aquellos grupos no definidos por el sistema a los que queremos que pertenezca. Podemos conocer a qué grupos pertenece un usuario utilizando la orden groups. (El grupo con GID 100 suele ser el grupo
users).
10.3.Añadir nuevos usuarios y borrar usuarios Podemos añadir usuarios al sistema de varias formas. La más engorrosa de todas es hacerlo a mano. Es decir, añadimos al fichero /etc/passwd la línea correspondiente al usuario. Seguidamente le asignamos una clave con la orden passwd y
finalmente establecemos el dueño, grupo dueño y permisos para el directorio /home/usuario que deberemos crear. Además, debemos actualizar /etc/shadow con pwconv.
Sin embargo, existen varias utilidades que nos permiten crear usuarios de una forma mucho más cómoda e intuitiva: a) Servidor Xwindow. Entorno KDE
Iniciamos una sesión como root en el entorno gráfico. Seleccionamos: Menú K Configuración Usuarios Crear usuarios (variará según la distribución)
Aparecerá un cuadro de diálogo con los usuarios normales que hay creados en el sistema y toda la información correspondiente a cada uno de ellos. Desde aquí podremos añadir, borrar y modificar usuarios y grupos. Una vez
realizados los cambios oportunos debemos guardarlos, como si de un documento se tratase. b) Entorno linuxconf:
Desde una sesión en modo consola podemos escribir la orden linuxconf para acceder a un entorno que nos permite gestionar todo Linux, y por lo tanto la gestión de usuarios.
Entramos en Users, User accounts (cuentas de usuario), y podremos ver todas las cuentas de usuario que están definidas en el sistema.
Para añadir una nueva cuenta, con el tabulador seleccionamos el botón Add. Escribiremos el Login, Full name, group, Home directory, User ID, por ejemplo un cero en Must deep # days y siete en
Warm # days before expiration. Con el tabulador nos posicionamos en el botón Accept. Para salir de linuxconf pulsamos el botón Dismiss y Quit.
c) Useradd/Adduser Las órdenes useradd y adduser también nos permiten añadir nuevas cuentas de usuario desde el modo consola. Podemos
crear un usuario con las características por defecto: #useradd usuario
22
#adduser usuario Habremos creado un usuario sin contraseña. Para habilitar su cuenta comprobamos si en el campo clave de los ficheros
/etc/passwd y /etc/shadow existen signos de admiración cerrada ( ! ), en ese caso debemos borrarlos. Posteriormente establecemos una contraseña si lo deseamos.
Si queremos crear un usuario a nuestra medida utilizaremos la siguiente sintaxis: #useradd/adduser –r -p -u -g -c -d -s
Lo único que nos quedará por hacer será crear el directorio /home del usuario y establecer los permisos pertinentes. Para borrar un usuario desde el modo consola:
#userdel [-r] usuario Si utilizamos la opción –r también eliminaremos el directorio home del usuario o directorio inicial.
Una forma de deshabilitar una cuenta de usuario sin tener que borrarla es escribir ! en el campo clave del usuario en el fichero /etc/shadow o /etc/passwd.
10.4. Otras órdenes para la gestión de usuarios y grupos chfn: permite cambiar el nombre completo del usuario:
#chfn –f groups: muestra todos los grupos a los que pertenece el usuario.
groupadd: permite añadir un nuevo grupo. Sintaxis: #groupadd [-g GID] [-f]
-f obliga al sistema a informar si se producen errores (por ejemplo cuando el grupo que queremos crear ya existe). Si no especificamos un GID, el sistema asigna el menor GID que corresponde a este
grupo. groupdel: borra el grupo cuyo nombre indiquemos junto a la orden.
groupmod: permite modificar el GID y el nombre del grupo. Sintaxis: #groupmod [-g ] [-n ]
id: muestra UID y GID del usuario y los grupos a los que pertenece el usuario conectado al sistema. Sintaxis: #id
#id usuario
La Terminal y los primeros comandos en Ubuntu
En sus inicios el sistema operativo Linux ni siquiera disponía de un entorno gráfico sobre el que ir ejecutando aplicaciones en las tradicionales ventanas (como es el caso de los sistemas Windows). Al igual que en los sistemas Unix originales, todas las operaciones se realizaban mediante distintos tipos de shell, también conocidas como consolas o terminales, programas que interpretan la secuencia de comandos y operandos introducidos y actúan en consecuencia. Hasta la aparición de los entornos gráficos para GNU/Linux, la línea de comandos era la forma más directa de “comunicarse” con el ordenador, de interactuar con el equipo y con sus sistema operativo, ¡y la única!. Esto hizo que durante mucho tiempo se considerara que el manejo de las distribuciones GNU/Linux no era accesible a usuarios poco experimentados. Actualmente, todas las distribuciones GNU/Linux cuentan con herramientas gráficas para la gran mayoría de los programas y, por tanto, no se hace imprescindible utilizar obligatoriamente la consola o Terminal ni acudir a la línea de comandos para realizar la mayor parte de las tareas que te propongas en el sistema. Ello ha supuesto un gran avance para que usuarios que, tradicionalmente no se atreverían a utilizar este sistema, se hayan animado a utilizarlo y, en consecuencia, las distribuciones GNU/Linux hayan comenzado a popularizarse.
Ten en cuenta que este origen aún está presente, en gran medida, en el sistema y que los entornos gráficos que puedes apreciar en Linux son sólo una interfaz que facilita y hace mucho más cómodo el acceso a las distintas funciones del
23
sistema operativo de modo que, con unos cuantos clics de ratón, podrás realizar la acción deseada sin tener que escribir nada, pero que, en un segundo plano, están actuando todos esos comandos y operandos (que no necesitas, de momento, conocer) de modo totalmente transparente para ti, sin que ni siquiera te enteres de ello. El usuario administrador
En GNU/Linux las tareas de administración son desempeñadas por el usuario root (en español, raíz). Los usuarios normales, por razones de seguridad, no tienen este tipo de acceso. Sin embargo, Ubuntu, por defecto, tiene desactivada la cuenta de administrador (root) del sistema para incrementar aún más su seguridad. En su lugar, se concede el acceso administrativo a cada usuario individual. La primera cuenta de usuario que hayas creado en tu sistema durante la instalación (es decir, aquella en la que tecleaste tus datos de usuario) tendrá, de forma predeterminada, privilegios de administración.
De esta manera, siempre que necesites realizar tareas administrativas, de gestión del sistema, de instalación o desinstalación de aplicaciones, de ejecución de aplicaciones que requieran privilegios de administrador, se te solicitará que teclees la contraseña del usuario que creaste en la instalación. El sistema la recordará durante unos 15 minutos (característica diseñada para permitirte realizar varias tareas administrativas sin tener que introducir la contraseña constantemente). Después volverás a ser un usuario normal y corriente para prevenir que determinadas aplicaciones maliciosas dañen el sistema o poder así evitar estropear algo de manera accidental.
La consola o Terminal
Una terminal es algo parecido al Símbolo del sistema de Windows XP. También se llama frecuentemente línea de órdenes, línea de comandos o shell. Trabajar en la línea de comandos no es una tarea ni tan complicada ni tan aburrida como se pudiera pensar. En mi caso, por ejemplo, que me inicié en el uso del ordenador en los tiempos del MS-Dos, no difiere demasiado de lo que realizaba en aquellos tiempos… ¡qué tiempos!. No necesitas tener conocimientos especiales para saber cómo utilizar la línea de comandos pues, al fin y al cabo, es un programa como cualquier otro. Lo que en realidad hace el sistema es ejecutar un intérprete de comandos o shell que hace lo que su nombre sugiere: interpretar. Leerá los comandos que vayamos escribiendo, localizará la aplicación apropiada en el sistema y ejecutará dicha aplicación siguiendo las instrucciones que le hayamos escrito nosotros.
En ciertas ocasiones, deberás utilizar obligatoriamente la Terminal (si el entorno gráfico falla, por ejemplo, o deseas realizar ajustes de configuración con un mayor control sobre el sistema) y toda la potencia de la consola de comandos. Además, con ella no sólo podrás acceder a todas las aplicaciones X Window, sino también a un montón de programas que aún no cuentan con interfaz gráfica, y a los comandos de Linux. Los usuarios más avanzados de GNU/Linux encuentran que resulta mucho más cómodo y rápido trabajar en línea de comandos y lo prefieren a utilizar las correspondientes herramientas gráficas. Y aunque cada vez sea menos usada, resulta muy práctico conocer algo de su manejo básico. Prácticamente cualquier cosa que puedas hacer en modo gráfico la podrás hacer también en modo texto. En ciertos casos, será preferible que acudas a las aplicaciones gráficas (escuchar un CD de audio, grabar un DVD de datos, ver una película, utilizar un procesador de textos, etc., por ejemplo). Pero habrá muchas situaciones en las que la consola de comandos será mucho más eficaz, potente y ágil para aprovechar las posibilidades de GNU/Linux.
Lo primero que debes hacer es lanzar o abrir la Consola o Terminal. Iniciar la Consola o Terminal en Ubuntu es muy sencillo. Vete al menú Aplicaciones - Accesorios - Terminal. Una nueva ventana aparece en pantalla en la que observarás un simple menú en la parte superior y un espacio en blanco ocupando toda la parte inferior de la ventana, en el que teclearás los comandos.
24
Su apariencia es muy similar a la del intérprete de comandos de los sistemas Windows. Y, en esencia, el principio es el mismo, aunque las posibilidades en el caso de GNU/Linux son mucho mayores. La forma de “moverse” por ella es parecida a la de MS-DOS, y muchos comandos son también muy similares.
Como observas en la captura de pantalla anterior, una vez que has ingresado en el sistema, la Terminal te ofrece en primera instancia el denominado prompt del intérprete de comandos. Se trata de una cadena de texto que indica que la Terminal se encuentra preparada para recibir órdenes:
edisue@edisue-laptop:~$
Este prompt, aunque viene configurado por defecto, en el formato que se muestra, es personalizable. Apreciarás el nombre del usuario registrado (en este caso, edisue), y el nombre de la máquina (edisue-laptop) acompañado del directorio en el que estamos situados. Estos últimos caracteres de esta cadena son más especiales de lo que podría pensarse:
* El símbolo ~ representa el directorio personal de trabajo, en este caso /home/edisue. * El carácter $ indica que el usuario que está en ese momento manejando la consola es un usuario normal del sistema. * Si el usuario registrado fuera el root, el símbolo sería #, estaríamos entonces ejecutando comandos con privilegios de superusuario. Por esto cuando en cualquier manual o tutorial te digan que teclees una orden tal como #addsuser, significará que esa orden únicamente puede ejecutarse como root.
Algunas consideraciones a la hora de manejar la Consola o Terminal.
1. Recuerda que en Ubuntu, la primera cuenta de usuario que hayas creado en tu sistema durante la instalación (es decir, aquella en la que tecleaste tus datos de usuario) tendrá, de forma predeterminada, privilegios de administración. En muchas ocasiones en las que teclees alguna orden o comando en la Terminal se te solicitará la contraseña de root, tendrás que teclearla y pulsar Intro. 2. Cuando teclees la contraseña, no te extrañes si no ves nada en pantalla, ni siquiera unos asteriscos, no te preocupes, el sistema está atendiendo a lo que escribes. A esta manera de introducir la contraseña se la conoce como “contraseña sin eco” y es la forma predeterminada de registrarse en una consola.
25
3. GNU/Linux es un sistema case sensitive, es decir, sensible a mayúsculas y minúsculas. Tienes que escribir los comandos de una forma concreta, no pudiendo sustituir mayúsculas por minúsculas, o viceversa, porque para el sistema operativo son caracteres distintos. Por eso, cuando “copies” comandos debes escribirlos siempre tal y como aparecen. 4. En general, el formato de los comandos será una palabra (o una orden) seguida de sus argumentos.
Los primeros comandos
No se trata de hacer un manual avanzado sobre comandos ni de describir pomenorizadamente todos y cada uno de los comandos disponibles en GNU/Linux, sino de enumerarte aquellos que te serán útiles para mantener tu sistema en forma y que, además, son comúnmente utilizados en muchas de las tareas habituales del sistema y, sobre todo, mostrarte ejemplos de utilización. Si deseas recabar mayor información siempre podrás buscar información sobre cada comando en particular en Internet o acudir a la ayuda que el propio Terminal te ofrece tecleando el comando man seguido del nombre del comando a utilizar.
Los primeros mandatos que vas a utilizar serán aquellos que se refieren a la gestión de los archivos del sistema. VER DIRECTORIOS: ls
La orden ls (LiSta) muestra el listado de archivos del directorio en el que estás.
Es un comando similar al “dir” de MS-DOS. Al ejecutarlo se muestra el contenido de un directorio. En el caso de la siguiente captura de pantalla, el directorio personal del usuario /home/edisue/.
En mi carpeta personal se incluyen diferentes archivos baccara.mp3, Unidad_4.pdf… una larga lista de directorios propios Documentos Escritorio, Jclic, PDF…, un enlace a un directorio con permisos de sólo lectura Examples o un archivo comprimido tar, identificados, como ves, por códigos de color.
Como en la inmensa mayoría de comandos disponibles, ls admite ciertos modificadores que permiten ajustar su comportamiento y le ofrece mayores posibilidades.
ls -a
Ofrece información mucho más completa al listar todos los archivos, incluyendo los archivos ocultos
26
Como ves, la lista de archivos es mucho mayor y apreciarás que incluye los archivos ocultos, esos que en la lista empiezan por un punto.
ls -l
Completísimo listado de archivos en formato largo, con información adicional sobre los archivos, como el tamaño o la fecha de creación de cada archivo.
El primero de los campos de la lista está compuesto por una cadena de texto formada por un grupo de diez letras que te suministra datos acerca de los permisos del archivo. Por ejemplo:
drwxr-xr-x referente a Documentos
La primera letra determina qué tipo de fichero es. Si se muestra una d se trata de un directorio. Si, en cambio, aparece un guión es un archivo normal, ya sea de texto, imagen o binario (-rw-r-r– de baccara.mid); la letra l identifica a los enlaces (como es el caso de Examples), etc.
Los nueve caracteres restantes indican los permisos asociados a dichos archivos o directorios y se agrupan en tres grupos de tres letras. Para comprender a qué corresponde cada una, conviene recordar que en Linux cada usuario pertenece a cierto grupo, lo que permite gestionar privilegios de grupo más fácilmente, algo similar a lo que ocurre en Windows y otros sistemas operativos. Así, el primer grupo de tres letras corresponde a los permisos para el propietario del fichero (el que lo ha creado), el segundo a los de todo el grupo del usuario, y el tercero al resto de usuarios que tienen acceso a nuestra máquina. Y cada una de las letras se refiere a los tipos de permiso con que cuentan cada uno de ellos (la secuencia siempre es la misma): r de lectura, w de escritura y x de ejecución. Si el fichero dispone de alguno de esos permisos para cualquiera de los grupos de tres caracteres, aparecerán esas letras. Si no, en su lugar aparecen guiones.
27
En resumen, siguiendo el ejemplo drwxr-xr-x referente a Documentos
* Es un directorio: primera letra d. * Las tres primeras letras rwx indican que el usuario edisue (es decir, yo misma) tiene derecho a leer, modificar y ejecutar los archivos en él contenidos. * Las tres siguientes, r-x, significan que los usuarios que pertenezcan al mismo grupo que “edisue” podrán leer el fichero y ejecutarlo, pero no modificarlo. * Por último, las tres del final, r-x, significan que los demás usuarios podrán leer el fichero y ejecutarlo, pero no modificarlo.
CAMBIAR DE DIRECTORIO: cd (/directorio/ubicación)
La orden cd (CambiarDirectorio/ChangeDirectory) se utiliza para pasar del directorio actual a cualquier otro directorio que especifiques.
Este comando es casi idéntico al de MS-DOS, y sirve para cambiar de directorio. Si lo escribes seguido de una barra, te conducirá al directorio raíz: cd /
Recuerda que, al iniciar la Terminal, se te coloca automáticamente en el directorio home. Para que puedas cambiar a otro directorio, tienes que ejecutar el comando cd seguido por el directorio al cual deseas dirigirte como argumento. Entonces, el directorio nuevo se convierte en el directorio actual. Al nombrar el directorio de destino puedes utilizar rutas absolutas o rutas relativas. Las rutas absolutas son aquellas que empiezan desde el root o raíz representado por la barra / y define la ruta completa a su destino. Por ejemplo:
cd /home/edisue/Música
es un comando que te llevará empezando desde el root /, pasando por el directorio home y edisue, al último directorio Música.
28
En cambio, una ruta relativa empieza desde el directorio de trabajo actual y progresa por la ruta hasta llegar al final de la ruta. Así, en el ejemplo anterior, como nos encontramos en el directorio /home/edisue sólo necesitaremos teclear cd Música para llegar a este subdirectorio. Pero, si el directorio actual es el directorio /home/edisue/Imágenes, recibiremos un error indicando que el directorio Música no existe al utilizar el comando anterior. Este error, muy común por cierto, puede evitarse verificando primero en qué directorio te encuentras y/o crees estar. Para hacer esto, usa el comando pwd (Present Working Directory), sin usar ningún argumento. La salida de este comando es la ruta absoluta a pantalla de tu directorio de trabajo actual.
Para volver al directorio /home tienes dos opciones:
* Utilizar el comando cd tecleando la ruta absoluta al directorio home. Ejemplo: cd /home/edisue * O bien, usar el comando cd sin ningún argumento.
cd ..
Te llevará al directorio padre de aquél en el que estás situado (así irás subiendo sucesivamente de directorio en directorio, por ejemplo). Observa que los dos puntos deben ir separados del comando cd con un espacio, algo que no es obligatorio en Windows.
Si intentas entrar en un directorio o carpeta para el que no tienes permiso, el sistema te negará el acceso a dicho directorio. CREAR DIRECTORIOS: mkdir (nombre del directorio)
La orden mkdir (del inglés MaKeDIRectory) se utiliza para crear directorios, así de simple. El directorio o carpeta adquirirá el nombre que tecleemos a continuación del comando.
mkdir nuevodirectorio
Por ejemplo: Inicia la Terminal Teclea mkdir nuevodirectorio y pulsa la tecla ENTER Observa en modo gráfico cómo se ha generado una nueva carpeta en tu carpeta personal llamada nuevodirectorio
Resulta, por tanto, el mismo efecto que si utilizas la opción del menú contextual del botón derecho del ratón sobre tu directorio personal, pulsas sobre Crear nueva carpeta y tecleas el nombre nuevodirectorio.
Nota. Recuerda siempre comprobar en qué directorio te encuentras en cada momento, para crear nuevos subdirectorios. Puedes utilizar también rutas absolutas o rutas relativas.
Por ejemplo, los siguientes comandos
edisue@edisue-laptop:~$ mkdir /home/edisue/nuevacarpeta edisue@edisue-laptop:~$ mkdir nuevacarpeta
producen los mismos efectos: crear una carpeta en el directorio personal denominada nuevacarpeta.
Con la opción -p también creará los directorios padre, si éstos no existen. Por ejemplo, con la orden
29
mkdir -p audio/MP3/maná
se creará el directorio maná dentro de MP3, que a su vez será un subdirectorio de audio, creando primero éste si no existe, y el siguiente…
Nota: si no utilizas la opción -p el directorio hijo sólo se creará si ya tienes creado en el sistema el directorio padre. En caso de que este no exista, la Terminal te lo indicará con un mensaje indicándote que no existe el fichero o directorio. ELIMINAR ARCHIVOS/DIRECTORIOS: rm (nombre de archivo o directorio)
La orden rm (del inglés ReMove) se utiliza para borrar o eliminar archivos o directorios.
rm baccara.ogg
Sin añadir ningún modificador, rm borra o elimina archivos. En primer lugar, tendrás que “colocarte” en el directorio en el que se encuentra el archivo a borrar. Por ejemplo, utiliza el mandato cd para entrar en el directorio en el que se encuentra, en este caso es un archivo de audio situado en mi directorio personal y, a continuación, teclea la orden anterior.
Nota. Ten mucho cuidado cuando utilices este mandato, eliminar - borrar siempre puede ocasionar pérdidas de información importante si no sabes lo que estás haciendo.
rm -r “nombre de directorio” o rmdir “nombre del directorio”
En este caso la orden borra o elimina directorios. En primer lugar, tendrás que “colocarte” fuera del directorio que deseas eliminar y, a continuación, teclear la orden correspondiente. El directorio debe estar vacío para ser eliminado; en caso contrario, el sistema te indicará que no lo está y no te permitirá eliminarlo.
edisue@edisue-laptop:~$ rm -r prueba
Con este comando se eliminará el directorio prueba (y todo su contenido) presente en mi directorio personal.
Nota. Algunos sistemas piden confirmación a la hora de eliminar archivos o directorios, por lo que si quieres evitar tener que ir respondiendo si a todas las peticiones, puedes añadir el modificador -f que fuerza el borrado. COPIAR ARCHIVOS/DIRECTORIOS: cp (nombre de archivo o directorio) (a directorio o archivo)
La orden cp (CoPiar) copia tanto archivos como directorios. La orden sin ningún modificador añadido copia los archivos que especifiques. Si tecleas la orden, seguida del modificador “r” realizará la copia de cualquier directorio que especifiques.
cp origen destino
Este comando realiza una copia del fichero, ficheros o directorios (o cualquier combinación) desde el origen hasta el destino. Simplemente tienes que darte cuenta de que la última ruta indicada es la del destino. Con un ejemplo lo entenderás mejor. Imagina el siguiente supuesto: tienes en tu carpeta personal un archivo linux.txt que deseas copiar al subdirectorio o subcarpeta linux de la carpeta PDF que está en tu directorio personal. El comando que deberías utilizar es el siguiente:
edisue@edisue-laptop:~$ cp linux.txt /home/edisue/PDF/linux
30
El mismo efecto (copiar el archivo linux.txt en esta ubicación) lo obtendrías tecleando la ruta relativa:
edisue@edisue-laptop:~$ cp linux.txt PDF/linux
Nota. El comando cp realiza una copia del archivo (no lo elimina ni borra de su ubicación original) en el directorio que especifiques.
cp archivo1 /home/edisue/Documentos
Realiza la copia del archivo1 presente en el directorio en el que actualmente estás al directorio Documentos existente en tu directorio personal: el comando realiza una copia exacta del archivo sin borrar el archivo de su ubicación original.
cp -r “nombredeldirectorio” /home/edisue/PDF
Ampliando la tarea imagina ahora que quieres copiar todo el directorio Documentos de tu carpeta personal en el directorio PDF. Para copiar un directorio completo debes utilizar el modificador -r. Por ejemplo, el mandato
edisue@edisue-laptop:~$ cp -r Documentos PDF
copia el directorio Documentos presente en mi carpeta personal en el interior del directorio PDF de mi carpeta personal. CAMBIAR EL NOMBRE A ARCHIVOS Y DIRECTORIOS: mv (nombre de archivo o directorio)
Se trata de un comando de funcionamiento muy similar al anterior. La orden mv (MoVer) mueve o cambia el nombre del archivo o directorio especificado. Utiliza este mandato para mover archivos entre directorios o directorios entre sí, o renombrar archivos y directorios. ¡Pero ten mucho cuidado al usarlo para evitar contratiempos y pérdidas de información!.
Por ejemplo, el comando
mv /home/edisue/PDF/linux Documentos
mueve el directorio linux que se localiza en PDF de mi carpeta personal al directorio Documentos de mi carpeta personal. BUSCAR ARCHIVOS/DIRECTORIOS: locate (nombre del archivo o directorio)
La orden locate buscará en tu equipo el archivo cuyo nombre coincida con el nombre del archivo que especifiques. Esta orden se ejecuta automáticamente una vez al día, si dejas tu equipo encendido. Puedes utilizar comodines para buscar uno o más archivos, como «*» (para todos los archivos) o «?» (que coincide con cualquier carácter).
Si has realizado todas las tareas anteriores, habrás comprobado qué eficazmente resuelve Ubuntu sus tareas de gestión de ficheros y directorios a través de la consola de comandos y aunque el entorno gráfico en GNU/Linux te permita realizar todas ellas con simples clics de ratón puede ser que acabes acostumbrándote a esta diferente manera de interactuar con el sistema. ¡No desprecies su funcionalidad, en algunos momentos la Terminal se te hará imprescindible!.
La Terminal y los primeros comandos en Ubuntu
31
En sus inicios el sistema operativo Linux ni siquiera disponía de un entorno gráfico sobre el que ir ejecutando aplicaciones en las tradicionales ventanas (como es el caso de los sistemas Windows). Al igual que en los sistemas Unix originales, todas las operaciones se realizaban mediante distintos tipos de shell, también conocidas como consolas o terminales, programas que interpretan la secuencia de comandos y operandos introducidos y actúan en consecuencia. Hasta la aparición de los entornos gráficos para GNU/Linux, la línea de comandos era la forma más directa de “comunicarse” con el ordenador, de interactuar con el equipo y con sus sistema operativo, ¡y la única!. Esto hizo que durante mucho tiempo se considerara que el manejo de las distribuciones GNU/Linux no era accesible a usuarios poco experimentados. Actualmente, todas las distribuciones GNU/Linux cuentan con herramientas gráficas para la gran mayoría de los programas y, por tanto, no se hace imprescindible utilizar obligatoriamente la consola o Terminal ni acudir a la línea de comandos para realizar la mayor parte de las tareas que te propongas en el sistema. Ello ha supuesto un gran avance para que usuarios que, tradicionalmente no se atreverían a utilizar este sistema, se hayan animado a utilizarlo y, en consecuencia, las distribuciones GNU/Linux hayan comenzado a popularizarse.
Ten en cuenta que este origen aún está presente, en gran medida, en el sistema y que los entornos gráficos que puedes apreciar en Linux son sólo una interfaz que facilita y hace mucho más cómodo el acceso a las distintas funciones del sistema operativo de modo que, con unos cuantos clics de ratón, podrás realizar la acción deseada sin tener que escribir nada, pero que, en un segundo plano, están actuando todos esos comandos y operandos (que no necesitas, de momento, conocer) de modo totalmente transparente para ti, sin que ni siquiera te enteres de ello. El usuario administrador
En GNU/Linux las tareas de administración son desempeñadas por el usuario root (en español, raíz). Los usuarios normales, por razones de seguridad, no tienen este tipo de acceso. Sin embargo, Ubuntu, por defecto, tiene desactivada la cuenta de administrador (root) del sistema para incrementar aún más su seguridad. En su lugar, se concede el acceso administrativo a cada usuario individual. La primera cuenta de usuario que hayas creado en tu sistema durante la instalación (es decir, aquella en la que tecleaste tus datos de usuario) tendrá, de forma predeterminada, privilegios de administración.
De esta manera, siempre que necesites realizar tareas administrativas, de gestión del sistema, de instalación o desinstalación de aplicaciones, de ejecución de aplicaciones que requieran privilegios de administrador, se te solicitará que teclees la contraseña del usuario que creaste en la instalación. El sistema la recordará durante unos 15 minutos (característica diseñada para permitirte realizar varias tareas administrativas sin tener que introducir la contraseña constantemente). Después volverás a ser un usuario normal y corriente para prevenir que determinadas aplicaciones maliciosas dañen el sistema o poder así evitar estropear algo de manera accidental.
La consola o Terminal
Una terminal es algo parecido al Símbolo del sistema de Windows XP. También se llama frecuentemente línea de órdenes, línea de comandos o shell. Trabajar en la línea de comandos no es una tarea ni tan complicada ni tan aburrida como se pudiera pensar. En mi caso, por ejemplo, que me inicié en el uso del ordenador en los tiempos del MS-Dos, no difiere demasiado de lo que realizaba en aquellos tiempos… ¡qué tiempos!. No necesitas tener conocimientos especiales para saber cómo utilizar la línea de comandos pues, al fin y al cabo, es un programa como cualquier otro. Lo que en realidad hace el sistema es ejecutar un intérprete de comandos o shell que hace lo que su nombre sugiere: interpretar. Leerá los comandos que vayamos escribiendo, localizará la aplicación apropiada en el sistema y ejecutará dicha aplicación siguiendo las instrucciones que le hayamos escrito nosotros.
En ciertas ocasiones, deberás utilizar obligatoriamente la Terminal (si el entorno gráfico falla, por ejemplo, o deseas realizar ajustes de configuración con un mayor control sobre el sistema) y toda la potencia de la consola de comandos. Además, con ella no sólo podrás acceder a todas las aplicaciones X Window, sino también a un montón de programas que
32
aún no cuentan con interfaz gráfica, y a los comandos de Linux. Los usuarios más avanzados de GNU/Linux encuentran que resulta mucho más cómodo y rápido trabajar en línea de comandos y lo prefieren a utilizar las correspondientes herramientas gráficas. Y aunque cada vez sea menos usada, resulta muy práctico conocer algo de su manejo básico. Prácticamente cualquier cosa que puedas hacer en modo gráfico la podrás hacer también en modo texto. En ciertos casos, será preferible que acudas a las aplicaciones gráficas (escuchar un CD de audio, grabar un DVD de datos, ver una película, utilizar un procesador de textos, etc., por ejemplo). Pero habrá muchas situaciones en las que la consola de comandos será mucho más eficaz, potente y ágil para aprovechar las posibilidades de GNU/Linux.
Lo primero que debes hacer es lanzar o abrir la Consola o Terminal. Iniciar la Consola o Terminal en Ubuntu es muy sencillo. Vete al menú Aplicaciones - Accesorios - Terminal. Una nueva ventana aparece en pantalla en la que observarás un simple menú en la parte superior y un espacio en blanco ocupando toda la parte inferior de la ventana, en el que teclearás los comandos.
Su apariencia es muy similar a la del intérprete de comandos de los sistemas Windows. Y, en esencia, el principio es el mismo, aunque las posibilidades en el caso de GNU/Linux son mucho mayores. La forma de “moverse” por ella es parecida a la de MS-DOS, y muchos comandos son también muy similares.
Como observas en la captura de pantalla anterior, una vez que has ingresado en el sistema, la Terminal te ofrece en primera instancia el denominado prompt del intérprete de comandos. Se trata de una cadena de texto que indica que la Terminal se encuentra preparada para recibir órdenes:
edisue@edisue-laptop:~$
Este prompt, aunque viene configurado por defecto, en el formato que se muestra, es personalizable. Apreciarás el nombre del usuario registrado (en este caso, edisue), y el nombre de la máquina (edisue-laptop) acompañado del directorio en el que estamos situados. Estos últimos caracteres de esta cadena son más especiales de lo que podría pensarse:
* El símbolo ~ representa el directorio personal de trabajo, en este caso /home/edisue. * El carácter $ indica que el usuario que está en ese momento manejando la consola es un usuario normal del sistema.
33
* Si el usuario registrado fuera el root, el símbolo sería #, estaríamos entonces ejecutando comandos con privilegios de superusuario. Por esto cuando en cualquier manual o tutorial te digan que teclees una orden tal como #addsuser, significará que esa orden únicamente puede ejecutarse como root.
Algunas consideraciones a la hora de manejar la Consola o Terminal.
1. Recuerda que en Ubuntu, la primera cuenta de usuario que hayas creado en tu sistema durante la instalación (es decir, aquella en la que tecleaste tus datos de usuario) tendrá, de forma predeterminada, privilegios de administración. En muchas ocasiones en las que teclees alguna orden o comando en la Terminal se te solicitará la contraseña de root, tendrás que teclearla y pulsar Intro. 2. Cuando teclees la contraseña, no te extrañes si no ves nada en pantalla, ni siquiera unos asteriscos, no te preocupes, el sistema está atendiendo a lo que escribes. A esta manera de introducir la contraseña se la conoce como “contraseña sin eco” y es la forma predeterminada de registrarse en una consola. 3. GNU/Linux es un sistema case sensitive, es decir, sensible a mayúsculas y minúsculas. Tienes que escribir los comandos de una forma concreta, no pudiendo sustituir mayúsculas por minúsculas, o viceversa, porque para el sistema operativo son caracteres distintos. Por eso, cuando “copies” comandos debes escribirlos siempre tal y como aparecen. 4. En general, el formato de los comandos será una palabra (o una orden) seguida de sus argumentos.
Los primeros comandos
No se trata de hacer un manual avanzado sobre comandos ni de describir pomenorizadamente todos y cada uno de los comandos disponibles en GNU/Linux, sino de enumerarte aquellos que te serán útiles para mantener tu sistema en forma y que, además, son comúnmente utilizados en muchas de las tareas habituales del sistema y, sobre todo, mostrarte ejemplos de utilización. Si deseas recabar mayor información siempre podrás buscar información sobre cada comando en particular en Internet o acudir a la ayuda que el propio Terminal te ofrece tecleando el comando man seguido del nombre del comando a utilizar.
Los primeros mandatos que vas a utilizar serán aquellos que se refieren a la gestión de los archivos del sistema. VER DIRECTORIOS: ls
La orden ls (LiSta) muestra el listado de archivos del directorio en el que estás.
Es un comando similar al “dir” de MS-DOS. Al ejecutarlo se muestra el contenido de un directorio. En el caso de la siguiente captura de pantalla, el directorio personal del usuario /home/edisue/.
En mi carpeta personal se incluyen diferentes archivos baccara.mp3, Unidad_4.pdf… una larga lista de directorios propios
34
Documentos Escritorio, Jclic, PDF…, un enlace a un directorio con permisos de sólo lectura Examples o un archivo comprimido tar, identificados, como ves, por códigos de color.
Como en la inmensa mayoría de comandos disponibles, ls admite ciertos modificadores que permiten ajustar su comportamiento y le ofrece mayores posibilidades.
ls -a
Ofrece información mucho más completa al listar todos los archivos, incluyendo los archivos ocultos
Como ves, la lista de archivos es mucho mayor y apreciarás que incluye los archivos ocultos, esos que en la lista empiezan por un punto.
ls -l
Completísimo listado de archivos en formato largo, con información adicional sobre los archivos, como el tamaño o la fecha de creación de cada archivo.
El primero de los campos de la lista está compuesto por una cadena de texto formada por un grupo de diez letras que te suministra datos acerca de los permisos del archivo. Por ejemplo:
drwxr-xr-x referente a Documentos
La primera letra determina qué tipo de fichero es. Si se muestra una d se trata de un directorio. Si, en cambio, aparece un guión es un archivo normal, ya sea de texto, imagen o binario (-rw-r-r– de baccara.mid); la letra l identifica a los enlaces
35
(como es el caso de Examples), etc.
Los nueve caracteres restantes indican los permisos asociados a dichos archivos o directorios y se agrupan en tres grupos de tres letras. Para comprender a qué corresponde cada una, conviene recordar que en Linux cada usuario pertenece a cierto grupo, lo que permite gestionar privilegios de grupo más fácilmente, algo similar a lo que ocurre en Windows y otros sistemas operativos. Así, el primer grupo de tres letras corresponde a los permisos para el propietario del fichero (el que lo ha creado), el segundo a los de todo el grupo del usuario, y el tercero al resto de usuarios que tienen acceso a nuestra máquina. Y cada una de las letras se refiere a los tipos de permiso con que cuentan cada uno de ellos (la secuencia siempre es la misma): r de lectura, w de escritura y x de ejecución. Si el fichero dispone de alguno de esos permisos para cualquiera de los grupos de tres caracteres, aparecerán esas letras. Si no, en su lugar aparecen guiones.
En resumen, siguiendo el ejemplo drwxr-xr-x referente a Documentos
* Es un directorio: primera letra d. * Las tres primeras letras rwx indican que el usuario edisue (es decir, yo misma) tiene derecho a leer, modificar y ejecutar los archivos en él contenidos. * Las tres siguientes, r-x, significan que los usuarios que pertenezcan al mismo grupo que “edisue” podrán leer el fichero y ejecutarlo, pero no modificarlo. * Por último, las tres del final, r-x, significan que los demás usuarios podrán leer el fichero y ejecutarlo, pero no modificarlo.
CAMBIAR DE DIRECTORIO: cd (/directorio/ubicación)
La orden cd (CambiarDirectorio/ChangeDirectory) se utiliza para pasar del directorio actual a cualquier otro directorio que especifiques.
Este comando es casi idéntico al de MS-DOS, y sirve para cambiar de directorio. Si lo escribes seguido de una barra, te conducirá al directorio raíz: cd /
Recuerda que, al iniciar la Terminal, se te coloca automáticamente en el directorio home. Para que puedas cambiar a otro directorio, tienes que ejecutar el comando cd seguido por el directorio al cual deseas dirigirte como argumento. Entonces, el directorio nuevo se convierte en el directorio actual. Al nombrar el directorio de destino puedes utilizar rutas absolutas o rutas relativas. Las rutas absolutas son aquellas que empiezan desde el root o raíz representado por la barra / y define la ruta completa a su destino. Por ejemplo:
cd /home/edisue/Música
es un comando que te llevará empezando desde el root /, pasando por el directorio home y edisue, al último directorio Música.
36
En cambio, una ruta relativa empieza desde el directorio de trabajo actual y progresa por la ruta hasta llegar al final de la ruta. Así, en el ejemplo anterior, como nos encontramos en el directorio /home/edisue sólo necesitaremos teclear cd Música para llegar a este subdirectorio. Pero, si el directorio actual es el directorio /home/edisue/Imágenes, recibiremos un error indicando que el directorio Música no existe al utilizar el comando anterior. Este error, muy común por cierto, puede evitarse verificando primero en qué directorio te encuentras y/o crees estar. Para hacer esto, usa el comando pwd (Present Working Directory), sin usar ningún argumento. La salida de este comando es la ruta absoluta a pantalla de tu directorio de trabajo actual.
Para volver al directorio /home tienes dos opciones:
* Utilizar el comando cd tecleando la ruta absoluta al directorio home. Ejemplo: cd /home/edisue * O bien, usar el comando cd sin ningún argumento.
cd ..
Te llevará al directorio padre de aquél en el que estás situado (así irás subiendo sucesivamente de directorio en directorio, por ejemplo). Observa que los dos puntos deben ir separados del comando cd con un espacio, algo que no es obligatorio en Windows.
Si intentas entrar en un directorio o carpeta para el que no tienes permiso, el sistema te negará el acceso a dicho directorio. CREAR DIRECTORIOS: mkdir (nombre del directorio)
La orden mkdir (del inglés MaKeDIRectory) se utiliza para crear directorios, así de simple. El directorio o carpeta adquirirá el nombre que tecleemos a continuación del comando.
mkdir nuevodirectorio
Por ejemplo: Inicia la Terminal Teclea mkdir nuevodirectorio y pulsa la tecla ENTER Observa en modo gráfico cómo se ha generado una nueva carpeta en tu carpeta personal llamada nuevodirectorio
Resulta, por tanto, el mismo efecto que si utilizas la opción del menú contextual del botón derecho del ratón sobre tu directorio personal, pulsas sobre Crear nueva carpeta y tecleas el nombre nuevodirectorio.
Nota. Recuerda siempre comprobar en qué directorio te encuentras en cada momento, para crear nuevos subdirectorios. Puedes utilizar también rutas absolutas o rutas relativas.
37
Por ejemplo, los siguientes comandos
edisue@edisue-laptop:~$ mkdir /home/edisue/nuevacarpeta edisue@edisue-laptop:~$ mkdir nuevacarpeta
producen los mismos efectos: crear una carpeta en el directorio personal denominada nuevacarpeta.
Con la opción -p también creará los directorios padre, si éstos no existen. Por ejemplo, con la orden
mkdir -p audio/MP3/maná
se creará el directorio maná dentro de MP3, que a su vez será un subdirectorio de audio, creando primero éste si no existe, y el siguiente…
Nota: si no utilizas la opción -p el directorio hijo sólo se creará si ya tienes creado en el sistema el directorio padre. En caso de que este no exista, la Terminal te lo indicará con un mensaje indicándote que no existe el fichero o directorio. ELIMINAR ARCHIVOS/DIRECTORIOS: rm (nombre de archivo o directorio)
La orden rm (del inglés ReMove) se utiliza para borrar o eliminar archivos o directorios.
rm baccara.ogg
Sin añadir ningún modificador, rm borra o elimina archivos. En primer lugar, tendrás que “colocarte” en el directorio en el que se encuentra el archivo a borrar. Por ejemplo, utiliza el mandato cd para entrar en el directorio en el que se encuentra, en este caso es un archivo de audio situado en mi directorio personal y, a continuación, teclea la orden anterior.
Nota. Ten mucho cuidado cuando utilices este mandato, eliminar - borrar siempre puede ocasionar pérdidas de información importante si no sabes lo que estás haciendo.
rm -r “nombre de directorio” o rmdir “nombre del directorio”
En este caso la orden borra o elimina directorios. En primer lugar, tendrás que “colocarte” fuera del directorio que deseas eliminar y, a continuación, teclear la orden correspondiente. El directorio debe estar vacío para ser eliminado; en caso contrario, el sistema te indicará que no lo está y no te permitirá eliminarlo.
edisue@edisue-laptop:~$ rm -r prueba
Con este comando se eliminará el directorio prueba (y todo su contenido) presente en mi directorio personal.
Nota. Algunos sistemas piden confirmación a la hora de eliminar archivos o directorios, por lo que si quieres evitar tener que ir respondiendo si a todas las peticiones, puedes añadir el modificador -f que fuerza el borrado. COPIAR ARCHIVOS/DIRECTORIOS: cp (nombre de archivo o directorio) (a directorio o archivo)
La orden cp (CoPiar) copia tanto archivos como directorios. La orden sin ningún modificador añadido copia los archivos que especifiques. Si tecleas la orden, seguida del modificador “r” realizará la copia de cualquier directorio que especifiques.
38
cp origen destino
Este comando realiza una copia del fichero, ficheros o directorios (o cualquier combinación) desde el origen hasta el destino. Simplemente tienes que darte cuenta de que la última ruta indicada es la del destino. Con un ejemplo lo entenderás mejor. Imagina el siguiente supuesto: tienes en tu carpeta personal un archivo linux.txt que deseas copiar al subdirectorio o subcarpeta linux de la carpeta PDF que está en tu directorio personal. El comando que deberías utilizar es el siguiente:
edisue@edisue-laptop:~$ cp linux.txt /home/edisue/PDF/linux
El mismo efecto (copiar el archivo linux.txt en esta ubicación) lo obtendrías tecleando la ruta relativa:
edisue@edisue-laptop:~$ cp linux.txt PDF/linux
Nota. El comando cp realiza una copia del archivo (no lo elimina ni borra de su ubicación original) en el directorio que especifiques.
cp archivo1 /home/edisue/Documentos
Realiza la copia del archivo1 presente en el directorio en el que actualmente estás al directorio Documentos existente en tu directorio personal: el comando realiza una copia exacta del archivo sin borrar el archivo de su ubicación original.
cp -r “nombredeldirectorio” /home/edisue/PDF
Ampliando la tarea imagina ahora que quieres copiar todo el directorio Documentos de tu carpeta personal en el directorio PDF. Para copiar un directorio completo debes utilizar el modificador -r. Por ejemplo, el mandato
edisue@edisue-laptop:~$ cp -r Documentos PDF
copia el directorio Documentos presente en mi carpeta personal en el interior del directorio PDF de mi carpeta personal. CAMBIAR EL NOMBRE A ARCHIVOS Y DIRECTORIOS: mv (nombre de archivo o directorio)
Se trata de un comando de funcionamiento muy similar al anterior. La orden mv (MoVer) mueve o cambia el nombre del archivo o directorio especificado. Utiliza este mandato para mover archivos entre directorios o directorios entre sí, o renombrar archivos y directorios. ¡Pero ten mucho cuidado al usarlo para evitar contratiempos y pérdidas de información!.
Por ejemplo, el comando
mv /home/edisue/PDF/linux Documentos
mueve el directorio linux que se localiza en PDF de mi carpeta personal al directorio Documentos de mi carpeta personal. BUSCAR ARCHIVOS/DIRECTORIOS: locate (nombre del archivo o directorio)
La orden locate buscará en tu equipo el archivo cuyo nombre coincida con el nombre del archivo que especifiques. Esta orden se ejecuta automáticamente una vez al día, si dejas tu equipo encendido. Puedes utilizar comodines para buscar uno o más archivos, como «*» (para todos los archivos) o «?» (que coincide con cualquier carácter).
Si has realizado todas las tareas anteriores, habrás comprobado qué eficazmente resuelve Ubuntu sus tareas de gestión
39
de ficheros y directorios a través de la consola de comandos y aunque el entorno gráfico en GNU/Linux te permita realizar todas ellas con simples clics de ratón puede ser que acabes acostumbrándote a esta diferente manera de interactuar con el sistema. ¡No desprecies su funcionalidad, en algunos momentos la Terminal se te hará imprescindible!.
COMANDOS BASICOS DE LINUX
Una de las formas de utilizar Linux es el llamado Modo consola, con una serie de comandos específicos de Linux.
Este modo es bastante utilizado, por lo que es conveniente saber cuales son sus principales comandos y qué es lo que realizan.
Vamos a ver en este tutorial una serie de comandos básicos generales de este modo consola de Linux.
Estos comandos están divididos en varios apartados para una más fácil identificación:
Para el manejo de archivos:
cd - sirve para cambiar el directorio compress - con este comando se comprimen archivos en formato .Z cp - hace una copia de un archivo chmod - cambia los permisos de un archivo o directorio chown - cambia el propietario del archivo o directorio df - muestra el espacio libre en disco du - muestra el espacio utilizado en disco fdformat - formatea un disquete fdisk - se utiliza para particiona unidades file - determina el tipo de archivo a través del análisis parcial de su contenido find - hace una búsqueda a un archivo determinado fsck - examina el sistema de archivos gzip - descomprime un archivo en formato GZip ln - crea un enlace simbólico o físico, dependiendo de la opción ls - lista el contenido de un directorio
40
mkdir - crea un directorio mkfs - crea un nuevo sistema de archivos mkswap - crea un espacio de intercambio more - muestra el contenido de un archivo mount - monta una unidad o partición en el sistema de archivos mv - mueve un archivo y también se utiliza para renombrar pwd - devuelve la cadena correspondiente al directorio actual rm - borra un archivo rmdir - borra un directorio swapon - activa el espacio de intercambio swapoff - desactiva el espacio de intercambio tar - empaqueta o desempaqueta un archivo en formato .tar type - muestra la ubicación de un archivo señalando su "path" umount - desmonta una unidad o partición en el sistema de archivos
Para el manejo de procesos:
free - muestra la memoria libre y utilizada halt - apaga la maquina kill - mata un proceso señalando el número de éste ldd - muestra las librerías necesarias para ejecutar un proceso ps - muestra todos los procesos que se están ejecutando en el sistema pstree - muestra todos los procesos que se están ejecutando en el sistema, pero en forma de árbol reboot - reinicia el sistema shutdown - cierra el sistema top - monitorea procesos y el estado del sistema uname - muestra información del sistema
Para el manejo de usuarios:
adduser - crea una cuenta de usuario chsh - este comando cambia la shell de un usuario groups - muestra el listado de grupos de usuarios del sistema id - muestra la información de usuario y grupo de un determinado usuario logout - se sale del sistema deslogueando al usuarui, peromitiendo iniciar sesión con otro usuario passwd - cambia la contraseña de un determinado usuario su - le da privilegios de root (administrador) a un usuario talk - permite hablar con otros usuarios users - lista los usuarios conectados al sistema who - muestra información de los usuarios conectados al sistema whoami - muestra nuestra información
De red:
ping - manda paquetes esperando una respuesta del lugar que le indiquemos ifconfig - muestras las tarjetas de red (Ethernet) iwconfig - muestra Las tarjetas de red (Wifi) host "destino" - muestra la IP del "destino"
Para el manejo de paquetes:
41
rpm - "opcion" "paquete" - instala o desinstala el "paquete" dependiendo de la opción dpkg - "opcion" "paquete" - instala o desinstala el "paquete" dependiendo de la opción, este comando solo sirve para paquetes debian. tar - "opcion" "paquete" - comprime o descomprime el "paquete" de formato tar.gz, tar.tgz o tar.bz2
Bien, esperamos que este listado les sea de utilidad.
Aclaración sobre este artículo
En el siguiente artículo se incluyen comandos acompañados de opciones/parámetros. Los elementos entre corchetes se han de escribir sin los corchetes a la hora de ponerlos en la consola.
Ejemplo: Mostrar el contenido del fichero carta.txt
En este artículo veríamos:
cat [fichero]
pero en realidad tendremos que escribir en la consola:
cat carta.txt
Ficheros y miscelánea
Comando Acción Comentarios
ls Lista los archivos de un directorio concreto ls -l = Añade información sobre los atributos
ls -a = Lista todos los archivos incluyendo los ocultos
ls -R = Lista el contenido del directorio y todos sus subdirectorios recursivamente
cat [fichero] Muestra el contenido de un ficherocat -n [fichero] = Muestra el contenido de un fichero numerando sus lineas
more [fichero]Muestra un fichero de forma tabulada como una página del man
less [fichero]Similar a more, permite tanto avanzar como retroceder entre las páginas
echo [cadena] Repite la cadenaecho -e [cadena] = Habilita la interpretación de caracteres de escape
stat [fichero] Muestra el estado de un ficherostat -f [fichero] = Muestra el estado del sistema de ficheros
42
tail [archivo] Muestra las ultimas lineas de un archivotail -n [n] [archivo] = Muestra las ultimas n lineas del archivo
head [archivo] Muestra las primeras lineas de un archivohead [n] [archivo] = Muestra las n primeras lineas de un archivo
find [patron] Busca las coincidencias con el patrón dentro del directorio y sus subdirectorios
find [ruta] [patron] = Busca las coincidencias con el patron dentro de la ruta
find [patron] -print = Busca las coincidencias y muestra la ruta completa de estas.
find -size [tam] = Busca aquellos archivos menores que el tamaño señalado
man find = Muestra un listado las múltiples opciones y usos de find
whereis [programa]Busca la ruta donde se encuentra el programa, su ayuda, etc.
grep [opciones] [expresión regular] nombredearchivo
Toma una expresión regular de la línea de comandos, lee la entrada estándar o una lista de archivos, e imprime las líneas que contengan coincidencias para esa expresión regular. También podemos redireccionar la salida de un determinado comando por medio de una tubería (Alt Gr+ 1) y filtrarla con grep usando la expresión regular como criterio.
grep cadena archivo = Muestra las líneas del archivo que contienen la cadena
ps -ef | grep nombredeproceso = Lista los procesos que se estén ejecutando y que contengan la cadena nombredeproceso
grep palabra * = Muestra todas las líneas que contienen la cadena "palabra" en una lista de archivos (donde "*" representa todos los archivos en el directorio actual)
type [comando] Busca la ruta donde se encuentra el comando
which [programa]Busca la ruta donde se encuentra el programa o comando
pwd Muestra el directorio actual
historyMuestra los comandos utilizados por el usuario en orden cronológico
fc -l Muestra los últimos comandos usados por el usuario
eject [unidad óptica]Expulsa la unidad óptica seleccionada (Podemos encontrarlas en /media)
eject -t [unidad óptica] = Cierra la bandeja de la unidad óptica (cdrom, dvd ...)
cd Cambia al home o al directorio raíz si se lanza como root
cd [ruta] = Se desplaza al directorio especificado en la ruta
cd .. = Se mueve al directorio anterior
cd ../.. = Se mueve dos directorios atrás.
cp [origen] [destino] Copia el archivo origen al directorio destino cp -R [origen] [destino] = Copia un directorio recursivamente (directorio y subdirectorios)
cp -p [origen] [destino] = Copia preservando los
43
permisos y las fechas
cp [archivo] [archivo nombre cambiado] = Copia el archivo y lo cambia de nombre
mv [origen] [destino] Mueve al archivo origen al directorio destino mv [archivo] [archivo_nombre_cambiado] = Cambia de nombre un archivo
mv se parece a cp, excepto que borra el archivo original después de copiarlo. Se puede entender como la utilización conjunta de cp y rm.
mv renombra un archivo (que es el primer parámetro) si el segundo parámetro es un archivo. Si el segundo parámetro es un directorio, mv moverá el archivo al nuevo directorio, manteniendo el mismo nombre simple.
mkdir [directorio] Crea un nuevo directorio dentro del directorio.
rmdir [directorio vacío] Elimina el directorio vacío
rm [archivo] Elimina un archivo completamenterm -r [directorio] = Elimina un directorio recursivamente (directorio y subdirectorios)
ln [archivo]Crea un enlace duro (mismo archivo con distintos nombre)
ln -s [archivo] = Crea un enlace blando
diff [opciones] [fichero1] [fichero2]
Compara los dos ficheros diff -w [fichero1] [fichero2] = Descarta el espacio en blanco cuando compara las lineas
diff -q [fichero1] [fichero2] = Informa solo si los ficheros son distintos
diff -y [fichero1] [fichero2] = Muestra la salida a dos columnas
passwd Permite al usuario cambiar su contraseñasudo passwd = Permite al usuario cambiar o crear la contraseña de root
man comandoMuestra el manual de un comando, un paquete, etc. Resulta muy útil para aprender a utilizar dicho comando, sus modificadores y argumentos.
man aptitude = Nos despliega la ayuda de aptitude, sus opciones y posibilidades.
clear Limpia la pantalla
reset Reinicia la terminal
date Muestra la hora y la fecha en formato completo date -u = Muestra la hora y fecha en formato completo en UTC
date '+format' = Formatea la hora y la fecha -> date '+Dia: %m/%d/%y%n Hora:%H:%M:%S'
man date = Muestra un listado con todos los posibles formatos
who Muestra los usuarios que hay logeados en el sistema
44
whoami Muestra la información del propio usuario
write [user]Permite mandar un mensaje a un usuario conectado al sistema (valido para red), para finalizar pulsar Ctrl+D
mesg Muestra el estado actual de la terminalmesg [y | n] = Esta orden permite al usuario que la ejecuta habilitar (y) o inhibir (n) el permiso de escritura sobre su terminal
mail [usuario]Permite intercambiar correo electrónico con otros usuarios. Similar a write solo que el usuario no necesita estar conectado.
uname Muestra el sistema UNIX sobre el que estamos trabajando
uname -a = Muestra toda la información sobre el tipo de sistema que se esta utilizando
uname -m = Muestra el tipo de arquitectura que se esta utilizando
uname -s = Muestra el nombre del sistema
uname -n = Muesta el nombre por el que se identifica el sistema en la red
uname -r = Muestra la revision (release) del kernel que estamos usuando
uname -v = Muestra la version del kernel que estamos usando
chmod [+|-][rwx] [archivo]
Añade(+) o elimina(-) los permisos de lectura(r), escritura(w) o ejecucion(x) del archivo o directorio.
g|o|a][+|-][rwx] [archivo] = Cambia los persmisos al usuario(u), grupo(g), otros(o) o a todos(a)
chmod [mascara] [archivo] = Cambia los permisos al archivo segun la mascara, donde 000 quita todos los permisos y 777 da todos los permisos.
umaskMuestra los permisos con los que el usuario creara sus archivos por defecto
umask [mascara] = Fija los permisos que tendra por defecto cualquier archivo creado por el usuario. 777 quita todos los permisos y 000 da todos los permisos.
chown [nuevo propietario] [archivos]
Cambia de propietario a los archivos
chgrp [grupo nuevo][archivos]
Cambia de grupo a los archivos
mkfs.msdos /dev/fd0 Formatea en formato MsDos un disquette
fdformat /dev/fd0Formatea en formato MsDos un disquette y despues verifica el formateo
sleep [tiempo]Congela la terminal durante los segundos especificados
45
export [identificador][=valor]
Define, marca y/o asigna el identificador(es) como variables de entorno que seran exportada a los subprocesos que se generen.
unset [identificador]Permite eliminar una variable identificada por su nombre o identificador
|Redirecciona la salida de un comando con la entrada del siguiente comando
Se escribe mediante Alt Gr + 1
alias nombre='comando' Asigna un nombre simbolico a un comando
Ejecutables
Comando Acción Comentarios
sh nombredeejecutable.sh
Ejecuta un archivo ejecutable .sh
bash nombredeejecutable.sh = Otra forma de ejecutar un archivo ejecutable .sh
./nombredeejecutable.sh = Otra forma de ejecutar un archivo ejecutable
.sh
Impresión
Comando Acción Comentarios
lpr fichero Añade el fichero a la cola de impresionlpr -#n fichero = Realiza "n" copias del fichero, donde n es un numero natural (1,2,3,4,5 ...)
lpq Muestra los documentos en la cola
lprmCancela la impresion del documento actual
lprm nCancela la impresion del trabajo n, siendo n un numero natural.
pr +2 l70 -w 80 -h "Comandos" fichero -t
Formatea un archivo de texto para la impresion
-t = No imprimira cabeceras ni pies de pagina
l70 = Establece la longitud de la página de 70 lineas (66 por defecto)
-w 80 = Establece el ancho de linea en 80 caracteres(72 por defecto).
-h "Comandos" = Establece "Comandos" como cabecera de cada página.
pr l70 -d comandos.txt | lprUna vez formateado el texto lo manda a la cola de impresion
Formatos
46
Comando Acción Comentarios
tidy fichero.htmlAnaliza el codigo de un documento html
tidy -m fichero.html = Corrige modificando el codigo del fichero html
tidy -m -asxml fichero.html = Convierte el fichero html a xml
tidy -m -asxhtml fichero.html = Convierte el fichero html a xhtml
tidy -m -ashtml fichero.xhtml = Convierte un fichero xhtml a html
pdftops fichero.pdf fichero.ps
Convierte un fichero pdf a ps
Compresión y descompresión
Comando Acción Comentarios
zip -r fichero.zip ficheros Comprime en formato .zip unzip archivo.zip = Descomprime un .zip
unzip -v archivo.zip = Muestra el contenido de un .zip sin descomprimirlo
rar a -r0 fichero.rar ficheros Comprime los ficheros en formato .rar
unrar e -r archivo.rar = Descomprime el fichero.rar en el directorio actual
unrar x -r archivo.rar ruta_destino = Extrae el fichero.rar en la ruta especificada
unrar v archivo.rar = Muestra el contenido del fichero.rar sin descomprimirlo
gzip -r ficheros Comprime ficheros a gz gzip -d fichero.gz = Descomprime un fichero.gz
gzip -c fichero.gz = Muestra el contenido de un fichero.gz sin descomprimirlo
bzip2 ficheros Comprime ficheros al formato bz2 bzip2 -d fichero.bz2 = Descomprime un fichero.bz2
bzip2 -c fichero.bz2 = Muestra el contenido de un fichero.bz2 sin descomprimirlo
tar -vcf archivo.tar /fichero1 /fichero2 ...
Empaqueta ficheros o directorios en tar
tar -vxf archivo.tar = Desempaqueta el archivo.tar
tar -vtf archivo.tar = Muestra el contenido del archivo.tar sin descomprimirlo
tar -zvcf archivo.tgz directorio
Empaqueta y comprime (tgz) directorios o ficheros
tar -zvxf archivo.tgz = Desempaqueta y descomprime un archivo.tgz
tar -zvtf archivo.tgz = Muestra el contenido de un tgz sin descomprimirlo ni desempaquetarlo
tar -jvcf archivo.tbz2 directorio
Empaqueta y comprime (tbz2) directorios o ficheros
tar -jvxf archivo.tbz2 = Desempaqueta y descomprime el archivo.tbz2
47
tar -jvtf archivo.tbz2 = Muestra el contenido sin desempaquetar ni descomprimir el .tbz2
Renombrado
Comando Acción Comentarios
rename 'y/A-Z/a-z/' *.zip
Cambia mayusculas por minisculas en todos los .zip.
*.zip indica el tipo de archivos a renombrar (llamado con * renombra todos).
A-Z indica el patron a modificar.
a-z indica el patron por el que se modifica.
rename 'y/ /_/' * cambia espacios por _ en todos los archivos.
rename 's/expresión //' *.mp3 = Elimina una expresion de todos los mp3.
Gráficos
Comando Acción Comentarios
glxinfo Informacion sobre OpenGl y Glxglxinfo | grep "direct rendering" = Indica si esta activada la aceleracion 3D
showrgbMuestra los colores reconocidos por el sistema y su codigo RGB
banner textoMuestra un cartel ascii con el texto de forma vertical
banner -w[n] texto = Hace el banner con el tamaño indicado por n, siendo n un numero (Sin los corchetes)
figlet texto Muestra un cartel ASCII con el texto de forma horizontal
figlet -w[n] texto = Similar a banner pero en formato horizontal
figlet -t texto = La salida se mostrara con su anchura maxima
figlet -c texto = La salida se mostrara centrada
xwd > ventana.xwd Captura una ventanaxwd -root -screen > pantalla.xwd = Captura la pantalla
gnome-screenshotCaptura la pantalla en el escritorio gnome
gnome-screenshot --window = Captura la ventana en el escritorio gnome
import -window - ventana.jpgCaptura una ventana en cualquier formato
xwud -in pantalla.xwdMuestra imagenes en formato .xwd
48
identify imagen.gifMuestra las propiedades de una imagen
pdfimages fichero.pdf nombre_para_las_imágenes
Extrae las imagenes de un .pdf
convert *.jpg catálogo.pdfCrea un catalogo pdf con las imagenes
display "vid:*.jpg"Crea un indice grafico con las miniaturas
convert imágen_color.jpg -monochrome imágen_b/n.jpg
Convierte una imagen a blanco y negro
convert imagen_original.ppm imagen_nueva.jpg Cambia el formato de una imagen
convert -sample 100x50 imagen_original.jpg imagen_nueva.jpg
Cambia las dimensiones de una imagen
mogrify -format jpg *.ppmConvierte a .jpg todas las imagenes .ppm
mogrify -format png -sample 20%x20% *.jpgCrea miniaturas de varias imagenes
convert -delay 15 imag1.jpg imag2.jpg imag3.jpg remero.gif
Crea un gif animado con varias imágenes (15 es el tiempo entre imagenes en centésimas)
convert imagen.gif -adjoin imagen.jpgExtrae los fotogramas de un .gif animado
convert -font courier -fill yellow -pointsize 25 -draw 'text 100,250 texto' imagen.jpg imagen_con_txt.jpg
Añade texto a una imagen
Imágenes
Comando Acción Comentarios
mkisofs -R -J -T -o imagen1.iso fichero1
Crea una imagen de un fichero que se encuentre en nuestro disco duro.
dd if=/dev/cdrom of=imagen.isoCrea una imagen del cd-rom y la vuelca en imagen.iso
cat /dev/cdrom > archivo.iso Similar al anterior
nrg2iso imagen.nrg imagen.iso Convierte una imagen .nrg a .isoPara usar este comando es imprescindible instalar el paquete nrg2iso
bin2iso imagen.cue Convierte una imagen .bin o .cue a .isoPara usar este comando es imprescindible instalar el paquete bin2iso
ccd2iso imagen.img imagen.iso Convierte una imagen img/ccd/sub/cue a .iso Para usar este comando es imprescindible
49
instalar paquete ccd2iso
mdf2iso imagen.mdf imagen.iso Convierte una imagen .mdf o .mds a .isoPara usar este comando es imprescindible instalar paquete mdf2iso
mount -t iso9660 -o loop imagen.iso punto_montaje
Monta una imagen .iso
umount punto_montaje Desmonta una imagen
md5sum archivo.iso > archivo.iso.txt
Genera la suma md5 de un archivo .txt
md5sum -w -c archivo.iso.txt Verifica la suma md5 de un archivo
Grabación de CD y DVD
Comando Acción Comentarios
cdrecord -v dev=0,0,0 fs=16M speed=30 imagen.iso Grabar un cd de datos/imagen
cdrecord -v dev=0,0,0 fs=16M speed=30 -eject -isosize /dev/sr1 Copiar un cd de datos/imagen
cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav Grabar un cd de audio
cdrdao copy -v 2 --device 0,0,0 --source-device 0,1,0 --reload \ --eject --on-the-fly --fast-toc --paranoia-mode 0
Copia un cd de audio
cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav -data imagen.iso Graba un cd mixto
cdrecord -v blank=fast Borrar un cd regrabable
growisofs -Z /dev/sr0 -R -J archivo Grabar un cd de datos/imagen
growisofs -M /dev/sr0 -R -J archivoAñade más datos a un dvd multisesión
growisofs -dvd-compat -Z /dev/sr0=imagen.isoGraba una imagen previamente creada
dvdrecord -v dev=0,0,0 blank=fast Borra un dvd regrabable
dvdbackup -M -i/dev/sr0 -o ~/copia_dvd/ Ripea un video dvd
vobcopy -i /dev/sr0 -m -o ~/copia_dvd/ Similar a la anterior
Extracción de CD
Comando Acción Comentarios
cdda2wav -B -H -D /dev/sr1 -s -x
Extrae un disco de audio completo en archivos .wav separados
cdda2wav -H -D /dev/sr1 -s -x -t 5
Extrae la pista número 5
50
cdparanoia -B -d /dev/sr1
Extrae un disco de audio completo en archivos .wav separados
cdparanoia 5 -d /dev/sr1
Extrae la pista número 5
abcde -d /dev/sr1 -N -x -o mp3
Extrae disco completo en archivos mp3 separados (es necesario instalar paquete abcde)
abcde -d /dev/sr1 -N -x -o mpc = Extrae el disco completo en archivos .mpc separados
abcde -d /dev/sr1 -N -x -o ogg = Extrae el disco en archivos .ogg separados
abcde -d /dev/sr1 -N -x -o ogg tracks 1-3 5 = Extrae las 3 primeras canciones y la quinta
Audio
Comando Acción Comentarios
lame -b 192 -m j tema.wav
Convierte una cancion .wav a .mp3 con bitrate de 192Elvalor 192 puede cambiarse y la opción -h indica máxima calidad)
lame -h -m j --nogap *.wav
Convierte todos los archivos .wav a .mp3
oggenc -b 128 -q 5 tema.wav
Convierte un archivo .wav a .ogg con bitrate de 128 (-b 128) y calidad 5 (-q 5) en un rango de 0 a 10.
oggenc *.wav = Convierte todos los wav en un unico fichero ogg
oggenc -a -l -t *.wav = Convierte todos los .wav en sus respectivos ogg
oggdec tema.ogg = Convierte un archivo .ogg a .wav
oggdec *.ogg = Convierte todos los .ogg a .wav
lame -h --decode tema.mp3 tema.wav
Convierte un archivo .mp3 a .wav
mplayer -ao pcm fichero.asf
Convierte un archivo .asf o .wma a .wav
play cancion Reproduce una cancion en la terminal
Varios
Comando Acción Comentarios
man comando Muestra información sobre el comando apropos palabra_clave = Busca dentro de las declaraciones de man la palabra exacta
apropos -e palabra_clave = Busca la palabra exacta
51
cal Muestra el calendario del mes actual cal -my = Muestra el calendario de todo el año
uptimeMuestra la hora,tiempo de funcionamiento,no usuarios conectados y la carga media
tzconfig Permite seleccionar la zona horaria
tzselect Permite seleccionar la zona horaria
date Muestra la fecha del sistema en formato localdate --help = Muestra todas las opciones de date en castellano
hwclock --show Muestra el reloj Hardware o reloj de Bioshwclock -systohc = Pone el reloj Hardware a la hora del sistema
watch -n tiempo comandoEjecuta un comando cada x segundos (defecto = 2)
clear Limpia la pantalla
reset Reinicia la terminal
Ctrl+C Termina un proceso. Ctrl+Z = Suspende temporalmente la ejecución de un programa.
Ctrl+S = Para la transferencia de datos a la terminal.
Ctrl+Q = Resume,reinicia la tranferencia de datos
Ctrl+Alt+F2 = Salir del entorno gráfico a un terminal.(Fnº según gettys activados en /etc/inittab)
Ctrl+Alt+Supr = Estando en una terminal reinicia(si no se indica otra cosa en /etc/inittab)
hostname Muestra el nombre de la maquina
ttyMuestra el nombre del fichero de la terminal conectada a la salida estandar.
/etc/init.d/servicio stop Para un servicio o demonio /etc/init.d/servicio start = Inicia un servicio o demonio
/etc/init.d/servicio restart = Reinicia un servicio o demonio
startx Arranca el entorno grafico
sh script Ejecuta un script
java -jar fichero.jar Ejecuta un programa java
./[archivo.bin]Ejecuta un archivo binario (también puede usarse con scripts)
consolechars -f fuente.psf.gz
Cambiar la fuente de la consola. Las fuentes se encuentran en /usr/share/consolefonts/
reportbug Enviar bugs
52
exit Termina la ejecucion del programa actual
shutdown -t1 -h now Apaga el pc shutdown -t1 -r now = Reinicia el pc
su Entrar como superusuario
adduser usuario Crea un nuevo usuario adduser usuario grupo = Añade un usuario existente a un grupo existente
adduser --no-create-home usuario = Crea un usuario pero sin directorio personal
addgroup grupo Crea un grupo nuevo
deluser usuario Elimina un usuario deluser usuario grupo = Elimina un usuario del grupo especificado
deluser --remove-home usuario = Elimina un usuario y su directorio personal
delgroup grupo = Elimina el grupo
delgroup grupo --only-if-empty = Elimina el grupo solo si no tiene ningun usuario
usermod -l nuevo_login Cambia el nombre del usuariousermod -d nueva_home -m login = Cambia el nombre del usuario (lo crea si no existe) y tranfiere su contenido.
usermod -e AAAA-MM-DD login
Fecha en que la cuenta de usuario sera desactivada
groupmod -n nuevo_nombre grupo
Cambia el nombre de un grupo
locale Muestra la zona geografica configurada
dpkg-reconfigure locales Reconfigura los locales
dpkg-reconfigure console-data
Reconfigura el teclado
loadkeys ruta_mapa_teclado.gz
Carga el mapa de teclado que le indicamos,que estará en: /usr/share/keymaps
locale charmap Muestra el codigo de caracteres en uso
set Muestra las variables locales definidas
env Muestra las variables de entorno definidas
export Muestra las variables de entorno declaradas
Procesos
Comando Acción Comentarios
memtest Hace una comprobacion del estado de la memoria
53
free -m -s 3 Muestra el uso de la memoria-m en megabytes
-s 3 con una demora de 3 segundos
topMuestra información detallada sobre los procesos en curso (tecla z colorea los activos)
pstree Muestra los procesos en curso en forma de arbol
pidof [comando] Muestra el id del comando
killall [proceso] Para el proceso
strace [comando]Muestra las llamadas al sistema originadas por el comando
fuser -v [archivo]Muestra los procesos que estan usando un archivo o directorio
lsof Lista los ficheros abiertos por los procesos
lsof -c [comando] = Lista los ficheros abiertos por un proceso
lsof +D [Directorio] = Lista los procesos que estan usando el directorio
lsof -i :60627 = Muestra los procesos que se encuentren detras del puerto 60627
[comando] & Ejecuta un comando en segundo plano
nohup [comando] &Ejecuta un comando de forma que si cerramos la terminal siga ejecutandose
jobsLista los procesos en segundo plano identificandolo con su numero de tarea
fg no_tarea Pasa un comando a primer plano
bgPasa a segundo plano un proceso que hemos suspendido temporalmente con Ctrl-Z
nice -n prioridad [comando]
Ejecuta un comando con una prioridad determinada
renice prioridad PID_del_proceso
Cambia la prioridad de un proceso en marcha
at [-f script] [tiempo] Ejecuta un script a una hora y/o fecha concretas
atq = Muestra la lista de tareas programadas de forma numerada
atrm no = Elimina una tarea indentificada por su no
batchIgual que at, salvo que batch sólo ejecuta el script si la carga de cpu es inferior al 80%
Disco duro
54
Comando Acción Comentarios
du -h [fichero]Muestra el espacio que ocupa el fichero o directorio
tree -a -s -L 2Igual que el anterior pero lo muestra en forma de arbol
dfMuestra información sobre particiones montadas
df -h = Medida humana
cfdiskMuestra información sobre particiones
mount Muestra un listado de los dispositivos montados
mount punto_montaje = Monta un dispositivo establecido en fstab
umount punto_montaje = Desmonta un dispositivo establecido en el fstab
mount -t [Sistema_Archivos] /dev/[dispositivo] [punto_montaje] = Monta el dispositvo, ej: mount -t ext3 /dev/hda1 /media/disco1
umount /dev/[dispositivo] = Desmonta un disco
fsck /dev/[dispositivo] Chequea y repara el sistema de archivos de una particion no montada
fsck.ext2 -vpf /dev/hdx = Chequea y repara el sistema de archivos de una particion ext2 no montada
fsck.ext3 -vpf /dev/hdx = Igual pero con una particion ext3
mkfs.ext2 /dev/hdXX Crea un sistema ext2 en la particion seleccionada
mkfs.ext3 /dev/hdXX = Crea un sistema ext3 en la particion seleccionada
mkfs.ext2 /dev/fd0 = Crea un sistema ext2 en el disquette
mkswap /dev/hdXXCrea un sistema de ficheros swap en la partición hdXX
tune2fs -O ^has_journal /dev/hdXXConvierte la particion de ext3 a ext2
tune2fs -j /dev/hdXXConvierte la particion de ext2 a ext3
dd if=/dev/hda of=/dev/hdb bs=1MClona el disco hda en el disco hdb en bloques de 1 Megabyte (para no sobrecargar el sistema)
dd if=/dev/hda of=mbr count=1 bs=512
Copia el MBR (Master Boot Sector)
dd if=mbr of=/dev/hda = Restaura el MBR
dd if=/dev/hda2 of=/sector_arranque_hda2 count=1 bs=512
Copia el VBS (Volume Boot Sector)
dd if=sector_arranque_hda2 of=/dev/hda2 = Restaura el VBS
55
Instalación de software
Comando Acción Comentarios
dpkg -i paquete
Instala un paquete
dpkg -r paquete = Desinstala un paquete
dpkg --purge paquete = Desisntala un paquete y sus archivos de configuracion
dpkg --force -r paquete = Fuerza la desinstalacion de un paquete
dpkg --force-all -r paquete = Fuerza aun mas la desinstalacion de un paquete (Puede comprometer el sistema)
dpkg -c paquete = Muestra el contenido de un paquete
dpkg -L paquete = Muestra todos los ficheros que se instalaron con un paquete
dpkg -S fichero = Muestra a que paquete pertenece un fichero
dpkg --get-selections = Muestra un listado con todos los paquetes instalados
dpkg-reconfigure paquete = Reconfigura el paquete
aptitude update
Actualiza la lista de paquetes
aptitude upgrade = Actualiza el sistema (no instala ni elimina paquetes)
aptitude dist-upgrade = Actualiza el sistema eliminando e instalando paquetes si fuera necesario
aptitude install [paquetes] = Instala los paquetes indicados
aptitude reinstall [paquetes] = Reinstala los paquetes indicados
aptitude remove [paquetes] = Elimina los paquetes indicados
aptitude purge [paquetes] = Elimina los paquetes y sus ficheros de configuracion
aptitude download [paquetes] = Descarga los paquetes en el directorio actual
aptitude hold [paquetes] = Bloqua los paquetes indicados
aptitude unhold [paquetes] = Desbloquea los paquetes seleccionados
aptitude unmarkauto [paquetes] = Desmarca paquetes como instalados manualmente
aptitude markauto = Marca paquetes como instalados manualmente
aptitude search [expresion] = Busca un paquete por nombre o expresion
aptitude show [paquetes] = Muestra información detallada de un paquete
aptitude clean = Elimina los paquetes .deb descargados
Información de hardware
Comando Acción Comentarios
sudo lshw Lista tu hardware
56
sudo lshw -C disk Lista tu hardware especifico (en este caso, discos)-C es la abreviatura del comando -class, que hace lo mismo.
sudo lshw -html > nombre_del_archivo.html
Lista tu hardware específico y guarda un archivo .html en tu directorio de usuario con toda la información
Kernel
Comando Acción Comentarios
uname -a Version del kernel
lsmod Lista los modulos cargados
modinfo [módulo] Muestra informacion sobre un modulo
modprobe [módulo] Inserta un modulo y sus dependecias en el kernelmodprobe -r [módulo] = Elimina un modulo del kernel y los que dependen de él
insmod [módulo] Inserta un modulo en el kernel
rmmod [modulo] Elimina un modulo del kernel
echo [módulo] >> /etc/modules
Inserta un modulo en el kernel permanentemente
depmod [modulo] Comprueba las dependencias del modulo
modconf Programa gráfico para cargar módulos
lastMuestra los usuarios conectados y desconectados en los ultimos dias
hdparm /dev/hdX Verifica el DMA de nuestro disco (sustituir "hdX" por nuestro disco correspondiente)
hdparm -I /dev/hdx = Muestra información sobre el disco
hdparm -d1 /dev/hdX = Activar el dma en nuestro disco
lsdev Muestra información sobre los dispositivos
lspci Muestra los dispositivos PCI conectados
lsusb Muestra los dispositivos USB conectados
less /var/log/kern.log Mensajes del nucleo. less /var/log/syslog = Registro de mensajes relativos a la seguridad.
less /var/log/debug = Registro de información de depuración de los programas.
less /var/log/messages = Mensajes del sistema de carácter informativo.
less /var/log/user.log = Información del usuario.
less /var/log/XFree86.0.log = Información sobre
57
las X
less /var/log/Xorg.0.log = Información sobre las X
less /var/log/auth.log = Accesos al sistema(incluye los intentos fallidos).
lastLista los usuarios conectados/desconectados (fichero /var/log/wtmp).
lastbMuestra los intentos de conexión fallidos (fichero /var/log/btmp).
cdda2wav -scanbus Comprobar el interfaz SCSI.
cdrecord -scanbus Comprobar el interfaz SCSI.
cat /proc/meminfo Información sobre la memoria. cat /proc/cpuinfo = Información sobre el procesador.
cat /proc/devices = Información sobre dispositivos en uso.
FTP
Comando Acción Comentarios
ftp Abre la interface de usuario para
el protocolo de transferencia de ficheros (FTP)
open servidor = Conectar con el servidor
append = Anexar a un archivo
? = Imprimir información de ayuda local
bell = Emitir sonido cuando se complete el comando
binary = Establecer transferencia binaria (todas salvo .txt)
bye = Finalizar la sesión ftp y salir
ascii = Establecer tipo de transferencia ascii (sólo para .txt)
cd = Cambiar el directorio de trabajo remoto
close = Finalizar la sesión ftp
ls = Mostrar el contenido del directorio remoto
dir = Mostrar el contenido del directorio remoto
delete = Eliminar archivo remoto
debug = Alternar modo de depuración
get = Recibir archivo
help = Ayuda sobre un comando 1º-help y luego el comando
lcd = Cambiar el directorio de trabajo local
58
mdir = Mostrar el contenido de múltiples directorios remotos
mdelete = Eliminar múltiples archivos
mget = Obtener múltiples archivos
mkdir = Crear directorio en el equipo remoto
mls = Mostrar el contenido de múltiples directorios remotos
mput = Enviar múltiples archivos
open = Conectar a tftp remoto
put = Enviar un archivo
pwd = Imprimir el directorio de trabajo del equipo remoto
quit = Finalizar la sesión ftp y salir
quote = Enviar un comando arbitrario ftp
recv = Recibir archivo
rename = Cambiar el nombre del archivo
rmdir = Quitar directorio en el equipo remoto
remotehelp = Obtener ayuda del servidor remoto
send = Enviar un archivo
status = Muestra el estado actual
trace = Alternar trazado de paquetes
type = Establecer el tipo de transferencia de archivos
user = Enviar nueva información de usuario
verbose = Alternar modo detallado
IRC
Comando Acción Comentarios
irc Deberemos instalar el paquete irssi
(sudo aptitude install irssi)
/server = Lista,añade o elimina servidores.
/server [nombre:puerto:clave] = Conecta con un servidor.
/info [servidor] = Obtener información sobre servidor.
/lusers = Obtener estadísticas del servidor.
/users = Usuarios conectados al servidor.
/links = Lista los servidores de la red actual.
/list = Lista e informa sobre los canales.
59
/admin = Informa sobre el admin. del servidor.
/help [comando] = Muestra la ayuda sobre un comando.
/ison [nick] = Comprobar si un usuario está conectado.
/join [canal] = Unirse a un canal.
/names = Listar usuarios en canales.
/whois [nick] = Muestra información sobre un usuario.
/whowas [nick] = Informa sobre un usuario que ya no está.
/who [patrón] = Muestra información sobre patrón.
/msg NiCK SET PASSWORD [clave] = Cambiar de contraseña(en irc-hispano)
/msg [nick | canal][texto] = Envia un mensaje a un usuario o canal.
/amsg [texto] 'a = Envia un mensaje a todos los canales en los que estás.
/notice [nick | canal] = Envia un mensaje privado a un usuario/os
/query [usuario texto] = Envia un mensaje privado a un usuario.
/ignore = Lista los usuarios ignorados.
/ignore nick = Ignora los mensajes de un usuario.
/unignore [nick | *] = Deja de ignorar el/los mensajes.
/ctcp [nick texto] = Envia un mensaje mediante CTCP
/me [texto] = Envia un mensaje precedido de nuestro nick
/ame [texto] = Envia un mensaje todos los canales en los que estás.
/dcc [chat nick ] = Pide y/o inicia charla con un usuario.
/dcc [close nick] = Cierra charla.
/dcc [send nick fichero] = Ofrece y/o envia un fichero.
/dcc [get nick fichero] = Permite recibir un fichero.
/time = Muestra fecha y hora.
/clear = Limpia la ventana de texto actual.
/away [texto] = Pasar a estado ausente.
/away = Volver de la ausencia.
/nick [nuevonick] = Cambiar el nick.
/nick [nuevonick][clave] = Cambiar un nick registrado.
/nick [nick:contraseña] = Identificarse en irc-hispano.
/part [canal] = Abandonar un canal.
60
/quit = Cerrar todas las conexiones y salir.
Calculadora
Comando Acción Comentarios
bc Abrimos la calculadora bc. 20 + 5.4 = Suma.
77 - 4.2 = Resta.
25.2 * 86 = Multiplica.
47 / 3 = Muestra el cociente de la división.
47 % 3 = Muestra el resto de la división.
4 ^ 2 = Calcula la potencia 4²
sqrt (16) = Calcula la raiz cuadrada de 16
(2*3+2) / sqrt (2^3/2.5) = Un poco de cada.
quit = Salimos de bc.
Redes
Comando Acción Comentarios
/etc/init.d/networking start
Inicia los servicios de red. /etc/init.d/networking restart = Reinicia los servicios de red.
/etc/init.d/networking stop = Para los servicios de red.
ifconfig [interfaz opciones IP]
Información y configuración de interfaces de red. ifconfig = Muestra el estado de los interfaces activos.
ifconfig -a = Muestra el estado de todos los interfaces.
ifconfig ppp0 = Muestra el estado de ppp0
ifconfig eth0 up = Activa eth0.
ifconfig eth0 down = Cierra eth0.
ifconfig eth1 address 192.168.1... = Asigna una dirección al interfaz especificado.
iwconfig Similar a ifconfig pero sólo para interfaces wireless
ifup interface Habilita la interface especificada. ifup eth0
ifup ppp0
61
ifdown interface Deshabilita la interface especificada. ifdown eth0
ifdown ppp0
dhclient eth0/eth1 Inicia conexión dhcp mediante el cliente dhcp-client.
pump -i eth0/eth1 Inicia conexión dhcp mediante el cliente pump.
pppoeconf Programa para configurar conexiones pppoe.
pppconfigPrograma en modo texto para configurar una conexión ppp.
pon Establece la conexión ppp a internet.
plog Monitoriza la conexión ppp.
poff Finaliza la conexión ppp a internet.
finger usuario Informa sobre un usuario conectado al sistema. finger @servidor = Informa sobre todos los usuarios conectados a un servidor (nombre o IP)
finger usuario@servidor = Informa sobre un usuario conectado a un servidor
ping google.com = Verifica la conexión, en este caso con www.google.com (Ctrl+Z pone fin)
traceroute microsoft.esMuestra la ruta que los paquetes de datos han seguido hasta la máquina de destino, en este caso un server de microsoft.es
mtr rediris.es Combinación de ping y traceroute.
whois ubuntu-es.orgInformación sobre un dominio, en este caso el dominio ubuntu-es.org.
host -v -a telefonica.com
Determina la ip de un nombre. En este caso, la IP de telefonica.com.
host -v -a 194.224.55.221 = Determina el nombre de una IP. En este caso, el nombre de 194.224.55.221.
iptraf Monitoriza tráfico de redes (ncurses).
tetherealVersión para consola de ethereal,un analizador del tráfico de red (sniffer).
ettercapSniffer/interceptor/logger para redes LAN con switchs basado en ncurses.
nmap Escáner de puertos.
fail2banEscanea logs como /var/log/auth.log y banea las IP con demasiados errores de conexión.
snortSniffer de paquetes y un detector de intrusiones en una red (NIDS).
aide Detector de intrusiones en un único Servidor, PC o host.
62
(HIDS).
portsentryIDS que detecta escaneos de puertos y reacciona a un ataque.
chkrootkit Detector de rootkit.
w3m
lynx
links
links2
elinks
Navegadores web.elinks es compatible con SSL, con lo que podremos acceder a correo web.
irssi
weeChat-cursesClientes IRC (Internet Relay Chat) )
mutt
mush
pine
elm
Clientes de correo(MUA).
cabberCliente jabber (protocolo libre para mensajería instantánea).
centericqCliente de mensajeria multiprotocolo (ICQ,Yahoo,AIM,MSN,IRC,Jabber)
ncftp Cliente FTP (File Transfer Protocol) basado en ncurses
ftp-sslCliente FTP compatible con cifrado SSL y TSL (dependiendo de la otra parte)
telnet-sslCliente telnet (acceso remoto) compatible con cifrado SSL (dependiendo de la otra parte)
sshCliente SSH (Secure SHell). Acceso remoto cifrado. Forma parte del paquete openssh-client
rtorrent
bittornadoClientes bittorrent.
Bittornado es una versión mejorada del cliente homónimo bittorrent.
talk usuario Entabla una conversacion con un usuario del sistema.talk usuario@sistema = Entabla conversacion con un usuario de otro sistema (entre máquinas UNIX)
mesg -n Anula la notificacion de comunicacion de talk o write.mesg -y = Habilita la llegada de notificaciones de talk o write.
63
write usuario Manda un mensaje a un usuario del sistema.
netstat -napt Saber qué puertos tiene abiertos nuestro sistema. -n = No resuelve las direcciones a sus nombres DNS. Esto hace más rápida la ejecución.
-a = Muestra todos las conexiones,incluídas las que están escuchando.
-p = Muestra el número y nombre del proceso,dueño de dicha conexión.
-t = sólo muestra conexiones tcp
wget [opciones] URL Gestor de descargas. -p = Descarga la web completa.
-r = recursivo.
-k = Convierte los enlaces absolutos en relativos.
-c = Reanuda la descarga de un fichero parcialmente descargado.
-l6 = profundidad de recursión (5 por defecto)
-A formato = formato para descargar.
-nH = hace que no se cree el subdirectorio localhost.
--cut-dirs=n = elimina n número de directorios dentro de la jerarquia.
Obtenido de «http://doc.ubuntu-es.org/index.php?title=Comandos_de_uso_frecuente&oldid=14451»Categoría:
Terminal
Navegación
Página principal Portal de la comunidad Actualidad Cambios recientes Página aleatoria Ayuda
Buscar
Herramientas
Especial:Buscar Ir Buscar
64
Lo que enlaza aquí Cambios relacionados Páginas especiales Versión para imprimir Enlace permanente
Herramientas personales
Iniciar sesión / crear cuenta
Esta página fue modificada por última vez el 27 dic 2011, a las 01:59. Esta página ha sido visitada 149.347 veces. El contenido está disponible bajo los términos de la Creative Commons Reconocimiento Compartir Igu
PARA EJECUTARLOS DESDE LA TERMINAL
Para ser super usuario : sudo su [despus te pide la contraseña] y listo ya sos root #
######################################################################
sudo apt-get autoclean ( limpia ubuntu de archivos innecesarios)
sudo apt-get autoremove ( limpia los paquetes, huerfanos, innecesarios o con errores)
sudo apt-get update ( actualiza y busca nuevas versiones de los paquetes instalados)
sudo rm nobre-del-archivo-a-borrar ( Borra un fichero)
sudo rmdir nombre-del-directorio-a-borrar ( Borra directorio vacio)
sudo rm -rf nombre-del-directorio-con_archivos-a-borrar ( CUIDADO, borra sin pedir
sudo rm -R directorio: Borra el contenido completo (ficheros/subdirectorios) de directorio
confirmación)
Los anteriores comandos sirven para borrar cosas innecesarios de ubuntu, o para borrar
archivos protegidos. Recuerden tener mucho cuidado con lo que borran.
Además, el directorio en el que nos encontramos siempre es nuestra carpeta personal, en
65
Si el archivo a borrar está en otro lugar, deberan especificar la ruta de acceso. Un
ejemplo:
sudo rm /home/familiamontoya/Escritorio/archivo-a-borrar.pdf
Recuerda cerrar la terminal cada vez que acabes de hacer algo como Superusuario (sudo)
* +[Alt]+[Del]: Shutdown. Apaga el sistema de forma organizada desde una terminal texto.
* +[Alt]+[F1]: Cambia a la primera terminal de texto.
* [ArrowUp]: (Flecha arriba) Va editando la historia de comandos que hemos escrito anteriormente en terminal
texto. para ejecutar.
* +c: Termina el proceso actual.
* +d: Termina la terminal actual.
* +z: Manda el proceso actual -comenzado sin &- a "Background". Lo mismo que si comenzamos el proceso
con & - $ proceso &-.
Lista de comandos mas usados
* hostname: Devuelve el nombre de la máquina.
* uptime: Devuelve la cantidad de tiempo trascurrido desde la última vez que se arrancó el sistema, la cantidad de usuarios trabajando en el sistema y el load average (carga del sistema).
* uname -a: Información sobre el sistema operativo de la máquina.
* dmesg|more: Imprime el "ring buffer" del kernel.
* free -tm: Información sobre la cantidad de memoria disponible y usada.
66
* df -h: Información sobre todo los dispositivos montados en la máquina.
* du: Muestra el espacio que esta ocupado en disco.
* du -bh /|more: Información sobre el espacio ocupado por cada subdirectorio, comenzando en el directorio raiz /.
* ps: Información sobre los procesos del actual usuario, que se están ejecutando.
* ps axu: Información sobre todos los procesos que se estan ejecutando en la máquina.
* top: Información sobre el uso de cpu y memoria de los procesos del sistema.
* cat /proc/cpuinfo: Información sobre el microprocesador.
* cat /proc/interrupts: Información sobre las interrupciones en uso.
* cat /proc/dma: Información sobre dma en uso.
* cat /proc/filesystems: Información sobre los sistemas de archivos que se pueden utilizar (compilados en el kernel).
* /sbin/lsmod: Información sobre los módulos en uso.
* finger usuario: Información sobre el usuario.
* who: Información sobre los usuarios usando el sistema.
* id usuario: Información sobre UID, GID y GROUPS del usuario.
* last: Información sobre los últimos usuarios que han usado el sistema.
* set|more: Información sobre el entorno de usuario actual.
* ping máquina: Para comprobar si tenemos contacto con la máquina máquina (máquina: nombre o IP)
* /sbin/route: Tabla de enrutamiento de nuestro sistema.
* /sbin/ifconfig: Información sobre los distintos dispositivos de red
* netstat: Información valiosa sobre la conexión de red (Este comando tiene muchas posibilidades, ejecutar man netstat
* ls: Lista archivos y directorios, funciona como elcomando dir de DOS.
67
* dir: Idem. anterior.
* cp: Copia archivos/directorios.
* mkdir: Crea directorios.
* mv: Renombrar o mover archivos/directorios.
* date: Indica la fecha y hora del sistema.
* pwd: Indica la ruta absoluta donde se está ubicado.
* history: Muestra el historial de comandos introducidos por el usuario.
* more: Muestra el contenido de un archivo con pausas cada 25 líneas.
* grep: Filtra los contenidos de un archivo.
* diff: Compara archivos.
* wc archivo: Muestra el número de palabras, líneas y caracteres de un archivo.
* wc -c archivo: Muestra el tamaño en bytes de un archivo.
* calendar: Recordatorio de fechas.
* cal: Despliega un calendario.
* cal -my: Calendario completo del año.
* traceroute: Herramienta de red que nos muestra el camino que se necesita para llegar a otra máquina.
* ifconfig: Configuración de interfaces de red, modems, etc.
* route: Gestiona las rutas a otras redes.
* iptraf: Muestra en una aplicación de consola todo el tráfico de red.
* tcpdump: Vuelca el contenido del tráfico de red.
* lsof: Muestra los archivos que utiliza cada proceso.
* lsmod: Muestra los módulos de kernel que están cargados.
* modprobe: Trata de instalar un módulo, si lo encuentra lo instala pero de forma temporal.
* rmmod: Elimina módulos del kernel que están cargados.
68
* sniffit: Husmeador del tráfico de red.
* su: Te conviertes en administrador(root) después de introducir la clave de acceso. Ideal para realizar alguna tarea de administración sin necesidad de salir del sistema y entrar de nuevo como root.
* /usr/sbin/adduser usuario: Registra y crea una cuenta de usuario.
* /usr/sbin/userdel usuario: Borra la cuenta de usuario usuario.
* passwd: Cambia la clave de acceso para el usuario actual. Root puede cambiar la clave de cualquier usuario passwd usuario
* /usr/sbin/groupadd grupo: Crea un nuevo grupo.
* /usr/sbin/groupdel grupo: Borra un grupo.
* more /etc/passwd: Muestra el fichero de claves del sistema. (Si no se usa shadow password)
* more /etc/group: Muestra los grupos registrados en el sistema.
* chmod permisos fichero/directorio: Cambia los permisos de ficheros/directorios
* chown: Cambia los permisos de usuario: grupo de archivos/directorios.
* chgrp: Cambia el grupo de un archivo o directorio.
* umask: Establece que permisos serán deshabilitados para los archivos nuevos.
* lpr archivo: Añade un documento a la cola de impresión.
* lpq: Muestra los documentos en cola de impresión.
* lprm: Cancela la impresión del documento activo.
* tar: Archivador de ficheros.
* gunzip: Descompresor compatible con ZIP.
* mount: Montar unidades de disco duro, diskette, cdrom, etc.
* wget: Programa para descargar archivos por http o ftp.
* lynx: Navegador web con opciones de ftp, https.
* ftp: Cliente FTP.
* whois: Whois de dominios.
69
* who: Muestra los usuarios de sistema que han iniciado una sesión.
* mail: Envío y lectura de correo electrónico.
* sort: Ordena el contenido de un archivo.
* ln: Link para crear enlaces, accesos directos.
* tail: Muestra el final de un archivo.
* head: Muestra la cabecera de un archivo.
* file: Nos dice de que tipo es un archivo.
* cp fichero1 fichero2: Copia fichero1 como fichero2
* mv fichero1 fichero2: Cambia el nombre de fichero1 a fichero2
* mkdir directorio: Crea un subdirectorio
* rmdir directorio: Borra un subdirectorio
* shutdown -t3 -r now: Reinizializa el sistema (hay que hacerlo como root).
* shutdown -t3 -h now: Apaga el sistema (hay que hacerlo como root).
* reboot: Reinicia el sistema.
* poweroff: Apaga el sistema.
* sysctl: Configurar los parámetros del kernel en tiempo de ejecución.
* ulimit: Muestra los límites del sistema (máximo de archivos abiertos, etc...)
* adduser: Añadir usuario de sistema.
* userdel: Eliminar usuario de sistema.
* glxinfo: Información sobre la biblioteca gráfica OpenGL y su extensión GLX.
* showrgb: Lista los colores reconocidos por el sistema y su valor RGB.
* bsdgames: Colección de juegos para consola.
* sl: Tren pasando.
* apt-get moo: La supervaca del apt.
* cowsay muuuuu: Una vaca hablando en su idioma.
70
* cowthink -p ¿¿muuuuu??: Una vaca pensando.
* cowsay -f tux hola: Tux saludando.
* banner (texto): Muestra un cartel en pantalla.
* xwd -root -screen > pantalla.xwd: Capturar la pantalla.
* xwd > ventana.xwd: Capturar la ventana.
* import -window root pantalla.ps (también jpg, png, gif, etc...): Capturar en otros formatos.
* md5sum archivo.iso > archivo.iso.txt: Generar la suma control MD5 de un archivo.
* md5sum -w -c archivo.iso.txt: Verifica la suma control MD5 de un archivo.
COMANDO passwd: El comando passwd se usa para cambiar tu contraseña.
SINTAXIS: La sintaxis es
passwd
OPCIONES:
-a Mostrar los atributos de contraseña para todas las entradas. -l Bloquear la entrada de contraseña por nombre. -d Elimina contraseña por nombre. Al nombre de acceso no se le pedirá contraseña. -f Fuerza al usuario a cambiar la contraseña en el próximo acceso mediante la expiración de la contraseña para el nombre.
EJEMPLO: passwd Introduciendo sólo passwd te permite cambiar la cambiar la contraseña. Después de introducir passwd recibirás la siguiente respuesta:
Current Password: New Password: Confirm New Password: Cada uno de estos datos debe ser introducido correctamente para que la contraseña se cambie satisfactoriamente.
71
Hace poquito instale Ubuntu en mi maquina particionando el disco y compartiendolo con el win7 (que me dan ganas de tirarlo a la mierda aveces pero bue...) y si o si necesitamos usar los comandos en la terminal asi que buscando un poquito encontre esta guia que les va a ser util a mas de uno que tenga ubuntu...espero que les sirva este humilde aporte...Que es bueno para tenerlo hay por si nos surge alguna duda sobre los comandos más usados.
También dispones 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 dejo la lista de comandos más indispensables para Linux:
lslist: 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
cdchange 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…
72
$ 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.
mkdirmake 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
rmremove: 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
73
Otras opciones: “-f” no te pide una confirmación para eliminar o “-v” va mostrando lo que va borrando.
cpcopy: 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.backupmv
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
findfind: 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
74
clear: despejar. Limpia la pantalla/consola quedándola como si acabáramos de abrirla.
$ clear
psprocess 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
killkill: 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
sudosuper-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”.
passwdpassword: 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
75
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 passwdNo 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
aptadvanced 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
76
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”.
aptitudeaptitude: 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
77
$ 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.
dpkgdepackage: despaquetar. Los paquetes cuando se instalan sufren un proceso de despaquetaje. En el fondo un paquete .deb contiene una serie de scripts de pre-instalació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
alienA petición de lector.
Alien: de otro país, de otro planeta. Aunque Debian -y por extensión Ubuntu- dispone 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:
78
* “–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
manmanual: manual. Es otro de los comandos de gran potencia en linux. Normalmente cada programa o comando viene con un archivo de ayuda muy completo sobre su uso y sus argumentos. Cuando desconozcás cómo se usa y qué argumentos tiene un comando o aplicación tan sólo tenes 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 os 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:
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 /etcMuy útil.
79
Sobre mv:Tambien permite mover directorios o renombrarlos$ mv /home/yo/misdocumentos /home/yo/mis_documentos
Sobre 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-binEso 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
alias: permite crear atajos para comandosej,:
$ 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 =) :
80
$ instala mc
La Yapa!!!
Si eres novel en esto de Gnu/Linux Ubuntu o eres un desmemoriado como yo y necesitas tener algunas cosas siempre a mano este fondo de escritorio llega caído del cielo. Podemos descargarlo desde el siguiente enlace:
http://gnome-look.org/content/show.php/ubuntu+quick+guide+command+wallpaper?content=88382
Que es de gran utilidad!!!
81
Eso es todo gente, espero que les sirva, si les gusto dejen su comentario y recomienden!!! Saludos!!!
quiero compartir un par de buenas aplicaciones para Ubuntu, así como para otras distribuciones, las cuales mostraran la tierra en tiempo real en tu fondo de escritorio.
La primera aplicación es Real-Time Sunlight Wallpaper.
http://realtimesunlightwallpaper.weebly.com/index.html
82
Ejecutar las siguientes instrucciones desde la terminal:
sudo add-apt-repository ppa:realtime.sunlight.wallpaper/rsw sudo apt-get update sudo apt-get install gtk-sunlight
La segunda (y mi favorita) es xplanetfx.
http://mein-neues-blog.de/xplanetfx/
Ejecutar las siguientes instrucciones desde la terminal:
wget http://repository.mein-neues-blog.de:9000/PublicKey /> sudo apt-key add PublicKey
rm PublicKey
echo "deb http://repository.mein-neues-blog.de:9000/ /" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
83
sudo apt-get install xplanetfx
Fuentes de Información