WindowsのUbuntuでBashをどのように使用しますか?

WindowsのUbuntuでBashをどのように使用しますか?

私はしばらくVirtualBoxでUbuntuを使用してきました。 Windows 10にアップグレードしたため、作業を簡素化し、Windows 10にインストールできるUbuntu(Unixコマンド)を使用してVirtualBoxを起動したり、ファイルを転送したりなど。今回はUbuntuを使いたかったです。

しかし、この機能をどのように効果的に使用するのかわかりません。

正確に:

  • Bashで私のWindows 10ファイル(文書と設定の.txtファイルと仮定)にアクセスする(簡単な)方法はありますか? Bashでファイルを見つけましたが、コマンドを使用しようとPermission deniedすると、ls右クリックしても返されます。Ubuntuのバッシュそして管理者として実行。この問題を解決する方法はありますか?
  • ファイルへのアクセス権があると仮定すると、Bashを介してWindows 10プログラムを実行できますか?それともLinuxバージョンをインストールする必要がありますか?

ベストアンサー1

外部ファイルにアクセスできます/mntDrvFSツリー経由/mnt/cあなたのドライブに対応し、C:同じレイアウトを持っています。ユーザーがアクセスできるすべてのファイルはこのファイルシステムを介して使用でき、権限変換はやや直感的です。

ユーザーにファイルに対する権限に関するヒントを提供するために、DrvFsはユーザーがファイルに対して持っている有効な権限を確認し、「ls - 実行時に見られるように、これらの権限を読み取り/書き込み/実行ビットに変換します。 。ただし、常に1対1のマッピングがあるわけではありません。たとえば、Windows には、ディレクトリ内にファイルまたはサブディレクトリを作成する機能に対する個別の権限があります。ユーザーに2つの権限のいずれかがある場合、DrvFsはディレクトリへの書き込みアクセスを報告します。権限がなく、実際には一部の操作はアクセス拒否のためにまだ失敗する可能性があります。

これは予想と異なる場合があります。具体的には、カスタムACLが適用された、または昇格/昇格されていない端末を介してファイルにアクセスする場合(たとえば、Windowsには既存のUnix 8進権限よりも細かい生成権限があります)、WSLがLinuxにマップされていない場合はそうです。 。 ACL)。あなたに提供される唯一の権限変化wNTFSファイルの読み取り専用フラグに影響を与える書き込み()アクセス。


あなたできるBashでWindowsプログラムを実行する(この機能を使用している場合)バージョン14951以降は昨年からInsiderプログラムを通じて提供され、次のWindowsバージョンで提供される予定です。通常どおり、関連する実行可能ファイルを見つけて実行します。〜しなければならないDrvFSパス内でこれを行います。


次のように組み合わせることができます。

$ export PATH=$PATH:/mnt/c/Windows/System32
$ cd /mnt/c/Users/you
$ notepad.exe file.txt

Linuxファイルから読み取れるWindows実行可能ファイルを(まだ)取得できません。 WSLで実行ファイルを実行すると失敗しますが、別の方法でファイルにアクセスしようとすると、すべてがクラッシュします。

おすすめ記事