找不到我从 cygwin 安装的命令 - 无法运行我安装的 ddrescue

找不到我从 cygwin 安装的命令 - 无法运行我安装的 ddrescue

我跑了https://cygwin.com/setup-x86_64.exe 并安装 ddrescue

这里有一些来自 cygwin 和 cmd 的信息,以便您看到文件的位置和路径。

在此处输入图片描述

user@hp-probook1 ~
$ PATH=$PATH:/bin

user@hp-probook1 ~
$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah:/usr/bin:/bin

user@hp-probook1 ~
$ ddrescue
-bash: ddrescue: command not found

user@hp-probook1 ~
$

C:\cygwin>dir
 Volume in drive C has no label.
 Volume Serial Number is 4645-5DCE

 Directory of C:\cygwin

20/04/2020  22:48    <DIR>          .
20/04/2020  22:48    <DIR>          ..
05/11/2020  02:29    <DIR>          bin
14/03/2020  01:02            53,342 Cygwin-Terminal.ico
14/03/2020  00:59                88 Cygwin.bat
14/03/2020  01:02           157,097 Cygwin.ico
14/03/2020  00:59    <DIR>          dev
05/11/2020  02:29    <DIR>          etc
22/04/2020  10:00    <DIR>          home
20/04/2020  22:48    <DIR>          lib
14/03/2020  00:35    <DIR>          pk
20/04/2020  22:48    <DIR>          sbin
20/04/2020  22:46         1,352,723 setup-x86_64.exe
14/03/2020  00:59    <DIR>          tmp
14/03/2020  00:58    <DIR>          usr
14/03/2020  00:58    <DIR>          var
               4 File(s)      1,563,250 bytes
              12 Dir(s)  19,118,116,864 bytes free

C:\cygwin>dir bin\dd*
 Volume in drive C has no label.
 Volume Serial Number is 4645-5DCE

 Directory of C:\cygwin\bin

03/02/2017  19:40            83,987 dd.exe
03/04/2020  16:17           118,291 ddrescue.exe
03/04/2020  16:17            59,411 ddrescuelog.exe
               3 File(s)        261,689 bytes
               0 Dir(s)  19,118,116,864 bytes free

C:\cygwin>

添加信息

user@hp-probook1 ~
$ which ddrescue
which: no ddrescue in (/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah)

user@hp-probook1 ~
$ echo  $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah

user@hp-probook1 ~
$ PATH=$PATH:/bin

user@hp-probook1 ~
$ which ddrescue
which: no ddrescue in (/usr/local/bin:/usr/bin:/cygdrive/c/windows:/cygdrive/c/windows/system32:/cygdrive/c/blah:/bin)

user@hp-probook1 ~
$

user@hp-probook1 /bin
$ cd /bin

user@hp-probook1 /bin
$ ls dd*
dd.exe

user@hp-probook1 /bin
$

user@hp-probook1 /bin
$ cd /cygdrive/c/cygwin/bin

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ls ddrescue
ddrescue

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ddrescue --help
-bash: ddrescue: command not found

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ./ddrescue --help
ddrescue: Both input and output files must be specified.
Try '/usr/bin/ddrescue --help' for more information.

user@hp-probook1 /cygdrive/c/cygwin/bin
$ ls /usr/bin/ddrescue
ls: cannot access '/usr/bin/ddrescue': No such file or directory

user@hp-probook1 /cygdrive/c/cygwin/bin
$

答案1

现在有效。

我意识到它不仅不能运行 ddrescue,也不能运行 ssh……尽管我安装了 ssh。以正常方式重新安装 cygwin 不起作用。

Cygwin 自然需要两个目录,一个用于它,一个用于包。我有一个用于 cygwin 的目录,例如 c:\cygwin,另一个用于包 c:\cygwinpk

为了使它正常工作,我将 c:\cygwin 重命名为 c:\oldcygwin,并将 c:\cygwinpk 重命名为 c:\oldcygwinpk

我下载了 cygwin 安装程序(当然是 64 位的,因为 32 位的已经是很久以前的了,甚至我的相当老的电脑也是 64 位的)。然后我安装了 cygwin

这造成了差异,迫使 cygwin 真正进行全新安装。

为了使其正常工作,我必须在重新安装 cygwin 之前重命名旧的 cygwin 目录。

现在如你所见,它起作用了

user@hp-probook1 ~
$ echo $PATH
/usr/local/bin:/usr/bin:/cygdrive/c/tech/something:/cygdrive/c/Program Files (x86)/QuickTime/QTSystem:/cygdrive/c/Program Files/Microsoft Network Moni
tor 3:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/blah

user@hp-probook1 ~
$


user@hp-probook1 ~
$ ddrescue
ddrescue: Both input and output files must be specified.
Try 'ddrescue --help' for more information.

user@hp-probook1 ~
$ ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

user@hp-probook1 ~
$ which ddrescue
/usr/bin/ddrescue

user@hp-probook1 ~
$ which ssh
/usr/bin/ssh

user@hp-probook1 ~
$

这是在 Windows 7 机器上。在 Win7 上,虚拟机是替代方案。Windows 10 还有另一个选项,即非常时髦的功能性“WSL”(Linux 的 Windows 子系统),它允许您设置例如 Ubuntu 系统。Windows 中看到的 c 驱动器在 /mnt/c 中可见。就像在 cygwin 中一样,它位于 /cygdrive/c 中。因此人们在 Win10 中可能会较少使用 cygwin。由于 WSL *nix 程序似乎更适合 *nix,因此您将始终获得任何 *nix 用户都会获得的最新版本。

相关内容