Como ponto de partida ou para obter a resposta quando você souber os comandos que deseja verificar.
O comando which
é usado para mostrar o caminho completo dos comandos do shell. A opção -a
ou -all
listará todas as correspondências, não apenas a primeira.
which --all foo
Para todos os comandos em seu caminho existe um pequeno utilitário do PerlMonks: Pathfinder - encontre programas duplicados (sombreados) em seu PATH
#!/usr/bin/perl -w
use strict;
my @path = split /:/, $ENV{PATH};
my %path_inodes;
my @clean_path;
for (@path) {
next unless m#^/#;
my ($dev,$ino) = stat;
next unless defined $dev;
my $key = "$dev $ino";
if (exists $path_inodes{$key}) {
print "warning: $_ is linked to $path_inodes{$key}\n";
next;
}
$path_inodes{$key} = $_;
push @clean_path, $_;
}
my %progs;
## print "clean path is @clean_path\n";
for my $dir (@clean_path) {
use DirHandle;
my @files =
sort grep !/^\.\.?$/,
DirHandle->new($dir)->read;
## print "$dir: @files\n";
for my $file (@files) {
if (exists $progs{$file}) {
print "$file in $dir is shadowed by $progs{$file}\n";
next;
}
$progs{$file} = $dir;
}
}