Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RUBY(1)		       Ruby Programmer's Reference Guide	       RUBY(1)

NAME
       ruby -- Interpreted object-oriented scripting language

SYNOPSIS
       ruby	[--copyright]	 [--version]	[-SUacdlnpswvy]	   [-0[octal]]
	    [-C	   directory]	 [-E	external[:internal]]	 [-F[pattern]]
	    [-I	  directory]  [-K[c]]  [-T[level]]  [-W[level]]	 [-e  command]
	    [-i[extension]]	   [-r	      library]	       [-x[directory]]
	    [--{enable|disable}-FEATURE]      [--dump=target]	   [--verbose]
	    [--crash-report=template] [--] [program_file] [argument ...]

DESCRIPTION
       Ruby is an interpreted scripting	language for quick  and	 easy  object-
       oriented	 programming.	It has many features to	process	text files and
       to do system management tasks (like in Perl).  It is simple,  straight-
       forward,	and extensible.

       If  you	want  a	 language for easy object-oriented programming,	or you
       don't like the Perl ugliness, or	you do like the	concept	of  LISP,  but
       don't like too many parentheses,	Ruby might be your language of choice.

FEATURES
       Ruby's features are as follows:

       Interpretive
	       Ruby is an interpreted language,	so you don't have to recompile
	       programs	written	in Ruby	to execute them.

       Variables have no type (dynamic typing)
	       Variables in Ruby can contain data of any type.	You don't have
	       to  worry about variable	typing.	 Consequently, it has a	weaker
	       compile time check.

       No declaration needed
	       You can use variables in	your Ruby programs without any	decla-
	       rations.	  Variable  names  denote their	scope -	global,	class,
	       instance, or local.

       Simple syntax
	       Ruby has	a simple syntax	influenced slightly from Eiffel.

       No user-level memory management
	       Ruby has	automatic memory management.  Objects no longer	refer-
	       enced from anywhere are automatically collected by the  garbage
	       collector built into the	interpreter.

       Everything is an	object
	       Ruby is a purely	object-oriented	language, and was so since its
	       creation.   Even	 such  basic  data as integers are seen	as ob-
	       jects.

       Class, inheritance, and methods
	       Being an	object-oriented	language,  Ruby	 naturally  has	 basic
	       features	like classes, inheritance, and methods.

       Singleton methods
	       Ruby  has  the  ability	to define methods for certain objects.
	       For example, you	can define a press-button action  for  certain
	       widget  by defining a singleton method for the button.  Or, you
	       can make	up your	own prototype based object system  using  sin-
	       gleton methods, if you want to.

       Mix-in by modules
	       Ruby intentionally does not have	the multiple inheritance as it
	       is  a  source  of  confusion.  Instead, Ruby has	the ability to
	       share implementations across the	inheritance tree.  This	is of-
	       ten called a `Mix-in'.

       Iterators
	       Ruby has	iterators for loop abstraction.

       Closures
	       In Ruby,	you can	objectify the procedure.

       Text processing and regular expressions
	       Ruby has	a bunch	of text	processing features like in Perl.

       M17N, character set independent
	       Ruby supports multilingualized  programming.  Easy  to  process
	       texts  written  in many different natural languages and encoded
	       in many different character encodings,  without	dependence  on
	       Unicode.

       Bignums
	       With  built-in  bignums,	 you can for example calculate factor-
	       ial(400).

       Reflection and domain-specific languages
	       Class is	also an	instance of the	 Class	class.	Definition  of
	       classes	and  methods  is an expression just as 1+1 is. So your
	       programs	can even write and modify  programs.   Thus,  you  can
	       write  your application in your own programming language	on top
	       of Ruby.

       Exception handling
	       As in Java(tm).

       Direct access to	the OS
	       Ruby can	use most Unix system calls, often used in system  pro-
	       gramming.

       Dynamic loading
	       On  most	 Unix systems, you can load object files into the Ruby
	       interpreter on-the-fly.

       Rich libraries
	       In addition to the "builtin libraries" and "standard libraries"
	       that are	bundled	with Ruby, a vast amount  of  third-party  li-
	       braries	("gems") are available via the package management sys-
	       tem  called  `RubyGems',	 namely	 the  gem(1)  command.	 Visit
	       RubyGems.org (https://rubygems.org/) to find the	gems you need,
	       and  explore  GitHub  (https://github.com/) to see how they are
	       being developed and used.

OPTIONS
       The  Ruby  interpreter  accepts	the  following	command-line   options
       (switches).  They are quite similar to those of perl(1).

       --copyright    Prints the copyright notice, and quits immediately with-
		      out running any script.

       --version      Prints  the  version  of the Ruby	interpreter, and quits
		      immediately without running any script.

       -0[octal]      (The digit "zero".)  Specifies the input record  separa-
		      tor  ($/)	 as an octal number. If	no digit is given, the
		      null  character  is  taken  as  the  separator.	 Other
		      switches	may  follow  the  digits.  -00 turns Ruby into
		      paragraph	mode.  -0777 makes Ruby	 read  whole  file  at
		      once  as a single	string since there is no legal charac-
		      ter with that value.

       -C directory
       -X directory   Causes Ruby to switch to the directory.

       -E external[:internal]
       --encoding external[:internal]
		      Specifies	the default value(s)  for  external  encodings
		      and  internal  encoding. Values should be	separated with
		      colon (:).

		      You can omit the one for internal	 encodings,  then  the
		      value (Encoding.default_internal)	will be	nil.

       --external-encoding=encoding
       --internal-encoding=encoding
		      Specify  the  default external or	internal character en-
		      coding

       -F pattern     Specifies	input field separator ($;).

       -I directory   Used to tell Ruby	where to  load	the  library  scripts.
		      Directory	 path  will be added to	the load-path variable
		      ($:).

       -K kcode	      Specifies	KANJI (Japanese) encoding. The	default	 value
		      for   script   encodings	 (__ENCODING__)	 and  external
		      encodings	 (Encoding.default_external)   will   be   the
		      specified	one. kcode can be one of

			    e	    EUC-JP

			    s	    Windows-31J	(CP932)

			    u	    UTF-8

			    n	    ASCII-8BIT (BINARY)

       -S	      Makes  Ruby  use the PATH	environment variable to	search
		      for script, unless its name begins with a	 slash.	  This
		      is used to emulate #! on machines	that don't support it,
		      in the following manner:

			    #! /usr/local/bin/ruby
			    # This line	makes the next one a comment in	Ruby \
			      exec /usr/local/bin/ruby -S $0 $*

		      On  some	systems	 $0  does  not always contain the full
		      pathname,	so you need the	-S  switch  to	tell  Ruby  to
		      search  for  the script if necessary (to handle embedded
		      spaces and such).	 A better construct than $*  would  be
		      ${1+"$@"},  but  it does not work	if the script is being
		      interpreted by csh(1).

       -T[level=1]    Turns on taint checks at the  specified  level  (default
		      1).

       -U	      Sets   the   default   value   for   internal  encodings
		      (Encoding.default_internal) to UTF-8.

       -W[level=2]    Turns on verbose mode at	the  specified	level  without
		      printing the version message at the beginning. The level
		      can be;

			    0	    Verbose  mode  is  "silence".  It sets the
				    $VERBOSE to	nil.

			    1	    Verbose mode  is  "medium".	 It  sets  the
				    $VERBOSE to	false.

			    2 (default)	Verbose	mode is	"verbose". It sets the
				    $VERBOSE to	true.  -W2 is the same as -w

       -a	      Turns  on	 auto-split  mode when used with -n or -p.  In
		      auto-split mode, Ruby executes
			    $F = $_.split
		      at beginning of each loop.

       --backtrace-limit=num
		      Limits the maximum length	of  backtraces	to  num	 lines
		      (default -1, meaning no limit).

       -c	      Causes  Ruby  to check the syntax	of the script and exit
		      without executing. If there are no syntax	 errors,  Ruby
		      will print "Syntax OK" to	the standard output.

       -d
       --debug	      Turns on debug mode.  $DEBUG will	be set to true.

       -e command     Specifies	 script	 from  command-line while telling Ruby
		      not to search the	rest of	the  arguments	for  a	script
		      file name.

       -h
       --help	      Prints a summary of the options.

       -i extension   Specifies	 in-place-edit mode.  The extension, if	speci-
		      fied, is added to	old file name to make a	 backup	 copy.
		      For example:

			    % echo matz	> /tmp/junk
			    % cat /tmp/junk
			    matz
			    % ruby -p -i.bak -e	'$_.upcase!' /tmp/junk
			    % cat /tmp/junk
			    MATZ
			    % cat /tmp/junk.bak
			    matz

       -l	      (The  lowercase  letter "ell".)  Enables automatic line-
		      ending processing, which means to	firstly	set $\ to  the
		      value  of	 $/,  and secondly chops every line read using
		      chomp!.

       -n	      Causes Ruby to assume the	 following  loop  around  your
		      script,  which makes it iterate over file	name arguments
		      somewhat like sed	-n or awk.

			    while gets
			      ...
			    end

       -p	      Acts mostly same as -n switch, but print	the  value  of
		      variable $_ at the each end of the loop.	For example:

			    % echo matz	| ruby -p -e '$_.tr! "a-z", "A-Z"'
			    MATZ

       -r library     Causes  Ruby  to	load the library using require.	 It is
		      useful when using	-n or -p.

       -s	      Enables some switch parsing for  switches	 after	script
		      name  but	 before	 any  file name	arguments (or before a
		      --).  Any	switches found there are removed from ARGV and
		      set the corresponding variable in	the script.  For exam-
		      ple:

			    #! /usr/local/bin/ruby -s
			    # prints "true" if invoked with `-xyz' switch.
			    print "true\n" if $xyz

       -v	      Enables verbose mode.  Ruby will print  its  version  at
		      the  beginning  and  set	the variable $VERBOSE to true.
		      Some methods print extra messages	if  this  variable  is
		      true.   If  this	switch is given, and no	other switches
		      are present, Ruby	quits after printing its version.

       -w	      Enables verbose mode without printing version message at
		      the beginning.  It sets the $VERBOSE variable to true.

       -x[directory]  Tells Ruby that the script is  embedded  in  a  message.
		      Leading  garbage	will be	discarded until	the first line
		      that starts with "#!" and	contains the  string,  "ruby".
		      Any  meaningful  switches	 on that line will be applied.
		      The end of the script must be specified with either EOF,
		      ^D (control-D), ^Z (control-Z),  or  the	reserved  word
		      __END__.	 If the	directory name is specified, Ruby will
		      switch to	that directory before executing	script.

       -y
       --yydebug      This option is not guaranteed to be compatible.

		      Turns on compiler	debug mode.  Ruby will print  a	 bunch
		      of  internal  state  messages  during compilation.  Only
		      specify this switch you are going	to debug the Ruby  in-
		      terpreter.

       --disable-FEATURE
       --enable-FEATURE
		      Disables (or enables) the	specified FEATURE.
		      --disable-gems
		      --enable-gems	 Disables  (or	enables)  RubyGems li-
					 braries.  By default, Ruby will  load
					 the  latest version of	each installed
					 gem. The  Gem	constant  is  true  if
					 RubyGems  is enabled, false if	other-
					 wise.

		      --disable-rubyopt
		      --enable-rubyopt	 Ignores (or  considers)  the  RUBYOPT
					 environment   variable.  By  default,
					 Ruby considers	the variable.

		      --disable-all
		      --enable-all	 Disables (or enables) all features.

       --dump=target  Dump some	information.

		      Prints the specified target.  target can be one of:

			    version  Print  version   description   (same   as
				     --version).

			    usage    Print a brief usage message (same as -h).

			    help     Show long help message (same as --help).

			    syntax   Check syntax (same	as -c --yydebug).

		      Or  one  of the following, which are intended for	debug-
		      ging the interpreter:

			    yydebug    Enable compiler	debug  mode  (same  as
				       --yydebug).

			    parsetree  Print  a	 textual representation	of the
				       Ruby AST	for the	program.

			    insns      Print a list of	disassembled  bytecode
				       instructions.

			    -optimize  Disable	various	optimizations to print
				       a list disassembled  bytecode  instruc-
				       tions.

			    +error-tolerant   Enable  error-tolerant  parsing,
				       when yydebug or parsetree.

			    +comment   Annotate	a  textual  representation  of
				       the  Ruby  AST for the program with the
				       associated Ruby source code.

       --verbose      Enables verbose mode without printing version message at
		      the beginning.  It sets the $VERBOSE variable  to	 true.
		      If this switch is	given, and no script arguments (script
		      file or -e options) are present, Ruby quits immediately.

       --crash-report=template
		      Sets  the	 template  of  path name to save crash report.
		      See RUBY_CRASH_REPORT environment	variable for details.

ENVIRONMENT
       RUBYLIB	  A colon-separated list of  directories  that	are  added  to
		  Ruby's   library  load  path	($:).  Directories  from  this
		  environment variable are searched before the	standard  load
		  path is searched.

		  e.g.:
			RUBYLIB="$HOME/lib/ruby:$HOME/lib/rubyext"

       RUBYOPT	  Additional Ruby options.

		  e.g.
			RUBYOPT="-w -Ke"

		  Note	that  RUBYOPT can contain only -d, -E, -I, -K, -r, -T,
		  -U,	-v,   -w,   -W,	  --debug,    --disable-FEATURE	   and
		  --enable-FEATURE.

       RUBYPATH	  A colon-separated list of directories	that Ruby searches for
		  Ruby	programs when the -S flag is specified.	 This variable
		  precedes the PATH environment	variable.

       RUBYSHELL  The path to the  system  shell  command.   This  environment
		  variable  is	enabled	 for  only  mswin32, mingw32, and OS/2
		  platforms.  If this variable is not defined, Ruby refers  to
		  COMSPEC.

       RUBY_FREE_AT_EXIT
		  If  set,  Ruby tries to free all dynamically allocated memo-
		  ries.	 Introduced in Ruby 3.3, default: unset.

       RUBY_IO_BUFFER_DEFAULT_SIZE
		  The custom default buffer size of IO::Buffer.

       RUBY_MAX_CPU
		  The maximum number of	native threads	used  by  M:N  Threads
		  scheduler Introduced in Ruby 3.3, default: 8.

       RUBY_MN_THREADS
		  If  set  to  1,  M:N Thread scheduler	is enabled on the main
		  Ractor.  Introduced in Ruby 3.3, default: unset.

       RUBY_PAGER
		  The pager command that will be used for

       RUBY_THREAD_TIMESLICE
		  Sets the default thread time slice (thread quantum) in  mil-
		  liseconds.   Introduced in Ruby 3.4, default:	100ms.	--help
		  option.  Introduced in Ruby 3.0, default: PAGER  environment
		  variable.

       PATH	  Ruby refers to the PATH environment variable on calling Ker-
		  nel#system.

       And  Ruby depends on some RubyGems related environment variables	unless
       RubyGems	is disabled.  See the help of gem(1) as	below.

	     % gem help

GC ENVIRONMENT
       The Ruby	garbage	collector (GC) tracks objects  in  fixed-sized	slots,
       but  each  object  may have auxiliary memory allocations	handled	by the
       malloc family of	C standard library calls ( malloc(3),  calloc(3),  and
       realloc(3)).   In this documentation, the "heap"	refers to the Ruby ob-
       ject heap of fixed-sized	slots, while "malloc" refers to	auxiliary  al-
       locations  commonly  referred to	as the "process	heap".	Thus there are
       at least	two possible ways to trigger GC:

	     1	     Reaching the object limit.

	     2	     Reaching the malloc limit.

       In Ruby 2.1, the	generational GC	was introduced and the limits are  di-
       vided  into young and old generations, providing	two additional ways to
       trigger a GC:

	     3	     Reaching the old object limit.

	     4	     Reaching the old malloc limit.

       There are currently 4 possible areas where the GC may be	tuned  by  the
       following environment variables:

       RUBY_GC_HEAP_n_INIT_SLOTS  Initial  allocation  of  slots in a specific
				  heap.	 The available heaps can be  found  in
				  the  keys  of	 GC.stat_heap.	n is a decimal
				  number between 0 and 4.  Introduced in  Ruby
				  3.3.

       RUBY_GC_HEAP_FREE_SLOTS	  Prepare  at least this amount	of slots after
				  GC.  Allocate	this number slots if there are
				  not enough slots.  Introduced	in  Ruby  2.1,
				  default: 4096

       RUBY_GC_HEAP_GROWTH_FACTOR  Increase  allocation	 rate of heap slots by
				  this factor.	Introduced in  Ruby  2.1,  de-
				  fault: 1.8, minimum: 1.0 (no growth)

       RUBY_GC_HEAP_GROWTH_MAX_SLOTS Allocation	rate is	limited	to this	number
				  of  slots,  preventing  excessive allocation
				  due to  RUBY_GC_HEAP_GROWTH_FACTOR.	Intro-
				  duced	in Ruby	2.1, default: 0	(no limit)

       RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR  Perform  a full GC when the	number
				  of old objects is more than R	* N,  where  R
				  is  this  factor  and	N is the number	of old
				  objects after	the last full GC.   Introduced
				  in Ruby 2.1.1, default: 2.0

       RUBY_GC_HEAP_REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO Used to cal-
				  culate				   the
				  remembered_wb_unprotected_objects_limit  us-
				  ing  a  ratio	of old_objects.	 Introduced in
				  Ruby 3.3, default: 0.1, minimum: 0.0
       RUBY_GC_MALLOC_LIMIT	  The initial limit of young generation	 allo-
				  cation  from	the  malloc-family.   GC  will
				  start	when this limit	is reached.   Default:
				  16MB

       RUBY_GC_MALLOC_LIMIT_MAX	  The  maximum limit of	young generation allo-
				  cation from malloc before GC	starts.	  Pre-
				  vents	  excessive   malloc   growth  due  to
				  RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR.	Intro-
				  duced	in Ruby	2.1, default: 32MB.

       RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR Increases the	limit of young genera-
				  tion malloc calls, reducing GC frequency but
				  increasing  malloc growth until RUBY_GC_MAL-
				  LOC_LIMIT_MAX	 is  reached.	Introduced  in
				  Ruby	2.1,  default:	1.4,  minimum: 1.0 (no
				  growth)

       RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO Allocate additional  pages  when  the
				  number of free slots is lower	than the value
				  (total_slots * (this ratio)).	 Introduced in
				  Ruby	2.4, default: 0.2, minimum: 0.0, maxi-
				  mum: 1.0

       RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO Allow to free pages when  the	number
				  of  free  slots  is  greater	than the value
				  (total_slots * (this ratio)).	 Introduced in
				  Ruby	  2.4,	  default:    0.4,    minimum:
				  RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO,  maximum:
				  1.0

       RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO Allocate slots to satisfy this  for-
				  mula:	 free_slots = total_slots * goal_ratio
				  In  other  words,  prepare  (total_slots   *
				  goal_ratio)  free  slots.   if this value is
				  0.0, then use	RUBY_GC_HEAP_GROWTH_FACTOR di-
				  rectly.  Introduced in  Ruby	2.4,  default:
				  0.65,				      minimum:
				  RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO,  maximum:
				  RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO

       RUBY_GC_OLDMALLOC_LIMIT	  The  initial limit of	old generation alloca-
				  tion from malloc, a full GC will start  when
				  this	limit  is reached.  Introduced in Ruby
				  2.1, default:	16MB

       RUBY_GC_OLDMALLOC_LIMIT_MAX The maximum limit of	old generation alloca-
				  tion from malloc before a  full  GC  starts.
				  Prevents  excessive  malloc  growth  due  to
				  RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR.   In-
				  troduced in Ruby 2.1,	default: 128MB

       RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR Increases the limit of old	gener-
				  ation	 malloc	 allocation,  reducing full GC
				  frequency but	increasing malloc growth until
				  RUBY_GC_OLDMALLOC_LIMIT_MAX is reached.  In-
				  troduced in Ruby 2.1,	default: 1.2, minimum:
				  1.0 (no growth)

       RUBY_SHARED_FIBER_POOL_FREE_STACKS Frees	stacks of  pooled  fibers,  if
				  set  to 1.  Do not free the stacks if	set to
				  0.  Introduced in Ruby 2.7, default:	1  (no
				  growth)

STACK SIZE ENVIRONMENT
       Stack  size environment variables are implementation-dependent and sub-
       ject to change with different versions of Ruby.	The VM stack  is  used
       for  pure-Ruby  code and	managed	by the virtual machine.	 Machine stack
       is used by the operating	system and its usage is	dependent on C	exten-
       sions  as well as C compiler options.  Using lower values for these may
       allow applications to keep more Fibers  or  Threads  running;  but  in-
       creases	the  chance  of	 SystemStackError  exceptions and segmentation
       faults (SIGSEGV).  These	environment variables are available since Ruby
       2.0.0.  All values are specified	in bytes.

       RUBY_THREAD_VM_STACK_SIZE       VM stack	size used at thread  creation.
				       default:	524288 (32-bit CPU) or 1048575
				       (64-bit)

       RUBY_THREAD_MACHINE_STACK_SIZE  Machine	stack size used	at thread cre-
				       ation.  default:	524288 or 1048575

       RUBY_FIBER_VM_STACK_SIZE	       VM stack	size used at  fiber  creation.
				       default:	65536 or 131072

       RUBY_FIBER_MACHINE_STACK_SIZE   Machine	stack  size used at fiber cre-
				       ation.  default:	262144 or 524288

CRASH REPORT ENVIRONMENT
       RUBY_CRASH_REPORT  The template of path name to save crash report.  de-
			  fault: none

   Naming crash	report files
       The template can	contain	% specifiers which are substituted by the fol-
       lowing values when a crash report file is created:

       %%    A single %	character.
       %e    Basename of executable.
       %E    Pathname of executable, with slashes (/) replaced by  exclamation
	     marks (!).
       %f    Basename of the program name, $0.
       %F    Pathname  of  the	program	name, $0, with slashes (/) replaced by
	     exclamation marks (!).
       %p    PID of dumped process.
       %t    Time of dump, expressed as	seconds	since  the  Epoch,  1970-01-01
	     00:00:00 +0000 (UTC).
       %NNN  A character code in octal.

       A  single  %  at	the end	of the template	is dropped from	the core file-
       name, as	is the combination of a	% followed by any character other than
       those listed above.  All	other characters in the	template become	a lit-
       eral part of the	core filename.	The template may include  '/'  charac-
       ters, which are interpreted as delimiters for directory names.

   Piping crash	reports	to a program
       If  the first character of this file is a pipe symbol (|), then the re-
       mainder of the line is interpreted as the command-line  for  a  program
       (or script) that	is to be executed.

       The  pipe  template is split on spaces into an argument list before the
       template	parameters are expanded.

MISC ENVIRONMENT
       RUBY_TCP_NO_FAST_FALLBACK  If set to 1, disables	the fast fallback fea-
				  ture	by  default   in   TCPSocket.new   and
				  Socket.tcp.	When  set  to 0	or left	unset,
				  the fast fallback feature is	enabled.   In-
				  troduced in Ruby 3.4,	default: unset.

SEE ALSO
       https://www.ruby-lang.org/     The official web site.
       https://www.ruby-toolbox.com/  Comprehensive catalog of Ruby libraries.

REPORTING BUGS
          Security  vulnerabilities  should  be  reported  via	 an  email  to
	   security@ruby-lang.org.  Reported problems will be published	 after
	   being fixed.

          Other  bugs and feature requests can	be reported via	the Ruby Issue
	   Tracking System (https://bugs.ruby-lang.org/).  Do not report secu-
	   rity	vulnerabilities	via this system	because	it publishes the  vul-
	   nerabilities	immediately.

AUTHORS
       Ruby    is    designed	 and   implemented   by	  Yukihiro   Matsumoto
       <matz@netlab.jp>.

       See <https://github.com/ruby/ruby/graphs/contributors> for contributors
       to Ruby.

UNIX				April 14, 2018			       RUBY(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ruby34&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help