Windows10のコマンドラインからls
や他の多くのLinuxツールを使用したいと思います。GnuWin32やその他のバイナリ置換があることは知っていますが、Linux用のWindowsサブシステムほどエレガントに機能するものはありません。 (WSL);更新メカニズムを含みます。
WSLを使用すると、コマンドラインからls ...
を介してbash -c "ls ..."
を呼び出すことができます。これは非常に効果的です。ただし、理想的には、コマンドラインでls
と入力するだけです。基本的にls.bat
を実行する@bash -c "ls %*"
を作成できますが、エクスポートするすべてのコマンドに対してそれを実行する必要があります。 ls
(および他の多くの)をコマンドラインにエクスポートするより直接的な方法はありますか?
どうやらこれは WSLで最も要求された機能 であり、Microsoftは現在この機能をサポートしています。コマンドプロンプト(またはPowerShell)内からLinuxコマンドを使用するには、コマンドの前にwsl
を付けるだけです。したがって、たとえば、CMDからls
を実行する方法は次のとおりです。
C:\temp> wsl ls
<- contents of C:\temp ->
または、パッケージリストを更新する方法は次のとおりです。
C:\temp> wsl Sudo apt-get update
[Sudo] password for username:
Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
詳細については、 公式ドキュメント をご覧ください。どんな種類の接頭辞も含まない解決策を探しているかどうかはわかりません。もしそうなら、私はまだ解決策を知りません。
マイクロソフトは、あなたが求めているものを直接サポートしていませんが...
CMD /?
_は、次の2つのレジストリキーを通知します:_HKey_Local_Machine\Software\Microsoft\Command Processor\AutoRun
_と_HKey_Current_User\Software\Microsoft\Command Processor\AutoRun
_、(_/D
_オプションが指定されていない限り)両方の内容がチェックされます新しいコマンドプロンプトウィンドウが開いたときに(この順序で)実行します。これら2つをFOR
ループと、ユーザーフォルダー内の簡単にカスタマイズできる素敵なファイルと組み合わせると、私が望むものにかなり近いものを得ることができます。
これをHKLMに入れ、exportlinuxcommands
という名前の_%USERPROFILE%
_のファイルを参照して、すべてのユーザーが利用できるようにしますが、ユーザーごとに簡単にカスタマイズできます。基本であり、それを設定したユーザーに対してのみ機能します。 1人のユーザーのみに使用する場合、またはユーザーごとにカスタマイズできないようにする場合は、手順を少し変更する必要があります。
HKey_Local_Machine\Software\Microsoft\Command Processor
_に移動しますIF EXIST %USERPROFILE%\exportlinuxcommands FOR /F %i in (%USERPROFILE%\exportlinuxcommands) DO @doskey %i=bash -c "%i $*"
を入力します。ここで、_%USERPROFILE%
_フォルダー(つまり、_C:\Users\YourUserName
_)にexportlinuxcommands
というファイルを作成する必要があります。各Linuxコマンドでは、エイリアスを別々の行に配置します。例えば:
_ls
rm
cat
_
1つを削除したいですか?ファイルから削除すると、次に開いたコマンドプロンプトウィンドウには表示されません。
後でもう1つ追加しますか?それをファイルの独自の行に追加するだけで、次にコマンドプロンプトウィンドウを開いたときにそこに表示されます。
使用してみてください windowsBash
Windows Bash内で次のコマンドを実行して、コマンドのショートカットを生成します
wget https://raw.githubusercontent.com/aleppos/windowsBash/master/windowsBash -P /usr/bin && chmod 0777 /usr/bin/windowsBash && windowsBash
次に、次のディレクトリをWindows * C:\ windowsBashのパスに追加します。
コマンドリストを更新したい場合は、シェルファイルを再度実行してください。
windowsBash