1. コマンドに慣れたい
・タイトルの通りです。linuxのコマンドに慣れていくにはとにかく使い倒して自然で覚えていくのが一番良いということで、そういった環境づくりを行おうと考えました。
・私は普段使いのpcがwindowsなので、普通に生活していたら意図的に触る機会がないので何か良い方法はないかなとなんとなく考えていた所、XのフォロワーさんにGit Bashを使えばlinuxのコマンドを使うことができるということを知ったので、早速試そうと触ってみました。
・Git Bash自体は元々Githubってなんだろ~みたいなことを思っていた時にインストールしていました。その時はそんなに色々できるものだとは思っていませんでした。
2.軽く触ってみる
・とりあえずスタートアップアプリにぶちこんで、毎回勝手に起動するように。
・cd
Owner@Owner-PC MINGW64 ~
$ cd desktop/
Owner@Owner-PC MINGW64 ~/desktop
しっかり移動できてそう。しかしこれはコマンドプロンプトでも同様ですね。
・touch
Owner@Owner-PC MINGW64 ~/desktop
$ touch test
desktop上にtestの空ファイルが作成されていました。
ついでにviエディタも試してみます。
Owner@Owner-PC MINGW64 ~/desktop
$ vi test
viエディタが起動しました。
メモ帳でwindows側から覗いてみると、しっかり入力が反映されておりました。
・アプリの起動とailasの設定
・日常的によく使うアプリケーションの起動方法とaliasの設定について調べました。
・microsoft edgeやexcelなどのアプリケーションは、explorer.exeというコマンドで起動できるみたいです。explorer.exeとは、Windowsのファイルエクスプローラー(Windows Explorer)を起動するための実行ファイルで、GUI環境の操作のほとんどに使われるシステムファイルです。(ダブルクリックしたらファイルが開くとか)
何故windowsのシステムファイルが使えるのかということですが、GitBashはwindows側の環境変数を引き継ぐようで、環境変数PATH内にexplorer.exeが含まれているから、コマンドで引っ張って来れるということみたいです。windowsのシステムファイルで試しに私がよく資産管理に使っているexcelを開いてみます。
Owner@Owner-PC MINGW64 ~/desktop
$ explorer.exe "C:\Users\Owner\Desktop\目標管理・資産管理.xlsx"
これで開けました。こういった頻繁に開く必要があるものはaliasで永続的にサクッと開けるようにしたいので、~.bashrcを編集してaliasを追加していきます。
・ホームディレクトリに移動
$ cd ~
・bashrcを編集
vi .bashrc
・ファイル内にaliasを追加して保存
webブラウザとよく利用するexcelファイルを素早く呼び出せるように設定しました。
alias edge='explorer.exe "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"'
alias sisan='explorer.exe "C:\Users\Owner\Desktop\目標管理・資産管理.xlsx"'
・設定を保存して、sourceコマンドで反映
$ source ~/.bashrc
これで、microsoft edgeを起動してみます。
無事起動されました。
これでGit Bash再起動後もaliasが保持されるかなと思いきや、Git Bash上に~/.bashrcファイルは見つかったが、~/.bash_profile、~/.bash_login、または~/.profileのいずれも存在しないというような警告文がでてきました。ですので、bash_profileを作成し、bashrcを読み込むような設定を追加してみます。
~/.bash_profileの編集
vi ~/.bash_profile
bashrcを読み込む設定の追加
・viエディタで開いたファイル内に下記の設定を追加します。
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
上記の操作を実施した所、先ほど表示されていた警告文が消えました。この後にGit Bashを再起動してaliasを実行した所、問題なくアプリケーションが実行されました。
3.まとめ
今回Git Bashを使ってpc操作を行ってきました。正直まだ触れて間もないですが、どうやら学習したLinuxコマンドの多くを使うことができるようで、非常によさげかなと感じています。ただsystemctlやmountといったLinux特有のコマンドや、パッケージマネージャ関連(apt,yumなど)などなど、使うことができないコマンドもいくつかあるので、そちらは実際にlinuxを触って覚えていく必要がありそうです。
今回色々と触ってみて、linuxもですがwindowsに関しても全然知識が足りないな~と思うことが多かったです。PCといいいますか、OSに関する知識も業務効率化やトラブルシューティングの速さに直結しそうな感じがなんとなくしてきますね。とにかく、今後もひたすらGit Bashを使い倒してみようと思います!