我想删除大小为 0 的文件。所以我试过:
find ./ -size 0 | xargs rm
Run Code Online (Sandbox Code Playgroud)
但是它有一个问题,文件名以空格开头。我找到了这个:
find ./ -size 0 -exec rm -i {} \;
Run Code Online (Sandbox Code Playgroud)
有用。我认为我的方式xargs太复杂了。
是什么{} \;意思?
你能给我解释一下吗?我的英语不是很好,所以请写简单。
我有一个 bash 别名加载到 Docker 容器中,在/etc/bash.bashrc. 它用作命令行 PHP 脚本的快捷方式。这很方便,因为任何人都可以在登录容器后直接使用该别名,如下所示:
$ docker exec -it my-container bash
但是,我还希望能够在不登录的情况下在一次性命令中使用此别名,例如:
$ docker exec -it my-container my-alias
我尝试了不同的变体,例如在 以外的其他地方定义别名/etc/bash.bashrc,但我一直遇到这个错误:
rpc 错误:code = 2 desc = oci 运行时错误:exec 失败:exec:“my-alias”:在 $PATH 中找不到可执行文件
到目前为止,我在网上找到的其他建议并没有奏效。任何人?
我正在使用 Windows Bash,但出现错误 fox@FOX:/etc$ sudo true
sudo: unable to resolve host FOX
我见过有人说我想编辑etc/hosts,但我不知道要在文件中放什么。有人能告诉我我应该用什么来解决这个问题吗?1
我在 gnome 终端中执行了一个命令,该命令向终端打印的输出比我预期的要多。我想阅读整个输出,但终端滚动在到达开始之前停止。
我知道我可以更改终端配置文件设置以启用无限滚动,或将输出通过管道传输到文件等。但是,所有这些常见解决方案都适用于未来的输出。
如何查看已执行命令的完整终端输出?
编辑:好吧,这是不可能的。谢谢大家!
出于某种原因,我在 Windows 上的 Ubuntu 上的 Bash 无法访问 Internet。
即当我做
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
我得到了一堆失败的获取。正如此链接下描述的问题一样。
我已经尝试了所有建议的解决方案,但它们似乎都不起作用。
8.8.8.8到/etc/resolv.conf,/etc/resolv.conf,# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
Run Code Online (Sandbox Code Playgroud) 是否可以在不安装 git bash 的情况下在 Windows 上安装 git?
既然 bash 可以在 Windows 上使用,我更愿意使用它,而不是有这么多的 shell。
这甚至是推荐/可能的方法吗?或者我应该安装 git bash 吗?
如何确定我在 bash 会话中使用的 readline 版本?
我特别想知道,因为我似乎有 readline 库 6.3,但set enable-bracketed-paste on在我.inputrc的工作中,即使该功能仅在 readline 7.0 中添加。
我在 macOS 10.11(与 Fink 一起安装)上使用 bash 4.4.0。
在bash我启动一个t/cshshell,它更新stty erase ^H.cshrc 中的 tty 输入 ( ),但是当exit-ing 并返回到 bash 时,backspace密钥不再起作用。这是因为 bash 使用readline,我需要重置擦除 ( stty erase ^?)。
如果我理解trap正确,似乎我可以从 t/csh 进程中捕获 t/csh 出口,并在它退出后运行命令。但是,我更喜欢在 bash 中进行捕获,理想情况下,它会检测到 shell 被调用/退出,然后运行脚本来重置其配置。
这是首选,因为我可以调用任意数量的外壳程序(例如,dash, zsh),这可能会无意中修改特定于 bash 的设置。与其trap为每个 shell维护多个命令,不如为 bash 设置一个命令。
我的理解trap正确吗?如果是这样,是否可以bash检测到子 shell 退出然后运行脚本?
我想要cat一个文件并输出它输出的每一行的行号。
但是,在 PowerShell 中,cat输出一个数组。因此,问题实际上变成了:如何在输出到控制台时打印每个项目的索引......?
我试过这样的事情:
$k = cat foo.js
$k | foreach { $index = $k.IndexOf($_) + 1; write "$index : $_"; } | more
Run Code Online (Sandbox Code Playgroud)
它给了我一些奇怪的结果。一些行号重复。什么是优雅且更可靠的方法来做到这一点?
我在 Debian 上使用传输守护程序来处理我的种子。
目前,我一直在使用网站http://torrenteditor.com/将跟踪器添加到 .torrent 文件。
我想直接使用 Linux 命令行编辑 .torrent 文件,并轻松更改关联的跟踪器(或添加一个,如果可能的话)。
是否可以?
bash ×10
linux ×4
command-line ×2
windows ×2
alias ×1
cat ×1
container ×1
docker ×1
git ×1
git-bash ×1
powershell ×1
readline ×1
shell ×1
sudo ×1
tcsh ×1
terminal ×1
transmission ×1
windows-10 ×1