Curso de Linux N04. apropos, man -k, uniq, type, Bash_Curso_02

Cordiales Saludos


curso_04_portada2.png

apropos

Este comando nos facilita la búsqueda de un comando o su coincidencia con una palabra clave o el nombre del comando. La búsqueda la realiza por todas las man page que corresponde a todos los comandos. Recordemos, con man podemos ver los manuales de nuestros comandos.

Ejemplificando lo comprenderemos mejor.

Supongamos que no recuerdo el nombre (o se me olvidó) de un editor de texto
dentro de mi sistema.

Escribo apropos seguido de la palabra editor. Editor es lo que busco, bueno es la palabra clave que tengo en mente.

En el resultado, salta a la vista el editor Nano y Vim que ya he usado.

rafael@HP:~$ apropos editor
atobm (1)            - bitmap editor and converter utilities for the X Window...
bitmap (1)           - bitmap editor and converter utilities for the X Window...
bmtoa (1)            - bitmap editor and converter utilities for the X Window...
ed (1)               - line-oriented text editor
editor (1)           - Nano's ANOther editor, inspired by Pico
editres (1)          - a dynamic resource editor for X Toolkit applications
ex (1)               - Vi IMproved, a programmer's text editor
gedit (1)            - text editor for the GNOME Desktop
gnome-text-editor (1) - text editor for the GNOME Desktop
gparted (8)          - GNOME Partition Editor for manipulating disk partitions.
gview (1)            - Vi IMproved, a programmer's text editor
gvim (1)             - Vi IMproved, a programmer's text editor
nano (1)             - Nano's ANOther editor, inspired by Pico
nm-connection-editor (1) - network connection editor for NetworkManager
pico (1)             - Nano's ANOther editor, inspired by Pico
red (1)              - line-oriented text editor
rgview (1)           - Vi IMproved, a programmer's text editor
rgvim (1)            - Vi IMproved, a programmer's text editor
rview (1)            - Vi IMproved, a programmer's text editor
rvim (1)             - Vi IMproved, a programmer's text editor
sed (1)              - stream editor for filtering and transforming text
select-editor (1)    - select your default sensible-editor from all installed...
sensible-editor (1)  - sensible editing
software-properties-gtk (1) - Software Sources List editor
tc-pedit (8)         - generic packet editor action
tc-skbmod (8)        - user-friendly packet editor action
vi (1)               - Vi IMproved, a programmer's text editor
view (1)             - Vi IMproved, a programmer's text editor
vim (1)              - Vi IMproved, a programmer's text editor
xedit (1)            - simple text editor for X
rafael@HP:~$ 

Ahora si yo deseo buscar más información de un comando que ya conozco y todas sus referencias, con estos tres ejemplos queda aclarado.

Ejemplo N1

rafael@HP:~/linux_04$ 
rafael@HP:~/linux_04$ apropos mkdir
mkdir (1)            - make directories
mkdir (2)            - create a directory
mkdirat (2)          - create a directory
rafael@HP:~/linux_04$ 
rafael@HP:~/linux_04$ 

Ejemplo N2

rafael@HP:~/linux_04$ apropos whatis
whatis (1)           - muestra descripciones de una línea de las páginas de manual

Ejemplo N3

rafael@HP:~/linux_04$ apropos who
w (1)                - Show who is logged on and what they are doing.
who (1)              - show who is logged on
whoami (1)           - print effective userid

Observación:

El número que aparece en nuestra búsqueda dentro de paréntesis ( ejemplo: who (1) - show who is logged on) está especificado en la siguiente tabla.


curso_04_secciones.png
Fuente: man (Unix)

Para terminar con este comando coloqué apropos sin parámetro y muy gentilmente el comando me respondió: apropos ¿qué?

rafael@HP:~/linux_04$ apropos
apropos ¿qué?
rafael@HP:~/linux_04$ 

man -k

Este comando está relacionado con el comando apropos, realizando la misma búsqueda.

Por ejemplo

rafael@HP:~/linux_04$ man -k mkdir
mkdir (1)            - make directories
mkdir (2)            - create a directory
mkdirat (2)          - create a directory

Es igual a:

rafael@HP:~/linux_04$ apropos mkdir
mkdir (1)            - make directories
mkdir (2)            - create a directory
mkdirat (2)          - create a directory
rafael@HP:~/linux_04$ 

uniq

Este comando nos mostrará las líneas únicas de un archivo, por consiguiente omite las lineas duplicadas. Para funcionar deben estar las lineas de texto de forma contigua, es decir una seguida de otra (la que se repite).

Para el ejemplo crearé el archivo lista.txt con una lista de palabras.


curso_04_uniq_00.png

Normalmente se usa el comando uniq con el comando sort para ordenar primero la lista y por lógica al ordenarlas quedarán las palabras repetidas de forma contigua.


curso_04_uniq_01.png

El comando cat lista.txt | sort -u realiza la misma función. Ordena y elimina las palabras repetidas.

rafael@HP:~/linux_04$ 
rafael@HP:~/linux_04$ cat lista.txt | sort -u
avion
carro
moto
tren
vehiculo
rafael@HP:~/linux_04$ 

Para ver las palabras duplicadas, las que están repetidas usaremos: uniq -d


curso_04_uniq_02.png

Si en primera instancia las palabras repetidas están contiguas podemos usar uniq directamente.
Lo podemos ver en el siguiente ejercicio.


curso_04_uniq_03.png


type

Nos muestra el tipo de comando dentro del shell de nuestro sistema. Con los siguientes ejemplos ilustraremos mejor el concepto.

rafael@HP:~/linux_04$ type uniq
uniq is /usr/bin/uniq
rafael@HP:~/linux_04$ type cd
cd es una orden interna del intérprete de ordenes
rafael@HP:~/linux_04$ 
rafael@HP:~/linux_04$ type ls
ls es un alias de `ls --color=auto'

Mostramos tres ejemplos de tipos de comandos, gracias al comando type: Un programa ejecutable (uniq), Un comando que está dentro del Shell (cd) y un alias (ls).


IMPORTANTE: Los comando vistos aquí y en próximas publicaciones están limitados para mostrarlos y conceptualizarlos para nuestro quehacer diario. Cada comando tiene muchas opciones que debemos investigar por nuestra propia cuenta cuando estemos trabajando con ellos. Aprovechemos el internet para conocer en profundidad el comando que estemos estudiando y en primer orden no olvidemos lo potente y todo lo que nos brinda el comando man para conocer la sintaxis y todo lo relacionado con todos los comandos que tenemos en nuestro sistema sin recurrir a internet.


banner_bash.png

Esta practica la realizaremos editando nuestro código en el Editor de Texto que viene incorporado con nuestro sistema operativo: Nano.

Ejercicio N02

Prepararemos el ejercicio creando el directorio linux_04 y dentro del directorio el script bash_02.sh


curso_04_bash1.png

En este ejercicio utilizaremos el comando echo, ya visto en nuestro curso de linux.


curso_04_bash2.png

Para ejecutar el script usamos: bash bash_02.sh

bash_03.png

Ejercicio N03

Crearemos con con el editor nano el ejercicio bash_03.sh


curso_04_bash4.png

En este ejercicio utilizaremos los comandos: echo, date y cal. Además de identificar como se realizan los comentarios para nuestro código con el signo #.

curso_04_bash5.png

Este es el resultado de ejecutar el ejercicio bash_03.sh


curso_04_bash6.png

Ejercicio N04

Crearemos con con el editor nano el ejercicio bash_04.sh


curso_04_bash7.png

En este ejercicio abordaremos el uso de las variables en Bash.

curso_04_bash8.png

El mensaje "Hola Mundo" se lo asigné a la variable VAR y luego la muestro con el comando echo. Para ejecutar el script usamos bash bash_04.sh

curso_04_bash9.png


bannerfundamentos.png

Todos a practicar, incluyéndome! Nos vemos en la próxima publicación...

Mi Twitter

Sort:  


Has sido curado por @visualblock / You've been curated by @visualblock
Bienvenidas delegaciones / Delegations welcome
Encuentra nuestra comunidad aquí / Find our community here
Trail de Curación / Curation Trail


The rewards earned on this comment will go directly to the people( @alberto0607 ) sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support. 
 

 2 years ago  

Esta muy bien estos ejercicios porque luego a uno se le olvida la practica de algunos comandos y ahi esta uno por todo internet buscando para que servia cada cosa

Tienes toda la razón. Si estoy tratando de esquematizar todo de forma progresiva revisando los comandos más utilizados. También tengo en mente hacer una guía con las explicaciones de los comandos de forma resumida. Esta guía la compartiré por Gitlab. Saludos