最近、職場でLAMP開発をMacで行うようになり、ターミナルからコマンドを打つことが多くあります。
よく使うコマンドを覚えておけば便利になります。
システム
※リストにMacになくLinux特有のコマンドもあります。
コマンド | 機能 | 備考 |
---|---|---|
cat [ファイル] |
ファイル内容を表示 | 例)cat ~/.bash_profile
|
cat /proc/version |
Linuxカーネルの情報を表示 | |
cat /etc/[ディストリビューション]-release |
Linux OSのバージョンを確認 | 例)cat /etc/centos-release
|
cd [移動先ディレクトリのパス] |
カレントディレクトリを変更 | 例)ホームディレクトリに移動:cd ~
|
chmod [モード] [ファイル/ディレクトリ] |
ファイル/ディレクトリのアクセス権限(パーミッション)を変更 | r(読み取り):4 w(書き込み):2 x(実行):1 u:所有者 g:グループ o:その他のユーザー a:すべてのユーザ |
chmod -R [モード] [ディレクトリ] |
ディレクトリとその中身のアクセス権限を再帰的に変更する | |
chmod 644 [ファイル] |
所有者がrw可、グループがr可、その他のユーザーがr可 | |
chmod 777 [ファイル] |
すべてのユーザーがrwx可 | |
chmod a+x [ファイル] |
すべてのユーザーが実行可能 | |
chmod -R g+w [ディレクトリ] |
対象ディレクトリ配下にグループ書き込み権限を付与 | |
chown [ユーザー名] [ファイル] |
ファイルの所有者を変更 | |
chown -R [ユーザー名:グループ名] [ディレクトリ] |
ディレクトリのグループと所有者を再帰的に変更 | |
cp [コピー元ファイルのパス] [コピー先ファイルのパス] |
ファイルをコピー | |
cp -r [コピー元ファイルのパス] [コピー先ファイルのパス] |
ファイルを再帰的にコピー | |
cp -rp [コピー元ファイルのパス] [コピー先ファイルのパス] |
属性を維持してファイルを再帰的にコピー | |
date |
現在の時刻を表示 | |
diff [ファイル1] [ファイル2] |
2つのファイルの差分を表示する | |
diff --side-by-side [ファイル1] [ファイル2] |
2つのファイルの差分を左右に並べて表示する | |
sdiff [ファイル1] [ファイル2] |
2つのファイルの差分を左右に並べて表示する | |
echo $PATH |
パスを表示 | |
echo $SHELL |
シェルを表示 | |
echo $ENV |
環境変数を表示 | |
exec $SHELL -l |
シェルを再起動 | |
export -p |
環境変数を表示 | |
cut -d: -f1 /etc/passwd |
OSユーザ一覧を表示 | |
find [検索対象パス] -name [ファイル名] |
ファイルやディレクトリを検索 | 例)`find etc/ -name php.ini``` |
find [検索対象パス] -maxdepth [n] -name [ファイル名] |
n階層までファイルやディレクトリを検索 | |
find [検索対象パス] -type f | wc -l | ファイル数 | |
find [検索対象パス] -type d | wc -l | ディレクトリ数 | |
find [検索対象パス] -maxdepth [n] -name '*.jpg' | wc -l | ヒットしたファイル数をカウント。 | |
find [検索対象パス] -maxdepth [n] -name '*.jpg' | ls -al | ヒットしたファイルの情報を確認。 | |
find [検索対象パス] -type f -print | xargs grep '[文字列]' | ファイルから文字列を検索 | |
finger [ユーザー] |
指定ユーザーの情報を表示 | 例)finger root
|
jobs |
ジョブ一覧を表示 | |
history |
コマンドの履歴リストを表示 | |
groups [ユーザー名] |
グループ一覧を表示 | 例)groups apache
|
kill -9 [プロセスID] |
指定プロセスを強制的に終了 | |
last |
ログイン履歴を表示 | |
less /etc/passwd |
OSユーザ情報を表示 | ユーザー名、パスワード、ユーザーID、グループID、コメント、ホームディレクトリ、ログインシェルの順に表示される |
lsof -i -P |
ポートとプロセス番号を確認 | |
ln -s [リンク元の絶対パス] [リンク先ディレクトリのパス] |
シンボリックリンクを貼る | コマンドのエイリアスを作成 |
ls -alt [対象パス] |
更新日時の新しい順で詳細リスト |
a :全1 :縦に並べるr :逆順l :詳細t :更新日時の新しい順 |
ls -tl [対象パス] | head | 最新10件をリスト | |
ls -l [対象パス] | wc -l | 対象パス配下ファイルとディレクトリの総数 | |
man [コマンド] |
指定コマンドのオンラインマニュアルを表示 |
q を押すと表示終了 |
mkdir [ディレクトリのパス] |
ディレクトリ作成 | |
more /etc/shells |
シェル一覧 | |
mv [移動元ファイルのパス] [移動先ディレクトリのパス] |
ファイル移動/改名 | |
mv [旧ファイル名] [新ファイル名] |
ファイル改名 | |
netstat |
開いているポートを確認 | 「network statistics」の略 |
open [ファイルのパス] |
ファイル/ディレクトリ/URLを開く | |
open . |
現在のディレクトリをFinderで開く | |
open -a [ファイルのパス] |
アプリケーションの下にあるアプリを開く | 例)open -a 'Google Chrome'
|
pbcopy |
ターミナルの出力をクリップボードにコピー | 例)pbcopy < ~/.ssh/id_rsa.pub :公開鍵をクリップボードにコピー |
pwd |
現在いるディレクトリのパスを表示 | Print Working Directoryの略 |
ps aux |
実行中のプロセスを確認 | |
rm -r [ファイルorディレクトリ] |
ファイルorディレクトリを削除 | |
rm -rf [ファイルorディレクトリ] |
ファイルorディレクトリを強制的に削除 | |
su - root |
一時的にrootユーザになる |
exit でログアウト |
sw_vers |
macのバージョンを確認 | |
traceroute [ドメインorIP] |
ネットワーク経路を確認 | |
uname [オプション] |
OS情報を確認 |
-a :全ての情報を表示 |
unlink [シンボリックリンク] |
シンボリックリンクを削除 | |
unzip -l [ZIPファイル] |
ZIP内のファイルを一覧表示する | |
unzip -f [ZIPファイル] |
展開時にファイルの更新だけを行い、新規作成はしない | |
unzip -o [ZIPファイル] |
展開時にファイルを確認なしに上書きする | |
unzip -u [ZIPファイル] |
更新があったファイルまたは新規ファイルだけを展開する | |
unzip -P [パスワード] -o [ZIPファイル] -d [ディレクトリ] |
パスワード付きZIPファイルを指定ディレクトリに展開 | |
who |
ログイン中のユーザーを確認 | |
which |
コマンドのパスを確認 | 環境変数のPATHにあるコマンドから調査 |
whereis |
コマンドのパスを確認 | /usr/bin:/bin:/usr/sbin:/sbinにあるコマンドのみ調査 |
Apache
コマンド | 機能 | 備考 |
---|---|---|
httpd -v | Apacheのバージョンを表示 |
apachectl -v 同様 |
httpd -t | Apache設定ファイル「httpd.conf」の文法をチェック | apachectl configtest |
apachectl status | Apacheの動作状況を表示 | |
httpd -S | バーチャルホスト設定を表示 | |
httpd -l | コンパイルされたモジュールの一覧を表示 | |
httpd -V | コンパイル情報を表示 | |
ps aux | grep httpd | 実行中のApacheプロセスを確認 | Apacheが起動しているかどうかを確認できる |
which httpd | Apacheのフルパスを表示 | which apachectl |
sudo apachectl start | Apacheを起動 | |
sudo apachectl restart | Apacheを再起動 | |
sudo apachectl stop | Apacheを停止 | |
sudo apachectl graceful-start | 緩やかな起動 |
restart との違いは、コネクションが切れる状態になるまで、restartが始まらない |
sudo apachectl graceful-stop | 緩やかな停止 |
stop との違いは、現在のコネクションの処理が終わるまで、httpdは停止しない。 |
sudo /usr/sbin/apachectl start | Mac標準搭載Apacheを起動 | |
sudo /usr/sbin/apachectl stop | Mac標準搭載Apacheを停止 |
PHP
コマンド | 機能 | 備考 |
---|---|---|
php -v | PHPのバージョンを表示 | |
php -i | PHP情報(phpinfo)を表示 | |
php -i | grep php.ini | php.iniを探す | |
php -i | grep 'Configuration File' | PHP設定ファイルを確認 | |
php --ini | iniファイル名を表示 | |
php -l [ファイル] | PHPスクリプトの文法をチェック | |
which php | PHPのフルパスを表示 |
MySQL
コマンド | 機能 | 備考 |
---|---|---|
mysqladmin ping | MySQLサーバの起動を確認 | mysqld alive |
mysqladmin -V | MySQLのバージョンを表示 | |
mysqladmin -? | MySQLのヘルプを表示 | |
mysql.server start | MySQLサーバを起動 | |
mysql.server stop | MySQLサーバを停止 | |
mysqladmin processlist | 実行中のMySQLプロセスを確認 | |
mysqladmin extended-status | 詳しいサーバのステータス情報を表示 | |
mysql -uユーザ -pパスワード | MySQLプロンプト起動 | 例)mysql -u root -p |
ps aux | grep mysql | 実行中のMySQLのプロセスを確認 | |
which mysql | MySQLのフルパスを表示 |
Xcode
コマンド | 機能 | 備考 |
---|---|---|
xcodebuild -version | Xcodeのバージョンを表示 | |
xcode-select -p | Xcodeパスを表示 | xcode-select -print-path |
which xcode-select | xcode-selectのフルパスを表示 |
Homebrew
Homebrew:Mac用パッケージ管理ツール。
コマンド | 機能 | 備考 |
---|---|---|
brew --config | brewの設定を表示 | 又は brew config |
brew --env | brewの環境情報を表示 | |
brew doctor | brew問題診断 | |
brew cleanup -n | 旧バージョンのFormula一覧を表示 | |
brew cleanup | 旧バージョンのFormulaを削除 | |
brew install [Formula] | Formulaをインストール | |
brew uninstall [Formula] | Formulaをアンインストール | |
brew reinstall [Formula] | Formulaを再インストール | |
brew link [Formula] --force | インストール済みのFormulaを有効にする | |
brew unlink [Formula] | インストール済みのFormulaを無効にする | |
brew list | インストール済みのFormulaを表示 | |
brew info [Formula名] | Formulaのインストール情報を表示 | |
brew options [Formula名] | Formulaのオプション一覧を表示 | |
brew search [Formula名] | Formulaを探す | |
brew search versions/msyql | msyqlの旧バージョンを探す | |
brew update | Homebrew自体及び、Formula、caskroomを最新版にする | |
brew upgrade | Formulaのみを最新版にする |
PHPBrew
PHPBrew:PHPのバージョン管理ツール。
コマンド | 機能 | 備考 |
---|---|---|
phpbrew known | インストール可能なPHP一覧を表示 | |
phpbrew known --old | 旧バージョンを表示 | 現時点では、PHP5.3以下のバージョンを表示 |
phpbrew list | インストール済みのPHP一覧 | |
phpbrew off | PHPBrewでインストールしたPHPを停止 | Mac標準搭載PHPに戻す |
phpbrew self-update | PHPBrew自体を最新版にする | |
phpbrew switch 5.6.18 | インストール済みのPHP5.6.18をディフォルトPHPとして使用 | |
phpbrew use 5.6.18 | インストール済みのPHP5.6.18を一時的に使用 |
Git
リモートリポジトリはGithubとします。
コマンド | 機能 | 備考 |
---|---|---|
git add [ファイルのパス] | ローカルリポジトリにファイルを追加 | |
git branch | カレントブランチを表示 | |
git branch -D [ブランチ] | ブランチを強制的に削除 | |
git clone [git@github.com:組織のGithubアカウント/リポジトリ.git] [クローン先ディレクトリ] | Githubからリポジトリをクローン | |
git checkout [切り替え先ブランチ] | ブランチの切り替え | 例)masterブランチに切り替え:git checkout master
|
git checkout -b [新ブランチ] | ブランチを作成 | |
git commit -m "コミットメッセージ" | ローカルリポジトリにコミット | |
git config -l | Gitの設定を確認 | 又は、git config --list
|
git fetch | リモートリポジトリから最新情報をローカルリポジトリに持ってくる(ファイルが更新されない) | |
git fetch --prune | リモートで削除されたブランチをローカルに反映(ローカルから削除) | |
git log | コミット履歴を閲覧 | |
git pull -- prune | ||
git pull --rebase origin master | Githubのmasterブランチから最新ソースをダウンロード | |
git push origin [ブランチ] | Githubにブランチをアップ | |
$ git remote -v | リモートリポジトリを表示 | |
git stash save 'メッセージ' | 変更を一時退避 | 「save 'メッセージ'」が省略可 |
git stash apply [stash名] | スタッシュした内容を復活 | 例)git stash apply stash@{0}
|
git stash clear | スタッシュを全削除 | |
git stash drop # | 最新のスタッシュを削除 | |
git stash drop stash@{N} | N番目のスタッシュを削除 | |
git stash list | スタッシュ一覧を表示 | |
git stash list -p | スタッシュした変更内容を表示 | |
git stash show [stash名] | スタッシュしたファイルの一覧を表示 | |
git stash show -p [stash名] | スタッシュしたファイルの変更を表示 | |
git stash pop [stash名] | 指定した変更を復活、削除 | |
git status | カレントブランチの状況 |
参考
Homebrew — macOS 用パッケージマネージャー
phpbrew/README.ja.md at master - GitHub