You are on page 1of 15

Comandos bsicos de GNU/Linux Ubuntu para la

consola
1. Introduccin
Un intrprete 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.
Para pasar al modo texto (intrprete de comandos)
desde el modo grfico hemos de pulsar las
combinacines: Ctrl + Alt + F1 o bien con: F2 F3 F4 F5
F6
Esto hace que el sistema salga del modo grfico y
acceda a alguna de las seis consolas virtuales de Linux,
a las cuales tambin se puede acceder cuando se
arranca en modo de texto.
Para volver al modo grfico hay que presionar Ctrl +
Alt + F7 o Ctrl + Alt + F8 (Segn la sesin en modo
grfico a la que deseemos regresar).
Adems de ser un intrprete interactivo de los
comandos que tecleamos, el Shell es tambin un
lenguaje de programacin, el cual nos permite escribir
guiones que permiten juntar varias rdenes en un
fichero. Similar a los ficheros batch de MS-DOS.
2. Nociones Bsicas
En una terminal:
Las aplicaciones con nombres compuestos se
escriben con guin entre las palabras (ej.
compizconfig-settings-manager).
Para los espacios en blanco se pone un guin
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 intrprete 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 intrprete de comandos no puede encontrar la
orden que hemos tecleado, muestra un mensaje
de error.
El formato general de una orden en Linux es:
comando [-opciones] [argumentos]
A la hora de introducir los comandos hay que tener en
cuenta las siguientes caractersticas:
Los comandos hay que teclearlos exactamente.
Las letras maysculas y minsculas se consideran
como diferentes.
En su forma ms habitual, el sistema operativo
utiliza un signo de $ como prompt para indicar que
est preparado para aceptar comandos, aunque este
carcter puede ser fcilmente 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.
3. Historial de comandos en la terminal o
consola de Ubuntu
La Terminal guarda un HISTORIAL de los ltimos 500
comandos ejecutados en ella y tenemos varias formas
de acceder a ellos rpidamente
Es muy til para comandos largos, que no recordamos
con certeza o para asegurarnos de que la sintaxis es
correcta
Tenemos varias formas de utilizar este historial para
trabajar con los comandos segn nuestras
necesidades:
Para ver los ms recientes:
Pulsamos la tecla flecha arriba del teclado y vamos
pulsndola hasta encontrar el comando, pulsamos
Enter y listo. Para volver hacia atrs pulsamos flecha
abajo del teclado.
Para recordar un comando especfico:
Pulsamos las tecla Ctrl+R y empezamos a escribir la
parte del comando que recordamos. Segn vamos
escribiendo, nos van saliendo los comandos hasta dar
con el que necesitamos, pulsamos Enter y listo.
Para ver todo el historial:
Para verlo completo ejecutamos en la Terminal el
comando:
history
Para ver los ltimos 10 comandos, ejecutamos
history 10
Para seleccionar un comando del historial anterior,
ejecutamos
!69
(donde 69 es el n de lnea que sale a la izquierda del
comando)
Para limpiar el historial completo: ejecutamos
history -c
Tambin podemos borrar el historial manualmente,
editando un archivo. Para ello abrimos nuestra
carpeta personal y pulsamos las Teclas Ctrl+H para ver
las carpetas ocultas y buscamos el archivo
.bash_history (no es una carpeta, est debajo de las
carpetas) y lo borramos.
Si slo queremos eliminar un comando, abrimos el
archivo, borramos la lnea del comando, guardamos y
cerramos.
4. Comandos Bsicos
ls -> list: listar.
Nos muestra el contenido de la carpeta que le
indiquemos despus.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
Adems 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
Adems se pueden solapar los argumentos. Si
quisiramos mostrar los archivos de la misma forma
que antes, pero que muestre tambin 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 raz (/).
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 raz 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 su carpeta personal. Con
escribir
$ cd tu_carpeta/temporal
nos situar all. Como se ve, 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 slo
$ cd
S, slo cd. Esto lo que hace es que te lleva a tu
carpeta personal directamente y estemos donde
estemos. Es algo realmente muy prctico, 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 slo el nombre:
$ mkdir /home/tu_cuenta/perico Si ya estamos en
/home/tu_cuenta $ mkdir perico
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 vaca:
$ rm nombre_carpeta
Para borrar una carpeta que contiene archivos y/o
otras carpetas que pueden incluso contener ms:
$ rm -r nombre_carpeta
Otras opciones: -f no te pide una confirmacin para
eliminar o -v va mostrando lo que va borrando.
Para borrar un directorio:
$ rmdir nombre_directorio
cp -> copy:
Copiar. Copia el archivo indicado donde le digamos.
Aqu podemos tambin jugar con las rutas, tanto para
el fichero origen, como en el del destino. Tambin se
puede poner el nombre que se le desee poner a la
copia. Por ejemplo, si estuviramos en /etc/X11 y
quisiramos 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, slo 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/perico.html
/home/tu_carpeta/ese_perico.html
Otro uso muy prctico 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 perico.html ese_perico.html
find -> find:
Encontrar. Busca el archivo o carpeta que le indiques:
$ find / -name perico
El comando anterior buscara en todos los sitios las
carpetas y archivos que se llamen perico. Si
tuviramos la seguridad de que se encuentra en /var
por ejemplo, se lo indicaramos:
$ find /var -name perico
Si no estamos muy seguros del nombre podemos
indicrselo con comodines. Supongamos que el
nombre de lo que buscamos contiene peri, en la
misma carpeta de antes:
$ find /var -name *peri*
Tiene otras opciones. Por ejemplo podemos decirle
que encuentre los archivos/carpetas de ms 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 quedndola
como si acabramos de abrirla.
$ clear
ps -> process status:
Estado de los procesos.
Nos muestra lo que queramos saber de los procesos
que estn corriendo en nuestro sistema. Cada proceso
est identificado con un nmero 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 ms informacin:
$ ps aux
kill -> kill:
Matar. Elimina el proceso que le indiquemos con su
PID:
$ kill PID
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
despus la contrasea.
Por ejemplo, algo que debemos hacer es una copia de
seguridad del fichero xorg.conf, antes de modificarlo.
ste est localizado en la carpeta /etc/X11 y ah
ningn usuario puede hacer modificaciones o borrar
nada si no es el administrador o tiene derechos como
tal, gracias a sudo. Por eso debermos hacer lo
siguiente:
$ 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:
Contrasea.
Con este comando podremos cambiar la contrasea
de nuestra cuenta. Primero nos pedir la contrasea
actual como medida de seguridad. Despus nos pedir
que introduzcamos dos veces seguidas la nueva
contrasea.
$ passwd
su -> super-user:
Superusuario. (aunque el comando su suele
relacionarse con "super user" realmente parece ser
que viene de "switch user" o "substitute user").
Mediante su podremos loguearnos como
superusuario. Tras escribirlo nos pedir la contrasea
de root y estaremos como administrador. Podremos
hacer todo lo que queramos.
$ su
Este comando tambin nos permite hacer login con
otra cuenta distinta. Por ejemplo, imaginemos que
tenemos otra cuenta, adems de root y la nuestra,
llamada invitado. Para hacer login como tal bastara
con poner:
$ su invitado
y despus escribir la contrasea de esa cuenta.
sudo passwd -> podr cambiar la contrasea de root
(la del super-usuario).
No es un comando propiamente dicho (es la unin de
2) pero es interesante que se conozca.
$ sudo passwd
apt -> advanced packets tool:
Herramienta avanzada de paquetes.
Es uno de los comandos ms tiles que se han
desarrollado en los sistemas GNU/Linux debian o
basados en esta distro. Nos permite comprobar
actualizaciones, actualizar todo el sistema. Tambin
nos ofrece funcionalidad para buscar, descargar e
instalar paquetes con una sola orden.
Tenemos variantes, las ms usadas son las siguientes:
$ apt-cache search nombre_paquete
Busca nombre_paquete para ver si existe literal o
aproximadamente ofrecindonos 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 direccin de dnde obtenerlos
para que a la hora de hacer la bsqueda y su posterior
descarga sea ms rpida hacindolo en nuestro
ordenador.
$ apt-get upgrade
Actualiza nuestro sistema con todas las posibles
actualizaciones que pudiera haber. La actualizacin no
se realiza slo sobre el propio sistema operativo, sino
tambin sobre las aplicaciones que estn contenidas
en los repositorios. Una til forma de estar siempre al
da.
$ 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 dnde tiene que descargarse el paquete,
lo hace y posteriormente lo instala.
$ apt-get remove [--purge] nombre_paquete
Elimina el paquete especificado del sistema. Admite el
argumento --purge (corchetes = opcional) para que
borre tambin los ficheros de configuracin.
$ apt-get autoremove
Elimina paquetes que han quedado inservibles tras
realizar algn apt-get remove, los llamados hurfanos.
Normalmente tras hacer este ltimo te avisa en un
mensaje que lo realices.
Todos estos comandos necesitan tener privilegios de
administracin, as que si no los usis como root,
debis agregar primero el conocido sudo.
aptitude -> aptitude:
Aptitud, habilidad. En el fondo juega con las siglas de
apt para crear aptitude.
Es una versin mejorada de apt, que es quiz el ms
extendido al ser el que vio la luz primero.
aptitude naci como un front-end de apt, es decir,
como una especie de aplicacin grfica y en modo
texto para realizar todo lo que hace apt. Pero lo cierto
es que sus caractersticas son mejores.
apt cuando instala algo puede realizar una sugerencia
para que se instale algo ms que podra venir a bien,
pero no lo hace. Hay programas que a la vez usan
otros para algunas de sus funciones u opciones. apt
no instalara los segundos, como mucho te avisara.
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 se instala luego ese
programa que es usado por otro, cuando se desinstala
el principal, no se desinstalar el secundario, aunque
ste ya no tenga mucho sentido que est instalado, y
lo mismo sucede con libreras. aptitude est hecho
para desinstalar lo que l mismo ha instalado como
recomendacin. Deja el sistema ms limpio tras las
desinstalaciones.
Para abrir el interfaz grfico de aptitude, tan slo hay
que teclearlo:
$ aptitude
Sin embargo, tambin se puede usar exactamente
igual que apt, pero con las caractersticas 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, se necesita usar el sudo delante si
no se est 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-instalacin, post-
instalacin y los archivos en cuestin del paquete.
Este comando lo usaremos para instalar un paquete
.deb que ya tengamos descargados en nuestro
sistema. En muchas ocasiones hay una aplicacin que
no est en los repositorios y nos hemos bajado el .deb
para instalarlo con el interfaz grfico que corresponda
(GDebi en el caso de GNOME).
En el fondo estas interfaces grficas estn 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
configuracin --purge (purgar):
$ dpkg -r purge nombre_paquete
Alien -> Alien:
De otro pas, de otro planeta.
Aunque Debian -y por extensin Ubuntu- dispone de
una ingente cantidad de paquetes en sus repositorios,
puede que alguien tenga algn problema en encontrar
una aplicacin especfica empaquetada como le
interesa aunque ha visto el paquete que quiere para
otras distros.
alien es bastante prctico 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 se debe saber es el
argumento que transformar el paquete original en la
extensin 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 perico.rpm a perico.deb:
$ alien -d perico.rpm
man -> manual:
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 se desconozca cmo se usa y
qu argumentos tiene un comando o aplicacin tan
slo se tiene que escribir en consola:
$ man nombre
En ocasiones la informacin que nos ofrece man
puede llegar a ser excesiva. Casi todos los comandos y
aplicaicones aceptan el argumento --help o "-h"
para que muestre cierta ayuda ms resumida. Por
ejemplo con aptitude:
$ aptitude --help
$ aptitude -h
Todos los comandos que se han referido en este
documento, tienen muchos ms argumentos. Se ha
puesto los ms usados o necesarios, as que si hay
alguno que interese particularmente conocer ms de
l, se tiene man o --help para obtener ms
detalles.
date
Muestra por pantalla el da y la hora, permitiendo,
adems, el cambio de la misma. Sintaxis:
date [opcion][formato] cal
Muestra el calendario del mes o ao actual actual.
Sintaxis:
cal [mes][ao]
Por ejemplo,
cal muestra el calendario del mes actual.
cal 1949 muestra el calendario del ao 1949.
cal 05 1945 muestra el calendario de Mayo de 1949.
who
Indica qu usuarios tiene el ordenador en ese
momento, en qu terminal estn y a qu hora
iniciaron la sesin. Sintaxis
who
whoami
Indica el usuario que est trabajando en la terminal
actual. Sintaxis:
whoami
finger
Presenta una informacin 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, adems, la versin, fecha y tipo de
procesador.
-m indica, adems, el tipo de de procesador.
-r indica, adems, la versin.
-v indica, adems, 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 cuestin. Sintaxis:
info [comando]
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 ejecucin 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.
5. Caracteres comodn o wildcards
Una caracterstica importante de la mayora de los
intrpretes de comandos en Linux es la capacidad
para referirse a ms de un fichero.
Una forma de hacerlo es utilizando caracteres
especiales llamados comodines.
Al igual que en MS-DOS, el comodn * hace referencia
a cualquier carcter o cadena de caracteres en el
nombre del fichero. El intrprete 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 expansin de comodines.
El carcter ? es tambin comodn, aunque solamente
expande un carcter.
Con ambos caracteres existe una excepcin. No
afectarn a aquellos ficheros que comienzan por un
punto, y que son ocultos para rdenes como ls.
Adems, 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 carcter 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 carcter 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 continuacin una letra mayscula, seguida de
un nmero 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
subdirectorios contenidos en el directorio en el que se
est. Slo se obtienen los nombres de
los ficheros, sin ninguna otra informacin. Sintaxis:
ls [-opciones][fichero]
-a Muestra todos los ficheros incluyendo algunos que
ordinariamente estn 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 opcin de lista larga: muestra toda la
informacin de cada fichero incluyendo: protecciones,
tamao y fecha de creacin o del ltimo ambio
introducido,...
-c Muestra ordenando por da y hora de creacin.
-t Muestra ordenando por da y hora de modificacin.
-r Muestra el directorio y lo ordena en orden inverso.
-R Lista tambin subdirectorios.
ls subdir Muestra el contenido del subdirectorio
subdir.
-l filename Muestra toda la informacin 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
sustitucin 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 ms directorios del sistema
(remove directory), siempre que estos subdirectorios
estn vacos. 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 [directorio]
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 sita nuevamente en el directorio personal del
usuario.
cd / cambia al directorio raz
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 disposicin
del usuario en el directorio de Linux que se elija. La
sintaxis de este comando es la siguiente:
mount [-t tipo_de_sistema_ficheros] [dispositivo]
directorio_de_montaje
Por ejemplo para acceder al CD-ROM se tecleara 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 ms
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 estn 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 disposicin del usuario el contenido del CD-
ROM. Para montar disquetes se suele utilizar el
directorio /mnt/floppy (aunque esto depende de la
versin 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 habra que escribir, para montar
por ejempo la disquetera, sera:
mount /floppy
Si omitimos el tipo de sistema de ficheros y/o el
dispositivo, Ubuntu toma la informacin
correspondiente del fichero /etc/fstab, el cual
contiene informacin de los distintos sistemas de
ficheros del equipo.
De todas formas el usuario siempre puede crear un
directorio vaco 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, debera
escribir:
umount /floppy
En principio, para utilizar el comando mount
especificando todos los parmetros hace falta ser
administrador o root. Para que un usuario comn
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 lnea:
/dev/fd0 /mnt/floppy vfat user,noauto 0 0
Tambin 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 automtica, 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 particin empleamos el comando
"umount":
sudo umount /dev/sdxX
Donde "xX" es la particin que queremos desmontar.
Por ej. "sda5" que es la particin "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 [destino] 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 exista, lo crea con los
mismos atributos de file1. Si file2 exista 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.
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 funcin que
el cp pero adems 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, llamndole file2. De igual forma,
mv file1 file2 namedir
traslada uno o ms ficheros (file1, file2,...) al
directorio namedir conservndoles 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 ms
ficheros de un directorio en el cual tengamos permiso
de escritura. Sintaxis:
rm file1 [file2]
Con este comando resulta facilsimo borrar ficheros
intiles, y desgraciadamente, tambin los tiles. Por
eso es conveniente y casi imprescindible emplear lo
opcin -i, de la forma siguiente:
rm -i file1 file2
Con esta opcin, Linux pedir confirmacin para
borrar cada fichero de la lista, de si realmente se
desea su destruccin o no. Se recomienda usar
siempre este comando con esta opcin 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 borrara todos los ficheros del directorio
actual que comiencen por fich. El comando rm *
borrar todos los ficheros del directorio actual.
Otra opcin 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
caractersticas. Sintaxis:
file fichero
Tras su ejecucin este comando muestra el tipo del
fichero e informacin al respecto del mismo. Este
comando se puede aplicar tambin a directorios.
cat
Visualizacin sin formato de un fichero. Este comando
permite visualizar el contenido de uno o ms ficheros
de forma no formateada. Tambin permite copiar uno
o ms ficheros como apndice 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 segn 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 CTRL + d
pr
Visualizacin 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 tamao de pgina y
poniendo cabeceras al comienzo de las mismas. Est
muy en relacin con el comando lp de salida por
impresora. Las formas ms importantes que admite
son las siguientes:
pr file
Produce una salida estndar de 66 lneas por pgina,
con un encabezamiento de 5 lneas (2 en blanco, una
de identificacin y otras 2 lneas en blanco).
pr -ln file
Produce una salida de n lneas por pgina (cuando el
tamao de papel de impresora, por ejemplo, tiene un
nmero de lneas distinto de 66)
pr -p file
Hace una pausa para presentar la pgina, hasta que se
pulsa para continuar
pr -t file
Suprime las 5 lneas del encabezamiento y las del final
de pgina.
pr -wn file
Ajusta la anchura de la lnea a n posiciones.
pr -d file
Lista el fichero con espaciado doble.
pr -h `caracteres` file
el argumento o cadena de caracteres `caracteres` se
convertirn en la cabecera del listado.
pr +n file
Imprime el fichero a partir de la pgina n.
Adems 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 idntico a file1,
pero con formato por pginas y columnas.
Comandos more y less
Estos comandos permiten visualizar un fichero
pantalla a pantalla. El nmero de lneas por pantalla
es de 23 lneas de texto y una ltima lnea de
mensajes, donde aparecer la palabra more (--Ms--).
Cuando se pulsa la barra espaciadora (el espacio en
blanco), se visualizar la siguiente pantalla. Para salir
de este comando (terminar la visualizacin) se pulsa 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 pgina anterior, barra espaciadora va a
la pgina siguiente, flechas de cursor arriba y abajo, q
finaliza la ejecucin de more.
El comando less es muy similar al anterior pero,
adems, permite el desplazamiento a lo largo del
texto empleando las teclas de cursores pudiendo
desplazarse, adems, 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 cules de
ellos la ha encontrado. Este comando rastrea fichero
por fichero, por turno, imprimiendo aquellas lneas
que contienen el conjunto de caracteres buscado. Si el
conjunto de caracteres a buscar est compuesto por
dos o ms palabras separadas por un espacio, se
colocar el conjunto de caracteres entre apstrofes
('). 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 lneas de los ficheros matrix.f y
scaling.f.
Las opciones principales del comando son:
c lo nico que se hace es escribir el nmero de las
lneas que satisfacen la condicin.
i no se distinguen maysculas y minsculas.
l se escriben los nombres de los ficheros que
contienen lneas buscadas.
n cada lnea es precedida por su nmero en el fichero.
s no se vuelcan los mensajes que indican que un
fichero no se puede abrir.
v se muestran slo las lneas que no satisfacen el
criterio de seleccin.
A continuacin se muestra una serie de ejemplos.
grep d text
lneas que comienzan por d.
grep [d] text
lneas que no comienzan por d.
grep -v C file1 > file2
quita las lneas de file1 que comienzan por C y lo copia
en file2.
head
Muestra las primeras lneas del contenido de los
archivos especificados; por defecto
muestra las 10 primeras lneas. Sintaxis:
head [-nmero] ...
Por ejemplo, head -7 texto, escribe por pantalla las 7
primeras lneas del fichero texto.
tail Muestra las primeras lneas del contenido de los
archivos especificados; por defecto muestra las 10
primeras lneas. Sintaxis:
tail [-nmero] ...
9. OTROS COMANDOS BSICOS
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 informacin en bytes se debe
emplear el comando con la opcin h:
du -h
El comando df por el contrario informa del espacio
usado por las particiones del sistema que se
encuentren montadas.
9.2. Impresin: 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 continuacin en la
impresora por defecto. Por el contrario,
lpr nombre_fichero
imprime en la impresora por defecto el fichero
indicado.
9.3. Bsqueda de ficheros.
Comando find
Con find podemos encontrar archivos (y, por tanto,
directorios) basando su bsqueda en distintas
caractersticas de los mismos. Sintaxis:
find [camino...] [expresin]
El nmero de opciones de find es muy elevado, por lo
que se aconseja acudir al manual para mayor
informacin (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 ubicacin original, con un
ahorro de espacio muy importante con respecto al
comando cp.
Nuestro sistema identifica a los ficheros mediante un
nmero denominado inodo, que les asigna en el
momento de su creacin.
Es decir, un directorio lo que contiene realmente es
una lista de nmeros 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 informacin 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
simblicos.
El comando ln nos servir para crear ambos tipos de
enlaces.
Enlaces Duros (Hard Links)
Si utilizamos el comando ln sin especificar ninguna
opcin, 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 debern 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 ningn 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 reflejarn en el resto, ya que todos
tendrn el mismo nmero de inodo, y por lo tanto
hacen referencia al mismo conjunto de informacin.
La ventaja de utilizar enlaces duros radica en que el
comando rm nicamente borrar aquel fichero que le
indiquemos. La informacin solamente se borrar por
completo cuando borremos todos los enlaces a un
inodo.
La desventaja con respecto a los enlaces simblicos es
que slo permite crear enlaces dentro del mismo
sistema de ficheros.
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 caractersticas de estos ficheros con la
orden ls. Utilizamos la opcin -i para ver el nmero de
inodo. Ambos tendrn el mismo nmero de inodo
con dos enlaces.
$ls -i pruebaln penlace
4 Modificamos pruebaln y comprobamos si tambin
se modifica penlace.
$cat >>pruebaln
adios
CTRL+ d
$cat pruebaln
$cat penlace
5 Modificamos penlace y comprobamos si tambin
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 informacin
correspondiente.
$rm pruebaln
$cat penlace
7 Si utilizamos la orden ls i, vemos que penlace
sigue con el mismo nmero de inodo, que ahora
solamente tendr un enlace.
Enlaces Simblicos
Si utilizamos la opcin s con el comando ln, es decir
ln s, crearemos un enlace simblico. 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 simblicos, cada fichero
tendr un nmero de inodo distinto. Sin embargo, al
igual que con los enlaces duros, todos los cambios que
se realicen en uno de los ficheros se vern reflejados
en el resto.
Si borramos el fichero enlazado, el enlace simblico
perder toda la informacin, puesto que su inodo
apunta a un nmero de inodo que ya no existe. Sin
embargo, podremos crear enlaces simblicos a
ficheros de otros sistemas de archivos.
Ejemplo:
1 An 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 simblico a penlace que se
llame penlacesim.
$ln s penlace penlacesim
4 Con la orden ls li vemos que tienen distinto
nmero de inodo. Adems, el inodo de penlacesim
slo tiene un enlace, y el inodo de penlace sigue
teniendo dos. En la lnea correspondiente a
penlacesim vemos que aparece el fichero al que
apunta, y la letra l (ele) al inicio.
$ls -li pruebaln penlace penlacesim
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. Agrupacin y compresin de ficheros: Comandos
tar y gzip/gunzip
Tanto el comando tar como gzip son ampliamente
empleados para la difusin de programas y ficheros
en Linux.
tar Este comando agrupa varios ficheros en uno solo o
archivo, mientras que el segundo les comprime. En
conjunto estos dos programas actan de forma muy
similar a programas como Winzip. Su sintaxis es:
tar [opciones][ficheros]
El modo en el que se escriben las opciones de tar es
un poco especial. El guin inicial, por ejemplo, no es
necesario.
Las opciones ms comunes para tar son:
-c creacin de archivadores nuevos.
-x extraccin 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 aadir 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 raz 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
raz:
#cd /
#tar xvf backup.tar /etc/group /etc/passwd
Sin embargo, si archivamos los ficheros group y
passwd estando en /etc:
#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 informacin se mantiene pero se reduce el
tamao del mismo. El uso de gzip es muy sencillo:
gzip [opciones] fichero
con lo que se comprime fichero (que es borrado) y se
crea un fichero con nombre fichero.gz.
La opcin ms comn es:
-1 a -9 grado de compresin, mnimo y mximo
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 sera utilizar el comando gunzip para
la descompresin, de la siguiente forma:
gunzip fichero.gz
Como se ha comentado al principio es tpico emplear
tar y gzip de forma consecutiva, para obtener ficheros
con extensin tar.gz o tgz que contienen varios
ficheros de forma comprimida (similar a un fichero
zip). El comando tar incluye la opcin 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 dueo de su directorio personal y
ser dueo tambin de los archivos que incluya en l.
Un usuario en Linux podr configurar permisos en sus
archivos. Por ello, distinguiremos por un lado tres
categoras de usuarios, y por otro los tipos de
permisos que cada uno de ellos puede tener sobre un
archivo y/o directorio.
Categoras de usuarios
Dueo del archivo (u).
Grupo dueo (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 dueo ni miembros del grupo dueo.
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.
Ejecucin (x de eXecute, ejecutar): para un archivo
permite su ejecucin, 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 nombre_archivo,
podemos ver la configuracin de permisos del archivo
nombre_archivo:
El primer carcter indica el tipo de archivo: d si es
directorio, - si es un archivo regular, l si es un
enlace simblico.
Los siguientes nueve caracteres indican los permisos
para el dueo, el grupo dueo y otros (rwxrwxrwx); si
aparece un guin, indica que el permiso
correspondiente no est habilitado.
El siguiente nmero indica el nmero de vnculos.
Nombre del dueo y nombre del grupo dueo.
Tamao en bytes.
Fecha de la ltima modificacin.
Nombre del archivo.
1. Comando chmod
Para cambiar los permisos de un fichero se emplea el
comando chmod, que tiene el formato siguiente:
chmod [quien] oper permiso files
donde:
quien -> Indica a quien afecta el permiso que se desea
cambiar. Es una combinacin 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 operacin 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 combinacin 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 ejecucin 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.
2. Comando chown
Por otra parte, el comando chown se emplea para
cambiar de propietario (change owner) a un
determinado conjunto de ficheros. Este comando slo
lo puede emplear el actual propietario de los mismos.
Los nombres de propietario que admite Linux son los
nombres de usuario, que estn almacenados en el
fichero /etc/passwd.
La forma general de utilizacin del comando chown
es:
chown newowner file1 file2 ...
3. Comando chgrp
Anlogamente, 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 estn almacenados en el
fichero /etc/group.
10. GESTIN DE USUARIOS Y GRUPOS
10.1. Introduccin
Ya sabemos que Linux es un sistema multiusuario y
por lo tanto distingue diferentes usuarios. Cada
usuario recibe una cuenta que incluir toda la
informacin necesaria (nombre de usuario, directorio
inicial, etc.).
Adems de las cuentas dadas a personas, existen
cuentas especiales definidas por el sistema que tienen
privilegios especiales. La ms importante es la cuenta
raz (administrador), con el nombre de usuario root.
Normalmente, los usuarios normales estn
restringidos, de forma que los permisos de los
ficheros en el sistema estn 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 gestin de los
usuarios solamente puede realizarla el usuario root.
10.2. Conceptos de gestin de usuarios
La informacin 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, dgitos y los
caracteres _ (guin bajo) y . (punto). Ejemplo: simmd.
User ID o UID: es un nmero nico dado a cada
usuario del sistema. Su nmero debe ser mayor que el
del ltimo usuario creado en el sistema.
Group ID o GID: nmero identifica el grupo al que
pertenece el usuario. El nmero ha de ser el mismo
para todos los usuarios que formen el grupo. Cada
usuario puede pertenecer a uno o ms 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 contrasea del
usuario encriptada. El comando passwd nos permitir
asignar y cambiar las claves de los
usuarios.
Nombre completo: puede ser el nombre real del
usuario, su nmero de telfono, su direccin, etc. Es
decir, guarda informacin 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
informacin personal, programas, etc. Ejemplo:
/home/simmd.
Intrprete de inicio: es el intrprete de comandos
que arranca para el usuario cuando se conecta al
sistema. Ejemplos: /bin/bash, /bin/tcsh.
El fichero que contiene toda esta informacin relativa
a los usuarios es el fichero /etc/passwd. Este fichero
contiene una lnea por cada usuario del sistema, y su
estructura es la siguiente:
nombre:clave encriptada:UID:GID:nombre
completo:directorio de inicio:intrprete
Ejemplo:
simmd:x:501:501:simmd:/home/simmd:/bin/bash
En el caso de los grupos, la informacin 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 lnea 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 aadir 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.Aadir nuevos usuarios y borrar usuarios
Podemos aadir usuarios al sistema de varias formas.
La ms engorrosa de todas es hacerlo a mano. Es
decir, aadimos al fichero /etc/passwd la lnea
correspondiente al usuario. Seguidamente le
asignamos una clave con la orden passwd y
finalmente establecemos el dueo, grupo dueo y
permisos para el directorio /home/usuario que
deberemos crear. Adems, debemos actualizar
/etc/shadow con pwconv.
Sin embargo, existen varias utilidades que nos
permiten crear usuarios de una forma mucho ms
cmoda e intuitiva:
a) Servidor Xwindow. Entorno GNOME
Iniciamos una sesin como administrador en el
entorno grfico. Seleccionamos:
Men /Sistema /Administracin /Usuarios y Grupos
(variar segn la distribucin)
Aparecer un cuadro de dilogo con los usuarios
normales que hay creados en el sistema y toda la
informacin correspondiente a cada uno de ellos.
Desde aqu podremos aadir, borrar y modificar
usuarios y grupos. Una vez realizados los cambios
oportunos debemos guardarlos, como si de un
documento se tratase.
a) Servidor Xwindow. Entorno Unity
Iniciamos una sesin como administrador en el
entorno grfico. Seleccionamos:
c) Useradd/Adduser
Las rdenes useradd y adduser tambin nos permiten
aadir nuevas cuentas de usuario desde el modo
consola. Podemos crear un usuario con las
caractersticas por defecto:
#useradd usuario
#adduser usuario
Habremos creado un usuario sin contrasea. Para
habilitar su cuenta comprobamos si en el campo clave
de los ficheros /etc/passwd y /etc/shadow existen
signos de admiracin cerrada ( ! ), en ese caso
debemos borrarlos. Posteriormente establecemos una
contrasea 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 opcin -r tambin 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 gestin 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 aadir 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
1. REDIRECCIONAMIENTO Y TUBERAS
11.1. Introduccin
Muchos comandos de Unix toman su entrada de la
ENTRADA ESTNDAR (stdin) y envan su salida a la
SALIDA ESTNDAR (stdout). El intrprete de
comandos configura el sistema de forma que la stdin
es el teclado y la stdout la pantalla.
Veamos al gunos ejemplos que ilustren esta cuestin:
Ejemplo 1: Si al comando cat no le pasamos
argumentos, actuar mostrando en pantalla todo lo
que hayamos tecleado antes de un Intro. Para
indicarle al sistema que queremos finalizar la
ejecucin de cat, pulsamos la combinacin de teclas
CTRL+ D.
$cat
hola lo que recibe de la stdin
hola lo que devuelve a la stdout
CTRL+ D fin de cat
$
Ejemplo 2: El comando sort acta de forma parecida.
Si lo ejecutamos e introducimos un conjunto de lneas
desde la stdin, cuando pulsemos la combinacin
CTRL+ D devolver a la stdout las mismas lneas pero
de forma ordenada.
$sort
mndez
luque
rodrguez
CTRL+ D fin de entradas
luque
mndez
rodrguez
$
11.2. Redireccionamiento de la entrada y la salida
Al igual que en MS-DOS, podemos utilizar los
caracteres > y <>fichero
b. Redireccin no destructiva: crea un nuevo fichero o
aade al final del contenido de uno que ya existe la
informacin que el comando recibe de la stdin.
$comando >>fichero
$sort <. Con cat no tiene mucho sentido, ya que el
resultado que se obtiene es igual al que produce sin
utilizar este redireccionamiento. Con sort, mostrar
en pantalla el contenido del fichero que le indiquemos
de forma ordenada. (Ver el ejemplo 4 anterior). 10.3.
Tuberas (pipes)
Hemos visto que el comando sort, aunque simple,
acta como filtro, devolviendo a la salida lo que recibe
desde la entrada de forma ordenada.
Las tuberas pueden ser utilizadas para combinar
comandos, de forma que la salida del primero es
enviada a la entrada del segundo y as sucesivamente.
De esta forma, podemos aplicar un filtro a la stdout
del comando ls envindola a la stdin de sort. Lo que
conseguimos es conectar una cadena de comandos en
una tubera.
Para crear las tuberas utilizamos el carcter | (barra
vertical, carcter de canalizacin).
Ejemplos:
$ls /usr/bin |more muestra el contenido de /usr/bin
por pantallas.
$ls |sort -r muestra un listado del directorio actual
ordenado alfabticamente de mayor a menor.
$ls |sort -r |head -1 veremos el primer fichero de un
listado del directorio actual
ordenado alfabticamente de mayor a menor.
12. LA EDICIN DE TEXTO. EL EDITOR vi
12.1. Introduccin
En Linux existen muchos editores de texto disponibles
(vi, Emacs, joe), sin embargo ser el visual editor (vi) el
nico que encontraremos en cualquier sistema Unix.
vi fue el primer editor de pantalla completa que
existi y, aunque no es fcil de usar, es una
herramienta extremadamente potente. La versin
proporcionada con Mandrake es una versin
mejorada de vi (vim VI iMproved).
Para comenzar con vi y editar un fichero de texto
emplearemos la sintaxis:
$vi
En la pantalla, de 24 lneas, aparecer una columna
de ~ que indican el final del fichero. En la parte
inferior veremos el nombre del nuevo fichero.
En un principio no podremos insertar texto, ya que vi
arranca en el modo rdenes, uno de los tres posibles
modos de operacin: modo rdenes, modo insercin,
modo ltima lnea.
En modo rdenes o modo comandos no
podremos insertar texto. Nos permitir usar ciertas
rdenes de edicin de ficheros o cambiar a otros
modos.
Al modo de insercin, que nos permitir escribir y
desplazarnos por el archivo, se accede desde el modo
comando por ejemplo con la orden i. Para volver al
modo comando pulsamos la tecla Esc.
El modo ltima lnea, o modo ex, proporciona
ciertas rdenes extendidas a vi, como por ejemplo
salir de vi guardando o sin guardar los cambios
realizados en el archivo (:wq :q!). Para acceder a este
modo, tecleamos : desde el modo comando. Para salir
de l ejecutamos una orden o borramos todo,
incluidos los dos puntos.
12.2. Insertar texto
Si estamos en modo rdenes podemos pasar al modo
de insercin de varias formas:
Tecla i: para insertar texto desde la posicin en la
que se encuentra el cursor.
Tecla a: para insertar texto comenzando detrs de
la posicin actual del cursor.
Tecla A: para insertar texto comenzando al final
de la lnea actual.
Tecla I (i mayscula): para insertar texto
comenzando al inicio de la lnea actual.
Tecla o: para insertar texto debajo de la lnea
actual.
Tecla O: para insertar texto por encima de la lnea
actual.
En la parte inferior de la pantalla aparecer la cadena
INSERTindicndonos que estamos en el modo de
insercin. Podremos borrar y suprimir texto, adems
de movernos por el archivo con las flechas del cursor.
12.3. Borrar texto
Adems de las teclas de retroceso y suprimir,
podemos utilizar otras rdenes para
borrar desde el modo comando:
Tecla x: borra el carcter en el que se
encuentra situado el cursor.
Tecla X: borra el carcter que est a la
izquierda del cursor.
Teclas dd: borra la lnea en la que se
encuentra el cursor.
Tecla dw: borra la palabra en la que se
encuentra el cursor.
Tecla o: para insertar texto debajo de la lnea
actual.
Tecla O: para insertar texto por encima de la lnea
actual.
12.4. Modificar texto
Desde el modo comando podemos reemplazar o
sustituir parte del texto:
Tecla r: permite sustituir el carcter en el que se
encuentra el cursor.
Tecla R: en la parte inferior de la pantalla aparecer
la cadena REPLACE--, que nos indica que podemos
reemplazar el texto hasta que pulsemos la tecla Esc.
Es decir, R es similar al modo de insercin, con la
diferencia de que en lugar de insertar texto lo
sobrescribe.
Teclas :r : inserta en el fichero que estamos editando
el contenido del fichero que indicamos.
Tecla ~: cambia de maysculas a minsculas, o
viceversa, el carcter en el que se encuentra el cursor
(F10 cambia uno, F11 cambia tres, F12 cambia
cuatro).
12.5. rdenes de desplazamiento
Adems de las flechas del cursor, podemos movernos
por el documento desde el modo comando utilizando
una serie de rdenes:
Tecla h: un carcter a la izquierda.
Tecla j: un carcter abajo.
Tecla k: un carcter arriba.
Tecla l (ele minscula): un carcter a la derecha.
Tecla e: al final de la palabra actual.
Tecla b: al inicio de la palabra actual.
Tecla w: al inicio de la palabra siguiente.
Tecla 0 (cero): al inicio de la lnea actual.
de ~ que indican el final del fichero. En la parte
inferior veremos el nombre del nuevo fichero.
En un principio no podremos insertar texto, ya que vi
arranca en el modo rdenes, uno de los tres posibles
modos de operacin: modo rdenes, modo insercin,
modo ltima lnea.
En modo rdenes o modo comandos no
podremos insertar texto. Nos permitir usar ciertas
rdenes de edicin de ficheros o cambiar a otros
modos.
Al modo de insercin, que nos permitir escribir y
desplazarnos por el archivo, se accede desde el modo
comando por ejemplo con la orden i. Para volver al
modo comando pulsamos la tecla Esc.
El modo ltima lnea, o modo ex, proporciona
ciertas rdenes extendidas a vi, como por ejemplo
salir de vi guardando o sin guardar los cambios
realizados en el archivo (:wq :q!). Para acceder a este
modo, tecleamos : desde el modo comando. Para salir
de l ejecutamos una orden o borramos todo,
incluidos los dos puntos.
12.2. Insertar texto
Si estamos en modo rdenes podemos pasar al modo
de insercin de varias formas:
Tecla i: para insertar texto desde la posicin en la
que se encuentra el cursor.
Tecla a: para insertar texto comenzando detrs de
la posicin actual del cursor.
Tecla A: para insertar texto comenzando al final
de la lnea actual.
Tecla I (i mayscula): para insertar texto
comenzando al inicio de la lnea actual.
Tecla o: para insertar texto debajo de la lnea
actual.
Tecla O: para insertar texto por encima de la lnea
actual.
En la parte inferior de la pantalla aparecer la cadena
INSERTindicndonos que estamos en el modo de
insercin. Podremos borrar y suprimir texto, adems
de movernos por el archivo con las flechas del cursor.
12.3. Borrar texto
Adems de las teclas de retroceso y suprimir,
podemos utilizar otras rdenes para
borrar desde el modo comando:
Tecla x: borra el carcter en el que se
encuentra situado el cursor.
Tecla X: borra el carcter que est a la
izquierda del cursor.
Teclas dd: borra la lnea en la que se
encuentra el cursor.
Tecla dw: borra la palabra en la que se
encuentra el cursor.
Tecla o: para insertar texto debajo de la lnea
actual.
Tecla O: para insertar texto por encima de la lnea
actual.
12.4. Modificar texto
Desde el modo comando podemos reemplazar o
sustituir parte del texto:
Tecla r: permite sustituir el carcter en el que se
encuentra el cursor.
Tecla R: en la parte inferior de la pantalla aparecer
la cadena REPLACE--, que nos indica que podemos
reemplazar el texto hasta que pulsemos la tecla Esc.
Es decir, R es similar al modo de insercin, con la
diferencia de que en lugar de insertar texto lo
sobrescribe.
Teclas :r : inserta en el fichero que estamos editando
el contenido del fichero que indicamos.
Tecla ~: cambia de maysculas a minsculas, o
viceversa, el carcter en el que se encuentra el cursor
(F10 cambia uno, F11 cambia tres, F12 cambia
cuatro).
12.5. rdenes de desplazamiento
Adems de las flechas del cursor, podemos movernos
por el documento desde el modo comando utilizando
una serie de rdenes:
Tecla h: un carcter a la izquierda.
Tecla j: un carcter abajo.
Tecla k: un carcter arriba.
Tecla l (ele minscula): un carcter a la derecha.
Tecla e: al final de la palabra actual.
Tecla b: al inicio de la palabra actual.
Tecla w: al inicio de la palabra siguiente.
Tecla 0 (cero): al inicio de la lnea actual.

You might also like