Langue: en

Version: April 2006 (mandriva - 01/05/08)

Section: 1 (Commandes utilisateur)


global - print the locations of specified object.


global [-aGilnqrstTvx][-e] pattern
global -c[qrsv] prefix
global -f[anqrstvx] files
global -g[aGilnoOqtvx][-e] pattern
global -I[ailnqtvx][-e] pattern
global -p[qrv]
global -P[aGilnoOqtvx][-e] pattern
global -u[qv]


Global find the locations of specified object in C, C++, Yacc, Java, PHP and Assembly source files. Global can treat a source tree, that is, a directory that has subdirectories and source files. You can get the relative path of objects from anywhere within the tree. Global can locate not only object definitions but also object references and other symbols. Duplicate entries are allowed.

In advance of using this command, you must execute gtags(1) at the root directory of the source tree to make tag files. Then you can execute at anywhere in the source tree.


The following commands are available:
Print object which match to the pattern. Extended regular expressions which are the same as those accepted by egrep(1) are available.
-c, --completion [prefix]
Print candidate definition names which start with specified prefix. Prefix is not specified, print all definition names.
-f, --file files
Print all tags in the files. This option implies -x option.
-g, --grep
Print all lines which match to the pattern.
-I, --idutils
Print all lines which match to the pattern. This function use idutils(1) as a search engine. To use this command, you need to install idutils(1) in your system and you must execute gtags(1) with -I option.
-p, --print-dbpath
Print the location of 'GTAGS'.
-P, --path [pattern]
Print the path which match to the pattern. If no pattern specified, print all.
-u, --update
Locate tag files and update them incrementally.
Show version number.
Show help.


The following options are available:
-a, --absolute
Print absolute path name. By default, print relative path name.
-e, --regexp pattern
Use pattern as the pattern; useful to protect patterns beginning with -.
-G, --basic-regexp
Interpret pattern as a basic regular expression. The default is extended regular expression. This option is valid for the -g and -P command.
-i, --ignore-case
ignore case distinctions in pattern.
-l, --local
Print just objects which exist under the current directory.
-n, --nofilter
Suppress sort filter and path conversion filter.
-o, --other
Search pattern in not only source files but also other files like 'README'. This option is valid only with -g or -P command.
-O, --only-other
Search pattern only in other files like 'README'. This option is valid only with -g or -P command. This option override the -o option.
-q, --quiet
Quiet mode.
-r, --reference, --rootdir
Print the locations of object references. By default, print object definitions. With the -p option, print the root directory of source tree.
--result format
format may be 'path', `ctags', `ctags-x', `grep' or 'cscope'. The --result=ctags and --result=ctags-x are equivalent to the -t and -x respectively. The --result option is given to priority more than the -t and -x option.
-s, --symbol
Print the locations of specified symbol other than definitions.
-t, --tags
Print with standard ctags format.
-T, --through
Go through all the tag files listed in GTAGSLIBPATH. By default, stop searching when tag is found. This option is ignored when either -s, -r or -l option is specified.
-v, --verbose
Verbose mode.
-x, --cxref
In addition to the default output, produce the line number and the line contents.


         $ ls -F
         Makefile      src/    lib/
         $ gtags
         $ global main
         $ global -x main
         main              10 src/main.c  main (argc, argv) {
         $ global -x '^[sg]et'
         set_num           20 lib/util.c  set_num(values)
         get_num           30 lib/util.c  get_num() {
         $ global -rx '^[sg]et'
         set_num          113 src/op.c            set_num(32);
         set_num          225 src/opop.c               if (set_num(0) > 0) {
         get_num           90 src/op.c            while (get_num() > 0) {
         $ cd lib
         $ global -rx '^[sg]et'
         set_num          113 ../src/op.c            set_num(32);
         set_num          225 ../src/opop.c               if (set_num(0) > 0) {
         get_num           90 ../src/op.c            while (get_num() > 0) {
         $ global strlen
         $ (cd /usr/src/sys; gtags)
         $ export GTAGSLIBPATH=/usr/src/sys
         $ global strlen
         $ (cd /usr/src/lib; gtags)
         $ GTAGSLIBPATH=/usr/src/lib:/usr/src/sys
         $ global strlen


Tag file for object definitions.
Tag file for object references.
Tag file for other symbols.
Tag file for path of source files.
If environment variable GTAGSROOT is not set and 'GTAGSROOT' exist in the same directory with 'GTAGS' then use the value as GTAGSROOT.
'/etc/gtags.conf', '$HOME/.globalrc'
Configuration file.


The following environment variables affect the execution of global:
The directory which is the root of source tree.
The directory on which gtags database exist. This value is ignored when GTAGSROOT is not defined.
If this variable is set, it is used as the path to search for library functions. If the specified function is not found in a source tree, global also search in these paths.
If this variable is set, its value is used as the label of configuration file. The default is default.


The following configuration variables affect the execution of global:
Ignore case distinctions in the pattern.


Global exits with a non 0 value if an error occurred, 0 otherwise.


gtags-parser(1), gtags(1), htags(1), less(1).

GNU GLOBAL source code tag system


Tama Communications Corporation.


The global command appeared in FreeBSD 2.2.2.