はじめに
忘れがちなLinuxコマンドのオプションたちを列挙していくよ!
※基本的なコマンドのよく使うオプションは省略してます。
ls
ディレクトリ内のファイル・ディレクトリを表示する。
-F
ディレクトリと各ファイルの種類を分けて表示
-R
現在位置より下の階層のディレクトリとファイル全て表示
-t
タイムスタンプ順に表示する(降順)
--full-time
タイムスタンプを細かく表示
cp
ファイルやディレクトリをコピーする。
複数ファイル・ディレクトリ指定可能。
-p
タイムスタンプを壊さずコピー(基本的に全てにつける)
mkdir
ディレクトリを作成する。
複数ディレクトリ指定可能。
-p
階層を指定して間のディレクトリを全て生成
cd
ディレクトリを移動する。
-
直前にいたディレクトリに移動
cat
ファイルの中身を表示する。
-n
行数を付けて表示
※長いファイルの場合はlessコマンドの方が良い。
※lessの場合、spaceで1画面スクロール、enterで1行スクロール、qで表示の終了ができる。
find
ファイルの位置を検索する。
find [開始ディレクトリ] -name '[ファイル名]' -print
-i
大文字小文字の区別をしない
locate
findと同様。
findより高速なファイル検索が可能。
検索位置は指定できないみたい。
※ # updatedb
をしてから使う(1日1回は自動実行される)
witch
実行ファイルのパスの位置を表示する。
-a
全ての実行位置を表示(基本的にこれをつける)
printenv
現在の環境変数を全て表示する。
wc
ファイル容量を確認する。
-l
行数
-w
単語数
-c
文字数
-m
マルチバイトの文字を含むファイルの文字数
tar
アーカイブを作成する。
tar cvf [アーカイブ名.tar] [圧縮するファイルたち]
cvf
作成
xvf
展開
間にz
をつけると.gzファイルを作成できる。
gzip
ファイルを圧縮する。
※基本的にtarしてから。
-d
解凍
gunzipコマンドを使うとオプションなしで解凍できる。
date
フォーマットを調整して現在時刻を表示する。
date +'%Y%m%d %a %H:%M'
``(バッククウォート)で囲むとファイル名などに付け足せる。
grep
ファイルの中から検索文字列を含む行を表示する。
grep [検索文字列] [ファイル名]
-i
大文字小文字を区別しない
-v
検索文字列を含まない行
-o
検索文字列の部分のみ抽出(正規表現と一緒に使う)
grep '[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}' [ファイル名]
などのように正規表現が使える。
sed
ファイル中身の表示や置換ができる。
・表示
sed -n 6,8p [ファイル名]
6~8行目を表示
・置換
sed 's/[検索文字列]/[置換文字列]/g' [ファイル名]
awk
行や列の抜き出しにはめっちゃ使える。
awk '/[検索文字列]/ {print $0}'
・指定カラムについて
$0
1行全て
$1
1列目
$NF
最後の列
・オプション
-F
列のセパレータを指定(デフォルトはスペース)
2つめの/
の後にi
を付けて大文字小文字を区別しない
‘NR == 1, NR == 3’
のように指定すると行も指定できる(1~3行目)
各行ごとの指定の場合は ;
で区切る。
sort
文字列や数字でソートする。
-r
降順にする
-n
文字を数値としてソートする
uniq
重複を取り除く。
※ソートしてから使わないと連続して重複している文字列しか取り除いてくれないので注意。
-d
重複する行だけ
-n
重複しない行だけ
-c
行数をカウントして行横に表示
ping
パケットを送って通信を確認する。
ping -i 2 -c 10 [IPアドレス]
-i
秒間隔を指定
-c
送る数を指定
ps
現在のプロセス状態を確認する。
-u
ユーザ名と開始時刻なども表示
※ちなみにkill [PID]
を指定して処理を強制終了することができる。
ssh
他のサーバーにログインする。
ssh [ログイン名]@[IPアドレス]
戻るときはexit
ssh [ログイン名]@[IPアドレス] `コマンド処理`
をすることで1つのコマンド処理だけを他サーバーで行って帰ってこられる。
scp
他のサーバーからコピーしてくる。
scp -p [ログイン名]@[IPアドレス]:[PASSとファイル名] [コピー先]
crontab
時間間隔ごとに処理を実行できる。
cronを編集crontab -e
cronは以下のように記述する(3分ごとに実行)。
*/3 * * * * [処理]
tail -f
cronなどでファイル追記をする場合、追記内容をリアルタイムで確認することができる。
chmod
対象は
u
ユーザ
g
グループ
o
外部
の順になっている。
パーミッションは
r
読みとり 4
w
書き込み 2
x
実行 1
の順になっている。
chmod 755 [ファイル名]
とすることでユーザはrwx、グループはrx、外部はrxを指定することができる。
参考
https://eng-entrance.com/category/linux/linux-command
さらに詳しく知りたい場合はこちらを参照してください。