在 Bash/ZSH 和其他 shell 中,我习惯使用&&和||。
Fish 中是否有任何等价物?
我有一个 Ubuntu Server VPS,我想/bin/bash/用作我的 shell。我怎样才能改变我的外壳?我有 root 访问权限,但我不以 root 身份工作。所以破折号现在是我的默认外壳。
我已阅读如何将 Bash 设为 Ubuntu 上的默认 shell?和chsh接缝是首选的方式。但是当我输入时,chsh /bin/bash我收到此消息:
chsh: unknown user /bin/bash
如果我只是输入/bin/bashBash shell 接缝就可以正常工作。如何改变它?
每当我尝试bash使用适用于 Linux 的 Windows 子系统登录时,我都会尝试cd进入C:\Users\,但我得到的只是找不到目录。
CWindows Linux 子系统的驱动器在哪里?是孤立的吗?
bash shell command-line windows-subsystem-for-linux windows-10-v1607
tee我见过的所有用法都是这样的:
do_something | tee -a logfile
Run Code Online (Sandbox Code Playgroud)
或者:
do_something_else | tee logfile
Run Code Online (Sandbox Code Playgroud)
是tee为那些不知道你可以用 shell 管道重定向做同样的事情的人发明的吗?如:
do_something >> logfile
Run Code Online (Sandbox Code Playgroud)
或者:
do_something_else > logfile
Run Code Online (Sandbox Code Playgroud)
它实际上是一样的,而且打字所需的键盘敲击次数更少。我没有看到哪些隐藏功能tee?
是否有任何内置的 Linux 命令允许输出一个输入字符串的 n 倍的字符串??
UNIX 提示符使用一个$符号来指示您的输入是预期的。
我想知道为什么选择这个符号——如果有什么原因的话。美元似乎有点出乎意料。>在我看来,一个符号会更具暗示性。
我正在尝试将 Mac OS X 的登录外壳从bash更改为zsh. 我认为在 Mac OS X Leopard 中是可能的,但对于 OS X Lion 我找不到方法。我真的希望可以将登录 shell 从 bash 更改为其他内容。我不确定在哪里寻找。
我在我的 linux 机器上使用了很多到各种服务器的 SSH 隧道(用于连接到数据库、Web 服务器等),通过 shell 脚本查看当前打开的隧道列表会非常方便。
我可以通过 netstat 上的 grep 识别本地连接:
netstat -n --protocol inet | grep ':22'
Run Code Online (Sandbox Code Playgroud)
但这不会向我显示它连接到的远程端口(显然包括没有隧道的标准 SSH 连接)
更新:答案很好,但没有显示我连接的远程端口。例如,我经常有一条通向 mysql 的隧道,比如 localhost:3308 映射到服务器上的 :3306。通常我可以通过我选择的本地端口来猜测,但同时访问这两个端口会很好。
有任何想法吗?
我有一个名为data. 然后我在用户 id 'robot' 下运行一个脚本。机器人写入data目录并更新里面的文件。data我和机器人都可以更新这个想法。
所以我设置了这样的权限和所有者组
drwxrwxr-x 2 me robot-grp 4096 Jun 11 20:50 data
Run Code Online (Sandbox Code Playgroud)
我和机器人都属于'robot-grp'。我像父目录一样递归地更改权限和所有者组。
我定期data使用rsync. 不幸的是,上传的新文件没有像我希望的那样继承父目录的权限。相反,它看起来像这样
-rw-r--r-- 1 me users 6 Jun 11 20:50 new-file.txt
Run Code Online (Sandbox Code Playgroud)
当机器人尝试更新时new-file.txt,由于缺少文件权限而失败。
我不确定设置 umask 是否有帮助。无论如何,新文件并没有真正遵循它。
$ umask -S
u=rwx,g=rx,o=rx
Run Code Online (Sandbox Code Playgroud)
我经常对 Unix 文件权限感到困惑。我什至有一个正确的计划吗?我正在使用 Debian lenny。
shell ×10
bash ×4
command-line ×3
linux ×3
unix ×2
chsh ×1
fish ×1
history ×1
macos ×1
permissions ×1
prompt ×1
ssh ×1
ssh-tunnel ×1
tee ×1
ubuntu ×1