docs: def main(argv=None):
      """
      Entry point for the command line tool 'ufs'.
  
      Takes the args and processes them as per the documentation. :-)
  
      Exceptions are caught and printed for the user.
      """
      if not argv:
          argv = sys.argv[1:]
      try:
          global COMMAND_LINE_FLAG
          COMMAND_LINE_FLAG = True
          parser = argparse.ArgumentParser(description=_HELP_TEXT)
          parser.add_argument('command', nargs='?', default=None,
                              help="One of 'ls', 'rm', 'put' or 'get'.")
          parser.add_argument('path', nargs='?', default=None,
                              help="Use when a file needs referencing.")
          parser.add_argument('target', nargs='?', default=None,
                              help="Use to specify a target filename.")
          args = parser.parse_args(argv)
          if args.command == 'ls':
              list_of_files = ls()
              if list_of_files:
                  print(' '.join(list_of_files))
          elif args.command == 'rm':
              if args.path:
                  rm(args.path)
              else:
                  print('rm: missing filename. (e.g. "ufs rm foo.txt")')
          elif args.command == 'put':
              if args.path:
                  put(args.path, args.target)
              else:
                  print('put: missing filename. (e.g. "ufs put foo.txt")')
          elif args.command == 'get':
              if args.path:
                  get(args.path, args.target)
              else:
                  print('get: missing filename. (e.g. "ufs get foo.txt")')
          else:
              # Display some help.
              parser.print_help()
      except Exception as ex:
          # The exception of no return. Print exception information.
          print(ex)