.bashrc
Windows Subsystem for Linux でファイルを安全に編集するにはどうすればよいですか?
この記事AppData
Windows ツールを使用してWSL フォルダーに保存されているファイルを編集しないよう警告します。
.bashrc
しかし、どうすれば安全にファイルを編集できるのでしょうか?
答え1
組み込みnano
エディターを次のように使用します。
nano ~/.bashrc
最も重要なショートカットは、ファイルを保存するための+とエディターを閉じるための+nano
です。CtrlOCtrlX
使用方法の簡単なガイドnano
は、Gentoo Linux ウィキ。
答え2
私は思うビジュアルスタジオコード問題なく動作します。リモート - WSL拡大。
これを使用するには、cmd を開いて と入力しますbash
。とbash
入力してを使用します。cd
code .bashrc
できました! VS Code が WSL で開き、必要なファイルを編集できます。
答え3
ここにまた別の回答を追加するのは申し訳ないのですが、質問自体(ここにある他のすべての回答と同様に)はコンテクストそれは、他の誰かがやって来て理解しようとするときには欠けているものです。
元の質問にリンクされているMicrosoftの警告は、WSL1ファイルの編集に関するものです。Windows経由Windows の%AppData%
パスを使用します。WSL バージョン 1 (バージョン 2 ではありません) では、WSL は Linux インスタンスのファイルシステム全体を Windows フォルダーに保存しました。これらのファイルは、Windows のユーザーに表示されますが、Windows で編集しないでください。警告にあるように、注意しないと WSL インスタンスが破損する可能性があります。
これは WSL バージョン 2 では問題になりません。ファイルシステムは仮想ディスクに保存されるため、ファイルシステムを直接編集することはできません。
しかし、どちらのバージョンでも、はファイルを安全に編集できます(含む~/.bashrc
)内部WSLインスタンス。そこでは、それはWSLファイルシステム内の通常のファイルです。2019年の2つの回答(BeastOfCaerbannogのそしてWinEunuuchs2Unixの) はこのアプローチを利用しています。何も問題はありません。どちらも正解です。ただし、Windows X Server をインストールしてgedit
WSL ファイルを編集するのはやりすぎだと思います。他のエディターも引用できます (完全を期すために Emacs の回答を追加したい人はいませんか? ;-))。
の2020年のブリクストン・マヴの回答も、同じアイデアをアレンジしたものです。VSCode は Windows ツールを使用しますが、WSL インスタンス内でサーバーを起動し、そのサーバーと通信して WSL インスタンスの編集、参照、デバッグを可能にします。
それから@Jonの最近の回答(この質問が押し上げられたため、私がこの質問を見たのです)。これは、WSL インスタンス内からではなく、Windows 内から WSL ファイルを安全に編集する方法についての (ほぼ) 正しい回答です。ただし、元の質問でリンクされていた Microsoft のブログ エントリでは、実際には既に言及されています。
「ほとんどの場合」と言うのは、一般的に、Windows ツールを使用して Linux ファイルを編集することは避けるべきだからです。多くの Windows エディタはデフォルトで DOS/Windows の行末を使用するため、これも~/.bashrc
失敗の原因になります。一部のツールは既存のファイルが Linux ファイルであることを認識できるほどスマートですが、そうでないツールもあります。ただし、ほとんどのツールは、他の形式がない場合、デフォルトで CRLF (DOS/Windows) を使用します。
のエラーによりWSLインスタンスが起動しない場合は~/.bashrc
、できた@Jon の提案に従って\\wsl$\
編集しますが、(私見では) 他にもより安全な代替手段があります。
~/.bashrc
そのファイルが起動を妨げている場合にそれを編集するには、次を実行します。
wsl -e bash --norc -c "vi ~/.bashrc"
または
wsl ~ -e bash --norc
vi .bashrc
これbash
により、既存の をソースせずに起動します~/.bashrc
。
他の方法としては、セッションを root として起動する方法があります。
wsl -u root
その後、必要な編集を行います。
一般に、WSL には、wsl
インスタンスを起動するためのコマンドの引数を使用することで、いくつかの驚くべき回復メカニズムが備わっています。
答え4
GUI エディターを希望する場合は、VcXsrv
ここに詳述されているようにインストールしてください。
次にgedit ~/.bashrc