def _mlsd2(ftp, path='.'):
    """
    Fall back to using `dir` instead of `mlsd` if not supported.

    This parses a Linux style `ls -l` response to `dir`, but the response may
    be platform dependent.

    Parameters
    ----------
    ftp: ftplib.FTP
    path: str
        Expects to be given path, but defaults to ".".
    """
    lines = []
    minfo = []
    ftp.dir(path, lines.append)
    for line in lines:
        line = line.split()
        this = line[-1], {'modify': ' '.join(line[5:8]), 'unix.owner': line
            [2], 'unix.group': line[3], 'unix.mode': line[0], 'size': line[4]}
        if 'd' == this[1]['unix.mode'][0]:
            this[1]['type'] = 'dir'
        else:
            this[1]['type'] = 'file'
        minfo.append(this)
    return minfo
