Linuxlsblk和的 FreeBSD 变体是blkid什么?
我想要一些提供与lsblk下面示例中相同类型的信息的东西:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/sda 8:0 0 465.8G 0 disk
??/dev/sda1 8:1 0 1007K 0 part
??/dev/sda2 8:2 0 256M 0 part /boot
??/dev/sda3 8:3 0 9.8G 0 part [SWAP]
??/dev/sda4 8:4 0 29.3G 0 part /
??/dev/sda5 8:5 0 29.3G 0 part /var
??/dev/sda6 8:6 0 297.6G 0 part /home
??/dev/sda9 8:9 0 16.3G 0 part
/dev/sr0 11:0 1 1024M 0 rom
Run Code Online (Sandbox Code Playgroud)
我试过运行像man -k blk …
当您观看有关 Plan 9 及其acme编辑器的演示时,您可能会注意到copy的名称是snarf(不幸的是,我找不到任何有意义的解释)。
为什么会这样?
有什么原因吗?是否已为此功能创建唯一名称,因为副本可能不是最佳名称?
Snarf,在 Blit 和 Plan 9 窗口系统中用于“复制”操作的术语。
单击中键还有另一个菜单可用;剪切和粘贴是不言自明的,而 Snarf 只是计划 9 中复制的词。
通过plan9port在Plan 9和/或Mac OS X下使用acme中的一个/两个,是否有一个可以在acme中打开的“文件”,显示acme snarf缓冲区的当前内容?
Run Code Online (Sandbox Code Playgroud)/dev/snarf
所以看起来有一个类似于snarf 缓冲区的东西和一个名为/dev/snarf.
在键盘上键入的字符替换选定的文本;如果此文本不为空,则将其放置在所有窗口通用但与 sam(1) 不同的 snarf 缓冲区中。
(……)
从按钮 2 上的菜单中选择编辑操作。剪切操作从屏幕上删除所选文本并将其放入 snarf 缓冲区;snarf 将选定的文本复制到缓冲区而不删除它;paste 用缓冲区的内容替换选定的文本;并将 snarf 缓冲区的副本发送到输出点之后,如果缺少则添加最终换行符。Paste 有时和 send 将始终在输出点之后放置文本;如此放置的文本的行为与上述完全相同。因此,在输出点后粘贴包含换行符的文本时,最好先打开保持模式。
'Snarf':在大多数其他编辑器中称为 copy
(非正式的)贪婪地吃或喝
(当代)贪婪地抢夺某物,尤其是。没有经过允许
(Unix) …
我正在编写一个安装脚本,它将作为/bin/sh.
有一行提示输入文件:
read -p "goat may try to change directory if cd fails to do so. Would you like to add this feature? [Y|n] " REPLY
Run Code Online (Sandbox Code Playgroud)
我想把这条长行分成多行,这样每行都不超过 80 个字符。我说的是脚本源代码中的行;与执行脚本时实际打印在屏幕上的行无关!
我试过的:
第一种方法:
read -p "oat may try to change directory if cd fails to do so. " \
"Would you like to add this feature? [Y|n] " REPLY
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为它不打印Would you like to add this feature? [Y|n]。
第二种方法:
echo "oat may try to change …Run Code Online (Sandbox Code Playgroud)是否有下载特定内核版本源的资源?比如我想拿到2.6.36.2的源码来和这个包对比,看看有什么变化?
.vimrc保存文件时是否有自动删除尾随空格的设置?
理想情况下(为了安全起见)我只想对某些文件使用此功能,例如 *.rb
是否有任何图像查看器会在写入图像文件时自动重新加载视图?
我通常使用 linux 的 debian 变体,但感谢与任何“Unix 和 Linux”环境相关的所有答案。
我们有env(1)来修改我们想要运行的命令的环境(例如env MANPAGER=more man dtrace)。是否有类似的东西,但用于修改命令将在其中启动的目录?
理想情况下,我希望它看起来像这样:
theMagicCommand /new/cwd myProgram
Run Code Online (Sandbox Code Playgroud)
这样,它可以与其他类似 env(1) 的命令“链接”,例如,
daemon -p /tmp/pid env VAR=value theMagicCommand /new/cwd myProgram
Run Code Online (Sandbox Code Playgroud)
到目前为止,我可以想到以下解决方案,不幸的是它没有与 env(1)相同的接口:
cd /new/cwd && myProgram
Run Code Online (Sandbox Code Playgroud)
另外,我可以像这样创建一个简单的shell脚本:
#! /bin/sh -
cd "${1:?Missing the new working directory}" || exit 1
shift
exec "${@:?Missing the command to run}"
Run Code Online (Sandbox Code Playgroud)
但我正在寻找已经存在的东西(至少在 macOS 和 FreeBSD 上)。
myProgram不一定是桌面应用程序(在这种情况下,我可以只使用.desktop 文件中的Path键)。
我想知道是否有关于您想要源而不是运行的 shell 脚本的文件类型扩展名的约定。例如:
如果我想在子shell中运行这个脚本。
./script.sh
Run Code Online (Sandbox Code Playgroud)
如果我想记住从当前 shell 运行这个脚本。
. script.source
Run Code Online (Sandbox Code Playgroud)
是否有一个惯例在第2例的文件类型(如POSIX例如)?像.source或.sourceme?
这个问题不询问任何意见。我明确表示我想知道这种脚本是否有标准化的文件扩展名。这个问题甚至比这个关于类似问题的广受欢迎的问题更不基于意见(对 bash 脚本使用 .sh 或 .bash 扩展名?)。
我想更改 120 用户的密码。所以我写了sudo echo 'user:passwd' | chpasswd
但我有一条消息,
chpasswd: (user) pam_chauthtok() failed, error:
Authentication token manipulation error
chpaswd (line 1, user) password not changed
Run Code Online (Sandbox Code Playgroud)
我还尝试了另一种使用文本文件的方法,但我收到了相同的消息。
我无法解决这个问题。
shell ×3
bash ×2
freebsd ×2
shell-script ×2
block-device ×1
bourne-shell ×1
conventions ×1
cwd ×1
editors ×1
history ×1
image-viewer ×1
images ×1
linux ×1
linux-kernel ×1
newlines ×1
password ×1
plan9 ×1
source ×1
standard ×1
string ×1
terminology ×1
ubuntu ×1
version ×1
vi ×1
vim ×1
vimrc ×1
whitespace ×1