Mac Terminal コマンド
コマンドまとめ
uname
OSの情報を表示する
書式:uname [オプション]
- -m・・・プロセッサのハードウェア名を表示
- -n・・・ネットワークのホスト名を表示
echo
文字列を画面に表示する
書式:echo [オプション] 文字列
ls
ディレクトリの一覧を表示する
書式:ls [オプション] [パス]
- -a・・・隠しファイルを含めて全てのファイルを表示する
- -A・・・「.」「..」以外の全てのファイルを表示する
- -d・・・ディレクトリそのものの情報を表示する
- -F・・・ディレクトリの場合には「/」を、シンボリックの場合には「@」を、実行可能ファイルの場合には「*」を表示する
- -G・・・ファイルやディレクトリを色分けして表示する
- -h・・・サイズの単位を表示する
- -l・・・詳細情報を表示する
- -r・・・逆順に表示する
- -S・・・サイズ順にソートして表示する
- -t・・・修正時刻順にソートして表示する
- -s・・・サイズを表示する(単位はブロック数)
- -k・・・「-s」オプションと同時に指定するとサイズをkバイトで表示する
- -i・・・ノード番号を表示する
- -@・・・拡張属性の属性名を表示する(-lオプションと組み合わせて使用する)
- -ie・・・ACLs(Access Control Lists)によるアクセス権限の内容を確認する
cd
カレントディレクトリを移動する
書式:cd 移動先のディレクトリ
pwd
カレントディレクトリのパスを表示する
書式:pwd
cat
ファイルの中身を表示する
書式:cat [オプション] ファイルのパス
- -n・・・行番号を表示する
history
過去に実行したコマンドの一覧を表示する
書式:history [コマンド数]
- !ヒストリ番号 と入力することで、昔に実行したコマンドを発行する
- !! で直前に実行したコマンドを発行する
touch
ファイルの更新日時を更新する
書式:touch ファイルのパス
cp
ファイルをコピーする
書式:cp [オプション] コピー元のファイルのパス コピー先のファイルのパス
- -r・・・ディレクトリの階層構造を保ったままコピーする
- -i・・・コピー先にファイルが存在していた場合に、上書き確認する
mv
ファイルを移動する
書式:mv 元のファイルのパス 新たなファイルのパス
- リネームの用途でも使える
ln
リンクを作成する
書式:ln [オプション] 元のファイルのパス リンクファイルのパス
- -s・・・シンボリックリンク(Windowsでいうショートカット)を作成する
- オプションをつけずに実行するとハードリンク(異なる名前で同じファイルの実態を示す機能)が作成される
mkdir
ディレクトリを作成する
書式:mkdir [オプション] [ディレクトリのパス]
- -p・・・途中のディレクトリを含めて作成する
rmdir
ディレクトリを削除する
書式:rmdir [オプション] ディレクトリのパス
rm
ファイルを削除する
書式:rm [オプション] 削除するファイルのパス
- -i・・・ファイルを削除して良いかを確認する
- -r・・・ディレクトリごとファイルを削除する
- -f・・・書き込みが許可されている場合でも、確認を行わずに削除する
xattr
拡張属性を操作する
書式:xattr [オプション] ファイルのパス
- -l・・・拡張属性の内容を16進数で表示する
- -d・・・指定した拡張属性を削除する
open
GUIアプリでファイルを開く
書式:open [オプション] ファイルのパス
- -a・・・アプリケーションを指定してファイルを開く
less
テキストファイルをページ単位で表示する
書式:less [オプション] ファイルのパス
head
ファイルの先頭部分を表示する
書式:head [-n 行数] ファイルのパス
tail
ファイルの最後の部分を表示する
書式:tail [-n 行数] ファイルのパス
- -f・・・コマンドは終了せずに、ファイルが増えるにしたがって表示が更新される
man
マニュアルを表示する
書式:man [オプション] コマンド
- セクション番号を指定してマニュアルを開くこともできる。
- ex.) man 2 mkdir
apropos
コマンドを検索する
書式:apropos キーワード
その他のコマンド
リダイレクション
- 「>」・・・標準出力の切り替え
- 「>>」・・・標準出力の切り替え(ファイルの末尾に追記)
- 「<」・・・標準入力の切り替え
- 「2>」・・・標準エラー出力の切り替え
- 「2>>」・・・標準エラー出力の切り替え(ファイルの末尾に追記)
- 「>&」・・・標準出力と標準エラー出力の切り替え
パイプ
- コマンドの間に「|」を記述する
- コマンドの標準出力を別のコマンドの標準入力に繋ぐことができる
tee
データを標準出力とファイルに書き出す
書式:tee ファイルのパス
wc
文字数を数える
書式:wc [オプション] テキストファイルのパス
sort
テキストファイルの行を並べ替える
書式:sort [オプション] ファイルのパス
- -k・・・指定したフィールドから行末までが比較される
- -t・・・区切り文字を指定する(デフォルトは空白またはタブ)
- -n・・・数値の順に並び替える
- -r・・・降順に並び替える
- -u・・・重複行を表示しない
uniq
隣接した重複行を削除する
書式:uniq [オプション] ファイルのパス
- c・・・重複回数を表示する
tr
文字を置換する
書式:tr 置換される文字 置換後の文字
- -d・・・指定した文字を削除する
grep
指定した文字列を含む行を取り出す
書式:grep [オプション] 文字列 ファイルのパス
- -c・・・マッチした行数を表示する
- -i・・・アルファベットの大文字と小文字の区別をしない
- -n・・・行番号を表示する
- -r・・・サブディレクトリを含めて全てのファイルを検索する
- -v・・・マッチしな買った行を表示する
- -x・・・行全体とマッチする行のみを表示する
- 正規表現を使うことでより柔軟な検索が可能
- grepで使用できるのは「基本正規表現」
- egrepでは「拡張正規表現」が使える
- fgrepでは正規表現は使えない(純粋な文字列検索のみ)
find
ファイルを検索する
書式:find [オプション] 起点となるパス [検索条件]
- -name・・・ファイル名を指定して検索する
- -amin・・・n分前にアクセスされたファイルを検索する
- -atime・・・n日前にアクセスされたファイルを検索する
- -empty・・・空のファイルを検索する
- -group・・・指定したグループに属するファイルを検索する
- -mmin・・・n分前にファイルの中身が修正されたファイルを検索する
- -mtime・・・n日前にファイルの中身が修正されたファイルを検索する
- -newer・・・指定したファイルより後に修正されたファイルを検索する
- -perm・・・指定したパーミッションが設定されているファイルを検索する
- -size・・・指定したサイズのファイルを検索
- +:指定したサイズ以上
- -:指定したサイズ以下
- -type・・・指定したタイプのファイルを検索
- b:ブロック型スペシャルファイル
- c:キャラクタ型スペシャルファイル
- d:ディレクトリ
- f:通常のファイル
- l:シンボリックリンク
- exec・・・検索されたファイルのパスを引数にして、別のコマンドを実行する
- exec コマンド {} \;
- ok・・・検索されたファイルのパスを引数にして、別のコマンドを確認しながら実行する
- ok コマンド {} \;
xargs
指定したコマンドの引数を標準入力から受け取る
書式:xargs [オプション] コマンド
mdfind
Spotlight検索を行う
書式:mdfind [オプション] キーワード
- -name・・・ファイル名で検索する
- -onlyin・・・特定のディレクトリ以下を検索する
- -live・・・検索が終わった後も、監視を続ける
- -count・・・検索条件にマッチした数を表示する
- "属性名==文字列"を指定することで、メタデータで検索できる
nano
nanoエディタを起動する
書式:nano [オプション] [ファイルのパス]
vim
vimエディタを起動する
書式:vim ファイルのパス
whoami
自分のユーザ名を表示する
書式:whoami
alias
コマンドに別名をつける
書式:alias 別名=コマンド
- 引数なしで実行すると、現在設定されているエイリアスの一覧を表示
unalias
エイリアスを削除する
書式:unalias エイリアス名
unset
変数を削除する
書式:unset 変数名
- 引数なしでsetコマンドを実行すると、現在設定されている組み込みシェル変数の一覧が表示される
printenv
環境変数の一覧を表示する
書式:printenv [変数名]
- 引数を指定しないで実行した場合、全ての環境変数を表示
export
環境変数を設定する
書式:export 変数名
source
現在のシェル環境で環境設定ファイルやシェルスクリプトを実行する
書式:source ファイルのパス
type
コマンドの種類を表示する
書式:type [オプション] コマンド
sudo
スーパーユーザの権限でコマンドを実行する
書式:sudo コマンド
chmod
パーミッションを設定する
書式:chmod パーミッション パス
- パーミッションは3桁の8進数、または記号で設定する
- ユーザの指定
- u・・・所有者
- g・・・所有グループ
- o・・・その他のユーザ
- a・・・全て
- オペレータの指定
- +・・・許可を加える
- -・・・許可を取り消す
- =・・・設定する(元の設定はクリアする)
- アクセス権の指定
- r・・・読み出し
- w・・・書き込み
- x・・・実行
- ユーザの指定
sips
画像フォーマットを変換する
書式:sips -s format フォーマット 入力ファイルのパス --out 出力ファイルのパス
file
ファイルの種類を表示する
書式:file ファイルのパス
brew
Homebrewを操作する
書式:brew サブコマンド
- doctor・・・Homebrewの環境を診断する
- help・・・サブコマンドの一覧を表示する
- install・・・パッケージをインストールする
- uninstall・・・パッケージを削除する
- options・・・パッケージのインストール時に指定できるオプションを表示する
- list・・・インストールすみパッケージの一覧を表示する
- home・・・パッケージのwebサイトを表示する
- outdated・・・最新ではないパッケージを一覧表示する
- search・・・パッケージを検索する
- upgrade・・・インストール済みのパッケージを最新のものに更新する
- update・・・Homebrew本体を更新する
- cat・・・フォーミュラファイルの中身を表示する
tree
ファイルの階層構造を表示する
書式:tree ディレクトリのパス
nkf
文字エンコーディング/改行コードを変換する
書式:nkf オプション ファイルのパス
lv
テキストファイルをページごとに表示する
書式:lv テキストファイルのパス
wget
ファイルをダウンロードする
書式:wget [オプション] URL
ImageMagicコマンド
- convert・・・イメージのフォーマットやサイズなどを変換したりフィルタリングしたりする
- mogify・・・複数のイメージを同時に変換する
- import・・・ウィンドウの画像をキャプチャする
- montage・・・イメージの一覧を作成する
- composite・・・イメージを合成する
- animate・・・引数で指定したイメージを順に切り替えて表示する
- identify・・・イメージ情報を表示する
- conjure・・・MSL(Magick scripting language)で記述されたスクリプトを実行する
configure
システムを調べて、コンパイラやライブラリを探し出し、その環境にあったMakefileを作成する
書式:./configure
make
Makefileの設定にしたがってコンパイルなどの処理を行う
書式:make
- Makefileが保存されたディレクトリで実行する
bg
一時停止中のジョブをバックグラウンドジョブにする
書式:bg [%ジョブ番号]
jobs
現在実行されているジョブの一覧を表示する
書式:jobs [オプション]
fg
指定したジョブをフォアグラウンドジョブにする
書式:fg [%ジョブ番号]
ps
プロセスの一覧を表示する
書式:ps [オプション]
top
プロセスを監視する
書式:top [オプション]
kill
ジョブ/プロセスにシグナルを送る
書式1:kill [-シグナル名] %ジョブ番号
書式2:kill [-シグナル名] プロセスID
- オプションなしの場合はTERMシグナルが送られる
- -KILLを指定すると、KILLシグナルが送られ、強制終了する
killall
プロセス名でシグナルを送る
書式:killall [-シグナル名] プロセス名
groups
属するグループを表示する
書式:groups
id
ユーザIDとグループIDを表示する
書式:id
chown
ファイルの所有者を変更する
書式:chown [オプション] ユーザ名 ファイルのパス
- -R・・・ディレクトリの権限を丸ごと変更する
chgrp
ファイルの所有グループを変更する
書式:chgrp [オプション] ユーザ名 ファイルのパス
- -R・・・ディレクトリの権限を丸ごと変更する
su
別のユーザに移行する
書式:su [-] ユーザ名
defaults
ユーザデフォルトを操作する
書式: defaults サブコマンド
- read・・・ユーザデフォルトの値を表示する
- write・・・ユーザデフォルトの値を変更する
- delete・・・値を削除する
- find・・・指定した文字列とマッチするキーや値を検索する
launchctl
サービスを制御する
書式:launchctl サブコマンド
- bootstrap system・・・サービスの設定ファイルを読み込む
- bootout system・・・サービスの設定ファイルを無効にする
- enable system/・・・サービスを有効にする
- disable system/・・・サービスを無効にする
- kikstart [-k] system/・・・サービスを起動する(-kオプションを指定すると、再起動)
- print-disabled system・・・システム内で無効なサービスの一覧を表示する
gzip
gzip形式で圧縮する
書式:gzip [オプション] ファイルのパス
gunzip
gzip形式の圧縮ファイルを展開する
書式:gunzip 圧縮ファイルのパス
bzip2
bzip2形式の圧縮ファイルを作成する
書式:bzip2 [オプション] 圧縮するファイルのパス
bunzip2
bzip2形式を圧縮ファイルを展開する
書式:bunzip2 [オプション] 圧縮ファイルのパス
tar
アーカイブを作成・展開する
- tar -cvf アーカイブファイルのパス ファイルやディレクトリのパス・・・アーカイブを作成する
- tar -tvf アーカイブファイルのパス・・・アーカイブの中の一覧を表示する
- tar -xvf アーカイブファイルのパス・・・アーカイブを展開する
rsync
差分バックアップを実行する
書式:rsync [オプション] 元のディレクトリのパス バックアップ先のディレクトリのパス
ifconfig
ネットワークインタフェースの情報を表示する
書式:ifconfig [オプション] インタフェース名
ping
ホストの応答を調べる
書式:ping [オプション] ホスト
traceroute
目的のホストに到達するまでに通ったルータのホスト名またはIPアドレスを表示する
書式:traceroute [オプション] ホスト
host
指定したホストのIPアドレス/ホスト名を調べる
書式:host [オプション] ホスト
dns-sd
IPアドレスやホスト名を調べる
- dns-sd -G v4 Bonjour名・・・Bonjour名からIPアドレスを調べる
- dns-sd -B タイプ・・・サービスを提供しているホストを調べる
ssh
リモートログインを行う
書式:ssh [-l ユーザ名] ホスト名
- ローカルホストにログインしているユーザと同じユーザでログインする場合、ユーザ名は省略可能
ssh-keygen
鍵ペアを作成する
書式:ssh-keygen [オプション]
- -t・・・鍵のタイプを指定する
- rsa1
- rsa
- dsa
- ecdsa
- ed22519
sftp
ftpと同じようにファイル転送を行う
書式:sftp ユーザ名@ホスト名またはIPアドレス
scp
ローカルホストとリモートホストの間でファイルをコピーする
書式:scp [オプション] コピー元のファイルのパス コピー先のパス
apachectl
Apacheを起動/停止する
書式:apachectl サブコマンド
- configtest・・・設定ファイルの文法エラーをチェックする
- start・・・Apacheを開始する
- stop・・・Apacheを停止する
- restart・・・Apacheを再起動する
Discussion