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
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
コメント
コメントを投稿