Unixコマンド一覧
今回はUnixのコマンド一覧。都度確認用のメモです。Linaxなどの種類からコマンドまで一気に一覧で行きます
OSの一種。インターネットを構築するサーバー用などに使われている |
|
無料の互換OS |
|
Distribution |
配布形式 |
無料の互換OS |
|
Unixで使える共通規格 |
|
プロンプト |
入力を促している部分 |
bin |
バイナリ システムを動かすための基本ファイル |
etc |
エトセ アプリの設定ファイル |
home |
ホーム 各ユーザーのホームディレクトリが入っている |
sbin |
エスビン システム管理用のコマンドが入っている |
usr |
ユーザー 一般的なアプリケーションが格納されている |
var |
バー システムのログファイルなど頻繁に書き換わるファイル |
隠しファイル。薄く表示。簡単にいじれないようになっている |
|
プリントワーキングディレクトリ 現在いるディレクトリを表示 |
|
clear |
画面をクリアー Ctrl + Lでも一緒 |
cd |
|
cd .. /cd - /cd |
cd .. 一つ上の階層に戻る |
パス |
|
相対指定 |
現在のディレクトリから相対的に指定する cd unix_lessons |
絶対指定 |
一番上の階層から絶対的に指定する方法 |
mkdir |
メイクディア。ディレクトリを作るためのコード mkdir (ディレクトリ名) mkdir myapp |
ls |
リスコマンド。ディレクトリの内容を見る lsの後にディレクトリ名を指定するとそのディレクトリの中身が見える ls -lでさらに権限などの詳細が見える |
cp |
コピー。ディレクトリなどをコピーする cp -r (コピーするディレクトリ名) (コピーで作られたディレクトリ名) -r リカーシブル 再帰的にコピーするという意味 cp -r myapp myapp2 |
-p |
ペアレンツオプション。まだないディレクトリ内にディレクトリを作る場合に使用。親ディレクトリがない場合に一度に作ってくれる mkdir -p (親ディレクトリ)/( 新しいディレクトリ) mkdir -p myapp3/config |
mv |
同じディレクトリ内で使うと名前の変更になる mv myapp3 myapp2 mv hello.txt hello2.txt →hello.txtをhello2.txtに名前を変更 |
rmdir |
rmdir 親1/親2/削除したいディレクトリ rmdir myapp2/myapp3/config →configディレクトリが削除される ※configディレクトリは中に何もないので削除できるが、myapp2, myapp3は中身があるので削除できない |
rm -r |
リムーブ リカーシブルオプション 中身があるディレクトリを削除する方法 rm -r 削除したいディレクトリ rm -r myapp2 →myapp2の中にmyapp3があっても削除可 |
cat |
キャットコマンド。ファイルの中身を見る cat ディレクトリ名/ファイル名 cat myapp/hello.txt |
less |
レス。長いファイルをターミナルで見る際に使う レスを使ってファイルを見ているときの操作 ▼矢印キー スクロール ▼スペース/Ctrl f 一画面先 ▼Ctrl b 一画面前 ▼g ファイルの先頭 ▼Shift g 末尾 ▼q less の終了 ▼/検索したい言葉 検索 n 次の単語に移動 N 前の単語に戻る less ディレクトリ名/ファイル名 less myapp/hello.txt |
cp + . |
ファイルを今のディレクトリにコピーする ※. で今のディレクトリを表す cp myapp/ hello.txt . |
タブキー |
一文字打った時点でタブキーを押すと補完してくれる。複数の候補がある場合はタブを連打する |
Ctrl + c |
いまのコマンドをキャンセルする場合 |
矢印 ↑ ↓ |
今まで入力したコマンドを辿ることができる |
Ctrl + r |
コマンドの履歴を確認。escキーかCtrl cで終了 |
コマンドの履歴を見れる ▼!+ 番号 履歴にあるコマンドの呼び出し |
|
!! |
直前のコマンドの呼び出し実行 |
!-2 |
2個前のコマンドを呼び出し実行 |
!$ |
コマンドに与えた最後の文字列を再利用する |
!pw |
pwから始まる直近のコマンドを実行できる !pw:p コロンPをつけると実行せずに表示だけしてくれる その後実行するには‼ |
--help |
コマンド名の後に--helpでそのコマンドの使い方などが見れる 調べたいコマンド名 --help mkdir --help |
man |
マニュアル 操作方法はlessと同じ man 調べたいコマンド名 man ls |
ビム。ターミナルでファイルを編集するコマンド 【使い方】 コマンドモード:カーソルの移動と編集コマンドを使用できる 編集モード:編集モードにするには ▼コマンドモード→編集モード iキーを押す(左下にINSERTと表示) ▼編集モード→コマンドモード Escキーを押す ▼:w 保存 コマンドモードで ▼:q 終了 コマンドモードで ▼Esc :q! コマンドモードで誤って入力した場合保存せずに終了可 vi ファイル名 |
|
ln -s |
シンボリックリンク。深い階層に何度もアクセスする必要がある場合、何度もそれを入力するのは大変なので、シンボリックリンクを作り入力を短くできる ln -s 階層1/階層2/階層3/ シンボリックリンク名 ln -s config/production/database/ dbconfig |
touch |
空のファイルを作る touch ディレクトリ名/ファイル名 touch dbconfig/command.sql |
unlink |
シンボリックリンクを解除する unlink シンボリックリンク名 unlink dbconfig |
権限 |
drwxrwxr-x. 3 vagrant vagrant 2317 7月 4 17:43 hello.txt ▼1文字目d = ディレクトリ -=一般的なファイル l=シンボリックリンク ▼2-10文字目 アクセス権 user group otherのアクセス権 ▼vagrant ユーザー名 ▼vagrant グループ名 ▼2317 ファイルのサイズ ▼日付 更新日時 ▼hello.txt ファイル名 ▼r 読み込み可 可の場合数値4で表す ▼w 書き込み可 可の場合数値2で表す ▼x 実行可 可の場合数値1で表す ▼それぞれのユーザーのパーミッションは数値の合計で表せる。 cat /etc/passwd この一覧を見れるコマンド cat /etc/group グループ一覧を見れる groups 所属しているグループ名を見える |
chmod |
パーミッションを変えるコマンド chmod g+x ファイル名 グループに実行権限を与える chmod go+x ファイル名 グループとアザーに実行権限を与える chmod a-x ファイル名 すべてから実行権限を削除する chmod 774 ファイル名 rwx rwx r-- |
type |
タイプ コマンドが歩かないか調べる。ある場合は情報を教えてくれる type コマンド名 type hi |
echo "文字列" |
バッシュで文字列を出力する echo ”文字列" echo "hi!" |
echo $PATH |
コマンドをどこから検索しいているか見る |
PATH |
環境変数と呼ぶ |
printenv |
すべての環境変数を見ることができる |
export |
自分で作ったコマンドをPATHの先頭に加える ※パスを通す→特定のディレクトリとパスをつなげること export PATH=/home/vagrant/unix_lessons/myapp:$PATH ※PATHという名前で以上のディレクトリとすでに設定されているPATHをつなげて設定しなさいという命令 |
which |
実行しようとしているコマンドがどこのディレクトリから呼び出されようとしているのかを調べる which コマンド名 |
su -l |
サブスティテュートユーザー 何らかの理由で管理者ユーザーになる方法 |
sudo |
管理者ユーザーとして実行する方法 sudo コマンド sudo cat /var/log/message 管理者しか見る権限のないログを見る |
sudo chown |
チェンジオーナー。ファイルの所有者を変える方法 編集や閲覧をするため sudo chown 権限を持たせるグループ:権限を持たせるユーザー ファイル |
wc |
ワードカウント。行数や文字数などをチェックできる wc ファイル名 行数 単語数 バイト数 ファイル名 の順で表示 wc -l ファイル名 行数のみ見れる |
head |
ヘッド。ファイルの先頭の10行が見れる head ファイル名 head -n 3 messages or head -3 messages ※行数を指定できる |
tail |
テイル。ファイルの最後から10行が見れる tail ファイル名 |
ファイルの中身から特定の単語を検索するコマンド grep '探したい単語' ファイル名 grep 'etc' messages |
|
> |
リダイレクション。あるコマンドの結果をファイルに保存 echo "date" > cmd.txt ※echoでdateと出力した結果をファイルに書き込む |
>> |
末尾に書き込み保存してくれる echo "free" >> cmd.txt |
< |
ファイルの内容を他のコマンドに渡す bash < cmd.txt |
| |
パイプ。コマンドの結果を別のコマンドに渡す |
* |
ワイルドカード。大量のファイルやディレクトリなどを扱っている場合に特定の条件を与えて操作したい場合 ls /etc/*.conf 拡張子がconfのものを抜き出す ls /etc/c??.* cの後に2文字続いているものを抜き出す |
find |
検索 find /ディレクトリ名 -name "検索したい文字列*" ▼許可がないものも検索する場合 sudo find /ディレクトリ名 -name "検索したい文字列*" ▼ディレクトリを除いてファイルだけを検索したい場合 sudo find /ディレクトリ名 -name "検索したい文字列*" -type f ▼そのファイルに対して別のコマンドを実行したい場合 sudo find /ディレクトリ名 -name "検索したい文字列*" -type f -exec wc -l {} + |
xargs |
エックスアーグス。findの検索結果に限らず複数の結果をコマンドに流し込める find /ディレクトリ名 -name "検索したい文字列*" -type f | -xargs wc -l |
{} |
bashのブレース( {} )展開 echo {a, b, c} → a b c echo {1..10} → 1 2 3 4 5 6 7 8 9 10 echo {1..10}{a..g} →1a 1b 1c 1d 1f 1g 2a 2b 2c ....省略......10g touch app{1..5}/test{1..3}{.txt, .jpeg, .gif} |
&& |
複数のコマンドを実行。一つ目のコマンドが成功したら二つ目のコマンドを実行という順にすすむ |
忘れたときは都度確認!!