0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Alias in terminal !

Last updated at Posted at 2025-10-24

コマンドラインを使用する場合、頻繁に実行するコマンドがいくつかあるでしょう。
これらのコマンドの中には非常に長いものもあり、毎回コピーや入力をするのは面倒です。そのような場合、コマンドのエイリアスを作成できます。

例えば、hcd ~ のショートカットとして使いたい場合、シェルの設定ファイルに以下のように定義します:

alias h='cd ~'

この行を ~/.zshrc(または ~/.bashrc)に追加してください。
ホームディレクトリにそのようなファイルが見つからない場合は、以下のコマンドで作成できます:

touch ~/.zshrc

以下に便利なエイリアスがあれば、~/.zshrc ファイルに追加してください。

基本

ディレクトリの変更

cs() { cd $@ && la }
alias cd='cs'
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias cb='cd -'
alias d='cd ~/Desktop'
alias dl="cd ~/Downloads"
alias h='cd ~'
alias /='cd /'

# 作業ディレクトリを最前面のFinderウィンドウの場所に変更
cdf() { cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')" }

ファイルの表示

alias ls='gls --color --group-directories-first -F'
alias l='ls'
alias la='ls -A'
alias ll='ls -AhlS'
alias ds='du -d 1 -h 2>/dev/null | sort -h'
alias pwd='sed "s/ /\\\ /g" <<< ${PWD/#$HOME/"~"}'
alias p='pwd'
alias path='echo -e ${PATH//:/\\n}'
  • ls: gls を使用するには、brew install coreutilscoreutils をインストールする必要があります。tree コマンドと同じ色付けを使用できます。

    • --color オプションは gls コマンドの出力を色付けします。
    • --group-directories-first オプションはディレクトリを最初に配置します。
    • -F オプションはディレクトリ名に末尾の /、シンボリックリンクに @ などを追加します。
  • la, ll: lsla='ls -A' の前に gls --color --group-directories-first -F として定義されています。つまり、la='gls --color --group-directories-first -F -A' となり、ll も同様です。

    • -A オプションは ... を除くすべてのファイルとディレクトリを表示します。
    • -h オプションは人間が読みやすい形式でサイズを表示します。
    • -l オプションはファイルサイズ、所有者、グループ、権限を表示します。
    • -S オプションはファイルサイズでソートします。
  • ds: du -d 1 は現在のディレクトリ内のディレクトリのサイズを表示します。

    • -h オプションは人間が読みやすい形式でサイズを表示します。
    • 2>/dev/null はエラーメッセージを非表示にします。
    • sort -h はパイプを使用してファイルサイズでソートします。
  • pwd: sed "s/ /\\\ /g" はすべてのスペースの前に \ を配置します(エスケープのため)。<<< は「here string」です。${PWD/#$HOME/"~"} は現在のディレクトリパスの $HOME~ に置き換えます。

オプションを指定する場合、ls -A -h -l -S の代わりに ls -AhlS を使用できます。

ファイルの編集

alias v='vi'
alias cp='cp -iv'
alias mv='mv -iv'
alias rm='rm -iv'
alias rf='rm -rf'
  • -i オプションはファイルを上書きする前に確認を求めます。
  • -v オプションはコピー、移動、削除されるファイルの名前を表示します。

検索

fb() { find . -size +$2M -type f -name $1 -exec ls -lhS "{}" +}
rn() { for filename in *.$1; do mv -f "$filename" $(echo "$filename" | sed -e "s/$2//g"); done }
dif(){ diff --color -u $1 $2 }
alias imgopt='open -a ImageOptim .'
alias grep='grep --color'

関数

引数付きのエイリアスを作成できます。これは関数と呼ばれます。関数は function_name() { commands } として定義されます。例えば、fb は2つの引数 $1$2 を取ります。$1 は最初の引数で、$2 は2番目の引数です。fb "*.pdf" 10 のように使用して、10 MB より大きい pdf という名前のファイルを検索します。

$1$2 に加えて、他の特殊変数もあります。

  • $0 は関数名
  • $@ はすべての引数
  • $# は引数の数
  • $? は最後のコマンドの終了ステータス
  • $$ は現在のシェルのプロセスID
  • $! はバックグラウンドで実行された最後のコマンドのプロセスID
  • fb は現在のディレクトリで $2 MB より大きく、名前が $1 のファイルを検索します。
    • -size +$2M オプションは $2 MB より大きいファイルを検索します。
    • -type f オプションはファイルのみを検索します(-type d はディレクトリのみを検索します)。
    • -name $1 オプションは名前が $1 のファイルを検索します。
    • -exec ls -lhS "{}" + オプションは見つかった各ファイルに対して ls -lhS コマンドを実行します。
  • rn は拡張子が $1 のファイルの名前から $2 を削除してリネームします。例えば、rn txt asdfaaasdfff.txtaaff.txt にリネームします。

-exec <command> {} + は見つかった各ファイルに対して <command> を実行する一般的な構文です。{} はファイル名のプレースホルダーです。+ はコマンドの終わりを示す区切り文字です。

アプリを開く

alias hr='open .'
alias vs='code .'
alias c='open -a CotEditor.app'
alias chrome="open -a 'Google Chrome.app'"
  • hr は現在のディレクトリを開きます。
  • c は CotEditor を開きます。
  • vs は Visual Studio Code を開きます。
  • chrome は Google Chrome を開きます。

その他

## global aliases ##
alias -g C='| pbcopy'
alias -g G='| grep'
alias -g H='| head'
alias -g T='| tail'
alias -g NO='>/dev/null'
alias -g NE='2>/dev/null'
alias -g N='&>/dev/null'

alias his='history'
alias hg='history 0 | grep'
alias rl='exec ${SHELL} -l' # 再読み込み
calc() { python -c "import math; print($*)"}

ZIP 暗号化

zipen(){
    zip -er enc.zip "$@"
}

zipen はファイルを ZIP 圧縮し、パスワードで暗号化して enc.zip として保存します。zipen file1 file2 dir1 のように使用します。

"$@" はすべての引数に展開される特殊変数です。例えば、上記の例では "$@"file1 file2 dir1 に展開されます。

Mac OS 設定

Finder で隠しファイルを表示/非表示

alias show="defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder"
alias hide="defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder"

Command + Shift + . を使用して Finder で隠しファイルを表示/非表示にすることもできます。

すべてのデスクトップアイコンを非表示/表示

alias dhide="defaults write com.apple.finder CreateDesktop -bool false && killall Finder"
alias dshow="defaults write com.apple.finder CreateDesktop -bool true && killall Finder"

スクリーンショット設定

alias dwl='defaults write com.apple.screencapture location'
alias ddl='defaults delete com.apple.screencapture location'
alias drl='defaults read com.apple.screencapture location'

dwl ~/path/to/dir でスクリーンショットの保存場所を変更できます。

スリープ設定

alias sleepon='sudo pmset -a disablesleep 0'
alias sleepoff='sudo pmset -a disablesleep 1'

Python

alias wpy='which python'

alias pip='pip3'
alias pin='pip install'
alias puin='pip uninstall'
alias pup='pip install --upgrade pip'
alias pinreq='pip install -r requirements.txt'
alias pf='pip list --format=freeze'
alias pfr='pip list --format=freeze > requirements.txt'

venv のアクティベート、デアクティベート

alias acv='source venv/bin/activate'
alias deac='deactivate'

GitHub

alias g='git'
alias ga='git add'
alias gb='git branch'
alias gc='git commit'
alias gch='git checkout'
alias gcl='git clone'
alias gd='git diff'
alias gf='git fetch'
alias gi='git init'
alias gm='git merge'
alias gps='git push'
alias gpl='git pull'
alias gpom='git push origin main'
alias gst='git status'

新しい GitHub リポジトリを作成して初回コミットを行う

1つのコマンドで新しいリポジトリを作成する関数を定義できます。

# 使用法: ginit private[public]
ginit() {
    git init
    git add .
    git commit -m "🎉  Initial commit"
    gh repo create --"$1" --source=. --push
}

gh コマンドを使用するには GitHub CLI をインストールする必要があります。

絵文字付きコミットメッセージ

# Git コミット、全て追加、プッシュ — 一度に実行
gacp() { git add . && git commit -m "$*" && git push origin main }

gini() { gacp "🎉 Initial commit"}
gnew() { gacp "✨ NEW: $@" }
gimp() { gacp "👌 IMPROVE: $@" }
gprg() { gacp "🚧 PROGRESS: $@" }

gmtn() { gacp "🔧 MAINTAIN: $@" }
gfix() { gacp "🐛 FIX: $@" }
ghot() { gacp "🚑 HOTFIX: $@" }
gbrk() { gacp "‼️ BREAKING: $@" }
grem() { gacp "🗑️ REMOVE: $@" }

gmrg() { gacp "🔀 MERGE: $@" }
gref() { gacp "♻️ REFACTOR: $@" }
gtst() { gacp "🧪 TEST: $@" }
gdoc() { gacp "📚 DOC: $@" }
grls() { gacp "🚀 RELEASE: $@" }
gsec() { gacp "👮 SECURITY: $@" }

# コミットタイプを表示
gtyp() {
NORMAL='\033[0;39m'
GREEN='\033[0;32m'
echo "$GREEN gini$NORMAL — 🎉 Initial commit
$GREEN gnew$NORMAL — ✨ NEW
$GREEN gimp$NORMAL — 👌 IMPROVE
$GREEN gprg$NORMAL — 🚧 PROGRESS
$GREEN gmtn$NORMAL — 🔧 MAINTAIN
$GREEN gfix$NORMAL — 🐛 FIX
$GREEN ghot$NORMAL — 🚑 HOTFIX
$GREEN gbrk$NORMAL — ‼️  BREAKING
$GREEN grem$NORMAL — 🗑️  REMOVE
$GREEN gmrg$NORMAL — 🔀 MERGE
$GREEN gref$NORMAL — ♻️  REFACTOR
$GREEN gtst$NORMAL — 🧪 TEST
$GREEN gdoc$NORMAL — 📚 DOC
$GREEN grls$NORMAL — 🚀 RELEASE
$GREEN gsec$NORMAL — 👮 SECURITY"
}

gitignore.io

gitignore.io を使用すると .gitignore ファイルを簡単に作成できます

function gi() { curl -sLw n https://www.toptal.com/developers/gitignore/api/$@ ;}

おまけ: プロンプトのカスタマイズと色付け

PS1="%F{082}%n%f %F{051}%~%f %# "
RPROMPT='%T'
  • PS1 はメイン(左側)のプロンプトで、RPROMPT は右側のプロンプトです。
  • %n はユーザー名を意味します
  • %~ は現在のディレクトリを意味します
  • %# は root の場合は # を、そうでない場合は % を表示します。
  • %T は24時間形式で現在時刻を表示します(12時間形式の場合は %t)。
  • %F{色番号} ~ %f を使用してプロンプトを色付けできます。色番号はこちらで確認できます。

プロンプト展開の詳細については、このリンクを参照してください。

最初のプロンプトを除いて、すべてのプロンプトの前に空白行を入れたい場合は、以下を追加します。

precmd() { precmd() { echo } }

参考文献


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?