Provided by: inxi_3.0.36-1-1_all bug

NAME

       inxi  - Command line system information script for console and IRC

SYNOPSIS

       inxi

       inxi [-AbBCdDfFGhiIlmMnNopPrRsSuUVwzZ]

       inxi  [-c  NUMBER]  [-t  [c|m|cm|mc][NUMBER]]  [-v  NUMBER]  [-W LOCATION] [--weather-unit
       {m|i|mi|im}] [-y WIDTH] inxi [--memory-modules] [--memory-short] [--recommends]  [--slots]
       [--usb]

       inxi [-x|-xx|-xxx|-a|--admin] -OPTION(s)

       All options have long form variants - see below for these and more advanced options.

DESCRIPTION

       inxi  is  a  command  line system information script built for console and IRC. It is also
       used a debugging tool for forum technical  support  to  quickly  ascertain  users'  system
       configurations  and  hardware.  inxi  shows  system hardware, CPU, drivers, Xorg, Desktop,
       Kernel, gcc version(s),  Processes,  RAM  usage,  and  a  wide  variety  of  other  useful
       information.

       inxi  output varies depending on whether it is being used on CLI or IRC, with some default
       filters and color options applied only for IRC use.  Script colors can be  turned  off  if
       desired  with  -c  0, or changed using the -c color options listed in the STANDARD OPTIONS
       section below.

PRIVACY AND SECURITY

       In order to maintain basic privacy and security, inxi used on  IRC  automatically  filters
       out  your  network  device  MAC  address, WAN and LAN IP, your /home username directory in
       partitions, and a few other items.

       Because inxi is often used on forums for support, you can also trigger this filtering with
       the  -z  option (-Fz, for example). To override the IRC filter, you can use the -Z option.
       This can be useful in debugging network connection issues online in a  private  chat,  for
       example.

USING OPTIONS

       Options can be combined if they do not conflict. You can either group the letters together
       or separate them.

       Letters with numbers can have no gap or a gap at your discretion, except when using  -t.

       For example: inxi -AG or inxi -A -G or inxi -c10

       Note that all the short form options have long form equivalents, which are  listed  below.
       However, usually the short form is used in examples in order to keep things simple.

STANDARD OPTIONS

       -A, --audio
              Show Audio/sound card(s) information, including card driver.

       -b, --basic
              Show basic output, short form. Same as: inxi -v 2

       -B, --battery
              Show  system  battery  (ID-x)  data,  charge, condition, plus extra information (if
              battery present). Uses /sys or, for BSDs without systctl battery  data,  dmidecode.
              dmidecode  does  not  have  very  much  information, and none about current battery
              state/charge/voltage. Supports multiple batteries when using /sys data.

              Note that for charge, the output shows the current charge, as well as its value  as
              a  percentage of the available capacity, which can be less than the original design
              capacity. In the following example, the actual current available  capacity  of  the
              battery is 22.2 Wh.

              charge: 20.1 Wh 95.4%

              The  condition  item  shows  the  remaining  available  capacity  / original design
              capacity, and then this figure as a percentage of original  capacity  available  in
              the battery.

              condition: 22.2/36.4 Wh (61%)

              With  -x  shows  attached Device-x information (mouse, keyboard, etc.)  if they are
              battery powered.

       -c, --color [0-42]
              Set color scheme. If no scheme number is supplied, 0 is assumed.

       -c [94-99]

              These color selectors run a color selector option  prior  to  inxi  starting  which
              lets you set the config file value for the selection.

              NOTE:  All  configuration file set color values are removed when output is piped or
              redirected. You must use the explicit runtime -c <color number> option if you  want
              color codes to be present in the piped/redirected output.

              Color  selectors  for  each type display (NOTE: IRC and global only show safe color
              set):

       -c 94  - Console, out of X.

       -c 95  - Terminal, running in X - like xTerm.

       -c 96  - GUI IRC, running in X - like XChat, Quassel, Konversation etc.

       -c 97  - Console IRC running in X - like irssi in xTerm.

       -c 98  - Console IRC not in  X.

       -c 99  - Global - Overrides/removes all settings.

              Setting a specific color type removes the global color selection.

       -C, --cpu
              Show full CPU output,  including  per  CPU  clock  speed  and  CPU  max  speed  (if
              available).   If max speed data present, shows (max) in short output formats (inxi,
              inxi -b) if actual CPU speed matches max CPU speed. If max CPU speed does not match
              actual  CPU  speed,  shows  both actual and max speed information.  See -x for more
              options.

              For certain CPUs (some ARM, and AMD Zen family) shows CPU die count.

              The details for each CPU include a technical description e.g. type: MT MCP

              * MT - Multi/Hyper Threaded CPU, more than 1 thread per core (previously HT).

              * MCM - Multi Chip Model (more than 1 die per CPU).

              * MCP - Multi Core Processor (more than 1 core per CPU).

              * SMP - Symmetric Multi Processing (more than 1 physical CPU).

              * UP - Uni (single core) Processor.

       -d, --disk-full,--optical
              Show optical drive data as well as -D hard drive data. With -x, adds a feature line
              to  the  output.  Also shows floppy disks if present. Note that there is no current
              way to get any information about the floppy device that I am aware of, so  it  will
              simply show the floppy ID without any extra data. -xx adds a few more features.

       -D, --disk
              Show  Hard  Disk  info.  Shows  total disk space and used percentage. The disk used
              percentage includes space used by swap partition(s), since those are not usable for
              data  storage.  Note  that  with RAID disks, the percentage will be wrong since the
              total is computed from the disk sizes, but used is computed from mounted  partition
              used  percentages.  This  small  defect  may  get  corrected  in the future.  Also,
              unmounted partitions are not counted in disk use  percentages  since  inxi  has  no
              access to the used amount.

              Also  shows per disk information: Disk ID, type (if present), vendor (if detected),
              model, and size. See Extra Data Options for more features.

       -f, --flags
              Show all CPU flags used, not just the short list. Not shown with  -F  in  order  to
              avoid spamming. ARM CPUs: show features items.

       -F, --full
              Show  Full output for inxi. Includes all Upper Case line letters except -W, plus -s
              and -n. Does not show extra verbose options such as -d -f -i -l -m -o -p -r  -t  -u
              -x unless you use those arguments in the command, e.g.: inxi -Frmxx

       -G, --graphics
              Show  Graphic  card(s)  information,  including  details  of  card and card driver,
              display protocol (if available), display server (vendor and version number), e.g.:

              Display: x11 server: Xorg 1.15.1

              If protocol is not detected, shows:

              Display: server: Xorg 1.15.1

              Also  shows  screen   resolution(s),   OpenGL   renderer,   OpenGL   core   profile
              version/OpenGL version.

              Compositor information will show if detected using -xx option.

       -h, --help
              The  help  menu.  Features  dynamic  sizing to fit into terminal window. Set script
              global COLS_MAX_CONSOLE if you want a different default value, or use -y <width> to
              temporarily override the defaults or actual window width.

       -i, --ip
              Show  WAN  IP  address and local interfaces (latter requires ifconfig or ip network
              tool), as well as network output from -n.  Not shown  with  -F  for  user  security
              reasons.  You  shouldn't  paste your local/WAN IP. Shows both IPv4 and IPv6 link IP
              addresses.

       -I, --info
              Show Information: processes, uptime, memory, IRC client (or shell type  if  run  in
              shell,  not  IRC),  inxi  version.  See  -x  and  -xx  for  extra information (init
              type/version, runlevel).

              Note: if -m is used or triggered, the memory item will show  in  the  main  Memory:
              report of -m, not in Info:.

              Rasberry  Pi  only:  uses vcgencmd get_mem gpu to get gpu RAM amount, if user is in
              video group and vcgencmd is installed. Uses this result  to  increase  the  Memory:
              amount and used: amounts.

       -l, --label
              Show partition labels. Default: main partitions -P. For full -p output, use: -pl.

       -m, --memory
              Memory  (RAM)  data. Does not display with  -b or  -F unless you use -m explicitly.
              Ordered by system board  physical  system  memory  array(s)  (Array-[number]),  and
              individual  memory  devices  (Device-[number]).  Physical  memory array  data shows
              array capacity, number of devices  supported,  and  Error  Correction  information.
              Devices  shows  locator  data  (highly  variable in syntax), size, speed, type (eg:
              type: DDR3).

              Note: -m uses dmidecode, which must be run as  root  (or  start  inxi  with  sudo),
              unless  you  figure  out how to set up sudo to permit dmidecode to read /dev/mem as
              user. speed and bus width will not show if No Module Installed is found in size.

              Note: If -m is triggered RAM total/used report will appear in this section, not  in
              -I or -tm items.

              Because dmidecode data is extremely unreliable, inxi will try to make best guesses.
              If you see (check) after  the  capacity  number,  you  should  check  it  with  the
              specifications.  (est)  is  slightly  more reliable, but you should still check the
              real specifications before buying RAM. Unfortunately there is nothing inxi  can  do
              to get truly reliable data about the system RAM; maybe one day the kernel devs will
              put this data into /sys, and make it real data, taken from the actual  system,  not
              dmi  data. For most people, the data will be right, but a significant percentage of
              users will have either a wrong max module size, if present, or max capacity.

              See --memory-modules and --memory-short if you want a shorter report.

       --memory-modules
              Memory (RAM) data. Show only RAM arrays and modules in Memory report.   Skip  empty
              slots. See -m.

       --memory-short
              Memory  (RAM)  data.  Show a one line RAM report in Memory, e.g.  Report: arrays: 1
              slots: 4 modules: 2 type: DDR4 See -m.

       -M, --machine
              Show machine data. Device, Motherboard, BIOS, and if present, System Builder  (Like
              Lenovo).   Older  systems/kernels  without the required /sys data can use dmidecode
              instead, run as root. If using dmidecode, may also show BIOS/UEFI revision as  well
              as  version.   --dmidecode forces use of dmidecode data instead of /sys.  Will also
              attempt to show if the system was booted by  BIOS,  UEFI,  or  UEFI  [Legacy],  the
              latter being legacy BIOS boot mode in a system board using UEFI.

              Device  information  requires either /sys or dmidecode. Note that 'other-vm?'  is a
              type that means it's usually a VM,  but  inxi  failed  to  detect  which  type,  or
              positively   confirm   which   VM   it   is.   Primary  VM  identification  is  via
              systemd-detect-virt but fallback tests that should also support some BSDs are used.
              Less  commonly  used  or harder to detect VMs may not be correctly detected. If you
              get an incorrect output, post an issue and we'll get it fixed if possible.

              Due to unreliable vendor data, device type will show:  desktop,  laptop,  notebook,
              server, blade, plus some obscure stuff that inxi is unlikely to ever run on.

       -n, --network-advanced
              Show  Advanced  Network card information in addition to that produced by -N.  Shows
              interface, speed, MAC ID, state, etc.

       -N, --network
              Show Network card(s) information, including card driver. With -x, shows PCI  BusID,
              Port number.

       -o, --unmounted
              Show unmounted partition information (includes UUID and LABEL if available).  Shows
              file system type if you have lsblk installed (Linux only). For BSD/GNU Linux: shows
              file  system type if file is installed, and if you are root or if you have added to
              /etc/sudoers (sudo v. 1.7 or newer):

              <username> ALL = NOPASSWD: /usr/bin/file (sample)

              Does not show components (partitions that create  the  md-raid  array)  of  md-raid
              arrays.

       -p, --partitions-full
              Show full Partition information (-P plus all other detected mounted partitions).

       -P, --partitions
              Show basic Partition information.  Shows, if detected: / /boot /home /opt /tmp /usr
              /usr/home /var /var/tmp /var/log.  Use -p to see all mounted partitions.

       -r, --repos
              Show distro repository data. Currently supported repo types:

              APK (Alpine Linux + derived versions)

              APT (Debian, Ubuntu + derived versions, as well  as  RPM  based  APT  distros  like
              PCLinuxOS or Alt-Linux)

              CARDS (NuTyX + derived versions)

              EOPKG (Solus)

              PACMAN (Arch Linux, KaOS + derived versions)

              PACMAN-G2 (Frugalware + derived versions)

              PISI (Pardus + derived versions)

              PORTAGE (Gentoo, Sabayon + derived versions)

              PORTS (OpenBSD, FreeBSD, NetBSD + derived OS types)

              SLACKPKG (Slackware + derived versions)

              TCE (TinyCore)

              URPMQ (Mandriva, Mageia + derived versions)

              XBPS (Void)

              YUM/ZYPP (Fedora, Red Hat, Suse + derived versions)

              More  will be added as distro data is collected. If yours is missing please show us
              how to get this information and we'll try to add it.

       -R, --raid
              Show RAID data. Shows RAID devices, states, levels and components, and  extra  data
              with -x / -xx.

              md-raid: If device is resyncing, also shows resync progress line.

              Note: Only md-raid and ZFS are currently supported. Other software RAID types could
              be added, but only if users supply all data required,  and  if  the  software  RAID
              actually can be made to give the required output.

              If  hardware RAID is detected, shows basic information. Due to complexity of adding
              hardware RAID device disk / RAID reports, those will only  be  added  if  there  is
              demand, and reasonable reporting tools.

       --recommends
              Checks  inxi  application dependencies and recommends, as well as directories, then
              shows what package(s) you need to install to add support for each feature.

       -s, --sensors
              Show output  from  sensors  if  sensors  installed/configured:  Motherboard/CPU/GPU
              temperatures;  detected  fan  speeds.  GPU temperature when available. Nvidia shows
              screen number for multiple screens. IPMI sensors are also used (root  required)  if
              present.

       --slots
              Show PCI slots with type, speed, and status information.

       -S, --system
              Show  System information: host name, kernel, desktop environment (if in X), distro.
              With -xx show dm - or startx - (only shows if present and running if out of X), and
              if in X, with -xxx show more desktop info, e.g. taskbar or panel.

       -t, --processes
              [c|m|cm|mc NUMBER] Show processes. If no arguments, defaults to cm.  If followed by
              a number, shows that number of processes for each type (default: 5; if in IRC, max:
              5)

              Make  sure  that  there  is  no space between letters and numbers (e.g. write as -t
              cm10).

       -t c   - CPU only. With -x, also shows memory for that process on same line.

       -t m   - memory only. With -x, also shows CPU for that process on same line.   If  the  -I
              line is not triggered, will also show the system RAM used/total information.

       -t cm  - CPU+memory. With -x, shows also CPU or memory for that process on same line.

       --usb  Show  USB  data  for attached Hubs and Devices. Hubs also show number of ports.  Be
              aware that a port is not always external, some may be internal, and either used  or
              unused (for example, a motherboard USB header connector that is not used).

              Hubs and Devices are listed in order of BusID.

              BusID is generally in this format: BusID-port[.port][.port]:DeviceID

              Device  ID  is  a  number  created  by the kernel, and has no necessary ordering or
              sequence connection, but can be used to match this output to  lsusb  values,  which
              generally shows BusID / DeviceID (except for tree view, which shows ports).

              Examples: Device-3: 4-3.2.1:2 or Hub: 4-0:1

              The rev: 2.0 item refers to the USB revision number, like 1.0 or 3.1.

       -u, --uuid
              Show partition UUIDs. Default: main partitions -P. For full -p output, use: -pu.

       -U, --update
              Note - Maintainer may have disabled this function.

              If inxi -h has no listing for -U then it's disabled.

              Auto-update  script.  Note:  if  you installed as root, you must be root to update,
              otherwise  user  is  fine.  Also   installs   /   updates   this   man   page   to:
              /usr/local/share/man/man1 (if /usr/local/share/man/ exists AND there is no inxi man
              page in  /usr/share/man/man1,  otherwise  it  goes  to  /usr/share/man/man1).  This
              requires  that  you  be  root  to write to that directory. See --man or --no-man to
              force or disable man install.

       -V, --version
              inxi version information. Prints information then exits.

       -v, --verbosity
              Script verbosity levels. If no verbosity level  number  is  given,  0  is  assumed.
              Should not be used with -b or -F.

              Supported levels: 0-8 Examples : inxi -v 4  or  inxi -v4

       -v 0   - Short output, same as: inxi

       -v 1   -  Basic  verbose, -S + basic CPU (cores, type, clock speed, and min/max speeds, if
              available) + -G + basic Disk + -I.

       -v 2   - Adds networking card (-N), Machine (-M) data, Battery (-B) (if  available).  Same
              as: inxi -b

       -v 3   - Adds advanced CPU (-C) and network (-n) data; triggers -x advanced data option.

       -v 4   -  Adds  partition size/used data (-P) for (if present): / /home /var/ /boot. Shows
              full disk data (-D)

       -v 5   - Adds audio card (-A), memory/RAM (-m), sensors (-s), partition label  (-l),  UUID
              (-u), and short form of optical drives.

       -v 6   -  Adds  full  mounted  partition data (-p), unmounted partition data (-o), optical
              drive data (-d), USB (--usb); triggers -xx extra data option.

       -v 7   - Adds network IP data (-i); triggers -xxx

       -v 8   - All system data available.  Adds  Repos  (-r),  PCI  slots  (--slots),  processes
              (-tcm), admin (--admin). Useful for testing output and to see what data you can get
              from your system.

       -w, --weather
              Adds weather line. To get weather for an alternate location, use -W [location]. See
              also  -x,  -xx,  -xxx options.  Please note that your distribution's maintainer may
              chose to disable this feature.

              DO NOT USE THIS FEATURE FOR AUTOMATED WEATHER UPDATES! You will be blocked from any
              further  access.  This  feature is not meant for widget type weather monitoring, or
              Conky type use. It is meant to get weather when you need to see it, for example, on
              a remote server.

       -W, --weather-location <location_string>
              Get  weather/time  for  an  alternate location. Accepts postal/zip code[, country],
              city,state pair, or latitude,longitude. Note:  city/country/state  names  must  not
              contain spaces. Replace spaces with '+' sign. Don't place spaces around any commas.
              Postal code is not reliable except for North America and maybe the UK.  Try  postal
              codes  with  and  without  country code added. Note that City,State applies only to
              USA, otherwise it's City,Country. If country name (english) does not  work,  try  2
              character country code (e.g. Spain: es; Great Britain: gb).

              See  https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2  for current 2 letter country
              codes.

              Use only ASCII letters in city/state/country names.

              Examples: -W 95623,us OR -W Boston,MA OR -W 45.5234,-122.6762 OR -W new+york,ny  OR
              -W bodo,norway.

              DO  NOT  USE  THIS FEATURE FOR AUTOMATED WEATHER UPDATES! Use of automated queries,
              will result in your access being blocked. If you try to work around  the  ban,  you
              will be permanently banned from this service.

       --weather-source, --ws <unit>
              [1-9]  Switches weather data source. Possible values are 1-9. 1-4 will generally be
              active, and 5-9 may or may not be active, so check.   1  may  not  support  city  /
              country  names  with spaces (even if you use the + sign instead of space). 2 offers
              pretty good data, but may not have all small city names for -W.

              Please note that the data sources are not static per  value,  and  can  change  any
              time,  or  be removed, so always test to verify which source is being used for each
              value if that is important to  you.  Data  sources  may  be  added  or  removed  on
              occasions,  so try each one and see which you prefer. If you get unsupported source
              message, it means that number has not been implemented.

       --weather-unit <unit>
              [m|i|mi|im] Sets weather units to metric (m), imperial (i), metric (imperial)  (mi,
              default),  imperial  (metric) (im). If metric or imperial not found,sets to default
              value, or N/A.

       -y, --width <integer>
              This is an absolute width override which sets the output line width max.  Overrides
              COLS_MAX_IRC  /  COLS_MAX_CONSOLE globals, or the actual widths of the terminal. 80
              is the minimum width supported.  -1 removes width limits. Example: inxi -Fxx -y 130

       -z, --filter
              Adds security filters for IP addresses, serial numbers,  MAC,  location  (-w),  and
              user home directory name. On by default for IRC clients.

       -Z, --filter-override
              Absolute override for output filters. Useful for debugging networking issues in IRC
              for example.

EXTRA DATA OPTIONS

       These options can be triggered by one or more -x.  Alternatively, the -v  options  trigger
       them in the following way: -v 3 adds -x; -v 6 adds -xx; -v 7 adds -xxx

       These extra data triggers can be useful for getting more in-depth data on various options.
       They can be added to any long form option list, e.g.: -bxx or -Sxxx

       There are 3 extra data levels:

       -x, -xx, -xxx

       OR

       --extra 1, --extra 2, --extra 3

       The following details show which lines / items display extra information  for  each  extra
       data level.

       -x -A  -  Adds  (if  available  and/or relevant) vendor: item, which shows specific vendor
              [product] information.

              - Adds version/port(s)/driver version (if available) for each Audio device.

              - Adds PCI Bus ID/USB ID number of each Audio device.

       -x -B  - Adds vendor/model, battery status (if battery present).

              -  Adds  attached  battery  powered  peripherals  (Device-[number]:)  if   detected
              (keyboard, mouse, etc.).

       -x -C  - Adds bogomips on CPU (if available)

              - Adds CPU Flags (short list). Use -f to see full flag/feature list.

              -  Adds  CPU microarchitecture + revision (e.g. Sandy Bridge, K8, ARMv8, P6, etc.).
              Only shows data if detected. Newer microarchitectures will have to be added as they
              appear, and require the CPU family ID and model ID.

              Examples: arch: Sandy Bridge rev: 2, arch: K8 rev.F+ rev: 2

       -x -d  -  Adds  more  items  to Features line of optical drive; dds rev version to optical
              drive.

       -x -D  - Adds HDD temperature with disk data if you have hddtemp  installed,  if  you  are
              root or if you have added to /etc/sudoers (sudo v. 1.7 or newer):

              <username> ALL = NOPASSWD: /usr/sbin/hddtemp (sample)

       -x -G  -  Adds  (if  available  and/or relevant) vendor: item, which shows specific vendor
              [product] information.

              - Adds direct rendering status.

              - Adds (for single GPU, nvidia driver) screen number that GPU is running on.

              - Adds PCI Bus ID/USB ID number of each Graphics card.

       -x -i  - Adds IP  v6  additional  scope  data,  like  Global,  Site,  Temporary  for  each
              interface.

              Note  that  there  is no way I am aware of to filter out the deprecated IP v6 scope
              site/global temporary addresses from the output of ifconfig. The ip tool shows that
              clearly.

              ip-v6-temporary  -  (ip tool only), scope global temporary.  Scope global temporary
              deprecated is not shown

              ip-v6-global - scope global (ifconfig will show this for all types, global,  global
              temporary, and global temporary deprecated, ip shows it only for global)

              ip-v6-link - scope link (ip/ifconfig) - default for -i.

              ip-v6-site  - scope site (ip/ifconfig). This has been deprecated in IPv6, but still
              exists. ifconfig may show multiple site  values,  as  with  global  temporary,  and
              global temporary deprecated.

              ip-v6-unknown - unknown scope

       -x -I  -  Adds  current  init  system (and init rc in some cases, like OpenRC).  With -xx,
              shows init/rc version number, if available.

              - Adds default system gcc. With -xx, also show other installed gcc versions.

              - Adds current runlevel (not available with all init systems).

              - If in shell (i.e. not in IRC client), adds shell version number, if available.

       -x -m, --memory-modules
              - If present, adds maximum memory module/device size in the Array line.  Only  some
              systems will have this data available. Shows estimate if it can generate one.

              - Adds device type in the Device line.

       -x -N  -  Adds  (if  available  and/or relevant) vendor: item, which shows specific vendor
              [product] information.

              - Adds version/port(s)/driver version (if available) for each Network card;

              - Adds PCI Bus ID/USB ID number of each Network card.

       -x -R  - md-raid: Adds second RAID Info line with extra data: blocks, chunk  size,  bitmap
              (if present). Resync line, shows blocks synced/total blocks.

              - Hardware RAID: Adds driver version, bus ID.

       -x -s  - Adds basic voltages: 12v, 5v, 3.3v, vbat (ipmi, lm-sensors if present).

       -x -S  - Adds Kernel gcc version.

              -  Adds  to Distro: base: if detected. System base will only be seen on a subset of
              distributions. The distro must be both derived from a parent distro (e.g. Mint from
              Ubuntu),  and explicitly added to the supported distributions for this feature. Due
              to the complexity of distribution identification,  these  will  only  be  added  as
              relatively solid methods are found for each distribution system base detection.

       -x -t  - Adds memory use output to CPU (-xt c), and CPU use to memory (-xt m).

       -x --usb
              - For Devices, adds driver(s).

       -x -w, -W
              - Adds humidity and barometric pressure.

              - Adds wind speed and direction.

       -xx -A - Adds vendor:product ID for each Audio device.

       -xx -B -  Adds  serial  number, voltage (if available). Note that volts shows the data (if
              available) as the voltage now / minimum design voltage.

       -xx -C - Adds L1 cache: and L3 cache: if either  are  available.  Requires  dmidecode  and
              sudo/root.

       -xx -D - Adds disk serial number.

              -  Adds  disk speed (if available). This is the theoretical top speed of the device
              as reported. This speed may be restricted by system board limits,  eg.   a  SATA  3
              drive  on  a  SATA  2  board  may  report SATA 2 speeds, but this is not completely
              consistent, sometimes a SATA 3 device on a SATA 2 board reports its design speed.

              NVMe drives: adds lanes, and (per direction) speed is calculated with lane speed  *
              lanes  *  PCIe overhead. PCIe 1 and 2 have data rates of GT/s * .8  = Gb/s (10 bits
              required to transfer 8 bits of data).  PCIe 3 and greater transfer data at  a  rate
              of GT/s * 128/130 * lanes = Gb/s (130 bits required to transfer 128 bits of data).

              For  a  PCIe  3 NVMe drive, with speed of 8 GT/s and 4 lanes (8GT/s * 128/130 * 4 =
              31.6 Gb/s):

              speed: 31.6 Gb/s lanes: 4

       -xx -G - Adds vendor:product ID of each Graphics card.

              - Adds compositor, if found (experimental).

              - For free drivers, adds OpenGL compatibility version number  if   available.   For
              nonfree  drivers, the core version and compatibility versions are usually the same.
              Example:

              v: 3.3 Mesa 11.2.0 compat-v: 3.0

              - If available, shows alternate: Xorg drivers. This means a driver on  the  default
              list of drivers Xorg automatically checks for the card, but which is not installed.
              For example, if you have nouveau driver, nvidia would show as alternate if  it  was
              not installed. Note that alternate: does NOT mean you should have it, it's just one
              of the drivers Xorg checks to see if is present and loaded when checking the  card.
              This  can  let  you  know  there  are  other driver options.  Note that if you have
              explicitly set the driver in xorg.conf, Xorg will not create this  automatic  check
              driver list.

       -xx -I - Adds init type version number (and rc if present).

              - Adds other detected installed gcc versions (if present).

              - Adds system default runlevel, if detected. Supports Systemd/Upstart/SysVinit type
              defaults.

              - Adds parent program (or tty) that started shell, if not IRC client.

       -xx -m, --memory-modules
              - Adds memory device Manufacturer.

              -  Adds   memory  device  Part  Number  (part-no:).  Useful  for  ordering  new  or
              replacement memory sticks etc. Part numbers are unique, particularly if you use the
              word memory in the search as well. With -xxx, also shows serial number.

              - Adds single/double bank memory, if data is found. Note,  this  may  not  be  100%
              right all of the time since it depends on the order that data is found in dmidecode
              output for type 6 and type 17.

       -xx -M - Adds chassis information, if data is available. Also shows BIOS ROM size if using
              dmidecode.

       -xx -N - Adds vendor:product ID for each Network card.

       -xx -R -  md-raid:  Adds  superblock (if present) and algorithm. If resync, shows progress
              bar.

              - Hardware RAID: Adds Chip vendor:product ID.

       -xx -s - Adds DIMM/SOC voltages, if present (ipmi only).

       -xx -S - Adds display manager (dm) type, if present. If none, shows  N/A.   Supports  most
              known  display  managers,  including gdm, gdm3, idm, kdm, lightdm, lxdm, mdm, nodm,
              sddm, slim, tint, wdm, and xdm.

              - Adds, if run in X, window manager  type  (wm),  if  available.   Not  all  window
              managers  are  supported. Some desktops support using more than one window manager,
              so this can be useful to see what window manager  is  actually  running.   If  none
              found, shows nothing. Uses a less accurate fallback tool wmctrl if ps tests fail to
              find data.

              - Adds desktop toolkit (tk), if available (Xfce/KDE/Trinity).

       -xx --slots
              - Adds slot length.

       -xx --usb
              - Adds vendor:chip id.

       -xx -w, -W
              - Adds wind chill, heat index, and dew point, if available.

              - Adds cloud cover, rain, snow,  or  precipitation  (amount  in  previous  hour  to
              observation time), if available.

       -xxx -A
              - Adds, if present, serial number.

       -xxx -B
              - Adds battery chemistry (e.g. Li-ion), cycles (NOTE: there appears to be a problem
              with the Linux kernel obtaining the cycle count, so this  almost  always  shows  0.
              There's  nothing  that  can  be  done  about  this  glitch,  the data is simply not
              available as of  2018-04-03),  location  (only  available  from  dmidecode  derived
              output).

              - Adds attached device rechargeable: [yes|no] information.

       -xxx -C
              -  Adds  boost:  [enabled|disabled]  if detected, aka turbo. Not all CPUs have this
              feature.

       -xxx -D
              - Adds disk firmware revision number (if available).

              - Adds disk partition scheme (in most cases), e.g. scheme: GPT. Currently not  able
              to detect all schemes, but handles the most common, e.g. GPT or MBR.

              -  Adds  disk  rotation speed (in some but not all cases), e.g. rotation: 7200 rpm.
              Only appears if detected (SSD drives do not have rotation speeds, for example).  If
              none  found,  nothing  shows.  Not all disks report this speed, so even if they are
              spinnning, no data will show.

       -xxx -G
              - Adds (if available) compositor: version v:.

       -xxx -I
              - For Shell: adds (su|sudo|login) to shell name if present.

              - For running in: adds (SSH) to parent, if present. SSH detection uses the who am i
              test.

       -xxx -m, --memory-modules
              -  Adds memory bus width: primary bus width, and if present, total width. e.g.  bus
              width: 64 bit (total: 72 bits).  Note  that  total  /  data  widths  are  mixed  up
              sometimes  in  dmidecode output, so inxi will take the larger value as the total if
              present. If no total width data is found, then inxi will not show that item.

              - Adds device Type Detail, e.g. detail: DDR3 (Synchronous).

              - Adds, if present, memory module voltage. Only some systems will  have  this  data
              available.

              - Adds device serial number.

       -xxx -N
              - Adds, if present, serial number.

       -xxx -R
              -  md-raid:  Adds  system  mdraid  support  types (kernel support, read ahead, RAID
              events)

              - zfs-raid: Adds portion allocated (used) by RAID array/device.

              - Hardware RAID: Adds rev, ports, and (if available and/or relevant) vendor:  item,
              which shows specific vendor [product] information.

       -xxx -S
              -  Adds,  if  in  X,  or  with --display, bar/dock/panel/tray items (info). If none
              found,  shows  nothing.  Supports  desktop   items   like   gnome-panel,   lxpanel,
              xfce4-panel, lxqt-panel, tint2, cairo-dock, trayer, and many others.

              - Adds (if present), window manager (wm) version number.

              - Adds (if present), display manager (dm) version number.

       -xxx --usb
              - Adds, if present, serial number for non hub devices.

              - Adds interfaces: for non hub devices.

              - Adds, if available, USB speed in Mbits/s or Gbits/s.

       -xxx -w, -W
              -  Adds location (city state country), observation altitude (if available), weather
              observation time (if available), sunset/sunrise (if available).

ADMIN EXTRA DATA OPTIONS

       These options are triggered with --admin or -a. Admin options are advanced output options,
       and  are  more technical, and mostly of interest to system administrators or other machine
       admins.  The --admin option only has to be used  once,  and  will  trigger  the  following
       features.

       -a -C  -  Adds  CPU  family,  model-id,  and  stepping  (replaces  rev of -Cx).  Format is
              hexadecimal (decimal) if greater than 9, otherwise hexadecimal.

              - Adds CPU microcode. Format is hexadecimal.

              - Adds CPU Vulnerabilities (bugs) as known by your current kernel. Lists  by  Type:
              ...  (status|mitigation):  .... for systems that support this feature (Linux kernel
              4.14 or newer, or patched older kernels).

       -a -d,-a -D
              - Adds logical and physical block size in bytes.

       -a -p,-a -P
              - Adds raw partition size, including file system overhead, partition table, e.g.

              raw size: 60.00 GiB.

              - Adds percent of raw size available to size: item, e.g.

              size: 58.81 GiB (98.01%).

              Note that used: 16.44 GiB (34.3%) percent refers to the available size, not the raw
              size.

              - Adds partition filesystem block size if found (requires root and blockdev).

              - For swap, adds swappiness and vfs cache pressure, and a message to indicate if it
              is the default value or not (Linux only, and only  if  available).  If  not,  shows
              default value as well, e.g.

              swappiness: 60 (default) cache pressure: 90 (default 100).

       -a -S  - Adds kernel boot parameters to Kernel section (if detected). Support varies by OS
              type.

ADVANCED OPTIONS

       --alt 40
              Bypass Perl as a downloader option. Priority is:  Perl  (HTTP::Tiny),  Curl,  Wget,
              Fetch, (OpenBSD only) ftp.

       --alt 41
              Bypass  Curl  as  a  downloader option. Priority is: Perl (HTTP::Tiny), Curl, Wget,
              Fetch, (OpenBSD only) ftp.

       --alt 42
              Bypass Fetch as a downloader option. Priority is: Perl  (HTTP::Tiny),  Curl,  Wget,
              Fetch, (OpenBSD only) ftp.

       --alt 43
              Bypass  Wget  as  a  downloader option. Priority is: Perl (HTTP::Tiny), Curl, Wget,
              Fetch, OpenBSD only: ftp

       --alt 44
              Bypass Curl, Fetch, and Wget as  downloader  options.  This  basically  forces  the
              downloader  selection  to  use  Perl 5.x HTTP::Tiny, which is generally slower than
              Curl or Wget but it may help bypass issues with downloading.

       --display [:<integer>]
              Will try to get display data out of  X  (does  not  usually  work  as  root  user).
              Default  gets display info from display :0. If you use the format --display :1 then
              it would get it from display 1 instead, or any display you specify.

              Note that in some cases, --display will cause inxi to hang endlessly  when  running
              the  option  in  console  with  Intel  graphics. The situation regarding other free
              drivers such as nouveau/ATI is currently unknown. It may be that this is a bug with
              the Intel graphics driver - more information is required.

              You  can test this easily by running the following command out of X/display server:
              glxinfo -display :0

              If it hangs, --display will not work.

       --dmidecode
              Force use of dmidecode. This will override /sys data in some lines, e.g. -M or -B.

       --downloader [curl|fetch|perl|wget]
              Force inxi to use Curl, Fetch, Perl, or Wget for downloads.

       --host Turns on hostname in System line. Overrides inxi config file value (if set):

              SHOW_HOST='false'

       --indent-min [integer]
              Overrides default indent minimum value. This is the value that  makes  inxi  change
              from wrapped line starters [like Info] to non wrapped. If less than 80, no wrapping
              will occur. Overrides internal default value and user configuration value:

              INDENT_MIN=85

       --limit [-1 - x]
              Raise or lower max output limit of IP addresses for -i. -1 removes limit.

       --man  Updates / installs man page with -U if pinxi or  using  -U  3  dev  branch.   (Only
              active if -U is is not disabled by maintainers).

       --no-host
              Turns  off hostname in System line. Useful, in combination with -z, for anonymizing
              inxi output for posting on forums or IRC. Same as configuration value:

              SHOW_HOST='false'

       --no-man
              Disables man page install with -U  for  master  and  active  development  branches.
              (Only active if -U is is not disabled by maintainers).

       --no-ssl
              Skip  SSL  certificate  checks  for all downloader actions (-U, -w, -W, -i). Use if
              your system does not have current SSL certificate lists, or if  you  have  problems
              making a connection for any reason. Works with Wget, Curl, and Fetch only.

       --output [json|screen|xml]
              Change data output type. Requires --output-file if not screen.

       --output-file [full path to output file|print]
              The given directory path must exist. The directory path given must exist, The print
              options prints to stdout.  Required for non-screen --output formats (json|xml).

       --partition-sort [dev-base|fs|id|label|percent-used|size|uuid|used]
              Change default sort  order  of  partition  output.  Corresponds  to  PARTITION_SORT
              configuration item. These are the available sort options:

              dev-base - /dev partition identifier, like /dev/sda1.  Note that it's an alphabetic
              sort, so sda12 is before sda2.

              fs - Partition  filesystem.  Note  that  sorts  will  be  somewhat  random  if  all
              filesystems are the same.

              id - Mount point of partition (default).

              label - Label of partition. If partitions have no labels, sort will be random.

              percent-used - Percentage of partition size used.

              size - KiB size of partition.

              uuid - UUID of the partition.

              used - KiB used of partition.

       --pm-type [package manager name]
              For  distro  package  maintainers  only, and only for non apt, rpm, or pacman based
              systems.  To be used to test replacement package  lists  for  recommends  for  that
              package manager.

       --sleep [0-x.x]
              Usually  in  decimals. Change CPU sleep time for -C (current:  .35).  Sleep is used
              to let the system catch up and show a more accurate CPU use. Example:

              inxi -Cxxx --sleep 0.15

              Overrides default internal value and user configuration value:

              CPU_SLEEP=0.25

       --tty  Forces internal IRC flag to off. Used in unhandled cases where the program  running
              inxi  may  not be seen as a shell/tty, but it is not an IRC client. Put --tty first
              in option list to avoid unexpected errors. If you want a specific output width, use
              the  --width  option.  If  you  want  normal color codes in the output, use the  -c
              [color ID] flag.

              The sign you need to use this is extra numbers before the key/value  pairs  of  the
              output  of  your program. These are IRC, not TTY, color codes. Please post a github
              issue if you find you need to use --tty (including the full -Ixxx line) so  we  can
              figure out how to add your program to the list of whitelisted programs.

              You  can  see  what  inxi  believed started it in the -Ixxx line, Shell: or Client:
              item. Please let us know what that result was so we can add it to the parent  start
              program whitelist.

       --usb-sys
              Forces the USB data generator to use /sys as data source instead of lsusb.

       --usb-tool
              Forces  the  USB  data  generator to use lsusb as data source. Overrides USB_SYS in
              user configuration file(s).

       --wan-ip-url [URL]
              Force -i to use supplied URL as WAN IP source. Overrides dig or default  IP  source
              urls. URL must start with http[s] or ftp.

              The  IP  address from the URL must be the last item on the last (non-empty) line of
              the page content source code.

              Same as configuration value (example):

              WAN_IP_URL='https://mysite.com/ip.php'

       --wm   Force System item wm to use wmctrl as data source, override default ps source.

DEBUGGING OPTIONS

       --dbg 1
              - Debug downloader failures. Turns off silent/quiet mode for curl, wget, and fetch.
              Shows  more  downloader  action  information.  Shows some more information for Perl
              downloader.

       --debug [1-3]
              - On screen debugger output. Output  varies  depending  on  current  needs  Usually
              nothing changes.

       --debug 10
              -       Basic       logging.       Check       $XDG_DATA_HOME/inxi/inxi.log      or
              $HOME/.local/share/inxi/inxi.log or $HOME/.inxi/inxi.log.

       --debug 11
              - Full file/system info logging.

       --debug 20
              Creates a tar.gz file of system data and collects the inxi output in a file.

              * tree traversal data file(s) read from /proc and /sys, and other system data.

              * xorg conf and log data, xrandr, xprop, xdpyinfo, glxinfo etc.

              * data from dev, disks, partitions, etc.

       --debug 21
              Automatically uploads debugger  data  tar.gz  file  to  ftp.techpatterns.com,  then
              removes  the debug data directory, but leaves the debug tar.gz file.  See --ftp for
              uploading to alternate locations.

       --debug 22
              Automatically uploads debugger  data  tar.gz  file  to  ftp.techpatterns.com,  then
              removes  the  debug data directory and the tar.gz file.  See --ftp for uploading to
              alternate locations.

       --ftp [ftp.yoursite.com/incoming]
              For alternate ftp upload locations: Example:

              inxi --ftp ftp.yourserver.com/incoming --debug 21

DEBUGGING OPTIONS TO DEBUG DEBUGGER FAILURES

       Only used the  following  in  conjunction  with  --debug  2[012],  and  only  use  if  you
       experienced a failure or hang, or were instructed to do so.

       --debug-proc
              Force  debugger  to  parse  /proc directory data when run as root. Normally this is
              disabled due to unpredictable data in /proc tree.

       --debug-proc-print
              Use this to locate file that /proc debugger hangs on.

       --debug-no-exit
              Skip exit on error when running debugger.

       --debug-no-proc
              Skip /proc debugging in case of a hang.

       --debug-no-sys
              Skip /sys debugging in case of a hang.

       --debug-sys
              Force PowerPC debugger parsing of /sys as sudo/root.

       --debug-sys-print
              Use this to locate file that /sys debugger hangs on.

SUPPORTED IRC CLIENTS

       BitchX, Gaim/Pidgin, ircII, Irssi, Konversation, Kopete, KSirc, KVIrc, Weechat, and Xchat.
       Plus any others that are capable of displaying either built-in or external script output.

RUNNING IN IRC CLIENT

       To  trigger  inxi  output  in  your  IRC client, pick the appropriate method from the list
       below:

       Hexchat, XChat, Irssi
              (and many other IRC clients) /exec -o inxi [options] If you don't include  the  -o,
              only you will see the output on your local IRC client.

       Konversation
              /cmd inxi [options]

              To run inxi in Konversation as a native script if your distribution or inxi package
              hasn't already done this for you, create this symbolic link:

              KDE 4: ln -s /usr/local/bin/inxi /usr/share/kde4/apps/konversation/scripts/inxi

              KDE 5: ln -s /usr/local/bin/inxi /usr/share/konversation/scripts/inxi

              If inxi is somewhere else,  change  the  path  /usr/local/bin  to  wherever  it  is
              located.

              If  you  are using KDE/QT 5, then you may also need to add the following to get the
              Konversation /inxi command to work:

              ln -s /usr/share/konversation /usr/share/apps/

              Then you can start inxi directly, like this:

              /inxi [options]

       WeeChat
              NEW: /exec -o inxi [options]

              OLD: /shell -o inxi [options]

              Newer (2014 and later) WeeChats work pretty much the same now as other console  IRC
              clients, with /exec -o inxi [options]. Newer WeeChats have dropped the -curses part
              of their program name, i.e.: weechat instead of weechat-curses.

CONFIGURATION FILE

       inxi will read its configuration/initialization files in the following order:

       /etc/inxi.conf contains the default  configurations.  These  can  be  overridden  by  user
       configurations  found  in  one of the following locations (inxi will store its config file
       using the following precedence: if $XDG_CONFIG_HOME is not empty, it will go  there,  else
       if  $HOME/.conf/inxi.conf  exists,  it  will  go  there, and as a last default, the legacy
       location is used), i.e.:

       $XDG_CONFIG_HOME/inxi.conf > $HOME/.conf/inxi.conf > $HOME/.inxi/inxi.conf

CONFIGURATION OPTIONS

       See the documentation page for more complete information on how to set these up, and for a
       complete list of options:

       https://smxi.org/docs/inxi-configuration.htm

       Basic Options
              Here's a brief overview of the basic options you are likely to want to use:

              COLS_MAX_CONSOLE The max display column width on terminal.

              COLS_MAX_IRC The max display column width on IRC clients.

              COLS_MAX_NO_DISPLAY The max display column width in console, out of GUI desktop.

              CPU_SLEEP  Decimal  value  0  or more. Default is usually around 0.35 seconds. Time
              that inxi will 'sleep' before getting CPU speed data, so that  it  reflects  actual
              system state.

              DOWNLOADER  Sets  default  inxi  downloader:  curl,  fetch,  ftp,  perl, wget.  See
              --recommends output for more information on downloaders and Perl downloaders.

              FILTER_STRING Default <filter>. Any string you prefer to see instead  for  filtered
              values.

              INDENT_MIN  The  point  where  the  line  starter wrapping to its own line happens.
              Overrides default. See --indent-min. If 80 or less, wrap will never happen.

              LIMIT Overrides default of 10 IP addresses per IF. This is only of interest to  sys
              admins running servers with many IP addresses.

              PARTITION_SORT  Overrides  default  partition output sort. See --partition-sort for
              options.

              PS_COUNT The default number of items showing per -t type, m or c. Default is 5.

              SENSORS_CPU_NO In cases of ambiguous temp1/temp2 (inxi can't figure  out  which  is
              the  CPU),  forces  sensors to use  either value 1 or 2 as CPU temperature. See the
              above configuration page on smxi.org for full info.

              SEP2_CONSOLE Replaces default key / value separator of ':'.

              USB_SYS Forces all USB data to use /sys instead of lsusb.

              WAN_IP_URL Forces -i to use supplied URL, and to not use dig (dig is generally much
              faster). URL must begin with http or ftp. Note that if you use this, the downloader
              set tests will run each time you start inxi whether a downloader feature  is  going
              to be used or not.

              The  IP  address from the URL must be the last item on the last (non-empty) line of
              the URL's page content source code.

              Same as --wan-ip-url [URL]

              WEATHER_SOURCE  Values:  [0-9].  Same  as  --weather-source.  Values  4-9  are  not
              currently supported, but this can change at any time.

              WEATHER_UNIT Values: [c|f|cf|fc]. Same as --weather-unit.

       Color Options
              It's  best  to  use  the -c [94-99] color selector tool to set the following values
              because it will correctly update the configuration file and remove any  invalid  or
              conflicting  items,  but if you prefer to create your own configuration files, here
              are the options. All take the integer value from the options available in -c 94-99.

              NOTE: All default and configuration file set color values are removed  when  output
              is  piped  or redirected. You must use the explicit -c <color number> option if you
              want colors to be present in  the  piped/redirected  output  (creating  a  PDF  for
              example).

              CONSOLE_COLOR_SCHEME The color scheme for console output (not in X/Wayland).

              GLOBAL_COLOR_SCHEME Overrides all other color schemes.

              IRC_COLOR_SCHEME Desktop X/Wayland IRC CLI color scheme.

              IRC_CONS_COLOR_SCHEME Out of X/Wayland, IRC CLI color scheme.

              IRC_X_TERM_COLOR_SCHEME In X/Wayland IRC client terminal color scheme.

              VIRT_TERM_COLOR_SCHEME Color scheme for virtual terminal output (in X/Wayland).

BUGS

       Please report bugs using the following resources.

       You  may  be  asked to run the inxi debugger tool (see --debug 21/22), which will upload a
       data dump of system files for use in debugging inxi. These data dumps are  very  important
       since they provide us with all the real system data inxi uses to parse out its report.

       Issue Report
              File an issue report: https://github.com/smxi/inxi/issues

       Developer Forums
              Post on inxi developer forums: https://techpatterns.com/forums/forum-32.html

       IRC irc.oftc.net#smxi
              You can also visit irc.oftc.net channel: #smxi to post issues.

HOMEPAGE

       https://github.com/smxi/inxi

       https://smxi.org/docs/inxi.htm

AUTHOR AND CONTRIBUTORS TO CODE

       inxi is a fork of locsmif's very clever infobash script.

       Original  infobash  author  and copyright holder: Copyright (C) 2005-2007  Michiel de Boer
       aka locsmif

       inxi version: Copyright (C) 2008-18 Harald Hope

       This man page was originally created by Gordon Spencer (aka aus9)  and  is  maintained  by
       Harald Hope (aka h2 or TechAdmin).

       Initial  CPU  logic,  konversation  version  logic,  occasional maintenance fixes, and the
       initial xiin.py tool for /sys parsing (obsolete, but still very much appreciated  for  all
       the valuable debugger data it helped generate): Scott Rogers

       Further fixes (listed as known):

       Horst Tritremmel <hjt at sidux.com>

       Steven Barrett (aka: damentz) - USB audio patch; swap percent used patch.

       Jarett.Stevens - dmidecode -M patch for older systems with no /sys.

SPECIAL THANKS TO THE FOLLOWING

       The  nice  people  at irc.oftc.net channels #linux-smokers-club and #smxi, who  all really
       have to be considered to  be  co-developers  because  of  their  non-stop  enthusiasm  and
       willingness to provide real-time testing and debugging of inxi development.

       Siduction  forum  members,  who have helped get some features working by providing a large
       number of datasets that have revealed possible variations, particularly  for  the  RAM  -m
       option.

       AntiX  users  and admins, who have helped greatly with testing and debugging, particularly
       for the 3.0.0 release.

       ArcherSeven (Max), Brett Bohnenkamper (aka KittyKatt), and Iotaka, who  always  manage  to
       find  the  weirdest  or  most  extreme  hardware  and setups that help make inxi much more
       robust.

       For the vastly underrated skill of output error/glitch catching, Pete Haddow. His patience
       and  focus  in  going  through  inxi repeatedly to find errors and inconsistencies is much
       appreciated.

       All the inxi  package  maintainers,  distro  support  people,  forum  moderators,  and  in
       particular,  sys  admins  with their particular issues, which almost always help make inxi
       better, and any others who contribute ideas, suggestions, and patches.

       Without a wide range of diverse Linux kernel-based Free Desktop systems  to  test  on,  we
       could never have gotten inxi to be as reliable and solid as it's turning out to be.

       And  of course, a big thanks to locsmif, who figured out a lot of the core methods, logic,
       and tricks originally used in inxi Gawk/Bash.