業務でよく使う基本のコマンドです。
初心者向けです。
最低限、ミニマムで覚えられるように複雑なものは載せていません!
紹介するコマンドたちは--help
とつけると
どんなオプションがあるか表示されるので、--help
してみてください
tail -f
「ログ出して確認してみて!」
って最初この言葉を言われるのが怖かった...
なぜならパパっと出せなかったからです...
必要な情報は「ログファイルがどこにあるか」なので、
ここかなーと思うところを探して見つからなければ、まわりの人に「ログファイルがどこにあるか」聞いてください。
まずは、プロジェクト配下にlogsディレクトリがないか等見てみてください。
プログラムが動いている環境にアクセスして
tail -f ログファイルの場所
。
tail -f application/logs/20170202.log
みたいな感じです。
tailコマンドはそのファイルの最後の部分を表示するコマンドです。
オプションの-fは、ファイルの内容が増えた場合、新しい末尾を追加表示するオプションです。
だから、出すログファイルが合っていれば、アクセスするたびログが流れていくと思います。
表示を止める時はcontrol+cです。
他のオプションはこちら。
grep -r
「○○の機能修正して!」
「はい、わかりました!」
→○○のソースってどこにあるんだ…
そんなときにgrepの出番です。
プロジェクトの中で検索ができます。
例えば「アルバム管理の機能修正して」なら
grep -r "アルバム管理"
とかgrep -r "アルバム"
とかgrep -r "album"
とか…
最後のgrep -r "album"
は結果がたくさん出てきてしまうかもしれませんが
ソースのコメントに「アルバム管理」など書いてあればヒットします。
検索結果が表示されるので、これっぽいなというファイルを開いてみてください。
ちなみにオプションの-rは「再帰的に検索する」というオプションで
これをつけることで、そのディレクトリ以下のすべてのファイルから検索をしてくれます。
grepの他のオプションはこちら。
find
こちらもgrep同様検索ができます。
grepと違うのは、ファイルの種類を指定できたりと、細かなオプションが付けられること。
find . -type f -name "*.php"
とすると.phpのファイルをすべて表示してくれます。
*はワイルドカードなので、任意の文字列を入れていただいても使えます!
locate
こちらも検索ができるもの。
grepやfindよりオプションが少なく、シンプルで処理が早いです。
ただ、あらかじめ作成したデータベースを使って検索するため(だから処理が早い)
データベースの登録が必要です。データベースの作成はupdatedb
コマンドでできます。
pwd
今どのディレクトリにいるか見ることができます。
$ pwd
/c/work/project
みたいな感じです。
cd
ディレクトリの移動に使います。
例えばworkに移動したい時。
$ pwd
/c/work/project
今projectディレクトリにいるとして…
相対パスを使う場合
$ cd ../
今と比較してひとつ上へ。
../
はひとつ上の階層を指します。
絶対パスを使う場合
$ cd /c/work
一番上の階層からフルで書きます。
mkdir
ディレクトリが作れます。
touch
ファイルがつくれます。
「project配下にsampleディレクトリ作って、その中にsample.phpファイルを作って」
みたいに言われた時にこうします。
$ cd /c/work/project
$ pwd
/c/work/project
$ mkdir sample
sampleディレクトリが作成されます。
cd sample
でサンプルディレクトリに移動して
touch sample.php
でファイルが作成されます。
mv
↑で作ったようなファイルを移動させるコマンドです。
例えば/c/work/project/sample/sample.phpを
/c/work/project/配下に移動したい場合は以下のようにします。
$ mv /c/work/project/sample/sample.php /c/work/project/sample.php
cp
ファイルやディレクトリをコピーするコマンドです。
使い方はmvと同じですが、こちらはコピーなので、移動元にもファイルが残ります。
rm
ファイルやディレクトリを削除するコマンドです。
ディレクトリとその配下のものすべてを削除したい場合には-rオプションをつけて再帰的に削除します。
また-fオプションをつけると「本当に削除しますか?」と聞かれなくなるので、削除したいフォルダが配下にいくつもファイル・フォルダを持っている場合には
rm -rf
とします。
このオプションはcpも共通です。
ls
ファイルやディレクトリの情報を表示するコマンドです。
ディレクトリ配下に何のファイルがあるか確認できます。
例えば先ほどtouchコマンドで作ったsample.phpファイルがちゃんとできているか確認したい時。
$ pwd
/c/work/project/sample
$ ls
sample.php
chmod
権限(パーミッション)を変更するコマンドです。
ファイルを編集したり実行したり読み込もうとして「アクセスが許可されていません」系のエラーが出た時などに使います。
使い方
①まずはll
またはls -l
を使って権限を確認します。
ls
の-l
オプションはlongのlで、--format=longをつけても同じ結果が出ます。
ファイルの詳細も同時に表示するオプションです。
ll
はls -lのエイリアスです。(※1)
$ ls -l
-r--r--r-- 1 user group 115 4月 1 00:00 hoge.php
drwxr-xr-x 6 user group 4520 4月 1 00:00 piyo.php
この-rw-r--r--の部分が今回変更したい権限(パーミッション)です。
②パーミッションを変えます。
chmod 644 hoge.php
パーミッションの読み方についてはこちら。
http://qiita.com/masashi-t-h/items/5f4c4fa768642aad9e06
※1 エイリアスについて
エイリアスとは?
「別名」という意味で、その
名の通り、長いコマンドなどを任意の文字列で登録することができます。
最初の頃「長いしよく使うからエイリアス登録しちゃえば?」と言われたはいいものの
結局登録するのにすごく時間がかかって…ということがありました
エイリアスの登録の方法
①ターミナルでvi ~/.bashrc
をして、bashrcを開きます。
②エイリアスを書く。alias pj='mysql -h project-db -u root -p project'
→pjと打ってEnterを押すとmysql -h project-db -u root -p projectが実行されるようになります。
③:wq
でvimを終了。
④vi ~/.bash_profile
でbash_profileを開きます。
⑤起動時にbashrcを読み込むよう設定するため、一番下にsource ~/.bashrc
と書きます。
⑥ターミナルを再起動するか、再読み込みコマンドsource ~/.bash_profile
を実行します。
詳しくはこちら。
php -a
phpが入っていることが前提になってしまいますが
「md5で変換したらどうなるか」「日付をこの形式で出したらどうなるか」などを試してみるときに便利です。
echo
をつけないと表示されないので注意。
$ php -a
Interactive shell
$ php > echo md5("password");
5f4dcc3b5aa765d61d8327deb882cf99
$ php > echo date("Y-m-d H:i:s");
2017-02-17 12:44:14
echo
↑でも出てきたecho。
画面に文字列や数値、変数を表示するコマンドです。
vim
ファイルを編集する時に使います。
vim ファイル名
でファイルを開いて編集することができます。
ちなみにvim 作成したいファイル名
でファイルを作成することもできます。
iかaを押してinsertモードにすること
:qで終了、:wqで上書き保存
/で検索
が最低限、編集する時に必要だと思いました。
もっと便利なのはこちらへ。
cat
ファイルの中身を見たいだけ(編集はしない)の時はこちら。
中身をいじってしまう心配がないので安心して使えます。
cat
ファイル名
diff
differenceのdiff。
その名の通り、違いを出力するコマンドです。
「AファイルとBファイルのdiffとって!」と言われたらこれです。
AファイルとBファイルに差分がないか見る場合にはdiff Aファイル Bファイル
を実行します。
何も結果が帰って・こなければ完全一致、何か帰ってきたらその行が差分です。
オプション -s を付けると完全一致の場合も報告してくれるそうです!
history
コマンドの履歴を出すことができます。
ちなみに↑ボタンでもコマンドの履歴を辿ることができます。
➜ ~ history 5
1 ll
2 cd work/play
3 pwd
4 cd ../
5 git status
historyの後に数字をつけると過去のその件数分の履歴が表示されます。
!番号
でそのコマンドを再実行することも可能です。
例えばもう一度pwdをしたい場合には!3
で実行できます。