Type : El comando para informarse sobre sus comandos (Pagina 1) / Asesoramiento sistemas Linux / Foro Wifi-libre.com

El libre pensamiento para un internet libre

No estas registrado.     

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

#1 31-03-2016 14:30:09

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,051

Type : El comando para informarse sobre sus comandos

Type -
El comando para informarse sobre sus comandos

type_1.jpg

  Los comandos de nuestros sistemas Operativo GNU-Linux son la panacea.
Incluso Bill Gate lo sabe (Microsoft to show Bash on Linux running on Windows 10)
  Uno de ellos es type
  Es un comando "incorporado" (built-in) en nuestra consola.
  Un comando fundamental (como los son cd o echo) que tenemos en todos los sistemas basados en UNIX.
Dicho de otro modo : Encontraremos/podremos usar type en la consola de cualquiera distribuciones GNU-Linux y incluso en una terminal de un sistema operativo macintosh.     
   Su uso es muy simple y tiene pocas opciones :

Type : Man page escribió:

NAME
    type - Display information about command type.

SYNOPSIS
    type [-afptP] name [name ...]
/usr/bin/bully
DESCRIPTION
    Display information about command type.
   
    For each NAME, indicate how it would be interpreted if used as a
    command name.
   
    Options:
      -a    display all locations containing an executable named NAME;
        includes aliases, builtins, and functions, if and only if
        the `-p' option is not also used
      -f    suppress shell function lookup
      -P    force a PATH search for each NAME, even if it is an alias,
        builtin, or function, and returns the name of the disk file
        that would be executed
      -p    returns either the name of the disk file that would be executed,
        or nothing if `type -t NAME' would not return `file'.
      -t    output a single word which is one of `alias', `keyword',
        `function', `builtin', `file' or `', if NAME is an alias, shell
        reserved word, shell function, shell builtin, disk file, or not
        found, respectively
   
    Arguments:
      NAME    Command name to be interpreted.
   
    Exit Status:
    Returns success if all of the NAMEs are found; fails if any are not found.

 

  Por si no lo habéis entendido leyendo el descriptivo en inglés,  type permite saber si tenemos un comando instalado o no, localizarlo en el sistema de fichero y saber de que tipo es.

1 ) Sintaxis básica (sin opciones)

 

type NAME

¿Quieres saber si un sistema esta listo para hacer un ataque WPS?
   Lo sabes en un instante haciendo en consola

type aircrack-ng reaver bully

type_2.jpg

  Si la orden esta presente en el sistema obtienes confirmación de ello en consola así que su ruta exacta.
  Si no se encuentra en el sistema obtienes un mensaje de error (no se encontró)
  No hay forma más rápida y versátil para  obtener esta información y es muy útil si desarrollas un script y quieres que se adapte al sistema anfitrión. 

2 )Opción -t
type -t NAME

  Con este argumento sabremos de que tipo de comando se trata : si es un comando incorporado a nuestra consola (built-in), un comando externo (file), un comando "personalizado" (alias)...

type_4.jpg

  Como dije antes type es un comando "interno-incorporado" que podremos usar incluso en sistema macintosh.
Así que sale como buildin.
  Mientras que pyrit (crack WPA con recursos GPU)  es un comando externo ("file") y es obvio que en este caso no lo encontraremos en todos los sistemas...
  Notar que es un argumento algo "excluyente" : si usamos -t no podemos usar -a o -p

3 ) Opción -a
type -a NAME

El argumento a es generalmente para significar "all" ("todo").
Es el caso con type que indica así todas los lugares que contienen un ejecutable con el nombre dado.
  Fijaros en la diferencia :

type_5.jpg

4 ) Opción -p
type -p name

-p significa aquí path y el comando devuelve así solo y unicamente la ruta.
    Es para "depurar la salida".
Más limpio si queremos usar type en un script
  Además si el comando no existe no devuelve nada (no hay menaje de error)
  Podemos combinar -a y -p (y quitamos así siempre los mensajes "command is...")

type_6.jpg

5 ) Opción -P
type -P NAME

Esta opción sirve para "forzar" la búsqueda. Para entender como funciona nada mejor que un ejemplo simple...
Supongo que conocéis a ls
Es un comando muy útil que sirve a mostrar en consola todos los ficheros que contiene el directorio dónde estamos situados.
  Además su salida esta en colores para distinguir fácilmente de que tipo de fichero se trata.
La cosa es que ls es un "alias" (para poder "colorizar" la salida)

type_7.jpg

6 ) Un par de ejemplos más y el opción -f

  Miremos que ocurre con un "keyword", es decir las expresiones que nos permiten hacer scripts en bash (if, for, while, do, esac)

type_8.jpg

  Sale como "keyword/palabra clave del shell" y no obtenemos ruta aunque empleamos "force" (-P)

  Para concluir el tema miremos que pasa si defino una función en consola.
Hago una llamada "mundo" que escribe "mundo" en consola...

type_9.jpg

Nos sale cómo función (al fin y al cabo una función es un comando de entrono limitado a la shell en uso) y si le pediría una ruta no me devolvería nada.
  Normal : no hay fichero llamado mundo en mi sistema, la función solo existe "en esta shell".

type_10.jpg

  Notar que se nos muestra la función con type mundo (o type -a mundo)
 
  Sobre la ultima opción de la cúal no hemos hablado aún, la opción -f
Como veis en la captura anterior, si la utilizo para obtener información sobre mi función "mundo" obtengo un error.
Es porque -f es para omitir los comandos disponibles solo en la shell abierta.

  El comando type ya no tiene secretos para ti...

Fuentes

Desconectado

Anuncio

Wifi-highpower.es es distribuidor oficial de Alfa Network

Pie de página

Información del usuario

Ultimo usuario registrado: Ike
Usuarios registrados conectados: 1
Invitados conectados: 7

Conectados: Ike

Estadisticas de los foros

Número total de usuarios registrados: 356
Número total de temas: 615
Número total de mensajes: 4,217

Máx. usuarios conectados: 45 el 12-04-2016 12:02:20