Tabla de Contenidos

Trabajo con comandos

Consolas virtuales

Una consola virtual es una manera de conectarse a Linux sin entorno gráfico. De esta forma nos comunicaremos con el sistema operativo a través de comandos.

Linux tiene diferentes terminales a través de los que podemos conectarnos con una consola (todo esto viene de la época en la que terminal, consola y monitor eran dispositivos diferentes, hoy pueden considerarse sinónimos). Los terminales son nombrados como ttyn, siendo n el número de terminal. El número de terminales disponibles puede variar de una distribución a otra.

Para abrir cada terminal pulsamos ctrl + alt + F[1-7], según el número de terminal a utilizar. Para comenzar a usar el terminal, debemos identificarnos con nuestro usuario y contraseña.

Permisos en la ejecución de comandos

Los comandos son órdenes introducidas mediante texto al sistema. El superusuario root no tendrá ningún límite, pero los usuarios corrientes, sólo podrán realizar acciones en su directorio de usuario.

Los comandos pueden tener opciones que agregan funcionalidad a su cometido principal. Estas opciones pueden definirse con el carácter - seguido de una letra, o – seguido de una palabra. Para definir varias opciones con -, basta con indicar las letras a continuación del guión (sin espacios).

En algunas distribuciones linux (como Ubuntu) el usuario root no está activado por seguridad, por lo que el usuario primario (el que se creó al instalar el sistema operativo), es el que asume la capacidad de root a través del comando sudo, antepuesto a cualquier otro que requiera permisos de superusuario.

Es posible activar el usuario root con la instrucción:

sudo passwd root

El sistema nos pedirá su contraseña y el superusuario quedará activo. Para asumir el papel de root sin activarlo podemos acceder a las siguientes instrucciones:

sudo -i
sudo su

Con el comando exit volveríamos a nuestro usuario.

Para ejecutar abrimos un terminal en nuestro escritorio Linux, clicando en el icono “terminal”, o pulsando ctrl + T. Para abrir un terminal de root, escribimos en un terminal común:

gksu terminal

La mayoría de los comandos que sólo se pueden ejecutar con permisos de superusuario se encuentran en /sbin y /usr/sbin.

Comandos de ayuda

man: manual de comando

Proporciona información acerca del comando especificado.

man ls

xman: manual de comandos gráfica

Accedemos en el entorno gráfico al manual de comandos. No hay que escribir nada más.

help: ayuda

Se especifica como opción de un comando precedido de dos guiones. Muestra la ayuda del comando y lista sus opciones. También puede ejecutarse como -h.

wget --help

info: programa ayuda

Al especificar un comando, pasamos a una interfaz navegable con enlaces entre páginas. Muy útil cuando man no es suficiente, o no tiene entrada a otro comando.

Los enlaces se indican con *, seguido por el título del enlace seguido de ::. Para seguir un enlace, se pone el cursor sobre él y se pulsa intro.

Para navegar por este programa:

Se sale del programa pulsando la letra q.

apropos: buscar comando

Introduciendo una palabra clave, o parte de la palabra, la busca en las páginas del manual (man) y las descripciones.

whatis: descripciones de comandos

Muestra un resumen de las especificaciones del comando, extraídas de la descripción breve de las páginas del manual.

Comandos para trabajar con archivos y directorios

ls: listado de directorio

El comando ls lista el contenido del directorio donde nos encontremos, o del directorio especificado. Pueden usarse comodines (carácter * que vale por cualquier cadena de caracteres), y la tecla TAB para autocompletar el nombre de archivos y directorios.

Opciones:

Un comando similar a éste es dir.

cd: acceder a directorios

El comando cd sirve para moverse por el árbol de directorios. para ello basta con especificar el directorio al que acceder a continuación de cd:

cd Documentos/Aula\ Mentor

En el ejemplo anterior, el carácter \ es el caracter de escape: al ponerlo se indica que el espacio es parte del nombre.

Puede usarse . para indicar que se parte del directorio actual, y .. para indicar que se parte del directorio inmediatamente superior. Si escribimos cd .. accederíamos al directorio superior. El carácter / al comienzo, indica que partimos del directorio raíz.

Si escribimos simplemente cd, accederíamos al directorio principal del usuario.

No olvidar que con la tecla TAB autocompletamos el nombre del directorio que estamos escribiendo, siempre que no haya otra coincidencia.

mkdir: creación de directorios

Sirve para crear directorios. Un usuario normal sólo puede crearlos en su propio directorio.

rmdir: borrado de directorios

El directorio debe de estar vacío para poder borrarlo. Sólo podrán borrarse directorios que se encuentren bajo el directorio del usuario (salvo si es root).

cp: copiar

Comando para copiar archivos y directorios. Hay que tener cuidado, ya que por defecto, si asignamos un nombre que ya existe, este archivo se sobrescribirá (perderemos esa información irremediablemente).

cp [archivo a copiar] [nuevo archivo copiado]

Se puede indicar el directorio en el que nos encontramos con un punto.

mv: mover

Este comando sirve tanto para mover un archivo o directorio de una ubicación a otra, como para cambiar el nombre a un archivo o directorio.

mv  archivoOrigen archivoDestino

Si en el archivo de destino indicamos otro nombre diferente del archivo de origen, cambiará el nombre. Si la ubicación de origen y destino es la misma, el archivo (o directorio) cambiará de nombre.

rm: borrar archivos y directorios

Lo borra bien borrado. Algunas opciones útiles:

chmod: gestión de permisos

Cambia los permisos de los archivos y directorios de los que el usuario es propietario. Sólo el superusuario puede modificar los permisos de cualquier archivo.

chmod [opciones] [modo de cambio] [archivo|directorio]

Las opciones más comunes son:

Existen dos modos, o maneras, de cambiar los permisos:

chmod 764 directorio1/archivoPrueba
chmod go+w, g-x directorio1/archivoPrueba

chown: cambio de propietario y grupo

Para poder cambiar el usuario propietario y el grupo propietario de un archivo o carpeta se utiliza el comando chown (change owner). Para ello hay que disponer de permisos de escritura sobre el archivo o carpeta.

Sintaxis: chown [nuevo_usuario] [nuevo_grupo] [nombre_archivo]

umask: máscara de permisos

Con umask podemos definir la máscara de permisos, es decir, podemos elegir los permisos por defecto que tendrá un archivo o carpeta tras su creación.

Cuando se crea un archivo, los permisos originales por defecto son 666 y cuando se crea una carpeta, los permisos por defecto son 777.

El permiso por defecto será el resultado de restar del permiso original, el valor de la máscara. Si deseamos que los archivos se creen con permisos 644 (lo más habitual), pondremos máscara 022 ya que 666-022=644. Si analizamos el valor de la máscara en binario, cada bit a '1' desactiva un permiso y cada bit a '0' lo activa.

Cada usuario tiene su máscara. Se puede fijar la máscara por defecto para todos los usuarios en el archivo /etc/profile o para cada usuario en el archivo /home/usuario/.bashrc

La modificación con umask de la mascara por defecto no afecta a los archivos y carpetas existentes sino solo a los nuevos que cree ese usuario a partir de ese momento.

cat: muestra contenido

Muestra el contenido de uno o varios ficheros de texto por la pantalla. Si el contenido es muy largo, sólo se verá el final, por lo que puede usarse unido a otros dos comandos separados por el carácter '|' para solucionarlo:

Si se especifican varios ficheros, se imprimirán en pantalla uno a continuación de otro sin ningún tipo de separación.

ln: crea enlace a fichero

Crea un enlace a un fichero que puede estar en otra ubicación. Hay de dos tipos:

Comandos para obtener información del sistema

dmidecode: información del sistema (root)

Este comando requiere permisos de superusuario o root. Muestra una gran cantidad de información del sistema. Para poder ver la salida del terminal paginada, se utiliza la sintaxis dmidecode | less. Para salir del paginador, se pulsa la letra q.

df: información de particiones

Muestra información de las particiones del sistema: tamaño, espacio usado, espacio disponible y punto de montaje (esto es la ubicación donde se han montado).

La opción -h muestra las unidades de los tamaños (Mb, Gb, etc.).

du: información de directorio

Muestra información relativa al directorio especificado: espacio que ocupa y subdirectorios que incluye.

La opción -h muestra las unidades de los tamaños (Mb, Gb, etc.).

date: fecha

Muestra la fecha en formato local. Con la opción -u se obtiene la fecha universal.

lspci: dispositivos PCI

Muestra los dispositivos PCI conectados al ordenador. Con la opción -vmm se informa información más detallada acerca de cada dispositivo.

uname: información del sistema

Muestra información del sistema Linux al que estamos conectados. Con la opción -sr nos informa además del nombre y versión del kernel de Linux.

lsb_release: información de distribución Linux

Ofrece información de la distribución de Linux que estamos usando. Con las opciones -icd indica distribución, versión y nombre.

Comandos de gestión de usuarios (permisos de root)

adduser: crear usuario o grupo vacío

Crea un nuevo usuario. Su sintaxis es adduser [nombreNuevoUsuario], y tras introducir el comando, el sistema pide su contraseña. El directorio del nuevo usuario se encuentra en /home, y sus archivos de configuración en /etc/skel. Por defecto, al crearse un nuevo usuario, se crea un grupo con su mismo nombre.

Las opciones de este comando se encuentran en el archivo /etc/adduser.conf.

Puede especificarse un grupo al que se añadirá al nuevo usuario que se va a crear, con la sintaxis adduser [nombreNuevoUsuario] [nombreGrupo].

También puede especificarse para crear un grupo vacío (sin ningún usuario) con la opción –group y especificando el nombre del nuevo grupo.

addgroup: crear grupo vacío

Crea un grupo que no contiene ningún usuario. Equivalente a adduser –group [nombreNuevoGrupo]

deluser: Borra usuario

Borra el usuario cuyo nombre se especifique a continuación, pero no su directorio /home/usuario. Para ello puede usarse la opción –remove-home. También se usa para eliminar a un usuario de un grupo, con la sintaxis: deluser [nombreUsuario] [nombreGrupo].

addgroup: crear grupo

Se utiliza para crear un grupo nuevo vacío. La sintaxis es: addgroup [nombreGrupo].

delgroup: borrar grupo vacío

Borra un grupo de usuarios que esté vacío. Sintaxis del comando: delgroup [nombreGrupo].

Comandos de gestión de paquetes

apt-get: instalación de paquetes desde internet

Comando que sirve para instalar paquetes desde internet, equivalente a la herramienta gráfica Synaptic.

dpkg: instalación de paquetes locales

Instala un paquete que se encuentre en el equipo local. Mas información en la sección de Gestión de programas.

Comandos de montaje de dispositivos

mount: montar unidad

Incorpora un dispositivo. Si se ejecuta sin opciones, lo incorpora al directorio raíz. Lo habitual es usar la sintaxis: mount [opciones] [dispositivo] [puntoMontaje], en el que puntoMontaje hace referencia a la ubicación del dispositivo en el árbol de directorios.

Algunas opciones:

Un ejemplo:

mount -t ext3 /dev/sda2 /mnt

umount: desmontar unidad

Este comando desmonta un dispositivo del árbol de directorios. Puede especificarse el dispositivo o el punto de montaje.

Comandos de red

ifconfig: información conexiones

Muestra información de las conexiones de red.

iwconfig;; información conexiones inalámbricas

Muestra información de las conexiones inalámbricas.

Comandos de gestión de procesos

/etc/init.d/[proceso] [acción]

Ejecutar una acción para un proceso concreto. Las acciones que se pueden ejecutar para cualquier proceso del sistema son:

halt: detención de procesos y apagado

Este comando detiene todos los procesos abiertos del sistema y apaga el equipo.

reboot: reinicio del sistema

Este comando detiene todos los procesos abiertos del sistema y reinicia el equipo.

Otros comandos

wget: gestor de descargas desde web

Este gestor de descargas puede usarse para descargar un archivo desde una página web o dirección ftp, con la sintaxis: wget [rutaArchivo]. El archivo se descargará en el directorio donde nos encontremos. Pueden descargarse varios archivos, separando con un espacio las diferentes rutas: wget [rutaArchivo1] [rutaArchivo2] [rutaArchivo3].

Pueden usarse las siguientes opciones:

También es posible usar wget para descargar páginas web completas, indicándo su ruta. En este caso pueden usarse estas opciones: