2021年12月

学习如何在 FreeDOS 中对目录和文件执行创建、移除、复制等任务。

 title=

DOS 的开源实现 FreeDOS 提供了一个轻量级的操作系统,可以在现代硬件(或模拟器)上用于运行历史遗留下来的应用程序,可以更新硬件供应商不兼容于 Linux 的固件闪存。熟悉 FreeDOS 不仅是一种对旧计算机时代的有趣考古,也是一种获取有用的计算机技能的投入。在这篇文章中,我将介绍一些在 FreeDOS 系统上工作所需要知道的基本命令。

基本的命令和文件命令

FreeDOS 在硬盘驱动器上使用目录来组织文件。这意味着你需要使用目录命令来创建一个结构,用于存储和查找你在其中存储的文件。你所需要的用于管理目录结构的命令有:

  • MD (或 MKDIR) 创建一个新的目录或子目录。
  • RD (或 RMDIR) 移除(删除) 一个目录或子目录。
  • CD (或 CHDIR) 从当前工作目录更改到另一个命令。
  • DELTREE 删除一个目录,包括其包含的任意文件或子目录。
  • DIR 列出当前工作目录的内容。

因为使用目录是 FreeDOS 的主要工作,所有的这些命令(除 DELTREE 以外)是包含在 COMMAND.COM 中的内部命令。因此,它们将被加载到内存之中,并在你启动(即使是从启动盘启动)时随时可用。前三个命令有两个版本:一个版本是两个字母的短名,一个版本是长名。在实践中没有区别,因此,我将在这篇文章中使用短名。

使用 MD 创建一个目录

FreeDOS 的 MD 命令会创建一个新的目录或子目录。(实际上,由于 \ 是根目录,从技术上讲,所有的目录都是子目录,因此,我更喜欢在所有的示例中使用“子目录”的说法)。有一个可选的参数是你所想要创建目录的路径,但是如果不包含路径,将在当前工作子目录中创建子目录。

例如,为在你的当前位置创建一个名称为 letters 的子目录:

C:\HOME\>MD LETTERS

这会创建子目录 C:\letters

通过包含一个路径,你可以在任意位置创建一个子目录:

C:\>MD C:\HOME\LETTERS\LOVE

这和先移动到 C:\HOME\LETTERS ,然后在其中创建一个子目录的结果相同:

C:\CD HOME\LETTERS
C:\HOME\LETTERS\>MD LOVE
C:\HOME\LETTERS\>DIR
LOVE

一个路径描述不能超过 63 个字符,包括反斜杠在内。

使用 RD 移除一个目录

FreeDOS 的 RD 命令会移除一个子目录。这个子目录必须是空的。如果它包含文件或其它是子目录,你将会得到错误信息。它也有一个可选的路径参数,语法与 MD 的相同。

你不能移除你的当前工作子目录。为移除此目录,你必须 CD 到其父目录,然后再移除不需要的子目录。

使用 DELTREE 删除文件和目录

RD 命令可能会让人有点迷糊,因为在该命令中内置了保护 FreeDOS 的措施。例如,你不能删除一个包含内容的子目录是一种安全措施。DELTREE 就是解决方案。

DELTREE 命令会删除整个子目录“树”(子目录)、其包含的所有的文件,以及其包含的所有的子目录及其包含的所有的文件等等,上述的一切都在一个简单的命令中完成。有时,它可能有点 容易了,因为它可以如此快速地擦除数据。它是忽略文件属性的,因此你可以擦除隐藏、只读,和未知的系统文件。

你甚至可以在命令中具体指定多个目录树来擦除它们。这条命令将在一个命令中擦除这两个目录中的所有子目录:

C:\>DELTREE C:\FOO C:\BAR

这是那些使用前需要三思的命令中的其中一个。毫无疑问,它自然有其价值。我仍然对转到每个子目录,删除个别文件,检查每个子目录的内容,一次删除一个子目录, 然后再跳转到上一层目录,重复上述过程的乏味而记忆犹新。DELTREE 在你需要时是非常省时。但是我从不会将其用于日常维护,因为一此失误都能造成重大的损失。

格式化一个硬盘驱动器

FORMAT 命令也可以用于准备一个空白的硬盘驱动器来将文件写入其中。这将格式化 D: 驱动器:

C:\>FORMAT D:

复制文件

COPY 命令,顾名思义,将文件从一个位置复制到另一个位置。所需要的参数是:将要被复制的文件、要将其复制到的路径和文件。开关选项包含:

  • /Y 当一个文件要被覆盖时,避免出现提示。
  • /-Y 当一个文件要被覆盖时,需要出现提示。
  • /V 验证副本的内容。

这将从 C: 上的工作目录中复制文件 MYFILE.TXTD: 驱动器的根目录,并将其重命名为 EXAMPLE.TXT

C:\>COPY MYFILE.TXT D:\EXAMPLE.TXT

这将从 C: 上的工作目录中复制文件 EXAMPLE.TXTC:\DOCS\ 目录,接下来验证文件的内容来确保副本是完整的:

C:\>COPY EXAMPLE.TXT C:\DOCS\EXAMPLE.TXT /V

你也可以使用 COPY 命名来合并和追加文件。这个命令将合并两个文件 MYFILE1.TXTMYFILE2.TXT ,并将其放置到一个新的名称为 MYFILE3.TXT 的文件之中:

C:\>COPY MYFILE1.TXT+MYFILE2.TXT MYFILE3.TXT

使用 XCOPY 复制目录

XCOPY 命令将复制整个目录以及它们的所有的子目录和这些子目录中包含的所有的文件。参数是将要复制的文件和其路径,以及将要复制到的目的地。重要的开关选项是:

  • /S 复制当前目录及其子目录中的所有文件。
  • /E 复制子目录,即使它们是空的。这个选项必须和 /S 一起使用。
  • /V 验证其所制作的副本。

这是一个非常强大和有用的命令,尤其是用于备份目录或整个硬盘驱动器。

这个命令将复制目录 C:\DOCS 的全部内容,包括所有的子目录及其内容(除了空的子目录以外),并将其放置到驱动器 D: 的目录 D:\BACKUP\DOCS\ 之中:

C:\>XCOPY C:\DOCS D:\BACKUP\DOCS\ /S

使用 FreeDOS

FreeDOS 是一个有趣的、轻量的、开源的操作系统。不管你正在使用它来更新你的主板的固件,还是给予旧计算机新生,它都能提供很多有用的实用程序,可以使你能够很好地使用它工作。学习 FreeDOS 的基本知识。你都可能会被它的多才多艺所惊讶。


via: https://opensource.com/article/21/4/freedos-commands

作者:Kevin O'Brien 选题:lujun9972 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

安卓游戏将于 2022 年登陆 Windows

谷歌周四 宣布 了一个独立的 Google Play 游戏启动程序,可以让玩家在 Windows PC 上玩安卓游戏。不仅如此,它还允许玩家在一台设备上关闭游戏,并在另一台设备上接着玩。这意味着你可以在 Chromebook、Windows PC 和安卓手机之间切换,而不会丢失保存的数据。该应用程序由谷歌构建和发布,它在你的系统上本地运行游戏,而不需要云流化。目前谷歌还没有披露更多信息,但是计划在 2022 年发布。

老王点评:在 Windows 上运行安卓应用并不稀奇,不过能做到多平台切换是不错。

微软借助深度学习查找并修复错误

微软在一篇 博客 中介绍了他们新开发的 BugLabs,用于发现代码中的错误,帮助开发者更精准、高效地调试其应用程序。这个系统创建了两个生成对抗网络(GAN),其中一个旨在将小错误引入代码,另一个则旨在发现这些错误。随着深度学习训练的持续推进,AI 的能力也变得愈加完善,最终成为了我们看到的这个特别擅长识别“隐藏在真是代码中的 bug”的人工智能。它能够自动找到并修复大约 26% 的错误,且其中包括了 19 个此前未知的在真实开源的 GitHub 代码中的错误。不过,现阶段该 AI 仍存在许多误报。

老王点评:以后你的 IDE 就不仅仅是给你提示语法错误了,还可以给你提示 bug。

Edge 浏览器提供防止打错网址而被钓鱼的功能

在 Edge 的“超级安全模式”中,可以防止用户因 输入错误的网址 而进入恶意网站。通常这种域名错误会导致不能显示要访问的网站,有时候也会被 ISP 或浏览器“劫持”而导向到广告网站。恶意行为者则会预先购买这种容易打错的网站域名,并制作相似的网站以诱骗用户。目前 Edge 提供的这种功能会警告用户他们的错误,未来微软可能重定向用户自动前往正确的网站。

老王点评:其实这也是一种“劫持”,但是劫持的目的是好的。

SoundConverter 是一个有用的应用,它不仅能做到它的名字所说的那样,而且它是分批和并行地做的。

 title=

有许多用于存储数字音频的文件格式,它们适用于不同的目的。当然,数字音频只是声音的一种表现形式,是一种声波的呈现,它由解码器和一组扬声器转化为声音。一些音频格式,一般被称为 无损 lossless 格式,旨在将音频编码为接近其原始模拟形式。然而,在现实世界中有大量的数据,而迄今为止,数字形式只能对其进行近似处理,而且需要非常大的文件。其他的音频格式,被称 有损 lossy 格式,可以在文件大小与声音的合理表现之间取得平衡。

有很多很好的终端命令可以用于音频转换:有 soxffmpeg,以及一些特定格式的编码器,如 opusencflacoggencfdkaacwavpack 和无数的其他编码器。

在 Linux 上安装 SoundConverter

SoundConverter 在大多数 Linux 发行版上都可以通过你的包管理器获得。在 Fedora、Mageia 和类似的发行版上:

$ sudo dnf install kdenlive

在 Elementary、Mint 和其他基于 Debian 的发行版上:

$ sudo apt install kdenlive

然而,我使用使用 Flatpak 安装 SoundConverter。

转换音频

一旦你把音频编码成有损格式,你就丢失了数据。这些数据是否重要取决于其听众的耳朵。有些人听不出低比特率的 MP3 和全质量的 FLAC 文件之间的区别,即使那些能听出来的人,也常常注意不到 320kbps 的 Ogg Vorbis 播客和 128kbps 的 Ogg Vorbis 播客之间的区别。将音频从压缩格式转换为非压缩格式并不能恢复丢失的数据,但需要将音频从一种格式转换为另一种格式的情况并不少见。你可能想把文件上传到只接受特定格式的网站,或者你的移动设备可能只能播放特定的格式,或者用电子邮件发送一个对你的邮件主机来说太大的文件,或者你可能只是想节省硬盘上的空间。

SoundConverter 可以让你轻松地分批转换音频。要用 SoundConverter 转换音频:

  1. 从你的应用或活动菜单中启动 SoundConverter。
  2. 点击 SoundConverter 窗口左上角的“ 添加文件 Add Files ”按钮,并选择你要转换的文件。
  3. 添加了文件后,点击窗口右上角的“ 偏好 Preferences ”按钮(齿轮图标),并选择你想转换的格式。你还可以设置文件命名规则、目标文件夹和其他选项。
  4. 当你准备好了,点击左上角的“ 转换 Convert ”按钮。

 title=

并行处理

SoundConverter 是一个有用的应用,它不仅完全做了它的名字所说的事情,而且它是分批和并行地做的。因为现代计算机不仅仅有一个 CPU 核心,把每个文件放在一个队列中逐一编码,是对能源和时间的浪费。SoundConverter 可以同时处理几个文件,并对它们进行编码,这意味着转换 12 个文件所需的时间和通常一个接一个地转换两个文件所需的时间是一样的。你可以用一个好的终端命令做同样的事情,但前提是你要了解如何 启动并行进程

 title=

你也可以将立体声音频转换为单声道文件。这对播客和有声读物特别有用。这些通常由一个人从一个单一的位置(麦克风)说话组成,不需要空间位置感。事实上,将立体声文件减少到单声道,如果你只有一个耳塞,就能更容易听到音频,并将文件大小减半。

SoundConverter 的优势

为音频提供不同的文件格式是一个很好的功能,但似乎每当我以一种格式保存音频时,我都不可避免地需要另一种格式。有几个很棒的 Linux 命令可以 转换音频文件,但有时你可能想要一个可以在桌面上打开并拖放文件的应用,这就是 SoundConverter 的用场。SoundConverter 是一个简单的而用途单一的应用程序,它的作用和它的名字一样:把声音从一种格式转换为另一种格式。


via: https://opensource.com/article/21/12/soundconverter-linux

作者:Seth Kenlon 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

学习 find 命令的原因有很多。

不管我决心如何组织文件,似乎总有无法找到文件的时候。有时是因为我不记得最初的文件名,其他时候,我知道名字,但我不记得在哪里保存它了。甚至有时我需要一个我最初就没有创建的文件。但是,无论遇到什么困难,我知道在 POSIX 系统 上,总是有 find 命令可以帮助我。

安装 find

find 命令由 POSIX 规范 定义,它创建了一个用于衡量 POSIX 系统的开放标准,这包括 Linux、BSD 和 macOS。简而言之,只要你运行的是 Linux、BSD 或 macOS,那么 find 已经安装了。

但是,并非所有的 find 命令都完全相同。例如,GNU 的 find 命令有一些 BSD、Busybox 或 Solaris 上 find 命令可能没有或有但实现方式不同的功能。本文使用 findutils 包中的 GNU find,因为它很容易获得且非常流行。本文演示的大多数命令都适用于 find 的其他实现,但是如果你在 Linux 以外的平台上尝试命令并得到非预期结果,尝试下载并安装 GNU 版本。

按名称查找文件

你可以借助正则表达式使用完整或部分的文件名来定位文件。find 命令需要你给出想搜索的目录;指定搜索属性选项,例如,-name 用于指定区分大小写的文件名;然后是搜索字符串。默认情况下,搜索字符串按字面意思处理:除非你使用正则表达式语法,否则 find 命令搜索的文件名正是你在引号之间输入的字符串。

假设你的 Documents 目录包含四个文件:Foofoofoobar.txtfoo.xml。以下是对 foo 的字面搜索:

$ find ~ -name "foo"
/home/tux/Documents/examples/foo

你可以使用 -iname 选项使其不区分大小写来扩大搜索范围:

$ find ~ -iname "foo"
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo

通配符

你可以使用基本的 shell 通配符来扩展搜索。例如,* 表示任意数量的字符:

$ find ~ -iname "foo*"
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo
/home/tux/Documents/examples/foo.xml
/home/tux/Documents/examples/foobar.txt

? 表示单个字符:

$ find ~ -iname "foo*.???"
/home/tux/Documents/examples/foo.xml
/home/tux/Documents/examples/foobar.txt

这不是正则表达式语法,因此 . 在示例中只表示字母“点”。

正则表达式

你还可以使用正则表达式。与 -iname-name 一样,也有区分大小写和不区分大小写的选项。但不一样的是,-regex-iregex 搜索应用于整个路径,而不仅仅是文件名。这意味着,如果你搜索 foo,你不会得到任何结果,因为 foo/home/tux/Documents/foo 不匹配。相反,你必须要么搜索整个路径,要么在字符串的开头使用通配符:

$ find ~ -iregex ".*foo"
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo

查找近一周修改过的文件

要查找近一周修改的文件,使用 -mtime 选项以及过去的天数(负数):

$ find ~ -mtime -7
/home/tux/Documents/examples/foo
/home/tux/Documents/examples/Foo
/home/tux/Documents/examples/foo.xml
/home/tux/Documents/examples/foobar.txt

查找近几天修改的文件

你可以结合使用 -mtime 选项来查找近几天范围内修改的文件。对于第一个 -mtime 参数,表示上一次修改文件的最近天数。第二个参数表示最大天数。例如,搜索修改时间超过 1 天但不超过 7 天的文件:

$ find ~ -mtime +1 -mtime -7

按文件类型限制搜索

指定查找文件的类型来优化 find 的结果是很常见的。如果你不确定要查找的内容,则不应该使用此选项。但如果你知道要查找的是文件而不是目录,或者是目录而不是文件,那么这可能是一个很好的过滤器。选项是 -type,它的参数是代表不同类型数据的字母代码。最常见的是:

  • d - 目录
  • f - 文件
  • l - 链接文件
  • s - 套接字
  • p - 命名管道(用于 FIFO)
  • b - 块设备(通常是硬盘)

下面是一些例子:

$ find ~ -type d -name "Doc*"
/home/tux/Documents
$ find ~ -type f -name "Doc*"
/home/tux/Downloads/10th-Doctor.gif
$ find /dev -type b -name "sda*"
/dev/sda
/dev/sda1

调整范围

find 命令默认是递归的,这意味着它会在指定的目录中层层搜索结果。这在大型文件系统中可能会变得不堪重负,但你可以使用 -maxdepth 选项来控制搜索深度:

$ find /usr -iname "*xml" | wc -l
15588
$ find /usr -maxdepth 2 -iname "*xml" | wc -l
15

也可以使用 -mindepth 设置最小递归深度:

$ find /usr -mindepth 8 -iname "*xml" | wc -l
9255

下载速查表

本文仅介绍 find 的基本功能,它是一个很好的搜索工具,但对于强大的 Parallel 命令来说,它也是一个非常有用的前端。学习 find 的原因有很多,所以 下载我们免费的 find 速查表 吧,它可以帮助你了解有关该命令的更多信息。


via: https://opensource.com/article/21/9/linux-find-command

作者:Seth Kenlon 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

微软用五折来诱惑盗版使用者

盗版的微软 Office 应用程序的功能区栏中现在出现了一条新信息,以正版微软 365 的五折的价格来诱惑使用盗版软件的人们。该信息链接到微软的一个网站,警告盗版使用者们有可能遇到病毒、恶意软件、数据丢失、身份被盗等问题,以及无法接收关键更新。而折扣后,微软 365 家庭版的价格第一年仅为 49.99 美元,微软 365 个人版一年的价格为 34.99 美元。

老王点评:或许可以先安装一份盗版,就可以领取到这份折扣了?

DeepMind 打造加强版棋牌 AI

DeepMind 的 AlphaGo 击败了顶尖人类围棋选手,它的 AlphaStar 在《星际争霸 2》中赢了人类对手。本周,它又 披露了一个新的游戏 AI:Player of Games。DeepMind 称,Player of Games 是首个“通用且健全的搜索算法”,在完全和不完全的信息游戏中都实现了强大的能力。完全信息游戏如围棋、象棋等棋盘游戏,不完全信息游戏如德州扑克等。它在完全信息游戏中的表现已经达到了“人类顶级业余选手”水平,虽然明显弱于 AlphaZero 等专用游戏算法;在两类不完全信息游戏中,它均击败了最先进的 AI。

老王点评:虽然棋牌 AI 的商业前景不明朗,但这是向能在任意环境中学习的通用 AI 算法迈出的重要一步。

最新的 Chrome 扩展程序规范具有欺骗性和威胁性

电子前沿基金会(EFF)称,像之前的 FLoC 和隐私沙盒一样,Chrome 扩展程序的最新规范(Mv3)是谷歌控制主流 Web 浏览器和最大的互联网广告网络之一的新动作。该规范将限制 Web 扩展的能力,特别是那些旨在监测、修改和计算你的浏览器与你访问的网站之间的对话的扩展。一方面看,这将保护你的安全,但是另一方面,一些保护隐私的跟踪器的阻断扩展将大大降低能力。谷歌为 Mv3 提出的理由之一是安全,虽然更彻底的审查过程可以提高安全性,但是谷歌显然不准备这么做;而另外一个理由是性能,而事实上那些将受到 Mv3 阻碍的扩展实际上提高了浏览器性能。

老王点评:谷歌近些年在浏览器方面的动作屡屡被爆锤,这可能不仅仅是技术上考虑不周全的原因。

“系统监控中心”是一个多合一的开源应用,不用使用多种工具就可以监控基本的系统资源情况。

在 Linux 上以图形方式监控系统资源可能体验不是很好,这些与你的桌面环境相配套的系统监控工具可能细节有限。

例如,GNOME 的系统监视器不显示 CPU 频率和温度。

此外,Linux 的默认系统监控程序通常以简单为目标,而不是提供详细的信息。

系统监控中心 System Monitoring Center ” 是一个有用的 GUI 工具,它提供了大量必要的信息。在这篇文章中,让我给你详细介绍一下它。

系统监控中心:显示基本系统统计信息的 Linux 应用

系统监控中心是一个基于 GTK3 和 Python 3 的外观时尚的应用,它为你提供了你想要的所有资源使用数据。

在我的例子中,我想在使用系统监控工具时关注 CPU 的频率,但 GNOME 的系统监控工具提供不了帮助。所以,这个应用就非常有用了。

该应用的用户体验良好,并提供了大量的信息和功能。让我重点介绍一下它的主要功能。

写这篇文章时,该应用程序仍处于测试阶段。因此,你可能会遇到一些错误。然而,我在简短的测试中没有注意到任何问题。

系统监控中心的功能

首先,它可以让你查看 CPU、内存、磁盘、网络、GPU 和传感器的单独统计数据。

你可以在该工具中看到以下细节信息:

  • 显示 CPU 状态,包括频率
  • 能够显示平均使用率或每个核心的使用率
  • 可以选择 CPU 频率和其他统计的精度
  • 能够改变图表的颜色
  • 按用户过滤系统进程并轻松管理它们
  • 切换一个浮动的摘要小部件,以快速获得信息
  • 显示磁盘使用信息和连接的驱动器
  • 在同一个应用中显示详细的系统信息
  • 控制启动服务和程序
  • 能够控制状态更新的时间间隔
  • 应用本身的系统资源使用率较低
  • 适应系统主题

虽然它为每个标签(或组件)提供了大量的选项和自定义功能,但我希望它能在未来的更新中包括 RAM 频率等东西。

然而,考虑到它可以同时取代磁盘使用分析器和 neofetch 等终端工具,其余的数据似乎非常有用。

请注意,如果你有多个机箱风扇、独立的排风扇或 AIO,你可能无法得到风扇的数据。温度也可能有或没有,但 CPU 的温度应该是可见的。

在 Linux 中安装系统监控中心

你可以使用可用的 deb 包在任何基于 Ubuntu 的发行版上轻松安装它。

不幸的是,没有可用的其他软件包,只有一个 ZIP 文件,你得手动构建和编译才能安装它。你在 ZIP 文件中可以找到一个脚本来构建 RPM 包。

deb 文件可以通过 SourceForge 获得。你点击下面的按钮来下载它,或者在他们的 GitLab 页面 找到。

总结

系统监控中心是一个开源应用,可以让用户详细了解他们的系统资源,并帮助管理进程。

对于许多 Linux 用户来说,这是一个非常需要的应用,不需要使用单独的终端/GUI 程序就可以提供详细的信息。


via: https://itsfoss.com/system-monitoring-center/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出