7 votos

Herramientas de línea de comandos disponibles por defecto

En un sistema basado en unix hay una serie de comandos disponibles por defecto (ya sea en /bin o /usr/bin ). Supongamos que en algún tiempo he instalado más herramientas como git, svn

En OS X, si instalo XCode y luego el paquete de herramientas de línea de comandos, se instalará un paquete de herramientas de desarrollo en el sistema. Entonces, ¿cómo puedo saber qué comandos están disponibles en el momento de la instalación del sistema operativo?

Es netcat , nc disponible por defecto en Mac OSX o se instala junto con las herramientas de línea de comandos?

10voto

Phill Puntos 126

Entonces, ¿cómo puedo saber qué comandos están disponibles en el momento de la instalación?

Los comandos disponibles tras una nueva instalación de Mavericks (OS X 10.9) pertenecen a uno de estos cuatro paquetes:

  • com.apple.pkg.BSD
  • com.apple.pkg.BaseSystemBinaries
  • com.apple.pkg.BaseSystemResources
  • com.apple.pkg.Essentials

(Tenga en cuenta que, a partir de High Sierra (MacOS 10.13), los comandos se han trasladado a este paquete com.apple.pkg.Core .)

Puede listar los comandos incluidos en cada paquete con este comando:

pkgutil --files <package name> | egrep '^usr/s*bin|^s*bin/'

Son netcat , nc disponible por defecto en Mac OS X o se instala junto con las herramientas de línea de comandos?

He encontrado nc con:

pkgutil --files com.apple.pkg.BaseSystemBinaries | egrep '^usr/bin/nc'

(En High Sierra, ejecute pkgutil --files com.apple.pkg.Core | egrep '^usr/bin/nc' en su lugar).

así que sí, nc pertenece a la instalación del SO base.

No pude encontrar netcat por lo que si lo tienes en tu sistema es que se instaló más tarde.


Para listar todos los comandos proporcionados por todos los paquetes, ejecútelos en Terminal:

for p in $(pkgutil --packages); do 
  list_of_cmds=$(pkgutil --files $p | egrep '^usr/s*bin|^s*bin/')
  if [ ! -z "$list_of_cmds" ]; then
    echo ">>>> $p <<<<"
    echo "$list_of_cmds"
  fi
done

También puede transferir el comando a un archivo de su escritorio para consultarlo más tarde:

for p in $(pkgutil --packages); do 
  list_of_cmds=$(pkgutil --files $p | egrep '^usr/s*bin|^s*bin/')
  if [ ! -z "$list_of_cmds" ]; then
    echo ">>>> $p <<<<"
    echo "$list_of_cmds"
  fi
done > ~/Desktop/cmds_from_pkgs.txt

0 votos

nc IS netcat .

0 votos

En realidad hay varios programas netcat, en los servidores SUSE Linux que administro se llama netcat en OS X se llama nc en Ubuntu 12.04 netcat es un enlace simbólico a nc . Y por supuesto ncat disponible en nmap.org. nc parece ser el nombre BSD preferido, mientras que GNU y algunas distribuciones utilizan netcat . Aunque SUSE netcat parece ser la implementación original por hobbit@avian.org, OS X's nc fue reescrito por Erick Jackson (sección AUTOR en la página man), por eso trato a nc y netcat como programas diferentes.

0 votos

Otra opción es utilizar pkgutil --file-info /usr/bin/nc para obtener los paquetes que lo tenían instalado. El comando lista también las actualizaciones del sistema operativo que han actualizado el archivo desde la instalación. En 10.11 el paquete que contiene nc es com.apple.pkg.Essentials por lo que sí se incluye por defecto.

1voto

Satanicpuppy Puntos 4902

netcat forma parte de los binarios del sistema base, como puede verse con

pkgutil --files com.apple.pkg.BaseSystemBinaries | grep "usr/bin/nc"

-4voto

Tony Williams Puntos 4903

En realidad, no se puede saber qué ejecutables formaban parte del sistema operativo original y cuáles se instalaron posteriormente.

Sin embargo, consultar la página de manual suele dar una buena idea. Si la página man comienza con algo como "BSD General Commands Manual" es casi seguro que es parte del SO original. Notará que estas también terminan con una línea que contiene ya sea 'BSD' o 'Mac OS X' en cada extremo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X