最近サーバーにAWSを利用する事も多くなってきてSSHを使ってターミナルでコマンドラインを打つ事が多くなってきたフロントエンドエンジニアが、これまで何度も使っているにも関わらずよく忘れてしまうコマンドをここに記す
基本
サーバーの稼働状況を確認する
$ top
参考
ファイル/フォルダの所有者を変更する
$ chown ユーザー名:グループ名 ファイル名
再帰的そのディレクトリの中身の所有者を変更する場合
$ chown -R ユーザー名:グループ名 ファイル名
参考
ディレクトリのパーミッションを一括で変更する
find /path/to/dir -type d -exec chmod 755(パーミッション) {} +
参考
フォルダ丸ごとコピーする
$ cp -r コピーするフォルダ コピー時のフォルダ名
サブディレクトリも一緒に作成する
$ mkdir -p フォルダパス
ユーザーを作成する
$ adduser -u ユーザー -g グループ名 -d ホームディレクトリ -s ログインシェル ユーザ名
Apache
Apacheの起動・停止・再起動
$ apachectl start
$ apachectl stop
$ apachectl restart
緩やかに再起動
サーバーをすぐに停止できないときはこちら。
クライアントの接続がなくなったら再起動する。
$ apachectl graceful
httpd.confのエラー確認
$ apachectl configtest
git
リモートリポジトリを作成する
$ git init --bare --shared=true
差分を抽出してzipファイルで保存する
$ git archive [コミットID] `git diff --name-only origin/master [コミットID] --diff-filter=ACMR` -o [zipファイル名].zip
MySQL
MySQLに接続する
$ mysql -hホスト名 -uユーザー名 -pパスワード
データベースを指定して接続
$ mysql -hホスト名 -uユーザー名 -pパスワード データベース名
sqlファイルからデータベースをインポートする
$ mysql -hホスト名 -uユーザー名 -pパスワード データベース名 < インポートファイル.sql
データベースをエクスポートする
$ mysqldump -hホスト名 -uユーザー名 -pパスワード データベース名 > 保存するファイル名
PostgreSQL
PostgreSQLにアクセスする
$ psql -U ユーザー名 データベース名
sqlファイルからデータベースをインポートする
$ DB名=> \i /path/to/sql/import.sql
データベースの操作を終了する
$ DB名=> \q