コンテンツにスキップ

これだけは知っておけlinuxコマンド

参考サイト

コマンド

ls

1
2
3
4
5
6
ls #ディレクトリの情報一覧 (「list segments」)
よく使うオプション)
-a 全部表示する
-l 詳しく表示する
例)
ls -al # 全部詳しく表示する!

pwd ルートからのパスを表示する

1
2
3
4
5
よく使うオプション)
無し
例)
$ pwd
/Users/kiyo/Desktop/works/develop_note

cat

1
2
3
4
5
6
7
8
9
# hoge.phpのソースが出力される
cat var/html/piyo/hoge.php

# なんとなく使ってるオプション(見やすい)
 -n  行頭に行番号を表示

# macのコマンドだけど便利なやつ
# catで出力しつつ、出力したものをクリップボードにcopyできる
cat var/html/piyo/hoge.php | pbcopy

touch

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# var/html/piyo/にfuga.txtが作成される
touch var/html/piyo/fuga.txt

# "ディレクトリがないとエラーになる"はご愛嬌な気もするんです
# 一応書くならこういう具合
# mkdir -p:ディレクトリがなかったら作成、なければ何もしない
mkdir -p var/html/piyo && touch var/html/piyo/fuga.txt

# 複数ファイルを同時に作成したいときはスペース区切り
touch ファイル名1 ファイル名2 

pbcopy / pbpaste

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[pbcopy]
cat /path/to/your/file.txt | pbcopy
# パスで指定したファイルの内容をコピーできる

[pbpaste]
pbpaste
# コピーした内容を貼り付けられる

[補足]
・macOS で使用できるコマンド
・Linux だと「xsel --clipboard --input」(コピー) 「xsel --clipboard --output」(貼り付け) というコマンドで代用できる。

rm

1
2
rm /path/to/your/file.txt
# パスで指定したファイルを削除できる

grepコマンド

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
検索ワードを指定し、指定したファイルの中身を検索してヒットする行を出力する。ディレクトリを指定すると、そのディレクトリ内のファイルを検索する。

grep -option "検索パターン" ファイル名
よく使うオプション:
-c ヒットする行数を数える
-v "パターン" 指定するパターンを除外する
-i "パターン" 小文字、大文字どっちも引っかかる
-E "パターン1|パターン2|パターン3" 複数の検索パターンを指定(OR検索)
-n 検索ヒットの行数を表示する
-l ファイル名だけを表示する
(他に便利なオプション教えていただければありがたいです)
普段する使い方:
探したいパターンでgrep してパイプを使って要らないパターンを1個ずつ除外していく:
grep "欲しいパターン" file.txt | grep -vE "欲しくないパターン1|欲しくないパターン2"
パイプを使ってAND検索をする
grep "欲しいパターン1" file.txt | grep "欲しいパターン2"
特定の拡張子のファイルだけ検索したい場合はワイルドカードを使用:
// 指定ディレクトリ内のログだけ検索する
grep "検索パターン" path/*.log

// カレントディレクトリ以下を再帰的にログファイルだけを検索
grep "検索パターン" **/*.log

view

1
2
# 読み取り専用のvi。間違っても編集したくないファイルを開く時に便利。
view ファイルパス 

watch

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# watchコマンドに続くコマンドを一定時間毎に実施してくれる
watch オプション 実施したいコマンド

# 1秒毎にlsをし続けてくれる
watch -n 1 ls

# 1秒毎にlsをし続けてくれる。実行時からの差分をハイライト表示してくれる
watch -n 1 -d=permanent ls

# 1秒毎にdigし続ける(dns切り替わったかなぁって気になる時に使ってました)
watch -n 1 dig +noedns colony-i.com

less

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# ファイル(xxx.txt)を安全に開くことができる(編集されない
less xxx.txt

# ファイルをリアルタイムで監視(ログ見るときとかに便利。tail -fとほぼ一緒
less +F xxx.txt

# less コマンド実行中の操作(文字検索編)
/キーワード : 前方検索
?キーワード : 後方検索
&キーワード :    一致する行のみ表示

vi

1
2
3
4
5
6
7
8
9
# ファイル(xxx.txt)を開くまたは新規作成する 
vi xxx.txt

# vi コマンド実行中の操作(編集編)
:q  ファイルを閉じる
i    編集モード
:set number 行頭に行番号を表示してくれる
:wq ファイルを保存、ファイルを閉じる
:q! ファイルを閉じる。変更があった場合は変更を破棄 

tail

1
2
3
ファイルの末尾10行を出力する。
tail -f file
ファイルの中身が増えたら、それを出力する。リアルタイムでのログの確認に使う。

gzip

1
2
3
4
gzip file
ファイルを圧縮・展開するコマンド
gzip -dc file.gz で圧縮されたログファイルの確認に使う。
-dは圧縮の展開、-cは標準出力に表示

cd

1
2
3
4
5
6
7
8
9
(ディレクトリ移動)
cd 移動先ディレクトリパス
cd パラメータなしだとホームディレクトリに移動する
cd - 直前のディレクトリに戻る
ssh コマンド(サーバーにリモート接続)
よく使う形
ssh -p ポート番号 ログインユーザー名@接続先サーバーIPアドレス(ドメインでも可)
パスワードを聞かれるので入力
サーバーから抜けるには、exitと入力する

chmodコマンド(ファイルのパーミッション変更)

1
chmod 0644 file # ファイルのパーミッションを644 に変更する

chownコマンド(ファイルの所有者変更)

1
2
chown centos file # ファイルの所有者をcentos に変更する
chown apache:apache # ファイルの所有者とグループをapache に変更する