我知道我可以使用这样的环境变量运行命令:
FOO=bar mycommand
Run Code Online (Sandbox Code Playgroud)
我知道我可以在这样的子 shell 中运行命令:
(firstcommand && secondcommand)
Run Code Online (Sandbox Code Playgroud)
但是我可以以某种方式将这两者结合起来吗?
FOO=bar (firstcommand && secondcommand)
Run Code Online (Sandbox Code Playgroud)
给出:
Run Code Online (Sandbox Code Playgroud)sh: syntax error: unexpected "("
至少在busybox shell(灰烬)中。
编辑: Kusalananda 建议FOO=bar sh -c 'first && second'
这确实是一个解决方案。但是,我也对替代答案感兴趣,因为我喜欢 subshell 语法,因为它不需要摆弄转义引号。
我正在使用systemd单元文件以非 root 身份启动网络服务器。
listen tcp :80: bind: permission denied
即使我已经跑了,我也得到了
setcap cap_net_bind_service=+ep
Run Code Online (Sandbox Code Playgroud)
在可执行文件上。
在互联网上的一个示例单元文件中,我发现
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
Run Code Online (Sandbox Code Playgroud)
在单元文件中使用。所以我尝试了一下,突然应用程序可以绑定端口 80。
这告诉我什么?setcap
是否旧/已弃用/被忽略?一般只能通过systemd还是通过 Linux?
ext2/3/4 文件系统检查器有两个看起来非常相似的选项,-p
以及-y
.
两者似乎都执行了自动修复,但联机帮助页指出,-p
遇到某些错误时可以退出,而-y
没有提到这样的事情。这是唯一的区别吗?
随着du -bh
我觉得我得到人类可读格式的外观尺寸:
# du -bh
295K ./test
Run Code Online (Sandbox Code Playgroud)
但是,我希望从du -hb
,但我得到其他东西:
# du -hb
301926 ./test
Run Code Online (Sandbox Code Playgroud)
我相信这与刚刚du -b
给我的输出相同。
# du --version
du (GNU coreutils) 7.4
Run Code Online (Sandbox Code Playgroud) 我有一个包含几百个文件的目录(真实文件,没有符号链接,没有子目录)。
当我ls -la
在 Excel 中使用和总结大小时,我得到287190
字节(?)。
当我使用du -b
或du --apparent-size --block-size=1
我得到422358
字节(?)。
我以为这两个意思是一样的,为什么不同?
在 Ubuntu Linux 上,我有一个设置了 setuid 位 ( drwsr-xr-x
)的目录,我想取消设置它。
既不是chmod 755
也不chmod 0755
是chmod 00755
(我虽然可能第一个 0 被解释为只是“这是八进制”)清除 setuid 位。然而,chmod u-s
做到了。
清除 setuid 位的正确数字模式是什么?
随着cat
我可以从文件到stdout阅读。例如,我可以通过这种方式将文件从 docker 容器中导出:
docker exec my_container cat file > file_on_host
Run Code Online (Sandbox Code Playgroud)
当我想做相反的事情时,我需要一个从标准输入读取并保存到文件的命令。有这样的命令吗?
docker exec my_container ??? file < file_on_host
Run Code Online (Sandbox Code Playgroud) disk-usage ×2
ash ×1
capabilities ×1
chmod ×1
command-line ×1
coreutils ×1
docker ×1
ext2 ×1
ext3 ×1
ext4 ×1
filesystems ×1
fsck ×1
ls ×1
permissions ×1
setcap ×1
setuid ×1
subshell ×1
systemd ×1