Edited at

コマンドラインでよく使うコマンドと基礎

More than 1 year has passed since last update.


LinuxまたはMacでよく使うコマンドを中心に紹介します



目次


  • 移動・表示・作成・削除(基本)

  • ネットワーク

  • エディタ

  • 障害対応のときとか

  • パイプ

  • シェル



移動・表示・作成・削除



  • cd → 移動。チェンジディレクトリ

  • pwd (-P)→ カレントディレクトリのパスを表示

  • ls (-la)→ ディレクトリ内のファイル表示

  • cat → ファイルの内容を標準出力

  • less → ファイルの中身を表示



  • echo → 引数で指定した内容を標準出力

  • time → コマンドの実行時間を表示

  • tail (-f)→ ファイルの末端の10行を表示

  • mkdir → ディレクトリ作成

  • touch → 空のファイル作成。ファイルを指定するとタイムスタンプが変更される



  • mv → ファイルの移動・リネーム

  • rm (-r)→ ファイル・ディレクトリの削除

  • cp → ファイルのコピー

  • man → コマンドのマニュアルを表示

  • find → ファイルを検索

  • grep → ファイル内の文字列を検索



  • diff → ファイルとファイルの差分を表示

  • ps aux → 現在実行されているプロセスの表示

  • ln -s → シンボリックリンクを作成

  • chmod → 実行権限を変更

  • chown → 実行ユーザーを変更



ネットワーク



  • ssh → リモートサーバーにアクセスするために使う

  • whois → ドメイン情報を表示

  • dig, nslookup → ドメイン名からIPアドレスを調べる

  • curl → CLIからHTTPリクエストを送信

  • scp → リモート・ローカルでファイル転送



エディタ



  • vi, vim

  • emacs(入ってれば)

  • nano(殆ど使わないと思うけどDockerで触るかも)

  • code(vscode入ってれば)

  • atom(atom入ってれば)

emacsとかcodeとかatomとかはLinuxには普通入ってないけど一応載せておいた



障害対応のときとか



  • top (-a) → 実行中のプロセスをリアルタイムでcpuやメモリ順にソート

  • du, df → ディスク容量確認

すでに出てきたコマンドもよく使う。これらはサーバーに入らなくても表示できるよう、監視を整備しておいたほうが楽



パイプ


| を使って、コマンドの実行結果を次のコマンドに渡すことができる



# ファイルに'foobar'という文字列を追記

$ echo 'foobar' >> buzz.txt

# ファイルの内容を標準出力に出しその内容をgrepすると
# foobarという文字列が結果として出る
$ cat buzz.txt | grep bar
foobar



awk, sed, perlなんかを使うともっと高度ことが出来る(今回は割愛)



シェル


これまで紹介したコマンドをコンピュータ(カーネル)に伝えるためのプログラム



  • bash

  • zsh

  • fish

各々CLIでの操作が便利になるようカスタマイズできる。最近だとfishが良いという噂。



まとめ



  • 基本のコマンドは抑えよう

  • helpやmanで使い方・便利オプションをチェックしよう

  • パイプは積極的に使おう

  • 合わせて「UNIXという考え方」という本も読んでおくとベスト

  • シェルの設定もやってみよう