0
0

More than 3 years have passed since last update.

忘れがちなLinuxコマンドとそのオプション

Last updated at Posted at 2020-04-20

はじめに

忘れがちな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
さらに詳しく知りたい場合はこちらを参照してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0