つい2, 3ヶ月前に現在使っているMacを手に入れて、講演会や数値計算を始めたのですが、実はまだターミナルの設定を自分好みにしていませんでした。
やっとその設定も行ったので、メモがわりに記事にします。
環境
Mac Book Pro
- OS: macOS Mojava
- 起動シェル: bash
ターミナルコマンドとは
プログラミングをやる人にとっては、「ターミナル」は欠かせないツールでしょう。
Windowsでいうところのコマンドプロンプトが、MacやLinux系のターミナルです。
コマンドを打ち込んで、Enterで実行し、いろいろできます。例えば下記のようなコマンドが日常で使われています。
ls | 現在いるディレクトリの内容を表示 |
cd nanika | 「nanika」というディレクトリに移動 |
pwd | 現在のいるディレクトリのアドレスを表示 |
mkdir nanika | 「nanika」というディレクトリを作成 |
cp nanika.txt nanika_new.txt | ファイル「nanika.txt」をコピーして、新しく「nanika_new.txt」を作成 |
これらのコマンドは、最初から用意されていますが、実は自分で作ることも可能です。
例えば下記のように拡張子が「txt」であるファイルを表示するというコマンドを新しく自作することができます。
ls *txt
新しいコマンドを「txt」としました。実行例が下記。
この例では、txtファイルの他に、html, py, forのファイルが含まれているディレクトリ内で「txt」と打つだけでtxtファイルのみを表示できたことを示しています。
今回はこの自作コマンドの作り方を紹介します。
「.bashrc」へ自作コマンドを書き込み、「.bashrc」をターミナル起動時に読み込む設定を行えば良いです。
「.bashrc」へ自作コマンドを書き込む
まず、自分のhomeディレクトリに「.bashrc」があるかを確認します。
ターミナルで
cd ~
と打つと、homeディレクトリにいけます。(普通はターミナル起動時にhomeにいる。)
「.bashrc」は先頭にピリオドがあることからもわかるように、隠しファイルになっていますので、
ls -a
であるかどうかを確認します。下記がその結果例
「.bashrc」があれば、それを開き、なければ、emacsなどのテキストエディタで新たに作成します。
このファイルには大事な設定が書かれていることもあるので、すでにファイルが存在し、何書かれているのなら、その部分は触らずに、下の方に追加していきます。
例を示します。
#.bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
#ここまではすでに書き込まれている。
#新たに以下を追加する。
alias txt='ls *txt'
ここで「#」はコメント行を意味しています。上記の例では「ls *txt
」を意味する「txt
」というコマンドを作成しています。
「alias」は「エイリアス」と読むことから、このような作業は「エイリアスを張る」などと呼ばれています。
aliasを書き込むときには下記の注意が必要です。
つまり「=」の前後にスペースを入れてはいけません。入れると次のようなエラーが後々出ます。
-bash: alias: txt: not found
-bash: alias: =: not found
-bash: alias: ls *txt: not found
無事に「txt」というコマンドが上記のように作成できたら、次にこれが使えるように「.bashrc」を読み込みます。ターミナルで、
source ~/.bashrc
と打てば、読み込まれます。これで新しいコマンド「txt」が使えるようになります。何かエラーが出たら、上記の注意をまずは確認してください。
このままではターミナルを立ち上げるたびに「source ~/.bashrc
」を打たないと反映されないという場合がありますので、次の設定が必要になります。
「.bash_profile」を設定し、ターミナル起動時に.bashrc設定を自動的に読み込む
homeディレクトリにある「.bash_profile」に次のコードを書き入れます。
#.bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
「.bash_profile」は「.bashrc」と同様にhomeディレクトリにある隠しファイルですので「ls -a
」を使って存在の確認をしないと行けないです。
Macの場合には、ターミナル起動時に「.bash_profile」が読み込まれるらしく、ここに「.bashrcを読み込め」と書いておけば、勝手に読んでくれるということです。
自作コマンドaliasの例
私がよく使っている例をここで示したいと思います。
#.bashrc
#ファイルの詳細を確認するコマンド
alias ll="ls -l"
#隠しファイル含みの全てのファイルを確認するコマンド
alias la="ls -a"
#1つ上のディレクトリにcd移動するコマンド
alias ..="cd .."
#現在の位置をクリップボードへコピーするコマンド
alias pwc="pwd | pbcopy"
#rm(削除)するときに、確認を入れる。
alias rm="rm -i"
#lsするときに、ファイル別にカラーをつける。
alias ls="ls -G"
#ターミナル内の表現の色をいい感じにする。
export LSCOLORS=gxfxcxdxbxegedabagacad
#ターミナルと閉じるコマンドを1文字の「q」にするコマンド
alias q="exit"
以上、お役に立てれば!
コメント