はじめに
みなさんこんにちは!
普段WSLを使っていると、Windows側のフォルダに移動したい時ってありませんか?
でも毎回移動するために長いフルパスを打ち込むのって、正直めんどくさいですよね。
今回は、そんな面倒を解消するために、WSL上でWindowsのユーザーディレクトリへ一発で移動できるaliasを設定する方法を紹介します!
環境
- Windows11
- WSL2(Ubuntu)
- bash
問題
WSLで作業をしていると、Windows側のフォルダにアクセスするために下記のようなコマンドを入力することがよくありました。
$ cd /mnt/c/Users/ユーザー名
ただ、このパスを頻繁に入力するのは、正直結構面倒でした。
結論
以下の1行を .bashrc
に追記するだけで、どのディレクトリからでも gotocuser
と入力すればWindowsのユーザーディレクトリに移動できるようになります。
alias gotocuser='cd /mnt/c/Users/ユーザー名'
設定後は、ターミナルを再起動するか、以下のコマンドで即時反映できます。
$ source ~/.bashrc
⚙️ 手順詳細
.bashrc
とは
.bashrc はbashシェルの初期設定ファイルで、シェル起動時に読み込まれます。ここにaliasや環境変数を記述しておくことで、毎回設定し直す必要がなくなります。
.bashrc
に追記する方法
① vim で .bashrc
ファイル を開く
$ vim ~/.bashrc
② ファイルの一番下へ移動
-
Shift + G
で最終行へ -
o
で改行して挿入モードへ
③ alias(エイリアス) を記述
# ユーザー名はご自身のユーザー名に変更してください
alias gotocuser='cd /mnt/c/Users/ユーザー名'
④ 保存して終了
-
Esc
→:wq
→Enter
反映する
ターミナルを再起動するか、以下で即時反映できます。
$ source ~/.bashrc
aliasが登録できている確認する
以下コマンド入力でgotocuser
が出力されればaliasに登録ができたことになります。
もしalias
コマンドでgotocuser
が出力されなかった場合、ターミナルを再起動後にalias
コマンドを打ちこんで確認してください。
$ alias
以上で完了
💡 補足:シェルスクリプトとの違い
最初はシェルスクリプトにcd
コマンドを書いて実行していましたが、シェルスクリプトは新しいプロセスとして実行されるため、その新しく作成されたプロセス内ではcd
コマンドで移動できましたが、スクリプト終了後に現在のシェルには移動が反映されないため、今回は.bashrc
内にalias
で定義しました。
alias
は現在のシェル内で展開されるため、cdなどのコマンドはそのまま現在のシェルに影響を与えられます。
📝 まとめ
今回、WSLからWindowsディレクトリに一発移動するaliasを設定することで、
- 毎回長いcdコマンドを打たなくてよくなった
- 作業効率が上がった
というメリットを感じました。
同じようにWSLでWindowsファイルをよく触る方は、ぜひ導入してみてください。
おわりに
今回、初めてQiitaに学んだことを記事として投稿してみました。
まだまだ改善点はあると思いますが、この記事をきっかけにQiitaへの投稿を習慣化していけたらと思っています。
もし投稿内容に誤りや不明点があれば、コメントでご指摘いただけると嬉しいです。
これからもよろしくお願いします。
参考記事
https://envader.plus/article/249
https://qiita.com/mizuki_takahashi/items/238e04fdc054ac38fcdf
https://qiita.com/ydah/items/18d242b632e5486fe912
https://qiita.com/ydah/items/18d242b632e5486fe912