重新想象和设计你的文件和目录列表
使用两个 ls 程序： lsd 和 exa 来重新想象和设计你的文件和目录列表。Linux 中的 ls 命令是最常用的命令。此命令列出终端中的文件和目录。因此，如你所见，它非常流行，也许每个人都在使用。但该命令输出的信息量很大，有时用彩色的方式查看它们会更方便。例如，如果你以最基本的方式运行 ls 命令，它应该看起来有点像这样：这似乎有点乏味，不是吗？如果你可以对其进行一些样式设置，以便在看起来不错的同时变得更具可读性如何？以样式列出文件和目录lsd我想向你展示的第一个应用叫做 lsd，也就是 “LSDeluxe” 的缩写。它是对 GNU ls 命令的重写，具有列标题、各种项目的颜色、字体和图标支持等附加功能。这是安装后的样子：lsd -l --header 正如你所看到的，它看起来非常漂亮，用不同的颜色代码表示权限、文件类型和文件夹，甚至在文件名旁边添加图标。该应用充满了诸如树视图（见下文）之类的功能，它甚至可以在单个命令中为你提供文件夹内的文件列表：lsd -l --header --tree 你可以在其 官方 GitHub 页面 上了解有关其功能的更多信息。我相信你很兴奋。让我们看看如何安装它。你可以从 此处下载 用于 Ubuntu 和相关发行版的 deb 文件。之后，只需运行 dpkg 即可安装：sudo dpkg -i lsd_vvvv_amd64.deb 对于 Fedora Linux，使用以下命令:sudo dnf install lsd Arch Linux 用户可以使用以下命令获取它：pacman -S lsd 该应用也可用于其他发行版、macOS、BSD 和 Windows。对于这些说明，你可以 在此处找到它们。为了获得更好的体验，请将其与 带有 Oh My Zsh 的 Zsh shell 一起使用。exa下一个程序是 exa，类似于 lsd 但具有更多功能。exa 命令可以为你的 ls 输出着色，检测 Unix 系统中的各种文件类型、标题、树视图等更多功能。exa 是一个单一的二进制文件，占用的资源很小。以下是一些示例命令：exa -al exa -abghHliS exa -abghHliS --long --tree 你可以在 GitHub 上了解有关 exa 参数和选项的更多信息。exa 的安装很简单，只需要一个命令。对于 Ubuntu 和相关发行版，你可以使用以下命令安装它：sudo apt install exa 对于 Fedora 和 Arch Linux，分别使用以下命令：sudo dnf install exa pacman -S exa 同样，所有其他操作系统的安装说明都可以 在此处找到。从终端复制为 HTML一个有趣的技巧是，以上所有彩色列表都可以通过默认的 Ubuntu 终端复制为 HTML。你可以将它用于你的网页或文档。例如，我将上面的示例复制到 LibreOffice Writer 文档中。这是最好的功能之一，尽管它取决于终端程序而不是上面的程序。总结我解释了两个程序的内部工作 – lsd 和 exa 以样式列出文件和目录。我希望你能将它们用于不同的需求。如果你喜欢它们，或者如果你知道任何此类程序，请在评论栏中告诉我。via: https://www.debugpoint.com/list-files-directories-style/作者：Arindam 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
我敢打赌你使用过 Linux 上的 ls 命令，它是你 学习 Linux 时首次接触到的命令之一。这个简单的 ls 命令列出目录的内容十分方便，但是直到我发现 exa 之前从来没想过会有命令能替代它。exa 命令简介exa 是一个命令行工具，可以列出指定路径（如未指定则是当前目录）的目录和文件。这也许听起来很熟悉，因为这就是 ls 命令所做的事情。exa 被视作从 UNIX 旧时代延续至今的古老的 ls 命令的一个现代替代品。如其所声称的那样，它有比 ls 命令更多的功能、更好的默认行为。以下是一些你应该使用 exa 替代 ls 的原因：exa 像 ls 一样可移植（在所有主流 Linux 发行版、*BSD 和 macOS 上可用）默认彩色输出exa 不同格式化的“详细”输出也许会吸引 Linux/BSD 新手文件查询是并行进行的，这使得 exa 与 ls 的性能相当显示单个文件的 git 暂存或未暂存状态exa 的另外一个不同的地方是它是用 Rust 编写的。顺便说一句，Rust 与 C 语言的执行速度相近，但在编译时减少了内存错误，使你的软件可以快速而安全地执行。在 Linux 系统上安装 exaexa 最近很流行，因为许多发行版开始将其包括在其官方软件库中。也就是说，你应该可以使用你的 [发行版的包管理器] 来安装它。从 Ubuntu 20.10 开始，你可以使用 apt 命令来安装它：sudo apt install exa Arch Linux 已经有了它，你只需要 使用 pacman 命令 即可：sudo pacman -S exa 如果它无法通过你的包管理器安装，请不要担心。毕竟它是一个 Rust 包，你可以很容易地用 Cargo 安装它。请确保在你使用的任何发行版 或 Ubuntu 上安装了 Rust 和 Cargo。安装 Rust 和 Cargo 后，使用此命令安装 exa：cargo install exa 使用 exaexa 有很多命令选项，主要是为了更好的格式化输出和一些提高舒适度的改进，比如文件的 git 暂存或未暂存状态等等。下面是一些屏幕截图，展示了 exa 是如何在你的系统上工作的。简单地使用 exa 命令将产生类似于 ls 但带有颜色的输出。这种彩色的东西可能没有那么吸引人，因为像 Ubuntu 这样的发行版至少在桌面版本中已经提供了彩色的 ls 输出。不过，ls 命令本身默认没有彩色输出。exa 请注意，exa 和 ls 命令的选项不尽相同。例如，虽然 -l 选项在 exa 和 ls 中都给出了长列表，但 -h 选项添加了一个列标题，而不是 ls 的人类可读选项。exa -lh 我前面说过，exa 已经内置了 Git 集成。下面的屏幕截图给出了 –git 标志的演示。请注意 test_file 在 git 的 tracked 列中显示 -N ，因为它尚未添加到存储库中。exa --git -lh 下面的例子不是我的猫键入的。它是各种选项的组合。exa 有可供你尝试和探索的很多选项。exa -abghHliS 你可以通过在终端中运行以下命令来获取完整的选项列表：exa --help 但是，如果你想了解 exa 所提供的功能，可以查看其 Git 存储库 上的 官方文档。值得从 ls 切换到 exa 吗？对于类 UNIX 操作系统的新手来说，exa 可能是用户友好的，它牺牲了在脚本中容易使用的能力，以换取“易用性”和外观。其中，显示得更清楚并不是一件坏事。无论如何，ls 就像通用命令。你可以将 exa 用于个人用途，但在编写脚本时，请坚持使用 ls。当预期输出与任一命令中的实际输出不匹配时，ls 和 exa 之间一个 [或多个] 标志的差异可能会让你发疯。我想知道你对 exa 的看法。你已经尝试过了吗？你对它的体验如何？via: https://itsfoss.com/exa/作者：Pratham Patel 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
exa 是一个 Linux ls 命令的现代替代品。我们生活在一个繁忙的世界里，当我们需要查找文件和数据时，使用 ls 命令可以节省时间和精力。但如果不经过大量调整，默认的 ls 输出并不十分舒心。当有一个 exa 替代方案时，为什么要花时间眯着眼睛看黑白文字呢？exa 是一个常规 ls 命令的现代替代品，它让生活变得更轻松。这个工具是用 Rust 编写的，该语言以并行性和安全性而闻名。安装 exa要安装 exa，请运行：$ dnf install exa 探索 exa 的功能exa 改进了 ls 文件列表，它提供了更多的功能和更好的默认值。它使用颜色来区分文件类型和元数据。它能识别符号链接、扩展属性和 Git。而且它体积小、速度快，只有一个二进制文件。跟踪文件你可以使用 exa 来跟踪某个 Git 仓库中新增的文件。树形结构这是 exa 的基本树形结构。--level 的值决定了列表的深度，这里设置为 2。如果你想列出更多的子目录和文件，请增加 --level 的值。这个树包含了每个文件的很多元数据。配色方案默认情况下，exa 根据 内置的配色方案 来标识不同的文件类型。它不仅对文件和目录进行颜色编码，还对 Cargo.toml、CMakeLists.txt、Gruntfile.coffee、Gruntfile.js、Makefile 等多种文件类型进行颜色编码。扩展文件属性当你使用 exa 探索 xattrs（扩展的文件属性）时，--extended 会显示所有的 xattrs。符号链接exa 能识别符号链接，也能指出实际的文件。递归当你想递归当前目录下所有目录的列表时，exa 能进行递归。总结我相信 `exa 是最简单、最容易适应的工具之一。它帮助我跟踪了很多 Git 和 Maven 文件。它的颜色编码让我更容易在多个子目录中进行搜索，它还能帮助我了解当前的 xattrs。你是否已经用 exa 替换了 ls？请在评论中分享你的反馈。via: https://opensource.com/article/21/3/replace-ls-exa作者：Sudeshna Sur 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出