独り言

プログラミングの講師をしています。新人研修で扱う技術の解説と個人の技術メモ、技術書の紹介など

【Linux】Linux入門(コマンド編)

基本コマンド

  • pwd
    point working directory
    現在の作業場所(カレントディレクトリ)を確認するコマンド。

  • ls
    list
    ファイルの一覧を確認するコマンド。
    ls -l とするとファイルの詳細情報も同時に確認できる。
    ls -aとすると、隠しファイルも含めて表示される。
    ls -laのように組み合わせることも可能。
    -a, -lなどはオプションと呼ばれ、コマンドの動作を調整してくれる。
    コマンドによって指定できるオプションが決まっており、一般的には-を付けて指定します。

  • cd
    change directory
    カレントディレクトリを移動するためのコマンド。
    cd [移動場所]
    のようにコマンドと同時に移動場所を指定する。
    相対パス絶対パスによる指定が可能。
    このようにオプションとは別でコマンドに指定する値のことを引数と呼びます。
    cdコマンドでは引数を指定しなかった場合はユーザーのホームディレクトリに移動します。
    また、cd ~
    と指定してもホームディレクトリに移動します。

  • echo
    引数で指定された文字列を標準出力するためのコマンド。
    echo [文字列]とすると、文字列が画面に出力されます。
    文字列はダブルクォーテーションでくくって表現します。
    例えば
    echo "Hello" のようにします。

ディレクトリ操作コマンド

  • mkdir
    make directory
    新しいディレクトリを作成するためのコマンドです。
    ディレクトリとはWindowsでいうところのフォルダのことです。
    Linuxの場合はフォルダのことをディレクトリと呼びます。
    mkdir [新規ディレクトリ名] とするとディレクトリが作成されます。

  • rmdir
    remove directory
    ディレクトリを削除するためのコマンド。
    rm [ディレクトリ名]
    とすると削除することができます。
    ただし、このコマンドで削除できるのは中身が空のディレクトリのみです。
    中身が既に存在する場合には後述するrmコマンドを使用します。

ファイル操作コマンド

  • touch
    ファイルの更新日時を更新するコマンド。
    touch [ファイル名]
    とすることで、対象のファイルの更新日時がコマンド実行時の日時に更新されます。
    ファイルが存在しない場合は、中身が空のファイルが作成されるため、ファイルを作成する際にもよく使用されます。

  • cp
    copy(コピー)
    ファイルをコピーするコマンド。
    cp [コピー元] [コピー先]
    コピー先に新しいファイル名を指定した場合、コピー元のファイルがコピーされたコピー先で指定した名前で出来上がる。
    コピー先にディレクトリを指定した場合は、ディレクトリの中にコピー元のファイルがコピーされる。
    ディレクトリ毎コピーすることも可能。
    ディレクトリの中身も含めてコピーしたい場合は、-r のオプションを付ける。

  • mv
    move(移動)
    ファイルを移動するコマンド。
    mv [移動元] [移動先]
    移動先がディレクトリの場合、移動元のファイルを移動先のディレクトリに移動する。
    移動で存在しないファイル名を指定した場合、移動元のファイルのリネームとなる。

  • rm
    remove(削除)
    ファイルを削除するコマンド。
    rm [ファイル名]
    ディレクトリを指定することも可能。
    ディレクトリを中身も含めて丸ごと削除する場合は、-r のオプションを付ける。

  • file
    ファイルの詳細を調べるコマンド。
    file [ファイル名]
    とするとファイルの種類を特定することができる。
    ファイルに拡張子がなく、何のファイルか分からない場合などに役に立ちます。

ファイル参照のコマンド

  • cat
    cat [ファイル名]
    とすることでファイルの中身が標準出力される(画面に表示される)。
    行数の少ないファイルの内容を確かめるのには向いているが、行数の多いファイルの中身を見るのには向いていない。

  • more
    1ページ分のファイルの内容を表示するコマンド。
    Enterで次のページに進むことができる。
    後戻りをすることはできない。

  • less
    1ページ分のファイルの内容を表示するコマンド。
    moreに似ているが、moreを改良して機能を追加したコマンドなので、一般にlessの方が便利です。
    スペースで次のページに進む。

  • head
    ファイルの先頭行を表示するコマンド。
    オプションで先頭の何行を表示するかを指定できます。

  • tail
    ファイルの末尾を表示するコマンド。
    -f のオプションを付けることで、リアルタイムでファイルの変更をモニタすることができます。
    ログファイルを監視する場合などに使用することができます。

ファイル検索のコマンド

  • locate
    ファイル名で検索するコマンド。
    locate [ファイル名パターン]
    ワイルドカード(*など)が使用可能。
    インストールされていない場合もあり、その場合はインストールしなければ使用できない。

  • find
    オプションを使用して様々なファイル検索が行えるコマンド。
    find /検索したいディレクトリ オプション
    で検索を行う。 以下は主要なオプション。

その他、サイズ、ユーザー、パーミッションなどによる検索も可能。
複数条件指定するときは、-a を付ける。

その他のファイル操作

  • grep
    検索キーワードを指定してファイルの中から該当する個所を検索するコマンド。
    grep [検索キーワード] [検索対象のファイル]
    パイプを使って他のコマンドと組み合わせて紹介する場合も多い。
    パイプについては別記事で解説。

  • sort
    テキストファイルの中身をソート(並び替え)するコマンド。
    オプションにより、何列目でソートするか、逆順でソートするか、数値としてソートするか、などが指定可能。
    -r で逆順でのソート、-kn n列目でソート。

  • tr
    文字列の置き換えを行うコマンド。
    パイプなどと組み合わせて使われる。

  • diff ファイルの比較を行うコマンド。

  • ln
    リンクを張るコマンド。
    リンクにはハードリンクとシンボリックリンクがある。
    ほとんどの場合はシンボリックリンクを使用する。
    ファイルのショートカットのようなもの。
    ln -s でシンボリックリンクになる。

コマンド入力の効率化

  • tabキー
    Linux(正確にはbash)にはコマンドを途中まで入力した状態でタブキーを押すと、補完してくれる機能があります。
    候補が複数ある場合はその候補の一覧を表示してくれたりします。
    コマンドだけでなく、ファイルやフォルダ名を引数として入力する際にも使えます。

  • 上下矢印キー
    コマンドの入力待ち状態の時に上矢印キーを押すと、直前に実行したコマンドの内容が表示されます。
    更に上ボタンでコマンドの実行履歴を過去にさかのぼることができます。
    また、下矢印キーで直近の履歴まで戻せます。

tabキーと上下矢印キーはコマンドを効率よく操作するために欠かせない操作なので積極的に活用していきましょう。