Sunteți pe pagina 1din 8

Linux+ DVD Starter Kit

Retorno al Shell
Daniel Alejandro Benitez

M
uchas son las razones que • Para mayor información sobre el estándar, El directoio /bin/
podemos escuchar y dar acer- dirigirse a: http://www.pathname.com/fhs/. En este directorio se encuentran archivos
ca de los beneficios de saber binarios ejecutables del sistema. Entre ellos
operar GNU/Linux prescin- A continuación vamos a ver una descripción el shell bash, las utilidades de configuración
diendo de la interfaz gráfica, pero sin lugar a de cada uno de los directorios más importan- del sistema, utilidades para el manejo de
dudas todos coincidimos en que las utilidades tes y su contenido. archivos, entre otros. Los archivos conteni-
que podemos ejecutar desde la línea de coman- dos aquí son para ser usados por todos los
dos no sólo son muy poderosas, sino que en El directorio raíz (/) usuarios.
ocasiones simplifican las tareas que se realizan El contenido del directorio raíz debe ser ade-
desde el entorno gráfico. Esto puede parecer cuado para arrancar, recuperar y/o reparar el El directoio /sbin/
una exageración, pero los invito a que sean sistema. Todo surge a partir del directorio raíz Aquí encontramos unicamente los ejecutab-
ustedes los que lo comprueben. (/) y es el único directorio en el nivel superior les esenciales para el arranque, recuperación
Una buena forma de empezar es apren- del árbol jerárquico de archivos. y reparación del sistema. En su mayoría
diendo como están organizados los datos en sólo pueden ser ejecutados por el usuario
un sistema GNU/Linux. Al hacerlo estaremos El directorio /boot/ root.
en condiciones de entender cual es la utilidad El directorio /boot/ contiene archivos estáti-
de cada directorio, su importancia y contenido. cos requeridos para arrancar el sistema, tales El directoio /dev/
como el kernel de Linux y los archivos de Este directorio contiene archivos que repre-
Estándar de la Jerarquía del configuración necesarios para dicha tarea. sentan los diferentes dispositivos de hard-
sistema de archivos (FHS – Estos archivos son esenciales para que el ware y que son esenciales el correcto fun-
Filesystem Hierarchy Standard) sistema arranque correctamente. cionamiento del sistema.
FHS (Filesystem Hierarchy Standard) es un es-
tándar que define los nombres, la ubicación
y los permisos de muchos tipos de archivos y di-
rectorios. Se trata de un documento que es una
referencia para todo sistema compatible FHS.
Sin embargo da lugar a algunas extensibi-
lidades en algunas areas mientras que a otras
no las cubre. Esto da cierta libertad al mo-
mento de aplicarlo, de allí que pueden existir
pequeñas diferencias entre las distribuciones
GNU/Linux en lo que a estructura del FHS
se refiere.
Cabe aclarar que en GNU/Linux todo es
un archivo, esto incluye archivos, directorios,
todo tipo de dispositivo de hardware, parti-
ciones de los discos, etc; es decir absoluta-
mente todo.
Este estándar habilita:

• Al software para predecir la ubicación de


archivos y directorios instalados.
• A los usuarios a predecir la ubicación de Figura 1. En la figura vemos el contenido del archivo /proc/cpuinfo que muetra información relacionada con el
los archivos y directorios instalados. procesador

www.lpmagazine.org/es
66
Retorno al Shell

El directorio /etc/ menudo se hace referencia a /proc/ como un • /root/ es el directorio “home” del admi-
/etc/ está reservado para los archivos de con- sistema de archivos virtual. nistrador del sistema, es decir el usuario
figuración del sistema y de las distintas apli- Estos archivos virtuales poseen cualida- root.
caciones. Aquí no deben colocarse binarios, des únicas, una de ellas es que la mayoría • /tmp/ contiene archivos temporales.
que si bien antiguamente se lo hacía, deberían tienen un tamaño de 0 bytes. Sin embargo, • /lost+found/ es un directorio de archi-
colocarse en /sbin/ o en /bin/ según correspon- cuando se visualiza el archivo utilizando por vos perdidos.
da. Como ejemplo veremos el contenido de ej. el comando cat o more, puede mostrar
algunos de sus subdirectorios. gran cantidad de información. Para más información podemos consultar el es-
En /etc/X11/ hay archivos de configura- tándar FHS en: http://www.pathname.com/fhs/.
ción del servidor de ventanas X, entre ellos El directorio /opt/ O desde una terminal ingresando la si-
archivos importantes como xorg.conf. /etc/ Este directorio proporciona un área para guiente orden:
skel/ proporciona una forma de asegurarnos guardar habitualmente paquetes de software
que todo nuevo usuario creado tenga la mis- de una aplicación amplia y estática. $man -hier
ma configuración inicial. El directorio /etc/ Un paquete que coloca archivos en /opt/
es uno de los más importantes. crea un directorio con el mismo nombre del El intérprete de comandos, el
paquete. Estos archivos son guardados de for- Shell
El directorio /lib/ ma tal que se evita que esten esparcidos por El shell o intérprete de comandos es el meca-
El directorio /lib/ debería contener sólo las todo el sitema de archivos, dándole al admi- nismo que permite la comunicación entre el
bibliotecas (libraries) necesarias para ejecutar nistrador una forma fácil de determinar cuál Kernel y el usuario. Su principal función es la
los binarios alojados en /bin/ y en /sbin/. es el rol que cumple cada archivo dentro de de tomar las “ordenes” que ingresa el usuario
Estas bibliotecas compartidas son particular- un paquete en particular. para enviárselas al Kernel.
mente importantes para arrancar el sistema Existen muchos shells para Linux, entre
y ejecutar comandos. El directorio /usr/ los más conocidos encontramos el shell Bour-
El directorio /usr/ es para archivos que pue- ne (bash), el shell Berkley C (csh) y el shell
El directorio /media/ dan ser compartidos a través de muchas má- Korn (ksh). Siendo bash el más difundido de
Contiene los subdirectorios utilizados como quinas. Habitualmente /usr/ se monta como los tres y el que se incluye como shell prede-
puntos de montaje para medios removibles, sólo lectura. y en una partición aparte. terminado en la mayoría de las distribuciones
por ejemplo CD-ROMs entre otros. GNU/Linux.
El directorio /var/ * El Kernel o núcleo es el corazón de un
El directorio /mnt/ El FHS requiere que Linux sea capaz de sistema operativo.
Este directorio está reservado para sistemas montar /usr/ en sólo lectura, por ello cual-
de archivos montados temporalmente, tales quier programa que escriba archivos log o que La Terminal
como montajes de NFS. Recordemos que pa- necesite los directorios spool/ o lock/ debe- La Terminal es una forma de manejar el
ra los medios removibles utilizamos el direc- ría escribirlos en el directorio /var/. El FHS sistema prescindiendo de la interfaz gráfica.
torio /media/. No deben instalar programas especifica que /var/ es para archivos de da- Para ello nos presenta una pantalla en modo
en este directorio. tos variables. Esto incluye archivos y direc- texto donde muestra el “prompt” o indicador
torios spool, datos de administración, de del sistema. Esto significa que el interprete de
El directorio /proc/ registro, correo local y archivos temporales comandos está listo para recibir las órdenes del
Se trata de un directorio que contiene archi- entre otros. usuario. No obstante a la hora de introducirlas
vos “especiales” que extraen información debemos tener en cuenta que debemos distin-
del kernel o se la envían. Debido a la gran El directorio /sys/ guir entre mayúsculas y minúsculas y que gene-
variedad de datos y a la cantidad de diferen- /sys/ utiliza el nuevo sistema de archivos ralmente los comandos van en minúsculas.
tes formas en que este directorio se comunica virtual sysfs específico del kernel 2.6. El di- Existen dos formas de acceder a una ter-
con el kernel, sería necesario dedicarle todo rectorio /sys/ contiene información similar minal, la primera es utilizando una aplicación
un artículo sólo a él. Es por ello que se da a la que se encuentra en /proc/. que la emula dentro de un entorno gráfico co-
una descripción somera destacando algunos mo son Konsole, la terminal de KDE o xterm
puntos que pueden ser útiles. El directorio /home/ de GNOME. La otra forma es presionando
El kernel de Linux tiene dos funciones En /home/ encontramos los directorios de Ctrl + Alt + F1 con lo que accederemos
primarias: controlar el acceso a los disposi- cada uno de los usuarios del sistema. a una terminal completamente en modo texto.
tivos físicos y establecer como y cuándo los Cada usuario posee un directorio personal Existen seis terminales a las que podemos ac-
procesos interactuarán con estos dispositivos. en donde guarda su configuración personal, ceder utilizando la combinación Ctrl + Alt
En los archivos contenidos en /proc/ se documentos, etc. Sin embargo, según el es- + F1 a Ctrl + Alt + F6. Al utilizar esta for-
puede encontrar mucha información impor- tándar FHS, ningún programa debería basarse ma mostrará el indicador de inicio de Sesión
tante con detalles sobre el hardware del siste- en esta ubicación. (login) donde es necesario ingresar el nombre
ma y cualquier proceso que se esté ejecutando La lista de directorios es mucho más de usuario y la contraseña. Introducidos estos
actualmente. extensa y aquí mencionamos sólo algunos a datos se carga la configuración se la cuenta
Cabe destacar que los archivos a los que modo de introducción. correspondiente y el sistema queda listo para
hacemos referencia son de un tipo llamado Otros directorios importantes que encon- utilizarse. Para regresar al modo gráfico pre-
archivo virtual, y es por esta razón que a tramos son: sionar Ctrl + Alt + F7.

www.lpmagazine.org/es
67
Linux+ DVD Starter Kit

Generalmente el indicador del sistema Ejemplo: observaremos que algunos comandos van
(prompt) finaliza con el carácter $ cuando se seguidos de un número o letra encerrado entre
utliza la terminal como usuario normal y con $ man date paréntesis, éstos hacen referencia al número
# cuando se utiliza como usuario root (admi- de sección del manual. También puede ocurrir
nistrador del sistema). Al darle ingreso a la orden anterior mostrará que devuelva más de un resultado para el mis-
Trabajar con la terminal nos provee un la ayuda correspondiente al comando date. mo comando, lo que indica que hay más de un
mecanismo muy poderoso y rápido con el que Para avanzar a la siguiente página de la uso para dicho comando:
se pueden realizar un sin fin de tareas. ayuda bastará con presionar la tecla barra es-
paciadora o ENTER para desplazarnos línea a whatis equivale a utilizar man -f.
Los comandos línea. Para salir hay que presionar la tecla q.
Todos los comandos en GNU/Linux son exter- El comando man puede ir acompañado de Ejemplo:
nos al intérprete de comandos, esto significa opciones. Veamos algunos ejemplos:
que por cada uno de ellos tendremos un archi- $ whatis time
vo alojado en un determinado directorio de- • -f: utilizar esta opción equivale al co-
pendiendo de su función (ej. /bin/, /sbin/, mando whatis Si no se está seguro de lo que se desea consul-
/usr/bin/). • -k: hace que man cumpla la misma fun- tar y al realizar la búsqueda con whatis o man
En general todos los comandos pueden ción que apropos -f no se ha obtenido nada útil, se puede inten-
ser ingresados acompañados de una o más • -h o –help: muestra las opciones que pue- tar utilizar apropos. Este comando analiza las
opciones. El formato general es : den utilizarse con el comando man. descripciones de la misma manera que whatis
• -a: muestra secuencialmente todas las pá- pero además presenta las correspondencias
comando [opciones] [archivo/ ginas que contienen el comando buscado. parciales con la cadena que se ingresó:
directorio]
Para más información sobre el uso de man $ apropos time
A continuación damos una introducción a y opciones podemos ingresar:
algunos de ellos. Muchos de los comandos apropos cumple la misma función que man -k.
poseen muchas más opciones de las que se $ man man
describen aquí y es por ello que intentamos Más ayuda
enumerar las más comunes, dando al lector La mayoría de los comandos cuentan con la Info es el formato de documentación del
lo necesario para que profundize en aquellos opción -h (o también --help), que muestra en proyecto GNU. Para acceder a esta docu-
casos que lo considere necesario. pantalla la sintaxis del comando junto con sus mentación simplemente tipeamos el comando
Nota: El signo $ que se antempone al co- opciones principales. Esto es útil si ya se co- info desde la línea de comandos. Esto nos pre-
mando en los ejemplos simboliza el prompt noce la funcionalidad del comando pero no se sentará un documento de texto con un índice
y no debe ser tipeado al probar los ejemplos. recuerda alguna opción en particular: de todos los documentos disponibles en este
formato. Cada línea del documento precedida
Documentación y ayuda $ man -h por un asterisco (*) identifica un hiperenlace
El comando man se encarga de formatear (que tienen un comportamiento similar a los
y mostrar las páginas del manual del sistema. Si se sabe el nombre del comando podemos de HTML) que nos llevará a la sección co-
Es la manera más fácil y rápida de encontrar utilizar whatis que devuelve una descripción rrespondiente; para ello bastará con ubicarse
información acerca de cómo utilizar un co- breve del comando consultado. sobre el item y presionar la tecla ENTER.
mando. La forma más simple de utilizar man whatis analizará la descripción de todos Podemos obtener ayuda acerca del uso
es ingresándolo seguido del comando que se los comandos disponibles en busca de la ca- de info presionando '?' y para salir de la apli-
desea consultar. dena ingresada. En la información devuelta cación presionando 'q'. Otra forma de utilizar
info es ingresarlo seguido del comando que
se está buscando, de ésta manera irá directa-
mente a la sección correspondiente.
Ejemplo:

$ info date

Documentación adicional
Generalmente en todas las distribuciones se
incluye un directorio con documentos que
pueden ser muy útiles. Su ubicación debería
ser /usr/share/doc/ , de no ser así probar
con /usr/doc/.
En algunos casos la información conte-
nida se reduce a un simple archivo 'leame'
('readme') mientras que en otros podemos
Figura 2. Aquí vemos el resultado de ejecutar el comando del ejemplo anterior encontrar información realmente útil.

www.lpmagazine.org/es
68
Retorno al Shell

Cómo navegar por el Sistema Generalmente al abrir una terminal se • -F - Añade detras cada nombre de direc-
de Archivos parte del directorio home del usuario con el torio un '/', y detras cada nombre de un
Al comienzo de éste artículo describimos al- que está trabajando. ejecutable un '*'.
gunos de los directorios más importantes del Para facilitar el trabajo, GNU/Linux no • -R - Lista recursivamente los subdirecto-
sistema. A continuación veremos algunos co- obliga a recordar la ruta de acceso al direc- rios encontrados.
mandos que sirven para desplazarse a traves torio personal, sino que permite utilizar el • -d - Lista nombres de directorios como
de ellos. Pero primero hay dos conceptos que carácter ~ para hacer referenciarlo. De esta otros archivos, en vez de listar sus conte-
debemos tener en claro: qué es una ruta de forma cuando se esté en un directorio que nidos.
acceso y qué son las rutas de acceso absosul- no sea el propio, podremos regresar al home • -l - Permite visualizar más información
tas y relativas. De una manera simplificada, rapidamente tipeando. acerca de los archivos mostrados. Al
una ruta de acceso es el trayecto más corto de Ejemplo: principio puede parecer un poco compli-
directorios por el que tenemos que desplazar- cado pero a continuación damos algunos
nos desde el directorio raíz para llegar a un $ cd ~ conceptos para facilitar su comprensión.
directorio o archivo en el que se está trabajan-
do en ese instante. Cada nombre de directorio Existe otra manera más eficaz de cambiar de En la primer línea del listado muestra el total
se separa con el carácter /. Todas las rutas de directorio y es utilizando los comandos pushd de elementos del directorio en cuestión.
acceso absolutas deben comenzar con el ca- y popd. Luego vienen las líneas en las que se de-
rácter / es decir referencian al directorio ráiz, pushd cambia al directorio especificado talla el contenido del directorio mostrándose
mientras que las relativas no; y se utilizan colocando el actual en la pila de directorios una línea por cada elemento.
para indicar que el directorio referenciado es (una pila es un tipo de almacenamiento de Los primeros 10 carácteres que aparecen
un subdirectorio del actual. datos). Luego se pueden hacer todos los en la parte izquierda corresponden a al infor-
cambios de directorios necesarios y cuando se mación sobre los atributos de cada archivo.
¿En que directorio me encuen- desee volver al primer directorio bastará con El primer carácter determina si se trata de un
tro?: pwd ingresar el comando popd. archivo (en cuyo caso el primer será una a)
El comando pwd (present working directory Ejemplos: o directorio (en este caso el carácter es una d).
– directorio actual de trabajo) sirve para saber Pueden haber casos donde el primer carácter
en qué directorio se encuentra el usuario en $ pwd sea una l que indica que se trata de vínculos
ese momento. Al introducirlo sabrá exacta- /home/usuario o nombres de archivos alternativos para otros
mente donde se encuentra ubicado. $ cd /usr/share/doc archivos o directorios. Los nueve carácteres
Ejemplo: $ pwd restantes estan agrupados en tres grupos de
/usr/share/doc tres letras que indican si el archivo es de lectu-
$ pwd $ cd /etc ra, escritura y ejecutable para el usuario, para
/home/usuario $ pwd el grupo y para del resto de los usuarios.
/etc Luego de éste grupo de 10 carácteres apa-
Esto es principalmente útil cuando en el $ popd rece un número que se refiere a los vínculos
prompt no muestra la ruta de acceso. $ pwd del archivo. En general es un dato poco im-
/home/usuario portante para la mayoría de los usuarios.
Cómo cambiar de directorio: cd A continuación aparece el nombre del pro-
El comando cd permite cambiar del directorio Al hacer popd regresa al directorio desde pietario y el nombre del grupo al que pertenece
actual a otro especificado, haciendo que se donde se ejecutó pushd y luego la pila de el archivo o directorio. El siguiente dato es la
abandone el actual y que pase a serlo aquel que directorios se limpia. cantidad de espacio en disco que ocupa el ar-
se especificó en el comando cd. Nota: el comando pwd no es necesario uti- chivo o directorio. En el caso de tratarse de un
Ejemplos: lizarlo, en el ejemplo se lo incluye sólo para directorio, no se muestra el espacio que ocupan
hacerlo más claro. los archivos contenidos en él sino el espacio
$ pwd que ocupa el archivo de datos que controla el
/home/usuario Cómo mostrar el contenido directorio. Este valor se mide en bytes. Des-
de un directorio: ls púes del tamaño viene la fecha y la hora en que
Si ejecutamos: ls sirve para obtener un listado de los ar- se modificó por última vez.
chivos de un directorio. Si no se indica lo Para finalizar, en último lugar aparece el
$ cd /usr/share/doc contrario mostrará el contenido del directorio nombre del archivo.
actual. Sintaxis:
Y luego hacemos: • - h : Utilizada con -l muestra los bytes
ls [opciones] [archivo..] ocupados por los arhivos en otra unidad
$ pwd (Ej. 14K, 13M, 4G). Equivale a utilizar
/usr/share/doc A continuación se verán algunas las opciones la opción --human-readable.
más comunes: • - a :De manera predeterminada en la lista
Comprobamos que luego de ejecutar el co- mostrada por ls no se incluyen todos los
mando cd el directorio actual pasó a ser /usr/ • -C - Lista los archivos en columnas, or- archivos a menos que especifique la op-
share/doc. denados verticalmente. ción -a (all - todos) , esto hace que en

www.lpmagazine.org/es
69
Linux+ DVD Starter Kit

el listado aparezcan los archivos cuyos • c para bytes. Opciones principales :


nombres empiecen con un punto ' . ' (por • K para kilobytes.
lo general estos nombres se utilizan para • M para megabytes. • -c: Muestra la cantidad de líneas que sa-
archivos de control y configuración). • G para gigabytes. tisfacen la condición.
• -user usuario : Restringe la búsqueda • -i: no se distinguen entre mayúsculas
El comando ls tiene más opciones y pueden a los archivos del usuario especificado en y minúsculas.
consultarse haciendo: 'usuario'. • -l: se muestran los nombres de los archi-
• -group grupo : Restringe la búsqueda vos que contienen líneas buscadas.
$ man ls a los archivos del grupo especificado en • -n: cada línea devuelta es precedida por
'grupo'. su número dentro del archivo.
Ejemplos: • -s: no se muetsran los mensajes que in-
Ejemplos: dican que un archivo no existe o no es
$ pwd accesible.
/home/usuario $ find /usr/share/doc/ -name '*.html' • -v: se muestran sólo las líneas que NO
$ ls -l -h $ find / -type f -name 'sound*' satisfacen el criterio de búsqueda.
$ ls -t $ find / -ctime 2
$ ls -l /usr/share/doc/bash $ find ~/ -ctime +5 Ejemplos:
$ find /usr/share/doc -size 1024k
Búsqueda de archivos $grep -c 'GNU' /usr/share
Para localizar un archivo es necesario conocer El comando locate /doc/bash/copyright
algo sobre él. Puede ser parte del nombre, la Este comando es muy fácil de usar. Para eje- 27
fecha de creación o el tamaño. cutarlo simplemente hay que incluir el nom-
bre del archivo a buscar. Locate se ejecuta Al ejecutar el comando anterior devuelve
El comando find de forma muy rápida debido a que no busca la cantidad de líneas (27) que contienen la
Si disponemos de algunos de los datos antes el archivo por todo el sistema de archivos cadena 'GNU':
mencionados (nombre, fecha o tamaño), se sino que lo hace dentro de una base de datos
puede utilizar el comando find, que se encar- dedicada a este fin. $grep -n 'gnu' /usr/share
gará de analizar todo el sistema de archivos en Sintaxis: /doc/bash/copyright
busca de aquellos que se correspondan con el 7: bash ftp.gnu.org:
criterio de búsqueda especificado. locate [archivo] /pub/gnu/bash
Sintaxis: /bash-3.1.tar.gz
La desventaja que tiene el comando locate
find [path] [opciones] [cadena a es que en caso de no estar actualizada la En este ejemplo muestra que la línea que con-
buscar] base de datos no encontrará lo que se busca tiene la cadena ´gnu' precedida por el número
a pesar de existir. En ese caso habrá que de la misma (7):
Path: es la ruta de acceso desde la cuál se utilizar el comando updatedb para actuali-
comenzará la búsqueda. zarla. $grep -n 'GNU' /usr/share
Opciones: Ejemplo: /doc/bash/copyright

• -h , --help : muestra la ayuda del comando. $ locate soundcard Cómo trabajar con archivos
• -name : Se realiza una búsqueda por nom- y directorios
bre. Distingue entre mayúsculas y mi- Como resultado de la búsqueda anterior devol-
núsculas. verá todos los nombres de archivos (y directo- Elimación de archivos y directorios: rm.
• -iname : igual que -name pero NO se dis- rios) que contienen la palabra soundcard. El comando rm se utiliza para eliminar tanto
tingue entre mayúsculas y minúsculas. archivos como directorios. Por defecto rm no
• -ctime n : Muestra los archivos cuyo status Cómo buscar una cadena elimina directorios.
haya sido cambiado en el tiempo especifi- de carácteres dentro de un Sintaxis:
cado en el sufijo n y está expresado en días. archivo
• -print : indica que muestre por pantalla el Sin dudas el comando grep es uno de los más rm [opciones] archivo
resultado de la búsqueda. No suele se ne- potentes y útites del sistema operativo.
cesario especificar esta opción. grep recorre el cuerpo de los archivos Opciones principales:
• -type c : Donde c puede ser reemplazada en busca de la palabra o cadena especificada
por d si es un directorio, f (file) si se trata mostrando las líneas que concuerdan con el • -f: No pide confirmación. No escribe
de un archivo o por l si es link simbólico. patrón introducido. mensajes de diagnóstico.
De esta manera se visualizarán unicamente Sintaxis: • -i : Pide confirmación de borrado por
los archivos del tipo especificado. cada archivo.
• -size n: Para buscar archivos de un tama- grep [opciones] [cadena a buscar] • -r , -R o --recursive : Borra recursiva-
ño n. Puede ir seguido de alguno de los archivo... mente directorios.
siguientes sufijos:

www.lpmagazine.org/es
70
Retorno al Shell

que 'prueba' pertenecerá al directorio 'usuario' • -f, --force: Elimina los archivos de desti-
que a su vez pertenece a 'home' y éste al raíz. no que ya existan sin pedir confirmación.
• -u, --update: Copia un archivo solamente
$ mkdir -p prueba/archivos_pdf cuando el origen es más nuevo que el des-
tino o cuando el destino no existe.
En este ejemplo se crea el directorio 'archi- • -v, --verbose: Muestra el nombre del archi-
vos_pdf' dentro del directorio 'prueba' que vo que se está copiando a medida que va
pertenece al actual; pero en caso de no existir procesando.
este último también lo creará para luego crear • -b, --backup: Hace copias de respaldo de
'archivos_pdf'. archivos que están a punto de ser sobrees-
Recordar que el comando pwd no es nece- critos o borrados.
Figura 3. Al ejecutar el ejemplo anterior visualizaremos
sario ingresarlo y simplemente se lo introduce • -r: Copia directorios recursivamente. To-
en pantalla algo similar a lo mostrado en está figura
para hacer más claro el ejemplo. dos los nombres de archivo de origen se-
Ejemplo: rán tratados como directorios y se copiarán
$ mkdir prueba varios recursivamente en el directorio destino.
$ rm -i *.png
Al darle entrada al comando creará los di- Ejemplos:
Al dar entrada al comando anterior, borrará rectorios 'prueba' y 'varios' ambos tendrán la
del directorio actual todos los archivos cuya misma jerarquía y pertenecerán al directorio $ cp *.pdf documentos
extensión sea .png solicitando confirmación actual.
por cada uno de ellos. De no tener los per- En el ejemplo anterior copia todos los archi-
misos necesarios mostrará el mesaje 'permiso Borrar un directorio: rmdir vos de extensión .pdf en el directorio docu-
denegado' y el archivo no será borrado. (remove directory) mentos que pertenece al directorio actual:
Para evitar equivocaciones es convenien- Este comando borra uno o más directorios
te utilizar la opción -i siempre que se desee siempre y cuando estos estén vacíos. $ cp imagen.png lafoto
eliminar más de un archivo. Sintaxis:
Aquí se copia el archivo imagen.png en otro
Cómo crear un directorio: mkdir rmdir [opciones] llamado lafoto. Si existe un directorio llama-
Los directorios son muy útiles para organizar nombre_directorio... do lafoto el archivo se copiará dentro de ese
los archivos. Para crear un directorio debemos directorio:
utilizar el comando mkdir. nombre_directorio: es el nombre del directo-
Sintaxis: rio a eliminar. En caso de que se quiera elimi- $ cp imagen.png
nar más uno, cada nombre deberá ir separado imagen2.png
mkdir [opciones] directorio.. por un espacio.
Opciones: En este ejemplo se copiará el archivo llamado
Opciones: imagen.png a otro imagen2.png. Si el archivo
• -p : si el directorio incluye más de un di- destino existe será reemplazado por el nuevo:
• -m modo, --mode=modo: Crea los direc- rectorio, borra todos comenzando desde
torios con los permisos especificados en el de nivel inferior hasta llegar al de nivel $ cp -r /var/log
'modo' superior. /samba prueba
• -p, --parents : Crea los directorios padre
que falten para cada argumento directo- Copia de archivos: cp Al ejecutar el ejemplo anterior, se crearía
rio. No hace caso de argumentos que co- Este comando permite copiar un archivo en otro un directorio samba en el directorio prueba
rrespondan a directorios existentes. Por nuevo archivo destino, o bien copiar uno o más y se copiaría el contenido del directorio /var/
ejemplo, si existe un directorio /prueba y archivos en un único directorio destino. log/samba en el nuevo directorio prueba/
se ingresa mkdir /prueba da error, pero Sintaxis: samba.
mkdir -p /prueba no lo da.
• -verbose: Muestra un mensaje para cada cp [opciones] archivo Cómo mover archivos
directorio creado. Esta opción es útil _origen archivo_destino y directorios: mv
cuando se utiliza con --parents. El comando mv permite mover o renombrar
Opciones: archivos o directorios.
Ejemplos: Si el último argumento nombra a un
• -i, --interactive: Modo interactivo. Pre- directorio existente, mv mueve cada uno de
$ pwd gunta si se desea sobreescribir un archivo los archivos a ese directorio. De lo contra-
/home/usuario destino existente. rio, si sólo se dan dos nombres de archivos,
$ mkdir prueba • -p: Preserva los permisos, el propietario renombra el primero al segundo. Es un
y el grupo de los archivos originales, más error que el último argumento no sea un
En el ejemplo anterior se crea el directorio la fecha y hora de última modificación y directorio y se den más de un archivo como
'prueba' a partir del directorio actual, es decir el de último acceso. origen.

www.lpmagazine.org/es
71
Linux+ DVD Starter Kit

Sintaxis: Sintaxis: Sintaxis:

mv [opciónes] archivo cat [opciones] more [opciones] nombre_archivo


_origen... archivo_destino nombre_de_archivo
Opciones:
Opciones: Opciones:
• -num: Esta opción especifica un entero
• -i: Pide confirmación cuando el destino • -E: muestra el signo $ al final de cada línea. que indica el tamaño de la pantalla (en lí-
existe. • -n, --number: numera todas las líneas neas).
• -f, --force: Borra los ficheros de destino mostradas. • -p: No realizar desplazamiento. En lugar
existentes sin preguntar al usuario. del desplazamiento, limpia toda la pantalla
• -v, --verbose: Muestra el nombre del Ejemplos: y para después mostrar el texto.
archivo que se está moviendo a medida • -d: more mostrará el mensaje "[Press space
que va procesando. $cat mitexto to continue, 'q' to quit.]" (pulsa espacio
para continuar, 'q' para salir) y en vez de
Ejemplos: Muestra en pantalla el contenido del archivo emitir un pitido cada vez que se pulse una
mitexto: tecla ilegal mostrará "[Press 'h' for instruc-
$ mv foto1.png tions.]" (Pulse 'h' para obtener instruccio-
foto2.png documentos $cat documento1 documento2 nes).
• -s: Reducir múltiples líneas en blanco a una.
En este ejemplo mueve los archivos foto1.png Muetra en pantalla, secuencialmente y según
y foto2.png al directorio documentos conser- el orden especificado, el contenido de los ar- Las siguientes son opciones que se utilizan
vando los nombres originales de los archivos: vhivos indicados: dentro del comando more, es decir cuando se
está visualizando el contenido de un archivo:
$ mv *.pdf documentos $cat documento1
documento2 > documento3 • Barra espaciadora: avanza a la página
Aquí se mueven todos los archivos de exten- siguiente.
sión .pdf al directorio documentos que perte- El contenido de los archivos especificados • Tecla q: sale del programa more y vuelve
nece al directorio actual: (documento1 y documento2) es grabado en a la línea de comandos.
documento3: • Tecla s: Pasa a la siguiente línea de texto.
$ mv foto1.png foto.png Se utiliza desplazarse por el texto lenta-
$cat documento1 mente.
En el ejemplo anterior se le cambia el nombre documento2 >> documento3 • Tecla f: Avanza toda una página del archivo.
al archivo foto1.png de manera que se su nue- • Tecla / <patrón>: Busca y avanza hasta la
vo nombre sea foto.png: El contenido de documento1 y documento2 es cadena de texto especificada por patrón.
añadido al final de documento3: • Tecla b: retrocede una página del archivo.
$ mv documentos • Tecla ? o h: muestra la ayuda para el co-
mis_documentos $cat >mitexto mando more.

Si el nombre origen es un directorio, se cambia- Acepta lo que se introduce por el teclado y lo El comando less
rá el nombre por el especificado en destino. graba en mitexto (se crea mitexto). Para finali- less al igual que more, permite visualizar el
En nuestro caso, y asumiendo que el zar se debe presionar <ctrl>d: contenido de un archivo de texto aunque es un
directorio documentos existe, se le cambia el visor más versátil y moderno que more. Una
nombre de manera que su nuevo nombre sea $cat /etc/passwd de sus principales diferencias es la capacidad
mis_documentos. que tiene less para moverse por el interior de
En el ejemplo anterior muestra el contenido los archivos que se estan visualizando.
Cómo visualizar del archivo passwd que se encuentra en el Sintaxis:
archivos: cat directorio /etc.
Una forma fácil de visualizar el contenido de less [opciones] nombre_archivo
archivos es utilizando el comando cat. Tam- Visualización de archivos
bién puede utilizarse junto con un operador por páginas: more y less A continuación se dan algunos comandos
de redireccionamiento para crear un archivo Como dijimos, el comando cat sirve para vi- que permitirán moverse por el archivo vi-
que sea el resultado de varios archivos con- sualizar el contenido de archivos comodamente sualizado:
catenados. cat muestra el contenido de los cuando no son muy grandes. Pero existen otros
archivos cuyos nombres se introduzcan, uno a comandos que han sido especialmente creados • Barra espaciadora: avanza a la página
continuación del otro sin hacer pausas durante para visualizar archivos extensos desde la línea siguiente.
el despliegue de la información. Esto puede de comandos, estos son: more y less. • Tecla b: retrocede una página.
ser un problema cuando se trata de archivos Para utlizar more, solo hay que ingresar el • Tecla q: Cierra el programa less y vuelve
muy extensos. comando seguido del nombre del archivo. a la línea de comandos.

www.lpmagazine.org/es
72
Retorno al Shell

• Flecha arriba / abajo: retrocede o avan- Ejemplos: date: Muestra por pantalla el día y la hora. Si
za una línea. se tiene privilegios de superusuario, también
• /<patrón>: Busca y avanza hasta la ca- $tail -n15 /usr/share permite cambiar la fecha y hora actuales.
dena encontrada. Esta búsqueda se reali- /doc/grub/AUTHORS Uptime: Devuelve la hora actual, el nú-
za desde la posición en que se encuentre mero de usuarios que han iniciado una sesión,
situado en ese momento hasta el final del En el ejemplo se visualizan las 15 últimas el tiempo que lleva el sistema funcionando y
archivo. líneas del archivo AUTHORS. la cantidad de carga que ha tenido que sopor-
• ?<patrón>: Busca hacia atrás, despla- tar el sistema. cal: Muestra el calendario en
zándose hasta la cadena encontrada. Cómo contar líneas, palabras formato tradicional.
• Tecla h: Muestra la ayuda para el coma- y carácteres: wc Ejemplos:
nando. Podemos utilizar el comando wc para saber
de forma rápida y sencilla cuantas líneas, $cal 2007
Visualizar partes de un archivo: palabras y carácteres tiene una archivo. Si se
head y tail especifica más de un archivo muestra también Mostrará el calendario para todo el año 2007.
head muestra sólo las 10 primeras líneas de el total de todas las líneas.
cada archivo especificado. Sintaxis: $cal 04 1998
Sintaxis:
wc [opciones] archivo Muestra el calendario de abril de 1998.
head [opciones] archivo1..
Opciones: $cal -3
Opciones:
• -c: muestra sólo la cantidad de bytes. Muestra el calendario del mes actual, el ante-
• -c, --bytes=[-]N : muestra los prime- • -l: muestra sólo la cantidad de líneas. rior y el próximo. who Muestra los usuarios
ros N bytes de cada archivo especificado. • -m: muestra sólo la cantidad de carácteres. que tienen una sesión iniciada en el sistema
Si se antepone el signo ' - ' al número • -w: muestra sólo la cantidad de palabras. junto con el nombre de la terminal de control
muestra los últimos N bytes. • -L: muestra sólo la longitud de la palabra y la fecha y hora en que iniciaron y la IP desde
• -n, --lines=[-]N: muestra la cantidad más larga. la que están conectados. clear Este comando
de líneas especificadas por el parámet- limpia la pantalla de la consola. free: muestra
ro N. Si N está precedido del signo Ejemplos: la cantidad de memoria libre y usada del siste-
' - ' , mostrará las últimas líneas del ar- ma. free muestra la cantidad total de memoria
chivo. $wc /usr/share/doc/grub/AUTHORS fisica y de intercambio (swap) presente en
54 278 2056 /usr/share/doc/grub/ el sistema, así como la memoria compartida
El comando tail es inverso a head, es decir en AUTHORS y los buffers usados por el nucleo .
lugar de mostrar las primeras líneas de cada
archivo, muestra las 10 del final. En el ejemplo muestra la cantidad de líneas Conclusión
Ejemplos: (54), palabras (278) y carácteres (2056) que GNU/Linux dispone de un gran número de
contiene el archivo AUTHORS. utilidades y debido a esto es imposible ex-
$head /usr/share/doc plicar cada una de ellas en este artículo. Por
/grub/AUTHORS $wc -w /usr/share/doc/grub/AUTHORS ello, se han tratado de incluir principalmente
278 /usr/share/doc/grub/AUTHORS comandos que pueden ser útiles para aquellos
En el ejemplo se visualizan las 10 primeras usuarios que estan haciendo sus primeras
líneas del archivo AUTHORS: Al darle entrada al comando se visualizará incursiones en GNU/Linux, pero al mismo
unicamente la cantidad de palabras que hay tiempo se han incluido conceptos que consi-
$head -n15 /usr/share /doc/grub/ en el archivo especificado. 278 en este caso. deramos les permitirán construir una buena
AUTHORS base que sirva de sustento para los conoci-
Resumen de otros comandos mientos que vayan adquiriendo. ■
Como en el ejemplo anterior, pero en lugar de útiles
mostrar 10 líneas mostrará 15. file: Este comando realiza una serie de com-
Sobre el autor
Sintaxis: probaciones en un archivo para tratar de iden-
Daniel A. Benitez es desarrollador de soft-
tificar su tipo. Tras su ejecución este comando
ware desde hace 20 años, ha trabajado en
tail [opciones] archivo1.. muestra el tipo del archivo e información
distintas tecnologías y sistemas operativos.
acerca del mismo.
Su primer contacto con Linux fue en el año
Opciones: Ejemplo:
1995, y a partir del 2000 lo adoptó como
su sistema operativo. Actualmente brinda
• -c, --bytes=N : muestra los últimos N $ file /usr/share/doc
consultoría a distintas empresas sobre
bytes de cada archivo especificado. /grub/AUTHORS
desarrollo de software, TI y seguridad infor-
• -n, --lines=N: muestra la cantidad /usr/share/doc/grub
mática. Se le puede escribir a la dirección:
de líneas especificadas por el pará- /AUTHORS: ASCII English text
danielbenitez.itpro@sion.com
metro N.

www.lpmagazine.org/es
73

S-ar putea să vă placă și