我无法访问 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) 我有一个通过 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 上,使用 GNUdu以字节为单位递归计算目录大小,我可以运行:
du -sb /etc
Run Code Online (Sandbox Code Playgroud)
du基于-b参数不可用这一事实, BSD 的等效语法是什么?
我有以下脚本:
#!/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),然后将输出重定向到两个不同的流并并排显示行,以便它可以更快地处理较大的文件? …
当我运行时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每次使用后我都必须使用它。有什么解决方法吗?
我希望能够打印并查看文本文件中的尾随空格(仅显示,而不是删除)。
我试过用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) 我想执行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 ×3
osx ×3
bash ×2
apt ×1
bsd ×1
cat ×1
coreutils ×1
debian ×1
disk-usage ×1
files ×1
knoppix ×1
linux ×1
paste ×1
routing ×1
set ×1
shell ×1
shell-script ×1
tmp ×1
traceroute ×1
whitespace ×1
zfs ×1