Linux Professional Institute
          Learning Logo.
Pasar al contenido principal
  • Inicio
    • Todos los recursos
    • LPI Learning Materials
    • Conviértete en colaborador
    • Publishing Partners
    • Conviértase en un Publishing Partner
    • Acerca de nosotros
    • FAQ
    • Colaboradores
    • Contáctenos
  • LPI.org
2.2 Lección 1

Tema 1: La Comunidad Linux y una carrera en el mundo del código abierto
1.1 Los sistemas operativos populares y la evolución de Linux
  • 1.1 Lección 1
1.2 Principales aplicaciones de código abierto
  • 1.2 Lección 1
1.3 Software de Código Abierto y las licencias
  • 1.3 Lección 1
1.4 Destrezas TIC y el trabajo con Linux
  • 1.4 Lección 1
Tema 2: Encontrando el camino en un sistema Linux
2.1 Aspectos básicos de la línea de comandos
  • 2.1 Lección 1
  • 2.1 Lección 2
2.2 Uso de la línea de comandos para obtener ayuda
  • 2.2 Lección 1
2.3 Uso de directorios y listado de archivos
  • 2.3 Lección 1
  • 2.3 Lección 2
2.4 Crear, mover y borrar archivos
  • 2.4 Lección 1
Tema 3: El poder de la línea de comandos
3.1 Archivar ficheros desde la línea de comandos
  • 3.1 Lección 1
3.2 Buscar y extraer datos de los ficheros
  • 3.2 Lección 1
  • 3.2 Lección 2
3.3 Crear un script a partir de una serie de comandos
  • 3.3 Lección 1
  • 3.3 Lección 2
Tema 4: El sistema operativo Linux
4.1 La elección del sistema operativo
  • 4.1 Lección 1
4.2 Conocer el hardware del ordenador
  • 4.2 Lección 1
4.3 Donde los datos se almacenan
  • 4.3 Lección 1
  • 4.3 Lección 2
4.4 Tu ordenador en la red
  • 4.4 Lección 1
Tema 5: Seguridad y sistema de permisos de archivos
5.1 Seguridad básica e identificación de tipos de usuarios
  • 5.1 Lección 1
5.2 Creating Users and Groups
  • 5.2 Lección 1
5.3 Gestión de los permisos y la propiedad de los archivos
  • 5.3 Lección 1
5.4 Directorios y archivos especiales
  • 5.4 Lección 1
  1. Tema 2: Encontrando el camino en un sistema Linux
  2. 2.2 Uso de la línea de comandos para obtener ayuda
  3. 2.2 Lección 1

2.2 Lección 1

Certificación:

Linux Essentials

Versión:

1.6

Tema:

2 Encontrando tu camino en el sistema Linux

Objectivo:

2.2 Usando la línea de comandos para obtener ayuda

Lección:

1 de 1

Introducción

La línea de comandos es una herramienta muy compleja. Cada comando tiene sus propias opciones únicas, por lo tanto, la documentación es clave cuando se trabaja con un sistema GNU/Linux. Además del directorio /usr/share/doc/ que almacena la mayor parte de la documentación, existen otras herramientas también proporcionan información sobre el uso de comandos. Este capítulo se centra en los métodos para acceder a esa documentación, con el fin de obtener ayuda.

Hay una multitud de métodos para obtener ayuda dentro de la línea de comandos. man, help e info son solo algunos de ellos. Para empezar, nos centraremos en man e info, ya que son las herramientas más utilizadas para obtener ayuda.

Otro tema de este capítulo será localizar archivos. Trabajaremos principalmente con el comando locate.

Obteniendo ayuda por línea de comandos

Ayuda incorporada

Cuando se proporciona el parámetro --help, la mayoría de los comandos muestran algunas instrucciones breves sobre su uso. Aunque no todos los comandos proporcionan está opción, es un buen primer intento para aprender más sobre sus parámetros. Tenga en cuenta que las instrucciones de --help a menudo son muy breves en comparación con las otras fuentes de documentación que discutiremos en el resto de este tema.

Páginas Man

La mayoría de los comandos proporcionan una página de manual (denominada página "man" o "manpage"). Esta documentación generalmente se instala con el software y se puede acceder con el comando man. Cuando deseé ver la página del manual de un comando, debe agregar dicho comando como argumento del comando man:

$ man mkdir

Este comando abre la página del manual para mkdir. Puede usar las teclas de flecha arriba y abajo o la barra espaciadora para navegar por la página del manual. Para salir de la página del manual, presione Q.

Cada página de man está dividida en un máximo de 11 secciones, aunque muchas de estas secciones son opcionales:

Sección Descripción

NAME

Nombre del comando y breve descripción

SYNOPSIS

Descripción de la sintaxis del comando

DESCRIPTION

Descripción de los efectos del comando

OPTIONS

Opciones disponibles

ARGUMENTS

Argumentos disponibles

FILES

Archivos auxiliares

EXAMPLES

Una muestra de la línea de comando

SEE ALSO

Referencias cruzadas a los temas relacionados

DIAGNOSTICS

Mensajes de advertencia y error

COPYRIGHT

Autor (es) del comando

BUGS

Cualquier limitación conocida del comando

En la práctica, la mayoría de las páginas man no contienen todas estas partes.

Las páginas man están organizadas en ocho categorías, numeradas del 1 al 8:

Categoría Descripción

1

Comando del usuario

2

Llamadas del sistema

3

Funciones de la biblioteca C

4

Controladores y archivos de dispositivo

5

Archivos de configuración y formatos de archivo

6

Juegos

7

Miscellaneous

8

Comandos del administrador del sistema

9

Funciones del núcleo (no estándar)

Cada página del manual pertenece precisamente a una sección. Sin embargo, varias secciones pueden contener páginas man con el mismo nombre. Tomemos como ejemplo el comando passwd, este comando se puede usar para cambiar la contraseña de un usuario. Como es un comando de usuario, su página de man reside en la sección 1. Además del comando passwd, el archivo de base de datos de contraseñas /etc/passwd también tiene una página de man que se llama passwd. Como este archivo es un archivo de configuración, pertenece a la sección 5. Cuando se hace referencia a una página de man, la categoría a menudo se agrega al nombre de la página, como passwd(1) o passwd(5) para dentificar la página man respectiva.

Por defecto, man passwd muestra la primera página man disponible, en este caso passwd(1). La categoría de la página man deseada se puede especificar en un comando como man 1 passwd o man 5 passwd.

Ya hemos visto cómo navegar a través de una página man y cómo volver a la línea de comando. Internamente, man usa el comando less para mostrar el contenido de la página. less le permite buscar texto dentro de una página man. Para encontrar la palabra linux puede usar /linux para buscar hacia adelante desde el punto en el que se encuentra en la página o ?Linux para iniciar una búsqueda hacia atrás. Esta acción resalta todos los resultados coincidentes y mueve la página a la primera coincidencia resaltada. En ambos casos, puede escribir N para saltar a la siguiente coincidencia. Para encontrar más información sobre estas características adicionales, presione H y se mostrará un menú con toda la información.

Páginas de información (Info Pages)

Otra herramienta que le ayudará mientras trabaja con el sistema GNU/Linux son las páginas de información (info pages). Las páginas info suelen ser más detalladas que las páginas de manual y están formateadas en hipertexto, similar a las páginas web en Internet.

Las páginas info se pueden mostrar así:

$ info mkdir

Para cada página de información, info lee un archivo que está estructurado en nodos individuales dentro de un árbol. Cada nodo contiene un tema simple y el comando info contiene hipervínculos que pueden ayudarlo a moverse de uno a otro. Puede acceder al enlace presionando "enter" mientras coloca el cursor en uno de los asteriscos principales.

Similar a man, la herramienta info también tiene comandos de navegación de página. Puede obtener más información sobre estos comandos presionando ? mientras se encuentra en la página de info. Estas herramientas lo ayudarán a navegar por la página más fácilmente, así como a comprender cómo acceder a los nodos y moverse dentro del árbol.

El directorio /usr/share/doc/

Como se mencionó anteriormente, el directorio /usr/share/doc/ almacena la mayoría de la documentación de cada comando que utilice el sistema. Este directorio contiene una carpeta para la mayoría de los paquetes instalados; el nombre del directorio suele ser el nombre del paquete y en ocasiones incluye su versión. Estos directorios incluyen un archivo README o readme.txt que contiene la documentación básica del paquete. La carpeta también puede contener otros archivos de documentación, como el registro de cambios que incluye el historial del programa en detalle o ejemplos de archivos de configuración para el paquete específico.

La información dentro del archivo README varía de un paquete a otro. Todos los archivos están escritos en texto plano, por lo tanto, se pueden leer con cualquier editor de texto preferido. El número exacto y los tipos de archivos dependen del paquete. Consulte algunos de los directorios para obtener una descripción general de sus contenidos.

Localizando archivos

El comando locate

Un sistema GNU/Linux está construido a partir de numerosos directorios y archivos. GNU/Linux tiene muchas herramientas para ubicar un archivo en particular dentro de un sistema. El más rápido es el comando locate.

locate busca dentro de una base de datos y luego genera cada nombre que coincida con la cadena proporcionada:

$ locate note
/lib/udev/keymaps/zepto-znote
/usr/bin/zipnote
/usr/share/doc/initramfs-tools/maintainer-notes.html
/usr/share/man/man1/zipnote.1.gz

El comando locate también admite el uso de comodines y expresiones regulares, por lo tanto, la cadena de búsqueda no tiene que coincidir con el nombre completo del archivo deseado. Aprenderá más sobre las expresiones regulares en temas posteriores.

Por defecto, locate se comporta como si el patrón estuviera rodeado de asteriscos, por lo que locate PATTERN es lo mismo que locate *PATTERN*. Esto le permite simplemente proporcionar subcadenas en lugar del nombre del archivo exacto. Puede modificar este comportamiento con las diferentes opciones que puede encontrar explicadas en la página del comando man locate.

Debido a que locate está leyendo desde una base de datos, es posible que no encuentre un archivo que haya creado recientemente. La base de datos es administrada por un programa llamado updatedb. Por lo general, se ejecuta periódicamente, pero si tiene privilegios de root y necesita que la base de datos se actualice de inmediato, puede ejecutar el comando updatedb en cualquier momento.

El comando find

find es otra herramienta muy popular que se utiliza para buscar archivos. Este comando tiene un enfoque diferente, en comparación con el comando locate. El comando find busca un árbol de directorios de forma recursiva, incluidos sus subdirectorios. find realiza dicha búsqueda en cada invocación y no mantiene una base de datos como locate. Al igual que locate, find también admite comodines y expresiones regulares.

find requiere al menos la ruta que debe buscar. Además, se pueden agregar las llamadas expresiones para proporcionar criterios de filtro para indicar que archivos mostrar. Un ejemplo es la expresión -name que busca archivos con un nombre específico:

~$ cd Downloads
~/Downloads
$ find . -name thesis.pdf
./thesis.pdf
~/Downloads
$ find ~ -name thesis.pdf
/home/carol/Downloads/thesis.pdf

El primer comando find busca el archivo dentro del directorio actual Downloads, mientras que el segundo busca el archivo en el directorio de inicio del usuario (el directorio de inicio del usuario se conoce como home diretory. Este directorio lo asigna el administrador del sistema -root- en el momento de crear el usuario y se le adjudica en ese momento la propiedad exclusiva del mismo).

Ejercicios guiados

  1. Use el comando man para averiguar qué hace cada comando

    Comando Descripción

    ls

    Mostrar el contenido de un directorio.

    cat


    cut


    cd


    cp


    mv


    mkdir


    touch


    wc


    passwd


    rm


    rmdir


    more


    less


    whereis


    head


    tail


    sort


    tr


    chmod


    grep


  2. Abra la página de información ls e identifique el MENU.

    • ¿Qué opciones tienes?


    • Encuentre la opción que le permite ordenar la salida por tiempo de modificación.


  3. Muestre la ruta de los primeros 3 archivos README. Use el comando man para identificar la opción correcta para locate.


  4. Cree un archivo llamado test en su directorio de inicio. Encuentre su ruta absoluta con el comando locate.


  5. ¿Lo encontraste de inmediato? ¿Qué tuvo que hacer para que locate lo encontrara?


  6. Busque el archivo de prueba que creó anteriormente, utilizando el comando find. ¿Qué sintaxis uso y cuál es la ruta absoluta?


Ejercicios exploratorios

  1. Hay un comando en la tabla anterior que no tiene una página man. ¿Cuál es y por qué cree que el comando no tiene una página de manual?



  2. Usando los comandos de la tabla anterior, cree el siguiente árbol de archivos. Los nombres que comienzan con mayúscula son directorios y los que están en minúsculas son archivos.

    User
    ├── Documents
    |   ├──Hello
    |   |   ├──hey2
    |   |   ├──helloa
    |   |   └──ola5
    |   └──World
    |       └──earth9
    ├── Downloads
    |   ├──Music
    |   └──Songs
    |       ├──collection1
    |       └──collection2
    ├── Test
    |   └── passa
    └── test
  3. Muestre en la pantalla el directorio de trabajo actual, incluidas las subcarpetas.


  4. Busque dentro del árbol todos los archivos que terminen con un número.


  5. Elimine todo el árbol de directorios con un solo comando.


Resumen

En esta lección usted aprendió:

  • ¿Cómo obtener ayuda?

  • Usar el comando man

  • Navegar por la página man

  • Diferentes secciones de la página man

  • Usar el comando info

  • Navegar entre diferentes nodos

  • Buscar archivos dentro del sistema

Comandos utilizados en los ejercicios:

man

Muestra una página de manual.

info

Muestra una página de información.

locate

Busca en la base de datos locate archivos con un nombre específico.

find

Busca en el sistema de archivos nombres que coincidan con un conjunto de criterios seleccionados.

updatedb

Actualiza la base de datos locate,

Respuestas a los ejercicios guiados

  1. Use el comando man para averiguar qué hace cada comando

    Comando Descripción

    ls

    Muestra el contenido de un directorio.

    cat

    Concatena o ve archivos de texto.

    cut

    Elimina secciones de un archivo de texto.

    cd

    Cambia a un directorio diferente.

    cp

    Copia un archivo.

    mv

    Mueve un archivo (también se puede usar para cambiar el nombre).

    mkdir

    Crea un nuevo directorio.

    touch

    Crea un archivo o modifica la fecha y hora de la última modificación de un archivo existente.

    wc

    Cuenta el número de palabras, líneas o bytes de un archivo.

    passwd

    Cambia la contraseña de un usuario.

    rm

    Elimina un archivo.

    rmdir

    Elimina un directorio.

    more

    Visualiza archivos de texto una pantalla a la vez.

    less

    Visualiza archivos de texto, permite desplazarse hacia arriba y hacia abajo una línea o página a la vez.

    whereis

    Muestra la ruta del archivo de un programa específico y de manuales relacionados.

    head

    Muestra las primeras líneas de un archivo.

    tail

    Muestra las últimas líneas de un archivo.

    sort

    Ordena un archivo de manera numérica o alfabéticamente.

    tr

    Traduce o elimina caracteres de un archivo.

    chmod

    Cambia los permisos de un archivo.

    grep

    Búsquedas dentro de un archivo.

  2. Abra la página de información ls e identifique el MENU.

    • ¿Qué opciones tienes?

      • ¿Qué archivos están listados?

      • ¿Qué información está listada?

      • Ordenar la salida

      • Detalles sobre el ordenamiento de versiones

      • Formato de salida general

      • Formateando marcas de tiempo de archivo

      • Formateando los nombres de archivo

    • Encuentre la opción que le permite ordenar la salida por tiempo de modificación.

      -t or --sort=time

  3. Muestre la ruta a los primeros 3 archivos README. Use el comando man para identificar la opción correcta para locate.

    $ locate -l 3 README
    /etc/alternatives/README
    /etc/init.d/README
    /etc/rc0.d/README
  4. Cree un archivo llamado test en su directorio de inicio. Encuentre su ruta absoluta con el comando locate.

    $ touch test
    $ locate test
    /home/user/test
  5. ¿Lo encontraste de inmediato? ¿Qué tuvo que hacer para que 'locate' lo encontrara?

    $ sudo updatedb

    The file is newly created, therefore there is no record of it in the database.

  6. Busque el archivo de prueba que creó anteriormente, utilizando el comando find. ¿Qué sintaxis uso y cuál es la ruta absoluta?

    $ find ~ -name test

    o

    $ find . -name test
    /home/user/test

Respuestas a los ejercicios exploratorios

  1. Hay un comando en la tabla anterior que no tiene una página man. ¿Cuál es y por qué cree que el comando no tiene una página de manual?

    El comando cd. No tiene una página de manual porque es un comando interno de shell.

  2. Usando los comandos de la tabla anterior, cree el siguiente árbol de archivos. Los nombres que comienzan con mayúscula son directorios y los que están en minúsculas son archivos.

    User
    ├── Documents
    |   ├──Hello
    |   |   ├──hey2
    |   |   ├──helloa
    |   |   └──ola5
    |   └──World
    |       └──earth9
    ├── Downloads
    |   ├──Music
    |   └──Songs
    |       ├──collection1
    |       └──collection2
    ├── Test
    |   └── passa
    └── test

    La solución es una combinación de comandos mkdir y touch.

  3. Muestre en la pantalla el directorio de trabajo actual, incluidas las subcarpetas.

    $ ls -R
  4. Search within the tree for all files that end with a number.

    $ find ~ -name "*[0-9]"
    $ locate "*[0-9]"
  5. Elimine todo el árbol de directorios con un solo comando.

    $ rm -r Documents Downloads Test test

© 2020 Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://asir.sudo.es/docnux/learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

Siguiente lección

2.3 Uso de directorios y listado de archivos (2.3 Lección 1)

Leer la próxima lección

© 2020 Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://asir.sudo.es/docnux/learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

LPI es una organización sin fines de lucro.

Linux Professional Institute (LPI) es la organización global de certificación y apoyo académico para profesionales de código abierto. Con más de 200,000 titulares de certificación, es el primer y más grande organismo de certificación no comercial del mundo para Linux y Open Source. LPI cuenta con profesionales certificados en más de 180 países, realiza exámenes en varios idiomas y tiene cientos de socios de capacitación.

Nuestro propósito es hacer que las oportunidades económicas y creativas estén disponibles para todos, haciendo que el conocimiento de código abierto y la certificación sea universalmente accesible.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contáctenos
  • Política de privacidad y cookies

¿Detecta un error o desea ayudar a mejorar esta página? Por favor háznoslo saber.

© Copyright 1999-2020 The Linux Professional Institute Inc. Todos los derechos reservados.