Bash on Windowsに関して

Bashの起動(カレントディレクトリを引き継ぐ)
C:\Users\foo> bash
/mnt/c/Users/foo$

Bashの起動(WSLのデフォルトユーザのホームディレクトリで起動)
C:\Users\foo> bash ~
/home/foo$

Bashを起動せずにLinuxコマンドを実行
> bash -c "コマンド"

Windows側のドライブはBoW上では /mnt/ドライブレター としてマウントされています。
C:\ -> /mnt/c/

逆に、Windows側から見たBoWの/ディレクトリは、
%USERPROFILE%\AppData\Local\lxss\rootfs です。

このフォルダを直接いじるとパーミッションやシンボリックリンクが壊れそうなのでやめておいたほうがよさそうです。

https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/


C:\tesy.pyをBoWのPythonで実行するには
> bash -c "python /mnt/c/test.py"
とすることができます。


BoWのインストール
> lxrun /install
    引数に /y で許可を求めません
    既にインストールされている場合は再インストールされます。


BoWのアンインストール
> lxrun /uninstall
    引数に /full でユーザディレクトリも含めて完全に削除、 /y で許可を求めません


デフォルトユーザの設定・作成
> lxrun /setdefaultuser ユーザ名


アップデート
>lxrun /update
    $ sudo apt update と一緒です


LinuxのシステムコールをWinNTのシステムコールに変換して実行しているので、LinuxカーネルはWindowsの自前、その他はUbuntuそのもののようです。

$ cat /proc/version
Linux version 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014

コメント

このブログの人気の投稿

fontconfigの設定

UEFIのブートオーダーを一時的に変更する

VLCでBlu-rayを再生