Comandos Unix/Linux

Colección de apuntes sobre comandos Unix/Linux, aunque algunos de los ejemplos están basados en la distribución de Ubuntu, la mayoria de ellos son aplicables a cualquier distro.

LINUX

Biblioman

12/6/200719 min leer

Sistema de ficheros en un Sistema Operativo UNIX/LINUX

Resumen de los directorios más importantes:

  • /bin: contiene los ejecutables (binarios) esenciales para el sistema. Si observamos su contenido encontraremos los comandos más básicos.

  • /boot: aquí están los archivos usados por el sistema durante el arranque, incluida la imagen del núcleo.

  • /dev: almacena los controladores (device drivers o device files) para el acceso a los dispositivos físicos del disco, como el ratón, las tarjetas, el escáner, etc.

  • /var: suele contener información variable, tanto generada por el propio sistema como por los usuarios. Contiene algunos subdirectorios interesantes:

  • /var/lock: alberga los ficheros de bloqueo para indicar al sistema que un determinado dispositivo es inaccesible cuando está siendo usado por alguna aplicación.

  • /var/log: es la bitácora del sistema, puesto que aquí se almacenan los registros detallados de toda la actividad desarrollada en el transcurso de una sesión de trabajo.

  • /var/spool: contiene información preparada para ser transferida, por ejemplo, los trabajos de impresión o los mensajes de correo.

  • /lib: contiene las librerías usadas por diferentes aplicaciones, evitando que cada programa incluya las suyas propias con la consiguiente redundancia de ficheros.

  • /etc: es el directorio destinado para almacenar todos los archivos de configuración del sistema.

  • /home: contiene el árbol de directorios propio de cada usuario del sistema. Encontraremos un subdirectorio para cada usuario, lo que en el entorno gráfico se llama carpeta personal. Es una buena costumbre situar este directorio en una partición independiente para salvaguardar los datos en caso de catástrofe o para reinstalar completamente un sistema distinto respetando el trabajo anterior.

  • /sbin: aloja comandos esenciales de administración del sistema, normalmente reservados al administrador.

  • /usr: donde se almacenan las aplicaciones y recursos disponibles para todos los usuarios del sistema.

Destacaremos:

  • /usr/bin: contiene la mayoría de programas y comandos a disposición de los usuarios.

  • /usr/share: suele contener datos compartidos independientes de la máquina, como la documentación de los programas o colecciones de imágenes para el escritorio.

  • /tmp: es un directorio temporal usado generalmente por las aplicaciones para almacenar algunos ficheros en tiempo de ejecución.

  • /media: cuando montamos un CDRom, una memoria usb o un disquete se crea aquí automáticamente un subdirectorio .

  • /media/cdrom0 para la primera unidad de cdrom

  • /media/usbdisk para la memoria usb

  • /media/floppy para el disquete

Operaciones con ficheros

  • df[opciones] visualiza el punto de montaje, el número de bloques libres y si le pongo la opción -i los inodos libres en cada sistema de archivos.

  • du[opciones] directorio|fichero informa de los bloques totales que usa el directorio sumando lo que ocupan los objetos de toda la rama que cuelga de él.

Opciones:

-a recursivamente

  • fdformat /dev/fd0: formatea a bajo nivel la disquetera.

  • mkfs ext2|ext3 /dev/fd0: crea el sistema de archivos ext2 ó ext3 en un dispositivo.

  • mkdosfs /dev/fd0: crea un sistema de archivos en formato 2 en un dispositivo

  • cfdisk dispositivo: programa visual para hacer particiones en dispositivos.

  • mount /dev/fd0 /floppy: monta la disquetera en el directorio floppy.

  • umount dispositivo: desmonta sistemas de ficheros.

Tipos de dispositivos:

/dev/fd0: disquetera

/dev/hda1: partición de disco duro no1

/dev/hdc: cdrom

nota: el lápiz USB se monta en /media/usbdisk

Para ver que sistemas de archivos hay y con qué características se montan cuando el sistema arranca hay que mirar el fichero fstab:

Ejemplo:

cat/etc/fstab

Manejo de Directorios y Ficheros

  • cd: cambia de directorio activo, cd solo te lleva a tu HOME. Un punto para referirse al directorio actual. Dos puntos .. al directorio padre.

  • ls: lista el contenido de un directorio.

-a: lista los ocultos.

-R: lista recursivamente

-r: lista en orden inverso

-f: visualiza un * en los ejecutables, una / junto a directorios y @ junto E. simbólicos.

-s: muestra el tamaño en bloques.

-l: formato largo.

-i: muestra el i-nodo

-d: para ver el listado de los directorios sin lo que llevan dentro

Ejemplo:

ls -Ra ./*/mensaje → lista a partir de mi directorio actual y mira en el siguiente directorio sea cual sea su nombre.

  • mkdir: crea directorios. Se pueden crear varios a la vez. Se debe tener permiso de escritura donde se vayan a crear.

  • mkdir -p directorio/ sirve para crear ramas de directorios.

  • rmdir: borra uno o más directorios, siempre que los permisos lo permitan. Los directorios tienen que estar vacíos. No se puede eliminar el directorio actual. Se pueden usar meta caracteres.

  • rmdir -p directorio borra una estructura entera si sus directorios están vacíos.

  • mv: mueve o renombra (si están en el mismo sitio) ficheros o directorios. Cuando se mueve un archivo se conserva el i-nodo.

Ejemplo:

mv directorio1 directorio2 → los directorio pueden estar llenos.

  • cp fichero1 fichero2: hace una copia de fichero1 en fichero2 . Si el destino existe lo sobrescribe sin preguntar. Si el destino existe y sobrescribimos se cambia el contenido, pero se conserva el propietario y los permisos de destino. Si no existe el destino lo crea y mantiene los permisos de origen.

Parámetros opcionales:

-i: pregunta al usuario si quiere copiar sobre el destino ya existente

-R: copia de forma recursiva lo que hay en carpeta 1 en carpeta2

Ejemplo:

cp -R carpeta1 carpeta2 → Copiará la carpeta1 y todo su contenido en carpeta2.

-p: al hacer la copia mantiene la fecha, hora, propietario y permisos

-f: sobrescribe el destino en caso de existir aunque no se tenga permiso de escritura sobre el pero es necesario tener permiso sobre el directorio en el que está.

  • rm: elimina archivos de uno o varios directorios.

-i: pregunta antes de borrar cada archivo.

-f: elimina el archivo aunque no tengamos permiso para suprimirlo, pero se debe de tener permiso sobre el directorio en el que está.

-r: borra todo el contenido del directorio así como el propio directorio.

Ejemplo:

rm -r directorio1 → Borrará el directorio1 así como todo su contenido.

Búsqueda de ficheros

Para buscar uno ó varios ficheros en el conjunto de directorios se utiliza el siguiente comando:

  • find directorio -opcion1 -opcion2 ....

Opciones:

-name nombre del archivo (o directorio) a buscar

-user todos los archivos del usuario que especifiquemos

-type x donde x puede ser: b = archivo de bloque, c = archivo tipo carácter, d = directorio, f = fichero normal, l = enlace simbólico.

-print muestra en pantalla la ruta de todo el archivo

-perm [-]nnn buscaría todos los archivos cuyos permisos de acceso sean los indicados (en

octal).

-size n buscaría todos los archivos con n bloques (512 bytes). Con size nc los de n bytes ó caracteres.

-follow buscaría siguiendo los posibles enlaces

-exec xx "{}" ";" sirve para ejecutar un determinado comando "xx" en los archivos encontrados.

-xdev no extender la búsqueda a otros sistemas de archivos

-not invierte lo que va detrás

-empty busca archivos o directorios vacios

-links n busca archivos o directorios con n enlaces.

-inum n encuentra el archivo con el número de enlace n

-nouser usuarios que no pertenecen ya al sistema

Ejemplo:

find / -nouser -exec rm -r "{}" ";" →buscaríamos a partir del directorio raíz todos los archivos y directorios de usuarios que ya no pertenecen al sistema y los borraríamos.

Metacaracteres

Los Metacaracteres nos permiten hacer búsquedas muy selectivas veamos cómo se utilizan con unos ejemplos:

t???[a-b] → ficheros que empiezan por t, con cinco letras y que acaban en una letra que va de la a-b.

???q[¡b]→ ficheros de 5 letras cuya cuarta letra es una q y su quinta letra es distinta de b.

ls *→ lista todos los ficheros del directorio actual.

[a-gK-O4-7]→ es equivalente a [abcdefgKLMNO4567]

Significado de los permisos:

  • Lectura (r): Quien tiene este permiso sobre un archivo puede leerlo pero no modificarlo ni borrarlo. Si se trata de una carpeta podrá listar su contenido pero no podrá ver las características de los archivos o carpetas que contenga, como tampoco podrá borrarla o crear subcarpetas.

  • Escritura (w): Quien tiene este permiso puede modificar o incluso borrar el archivo. Si se trata de una carpeta podrá eliminarla o crear nuevas subcarpetas dentro de ella.

  • Ejecución (x): Si se trata de un fichero binario quien posea este permiso podrá ejecutarlo. Si se trata de una carpeta podrá explorar su contenido y acceder también a las características de los archivos o carpetas que contenga.

Cambios en los permisos: el comando chmod

El comando chmod es el que nos permite cambiar los permisos a un archivo ó directorio veamos como utilizarlo:

chmod [quien] op permisos archivo

quien: u = propietario, g = grupo, o = otros, a = todos

op: + añade permisos - retira permisos

permisos: r = lectura, w = escritura, x = ejecución

Ejemplo:

chmod a+w prueba → Este comando añadirá permisos de escritura a todos los usuarios para el archivo prueba.

Se pueden asignar permisos en forma Octal para ello hay que tener en cuenta la siguiente nomenclatura:

chmod rwxrwxrwx prueba → Donde cada uno de los grupos rwx se representa por un número en base octal.

Ejemplo:

chmod 755 prueba → asigna todos los permisos al usuario y solo de lectura y ejecución al resto.

Para entenderlo mejor se puede transformar cada número en Octal a binario y teniendo en cuenta que un 1 asigna permisos y un 0 los quita, podemos comprender que permisos tienen cada uno de los grupos de usuarios.

rwx rwx rwx

111 101 101

usuario grupo otros

umask nnn este comando se utiliza para configurar de forma predeterminada los permisos que tendrán los archivos y directorios cuando son creados, se modifica en el archivo /etc/profile y tienes que entrar como administrador para poder modificarlo.

Cambiar el propietario de un archivo

Se utiliza el comando chown y sirve para que el usuario root pueda cambiar de propietario a uno o varios ficheros

Ejemplo:

chown propietario fichero

propietario = nombre del usuario que pasará a ser propietario del fichero

fichero = nombre del fichero al que se le cambia el propietario.

Procesos

ps [opciones] muestra información de los procesos activos.

pssin parámetros muestra solo los procesos que son propiedad del usuario actual.

Opciones:

-f muestra información del proceso que se está ejecutando.

-e todos los procesos activos en el sistema.

-ef todos los procesos que se están ejecutando en el sistema con información sobre el proceso.

-l formato largo

sleep suspende la ejecución durante el tiempo especificado como argumento

Ejemplo:

sleep 50 → suspende la ejecución durante 50 segundos.

nice -n → comando sirve para disminuir la prioridad de nuestros procesos. Se puede disminuir la prioridad entre 1 y 19. Números mayores significan prioridad inferior.

Ejemplo:

nice -5 ./shell_13& → disminuye la prioridad en cinco unidades al scrip llamado shell_13 que se está ejecutando en segundo plano.

Procesos en segundo plano ó BACKGROUND

comando& se utiliza para no tener que esperar a que se acabe de ejecutar un comando y poder seguir trabajando con el sistema.

Salir del sistema → control-D

exit → mato los procesos en Background.

Ejemplo:

sleep& → ejecutará sleep en segundo plano

Comando NOHUP

Hace que el proceso no muera cuando se sale del shell que lo ha creado, el proceso padre toma el control. Nos permite dejar trabajos realizándose aunque no estemos físicamente conectados al ordenador. Este comando se utiliza normalmente junto a procesos background. Si la salida del resultado no la redireccionamos, tanto la salida estándar como la de error son enviadas a un archivo llamado nohup.out.

Ejemplo:

nohup comando&

Tiempo de ejecución de los Procesos

time comando ejecuta el comando y calcula el tiempo que ha empleado en hacerlo.
La información del cálculo del tiempo, aunque se direccione la salida se muestra en pantalla.

Ejemplo:

time ls

Matar un Proceso

kill este comando usado junto al PID mata el proceso. Este método es útil para los procesos que se ejecuten en background.

Ejemplos:

kill 5624 mata el proceso cuyo PID es 5624.

kill -1 5624 reinicia el proceso cuyo PID es 5624

kill -9 4904 el proceso se detendrá inmediatamente y no se reiniciará. Se utiliza por ejemplo para liberar un terminal que quedo bloqueado.

kill -15 4904 detendrá el proceso cuyo PID es 5624 y todos los procesos secundarios que dependen de el.

Agregar un nuevo Usuario

useradd [opciones] nombre de usuario

Opciones:

-c comentario Para poner un comentario sobre el usuario

-d directorio Especificamos la trayectoria absoluta del directorio de conexión HOME. En este directorio se copiarán los ficheros del usuario como el .profile

-m Si el directorio de conexión no existe lo crea, siempre que exista el directorio padre de este.

-g grupo El grupo de usuarios al que se conecta el usuario. Debe existir previamente.

-G grupo1,grupo2,.. Otros grupos a los que se añadirá el usuario.

-s shell Trayectoria absoluta del shell de conexión. Para el shell Korm hay que poner la ruta /bin/ksh y para el shell bourne /bin/sh.

Ejemplo:

useradd -m -d /home/pruebas/pepiton -c"pepiton rondelo" -G grupillo pepiton

Si esta creada la carpeta pruebas, crea la carpeta de usuario pepiton, añade el usuario pepiton al grupo grupillo con el comentario pepiton róndelo.

Nota: para ver a un usuario se utiliza el comando finger

Modificar la cuenta de un Usuario

usermod [opciones] nombre de usuario

opciones:

-s /bin/ksh → Cambiará el shell del usuario a shell korm. Para el Borne shell lo mismo pero en vez de ksh se pone sh. (en etc/shells está la lista de shell).

-m -d /usr/ciclo/usuarioA usuarioB

Suponiendo que exista el directorio ciclo creará el directorio usuarioA, trasladará a este todo lo contenido en el antiguo directorio (usuarioB), borrará este y establecerá el nuevo como directorio de conexión (HOME) para el usuario.

Nota: Las opciones de este comando así como la de otros, son solo algunos ejemplos. Si se quiere un listado completo de las opciones de cada comando se puede utilizar la ayuda que ofrece el comando "man".

Ejemplo:

usermod -m -d /home/pepita pepita

Estando creado /home crea la carpeta pepita traslada todo el antiguo HOME de pepita a esta carpeta,la convierte en su nuevo HOME y borra el antiguo HOME de pepita.

Borrar a un Usuario

userdel [opciones] nombre usuario

Con este comando borramos la cuenta de un usuario del sistema, pero no borra su directorio ni todos los objetos de su propiedad. Estos aparecen después como propiedad de un usuario, con el identificador UID que tenía el usuario antes de ser borrado. Para borrar del sistema todos los objetos propiedad de un usuario que ya no existe, podemos hacerlo con el comando find.

Ejemplo:

userdel pepito

find / -nouser -exec rm -r "{}" ";"

El primer comando borrará al usuario pepito del sistema y el segundo encontrará los objetos que no pertenecen a ningún usuario y los borrará.

Crear un Grupo

groupadd nombre

El comando groupadd crea un grupo con el nombre que le pongamos. El grupo que hemos creado lo podemos ver en: /etc/group

Modificar las propiedades de un Grupo

groupmod -A juan gjuan

juan es el login del usuario.

gjuan es el nombre del grupo al que queremos que pertenezca. Seguirá
perteneciendo a los grupos que pertenecía anteriormente.

groupmod -R juan gjuan saca al usuario juan del grupo gjuan.

Eliminar un Grupo

groupdel gjoseelimina el grupo gjose

Ficheros importantes en la configuración del sistema

/etc/passwd se guarda la definición de los usuarios del sistema.

/etc/shadow define los valores de contraseña de un usuario.

/etc/group para ver los grupos que tiene el sistema.

/etc/shells muestra una lista con los shells disponibles.

/etc/default/passwd opciones por defecto de passwd cuando se crea un usuario.

/etc/default/accounts opciones por defecto en la creación de grupos.

/etc/login.defs lo mismo que lo anterior.

/etc/skel ficheros que se instalan por defecto en el home que creamos.

/etc/apt/sources.list lista los repositorios disponibles en las distribuciones de Ubuntu.

/etc/fstab en este archivo se guarda información de los puntos de montaje del sistema.

  • Descripción de los campos de /etc/shadow

Vamos ha describir cada uno de los campos de que dispone el fichero "shadow", para editarlo tienes que tener privilegios de root. Empezaremos de izquierda a derecha y teniendo en cuenta que cada campo está separado por dos puntos tal y como indica la figura de arriba.

1.- Nombre del usuario

2.- Contraseña cifrada del usuario. Si está vacío el campo el usuario no tiene contraseña. Si tiene "*LK*", la cuenta está bloqueada. "*RETIRED*", si la cuenta esta retirada. Si tiene "*" la contraseña se pondrá mas tarde.

3.- Número de días que han pasado desde el 1 de enero de 1970 hasta que se cambio por última vez la contraseña.

4.- El número de días que deben de pasar hasta que el usuario pueda volver a cambiar la contraseña. Un 0 indica que se puede cambiar ya.

5.- Número de días validos con la contraseña actual. 99999 es lo max. que se puede poner.

6.- Numero de días de antelación con el que se avisa a un usuario de que debe de cambiar su contraseña.

7.- después de caducada la contraseña cuantos días quieres que le funcione la cuenta. Si hay -1 ningún día.

  • Descripción de los campos de /etc/passwd

jose:x:1000:100:jose antonio:/home/jose:/bin/bash

Vamos a describir a continuación cada uno de los campos del fichero passwd de un usuario cualquiera:

1.- Login del usuario. Debe de tener entre 1 y 8 caracteres.

2.- Clave del usuario. Si aparece una x es que está encriptada en /etc/shadow.

3.- Número de identificación del usuario (UID)

4.- Número de identificación del grupo (GID) al que pertenece el usuario.

5.- Comentario sobre el usuario (en este ejemplo aparece el nombre)

6.- Directorio del HOME del usuario.

7.- Shell de conexión del usuario.

Nota: para quitar la contraseña a un usuario por medio de estos ficheros, en/etc/passwd borro la x y añado un espacio y en /etc/shadow borro el segundo campo (El de la clave).

Comandos aplicables a Usuarios y Contraseñas

  • passwd: cambia o asigna contraseña. Al menos 6 caracteres. Son significativos los 8 primeros. Deberá tener al menos 2 caracteres alfabéticos y uno numérico. La contraseña es registrada en etc/shadow.

  • uname: se obtiene el nombre del sistema operativo.

  • logname: muestra el nombre del login.

  • id: número de identificación de usuario, también especifica el grupo de usuarios al que va a pertenecer, lo que repercute en los permisos de acceso. Esta información se obtiene de /etc/passwd y /etc/group.

  • date: hora del sistema. Para ajustar date MMDDHHmmYY. Mes día hora minutos años.

  • who: login de usuario. Esta información se obtiene de /etc/utmp.

  • pwd: sirve para saber en qué directorio estamos.


Comandos utilizados como root:

  • passwd -d usuario: le elimina la clave al usuario.

  • passwd usuario: le asigna una nueva clave al usuario.

  • passwd -e usuario: fuerza al usuario a cambiar la contraseña la próxima vez que se conecte.

  • passwd -n días usuario: mínimo número de días que tienen que pasar entre cambios de contraseña.

  • passwd -x días usuario: días que durará la contraseña sin ser cambiada. Terminados estos el sistema obligará al usuario a cambiarla.

  • passwd -r número usuario: número de reintentos permitidos para cambiar una contraseña y ponerla correcta.

  • passwd -S usuario: visualiza un informe de las características de la contraseña. Si el usuario está bloqueado o retirado.

Pasos a seguir para compilar código fuente

  1. Mirar si existe un fichero de texto llamado INSTALL que explique cómo se debe compilar el código fuente.

  2. Si no existe el procedimiento general es el siguiente:

Este tipo de programas suele estar comprimido en ,tar,gz ó ,tar,bz:

  • para descomprimir un archivo en ,tar,gz haremos lo siguiente:

tar -zxvf paquete .tar.gz

  • para descomprimir un archivo en ,tar,bz haremos lo siguiente:

tar -jxvf paquete .tar.bz

Con ambos se nos creará una carpeta nueva con los datos descomprimidos.

Entramos en el directorio que se ha creado tras la descompresión y ejecutamos los siguientes comandos:

./configure (solo si vemos tal archivo).

make

make install

Como montar un dispositivo Hardware

En este apartado vamos a ver los comandos y ficheros que están implicados en el montaje de dispositivos hardware. A diferencia de los Sistemas operativos Windows, en Unix/Linux si queremos acceder a los dispositivos hardware hay que montarlos antes en un punto específico del arbol de directorios. Los comandos y ficheros implicados en ello son los siguientes:

/etc/fstab en este fichero se guarda información de los puntos de montaje del sistema.

mounteste comando sirve para montar los distintos dispositivos del sistema, así como para montar los puntos de montaje que ya tenemos configurados en el archivo /etc/fstab para que no se monten automáticamente.

Ejemplo 1:

Tenemos el dispositivo /dev/sda1 y queremos montarlo en la carpeta /mnt/pmontaje.

En el archivo /etc/fstab escribiremos la siguiente línea:

mount -t auto /dev/sda1 /mnt/pmontaje

Ejemplo 2:

Tenemos añadido un punto de montaje en el archivo fstab de la siguiente manera:

/deva/sda1 /mnt/pmontaje auto rw,user,noauto 00

al tener definido el punto de montaje en fstab podemos montar el dispositivo de dos formas diferentes:

1. mount /dev/sda1

2. mount /mnt/pmontaje

De igual forma podemos acceder al dispositivo de dos formas diferentes:

1. /dev/sda1

2. /mnt/pmontaje

Ejemplo 3:

Queremos montar una partición de disco con un sistema de archivos fat 32:

En el archivo fstab escribiremos la siguiente línea:

/dev/hdb1 /mnt/windows vfat rw,user,noauto 00

/dev/hdb1 dispositivo. Parte física de la partición que queremos montar. Ejemplo: hdb1 sería la primera partición del segundo disco duro, hda2 sería la segunda partición del primer disco duro.

/mnt/windows punto de montaje. Podemos poner cualquier carpeta que tengamos creada.

vfat tipo de sistema de archivos vfat es para fat 32, pero podemos poner otro como ntfs ó ext3.

rw,user,noauto opciones.

rw se podrá leer y escribir en la partición.

user los usuarios podrán montar el dispositivo.

NOTA: los usuarios tienen que tener permisos en la carpeta de montaje.

noauto el sistema de archivos no se monta automáticamente, es el usuario el que debe montarlo con el comando mount.

Distintos tipos de repositorios en Ubuntu

Los distintos tipos de repositorios de donde podemos instalar paquetes son:

  • Main: Totalmente software libre y soportado por el equipo de Ubuntu.

  • Restricted: Software libre en su mayoría con algún software que no es totalmente libre, sobretodo Drivers. Son soportados por el equipo de Ubuntu.

  • Universe: Se encuentran todos los paquetes disponibles en Linux, incluso con licencias restrictivas. No está soportado por el equipo de Ubuntu, ni ofrece actualizaciones de seguridad ni soporte alguno.

  • Multiverse: Contiene paquetes cuya licencia no es libre, este software no está soportado por el equipo Ubuntu.

Comandos de Consola en Ubuntu

  • sudo nautilus me pide la contraseña de administración y después me abre el explorador nautilus como si fuera el administrador.

  • ALT+F2 me aparece una ventana para ejecutar aplicaciones.

  • sudo -s para convertirme en super usuario una vez introducida la clave.

  • man -k palabra a buscar busca información en man sobre un comando que no conocemos muy bien su sintaxis.

  • lp archivo imprime el documento de texto llamado archivo.

  • ifconfig | lp ejecuta el comando ifconfig y el resultado lo imprime en la impresora predeterminada.

  • history nos muestra los últimos comandos ejecutados.

  • df -h muestra el espacio de disco usado en los sistemas de archivos de todas las particiones. La información la da en MB y GB.

  • top la orden top muestra información del sistema (Procesos en ejecución, memoria usada, etc.). Para salir de top pulsar la tecla q.

  • free -m nos muestra la cantidad de memoria usada y libre en MB.

  • uname -a nos muestra el nombre del equipo y la versión del núcleo que estamos usado.

  • lsb_release -a nos muestra información de la versión de Ubuntu que estamos utilizando.

  • sudo fdisk -l nos da información de las particiones que tenemos y de su tamaño expresado en bloques.

  • w este comando le dice al administrador del sistema quien tiene una sesión abierta, donde tiene la sesión abierta y que está haciendo.

  • ac proporciona información sobre el tiempo de conexión de un usuario medido en horas. El comando accede al archivo /var/log/wtmp para obtener esta información. Para poder utilizar este comando debe estar instalado el paquete acct.

  • last busca en el archivo /var/log/wtmp y lista todos aquellos usuarios que iniciaron y cerraron sesión desde que se creó el archivo.

  • lastb muestra todos los inicios de sesión fallidos ó erróneos, un comando bueno para saber si alguien está intentando entrar en nuestro sistema.

  • sudo update manager -d para actualizar nuestra versión de Ubuntu a una posterior.


Comandos para la instalación de paquetes en modo Consola con APT

  • apt-cache search "anjuta"busca el nombre o descripción del paquete que tenemos entre comillas.

  • apt-cache show attr anjuta1.2.4nos muestra información de los atributos del paquete.

  • sudo apt-get install nombre_paqueteinstala el paquete especificado en nombre_paquete.

  • sudo apt-get remove nombre_paqueteborra el paquete especificado en nombre_paquete

  • sudo apt-get - -purge remove nombre_paqute borra el paquete especificado en nombre_paquete incluyendo los archivos de configuración.

  • sudo apt-get updateactualiza la lista e información de los paquetes.

  • sudo apt-get upgradeactualizar el sistema.

  • sudo apt-cache pkgnamesver la lista de paquetes instalados.

  • sudo apt-get install -s paquetesimula la instalación de un paquete.

  • sudo apt-cache show paqueteconsulta la información de un paquete.

  • sudo apt-cache showpkg paqueteconsulta las dependencias de un paquete.

  • sudo apt-cache depends paquetemuestra las dependencias de un paquete.

  • sudo apt-get autocleanelimina del cache versiones obsoletas.

Uso y Programación de Script con la Shell

El Shell es un programa que está entre el usuario y el sistema operativo. Este programa interpreta lo que el usuario le indica (en su lenguaje) para manipular el sistema operativo.
La Shell tiene varios comandos integrados que normalmente reflejan las proporcionadas en el lenguaje C. Esto significa que es posible escribir pequeños programas como instrucciones de Shell que se ejecutan en pasos secuenciales, sin tener que usar un compilador(igual que los archivos de procesamiento por lotes de MS-DOS se interpretan sin necesidad de un compilador).

Hay varios tipos de Shell para escoger:

  • La Shell Bourne (Sh): está disponible en todos los sistemas UNIX.

  • La Shell C (Csh): que tiene una sintaxis de comandos parecida al lenguaje de programación C

  • La Shell Cornell (Tesh): que ha mejorado el manejo de terminal con la Shell C original.

  • La Shell Bourne again (Bash): que es una versión de código fuente abierto, muy mejorada de la versión de la Shell Bourne.

Para ver de los tipos de Shell de que dispone nuestro sistema utilizamos el siguiente comando:

cat /etc/shells. En el caso de Ubuntu nos sale lo siguiente.

Instalar las fuentes de Microsoft

Si copiamos texto de Microsoft Word y lo pegamos en un procesador de textos de un sistema Linux que no tenga instaladas las fuentes de Microsoft el formato de letra no se mantendrá.

Para solucionar el problema tenemos que instalar el siguiente paquete:

msttcorefonts

Después de instalar el paquete hay que reiniciar la caché de fuentes del sistema por medio del comando:

sudo fc-cache

Editor de texto VI

Vi es un editor de texto que se encuentra prácticamente en todas las distribuciones de Linux, es un potente editor que ocupa muy poco espacio en disco por lo que es el editor de texto preferido en los sistemas embebidos (SBC) con pocos recursos hardware.

Su modo de trabajo se puede dividir en tres modos:

  • Modo Normal (Navegación y Edición): controla el movimiento de la pantalla, la eliminación de caracteres, palabras o líneas y la copia/movimiento de determinadas secciones

  • Modo de inserción: permite ingresar caracteres y editar el archivo.

  • Modo comandos o de última línea: se utiliza para guardar o salir de Vi, así como para configurar ajustes de edición como buscar cadenas o mostrar números de línea.

Modo Normal (Navegación y Edición)

h, j, k, l: Mover el cursor izquierda, abajo, arriba, derecha, también se pueden utilizar las flechas.

w: Mover al inicio de la siguiente palabra

b: Mover al inicio de la palabra anterior

0: Ir al inicio de la línea

$: Ir al final de la línea

gg: Ir a la primera línea del documento

G: Ir a la última línea del documento

dd: Cortar (eliminar) la línea actual

yy: Copiar la línea actual

p: Pegar después del cursor

u: Deshacer

Ctrl + r: Rehacer

Modo Inserción (Escribir texto)

i: Entrar en modo inserción antes del cursor

a: Entrar en modo inserción después del cursor

o: Abrir una nueva línea debajo y entrar en modo inserción

O: Abrir una nueva línea arriba y entrar en modo inserción

Esc: Salir del modo inserción y volver al modo normal

Modo Comando (Operaciones de archivo y búsqueda)

:w: Guardar el archivo

:q: Salir (si no hay cambios sin guardar)

:wq o ZZ: Guardar y salir

:q!: Salir sin guardar (forzar salida)

:set number: Mostrar números de línea

/palabra: Buscar "palabra" hacia adelante

?palabra: Buscar "palabra" hacia atrás

:s/viejo/nuevo: Sustituir la primera ocurrencia de "viejo" por "nuevo" en la línea actual

:%s/viejo/nuevo/g: Sustituir todas las ocurrencias de "viejo" por "nuevo" en todo el archivo

Para pasar del Modo Normal al Modo Comando: me voy con el cursor a la última línea y escribo :

Para volver al Modo Normal desde cualquier otro modo, presiona Esc