我跑了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 自然需要兩個目錄,一個用於它,一個用於包。
為了讓它工作,我將 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 機器上。 Windows 10 還有另一個選項,一個非常時髦的功能「WSL」(Linux 的 Windows 子系統),它可以讓您設定例如 Ubuntu 系統。而windows中看到的c盤在/mnt/c中可見。就像在 cygwin 中一樣,它位於 /cygdrive/c 中。所以在Win10中人們可能會較少使用cygwin。由於 WSL *nix 程式似乎更適合 *nix,因此您始終會獲得任何 *nix 用戶都會獲得的最新版本。