Comandos Unix.linux

24
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. 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.

description

linux

Transcript of Comandos Unix.linux

Page 1: Comandos Unix.linux

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.

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.

Page 2: Comandos Unix.linux

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.

Page 3: Comandos Unix.linux

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

Page 4: Comandos Unix.linux

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.

Page 5: Comandos Unix.linux

-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

Page 6: Comandos Unix.linux

-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.

Page 7: Comandos Unix.linux

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.

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.

Page 8: Comandos Unix.linux

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.

Page 9: Comandos Unix.linux

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.

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

Procesos

Page 10: Comandos Unix.linux

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

ps sin 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

Page 11: Comandos Unix.linux

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

Page 12: Comandos Unix.linux

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

Page 13: Comandos Unix.linux

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

elcomando find.

Ejemplo:

Page 14: Comandos Unix.linux

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 gjose → elimina el grupo gjose

Ficheros importantes en la configuración del sistema

Page 15: Comandos Unix.linux

/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

Page 16: Comandos Unix.linux

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

Page 17: Comandos Unix.linux

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:

Page 18: Comandos Unix.linux

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

Page 19: Comandos Unix.linux

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.

mount → este 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:

Page 20: Comandos Unix.linux

/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

Page 21: Comandos Unix.linux

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

Page 22: Comandos Unix.linux

apt-cache search "anjuta"→ busca el nombre o descripción del paquete que

tenemos entre comillas.

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

paquete.

sudo apt-get install nombre_paquete → instala el paquete especificado en

nombre_paquete.

sudo apt-get remove nombre_paquete → borra 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 update → actualiza la lista e información de los paquetes.

sudo apt-get upgrade → actualizar el sistema.

sudo apt-cache pkgnames → ver la lista de paquetes instalados.

sudo apt-get install -s paquete → simula la instalación de un paquete.

sudo apt-cache show paquete → consulta la información de un paquete.

sudo apt-cache showpkg paquete → consulta las dependencias de un paquete.

sudo apt-cache depends paquete → muestra las dependencias de un paquete.

suso apt-get autoclean→ elimina del cache versiones obsoletas.

Uso y Programación de Script con la Shell

Page 23: Comandos Unix.linux

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.

Page 24: Comandos Unix.linux

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ésde instalar el paquete hay que reiniciar la caché de fuentes del sistema por medio

del comando:

sudo fc-cache