小编mer*_*011的帖子

如果我可以在没有密码的情况下使用 sudo,为什么我需要一个 tty 来运行 sudo?

我已配置sudo为无需密码即可运行,但是当我尝试时ssh 'sudo Foo',仍然收到错误消息sudo: sorry, you must have a tty to run sudo

为什么会发生这种情况,我该如何解决?

ssh sudo tty

232
推荐指数
4
解决办法
30万
查看次数

如何将 `time` 输出和命令输出重定向到同一个管道?

假设我有一个名为foo.

如果我想将 的输出重定向foo到某个其他进程bar,我可以编写./foo | bar.

另一方面,如果我想timefoo 并重定向time我可以编写的输出,time (./foo) | bar.

我的问题是,如何将 的输出粘贴到输出time的末尾foo并将其通过同一管道输送

以下解决方案不是我正在寻找的,因为它启动了进程的两个单独实例bar,而我想要一个共享管道,到bar.

time (./foo | bar)  | bar
Run Code Online (Sandbox Code Playgroud)

对于任何好奇的人,不想启动两个实例的bar原因是因为bar可以是网络客户端,并且我希望将计时信息http POST作为与进程输出相同的消息的一部分发送到服务器。

command-line shell pipe time-utility

28
推荐指数
2
解决办法
2万
查看次数

即使接口关闭,也无法移除 iwlwifi 模块

当我运行以下两个命令时,第一个没有错误返回,但第二个给了我 FATAL: Module iwlwifi is in use.

sudo ifconfig wlan0 down
sudo modprobe -r iwlwifi
Run Code Online (Sandbox Code Playgroud)

如果关闭无线接口仍然使用内核模块,这意味着什么?

command-line wifi modprobe

8
推荐指数
1
解决办法
2万
查看次数

为什么`tmux`复制操作总是向终端输出临时乱码?

如果我使用 完成复制操作tmux,我总是会在屏幕上写入一行或多行乱码,当我更改窗口或粘贴时,这些乱码就会消失。

为什么会发生这种情况,是否可以禁用?

tmux

7
推荐指数
1
解决办法
989
查看次数

在 Ubuntu 12.04、内核 3.8.0-29-generic 中从命令行使用 WEP 的 Wi-Fi

我已删除network-manager并尝试手动配置 WEP 的 Wi-Fi。我正在运行一个X1 Carbon.

这是我正在运行的命令:

ifconfig wlan0 down
iwconfig wlan0 essid "<MYSSID>"
iwconfig wlan0 key <WEP Key (hex digits>
ifconfig wlan0 up
dhclient -v wlan0
Run Code Online (Sandbox Code Playgroud)

的输出dhclient -v是一个流

DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3  
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
Run Code Online (Sandbox Code Playgroud)

这是dmesg | tail(删除了mac地址)的输出

[  739.160769] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  742.280433] wlan0: authenticate with <router_mac_address>
[  742.288117] wlan0: send auth to <router_mac_address> (try …
Run Code Online (Sandbox Code Playgroud)

command-line networking wifi ubuntu

6
推荐指数
1
解决办法
3012
查看次数

尝试安装新内核时“无法找到我知道如何处理的初始 ram 磁盘”

我正在尝试在当前运行的机器上使用以下命令安装我刚刚从源代码构建的新内核Linux rc70 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u2 (2016-01-02) x86_64 GNU/Linux

sudo dpkg -i ../linux-image-3.16.7+_3.16.7+-10.00.Custom_amd64.deb
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。

: Unable to find an initial ram disk that I know how to handle.
Will not try to make an initrd.
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因以及我可以采取哪些步骤来尝试解决此错误?

debian linux-kernel

6
推荐指数
1
解决办法
4115
查看次数

如果 tmux 在虚拟 tty 中运行,是否可以在 tmux 中运行 fbi?

我已经看过这个问题,并且解决方案在我可以在我的虚拟控制台中显示图像的范围内有效。但是,如果我首先tmux在虚拟控制台中启动 a ,然后尝试fbi <imagename>,则会失败并显示以下错误。

using "DejaVu Sans Mono-16", pixelsize=16.67 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
ioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
Run Code Online (Sandbox Code Playgroud)

是否有解决方法,例如某些设置tmux将允许它使用fbi

tmux fbi

5
推荐指数
1
解决办法
998
查看次数

如何使 OSX 中的 `cal` 工具突出显示当天?

在 Ubuntu 和 Fedora 中,当我cal在命令行上输入时,我会得到一个 ASCII 日历,其中突出显示了当天。

在 OSX 中,当我输入 时cal,我得到一个 ASCII 日历,但没有突出显示日期。

如何在 OSX 中突出显示当前日期?

osx cal

5
推荐指数
1
解决办法
1500
查看次数

有没有办法对 make 进程或任何带有子进程的进程进行复制?

考虑以下Makefile

all:
    yes
Run Code Online (Sandbox Code Playgroud)

如果我运行make并暂停 using Ctrl-Z,然后启动screenor tmux,然后尝试reptyr,我会收到以下错误。

$ reptyr 5328
[-] Process 5329 (yes) shares 5328's process group. Unable to attach.
(This most commonly means that 5328 has suprocesses).
Unable to attach to pid 5328: Invalid argument
Run Code Online (Sandbox Code Playgroud)

确实make有子流程,但是有没有办法reptyr使用此工具或其他工具?

tty pty reptyr

5
推荐指数
1
解决办法
4052
查看次数

可以打字吗?在 bash 命令行上没有复制和粘贴?

这似乎是一个奇怪的问题,但我突然想到,在键入如下命令时,我总是必须从Wikipedia复制并粘贴该字符。

echo '5 ?s' >> /tmp/Output
Run Code Online (Sandbox Code Playgroud)

有没有办法直接在标准英文键盘上的键盘快捷键上使用转义序列输入这样的字符?

例如,在 中Vim,可以执行C-k,m*此操作来生成此字符。

command-line keyboard-shortcuts keyboard input-method

5
推荐指数
1
解决办法
2689
查看次数

这种奇怪的安全行为的原因是什么?

以下命令(服务器名称混淆)按顺序运行正常:

ssh xxx.sjc
sudo -u appName id
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将它们链接在一起时,事情就破裂了:

ssh xxx.sjc 'sudo -u appName id'
Sorry, user merlin2011 is not allowed to execute '/bin/id' as appName on xxx.sjc.
Run Code Online (Sandbox Code Playgroud)

两种模式之间的哪些差异ssh可能导致这种情况,我可以做些什么来调查?

在操作系统方面,我在客户端运行 OSX,在服务器上运行自定义 Linux 发行版(由我公司的其他人部署)。

uname -r
3.10.0-1127.18.2.el7.x86_64
Run Code Online (Sandbox Code Playgroud)

ssh

5
推荐指数
1
解决办法
910
查看次数

安装后如何卸载“dev”?

看来我dev安装后无法卸载。我正在继续Ubuntu 18.04.2 LTS运行4.15.0-1052-aws

mkdir -p ~/jail/dev
pushd ~/jail
sudo mount --rbind /dev dev/
sudo umount  dev/
umount: /home/ubuntu/Code/conversations/jail/dev: target is busy.
Run Code Online (Sandbox Code Playgroud)

有什么方法可以在不重新启动机器的情况下卸载它吗?

或者,有没有一种方法可以安装它以便更容易卸载?

更新:这是以下的输出lsof /home/ubuntu/Code/conversations/jail/dev

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
kdevtmpfs  55 root  cwd    DIR    0,6     2980    2 dev
kdevtmpfs  55 root  rtd    DIR    0,6     2980    2 dev
Run Code Online (Sandbox Code Playgroud)

mount unmounting

3
推荐指数
1
解决办法
4341
查看次数

是否有命令列出当前打开的所有抽象 UNIX 套接字?

是否有命令或系统调用用于列出当前打开的所有抽象 unix 套接字?

更新:有人建议我使用netstat -x,理论上可行,但不会列出抽象套接字的名称,仅列出那些带有路径的名称。

bash-5.0$ netstat -xeW
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ]         STREAM     CONNECTED     3959158
unix  2      [ ]         STREAM     CONNECTED     3961068
unix  3      [ ]         STREAM     CONNECTED     3965008
unix  3      [ ]         STREAM     CONNECTED     3967192 /run/spire/writable/agent.sock
Run Code Online (Sandbox Code Playgroud)

linux command-line unix-sockets

3
推荐指数
1
解决办法
4254
查看次数