Por que as duplicações na saída da linha de comando

1

Digitar o seguinte comando imprime duplicatas, conforme mostrado abaixo. Nem todas as linhas são impressas duas vezes, mas algumas são impressas. O que dá?

XXXX:~ XXXX$ man -k pid
pid(ntcl)                - Retrieve process identifiers
pidpersec.d(1m)          - print new PIDs per sec. Uses DTrace
rwbypid.d(1m)            - read/write calls by PID. Uses DTrace
syscallbypid.d(1m)       - syscalls by process ID. Uses DTrace
git(1)                   - the stupid content tracker
Sub::Exporter::Cookbook(3pm) - useful, demonstrative, or stupid Sub::Exporter tricks
Tcl_DetachPids(3tcl), Tcl_ReapDetachedProcs(3tcl), Tcl_WaitPid(3tcl) - manage child processes in background
getpid(2), getppid(2)    - get parent or calling process identification
pid(ntcl)                - Retrieve process identifiers
pidpersec.d(1m)          - print new PIDs per sec. Uses DTrace
pthread_setugid_np(2)    - Set the per-thread userid and single groupid
rwbypid.d(1m)            - read/write calls by PID. Uses DTrace
syscallbypid.d(1m)       - syscalls by process ID. Uses DTrace
wait(2), wait3(2), wait4(2), waitpid(2) - wait for process termination
git(1)                   - the stupid content tracker
XXXX:~ XXXX$ 
    
por les 07.02.2014 / 22:28

2 respostas

3

Eu diria que ele está fazendo uma pesquisa de regex por meio das descrições e dos nomes das páginas de manual que está localizando vários hits e mostrando essas páginas várias vezes.

   man -k printf
       Search the short descriptions and manual page names for the  keyword  
       printf  as  regular  expression. Print out any matches.  Equivalent to 
       apropos -r printf.

Se isso é irritante, você pode filtrar a saída usando sort -u .

$ man -k pid|sort -u
getpid (2)           - get process identification
getpid (3p)          - get the process ID
getpidcon (3)        - get SELinux security context of a process
getpidcon_raw (3)    - get SELinux security context of a process
getppid (2)          - get process identification
getppid (3p)         - get the parent process ID
git (1)              - the stupid content tracker
mysql_waitpid (1)    - kill process and wait for its termination
pidgin (1)           - Instant Messaging client
pid (n)              - Retrieve process identifiers
pidof (8)            - find the process ID of a running program.
pidstat (1)          - Report statistics for Linux tasks.
Proc::Killfam (3pm)  - kill a list of pids, and all their sub-children
Sub::Exporter::Cookbook (3pm) - useful, demonstrative, or stupid Sub::Exporter tricks
Tcl_DetachPids (3)   - manage child processes in background
Tcl_WaitPid (3)      - manage child processes in background
waitpid (2)          - wait for process to change state
waitpid (3p)         - wait for a child process to stop or terminate

Se você precisar depurar seu ambiente man , sempre poderá usar a opção -d . Isso reportará os vários caminhos e configurações do seu man setup também.

$ man -d
From the config file /etc/man_db.conf:

Mandatory mandir '/usr/man'.
Mandatory mandir '/usr/share/man'.
Mandatory mandir '/usr/local/share/man'.
Path '/bin' mapped to mandir '/usr/share/man'.
Path '/usr/bin' mapped to mandir '/usr/share/man'.
Path '/sbin' mapped to mandir '/usr/share/man'.
Path '/usr/sbin' mapped to mandir '/usr/share/man'.
Path '/usr/local/bin' mapped to mandir '/usr/local/man'.
Path '/usr/local/bin' mapped to mandir '/usr/local/share/man'.
Path '/usr/local/sbin' mapped to mandir '/usr/local/man'.
Path '/usr/local/sbin' mapped to mandir '/usr/local/share/man'.
Path '/usr/X11R6/bin' mapped to mandir '/usr/X11R6/man'.
Path '/usr/bin/X11' mapped to mandir '/usr/X11R6/man'.
Path '/usr/games' mapped to mandir '/usr/share/man'.
Path '/opt/bin' mapped to mandir '/opt/man'.
Path '/opt/sbin' mapped to mandir '/opt/man'.
....
    
por 07.02.2014 / 22:37
2

man -k pesquisa os diretórios listados na variável de ambiente MANPATH. Se você tiver algum diretório listado mais de uma vez, ou se você tiver arquivos “man page” duplicados em mais de um dos diretórios (incluindo links), os arquivos serão informados mais de uma vez.

    
por 07.02.2014 / 22:53