蚊章汇 - 终端
type: channel
link: https://linuxcn.bwsl.wang/tag/%E7%BB%88%E7%AB%AF/
items: 终端基础：在 Linux 中重命名文件和目录
items: Wave：即使你讨厌命令行，也会喜欢的现代新 Linux 终端
items: 终端基础：Linux 终端中的目录切换
items: 21 个专业 Linux 用户喜爱的实用终端快捷键
items: 终端基础：在 Linux 中复制文件和目录
items: Terminator：适用于 Linux 专业人员的平铺终端仿真器
items: 10 种漂亮的 Linux 终端字体
items: 大家最喜欢的 Linux 终端字体
items: 终端基础：在 Linux 中创建文件
items: 给你的终端一个复古的外观

终端基础：在 Linux 中重命名文件和目录
type: item
date: 2023-11-25T05:55:00+08:00
description: 在这篇基本命令行教程中，你将学习在 Linux 终端重命名文件和目录的各种方法。如何在 Linux 终端中重命名文件和目录？你可以使用 mv 命令。是的，与用于将文件和文件夹从一个位置“移动”到另一个位置的 mv 命令相同。你可以在“移动文件和目录”时简单地指定文件和目录的新名称。要重命名文件，请使用：mv old_file new_file 同样，要重命名目录，请使用：mv old_dir new_dir 听起来很容易，对吧？ 但我将在这里详细讨论文件重命名：向你展示重命名的实际示例显示通过结合 find 和 exec 命令批量重命名多个文件的示例讨论用于批量重命名文件的专用程序我们来一一看看。使用 mv 命令重命名文件和目录使用 mv 命令重命名同一目录中的文件：mv file1.txt file2.txt 同样，你可以重命名同一位置的目录：mv dir1 dir2 这是我重命名文件和目录的示例：如你所见，与 cp 命令 不同，你不必使用递归选项来通过 mv 命令 处理目录。? 如果你尝试使用相同的名称重命名该文件，你会看到一个错误（显然）。你还可以在将文件移动到另一个位置时重命名它：mv old-file-name another_dir/new-file-name 在下面的示例中，我将名为 firefox-quiz.txt 的文件移动到示例目录。在这样做的同时，我将其重命名为 quiz.txt。我将其视为剪切粘贴操作。? 虽然你可以将多个文件移动到另一个位置（mv file1 file2 file2 dir），但你不能使用 mv 重命名多个文件。为此，你必须采用我在以下部分中讨论的其他策略。通过组合 mv、find 和 exec 命令重命名与某个模式匹配的多个文件? 批量重命名此类文件时要格外小心。一步错误的举动就会导致无法挽回的不良结果。find 命令用于根据文件名、类型、修改时间和其他参数在给定目录中查找文件。exec 命令与 find 结合使用，对 find 命令的结果执行命令。使用 find、exec 和 mv 命令没有固定标准的结构。你可以根据需要组合它们。假设你想通过在名称中添加 _old 来重命名当前目录中以 .txt 结尾的所有文件。所以 file_1.txt 变成 file_1.txt_old 等等。find . -type f -name "*.txt" -exec mv {} {}_old ; 这只是一个示例，你的重命名要求可能会有所不同。另外，以上仅适用于不带空格的文件名。专业提示：在处理这样的批量操作时，你可以巧妙地使用 echo 命令来查看将执行什么操作，而不是实际执行它。如果看起来不错，那就采取实际行动吧。例如，首先查看哪些文件将被重命名：find . -type f -name "*.txt" -exec echo mv {} {}_old \; 如你所见，实际上没有重命名任何文件。但是，如果你在没有使用回显（echo）命令的情况下运行上述命令，你将看到将执行什么命令。如果你觉得没问题，请删除 echo 命令并继续进行实际的重命名。find . -type f -name "*.txt" -exec mv {} {}_old \; 我在 《Efficient Linux 命令行》一书中学到了这个技巧。一本充满了这样的小宝石的优秀书。难怪它已成为 我最喜欢的 Linux 书籍之一。使用 rename 命令轻松重命名多个文件有一个名为 rename 的便捷命令行程序，可用于根据给定的 Perl 正则表达式模式批量重命名文件。该实用程序不是 GNU 工具链的一部分，也不是预安装的。因此，你必须首先使用发行版的包管理器来安装它。对于 Debian/Ubuntu，命令为：sudo apt install rename 你可以通过以下方式使用它：rename [options] perl_regex [files] 选项有：-v : 详细模式-n ：无操作，显示将被重命名的文件，但不重命名它们-o : 不覆盖-f : 强制覆盖现有文件-s : 不重命名软链接，只重命名其目标现在，让我们采用你在上一节中看到的相同示例。将 *.txt 重命名为 .txt_old。rename 's/\.txt$/.txt_old/' ** 我不打算在这里解释正则表达式。** 表示查看所有子目录中的所有文件。正如你所看到的，它按预期工作。总结我希望你喜欢这个技巧，它可以帮助你学习在 Linux 命令行中执行基本任务。当然是针对那些想学习和使用命令行的人。桌面用户始终拥有用于此类任务的 GUI 工具。如果你对 Linux 命令完全陌生，本系列将对你有很大帮助。终端基础：Linux 终端入门如果你有疑问或建议，请告诉我。vi…

Wave：即使你讨厌命令行，也会喜欢的现代新 Linux 终端
type: item
date: 2023-11-25T00:42:00+08:00
description: 这是 Linux 终端的 VS Code，有可能在年轻一代编程者和 Linux 用户中流行起来。对于新的终端仿真器的想法，我并不总是怀着兴奋的心情。这里有 数不清的用于 Linux 的终端软件。从你的 Linux 发行版中自带的默认终端，到古老的经典版——“ 终结者 Terminator ”，或更 “现代化” 的基于 Rust 且支持硬件加速的那种，如 Rio。在这儿，可选择的软件绝对不匮乏。对我来说，为什么我需要关注另一个新的终端软件呢？然而，当我发现这款新的终端时，我觉得，它有着引人瞩目的潜力。让我来解释下为何我会这么说。对于一名经验丰富的 Linux 用户，终端只不过是执行工作的一种工具。真正的能量来源于命令以及如何运用它们。在这里，终端仿真器吸引人的一点是支持多窗口，这也可以通过熟练使用 CLI 工具，比如 screen 或 tmux 来实现。然而，对于一部分 Linux 用户，对他们来说，终端就是一个令人畏惧的地方。他们只会在绝对必要时以及再无他法的情况下才会使用它。就好像一个五岁的小孩夜里去洗手间。然而，对于后者类型的 Linux 用户来说，这个新终端应该会是一个他们觉得舒适的工具。看完它的特性后，你就会明白原因。Wave：为那些不习惯使用命令行的人设计的终端呃... 这似乎就是这些开发者的初衷。Wave 终端 主要是为了那些需要不时使用终端部署他们的项目或者调试应用的应用开发者们所打造。现代化的代码编辑器界面没错，这是一个终端，而不是代码编辑器。其界面设计类似于 VS Code，你可以把终端会话分组到工作区中。如果你的项目需要运行开发服务器、测试服务器和生产服务器，你可以把它们分组到一个工作区。不用学任何键盘快捷键就能编辑文件你可以直接编辑本地系统或远程机器上的文件。这里没有学习的难度。像常规的文本编辑器一样直接使用它即可。可以查看 Markdown，JSON 或图片你可以渲染 Markdown 的预览，美观地显示 JSON 文件或以表格形式显示 CSV 文件数据。你还可以查看图片。保持 SSH 连接持久化并保有通用历史另一个赞赏的功能就是 Wave 可以保持你的 SSH 连接持久化。不用担心因为闲置一个小时而从远程服务器断开连接。即使远程系统重启了，它也会自动为你重新连接。此外，你还可以得到合并的历史搜索的功能。不记得在哪个终端会话中运行了哪条命令？没关系。Wave 在这方面已经帮你考虑好了。? 保存并保持 SSH 连接持久化，把它们分组到工作区，并且在图形界面下编辑文件，这些都是一个开发者成为 Wave 终端粉丝的充足理由。我使用 Wave 终端的经历在使用它几个小时后，以下是我体验。当我首次启动它时，我看到了一个弹出窗口。它默认开启了遥测功能，这是一个典型的 VS Code 式的功能。好吧，我把它禁用了。下一个问题是服务条款。你必须接受它，但这个界面实际上没有提供阅读条款的途径。然而我可以在 他们的网站 上看到它。它是从 Basecamp 的开源政策 中引用过来的。我不明白这个条款的必要性，因为这个软件在 Apache 2.0 下是开源许可的。这只会让人困惑。无论如何，这就是第一次运行时的界面。如你所见，界面就像一个现代化的代码编辑器，它内含一个侧边栏可以让你将终端标签分组到工作区中。你可以为每个标签分配名称、图标和颜色。这在你需要连接到多个远程服务器时大有帮助。在这方面，你还可以像经典的 Putty 那样保存你的 SSH 连接。这样的话，你可以预设某个标签在启动时就开始特定的 SSH 连接。对我来说最大的问题（如果这可以被称为“问题”）是输入字段。这只是底部的一个小输入框。你在这输入命令，它显示输出信息，整个输入命令及其输出都被组成一个框，然后移到上方。我更习惯于经典的终端输入方式，从上开始输入，然后一行行向下移动（然后滚动）。而在这里，却恰恰相反。看，这是有意为之的。每条命令及其输出都是一个独立的框，一个独立的元素。你可以复制它、最小化它或从视图中将其存档。切片面包之后的最好东西Wave 终端最大的目标就是它让你不会感觉自己在终端里。对于在终端中编辑文件的初学者来说，这就是他们的阿喀琉斯之踵。即使是在终端中使用基础编辑器（比如 Nano），那也要有一段学习曲线。但是 Wave 不同。它内置了一个编辑器，你可以用 codeedit filename 命令调用，你就能像在图形文本编辑器中那样编辑文件。没错，你可以随意地使用你的鼠标。你还可以从编辑器菜单中选择文件类型。对于在终端中编辑配置文件感到提心吊胆的人来说，这绝对是个天赐福音。开发者经常需要处理 Markdown 和 JSON 文件。Wave 终端完全有能力渲染这些文件。SSH 的连接是永久的。再也不用厌烦地频繁从远程服务器上断开连接了。Wave 完美…

终端基础：Linux 终端中的目录切换
type: item
date: 2023-10-21T14:23:00+08:00
description: 本篇文章作为终端基础教程系列的一部分，介绍如何在 Linux 命令行中，利用绝对路径和相对路径实现目录切换。Linux 的 cd 命令让你可以轻松切换文件夹（即目录）。只需提供你要切换到的文件夹路径即可。cd path_to_directory 然而对于 Linux 新人来说，可能会在路径的指定上有所困扰。首先，让我们解决这个问题。理解 Linux 中的路径在 Linux 文件系统中，路径是用来追踪文件位置的信息。所有的路径都从根目录开始，然后向下延伸。你可以通过下面的方式查看当前所在的位置：pwd 结果可能是类似于 /home/username 的输出。注意，这里的 username 将会是你自己的用户名。你可以注意到，路径是由 / 符号和目录名组成的。比如路径 /home/abhishek/scripts， 表示 scripts 是在文件夹 abhishek 之内，而文件夹 abhishek 在 home 文件夹之内。要注意，第一个 '/' 是指根目录（即文件系统的开始处），后面的 '/' 则作为目录的分隔符。?️ 在终端中键入 ls /，然后按回车。你将会看到根目录下的所有内容，试试看！接下来，让我们学习两种常见的路径指定方式：绝对路径和相对路径。绝对路径：这种路径从根开始，然后一直扩展到你需要的位置。如果一个路径是以 / 开头，那就说明它是一个绝对路径。相对路径：这是相对于你文件系统中当前位置的路径。如果我当前位置在 /home/abhishek，并且我需要去 /home/abhishek/Documents， 我只需要简单地切换到 Documents，而不需要指定整个绝对路径 /home/abhishek/Documents。在我演示这两种路径的区别之前，有必要先熟悉两个特殊的目录标识：. （单点）表示当前目录。.. （双点）表示上一级目录，也就是当前目录的母目录。这里有一张图形化的表示。利用 cd 命令变更目录在你已对路径概念有所了解之后，我们来了解如何切换目录。?️ 如果你仅键入 cd 并按回车键，无论当前位置在哪，系统都会将你带回主目录。试一试吧。敲入以下命令，你就能看到主目录里的所有文件夹：ls 这是我看到的情况：abhishek@ituxedo:~$ ls Desktop Downloads Pictures Templates VirtualBoxVMs Documents Music Public Videos 你的情况可能与此类似，但未必完全一样。假如你希望跳转到 Documents 文件夹。由于它就在当前目录下，这里使用相对路径会比较方便：cd Documents ? 注意，大部分 Linux 发行版预设的终端模拟器会在提示符本身显示出当前所在的位置。因此你不必频繁使用 pwd 指令来确认自己的位置。假如你希望切换到位于主目录里的 Templates 文件夹。你可以使用相对路径 ../Templates（.. 会让你返回到上层目录，即 /home/username，然后你就可以进入 Templates 文件夹了）。但这次我们尝试使用绝对路径。请把下面的 abhishek 替换成你的用户名。cd /home/abhishek/Templates 此刻你已经在 Templates 文件夹里了。如何前往 Downloads 文件夹呢？这次我们再使用相对路径：cd ../Downloads 下面的图片会回顾一下你刚才学到的所有或有关目录切换的范例。? 别忘了你还可以使用终端的 tab 键自动补全功能。只需要键入命令或者文件夹名称的前几个字母，然后敲击 tab 键，系统就会尝试自动地补全命令或文件夹名称，或者给你显示出所有可能的选项。故障解决在 Linux 终端操作切换目录的过程中，你可能会遇到一些常见的错误。文件或目录不存在如果在你尝试切换目录时，出现类似下面的错误信息：bash: cd: directory\_name: No such file or directory那么你可能在路径或目录名称上犯了误解。这里有几点你需要注意的：请确定你输入的目录名中没有拼写错误。Linux 系统对大小写敏感，因此，Downloads 和 downloads 会被识别为不同的目录。你可能未正确指定路径。可能你所在的位置与你预期的不同？或者你遗漏了绝对路径中的开头的 / 字符？非目录错误如果你看到像下面这样的错误提示：bash: cd: filename: Not a directory这表示你尝试使用 cd 命令对一个文件进行操作，而不是一个目录（文件夹）。很明显，你不能像进入文件夹那样“进入”一个文件，因此会出现这样的错误。参数过多这是 Linux 新手常犯的另一个错误：bash: cd: too many argu…

21 个专业 Linux 用户喜爱的实用终端快捷键
type: item
date: 2023-09-26T23:40:55+08:00
description: 掌握这些极致实用的快捷键，让你的 Linux 终端操作效率大幅提升。学习 Linux 命令无疑是你的首要任务，但当你能熟练 运用命令行 之后，有另一样东西值得你去关注。那就是终端快捷键！如果你不知道如何利用它们提升终端会话的效率，那你就无法真正理解它们的重要性。在本教程中，我将为你详细讲解顶级的终端快捷键，并且举例说明它们的用法。在我逐一解释快捷键之前，先来看一下这个备忘录，它对我将在本教程中讨论的内容进行了概览：快捷键功能描述Ctrl + A光标快速跳至行首。Ctrl + E光标快速跳至行尾。Ctrl + U删除光标至行首的所有内容。Ctrl + K删除光标至行尾的所有内容。Ctrl + W删除光标前的一个单词。Ctrl + L清空整个终端屏幕。Ctrl + C停止正在执行的进程或命令。Ctrl + D注销或退出终端。Ctrl + Z暂停正在执行的进程（之后可恢复执行）。Ctrl + R在命令历史中进行逆向搜索。上箭头 ↑从命令历史中显示先前的命令。下箭头 ↓从命令历史中显示后续的命令。!!重复执行最近的命令。!n重复执行命令历史中的第 n 条命令。Tab自动补全命令，文件名或目录名。连续按 Tab 两次列出所有可能的补全选项。Ctrl + Shift + C复制所选文本或命令。Ctrl + Shift + V粘贴已复制的文本或命令。Ctrl + Shift + N打开新的终端窗口。Ctrl + Shift + T在当前终端中打开新的选项卡。Ctrl + Tab 或 Ctrl + PageDown在终端的选项卡之间切换。? 虽然我在这篇文章中用的是大写字母，但实际上我们不需要使用大写来输入它们。比如 Ctrl+A，意思是同时按下 Ctrl 键和 A 键，并不意味着需要同时按下 Shift 键和 a 键来输入大写的 A。接下来，我们更详细地看看这些快捷键如何使用。1、Ctrl + A：光标切换至行首当你在终端中按下 Ctrl + A 组合键，光标就会迅速跳到命令的起始处。这个功能在你需要修改一条长命令序列起始部分的时候十分实用。例如，在以下示例中，你可以看到无论光标处在何位置，只需按下 Ctrl + A，光标就会立刻跳转至行首：2、Ctrl + E：光标切换至行尾在使用终端的过程中，如果你想迅速跳到当前行的末尾，直接按下 Ctrl + E 组合键就可以了。在下面的示例中，我使用了一段样本文本，并按下 Ctrl + E 来快速移动到行尾：3、Ctrl + U：删除光标位置至行首的内容有些时候，你可能需要删除从光标位置到行首的所有内容。此时，你只需使用左箭头键将光标移动至你想要开始删除的位置，然后按下 Ctrl + U ：? 在输完 sudo 命令输入密码时，不确定是否输入正确？没必要用退格键一路删除，只需简单地使用 Ctrl+U 快捷键重新开始输入密码即可。4、Ctrl + K：从光标删除至行尾如你所猜想，当你按下 Ctrl + K ，它会移除光标至行尾的所有内容（光标位置右侧的所有）。使用这种快捷操作时，你先要把光标放在你想从那里开始删除的位置，然后按下 Ctrl + K，如下图展示的那样：5、Ctrl + W：删除光标前的一个词我日常常用该快捷键，因为我时常打错命令，需要删除命令的一部分，这个时候只需要简单地按 Ctrl + W 就可以了。当你按下 Ctrl + W 键时，它只会删除光标前的一个词：6、Ctrl + L：清理终端显示（或者理解为整理显示内容）按下 Ctrl + L 并不会彻底地 清空终端显示，但它可以整理显示内容。如果你向上滚动，你还能找到之前的命令和执行记录。它与 clear 命令有所不同。clear 命令会消除历史记录，而且你会在命令历史中找到 clear 命令的执行。但是当你按下 Ctrl + L 时，它只是整理当前屏幕的显示内容，并不会出现在历史记录中，因为它本身并不是一条命令。比如在这个示例中，我执行了历史命令，随后按下 Ctrl + L 键进行了屏幕清理：7、Ctrl + C：终止当前进程/执行有没有想要 停止进行中的命令，却不知所措，最后只好关闭终端呢？解决办法其实很简单，按下 Ctrl + C 就行了。当你按下这一组键时，它将发送 SIGINT 信号以终别过程。例如，在这里，我结束了正在执行的命令进程：最后，你会看到 ^C 符号，表示你按下了 Ctrl + C 来中止当前执行。但是，有些进程可能不会被 Ctrl + C 信号所中止，此时，你可以使用 Linux 中的其他 中止信号 来终止。如何在 Linux 中使用 SIGINT 和其它中止信号8、Ctrl + D：退出登录或者退出终端你总是可以使用 exit 命令来关闭 Shell 会话和终端。你也可以选择使用 Ctrl+D 快捷键。当你按 …

终端基础：在 Linux 中复制文件和目录
type: item
date: 2023-08-01T06:08:49+08:00
description: 在终端基础知识系列的这一部分中，学习如何在 Linux 中使用命令行复制文件和目录。复制文件是你经常执行的最基本但最重要的任务之一。Linux 有一个专门的 cp 命令用于复制文件和目录（文件夹）。在终端基础知识系列的这一部分中，你将学习在终端中复制文件和文件夹。? 回想一下，以下是你迄今为止在本终端基础知识系列中所学到的内容：更改目录创建新目录列出目录内容创建文件读取文件删除文件和目录让我们继续该系列的第七章。在 Linux 命令行中复制文件让我向你展示一些复制文件的示例。将文件复制到另一个目录要将一个文件复制到另一目录，你所要做的就是遵循给定的命令语法：cp 源文件 目标目录 例如，在这里，我将名为 Hello.txt 的文件复制到名为 Tux 的目录中：正如你所看到的，文件已成功复制到 Tux 目录中。复制文件但重命名你可以选择在复制文件时重命名该文件。只需为“目标文件”指定一个不同的名称即可。cp 源文件 改名的文件 作为参考，在这里，我将名为 Hello.txt 的文件复制到同一目录，并将其重命名为 Renamed_Hello.txt：为什么要这么做？ 比如说，你必须编辑配置文件。一个好的做法是在编辑配置文件之前在同一位置对其进行备份。这样，如果事情没有按计划进行，你可以恢复到旧配置。将多个文件复制到另一个位置要将多个文件复制到另一个目录，请按以下方式执行命令：cp File1 File2 File3 FileN Target_directory 在这里，我将多个文件复制到新位置。? 当你复制多个文件时，仅使用 cp 命令无法重命名它们。复制时处理重复文件默认情况下，如果目标目录中存在同名文件，cp 命令将覆盖该文件。为了避免覆盖，你可以在 cp 命令中使用 -n 选项，它不会覆盖现有文件：cp -n 源文件 目标目录 例如，在这里，我尝试复制目标目录中已有的两个文件，并使用 -v 选项来展示该命令正在执行的操作：cp -n -v itsFOSS.txt LHB.txt LU.txt ~/Tux 交互式复制文件但是，当你想要覆盖某些文件，而某些文件应该保持不变时该怎么办？好吧，你可以使用 -i 选项在交互模式下使用 cp 命令，它每次都会询问你是否应该覆盖该文件：cp -i 源文件 目标目录 ?️ 自己练习上述所有示例。你已经了解如何创建文件和文件夹，因此请重新创建所有内容。在 Linux 命令行中复制目录mkdir 命令用于创建新目录，rmdir 命令用于删除（空）目录。但没有用于复制目录的 cpdir 命令。你必须使用相同的 cp 命令，但使用递归选项 -r 将目录及其所有内容复制到另一个位置：cp -r 源目录 目标目录 例如，在这里，我将名为 IF 的目录复制到 LHB：但它复制了整个目录。?那么，当你只想复制目录内容而不是目录本身时该怎么办？你可以执行以下操作：仅复制目录的内容（不是目录）要仅复制目录的内容，而不复制目录本身，请在源目录名称的末尾附加 /.：cp -r 源目录/. 目标目录 在这里，我想复制名为 IF 的目录的内容，其中包含以下三个文件：我将执行以下命令将 IF 目录的文件内容复制到 LHB：cp -r IF/. LHB 你还可以在此处使用 源目录/* 。复制多个目录要复制多个目录，你必须按以下方式执行命令：cp -r 目录1 目录2 目录3 目录N 目标目录 例如，在这里，我将两个名为 IF 和 LU 的目录复制到 LHB：cp -r IF LU ~/LHB 当你想要从多个目录复制文件但不复制目录本身时，你可以执行相同的操作：cp -r 目录1/. 目录2/. 目录3/. 目录N/. 目标目录 ?️ 你还可以像重命名文件一样重命名目录。测试你的知识现在，让我们看看你对到目前为止所学到的知识还记得多少。创建一个名为 copy_practice 的目录。将文件 /etc/services 复制到这个新创建的文件夹。在此目录下创建一个名为 secrets 的文件夹，并将文件 /etc/passwd 和 /etc/services 复制到其中。将 copy_practice 中的 services 文件复制到 secrets 文件夹中，但不要覆盖它。将 secrets 文件夹复制到你的主目录。删除 secrets 和 copy_practice 目录。这会给你一些练习。到目前为止进展顺利。你已经学到了很多东西。在下一章中，你将了解如何使用 mv 命令移动文件和文件夹。via: https://itsfoss.com/copy-files-directory-linux/作者：Sagar Sharma 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉…

Terminator：适用于 Linux 专业人员的平铺终端仿真器
type: item
date: 2023-07-17T01:02:28+08:00
description: 你可能已经看到一些同事或 UP 主们在一个终端窗口中运行多个终端会话。一些专业的 Linux 用户会使用 screen 或 tmux 命令 来分割多个窗格。这些命令可以在任何终端应用程序中使用，但需要较大的学习曲线。如果你想要在同一应用窗口中拥有多个终端会话而不涉及 tmux 或 screen 命令 的复杂性，“终结者” 是你的好帮手。不，我指的不是那个“终结者”。是这个 ?你的系统上安装的 终端仿真器 可能具有多标签支持。而 Terminator 支持多个可调整大小的终端面板。它模拟了类似平铺窗口管理器的功能，并将终端面板平铺在单个窗口中。在本文中，我将向你展示如何在 Ubuntu 和其他 Linux 发行版中安装和使用 Terminator。但在此之前，让我们快速了解一下 Terminator 提供的功能。Terminator 可在同一窗口中提供多个终端会话Terminator 是一个基于 GNOME 终端的 GTK 应用程序，使用了 VTE3（GTK3 虚拟终端仿真器小部件）。作为一个基于 GNOME 终端的应用程序，它与 GNOME 桌面环境相关联，因此有一些依赖性。然而，即使有 GNOME 的依赖性，我发现该应用程序相对轻巧。可能在其他桌面环境中使用它不会成为问题。从外表上看，Terminator 可能与其他终端仿真器相似。但是，Terminator 具有无限可能性，我将在后面的章节中向你展示它们。功能特点让我总结一下 Terminator 的一些主要功能：平铺布局的终端支持多个标签页拖拽终端面板（出色的鼠标支持）类似于平铺窗口管理器的键盘快捷键可以保存布局和配置文件，以便快速启动通过插件可扩展功能安装 Terminator安装 Terminator 就像安装其它软件包一样简单，因为它在你能想到的所有主流发行版的官方软件源中都可用。为了方便起见，我在下面列出了一些主要发行版的命令。对于基于 Ubuntu 和 Debian 的发行版，请执行以下命令安装 Terminator：sudo apt install terminator 对于基于 Fedora 和红帽的发行版，请使用以下命令：sudo dnf install terminator 对于基于 Arch 和 Manjaro 的发行版，请执行以下命令更新并安装 Terminator：sudo pacman -Syu terminator 注意：某些长期支持版本的发行版软件源中可能没有最新版本的 Terminator。你还可以使用发行版提供的图形包管理器来安装 Terminator。但是，通过图形界面安装终端仿真器是无趣的。使用 Terminator当你启动 Terminator 时，默认窗口看起来就像一个简单的终端窗口。但是，经过一些耐心，它可以在一个窗口内像平铺窗口管理器一样工作。Terminator 允许你使用鼠标通过水平和垂直分割来创建新的面板。然而，使用键盘快捷键会更快。你需要一些时间来适应这些键，但最终你会掌握它们的。在这里，我在第一个面板中打开了 htop，如下图所示。要在右侧创建一个新的终端面板，只需按下 Ctrl + Shift + e 快捷键。其次，我在右侧面板中使用了 neofetch，如下图所示。最后，我使用 Ctrl + Shift + o 快捷键在带有 neofetch 的面板下方创建了另一个面板，并在此处启动了 cmatrix。这是其中一个无用但 有趣的 Linux 命令。上面是在本指导中完成的操作的最终屏幕截图。现在你明白我为什么说 Terminator 在一个窗口中创建了类似平铺窗口管理器的环境了吧。如果你需要在不安装平铺窗口管理器的情况下打开多个终端，这种平铺功能将非常方便。Terminator 也支持标签页，但我认为平铺功能是该应用程序的特点。Terminator 是少数几个配有出色文档的应用程序之一。如果你需要更多信息，请参阅其 文档。结论我相信所有终端仿真器都支持标签页界面。但是，当你需要同时关注多个会话时，必须在标签之间切换并不方便。Terminator 可能不像 Blackbox 或 GNOME Console 那样好看。但它拥有老练的 Linux 用户喜爱的功能。它提供的功能可能并不是每个 Linux 用户都需要或想要的。我将把决定权交给你，你来决定它是否值得你投入时间。（题图：MJ/0b403aa1-810a-4f9f-9e52-1d42d8fe2b6a）via: https://itsfoss.com/terminator/作者：Anuj Sharma 选题：lkxed 译者：ChatGPT 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

10 种漂亮的 Linux 终端字体
type: item
date: 2023-05-16T02:25:04+08:00
description: 为你的终端安装最好的字体，以改善外观和可读性，并让你的终端体验变得有趣。选择完美的字体对很多事情都至关重要，无论你是程序员、系统管理员，还是喜欢终端的 Linux 用户。更改终端字体 可帮助你实现以下目标：美观的终端外观增强可读性减少眼睛疲劳听起来不错。但是如何选择完美的字体呢？这里有成百上千种选择。对于初学者，你可以选择 针对技术文档或编码优化的字体，因为它们具有良好的可读性。接下来，你可以筛选出 FOSS 项目（如果这对你很重要）并检查这些 字体是否可以在高分辨率显示器上很好地缩放（根据你的需求）。不要担心，为了让你有一个良好的开端，我们选择了一些最适合编码的字体，提供良好的可读性，同时看起来也不错。1、CascadiaCascadia 是微软提供的一种字体，默认用于 最好的开源编辑器 之一 VSCode。它包括编码连字支持，并提供三种变体：标准、等宽和支持嵌入式 PowerLine 符号的版本。2、Fira CodeFira Code 是一种等宽字体，具有编码连字和 ASCII 支持。它会定期进行微调以支持字母对和更好的标点符号输出。3、HackHack 是另一种为源代码量身定制的等宽字体。你可以获得 ASCII、PowerLine 支持以及粗体、斜体和粗斜体等常用样式。如果你注意到它的 GitHub 页面，它们为某些 Linux 发行版提供了改进字体渲染的说明。4、InconsolataInconsolata 是一种清晰的等宽字体，具有出色的可读性。它是谷歌字体系列之一。对于 终端仿真器 和编码用途，该字体提供了几种有用的样式。5、IosevkaIosevka 是一种外观简洁的多功能开源字体，用于编写代码并在终端和技术文档中使用。你可以从它的 GitHub 页面获取其他平台（包括 Linux）的安装说明。6、JetBrains MonoJetBrains Mono 是专为开发人员量身定制的自由开源字体。顾名思义，它是流行的开发者工具 JetBrains 使用的默认字体。7、Meslo NFMeslo NF 是一种可以在终端中很好地支持 ASCII 和图标的字体。作为 GitHub 上 Nerd Fonts 集的一部分，它提供了用于编码和终端的漂亮字体。你可以在它的 GitHub 发布页 的资源列表中找到该字体。它在 Zsh、Fish 和其他 Shell 中看起来很棒。8、MonoidMonoid 是另一种旨在用于编码的开源字体。有通常的连字支持和深色浅色变体，它应该是终端的不错选择。9、Ubuntu Monospace我们都喜欢 Ubuntu 的默认字体 Ubuntu Monospace。它针对多种语言、高分辨率屏幕和良好的可读性进行了优化。如果你已经使用 Ubuntu，则无需单独安装它。10、SourceCode ProSource Code Pro 很好地融合了一切需求。虽然它针对编码环境进行了优化，并由 Adobe 开发，但它也为终端提供了具体良好可读性和美观性。如何安装这些字体？你可以通过下载 TTF 或 OTF 文件轻松安装字体，然后双击它们以使用字体查看器打开它进行安装。要同时安装多种字体，你可以在主目录中新建一个 .fonts 文件夹，并将字体文件放在那里。你可以查看我们关于 安装新字体 的指南，了解更多详细信息。更多自定义终端的方法这里有一些自定义终端外观的 方法。还有一个有趣的 工具，可以根据你的桌面墙纸自动更改终端的配色方案。多么酷啊！? 名单上你最喜欢的是什么？你使用什么终端字体？（题图：MJ/e5ae0ee3-9ea2-4136-a000-8fe681480356）via: https://itsfoss.com/fonts-linux-terminal/作者：Ankush Das 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

大家最喜欢的 Linux 终端字体
type: item
date: 2023-04-13T00:22:00+08:00
description: 这是一个完全主观的列表，为你的 Linux 控制台提供一些有趣的字体建议。最近，终端模拟器成为我的一个话题，它让我思考：大家最喜欢的终端字体是什么？因此，我请贡献者分享了他们喜欢使用的字体。以下是他们的答案。VT323我喜欢在我的 GNOME 终端中使用一个不一样的字体（VT323），而不是在我的编程时用的编辑器或其他使用等宽字体的应用程序中使用的字体（Source Code Pro）。我就是喜欢经典的 VT 风格字体的外观。有时，我会切换到原始的 IBM EGA 字体，因为在我眼里它看起来真的很漂亮。但是我把 EGA 和 DOS 联系在一起，把 VT323 和经典的 Unix 终端联系在一起，所以我大部分时间都用 VT323。下面是我使用 VT323 作为等宽字体的 GNOME 终端的屏幕截图：我设置终端使用 24pt 大小的 VT323 字体，使得终端界面呈现一个舒适的大窗口。如果我要打开一个终端窗口，我其实是想使用它来些实实在在的工作，而不是敲两下就退出。我可能会在那个终端窗口呆一段时间，所以它应该很大，很容易看到。我也更喜欢 80x25 布局（每行 80 个字符，共 25 行），因为我是一个老式 DOS 命令行玩家，25 行在我看来才是 “正确的” 行数：—— Jim Hall等宽的字体我不觉得我会只使用一个特定的字体。我通常使用 DejaVu 或 Liberation。我喜欢等宽字体，因为它们更容易阅读。不过，我也不希望字母靠得太近。更重要的是，要能够区分数字 1 和小写的 L、数字 O 和大小的字母 Q 等等。另外，让所有特殊字符都能特别清楚地显示出来也很好。我也喜欢让字体和背景之间呈现高对比度，所以我将背景设置为黑色，字符设置为白色。—— Greg PittmanHack我喜欢使用等宽字体，特别是在终端和代码编辑器中，因为它们更容易阅读。我使用 Hack 系列字体已经很多年了。它提供了一个很好的等宽字体，并提供了额外的字形和 Powerline 支持，我可以用它们在命令行上提供一些状态信息。这是用 Fontpreview tool 工具生成的字体预览。—— Ricardo GerardiVictor Mono我在终端和 IDE 中使用 Victor Mono 已经好几年了。斜体的等宽手写体可能不是一开始就会喜欢上的，我喜欢这样，因为这让代码注释的外观很独特，与代码的其余部分明显不同。下面是它在终端中的样子：我在 IDE 和终端使用了 Solarized Dark 配色方案。如果可以的话，任何与工作或代码相关的东西都会使用相同的配色方案和相同的字体，所以一切看起来都很统一。这些年来，我使用了各种字体，但我总是试图在我的终端中使用与 IDE 中相同的字体。—— Chris ReynoldsMonaco目前，我用 16pt 大小的 Monaco 常规字形。（要比 12pt 或是 14pt 大小好多了。）—— Jenny Panighetti用粉红色来装点这让我想起了有一次我恶作剧把团队里的其他开发者的终端都改成了粉红色（我是里面唯一的女性），一个婴儿粉的背景与深粉红色的文字的搭配。我喜欢把我的个人终端弄得漂漂亮亮的，但在工作中，我会用黑底白字，并把字体弄成 16pt 左右，因为我喜欢较大的字体尺寸。我总是把我的终端设置为 SF Mono 字体，但我把它加粗，并增大了一点，以便我可以更好地看到它。我最喜欢的颜色是粉红色或漂亮的水蓝色。我也喜欢终端的默认风格，它叫做 “Novel”。—— RachieVee万事不决，问 ChatGPT对于这个问题，我决定问问 ChatGPT。以下是它的回答：作为一个语言模型，我没有个人偏好，也没有能力拥有一种最喜欢的字体。但是，有一些流行的终端字体，包括 Monospace、Consolas 和 Inconsolata。这些字体很受欢迎，因为它们易于阅读，不同字符之间有明显的区别，即使在字体大小比较小的情况下也非常清晰。此外，它们被设计为适配在各种不同的操作系统和终端中得到更好的呈现，使它们成为开发人员和用户的通用选择。我部分使用 GPT-3 生成了这段文字，GPT-3 是 OpenAI 的大规模语言生成模型。在生成草稿后，作者可以根据自己的喜好审查、编辑和修改，以符合个人的喜好，并对最终发布的内容承担最终责任。—— Stephanie BrinleyFantasque Sans Mono$ grep font ~/.Xdefaults URxvt*font: xft:FantasqueSansMono-Regular:pixelsize=12:antialias=true 我不记得我是什么时候开始使用 Fantasque Sans Mono 的，但我想这是我过去 8 年来的默认选择，无论…

终端基础：在 Linux 中创建文件
type: item
date: 2023-03-21T00:11:07+08:00
description: 到目前为止，在这个终端基础系列中，你已经学会了：更改目录创建新目录列出目录内容现在让我们学习如何在 Linux 命令行中创建文件。我将简要讨论向文件添加内容。但是，稍后将介绍有关编辑文本文件的详细信息。使用 touch 命令创建一个新的空文件使用 touch 命令非常简单。touch filename 切换到你的主目录并创建一个名为 practice_files 的新目录，然后切换到该目录：mkdir practice_files && cd practice_files ? && 是一种组合两个命令的方法。只有当第一个命令执行成功时，第二个命令才会运行。现在，创建一个名为 new_file 的新文件：touch new_file 就是这样。你刚刚创建了一个新的空文件。列出目录内容并使用 ls -l 命令检查文件的属性。? touch 命令的最初目的是“触摸”文件并更改其时间戳。如果提供的文件不存在，它会创建一个具有该名称的新文件。使用 echo 命令创建一个新文件很久以前我就应该向你介绍 echo 命令。迟到总比不到好。echo 命令显示你提供给它的任何内容。因此得名“回声”。echo Hello World 你可以使用重定向并将输出路由到文件。因此在此过程中创建一个新文件：echo "Hello World" >> other_new_file 这样，你将创建一个名为 other_new_file 的新文件，其中包含文本 Hello World。请记住，如果提供的文件已经存在，使用 >> 重定向，你将向文件添加一个新行。你也可以使用 > 重定向，但它会替换文件的现有内容。更多关于重定向的信息可以在下面的教程中找到。解释：Linux 中的输入、输出和错误重定向使用 cat 命令创建新文件cat 命令的最初目的是连接文件。但是，它主要用于显示文件的内容。它还可以使用选项创建新文件并添加内容。为此，你可以使用相同的 > 和 >> 重定向。cat >> another_file 但是这个将创建一个新文件并允许你向其中添加一些文本。添加文本是可选的。你可以使用 Ctrl+d 键退出 cat 输入模式。同样，附加模式 >> 在文件内容的末尾添加新文本，而覆盖模式 > 用新内容替换现有内容。?️ 使用 ls -l 长列表显示并注意时间戳。现在 touch 文件：touch other_new_file 你看到时间戳的区别了吗？测试你的知识你已经了解了如何创建新文件。这里有一些简单的练习来练习你刚刚学到的东西。它也包括前几章的一些内容。使用 touch 命令创建三个新文件，分别命名为 file1、file2 和 file3。提示：你不需要运行 touch 三次。创建一个名为 files 的目录，并在其中创建一个名为 my_file 的文件。使用 cat 命令创建一个名为 your_file 的文件，并在其中添加以下文本 “This is your file”。使用 echo 命令将新行 “This is our file” 添加到 your_file。以相反的时间顺序显示所有文件（请参阅第 3 篇）。现在使用 touch 命令修改 file2 和 file3 的时间戳。现在再次按时间倒序显示内容。这很有趣。你正在取得很好的进步。你已在本章中学会了创建新文件。接下来，你将学习如何查看文件的内容。via: https://itsfoss.com/create-files/作者：Abhishek Prakash 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

给你的终端一个复古的外观
type: item
date: 2023-01-30T23:42:54+08:00
description: 想让你的终端有一个复古的外观？本指南将帮助你在 Linux 发行版中安装 Cool Retro Terminal 应用程序。你有没有想过如何在你的 Linux 终端中模仿那些老式 CRT 显示器的外观？那些 CRT 屏幕有自己的粉丝。如果你把苹果 2 或 IBM 3278 终端之类与今天的 4K 显示器显示相比较，它们的外观真的很酷。我并不是说 4K 显示器不好，但有时传统的显示器会让我们想起那些过去的日子。闲话少说。让我们开始安装这个应用程序。Cool Retro Terminal该应用程序是自由开源的。它被称为 cool-retro-term。它是轻量级的，有许多自定义选项，有预先设置的配置文件，如 Apple 2 等。它还能在你的终端中提供那些静态噪音和扫描线效果。很酷，不是吗？它是用 Qt 构建的，需要 Qt 5.2 或更高版本。如果你使用的是最新的 Linux 发行版，在依赖性方面你应该没问题。如何下载和安装 Cool Retro TerminalUbuntu、Linux Mint 和其他基于 Debian 的发行版：使用下面的简单命令在你的 Ubuntu 和其他相关发行版中安装这个应用程序：sudo apt install cool-retro-term Arch Linux：这个软件包在 Arch 用户仓库（AUR）中可用。如果你没有启用 AUR，请使用 本指南 启用它，然后使用以下命令来安装它：pacman -S cool-retro-term Fedora、RHEL 和其他相关发行版：对于 Fedora 和其他相关的 Linux，使用下面的命令来安装这个应用程序：sudo dnf install cool-retro-term Appimage：也有一个 AppImage 格式的独立的可执行程序，你可以直接下载并运行。不需要安装。按照下面的命令来做：wget https://github.com/Swordfish90/cool-retro-term/releases/download/1.1.1/Cool-Retro-Term-1.1.1-x86_64.AppImage chmod a+x Cool-Retro-Term-1.1.1-x86_64.AppImage ./Cool-Retro-Term-1.1.1-x86_64.AppImage 注意：在 GitHub 中，没有 1.2.0 以后的版本的 AppImage 构建版。配置安装完成后，你可以在应用程序菜单中找到终端应用程序 “Cool Retro Term”。那么，启动该应用程序并享受其中吧。请记住，这覆盖你的 Linux 发行版中的默认控制台/终端应用程序。它是一个独立的控制台应用程序。配置选项可以通过右键菜单访问。上下文菜单给你提供了以下预设。然后你可以通过设置窗口对它们中的每一个进行颜色和外观设置的配置。例如，如果你想要更多的透明度、对比度或更多的噪音、环境光或闪烁。所有这些都可以从下面的设置窗口通过几个选项进行配置。而且，你可以轻松地制作你自己的主题。总结Cool Retro Terminal 是一个用于 Linux 桌面的老式显示管终端，它可以让你体验到如同坐在复古终端前的感觉。你可能喜欢，也可能不喜欢，而且人们几乎不把它作为日常使用。但它仍然是一个漂亮的终端，可以时不时地体验一下，以摆脱平凡的终端。你喜欢复古的外观吗？你最喜欢的主题是什么？请在下面的评论区告诉我。via: https://www.debugpoint.com/cool-retro-terminal/作者：Arindam 选题：lkxed 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出