标签: command

“which”无法找到命令,即使它确实已安装

我最近安装了cryptsetup. 我已经仔细检查过sudo apt-get install cryptsetup

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
cryptsetup is already the newest version (2:2.3.7-1+deb11u1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用该命令时,它无法识别它。

bash: cryptsetup: command not found
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用 查找命令的位置whichwhich cryptsetup

但是该命令不会返回任何内容。man cryptsetup说这cryptsetup确实是正确的命令名称。这里有什么问题吗?

linux debian path which command

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

每次命令失败后如何执行命令?

我试图记录每次命令失败的时间(通过向我的 VPS 发送 HTTP 请求),以查看我搞砸了多少次。

我试过了:some_command || curl <my-vps>。有没有更好的办法?

linux bash logs zsh command

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

如何在终端中列出可用的应用程序命令

我正在使用fluxbox,最近我想启动一个视频编辑应用程序,但我不记得它的名字了。我通常从终端运行应用程序,所以我想知道有没有办法列出所有(应用程序或)应用程序特定命令,如 Xmonad 的“运行或提升”功能?可以在 1:14 看到此功能:http : //www.youtube.com/watch?v= AyNkBLhIpQk&feature=related

编辑:我希望能够在终端中键入一个命令,该命令将返回所有已安装应用程序的列表(所有可用应用程序命令的列表,例如 shotwell、gedit、gvim、vim、vi、firefox、chromium-browser 等)基本上我想知道我可以运行哪些应用程序(我有哪些应用程序)

terminal command

4
推荐指数
1
解决办法
8306
查看次数

unix 命令打印到每行中第 3 次出现“/”

我有一个文件包含如下数据...

/tutordashboard/manageTutorLogInStatus/?ua=TQ-AUTOCLOSE-REENTER&filterId=089089087087080&dt=1325757272
/tutordashboard/manageTutorLogInStatus/?ua=TQ-AUTOCLOSE-REENTER&filterId=089089087087080&dt=1873982869
/tutordashboard/manageTutorLogInStatus/?ua=TQ-BUTTON-DISABLED&sessionType=1&sessionId=4938718&filterId=97462&dt=1354822214604
/tutordashboard/manageTutorLogInStatus/?ua=TQ-BUTTON-DISABLED&sessionType=1&sessionId=4951063&filterId=95997&dt=1354807593071
/tutordashboard/manageTutorLogInStatus/?ua=TQ-BUTTON-DISABLED&sessionType=2&sessionId=4957338&filterId=99353&dt=1354752909284
Run Code Online (Sandbox Code Playgroud)

如何获得在每行中打印到第三次出现“/”的输出?

command

4
推荐指数
1
解决办法
127
查看次数

递归查找可执行文件

我有调用的目录Test和其中的几个目录。两者Test和其中的目录都有可执行文件。我想用ls. 我会使用这个命令。

ls -l `find Test/ -perm /u=x,g=x,o=x -type f`
Run Code Online (Sandbox Code Playgroud)

这是一个好的/正确的/快速的命令吗?

我的解决办法是:

find Test/ -executable -type f -exec ls -l {} \;
Run Code Online (Sandbox Code Playgroud)

并得到了与warl0ckpradeepchhetri提供的相同的结果。

find executable recursive command

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

哪个 2 个字母的 POSIX 命令与所有其他命令不同?

我接受了实习面试,我得到了与这个相同的问题:http : //www.glassdoor.com/Interview/Which-2-letter-POSIX-command-is-different-from-all-the-others- QTN_498236.htm

答案是对的,是的cd(正如面试官告诉我的那样)。我对这一点很困惑。为什么cd不同?我跟面试官说不一样,因为可能不会被“shell”实现,但当时我不知道我在说什么。

shell cd-command command command-names

4
推荐指数
1
解决办法
1833
查看次数

如何将命令通过管道传输到任何终端?

我经常一次使用多个终端(或终端模拟器);虽然在 XI 中可以复制粘贴命令,除了不太实用之外,它显然不适用于真正的 TTY。我想到的第一个想法是相似的:

command > /dev/sometty
Run Code Online (Sandbox Code Playgroud)

不幸的是,command在运行之前,它是管道,并没有像花样echo `command`会的工作,不管有多少个奇怪的bash字符($`"等)的存在。所以/dev/sometty简单地获取一些文本。

问题是,有时,我什至值得将这些命令通过管道传输到文件中,使其可执行等,或者很快:制作脚本并从适当的终端运行它。但这是很多工作。我一直在考虑制作一个脚本来制作这些文件,以获取说明:

termpipe -e "command1\ncommand2\"command 1 argument\\n(s)\"" -t /dev/sometty 
Run Code Online (Sandbox Code Playgroud)

它会做类似的事情:

  1. 管道命令,例如, /tmp/termpipe-20140208-153029-1.sh
  2. 使文件可执行
  3. 在适当的终端中运行文件
  4. 执行完成后删除脚本

AFAIK,问题出在3.:这不能解决任何问题,因为我需要另一个termpipe实例来在适当的终端上运行第一个实例。一个为那个。另一个是,无限期所以这是行不通的。或者可以吗?...

解决方案可能是为每个终端使用一个命名管道,当每个终端启动时,脚本会告诉管道将它接收到的任何内容转发到终端,然后执行它(就像某种守护进程)。

我认为这可能有效,但我不知道如何设置初始脚本。我怎样才能?如何告诉 FIFO 为各个终端提供管道命令以运行?我不太了解 Bash,所以我很感激完整的解释。

terminal pipe tty command fifo

4
推荐指数
1
解决办法
6202
查看次数

更改软链接后如何更新“命令缓存”?

我已经用ln -f -s. 当我查看带有 的链接时ls -l,我看到它们指向正确的目标。

但是,当我尝试运行该命令时,它仍然尝试使用“旧”目标。

是否有 Linux 命令刷新“命令缓存”以告诉系统使用新创建的软链接?

例如:

OPEN_MPI_PATH=/usr/lib64/mpi/gcc/openmpi
ln -f -s ${OPEN_MPI_PATH}/bin/mpirun  /usr/bin/mpirun
ls -l /usr/bin/mpirun
$ /usr/bin/mpirun -> /usr/lib64/mpi/gcc/openmpi/bin/mpirun
Run Code Online (Sandbox Code Playgroud)

执行mpirun -np 4 hello_world结果调用英特尔 MPI,这是一个“旧”目标。

shell path command

4
推荐指数
1
解决办法
251
查看次数

如何在 sudo 脚本 (OSX) 中以登录用户身份执行?

有没有办法像这样切换上下文?

在我的特定情况下,脚本是安装程序 postinstall 脚本,它仅需要对某些任务具有 sudo 权限,并且需要登录用户在脚本末尾执行 LaunchAgent。

如果此代理以 sudo 权限启动,则用户特定(放置在用户目录中)的日志和其他资源的路径会变得混乱。

sudo shell-script not-root-user command exec

4
推荐指数
1
解决办法
1774
查看次数

我目前正在处理什么文件系统挂载点?

我想知道我目前在哪个文件系统挂载点,类似于pwd用来知道我在哪个目录中。

我知道你可以使用df .(或许df $(pwd)多变体),但我发现检查文件系统使用情况只是为了知道我在哪里有点矫枉过正。

那么:是否有任何命令显示我在哪个文件系统挂载点?

filesystems directory directory-structure command

4
推荐指数
1
解决办法
2168
查看次数