- mkdir app{1..40}:一気に40のディレクトリ作成→作業効率が上がる
unixとは何か?UNIXや互換OS、ディストリビューション、Linux
- POSIX:共通規格
- BSD(MacOS)/Minix/Linux(Distribution:Red Hat(RHEL/CentOS)/Debian(Ubuntu))
promptの確認(入力を促している部分)
- [vagrant@localhost ~]$
システムの全体像を把握しよう
- bin:cat/cp
- etc:application設定ファイル
- home:各ユーザーのhomeディレクトリ
- sbin:システム管理用のコマンド
- usr:一般的なアプリケーションが格納
- var:システムのログファイル(頻繁に書き換えるもの)
- home/vagrant(薄くなるもの:.ファイル(簡単にいじれないように設定ファイルになっている。不可視ファイル。))
ディレクトリ間を移動
- pwd(print-working-directory)
- clear or ctrl+l
- cd(change-directory)
- cd ..:一つ前
- pwd /home/vagrant:path(絶対指定:一番上の階層から見る) cd ~(総体指定:カレントディレクトリから見る)
- cd -:直前のディレクトリ
ディレクトリを操作(ディレクトリの作成、内容の表示、コピー、移動、削除
- mkdir:make directory mkdir -p(parent)
- cd:check directory
- cp:copy cd -r(recursive)
- mv:move
- rm:remove rmdir
- rmdir(中身がからのものにしか使えない)
- rm -r(中身があってもおけ)
ファイルを操作
- cat:内容確認
- less:長いファイルを表示 spaceかCTRL+f(1画面先)、CTRL+B(1画面前)、G(ファイルの先頭)、shift+Gで末尾
- cp:copy
- mv:move 同じディレクトリ内で使うと名前の変更
- rm:remove
bashの便利機能
- tabによる補完(コマンド、ディレクトリ)
- CTRL+C:現在のコマンドを安全に終了
- 矢印キーによる履歴
- CTRL+R:直近のコマンドの履歴を検索
コマンドの履歴を活用
- history or !と履歴番号(ex: !800)
- !!:1個前
- !-2:2個前
- !$:コマンドに渡した最後の入力値を再活用
- !pw:pwに始まる直近のコマンドを実行
- !pw:p(実行せずにコマンドの表示のみ)
コマンドについて詳しく調べる
- man:manual(ex: man ls)
- g:先頭
- shift+g:末尾
シンボリックリンク
- ls -l:詳細リスト
- ln -s config/production/database dbconfig(シンボリックリンク)
- unlink:シンボリックリンクの消去
ユーザー、グループを確認
- /etc/passed:登録されているユーザーリスト
- d:ディレクトリ、-:通常ファイル、l:シンボリックリンク
- /etc/group:登録されているグループリスト
- groups:自分の所属グループの確認
permissionの理解
- r(read)/w(write)/e(execute)
- u(ser)/g(roup)/o(ther)
- chmod:権限付与 (ex:chmod g+x sample)
permissionを数値で表現
- 2進数で表現 r w x 4 2 1
- rwx(421)/rw-(420)/r--(400)= 764
- chmod 774 sample(rwx rwx r--)
コマンドを作って見る
- コマンドの作成(#!/bin/bash ファイル作成)
- 実行権限の付与(chmod)
PATH(環境変数)を通す
- echo $PATH:どこからコマンドを検索してきているか
- printenv:全ての環境変数を見れる
- pwdで現在地を確認→export PATH=/home/vagrant/unix-study/myapp:$PATH
→exportは環境変数を設定するためのコマンド。 - PATHを通す:特定のディレクトリをPATHに加えること
- which hi(コマンドがどこのディレクトリから来てるかはwhichで確認できる)
- ログアウトすると無効になる。ログアウトしても無効にならない設定もあるが、よくわからないうちはなるべく触らないようにする。
管理ユーザーになる
- su-:rootユーザー
- sudo:管理者ユーザーとしてコマンドを通す
chownを使う
- chown(change owner):ファイルに対してのユーザーとグループの権限変更
wc/head/tail/grep
- wc(word count):行数や単語数、バイト数、ファイル名
- head: 最初の何行かをみる(defaultで10行)
- tail: 最後の何行かをみる
- grep: ファイル内の文字列を検索
リダイレクション、パイプ
- リダイレクション >:あるコマンドの結果をファイルに保存
→ >>:末尾に追記。<<:ファイルの内容をコマンドに追加 - パイプ | :ファイルの内容を他のコマンドに渡す
ワイルドカードを使ってみる
- *:任意の文字列
- ?:任意の1文字
find/xargs
- find:ファイル検索
- xargs
ブレース展開
- ブレース:{} ex)
- ex)
echo {a,b,c}
- ex)
echo {1..10}
- ex)
echo {1..10}{a..g}