Está en la página 1de 10

ÓRDENES Y CONFIGURACION DEL TERMINAL

Administración básica del sistema

Todo usuario de ordenador siempre debe saber qué es lo que tiene en su disco
duro y realizar trabajos de organización sobre las cosas que introduce en este. El
indicador del sistema (en inglés prompt) es una herramienta más útil y más flexible
que el visor del sistema típico de Windows.

En adelante supondremos que el usuario tiene ciertos conocimientos de MSDOS


o algún sistema operativo con interprete de comandos equivalente.

El disco en Linux está organizado en ficheros. Los hay de diversas clases:


Ficheros ordinarios:
que contienen información almacenada en nuestro trabajo o que usan otros
programas.
Directorios:
son ficheros que contienen como de una carpeta se tratase otros ficheros,
incluso otros directorios creando así una estructura jerarquizada.
Enlaces:
un fichero puede contener distintos nombres o estar accesible desde distintos
directorios.
Dispositivos:
son ficheros a los se relaciona un dispositivo del ordenador (pantalla,
disquete, disco duro, lectora de CD's, ...) de tal manera que si un programa
desea actuar sobre ellos actúa sobre estos ficheros.
Tuberías y pilas:
son ficheros especiales usados por los programas para comunicarse entre sí.

Comandos básicos de manejo de ficheros

Si ha conocido el DOS, recordara las ordenes dir, cd, rd, md y algunas otras
más. Aquí veremos las equivalentes para el proceso de manejar los ficheros que
creamos. Siempre existe la posibilidad de ver con más detalle lo que hace cada uno
con man [comando].

ls: lista el contenido del directorio

Ya hemos usado esta orden anteriormente. Completemos un poco más el


conocimiento de su uso:

Si pedimos la orden:
$ ls -l
drwxr-xr-x 3 fenix fenix 1024 Jun 15 1997 Calendar
drwx------ 5 fenix fenix 1024 Nov 6 19:35 Desktop
drwx------ 2 fenix fenix 1024 May 16 1997 Mail
drwxrwxr-x 2 fenix fenix 1024 Mar 10 00:28 X11
lrwxrwxrwx 1 root root 11 Mar 13 20:53 ada -> private/ada
drwxrwxr-x 2 fenix fenix 1024 Mar 10 00:28 bin
lrwxrwxrwx 1 root root 9 Mar 13 20:53 c -> private/c
-rw------- 1 fenix fenix 868352 Apr 7 21:19 core
lrwxrwxrwx 1 root root 12 Mar 13 20:53 lisp -> private/lisp
drwx------ 2 fenix fenix 1024 Jun 13 1997 mail
-rw-rw-r-- 1 fenix fenix 302 Apr 7 20:30 mine.bmp
drwxrwxr-x 2 fenix fenix 1024 Mar 10 00:28 misdocumentos
drwxr-xr-x 2 fenix fenix 1024 Nov 6 18:59 nhs
drwx------ 2 fenix fenix 1024 Mar 12 18:05 nsmail
drwxrwxr-x 2 fenix fenix 1024 Feb 17 21:27 odd
drwxrwxr-x 8 fenix fenix 1024 Mar 12 23:04 private
lrwxrwxrwx 1 root root 14 Mar 13 20:53 prolog -> private/prolog
-rw-r--r-- 1 fenix fenix 23051 Jan 27 21:14 system.fvwm2rc
drwxrwxr-x 4 fenix fenix 1024 Mar 22 15:36 tmp
lrwxrwxrwx 1 root root 11 Mar 13 20:53 www -> private/www
-rwxr-xr-x 1 fenix fenix 1239 Nov 6 19:46 xinitrc.bak

Esto es lo que se denomina un listado largo, en el que se nos ofrece una mayor
cantidad de información acerca de los ficheros que contiene el directorio. Podemos
diferenciar 6 campos:

El primero nos ofrece información acerca de los permisos del fichero. Se


componen de 10 letras divididas en 3 grupos de 3 y la primera de ellas.

La primera letra nos ofrece información acerca del tipo de fichero:

- fichero ordinario
d directorio
l enlace
fichero especial, dispositivo de caracteres: o sea sólo se le puede mandar o recoger
c
información byte a byte sin posibilidad de volver a leer el mismo dato.
fichero especial, dispositivo de bloques: estos dispositivos permiten realizar operaciones
b
de posicionamiento aleatorio.
p tuberías
f Pilas

Las restantes letras nos indican quién y de qué forma se puede acceder a ese
fichero. Están divididas en 3 grupos de 3 letras. Las tres primeras indican cómo
puede actuar el usuario propietario sobre el fichero, el segundo trio corresponde al
grupo (el usuario puede pertenecer a un grupo de trabajo de tal manera que los
ficheros del grupo puedan ser compartidos por estos) y el tercer trio es el resto de
los usuarios del systema (o el mundo)

Cada grupo de 3 letras indica lo siguiente:

La primera puede estar como:


- no se puede leer el fichero, si es un directorio no se podrá listar su contenido.
r se puede leer.
La segunda nos indica:
no se puede escribir sobre el fichero (ni añadir información), si es un directorio no
-
se podrán crear nuevos ficheros ni borrar otros sobre este.
w se puede escribir (crear y borrar ficheros si es un directorio)
La tercera:
no se puede ejecutar el fichero (los programas tendrán una x), si es un directorio
-
este no será accesible (o sea no se podrá acceder con la orden cd en él)
x se puede ejecutar.
Este artibuto sólo tiene sentido en ficheros ejecutable. Independientemente del
s usuario que ejeute este programa, el programa se ejecutará con los permisos del
propietario del fichero en lugar de los permisos de usuario que lo ejecuta. No se
preocupe si no ha entendido la utilidad del atributo "s", sólo la necesitan usuarios
muy avanzados. El nombre de éste es "SetUID".

Estos permisos se pueden cambiar con la orden chmod que veremos


posteriormente.

El siguiente campo del listado es el número de enlaces que apuntan a este


fichero.

El siguiente es el usuario propietario del archivo.

El cuarto nos indica el grupo al que pertenece, de tal manera que los que
pertenezcan al mismo grupo podrán acceder a este según los permisos de grupo
asignados (segundo trio de permisos).

El quinto nos da el tamaño del fichero en bytes.

El sexto es la fecha y la hora de la última modificación del fichero

Y por último está el nombre del fichero. Si se trata de un enlace además nos
indica a qué fichero está referenciando con -> [origen]

Por otra parte también existen los ficheros ocultos en Linux. Estos se
caracterizan por que su primer carácter en su nombre es un punto (.)

Para poder listar los ficheros ocultos se usa la opción -a con lo que también
mostramos los ocultos aparte de todos los restantes ficheros.

cp: copiar fichero

Este comando permite copiar ficheros para que tengan otro nombre o se encuentren
en otro directorio.
cp [fichero] [destino]

Si el destino si no es un directorio existente se interpretará que quieres copiar el


fichero con otro nombre.

mv: mover fichero

mves "MoVe", o sea mover. Con esta orden puedes renombrar un fichero o
cambiarlo de directorio.
mv [fichero] [destino]

Si el destino no es un directorio existente querrá decir que quieres renombrar el


fichero.
cd: cambia de directorio

Es casi igual al de MSDOS. Sólo difiere en unas cuantas cosas:

cd sin argumentos te llevará al directorio inicial. Si eres el super-usuario te


llevará al directorio /root/; si eres pepe /home/pepe.

Como puedes ver, también aquí los directorios tienen la barra inclinada a la
derecha (y no a la izquierda como en MSDOS)

Por último, /home puede ser substituido por el carácter ~ (este se obtiene con
Altgr + 4). Así cd ~pepe
te llevará a /home/pepe

mkdir: crea directorio

Es así de sencillo mkdir [nombre-de-directorio] y crea un directorio con ese


nombre.

rmdir: borra directorio vacío

Si deseas borrar un directorio que no contiene ficheros, este comando hará dicha
función con rmdir [nombre-fichero]. Si quieres borrar directorios que contengan
ficheros (u otros directorios) mira la orden rm.

rm: borra ficheros

Borra cualquier tipo de ficheros con rm [nombre-fichero].

Otras opciones importantes son:


-i pide confirmación para borrar el fichero.
-r borra un directorio y todo su contenido.
-rf borra un directorio y sus contenidos sin pedir confirmación.

ln: crea enlaces para los ficheros

Linux permite que un fichero tenga distinto nombre o que se pueda acceder a él
desde un directorio distinto. Esto se realiza con enlaces. Los hay de dos tipos:

 físicos: que realizan un copia completa del contenido del fichero en el


enlace, cuando el fichero origen se modifica también afecta al enlace y
viceversa.
 simbólicos: Estos no realizan dicha copia, tan solo los enlaces actúan como
si fuesen el fichero origen. De esta manera no se tiene que realizar la copia
del contenido del fichero y así ocupar disco. En la actualidad ya casi sólo se
actúa con este tipo de enlaces . Por otro lado los directorios sólo permiten
enlaces simbólicos.

Los enlaces físicos se realizan con: ln [fichero-origen] [fichero-destino]

Y los simbólicos con: ln -s [fichero-origen] [fichero-destino]

cat: muestra el contenido del fichero

Esta orden muestra el contenido del fichero en pantalla.


cat [nombre-fichero]

more: muestra el contenido de un fichero de forma paginada

Si el fichero que queremos ver es muy largo (tiene más líneas que la pantalla
sobre la que lo queremos ver), se perderán las primeras líneas por la parte superior.
Una solución es utilizar el buffer de pantalla, sobre el que nos podemos desplazar
con Mays+Repag. Pero este buffer es de un tamaño limitado y en muchas
ocasiones no nos servirá. La orden more nos permite ver de forma paginada los
ficheros. Su sintaxis es:
more [nombre-fichero]

Se trata de un programa interactivo. Las "teclas" (ordenes interactivas) más


interesantes son:

Tecla Función
Espaciador Avanza una página
b Retrocede una página
return Avanza una línea
/[cadena] Busca la siguiente aparición de cadena en el fichero
?[cadena] Busca la anterior aparición de cadena en el fichero
q Salir

Existe un programa equivalente y más avanzado llamado less.

chmod: cambia los permisos de los ficheros

Con este podemos modificar cómo se puede acceder al fichero en cuestión. Un


usuario normal (root puede hacer lo que quiera) sólo puede modificar los permisos
de los ficheros que es propietario. Se compone de 2 tipos de parámetros separados
de un espacio.
chmod [quien][+/-] [permisos-nuevos] [fichero]
En quien podemos refirirnos a:

Quién Descripción
u Usuario al que pertenece el archivo
g grupo al que pertenece el archivo
o resto de usuarios
a cualquier usuario (poseedor, grupo, otros)

Con + añadimos permisos y con - los retiramos.

En permisos-nuevos indicamos qué permisos se añaden o se eliminan. Estos se


caracterizan por las letras del primer campo de un listado largo con ls (o
sea r:lectura, w:escritura, x:ejecución o visita, s:SetUID)

Veamos un ejemplo para aclarar


chmod u+rw mio

Con éste permitimos que el usuario propietario, usted en este caso, tenga
permisos de lectura y escritura sobre el fichero mio.
chmod a-x directorio

Y con éste le retiramos a todos los usuarios (incluido nosotros, el propietario) el


derecho de ser visitado a directorio

chmod tiene otras opciones más avanzadas, que no veremos aquí, consulte la
página de manual con el comando:
man chmod

Comodines para ficheros:

Linux permite que se pueda actuar sobre un conjunto de ficheros en vez de uno a
uno. Podemos referirnos a un conunto de ficheros que tengan alguna característica
común en su nombre. Esto se consigue con el uso de comodines a la hora de dar
argumentos a los comandos. Algunos pueden resultar conocidos del mundo MS-
DOS:
* (arterisco): Se refiere a cualquier cadena de caracteres (de 0 o más
componentes)

Con el asterisco podemos refirirnos a:


rm *

borrar todos los ficheros


rm a*

borrar todos los ficheros que comienzen con a


rm bet*as

borrar todos los ficheros que comienzen con bet y terminen con as

? (interrogante): cualquier carácter (uno solo)

Con la interrogación podemos conseguir:


cat c?t

mostrar todos los ficheros que comienzen por c, que contenga una letra
cualquiera más y terminen con t.

[ ]
grupo : cualquier grupo de caracteres contenidos en los corchetes

De este forma podemos referirnos a:


more [tp]erez

mostrar de forma páginada los ficheros terez y perez, si es que existen.


cp c[AEIOU]endo directorio

copiar todos los que empiecen por c que tenga después una letra vocal
mayúscula y terminen en endo y meterlos en el directorio.

Podemos usar un guión para crear intervalos:


mv *[a-z] basura
mover todos los ficheros que terminen en letra minúscula al directorio basura.
ATENCIÓN: esto no incluye a la letra eñe y las vocales acentuadas (ya se sabe que
esto de la informática es cosa de ingleses y ellos mandan)

También podemos negar lo que haya en el intervalo:


ls [!a-zA-Z]*

listar todos los ficheros que no contengan en su primera letra una letra
mayúscula o minúscula.

Redirecciones

Linux es extremadamente potente por multitud de razones pero una de las


utilidades que le permiten una gran versatilidad en la línea de comandos reside en
las redirecciones.

Las redirecciones nos permiten redirigir la salida de un comando o programa


para que en lugar de salir a pantallan, se envíe a un fichero. También, aunque más
raramente, podemos verter el contenido de un fichero para que lo acepte como
entrada otro comando, podemos concatenar la salida de un comando a un fichero y
por último podemos conseguir que la salida de un comando sea entrada de otro.

> (mayor que): redirección a derecha

Con el símbolo mayor que podemos verter la salida de un programa a un fichero.


Por ejemplo:
cal > febrero

Así conseguimos que la salida del comando cal -en este caso un calendario con
el mes actual en curso- al fichero febrero.

< (menor que); redirección a izquierda

Con el símbolo menor que podemos redirigir el contenido de un fichero para que
lo acepte como entrada un comando.
mail manolo < carta
Con esto le mandamos por correo electrónico al usuario manolo el fichero carta

>> (dos veces mayor que): concatenar al final

Los dobles mayor que nos permiten la posibilidad de que la salida del comando
se añada al final del fichero en cuestión, sin destruir el contenido que antes había
en el fichero. Con la redirección mayor que simple, el contenido original del
fichero era reemplazado por la salida del comando, por tanto se perdia el contenido
original de éste.
cat fichero1 fichero2 fichero3 >> fichero-total

Añadimos (concatenamos)al final de fichero-total los contenidos de


los fichero1, fichero2 y fichero3. En otras palabras.