conflict − filename conflict listing


conflict [options] [file-specifications]


Conflict displays conflicting filenames in your execution path. Unlike the csh command which, it displays all of the (non-alias) executable files in your path.

Conflict reports pathname conflicts by making a list of the directories which are listed in the environment variable PATH, and then scanning these directories for executable files. If arguments are given to this program, the test for executable files is limited to the given names (after stripping the directory-prefix).

The first instance of a name in a given path (and those hard-linked to it) are marked with "*". Succeeding instances are marked with "+" marks.

The report is sent to standard output and always shows the list of directories. Conflicting names are reported on succeeding lines.



do not ignore case when comparing filenames (see −i).

−e name

specify another environment variable than PATH (e.g., INFOPATH, LD_LIBRARY_PATH).

−I path

for compatibility with C-preprocessor options, build up the search path with the given directory. (The corresponding −D and −U options are ignored.) Using the −I or −L options overrides the use of environment variables for the search path.


ignore case when comparing filenames (see −c).

−L path

for compatibility with C-compiler options, build up the search path with the given directory.


print pathnames only, rather than the table.


look for readable files

−t types

specify a list of file types which are treated as conflicting. The option value is a list of file suffixes (a "." followed by zero or more other characters). The list separator is the "." which begins each suffix, e.g.,

conflict −

If no −t option is given, a built-in list of executable file types is used for systems where this is known.


Use verbose option to control how much is shown. Repeat the option for different levels:


show all directory names


show all filenames which are found in the directories


directs conflict not only to print a summary line for each file, but also to print a running summary, showing executable file (with its full path) as it is found).


print the version, exit.


look for writable files

−W number

expand width of display by number of columns (default: one column per path).


look for executable files (the default).

You may combine the "−r", "−w" and "−x" options. If you do not specify one of these, conflict assumes "−x".


Conflict may be used to list all conflicting names in your path (if no arguments are given), or to find conflicts for a specified name. To list only conflicts from a particular directory "path" you may type

conflict −a path/*

An example of the use of conflict is shown below

bsd4.2(5) conflict
Current working directory is "/home/dickey/src/conflict"
-> .
--> /home/dickey/bin
---> /home/dickey/com
----> /bin
-----> /usr/bin
------> /usr/ucb
-------> /usr/local/bin
-*----+: args
----*-+: calendar
---*--+: cc
*+-----: conflict


Conflict runs in a POSIX environment, as well as MSDOS, Win32 and OS/2 command-line.


Conflict is a single binary module, which uses no auxiliary files.


add option to get aliases from the shell

handle compound directory structures such as MANPATH.

show symbol conflicts from object files and libraries.


csh (1) for a discussion of which.


Thomas Dickey