EnglishFrenchSpanish

Ad


OnWorks favicon

chase - Online in the Cloud

Run chase in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command chase that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


chase - chase symbolic links

SYNOPSIS


chase [ --verbose | --from-file | -f | --null | -0 | --loop-warn-threshold COUNT | -w
COUNT | --loop-fail-threshold COUNT | -l COUNT | --disable-loop-detection | -D ] [file...]

chase -v | --version

chase -h | --help

DESCRIPTION


Chase is a small utility that tracks down the name of the actual file that is truly
accessed, when one hits a symbolic link. It chases the link, so to speak.

In normal operation, you give chase a name of an existing file. The program will then
show you (or, more accurately, print to the standard output stream) the name of the real
file that the original file referred to. It does not matter if you give the program the
name of a regular file; chase will just give you the same name back. You can give the
utility the option --verbose, in order to have it be more verbose in its operation. You
can also give the program a list of files from which it will read the file names to be
chased (see the option --from-file).

I'll give you a good example of a case where chase is useful. In a Debian GNU/Linux
system, software installation is handled by the program dpkg(8). There is a way to query
dpkg(8), which package a file belongs to. Unfortunately, this does not not grok all
symlinks. This is a problem, since the Debian system uses symbolic links extensively for
handling several flavours of a program (say, XEmacs and GNU Emacs and the versions 19 and
20 of both). Now with chase, one can determine the real file easily and then using this
result as an argument to dpkg(8). Observe:

ajk@ugh:~$ dpkg -S `which xemacs20`
dpkg: /usr/bin/xemacs20 not found.
ajk@ugh:~$ dpkg -S `which xemacs20 | xargs chase`
xemacs20-nomule: /usr/bin/xemacs-20.4-nomule
ajk@ugh:~$

When given multiple file names as arguments, chase will chase every one of them in order.

OPTIONS


The following options are recognized by chase:

--verbose
Chat about what is being done.

-f, --from-file
Treat the file names on the command line as sources for names to be chased. If
this option is present, chase will read in each of the files given on the command
line (both a sole dash "-" and the absence of file names will be taken as meaning
the standard input stream). Each line in the files is taken as a verbatim file
name that will be chased like it had been given on the command line of a run
without this option. There is no means for quoting the newline character;
therefore only file names that do not contain newlines can be specified via the
files. This restriction is lifted by the -0 option, though. However, literal
spaces are preserved and are not interpreted as special.

-0, --null
This option implies the option -f, which reads file names from a file. The -0
option modifies the behavior -f so that instead of treating lines in the file as
file names, the file names are expected to be separated by null characters. This
allows for specifying file names with newlines in them with -f.

-w WCOUNT, --loop-warn-threshold=WCOUNT

-l LCOUNT, --loop-fail-threshold=LCOUNT
Set the threshold for warning about a possible symlink loop (WCOUNT) and for
failing because of one (LCOUNT). There are default values, which you can find out
by invoking chase with the argument --help. Using zero as WCOUNT or LCOUNT
disables the check.

-D, --disable-loop-detection
Normally chase keeps a record of all symlinks it has visited when chasing the
current file. It uses this record to reliably detect symlink loops. However,
checking the record slows the process a little (more for long chains of symlinks)
and the record requires a small amount of memory (more for long chains of
symlinks), so it may be desirable in some cases to inhibit this check. This option
disables this loop detection and the associated recording of visited symlinks.
When this option is in effect (assuming no bugs in the related code) chase runs in
constant space and linear time relative to the length of the symlink chains
encountered.

-h, --help
Output a usage summary and exit successfully.

-v, --version
Show version information and exit successfully.

DIAGNOSTICS


The exit status is 0 if and only if all files given in the command lines exist and none of
them are dangling symlinks.

The following messages are emitted by chase when it suspects or detects a symlink loop:

quite many symlink hops, hope we're not looping...
This means that the chain of symlinks is longer than a given threshold. This may
mean that the chain is infinite (and thus contains a loop somewhere). The
threshold can be specified by using the --loop-warn-threshold command line option.

too many symlink hops, giving up...
This means that the chain of symlinks is longer than a given threshold. This
usually means that the chain is infinite (and thus contains a loop somewhere). The
threshold can be specified by using the --loop-fail-threshold command line option.
If you see this message, it means that chase has given up on that file.

symlink loop detected, giving up...
The symlink chain is looping and therefore there is no result for the chase. Chase
has given up on that file.

Additionally, Chase emits several error messages under problematic conditions. They all
come from the system libraries, so the program has no control over the actual wording of
the messages. They all follow the format "program name: file name: error message", where
file name is the name of the offending file or directory.

Use chase online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    and...
    Download VASSAL Engine
  • 2
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    a...
    Download OpenPDF - Fork of iText
  • 3
    SAGA GIS
    SAGA GIS
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 4
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 5
    D3.js
    D3.js
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    you...
    Download D3.js
  • 6
    Shadowsocks
    Shadowsocks
    A fast tunnel proxy that helps you
    bypass firewalls This is an application
    that can also be fetched from
    https://sourceforge.net/projects/shadowsocksgui/.
    It ha...
    Download Shadowsocks
  • More »

Linux commands

Ad