Está en la página 1de 17

Unidad 3: USO PRACTICO de la SHELL del SISTEMA OPERATIVO

Como se indicó en la Unidad 2 bajo el título El sistema operativo


como interfaz de usuario, los usuarios interactúan con el sistema
con el objeto de obtener información y/o iniciar la ejecución de
programas/servicios. La relativa facilidad de manejo de las
interfaces gráficas hace innecesario su tratamiento en detalle, por
lo que esta Unidad será dedicada a las interfaces de línea de
comandos, recurso clásico al que se debe apelar cuando los recursos
de la interface gráfica resultan insuficientes o cuando se desea
lograr mayor detalle en la información solicitada al sistema o en el
control de la ejecución de programas y/o servicios.
A efectos de acotar el material y posibilitar que las prácticas sean
realizables dentro del tiempo disponible en el Laboratorio, en esta
Unidad se verán principalmente comandos informativos ofrecidos por
el sistema operativo, difiriendo para el final de la Unidad 4
(Sistemas de Archivos) el acceso a algunos de los servicios del
sistema.
3.1 Características Generales de las Shells
Se suele utilizar la palabra Shell para designar a la interface del
sistema operativo con el usuario por considerársela la capa exterior
(cáscara) del sistema. En los sistemas MS Windows, se la ha conocido
con diferentes nombres: MS-DOS, “sólo Símbolo del sistema”, etc.
Aunque no todos los sistemas operativos enfatizan la siguiente
clasificación, desde la línea de comandos se pueden ejecutar:
a) comandos internos: son aquellos previstos en el diseño
original de la Shell y no requieren, por lo general la
activación de procesos adicionales
b) comandos externos: son, por lo general, programas
ejecutables (externos a la Shell) provistos por el sistema
operativo o agregados (tanto por el proveedor de la computadora
como por el usuario) para aumentar/mejorar la funcionalidad del
sistema. Su ejecución genera nuevo(s) proceso(s) que compiten
por los recursos del sistema, al menos durante su ejecución; y
pueden también desencadenar actividades posteriores que
permanecerán activas luego de finalizarlos
c) archivos por lotes: son conjuntos de comandos (por lo
general internos y relacionados entre sí) para un propósito
específico. Su origen se remonta a los orígenes de la
informática, cuando los usuarios no disponían de acceso
interactivo al sistema y debían dejar (en forma de batch files)
las actividades para que fueran ejecutadas por los operadores
del sistema

3.2 Shells de UNIX/LINUX


Tradicionalmente, las shells de Unix/Linux fueron de línea de
comandos como única forma de interacción del usuario con el sistema
operativo. Las distribuciones modernas de Linux incluyen poderosos
entornos gráficos, que facilitan en gran medida las actividades de
los usuarios; no obstante, es posible acceder a la shell de línea de
comandos haciendo (doble) click sobre su icono o buscándola a través
de ventanas de menúes.
Dado que el sistema Linux suele ofrecer más de una shell, es posible
conocer las opciones mediante el comando
cat /etc/shells
que (de ser encontrado) produce un listado de las shells; debiendo
luego confirmar la presencia de la shell deseada mediante el comando
whereis, que informa sobre la ubicación de la misma (si no produce
ninguna información, deberíamos suponer que dicha shell no está
disponible). Por ejemplo, para confirmar la existencia de la shell
bash (una de las más populares), habría que ingresar el comando
whereis bash
Confirmado lo anterior, se deberá proceder a las actividades
prácticas estipuladas en la sección 3.4.1 (Comandos bajos LINUX).

3.3 Shells de WINDOWS


La caótica (aunque por demás exitosa) evolución del sistema
operativo Windows y su marcada tendencia a favorecer el uso de su
entorno gráfico planteó siempre dificultades para el control
minucioso del comportamiento del sistema.
Desde sus primeras versiones, en MS Windows se podía acceder a un
sistema MS-DOS; cuyo rol fue cambiando con el tiempo, pasando de ser
el soporte tecnológico de la interface gráfica hasta constituir hoy
día un recurso de emulación para las (cada más escasas) aplicaciones
que requieren compatibilidad con versiones anteriores.
Las carencias de la interface de línea de comandos se compensaban en
Windows con una gran variedad de herramientas gráficas, cuya
variación a lo largo de las sucesivas versiones generaba confusión y
dificultades para su aprendizaje; lo que generó cierto mercado para
herramientas de otros fabricantes de software. Las versiones Windows
para servidores venían mucho mejor dotadas en cuanto a recursos de
administración del sistema; que solían denominarse Resource Toolkits
y a veces requerían:
a) descargas adicionales desde los sitios de Microsoft
b) conocimiento detallado de su existencia, debido a que
venían incluídas en el medio de instalación pero no eran
instaladas por defecto junto con el sistema
En los últimos años, Microsoft le ha prestado más atención a la
línea de comandos con la publicación de su PowerShell; que ofrece
muchos recursos debido a su integración con los lenguajes de
programación y con otras herramientas administrativas, tanto del
sistema operativo como de sus aplicaciones más importantes. Con el
objeto de apreciar su compatibilidad con las shells de Linux, la
sección 3.4.2 (Comandos bajo Windows) plantea el uso de diferentes
comandos de PowerShell.

3.4 GUIAS para los TRABAJOS PRACTICOS


3.4.1 Comandos bajo LINUX

3.4.1.a Comandos básicos de una Shell LINUX

Comando pwd (directorio actual)


Para determinar el directorio en el cual se está actualmente
(directorio actual), se utiliza el comando pwd (acrónimo de print
working directory - mostrar el directorio de trabajo).
Ingrese el comando pwd y a continuación <ENTER>.
¿Cuál es el directorio actual?

Comando ls (listado de archivos)

Para obtener un listado de los archivos de un determinado directorio


se utiliza el comando ls (abreviatura de list).
El comando ls sin modificadores ni parámetros lista los archivos del
directorio actual, pero su sintaxis
ls <opciones> <directorio>
permite ampliar su funcionalidad (opciones y directorio son
especificaciones que pueden omitirse, por lo que a veces se
encierran entre <> o []).
Ingrese el comando ls y a continuación <ENTER>.
Lo que está viendo es un listado de los archivos contenidos en el
directorio actual.
¿Qué hay en su directorio actual?
El comando ls acepta una variedad de opciones que alteran la manera
en que lista los archivos:
-F Marca los archivos con caracteres que indican su tipo:
* para archivos ejecutables
/ para directorios @ para enlaces simbólicos
| para redirecciones (pipes)
ningún símbolo para archivos comunes
-l Muestra formato extenso (con todos los detalles de cada elemento
listado)
-a Muestra todos los archivos incluidos los ocultos
-s Muestra el tamaño de los archivos
-t Muestra los elementos ordenados por fecha (nuevos primero)
-R Muestra los elementos de manera recursiva (incluyendo elementos
de los subdirectorios del directorio actual)
-i Incluye en el listado los i-nodos de cada elemento Ingrese el
comando ls y a continuación <ENTER>.

Ingrese el comando ls -l y a continuación <ENTER>.


¿Nota la diferencia?
Ingrese el comando ls -lai y a continuación <ENTER>.
¿Hay algo diferente? ¿De qué se trata?
Esta última variante lista bastante información (que será cubierta
parcialmente en la Unidad 4) de los archivos y directorios
contenidos en el directorio actual. La información listada es de
derecha a izquierda:
· El i-nodo del archivo
· Los permisos del archivo
· La cantidad de enlaces "duros" al archivo
· El dueño del archivo y el grupo dueño del archivo
· El tamaño del archivo (en bytes)
· La fecha y hora de última modificación
· El nombre del archivo
Es posible también listar el contenido de otros directorios distinto
del actual. Para ello hay que pasarle como parámetro al comando ls
la ruta absoluta o relativa al directorio que queremos listar.
Ingrese el comando ls -l /etc y a continuación <ENTER>.
Con esto está observando el contenido del directorio /etc
Ingrese el comando ls -l .. y a continuación <ENTER>.
Con esto está observando el contenido del directorio padre del
actual.
Además es posible decirle al comando ls que nos muestre los
distintos tipos de archivos con distintos colores (cuando la tarjeta
de vídeo y el monitor lo soporten).
Ingrese el comando ls --color /etc y a continuación <ENTER
En muchas distribuciones GNU/Linux la opción --color está
predeterminada.

Comando cd (cambiar de directorio)

Para cambiar el directorio de trabajo actual se utiliza el comando


cd (acrónimo de change directory o cambiar directorio). Su sintaxis
es cd <directorio>, pero si se lo ejecuta sin parámetros nos llevará
al directorio home del usuario (equivalente a cd ~ 1).

Ingrese el comando pwd y a continuación <ENTER>.


¿En qué directorio se encuentra?
Ingrese el comando cd / y a continuación <ENTER>.
Ingrese el comando pwd y a continuación <ENTER>.
¿Y ahora dónde se encuentra?
Ingrese el comando cd /usr y a continuación <ENTER>.
¿Dónde se encuentra ahora?
Ingrese el comando cd y a continuación <ENTER>.
¿A qué directorio lo llevó?
Ingrese el comando cd / y a continuación <ENTER>.
Ingrese el comando cd ~ y a continuación <ENTER>.
¿En qué directorio se encuentra ahora

Es posible cambiar al directorio padre del actual mediante el


comando cd ..
Ingrese el comando pwd y a continuación <ENTER>.
¿En qué directorio se encuentra?
Ingrese el comando cd .. y a continuación <ENTER>.
Ingrese el comando pwd y a continuación <ENTER>.
¿Está en el directorio padre del anterior?

No es necesario pasar la ruta absoluta del directorio a cambiar.


Ingrese el comando cd /usr y a continuación <ENTER>.
Ingrese el comando cd local y a continuación <ENTER>.
¿En qué directorio se encuentra ahora?
Ingrese el comando cd / y a continuación <ENTER>.
Ingrese el comando cd /usr/local y a continuación <ENTER>.
¿Es el mismo directorio?

Comando mkdir (crear un directorio)


Para crear un directorio en el directorio de trabajo actual se
utiliza el comando mkdir (abreviatura de make directory). Su
sintaxis es mkdir <nuevodirectorio>

Ahora crearemos un subdirectorio llamado nuevo1 dentro de su


directorio home.
¿Su directorio home es su directorio actual?
(Si no es así cambie a su directorio home). Liste los archivos del
directorio actual.
Ingrese el comando mkdir nuevo1 y a continuación <ENTER>.
Liste nuevamente los archivos del directorio actual.
¿Nota la diferencia?
Cambie al directorio recién creado y dentro de este cree un
directorio llamado nuevo11. Verifique que el directorio fue creado.
Vuelva a su directorio home.
Cree un directorio dentro de nuevo1 llamado nuevo12, pero esta vez
hágalo sin ingresar dentro del directorio nuevo1. Verifique que el
directorio fue creado.

Comando touch (tocar, cambiar, crear un archivo)

Para crear un archivo vacío nos valdremos del comando touch (tocar,
cambiar), cuya sintaxis es touch <nombrearchivo>
Ahora crearemos tres archivos llamados archivo1, archivo2 y
archivo3, dentro del directorio nuevo1 creado recientemente.
Cambie al directorio nuevo1. Liste los archivos del directorio
actual. Ingrese el comando touch archivo1 y a continuación <ENTER>.
Liste nuevamente los archivos del directorio actual.
¿Nota la diferencia?
Ingrese el comando touch archivo2 y a continuación <ENTER>.
Ingrese el comando touch archivo3 y a continuación <ENTER>.
Liste los archivos del directorio actual con la opción -l.
¿Qué tamaño tiene el archivo archivo1?
Ahora crearemos dos archivos llamados archivo11 y archivo12 dentro
del directorio nuevo11 creado recientemente.
Cambie al directorio nuevo11. Cree y verifique la creación de los
dos archivos.
Cambie al directorio padre de nuevo11 y cree un archivo llamado
archivo13 dentro del directorio nuevo11 pero sin entrar en el mismo.
Verifique que el archivo fue creado.

Comando copy (copiar un archivo)

Para copiar un archivo se utiliza el comando cp (abreviatura de


copy). Acorde a la sintaxis cp <opciones> <origen> <destino>,
el comando cp acepta una variedad de modificadores, indicándose a
continuación los más importantes:
-i Modo interactivo (pregunta antes de sobreescribir)
-f Forzar (sobreescribe sin preguntar)
-R Recursivo (copia subdirectorios y sus contenidos)
-p Preserva los atributos del archivo original.

Cambie a su directorio home e ingrese al directorio nuevo1.


Liste los archivos que contiene el directorio actual.
Liste los archivos que contiene el subdirectorio nuevo12.
¿Cuántos archivos tiene?

Ingrese el comando cp archivo1 nuevo12 y a continuación <ENTER>.


Liste los archivos que contiene el subdirectorio nuevo12.
¿Ahora, cuántos archivos tiene?
Ingrese ahora el comando cp -i archivo1 nuevo12 y a continuación
<ENTER>.
¿Qué ocurrió? ¿Por qué?
Ingrese ahora el comando cp -f archivo1 nuevo12 y a continuación
<ENTER>.
¿Qué ocurrió ahora? ¿Por qué?
Ingrese el comando cp archivo1 nuevo12 y a continuación <ENTER>.
¿Y ahora?
Ingrese al subdirectorio nuevo11.
Ingrese el comando cp archivo1? ../nuevo12 y a continuación <ENTER>.
Liste los archivos que contiene el subdirectorio nuevo12.
¿Ahora, cuántos archivos tiene?
Regrese a su directorio home. Cree un subdirectorio llamado nuevo2.
Ingrese el comando cp nuevo1/* nuevo2 y a continuación <ENTER>.
Liste los archivos que contiene el subdirectorio nuevo2.
¿Cuántos archivos tiene?
Ingrese el comando cp -R nuevo1/* nuevo2 y a continuación <ENTER>.
Liste los archivos que contiene el subdirectorio nuevo2.
¿Ahora, cuántos archivos tiene?

Comando mv (mover, renombrar un archivo)

Para mover o renombrar un archivo se utiliza el comando mv


(abreviatura de move). Su sintaxis es mv <opciones> <origen>
<destino> y admite algunos modificadores de interesantes:
-i Modo interactivo (pregunta antes de sobreescribir)
-f Forzar (sobreescribe sin preguntar).

Cambie a su directorio home e ingrese al directorio nuevo1.


Liste los archivos que contiene el directorio actual.
Ingrese el comando cp archivo1 copiaarchivo1 y a continuación
<ENTER>. Liste los archivos que contiene el directorio actual.
¿Ve el nuevo archivo?
Ingrese el comando mv copiaarchivo1 copiarenombrada y a continuación
<ENTER>.
Liste los archivos que contiene el directorio actual. ¿Qué ocurrió?

Cree un nuevo subdirectorio llamado nuevo13.


Liste los archivos que contiene el subdirectorio nuevo13.
¿Cuántos archivos tiene?
Ingrese el comando mv archivo? nuevo13 y a continuación <ENTER>.
Liste los archivos que contiene el subdirectorio nuevo13.
¿Ahora cuántos archivos tiene?
Liste los archivos del directorio actual.
¿Qué ocurrió con los archivos archivo1, archivo2 y archivo3?

Comando rm (remover, eliminar archivo(s))

Para eliminar un archivo se utiliza el comando rm (abreviatura de


remove), cuya sintaxis es rm <opciones> <nombrearchivo>, pudiendo
usar como opciones:
-i Modo interactivo (pregunta antes de borrar)
-f Forzar (borra sin hacer preguntas)
-r ó -R Recursivo (borra subdirectorios y sus contenidos).
Procederemos a eliminar uno de los archivos creados anteriormente.
¿Se encuentra en el subdirectorio nuevo1 de su directorio home? (Si
no es así cambie a ese directorio).
Liste los archivos del directorio actual.
¿Aparece listado el archivo a eliminar?
Ingrese el comando rm copiarenombrada y a continuación <ENTER>.
Liste nuevamente los archivos del directorio actual.
¿Nota la diferencia?
Elimine el archivo archivo12 que se encuentra en el directorio
nuevo11 sin entrar en el directorio.
Verifique la eliminación del archivo.
Cambie al directorio nuevo11.
Elimine el archivo archivo2 del directorio hermano del actual
(nuevo13) desde el directorio actual.

Es posible eliminar directorios utilizando el comando rm. Para ello


se emplean las opciones -r o -R.
Cambie a su directorio home. Liste el contenido del directorio
actual. Ingrese el comando rm r nuevo2 y a continuación <ENTER>.
Liste nuevamente los archivos del directorio actual.
¿Nota la diferencia?

Comando rmdir (remover, eliminar directorio(s) vacío(s))


Para eliminar un directorio vacío se utiliza el comando rmdir (de
remove directory), cuya sintaxis es rmdir <nombredirectorio>

Crear un directorio llamado nuevo3 dentro del directorio home del


usuario. Verifique que el directorio fue creado.

Procederemos a eliminar el directorio creado anteriormente.


Cambie al directorio home del usuario.
Ingrese el comando rmdir nuevo3 y a continuación <ENTER>.
Liste nuevamente los archivos del directorio actual.
¿Nota la diferencia?
Ingrese el comando rmdir nuevo1 y a continuación <ENTER>.
¿Qué ocurrió? ¿Por qué?

3.4.1.b Comandos para manejo de archivos LINUX

Comando file (identificar el contenido de un archivo)


En muchas ocasiones es extremadamente útil determinar qué clase de
contenido tiene un archivo antes de utilizarlo; para lo que se
dispone del comando file, cuya sintaxis es file <opciones> <archivo>

Ingrese el comando file --help y a continuación <ENTER>.


¿Para qué sirven las opciones del comando file?

Ingrese el comando file /etc/passwd y a continuación <ENTER>.


¿De qué tipo de archivo se trata?
Ingrese el comando file /bin/bash y a continuación <ENTER>.
¿Y este archivo?
Ingrese el comando file /dev/tty1 y a continuación <ENTER>.
¿Qué tipo de archivo es?
¿De qué tipo es el archivo /dev/hda?
¿Y el archivo /home?
¿Y el archivo /dev/mouse?

Otra manera de determinar el tipo de archivo es mediante la opción


de mostrar los archivos en colores del comando ls (ls --color, vista
anteriormente).

Comando more (mostrar el contenido de un archivo)

En incontables ocasiones el usuario se verá en la necesidad de ver


por pantalla de manera rápida y simple el contenido de un archivo de
texto dado. Una de las posibles alternativas es el uso del comando
more, cuya finalidad es mostrar el contenido de un archivo de texto
por pantalla de manera paginada (deteniéndose cada vez que se llena
la pantalla). Su sintaxis es more <opciones> <archivo>
Ingrese el comando more /etc/hosts y a continuación <ENTER>.
¿Ve el contenido del archivo?
Ahora ingrese el comando more /etc/services y a continuación
<ENTER>. ¿Ve el contenido del archivo?
¿En qué se diferencia el comportamiento del comando more?
Presione la barra espaciadora.
¿Cuánto se desplazo el texto?
Presione la tecla <ENTER>.
¿Cuánto se desplazo el texto ahora?

Otra manera de ver el contenido de un archivo de texto es el uso del


comando less, muy parecido al more, pero con la posibilidad de ver
la pantalla anterior usando las teclas del cursor o bien mediante
<b> e <y>.
Ahora ingrese el comando less /etc/services y a continuación
<ENTER>. ¿En qué se diferencia del comportamiento del comando more?

Comando head/tail (mostrar el comienzo/final de un archivo)

Cuando trabajemos con archivos de texto cuyo tamaño sea considerable


y sólo nos ver parte de un archivo de texto (usualmente las n
primeras líneas o las n últimas líneas).

Para visualizar las n primeras líneas de un archivo de texto se


utiliza el comando head, cuya sintaxis es head <opciones> <archivo>
Ingrese el comando head --help y a continuación <ENTER>.
¿Para qué sirven las opciones del comando head?

Ingrese el comando head /etc/services y a continuación <ENTER>.


¿Cuántas líneas del archivo /etc/services le mostró?
Ahora ingrese el comando head -n 15 /etc/services y a continuación
<ENTER>.
¿Cuántas líneas del archivo /etc/services le mostró ahora?
Para visualizar las n últimas líneas de un archivo de texto se
utiliza el comando tail, cuya sintaxis es tail <opciones> <archivo>
Ingrese el comando tail --help y a continuación <ENTER>.
¿Para qué sirven las opciones del comando tail?
Ingrese el comando tail /etc/services y a continuación <ENTER>.
¿Cuántas líneas del archivo /etc/services le mostró?
Ahora ingrese el comando tail -n 18 /etc/services y a continuación
<ENTER>.
¿Cuántas líneas del archivo /etc/services le mostró ahora?

Comando grep (buscar dentro de un archivo de texto)

Muchas veces necesitamos encontrar las líneas de un archivo de texto


que contienen una determinada subcadena o patrón de texto; para lo
que se utiliza el comando grep con la sintaxis grep <opciones>
<patrón> <archivo>

Ingrese el comando grep --help y a continuación <ENTER>.


¿Para qué sirven las opciones del comando grep?

Ingrese el comando grep alumno /etc/passwd y a continuación <ENTER>.


¿Qué haría este comando?
¿Qué información mostró?
¿Porqué mostró solamente la línea alumno?

Ingrese el comando grep bash /etc/passwd y a continuación <ENTER>.


¿Qué información mostró?
Ahora ingrese el comando grep v bash /etc/passwd y a continuación
<ENTER>.
¿Qué información mostró? ¿Nota la diferencia?

Comando wc (contar las líneas/palabras/bytes de un archivo)


Para contar cuántas líneas/palabras/bytes tiene un archivo de texto
se utiliza el comando wc (abreviatura de word count), cuya sintaxis
es wc <opciones> <archivo>

Ingrese el comando wc --help y a continuación <ENTER>.


¿Para qué sirven las opciones del comando wc?
Ingrese el comando wc /etc/passwd y a continuación <ENTER>.
¿Qué hizo el comando?
¿Qué información mostró sobre el archivo /etc/passwd?

Ingrese el comando wc -l /etc/passwd y a continuación <ENTER>.


¿Qué información mostró sobre el archivo /etc/passwd?

Ingrese el comando wc -c /etc/passwd y a continuación <ENTER>.


¿Qué información mostró sobre el archivo /etc/passwd?

Ingrese el comando wc -w /etc/passwd y a continuación <ENTER>.


¿Qué información mostró sobre el archivo /etc/passwd?
Comando split (partir un archivo)

Para separar un archivo en dos o más partes de igual tamaño se


emplea el comado split, cuya sintaxis es split <opciones> <archivo>
<prefijo>

Ingrese el comando split --help y a continuación <ENTER>.


¿Para qué sirven las opciones del comando split?

Ingrese el comando split -l 10 /etc/passwd partido y a continuación


<ENTER>.
¿Qué haría este comando?
Liste los archivos del directorio actual.
¿En cuántas partes separó el archivo password?
Determine cuántas líneas tiene cada parte usando el comando wc.
Borre todas las partes del archivo partido.
Ingrese el comando split -b 10 /etc/passwd partido y a continuación
<ENTER>.
¿Qué pasó?
Liste los archivos del directorio actual.
¿En cuántas partes separó el archivo password?
¿Son más que las obtenidas con la opción -l 10? ¿por qué?
Borre todas las partes del archivo partido.

Ingrese el comando split -b 10k /etc/passwd partido y a continuación


<ENTER>.
¿Qué hizo este comando?
Liste los archivos del directorio actual.
¿En cuántas partes separó el archivo password?
¿Son más o menos que las de la opción -b 10? ¿por qué?
Borre todas las partes del archivo partido.

Comando cat (concatenar archivo(s))

Para concatenar uno o más archivos y visualizarlos en la salida


estándar (pantalla) se utiliza el comando cat, cuya sintaxis es
cat <opciones> <archivo1> <archivo2> ... <archivon>

Ingrese el comando cat --help y a continuación <ENTER>.


¿Para qué sirven las opciones del comando cat?

Ingrese el comando split -l 10 /etc/passwd partido y a continuación


<ENTER>
Ingrese el comando cat partidoaa y a continuación <ENTER>.
¿Qué ocurrió?

Ingrese el comando cat partidoaa partidoab y a continuación <ENTER>.


¿Y ahora? ¿Nota cómo funciona el comando cat?
3.4.1.c Comandos para obtener ayuda de LINUX
Ayuda interna de un comando (--help, -h)

Hasta el momento cada vez que necesitábamos conocer que


modificadores y/o parámetros tenía un comando utilizábamos el
modificador --help, que nos da acceso a la ayuda interna del comando
y es aceptado por la mayoría de los comandos no interactivos. La
sintaxis general es
comando –help

Ingrese el comando ls --help y a continuación <ENTER>.


¿Para qué sirven las opciones del comando ls?

Ingrese el comando cp --help y a continuación <ENTER>.


¿Para qué sirven las opciones del comando cp?

En algunos casos no existe el modificador --help, pero se suele


disponer del modificador -h.
Ingrese el comando zip --help y a continuación <ENTER>.
¿Qué ocurrió?
Ahora ingrese el comando zip -h y a continuación <ENTER>.
¿Nota la diferencia?

Páginas del manual de un comando (man)

En ocasiones la ayuda interna de un comando no es lo suficientemente


extensa o clara como para satisfacer nuestra necesidad de
información acerca de ese comando. Para estas ocasiones los comandos
y aplicaciones incluyen un manual al cual se puede acceder a través
del comando man, cuya sintaxis es man <sección> comando

Ingrese el comando man bash y a continuación <ENTER>.


Debería estar viendo las páginas del manual del shell bash.

Man reconoce las mismas teclas que el comando less, por lo cual las
teclas para moverse dentro de las páginas del manual son:
Para moverse hacia arriba y abajo una línea por vez use las
teclas e e y
Para moverse hacia arriba y abajo una pantalla por vez use las
teclas z e w. (Dependiendo de la configuración de la terminal podría
utilizar las teclas Página Arriba y Página Abajo)
Para buscar texto dentro de las páginas actuales presione /
seguido del texto a buscar y <ENTER> y el texto buscado aparecerá
resaltado.
Para salir se utiliza la tecla q (quit).

Ingrese el comando man man y a continuación <ENTER>. Aquí podrá


apreciar todas las opciones y la funcionalidad del comando man.
Es muy útil al emplear el man observar en el final de las páginas
man de algún comando un apartado llamado "SEE ALSO" (ver además)
donde aparecerán las páginas man que guardan relación con el comando
actual.

Ingrese el comando man ln y a continuación <ENTER>.


Así accederá a la página de manual del comando ln. Vaya hacia el
final de la página man hasta ver el apartado "SEE ALSO", en el que
debería ver algo como:
SEE ALSO ls(1), rm(1), link(2), lstat(2), open(2), readlink(2),
stat(2), unlink(2)

Esto quiere decir que hay páginas de manual relacionadas con el


comando ln y que pueden ser de utilidad. Para acceder a estas
páginas se utiliza también el comando man. A continuación de la
página del manual relacionada se puede observar un número entre
paréntesis, que es la sección del manual a la cual corresponde esa
página del manual. Las páginas del manual se encuentran divididas en
secciones por cuestiones de organización. Cada sección agrupa
páginas afines, de acuerdo al siguiente detalle:
1 Comandos
2 Llamadas al sistema (Funciones del núcleo)
3 Llamadas de biblioteca (Funciones de la biblioteca libc)
4 Archivos especiales (Archivos en el directorio /dev)
5 Formato de archivos (Formato de archivos como el
/etc/passwd, /etc/group y otros)
6 Juegos
7 Paquetes misceláneos
8 Manejo del sistema (Utilidades del administrador)
9 Rutinas del núcleo
Es posible que algunos ítems figuren en más de una sección del
manual, siendo necesario decirle al comando man a que sección nos
estamos refiriendo.
Ingrese el comando man passwd y a continuación <ENTER>.
Con ello accederá a la página del manual del comando passwd de la
sección 1.
Pero existe otra página de manual del archivo passwd en la sección
5, a la que se puede acceder mediante el comando man 5 passwd; con
ello accederá a la página del manual del archivo passwd (sección 5).

Ingrese el comando man socket y a continuación <ENTER>.


Con ello accederá a la página del manual de socket de la sección 2
(es decir, la llamada al sistema denominada socket, que es un
recurso de comunicación). Pero existe otra página de manual de
socket en la sección 7, a la que se puede acceder mediante el
comando man 7 socket.

Cuando invocamos a man para buscar la página de manual de un


determinado ítem el comando man recorre las secciones en un
determinado orden. (Por ello al ejecutar man passwd en el ejemplo
anterior vimos la página del comando man en lugar de la del archivo
passwd). El orden de búsqueda es: 1 > 8 > 2 > 3 > 4 > 5 > 6 > 7 > 9
comando about (about, apropos)

El comando man es muy útil cuando sabemos el nombre del comando en


el cual estamos interesados. ¿Pero qué pasa cuando no lo sabemos?
Aquí es donde aparece el comando about, que permite buscar comandos
o ítems relacionados por palabras claves. Por ello muestra como
resultado una lista de conceptos relacionados con la palabra clave
ingresada.

Su sintaxis es about palabra_clave


Ingrese el comando about tape y a continuación <ENTER>.
Ahora debería estar observando una lista de páginas man de comandos
e ítems relacionados con la palabra clave tape.

¿qué es o qué hace un comando (whatis)

Si deseamos una rápida descripción de qué es y qué hace un comando,


podemos utilizar el comando whatis, que muestra como resultado una o
varias cortas descripciones de los conceptos relacionados con el
comando o palabra clave ingresada. Su sintaxis es wathis comando.

Ingrese el comando whatis ls y a continuación <ENTER>.


¿Qué es ls?

Ahora ingrese el comando whatis hd y a continuación <ENTER>.


¿Qué es hd?

¿dónde se encuentra un comando (whereis)

Si deseamos saber cuál es la ubicación de un comando podemos


utilizar el comando whereis, que muestra como resultado una o varias
ubicaciones del comando o palabra clave ingresada. Su sintaxis es
whereis comando

Ingrese el comando whereis ls y a continuación <ENTER>.


¿Dónde está ls?

Ahora ingrese el comando whereis bash y a continuación <ENTER>.


¿Dónde está ubicado el shell bash?

¿dónde se encuentra un archivo (find)

Si deseamos saber cuál es la ubicación de uno o varios archivos


podemos utilizar el comando find, que muestra como resultado todos
los archivos que coinciden con la expresión de búsqueda
proporcionada. En la expresión de búsqueda se pueden incluir
caracteres comodines y expresiones regulares.
Su sintaxis es find <ruta> <opciones> expresión y dentro de las
opciones podemos determinar mediante qué atributo del archivo
realizaremos la búsqueda:
-name: Busca archivos cuyo nombre coincida con el patrón
-iname: Busca archivos cuyo nombre coincida con el patrón sin tener
en cuenta la diferencia entre mayúsculas y minúsculas
-regex: Busca archivos cuyo nombre coincida con la expresión regular
-iregex: Busca archivos cuyo nombre coincida con expresión regular
sin tener en cuenta la diferencia entre mayúsculas y minúsculas
-type <t>: Busca archivos de un tipo determinado (b <==> block, c
<==> char, d <==> dir, p <==> pipe, f <==> archivo, l <==> link, s
<==> socket)
-mount: No desciende a los filesystems montados
-user: Busca archivos cuyo dueño coincida con el patrón
-group: Busca archivos cuyo grupo coincida con el patrón
-perm <m>: Busca archivos cuyos permisos coincidan con el modo m

Ingrese el comando find / -name ls y a continuación <ENTER>.


¿Dónde está ls? ¿Hay solo uno?

Ubíquese en su directorio home e ingrese el comando find -name ls y


a continuación <ENTER>.
¿Qué resultados le mostró?
Ahora ubíquese en el directorio raíz (/) e ingrese el comando find
-name ls y a continuación <ENTER>.
¿Qué resultados le mostró en este caso? ¿A qué se debe el cambio de
comportamiento del comando find?
Ubíquese en su directorio home e ingrese el comando find /bin -type
l (L minúscula) y a continuación <ENTER>.
¿Qué resultados le mostró?
Verifique utilizando el comando correspondiente el tipo de algunos
de los archivos encontrados.
Ingrese el comando find /bin -perm 755 y a continuación <ENTER>.
¿Qué resultados le mostró?
Ahora ingrese el comando find /bin -perm 4755 y a continuación
<ENTER>.
Compare los permisos de los archivos que aparecen en ambos listados.

¿dónde se encuentra un archivo (locate)

Al practicar con el comando find habrá notado lo lento que es el


proceso de búsqueda; para solucionar este inconveniente se creó otro
comando llamado locate. En lugar de buscar el archivo en el
filesystem , se realiza la búsqueda en una base de datos de los
archivos presentes en el filesystem. Su sintaxis es locate archivo.

Realice las búsquedas anteriores utilizando el comando locate.


¿Es posible?

Info Pages (comando info)

Debido a las limitaciones del comando man, la Fundación GNU


desarrolló un sistema de ayuda basado en hipertexto llamado info,
cuya sintaxis es info comando
Si desea saber cómo utilizar info puede usar el comando info info.
Info utiliza distintas teclas para navegar por las páginas de
documentación:
h Muestra la función de cada tecla
q Sale de info
Enter Sigue un hipervínculo. (Palabras terminadas en ::)
n Sigue al próximo nodo
p Va al nodo previo
u Va al nodo superior (Sube un nivel).

Ingrese el comando info bash y a continuación <ENTER>.


Pruebe navegar por las páginas de ayuda.

Usando la documentación de Linux

Con la mayoría de las distribuciones de Linux se incluye además de


man e info un conjunto de documentos de ayuda, FAQs y HOWTOs. Esta
documentación se encuentra instalada usualmente en el directorio
/usr/doc. Dentro de este directorio encontraremos un subdirectorio
con la documentación de cada aplicación y además dos directorios:
Linux-FAQs y Linux-HOWTOs que contienen, respectivamente, Preguntas
Frecuentes (FAQs) y Documentos Cómo (HOWTOs).

Si queremos ver toda la documentación que acompaña al programa


locate (el que utilizamos para realizar búsquedas) podemos
encontrarla en el directorio /usr/doc/slocate-xx.xx donde xx.xx es
la versión que tenemos instalada. Por ejemplo, para encontrar
información sobre como instalar nuestro Linux por medio de una red
podemos usar el Network-Install-HOWTO (localizado en /usr/doc/Linux-
HOWTOs). Para aprender lo necesario para realizar scripts para el
shell bash (shell scripts), podemos utilizar el Bash-Prog-Intro-
HOWTO (localizado en /usr/doc/Linux-HOWTOs).

3.4.2 Comandos bajo WINDOWS

A los efectos de facilitar la práctica de comandos bajo el Entorno


Windows y aprovechar al máximo el material anterior, se ha publicado
un documento complementario denominado "Tabla de Comparación entre
Comandos"; en la que se puede hallar el comando equivalente (para
Windows) a la mayoría de los descriptos en esta Unidad para Linux.
Para los comandos PowerShell, existe un poderoso mecanismo de ayuda
en el Cmdlet Get-Help utilizable como:
Get-Help <Nombre del Comando>
y que incluye muchos ejemplos sobre el Comando consultado.
Microsoft ha desarrollado durante los últimos años una política de
creciente apertura hacia la comunidad Linux, proponiendo proyectos
de código abierto en dos líneas principales:
I) la migración de PowerShell a los Sistemas Linux con el llamado
PowerShell Core
https://github.com/PowerShell/Powershell

II) el Subsistema Linux (a partir del Windows 10), que permite


instalar una distribución Linux en un Sistema Windows
https://docs.microsoft.com/en-us/windows/wsl/install-win10

También podría gustarte