環境
前回はローカル開発環境にvirtual box,vagrantを導入しcentos6.7を導入した。この環境のもとUNIXコマンドを覚えます。
UNIXコマンドを覚えれば何ができるのか?
- ローカル(自分が使っているPC)で開発環境を構築することができる
- レンタルサーバーを借りてSSH接続で操作することができる。
注意:Windowsのコマンドプロンプトは別規格なので使えません。
ログイン・ログアウト・パスワード
通常SSH接続する場合
$ ssh ユーザー名@IPアドレスorサーバー名
でパスワードを打ち込みログイン出来ます。
Vagrantを今回使用しているので
$ vagrant ssh
で接続します。
ログアウトは
$ exit
余談[vagrant@localhost ~]$
はプロンプトと呼ばれていて、編集すれば変えることができます。
passwordの変更
$ passed ユーザ名
注意:場合によって権限がないと言われる場合がある。
ディレクトリの移動
pwd:現在のディレクトリを表示
cd : 違うディレクトリに移動。引数なしだとホームディレクトリ
~ :ホームディレクトリーを指す
. :現在のディレクトリーを指す
.. :一階層上のディレクトリを指す
ディレクトリの指定は絶対参照と相対参照がある。
ディレクトリの構成を見る
$ ls
リスト型で表示
$ ls -l
隠しファイルすべて表示
$ ls -a
隠しファイルも含めリストで表示
$ ls -la
ディレクトリ詳細情報(ls -la)
例えば
-rw-------. 1 vagrant vagrant 323 3月 14 13:57 2016 .bash_history
の場合、
先頭の-はシンボリックリンクか、ディレクトリなのかなどファイルの種類
でそのあとはパーミッションといい3つ区切りで所有者、所有グループ、その他で構成されている
r:read(読む)
w:write(書く)
x:Execute(実行)
パーミッション
パーミッションを変更
$ chmod 数字 ファイル名 ユーザー名
ディレクトリの削除、削除
$ mkdir ディレクトリ名
$ rmdir ディレクトリ名
# ただし中身がカラの場合
ファイルの作成、削除、コピー、移動、リネーム
$ mv 対象ファイル 行き先
リネーム
$ mv 対象ファイル リネーム名
ファイルのコピー
$ cp コピーするファイル コピーされるファイル
ファイル削除
$ rm ファイル名
ただしファイルがカラの場合に限る。
それ以外はオプションを指定しなければならない。
ファイルの中身を見る
cat
less/more (moreの方が使いやすい)
head/tail (オプションで指定可能)
ワイルドカード
* :任意の文字いくつでも
? :任意の一文字
詳しくは正規表現を勉強しましょう
ファイル検索(find)
`$ find 検索対象 -name "検索文字列" -type ファイルorディレクトリ(d or f)
複数ファイルの中身から検索(grep)
grep -オプション 探したい文字列 対象ファイル
-cオプションは 探したい文字列とマッチした回数を表示
-rオプションは、検索対象の下層も検索される。
オプションは組み合わせることができる。
コマンドラインの便利機能
tabキー:現在の候補を表示してくれる。
矢印キー:過去のコマンドに振り返る
history:過去のコマンド履歴
!番号:その番号のコマンド表示
!!:一回前のコマンド
!gr:先ほど実行したgrepコマンドを実行
!gr:p 実行せず先ほど実行したgrepコマンドを表示
小技
マニュアル
$ man 対象コマンド
マニュアルにも種類があるがここでは解説しまい。
指定されたディレクトリの構成を隅々まで表示
$ tree
時間確認
$ date
カレンダー
$ cal
対象ファイルの行数などを表示
$ wc
オプション -l は行数だけ指定