Provided by: bfs_1.2.3-1_amd64 bug

NAME

       bfs - breadth-first search for your files

SYNOPSIS

       bfs [flags...]  [paths...]  [expression...]

       flags (-H/-L/-P etc.), paths, and expressions may be freely mixed in any order.

DESCRIPTION

       bfs is a breadth-first version of the UNIX find(1) command.

       bfs  supports  almost  every  feature  from  every  major  find(1) implementation, so your
       existing command lines should work as-is.  It also adds some features of its own, such  as
       a  more  forgiving  command  line  parser  and  some  additional options (see bfs-SPECIFIC
       FEATURES below).

       Each path specified on the command line is treated as a starting path to  search  through.
       If no paths are specified, the current directory (.)  is searched by default.

       Like  find(1), bfs interprets its arguments as a short-circuiting Boolean expression.  For
       example,

              bfs \( -name '*.txt' -or -lname '*.txt' \) -and -print

       will print the all the paths that are either .txt files or symbolic links to  .txt  files.
       -and is implied between two consecutive expressions, so this is equivalent:

              bfs \( -name '*.txt' -or -lname '*.txt' \) -print

       Finally, -print is implied if no actions are specified, so this too is equivalent:

              bfs -name '*.txt' -or -lname '*.txt'

       Most  options  that  take  a numeric argument N will also accept -N or +N.  -N means "less
       than N," and +N means "greater than N."

POSIX find FEATURES

       Operators:

       ( expression )
              Parentheses are used for grouping expressions together.  You'll  probably  have  to
              write \( expression \) to avoid the parentheses being interpreted by the shell.

       ! expression
              The "not" operator: returns the negation of the truth value of the expression.  You
              may have to write \!  expression to avoid !  being interpreted by the shell.

       expression [-a] expression
              Short-circuiting "and" operator: if the left-hand expression is true,  returns  the
              right-hand expression; otherwise, returns false.

       expression -o expression
              Short-circuiting  "or"  operator: if the left-hand expression is false, returns the
              right-hand expression; otherwise, returns true.

       Flags:

       -H     Follow symbolic links on the command line, but not while searching.

       -L     Follow all symbolic links.

       Options:

       -depth Search in post-order (descendents first).

       -xdev  Don't descend into other mount points.

       Tests:

       -atime [-+]N
       -ctime [-+]N
       -mtime [-+]N
              Find files accessed/changed/modified N days ago.

       -group NAME
       -user NAME
              Find files owned by the group/user NAME.

       -links [-+]N
              Find files with N hard links.

       -name GLOB
              Find files whose name matches the GLOB.

       -path GLOB
              Find files whose entire path matches the GLOB.

       -newer FILE
              Find files newer than FILE.

       -perm [-]MODE
              Find files with a matching mode.

       -type [bcdlpfs]
              Find files of the given type.  Possible types are block device,  character  device,
              directory, symbolic link, pipe, regular file, and socket.

       -size [-+]N[c]
              Find  files  with  the  given  size.  The default unit is 512-byte blocks; c counts
              characters/bytes instead.

       Actions:

       -prune Don't descend into this directory.

       -exec command ... {} ;
              Execute a command.

       -exec command ... {} +
              Execute a command with multiple files at once.

       -ok command ... {} ;
              Prompt the user whether to execute a command.

       -print Print the path to the found file.

GNU find FEATURES

       Operators:

       -not expression
              Same as !  expression.

       expression -and expression
              Same as expression -a expression.

       expression -or expression
              Same as expression -o expression.

       expression , expression
              The "comma" operator: evaluates the left-hand expression but discards  the  result,
              returning the right-hand expression.

       Flags:

       -P     Never follow symbolic links (the default).

       -D FLAG
              Turn on a debugging flag (see -D help).

       -ON    Enable  optimization  level N (default: 3; interpreted differently than GNU find --
              see below).

       Options:

       -d     Search in post-order (same as -depth).

       -daystart
              Measure time relative to the start of today.

       -follow
              Follow all symbolic links (same as -L).

       -ignore_readdir_race
       -noignore_readdir_race
              Whether to report an error if bfs detects that the file tree is modified during the
              search (default: -noignore_readdir_race).

       -maxdepth N
       -mindepth N
              Ignore files deeper/shallower than N.

       -mount Don't descend into other mount points (same as -xdev).

       -noleaf
              Ignored; for compatibility with GNU find.

       -regextype TYPE
              Use TYPE-flavored regexes (default: posix-basic; see -regextype help).

       -warn
       -nowarn
              Turn on or off warnings about the command line.

       Tests:

       -amin [-+]N
       -cmin [-+]N
       -mmin [-+]N
              Find files accessed/changed/modified N minutes ago.

       -anewer FILE
       -cnewer FILE
       -mnewer FILE
              Find files accessed/changed/modified more recently than FILE was modified.

       -empty Find empty files/directories.

       -executable
       -readable
       -writable
              Find files the current user can execute/read/write.

       -false
       -true
              Always false/true.

       -fstype TYPE
              Find files on file systems with the given TYPE.

       -gid [-+]N
       -uid [-+]N
              Find files owned by group/user ID N.

       -inum [-+]N
              Find files with inode number N.

       -lname GLOB
              Find symbolic links whose target matches the GLOB.

       -newerXY REFERENCE
              Find  files whose X time is newer than the Y time of REFERENCE.  X and Y can be any
              of [aBcm] (access/Birth/change/modification).

       -regex REGEX
              Find files whose entire path matches the regular expression REGEX.

       -samefile FILE
              Find hard links to FILE.

       -size [-+]N[cwbkMG]
              1-byte characters, 2-byte words, 512-byte blocks, and kiB/MiB/GiB.

       -type [bcdlpfsD]
              The Door file type is also supported on platforms that have it (Solaris).

       -used [-+]N
              Find files last accessed N days after they were changed.

       -wholename GLOB
              Find files whose entire path matches the GLOB (same as -path).

       -ilname GLOB
       -iname GLOB
       -ipath GLOB
       -iregex REGEX
       -iwholename GLOB
              Case-insensitive versions of -lname/-name/-path/-regex/-wholename.

       -xtype [bcdlpfsD]
              Find files of the given type, following links when -type would not, and vice versa.

       Actions:

       -delete
              Delete any found files (implies -depth).

       -execdir command ... {} ;
       -execdir command ... {} +
       -okdir command ... {} ;
              Like -exec/-ok, but run the command in the same directory as the found file(s).

       -ls    List files like ls -dils.

       -print0
              Like -print, but use the null character ('\0') as a separator rather than newlines.
              Useful in conjunction with xargs -0.

       -printf FORMAT
              Print according to a format string (see find(1)).

       -fls FILE
       -fprint FILE
       -fprint0 FILE
       -fprintf FORMAT FILE
              Like -ls/-print/-print0/-printf, but write to FILE instead of standard output.

       -quit  Quit immediately.

       -version
              Print version information.

       -help  Print usage information.

BSD find FEATURES

       Flags:

       -E     Use extended regular expressions (same as -regextype posix-extended).

       -X     Filter out files with non-xargs(1)-safe names.

       -x     Don't descend into other mount points (same as -xdev).

       -f PATH
              Treat PATH as a path to search (useful if it begins with a dash).

       Tests:

       -Bmin [-+]N
       -Btime [-+]N
              Find files Birthed N minutes/days ago.

       -Bnewer FILE
              Find files Birthed more recently than FILE was modified.

       -depth [-+]N
              Find files with depth N.

       -gid NAME
       -uid NAME
              Group/user names are supported in addition to numeric IDs.

       -size [-+]N[cwbkMGTP]
              Units of TiB/PiB are additionally supported.

       -sparse
              Find files that occupy fewer disk blocks than expected.

       Actions:

       -exit [STATUS]
              Exit immediately with the given status (0 if unspecified).

       -printx
              Like  -print,  but  escape  whitespace and quotation characters, to make the output
              safe for xargs(1).  Consider using -print0 and xargs -0 instead.

       -rm    Delete any found files (same as -delete; implies -depth).

bfs-SPECIFIC FEATURES

       Flags:

       -O0    Disable all optimizations.

       -O1    Basic logical simplifications.

       -O2    All -O1 optimizations, plus dead code elimination and data flow analysis.

       -O3    All -O2 optimizations, plus re-order expressions to reduce expected cost.

       -O4/-Ofast
              All optimizations, including aggressive optimizations that may alter  the  observed
              behavior in corner cases.

       Options:

       -color
       -nocolor
              Turn  colors  on  or  off  (default:  -color  if outputting to a terminal, -nocolor
              otherwise).

       Tests:

       -hidden
              Match hidden files (those beginning with .).

       Actions:

       -nohidden
              Filter out hidden files and directories.

       -printf FORMAT
       -fprintf FORMAT FILE
              These additional format directives are supported:

              %w     The file's birth time, in the same format as %a/%c/%t.

              %Wk    Field k of the file's birth time, in the same format as %Ak/%Ck/%Tk.

EXAMPLES

       bfs    With no arguments, bfs prints all files under the  current  directory  in  breadth-
              first order.

       bfs -name '*.txt'
              Prints  all  the .txt files under the current directory.  *.txt is quoted to ensure
              the glob is processed by bfs rather than the shell.

       bfs -name access_log -L /var
              Finds all files named access_log under /var, following symbolic links.  bfs  allows
              flags and paths to appear anywhere on the command line.

       bfs ~ -not -user $USER
              Prints all files in your home directory not owned by you.

       bfs -xtype l
              Finds broken symbolic links.

       bfs -name .git -prune -false -o -name config
              Finds all files named config, skipping every .git directory.

       bfs -type f -executable -exec strip '{}' +
              Runs  strip(1)  on  all  executable  files it finds, passing it multiple files at a
              time.

BUGS

       https://github.com/tavianator/bfs/issues

AUTHOR

       Tavian Barnes <tavianator@tavianator.com>

       https://github.com/tavianator/bfs

SEE ALSO

       find(1), locate(1), xargs(1)

                                                                                           BFS(1)