我跑了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 用户都会获得的最新版本。