小编ken*_*orb的帖子

无法导入池,因为使用不兼容的版本进行格式化

我无法访问 Debian 上的 zfs 池,因为它说我的版本太旧:

root@Microknoppix:~# zpool import
  pool: WD_4TB
    id: 12726205736285302822
 state: UNAVAIL
status: The pool is formatted using an incompatible version.
action: The pool cannot be imported.  Access the pool on a system running newer
    software, or recreate the pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-A5
config:

    WD_4TB                                                       UNAVAIL  newer version
      disk/by-id/ata-WDC_WD40EZRX-00SPEB0_WD-WCC4E0184707-part1  ONLINE
Run Code Online (Sandbox Code Playgroud)

此外,提供的sun 链接已损坏。

我已经通过以下方式安装了最新的 zfs-fuse:

root@Microknoppix:~# apt-cache madison zfs-fuse
  zfs-fuse |   0.7.0-12 | http://ftp.de.debian.org/debian/ testing/main i386 Packages
  zfs-fuse |   0.7.0-12 | http://ftp.de.debian.org/debian/ unstable/main i386 Packages
  zfs-fuse |    0.7.0-8 …
Run Code Online (Sandbox Code Playgroud)

zfs debian apt knoppix

3
推荐指数
1
解决办法
8020
查看次数

创建后如何直接访问临时文件?

我有一个通过 SSH 连接到远程主机的脚本,创建临时文件并执行以下命令:

调用系统(mysql --database=information_schema --host=localhost < /tmp/drush_1JAjtt)

每次它创建不同的文件(模式:)drush_xxxxxx

我已经尝试在远程手动运行几次:

tail -f /tmp/drush_*
Run Code Online (Sandbox Code Playgroud)

但我的连接速度太慢,大多数时候我都会遇到错误:

tail:无法打开`/tmp/drush_*'进行读取:没有这样的文件或目录

有什么技巧可以在创建此类文件后立即访问该文件以显示其内容吗?

linux command-line tmp files

3
推荐指数
1
解决办法
3921
查看次数

Unix 相当于“du -sb”,用于获取以字节为单位的汇总大小

在 Linux 上,使用 GNUdu以字节为单位递归计算目录大小,我可以运行:

du -sb /etc
Run Code Online (Sandbox Code Playgroud)

du基于-b参数不可用这一事实, BSD 的等效语法是什么?

osx bsd disk-usage coreutils

3
推荐指数
1
解决办法
5380
查看次数

如何解析输入文件一次并发送到两个单独的流并并排显示?

我有以下脚本:

#!/usr/bin/env bash
# Script to generate MD5 hash for each line.
[ $# -eq 0 ] && { echo "Usage: $0 file"; exit 1; }
file=$1
shopt -s expand_aliases
alias calc_md5='while read -r line; do md5sum <<<$line; done'
paste <(sort "$file" | uniq | calc_md5) <(sort "$file" | uniq)
times
Run Code Online (Sandbox Code Playgroud)

它并排打印每行的 MD5 校验和,这正是我需要的。例如:

$ ./md5_lines.sh file.dat
5c2ce561e1e263695dbd267271b86fb8  - line 1
83e7cfc83e3d1f45a48d6a2d32b84d69  - line 2
0f2d633163ca585e5fc47a510e60f1ff  - line 3
73bb3632fc91e9d1e1f7f0659da7ec5c  - line 4
Run Code Online (Sandbox Code Playgroud)

上述脚本的问题在于它需要为每个列/流读取和解析文件两次。理想情况下,我想对所有行进行排序并使所有行都是唯一的,并且仅将其用作输入一次。

如何将上述脚本转换为仅解析一次文件 ( sort& uniq),然后将输出重定向到两个不同的流并并排显示行,以便它可以更快地处理较大的文件? …

bash io-redirection shell-script paste

3
推荐指数
2
解决办法
610
查看次数

如何以人类可读的形式将 mtr 命令输出到标准输出?

当我运行时sudo mtr 4.2.2.1,它在终端中循环运行。

我想保持与以下相同的格式:

Host                                                   
1. 192.168.15.1                                        
2. ???
3. 10.254.254.x                                      
4. 10.254.254.x                                     
5. core1.lon2.he.net                           
6. 10gigabitethernet2-1.core1.lon2.he.net
7. a.resolvers.level3.net
Run Code Online (Sandbox Code Playgroud)

但打印一次到标准输出。

在手册中,我只能看到以 XML、JSON、CSV 或 RAW 格式打印它的选项,但不能像上面那样以人类可读的格式打印一次。基本上我在使用traceroute命令时对类似的格式感兴趣,但对于mtr. 是否可以?

我试图以 as 运行sudo mtr -c1 4.2.2.1 | head -n20,但它破坏了终端,所以reset每次使用后我都必须使用它。有什么解决方法吗?

osx routing traceroute

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

如何在文本文件中显示尾随空格?

我希望能够打印并查看文本文件中的尾随空格(仅显示,而不是删除)。

我试过用cat -vwhich 假设显示非打印字符,但它没有按预期显示它们(行之间没有视觉差异)。例如

$ printf "foo\nbar \t\n" > file.txt
$ cat -v file.txt 
foo
bar     
Run Code Online (Sandbox Code Playgroud)

通过打印/显示空格,我的意思是一些视觉人类指示,与其他行相比,尾随空格在那里,没有一些特殊字符、颜色(例如使用 显示文件时git diff)或类似的东西。

有没有其他办法?


注意:我使用的是 macOS Sierra,但是我可以访问 GNU 和 BSDcat命令:

$ type -a cat
cat is /usr/local/opt/coreutils/libexec/gnubin/cat
cat is /bin/cat
$ cat --version
cat (GNU coreutils) 8.28
$ /bin/cat --version
/bin/cat: illegal option -- -
usage: cat [-benstuv] [file ...]
Run Code Online (Sandbox Code Playgroud)

command-line osx whitespace cat

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

如何撤消错字`set -ovi`?

我想执行set -o vi,但我做到了set -ovi

现在,当我检查时,set -o我看到了额外的奇怪选项,例如:

$ set -o
set -o
...
update_terminal_cwd; 
Run Code Online (Sandbox Code Playgroud)

结果,update_terminal_cwd;打印在每个命令上。

如何在不重新启动 shell 的情况下撤消我的错字?

command-line shell bash set

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