Linuxの基本コマンドを学ぶ
Linuxには、多くのコマンドが用意されています。シェルやファイルやディレクトリの操作など、コマンドの中でもよく使うものは、マスターしておくと便利です。ここでは、Linuxの基本コマンドを分類別に一覧化し、順に解説していきます。
そもそもLinuxとは
Linuxとは、フリーのオープンソースUNIX系OSを指します。UNIX互換APIを実装しており、多くのUNIX系コマンドが搭載されています。
動作に必要なLinuxカーネルおよびライブラリ、システムコマンドやツール、シェル、デスクトップGUI(グラフィカル・ユーザ・インターフェース)などをパッケージ化し、Linuxディストリビューションとして提供しています。
【参考】:THE LINUX FOUNDATION 【参考】:Linux Standard Base Specifications Archive
Linuxコマンドの特徴
Linuxは、UNIX系OSでありCUI(キャラクター・ユーザ・インターフェース)を基本としています。CUIのため、WindowsのようなGUIなしに操作することができます。OSを操作したりアプリを実行したりするには、処理を受け付けるシェル(コマンドライン・インターフェース)にコマンドを入力し、実行します。
Linuxがデータセンターなどのサーバ用OSで良く用いられているのは、リモートからコマンドを実行しやすく、シェルスクリプトなどで自動化が可能であることが理由です。Linuxのコマンドを学ぶと、色々な業務で活用することができます。
Linuxディストリビューションによる違い
Linuxを使うには、Linuxカーネルに関連ソフトウェアを同梱したLinuxディストリビューションを用います。Linuxディストリビューションによって、パッケージに採用されるミドルウエアやデスクトップインターフェースに違いがあり、管理コマンドに違いがあります。
例えばRed Hat系ディストリビューションでは、パッケージマネージャとしてRPMを利用します。Red Hat Enterprise LinuxやFedra、SUSE Linuxなどで用います。Debian系ディストリビューションでは、パッケージ管理にdeb形式のファイルを用います。DebianやUbuntuなどで用います。
Linuxのコマンドを練習するには
Linuxのコマンドは非常に多く、初心者はコマンドラインで指定するため最初は戸惑うでしょう。環境を理解するためには、コマンドを練習する実験用PCを用意しておくと良いでしょう。WSLなど、Windows環境にLinuxをインストールすることも可能なので、手をかけずにコマンドを習得できます。
操作に慣れるまでは、管理者コマンドやファイル・ディレクトリを削除するrmコマンドなどの使用は、注意深く行ってください。誤ってシステムファイルを削除したり、内容を書き換えたりすることでシステムにダメージを与える場合があります。
操作ミスを最小にとどめるために、作業は特定のディレクトリに移動し、その中で操作するようにしましょう。
Linuxの基本コマンド一覧
これより、Linuxの基本コマンドを学んでいきます。Linuxの操作はシェルを通じて行います。コマンドは、コンソールにログインしたり、リモートからアクセスしたりして実行します。Linuxのコマンドを扱うシェルの理解も、合わせて行うと良いでしょう。以降では、Linuxのコマンドを分類別に整理し、解説していきます。
シェルの基本操作
ここでは、最初に使うコマンドを順に紹介していきます。冒頭で紹介するのは、シェルで使用する用法です。コマンドの実行と合わせてシェルのリダイレクトやパイプを使用すると、結果をファイルに保存したり、ファイルから読み込んだりすることができます。各項目には、簡単な使い方を記載しています。
・<、>:シェルのリダイレクト 標準入出力をファイルなどに付け替えます。 ”<”で入力、”>” で出力の付け替えを行います。
・|:シェルのパイプ ファイルを介さずに、プロセス間通信のように次のプロセスの標準入力にデータを渡します。
ファイルやディレクトリの操作
ログインして使用するコマンドには、ファイルやディレクトリの操作やファイルの中身を確認するコマンドなどがあります。ファイルやディレクトリ操作のコマンドがわかれば、作業がしやすくなります。
ファイルの操作には、以下のコマンドが使用できます。
・ls:ファイルやディレクトリの表示 用法:ls [オプション]... [ファイル]...
・cat:入出力結果やファイルの表示やコピー 用法:cat [オプション]... [ファイル]...
・cp:ファイルやディレクトリのコピー 用法:cp [オプション]... ソース... ファイルまたはディレクトリ
・mv:ファイルやディレクトリの移動 用法:mv [オプション]... ソース... ファイルまたはディレクトリ
・rm:ファイルやディレクトリの削除 用法:rm [オプション]... ファイル...
・ln:シンボリックリンクやハードリンクの作成 用法:ln [オプション]... ディレクトリまたはターゲット... リンク名またはディレクトリ
ディレクトリの操作には、以下のコマンドが使用できます。
・pwd:カレントディレクトリの表示 用法:pwd [オプション]...
・cd:カレントディレクトリの変更 用法:cd [ -L|-P ] [ディレクトリ]
・mkdir:ディレクトリの作成 用法:mkdir [オプション]... ディレクトリ...
・rmdir:ディレクトリの削除 用法:rmdir [オプション]... ディレクトリ...
テキストの表示や編集
テキストの表示は、catやmore、lessなどを使用します。catは、ファイルのコピーや表示など幅広く使用できます。ファイルの編集は、viやvimなどのテキストエディタのほかLinuxディストリビューションで提供されるGUIベースのエディタなどが利用できます。
・vi:テキストエディタ 用法:vi [オプション] [ファイル ..]
・vim:テキストエディタ 用法:vim [オプション] [ファイル ..]
・cat:入出力結果やファイルのコピー 用法:cat [オプション]... [ファイル]...
・more:表示のページング 用法:more [オプション] [ファイル ..]
・less:後方表示用のページング 用法:less [オプション] [ファイル ..]
プロセス管理とバックアップ
起動したコマンドは、プロセスとして管理できます。異常時にプロセスを終了させたり、設定スケジュールで実行させたりすることができます。作成したファイルはバックアップの取得や、ネットワーク経由でftpなどを用いて保存します。
プロセス管理には、次のようなコマンドが使用できます。
・ps:実行プロセス情報の表示 用法:ps [オプション]
・top:プロセス情報のリアルタイム表示 用法:top [オプション]
・nice:プロセスプライオリティの変更 用法:nice [オプション] [コマンド[引数]...]
・kill:プロセスの終了(シグナル送信) 用法:kill [ -s シグナル| -p ] [ -- ] pid …、またはkill -l [シグナル]
・crontab:プロセススケジューラと実行設定 用法:crontab [ -u ユーザー]ファイル、またはcrontab [ -u ユーザー] [オプション]
・at:指定時刻にジョブをスケジュール 用法:at [オプション]、またはat [オプション] TIME
バックアップには、次のようなコマンドが使用できます。
・tar:バックアップ(ファイルアーカイブ) 用法:tar [オプション...] [ファイル]...
・dd:ファイル・ディスクのダンプ・コピー 用法:dd [オプション...]
管理者コマンド
Linuxには、一般ユーザと特権を持つスーパーユーザのアカウントがあります。システムのアカウントの追加や削除、システムのバージョンアップ、シャットダウンなどは管理者コマンドを用いて行います。
・su:スーパーユーザ(管理者)や他のユーザとしてログイン 用法:su [オプション]... [ - ] [ユーザ[引数]...]
・sudo:別のユーザとしてコマンドを実行する 用法:sudo [オプション]...、またはsudo [オプション]...[コマンド]
・chown:ファイルオーナの変更 用法:chown [オプション]... ファイル...
・chgrp:ファイルグループの変更 用法:chgrp [オプション]...グループ ファイル...
・vipw:パスワードファイルの編集 用法:vipw [オプション]
・reboot:システムを再起動する 用法:reboot [オプション]、またはhalt [オプション]、またはpoweroff [オプション]
・shutdown:システムをシャットダウンする 用法:shutdown [オプション]...時間[メッセージ]
Linuxコマンドは、よく使うものから学びましょう
Linuxコマンドは、単純に何らかの情報を表示するものからシステムの設定を更新するものまで、多岐に渡って提供されています。慣れるまでは、ファイルの表示やディレクトリの操作などよく使うコマンドから始め、徐々にシステムコマンドや高度なオプションを学ぶのが効率的でおすすめです。
その他の関連記事
その他に関連する内容は、下記の記事でもご紹介しています。ぜひ参考にご覧ください。
Linuxエンジニアとは?年収や必要なスキル、将来性を解説!
Linuxの初心者向け資格3選!勉強方法やキャリアパスも解説!
Linux初心者でも安心!ディレクトリ削除を安全に行う方法を解説
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから