我正在我的 Ubuntu 系统上安装 hadoop。当我启动它时,它报告端口 9000 繁忙。
我用了:
netstat -nlp|grep 9000
Run Code Online (Sandbox Code Playgroud)
看看这样的端口是否存在,我得到了这个:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能得到持有它的进程的 PID?
我一直在尝试ssh-add使用运行 Raspbian 的 RaspberryPi。
我可以开始ssh-agent,当我这样做时,会在终端中提供以下输出:
SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2807; export SSH_AGENT_PID;
echo Agent pid 2807;
Run Code Online (Sandbox Code Playgroud)
如果我运行,ps aux | grep ssh我可以看到它正在运行。
然后我尝试运行ssh-add以添加我的密钥密码,我得到以下信息:
Could not open a connection to your authentication agent.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
以下命令有什么区别:
su
sudo -s
sudo -i
sudo bash
Run Code Online (Sandbox Code Playgroud)
我知道su我需要知道 root 密码,而且sudo我必须在sudoers文件中,但是一旦执行有什么区别?
我知道su和之间存在差异,sudo -s因为我的主目录/root在我执行之后su,但我的主目录仍然/home/myname在sudo -s. 但我怀疑这只是我遗漏的潜在差异的症状。
我有一个这样的用户:
uid=501(ironsand) gid=500(foo) groups=500(foo),10(wheel),497(git),501(ironsand)
Run Code Online (Sandbox Code Playgroud)
并将主要组更改为 Ironsand like gid=501(ironsand),我输入了以下命令:
sudo usermod -g ironsand ironsand
Run Code Online (Sandbox Code Playgroud)
它改变了组的顺序,但没有改变主组,如:
uid=501(ironsand) gid=500(foo) groups=501(ironsand),10(wheel),497(git),500(foo)
Run Code Online (Sandbox Code Playgroud)
我以为有人已经问过这样的问题,但我找不到。
如何更改主要组?
我低头看着我的键盘并输入我的密码,因为我以为我已经输入了我的登录名。我按了Enter,然后当它要求输入密码时,我按了Ctrl+ c。
我应该采取一些预防措施来确保密码不是以纯文本形式存储在某处还是应该更改密码?
这也是在 ubuntu 服务器 16.04 LTS 上的 tty 上。
我想在我做一些事情后自动cd到clone命令创建的目录git clone。
重要提示:我不想改变命令的语法(例如使用别名/函数),因为它会破坏我从Pretzo项目中自动获得的 zsh 完成。
编辑:我没有选择任何正确答案的原因是因为没有给出符合上述条件的答案。
我使用 ZSH,但在任何其他 shell 中的答案也是可以接受的。
我有一台配备 Intel(R) Pentium(R) CPU G640 @ 2.80 GHz 和 8 GB RAM 的 PC。我正在使用 EXT3 文件系统在其上运行 Scientific Linux 6.5。
在此设置中,我可以sort -u在 200 GB 文件上执行的最快方法是什么?
我应该将文件拆分为较小的文件(小于 8 GB)sort -u,将它们放在一起,然后再次以不同的大小sort -u再次拆分它们,等等?或者是否有任何排序脚本、程序可以用我有限的 RAM 处理这么大的文件?
Bash有PROMPT_DIRTRIM选项,例如当我设置时PROMPT_DIRTRIM=3,然后是一条长路径,如:
user@computer: /this/is/some/silly/path
Run Code Online (Sandbox Code Playgroud)
将显示为:
user@computer: .../some/silly/path
Run Code Online (Sandbox Code Playgroud)
是否存在类似的选项zsh?
循环文件时有两种方式:
使用for循环:
for f in *; do
echo "$f"
done
Run Code Online (Sandbox Code Playgroud)使用find:
find * -prune | while read f; do
echo "$f"
done
Run Code Online (Sandbox Code Playgroud)假设这两个循环会找到相同的文件列表,那么这两个选项在性能和处理上有什么区别?
我在同一个 zfs 池中有两个文件系统,/mnt/fs_a并且/mnt/fs_b. 我想约1TB的数据,从移动fs_a到fs_b。但是当我:
mv /mnt/fs_a/mythtv_recordings /mnt/fs_b/
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,它开始逐块复制文件。鉴于移动 2GB 文件所需的时间,看来此操作需要数天的大量抖动才能完成。
必须有一种更聪明、更快的方法来做到这一点,对吗?