俺的カンニングペーパー

Web技術のカンニングペーパーを作ることを目的に発信していきます

Linux コマンド

よく忘れる。。

よく使うんだけど、毎回調べてるような気がするコマンドまとめ。。

ファイル・ディレクトリ操作
操作 概要 補足
cat ファイルの内容を表示したり、複数のファイルを連結する -n すべての行に行番号をつける
-s 連続した空行を圧縮する
-b 空行以外に行番号をつける
ls lsコマンドは現在いる場所にあるファイルやディレクトリを表示する -l 名前以外の詳しいデータも表示する
-a ファイル名の先頭が.のものも表示する(設定ファイルなど)
-t 最終更新が新しい順に表示します
-R サブディレクトリの下のすべてのファイルを表示する 
組み合わせ可能

cp -r ディレクトリA ディレクトリB ディレクトリAをディレクトリBの中にコピーする ディレクトリのコピーはrオプションが必要
rm -rf ディレクトリA ディレクトリAを確認なしに削除する fオプションを使うと確認なしで削除
chown 所有者 ファイルA ファイルAの所有者を変更する
chown -R 所有者 ディレクトリA ディレクトリAの所有者を中身のファイルもまとめて変更する
chmod アクセス権 ファイルA ファイルAのアクセス権を変更する r:4, w:2, x:1
find 検索場所 -name ファイル名 -type f 検索場所から指定したファイル名を探す typeをdにするとディレクトリが対象になる
grep 文字列 ファイル名 指定したファイル名から指定した文字列を探す findの結果はxargsで受け取れる
nkf -g ファイルA ファイルAの文字コードを推定する
scp ファイルA ユーザA@ホストA:ディレクトリ リモートのサーバにファイルをコピーする scp ~/hoge.txt user1@hoge.co.jp:~/work/
ln -nfs リンク先 リンク(名) シンボリックリンクを作成する 削除は「unlink リンク名」
シェル操作
操作 概要 補足
export 変数名 指定した変数を環境変数にする
printenv 環境変数の一覧を表示する
ファイルの圧縮、解凍
操作 概要 補足
gzip ファイルA ファイルを圧縮する .gzファイルが対象
gunzip 圧縮ファイルA ファイルAを解凍する
bzip2 ファイルA ファイルを圧縮する .bz2ファイルが対象
bunzip2 圧縮ファイルA ファイルAを解凍する
tar cvzf ファイルA ディレクトリA ディレクトリAのアーカイブをファイルAとして作成する zオプションをつけるとgzipとして圧縮も行う(.tar.gz)
tar xvzf ファイルA 圧縮アーカイブファイルAを展開する
ネットワーク操作
操作 概要 補足
ssh -i 秘密鍵のパス 接続先ホスト名 ssh接続する ssh公開鍵認証を実装する
ifconfig IPアドレスを確認する 一般ユーザの場合PATHが通ってなければ /sbin/ifconfig
netstat -at TCP接続の一覧を表示する
ユーザー管理
操作 概要 補足
su - ユーザー名 指定したユーザーになる -をつけると、変身するユーザーのホームディレクトリに移動する
プロセス操作とシステム監視
操作 概要 補足
ps aux すべてのプロセスを表示する
kill PID 指定したPIDのプロセスを終了する
kill -KILL PID 指定したPIDのプロセスを終了する
top システムとプロセスの状態をモニタする
free メモリとスワップの情報を表示する
df -H ディスクの使用情報を表示する Hオプションをつけると単位が分かりやすい
vmstat 秒数 回数 メモリーやCPUの情報を指定した秒間隔と回で表示する プロセスの内訳は見れないが、スナップショットが残るので時間の経過を追いやすい。
日付
操作 概要
date 日付を表示
date -d '1 days' 明日の日付を表示
date -d '1 days ago' 昨日の日付を表示
date "+%Y%m%d%H%M%S" 書式指定(20160407020312)
その他
操作 概要
curl リクエストURL パラメータは --data-urlencode でURLエンコードできる。
pbcopy < コピーしたい内容 (Macのみ)クリップボードにコピーする。