小编unf*_*nfa的帖子

我可以在命令行覆盖多行标准输出而不丢失终端回滚吗?

我想创建多个进度条并随时更新它们,而不需要清除整个屏幕(我希望以前的标准输出内容保留在屏幕上)。

我需要:

  1. 写几行echo
  2. 等待与sleep
  3. 让我的光标回到第一行的开头
  4. 用更新的信息覆盖我的几行
  5. 从步骤 2 开始重复。

我的想法是我希望用户能够向后滚动以阅读以前的标准输出内容。

如果我不关心回滚,我只需使用clear并再次写出我需要的内容:

while [ true ]; do echo "$SECONDS"; sleep 0.1; clear; done
Run Code Online (Sandbox Code Playgroud)

然而,这使得回滚完全不可读,因为clear只是打印出足够的换行符以将先前的终端输出推到视图之外。

当我运行htop并关闭它时 - 它将我的终端恢复到与启动 htop 时完全相同的状态。这样的事情可以在 bash 脚本中实现吗?

terminal scrolling

8
推荐指数
1
解决办法
5279
查看次数

在Linux下复制文件时如何保留Windows文件属性?

我正在使用在 Linux 机器上运行的自定义 Bash 脚本来大量复制 FAT32 格式的 USB 驱动器。

我需要保留 Windows 文件属性,例如“隐藏”。

我使用rsync(或ddfindmkdir在新的版本,迫使I / O同步进行更好的稳定性和优化带宽使用)。

我盲目地尝试-X-A切换为rsync,据说可以保留一些文件属性,但它们似乎不适用于 Windows 文件属性。

有没有办法在Linux环境下读写Windows文件属性?

如果没有更简单的方法,我可以在复制后应用它们。

我不想要dd一个完整的源文件系统,因为这将是未经优化的,尤其是当您需要写入数百个驱动器时。有时驱动器的容量为 16GB,其中只有几 GB 的文件 - 一个笨蛋dd会复制所有 16GB,这需要很长时间才能在生产中工作。

我在网上搜索过,但看起来 Linux 扩展属性与 Windows 文件属性无关,而且我还没有找到任何方法来读取和写入这些信息(或者只是将其与文件一起复制)。

windows files

8
推荐指数
1
解决办法
1068
查看次数

如何从 MP4 视频文件中去除 GPS 位置数据?

我有一个用智能手机拍摄的视频文件。我想删除写入其中的 GPS 位置数据,保留所有其他信息。我尝试了一些 sed 命令,但似乎没有任何效果。

video privacy file-metadata

7
推荐指数
1
解决办法
5689
查看次数

可以使低功率机器上的 USB 3 连接饱和的全盘映像的最佳压缩工具?

我经常处理全盘映像,我经常需要使用 USB-3 磁盘作为临时介质在不太强大的笔记本电脑上读写全盘映像。

复制原始图像可能是最快的方法,但我必须处理有限的可用存储空间。

我需要的是高吞吐量和低 CPU 使用率 - 压缩比对我来说不是那么重要。

我想要一个工具可以非常轻松地压缩创建的图像 - 主要是编码磁盘上的空白空间,以便我只能存储有用的数据,同时使其尽可能快 - 希望几乎和原始dd复制一样快。

我绑定了 use pxz -1,因为它可以使用多个 CPU 内核来加速压缩,希望最快的压缩仍然有用。然而,这似乎没有我想要的那么胖。

压缩 500 GB 磁盘映像估计需要 21 小时:

mint Backup # dd if=/dev/sda bs=100M | pv -ptera -s500G | pxz -1 > Lenovo-Win8-sda.dd.xz
0:09:21 [9.26MiB/s] [6.54MiB/s] [>            ]  0% ETA 21:34:46
Run Code Online (Sandbox Code Playgroud)

完全没有压缩预计需要 3 小时才能完成成像:

mint Backup # dd if=/dev/sda bs=100M | pv -ptera -s500G > Lenovo-Win8-sda.dd
0:00:20 [80.2MiB/s] [49.8MiB/s] [>           ]  0% ETA 2:50:20
Run Code Online (Sandbox Code Playgroud)

在 15 小时时使用lbzip2 -1 …

compression disk-image

7
推荐指数
2
解决办法
8903
查看次数

通过 PC 扬声器播放任意 PCM 声音?

小时候,我玩过一款名为Electro Body 的DOS 游戏。

游戏做了一些惊人的事情 - 它通过 PC 扬声器播放 PCM 样本。不是蹩脚的方形哔哔声 - 它播放了真正的音效!

与 PC 扬声器发出的通常发出的哔哔声相比,它非常安静,但这是一种全新的音质。在那场比赛之前或之后,我从未听说过这样的事情。

我想知道 - 除了 beep 命令发出的“哔哔声”之外,GNU/Linux 是否有办法通过 PC 扬声器播放任意 PCM 声音流?我可以通过它播放 WAV 或 Ogg 文件吗?

除了制造一些复杂的噪音会很酷这一事实之外,人们可能会将其用作模拟电压控制输出 - 无论是疯狂的 DIY 项目。

audio

6
推荐指数
1
解决办法
4352
查看次数

按隐藏在文件中的数值对文件中的行进行排序

我正在编写一个 Bash 脚本来使用f3工具测试 USB 闪存的错误。我有这样的文本(通过从f3read程序grepping 日志创建):

2017-10-25_09:30:22/sdf.log:Data LOST: 4.00 KB (8 sectors)
2017-10-25_09:30:22/sdi.log:Data LOST: 5.00 KB (10 sectors)
2017-10-25_09:30:22/sdj.log:Data LOST: 2.35 MB (4822 sectors)
2017-10-25_09:30:22/sdn.log:Data LOST: 5.00 KB (10 sectors)
2017-10-25_09:30:22/sdo.log:Data LOST: 4.00 KB (8 sectors)
2017-10-25_09:30:22/sdp.log:Data LOST: 4.00 KB (8 sectors)
2017-10-25_09:30:22/sdq.log:Data LOST: 2.00 KB (4 sectors)
2017-10-25_14:37:03/sdb.log:Data LOST: 5.00 KB (10 sectors)
2017-10-25_14:37:03/sdc.log:Data LOST: 3.00 KB (6 sectors)
2017-10-26_09:17:59/sdd.log:Data LOST: 3.00 KB (6 sectors)
2017-10-26_09:17:59/sde.log:Data LOST: 2.00 KB (4 sectors)
2017-10-26_09:17:59/sdf.log:Data LOST: 3.00 KB …
Run Code Online (Sandbox Code Playgroud)

sort

6
推荐指数
2
解决办法
510
查看次数

断电后无法恢复的 Btrfs 文件系统?

我一直在使用 Btrfs 文件系统写入 3TB USB 外置硬盘驱动器 (WD MyBook),但不小心将电源关闭到驱动器的电源块。

奇怪的是 - 写操作似乎还在继续(我预计会立即出现 I/O 错误)。我rsync手动终止了该进程并尝试重新挂载文件系统。

/dev/sdf节点仍然存在,但我无法安装它。

我已经尝试过partprobebtrfs device scan但无济于事。

重新启动后,我无法再次挂载文件系统。我btrfs rescue chunk-recover -v在驱动器上运行了一个,大约 14 小时后发现了这个:

(A long list of good chunks)
Chunk: start = 1992919351296, len = 1073741824, type = 1, num_stripes = 1
      Stripes list:
      [ 0] Stripe: devid = 1, offset = 1975739482112
      No block group.
      Device extent list:
          [ 0]Device extent: devid = 1, start = 1975739482112, len = …
Run Code Online (Sandbox Code Playgroud)

filesystems data-recovery btrfs

5
推荐指数
1
解决办法
2284
查看次数

如何使系统按计划暂停和恢复?

我有一台 Linux 服务器,它只在工作日的工作时间内需要。让它一直通电是没有意义的。

如何在没有任何监督的情况下让 Linux 系统在设定的时间和日期暂停和恢复?

scheduling shell-script

5
推荐指数
1
解决办法
2630
查看次数

如果禁用校验和,ZFS 使用非 ECC RAM 是否更安全?

我听说过死亡磨砂。但是,可以禁用 ZFS 数据集中的校验和。如果是这样,对于不使用 ECC RAM 的系统来说,情况会更安全吗?

我没有想到 NAS 或类似的东西 - 更多的是带有单个驱动器的工作站部署,只是为了使用 ZFS 卷管理和快照(并且不需要fsck)的好处。我什至不想使用冗余。

如果我禁用 ZFS 校验和,错误的内存位置是否仍会完全破坏我的存储?

zfs ram

4
推荐指数
1
解决办法
3318
查看次数

无法检测超过 16 个 USB 闪存驱动器

我正在制作一个 bash 脚本,将文件从一个 USB 驱动器复制到其他多个驱动器。

\n\n

一台专门用于该工作的运行 Xubuntu 的老式机器可以毫无问题地检测到 30 个设备。它仅具有 USB 2.0 端口。

\n\n

而另一台运行 Linux Mint 的现代机器一次检测不到超过 16 个此类驱动器。它仅具有 USB 3.0 端口。当我连接超过 16 个驱动器后,新驱动器不再显示在 lsblk 中。

\n\n

可能是什么原因?

\n\n

编辑:

\n\n

正如 fduff 指出的,我在连接第 17 个 USB 驱动器后检查了 dmesg,它显示的是:

\n\n
[  531.519845] usb 3-9.3.2.6: new high-speed USB device number 46 using xhci_hcd\n[  531.974582] usb 3-9.3.2.6: New USB device found, idVendor=abcd, idProduct=1234\n[  531.974585] usb 3-9.3.2.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3\n[  531.974586] usb 3-9.3.2.6: Product: UDisk\n[  531.974587] usb …
Run Code Online (Sandbox Code Playgroud)

usb-drive block-device backports

2
推荐指数
1
解决办法
2414
查看次数