UNIXコマンドの使い方入門!用途別に一覧で種類も紹介

UNIXコマンドにはどんなのがあるんだろう?
コマンドがわからない時はどうしたらいいの?

UNIXコマンドはWeb開発におけるサーバーサイドの操作や、大規模システムの管理でよく使われています。

しかし、初心者にとってコマンドのみで操作しなければならないUNIXの操作は大変ですよね。独学でコマンドを覚えるのに時間がかかり、挫折してしまう人もいるのではないでしょうか。

そこで、この記事では用途別にUNIXコマンドを一覧にまとめて紹介します。UNIXコマンドの主な役割や基本的な使い方、調べ方なども解説するので、ぜひ参考にしてください。

この記事の要約
  • UNIXコマンドはマウスを使わずにパソコン操作する方法の一つ
  • LinuxはUNIXをベースに作られた互換性のある別のOS
  • 操作手順で迷わないように事前に調べ方は覚えておこう
本記事の解説内容に関する補足事項

本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。

また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。

記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。

目次

UNIXコマンドの基礎知識

UNIXコマンドの基礎知識

UNIXコマンドは、UNIXやその派生システムで使われる、システム管理やファイル操作に欠かせないコマンドです。UNIXコマンドはカーソルを動かして操作する「GUI方式」ではなく、専用の入力画面にコマンドを打ち込んで操作する「CUI方式」で利用されます。

UNIXではすべての操作にコマンドが必要となるため、UNIXコマンドを覚えなければパソコンやサーバーが操作できないことになるのです。

GUIとは
GUI(Graphical User Interface:グラフィカルユーザインターフェース)とは、コンピュータやソフトウェアが利用者に情報を提示し、操作を受け付ける方法の1つ。画像や図形を多用し、基本的な操作は画面上のアイコンやボタンをクリックすることで行います。

CUIとは
CUI(Character User Interface:キャラクターユーザインターフェース)とは、文字でユーザーへの情報表示を行い、すべての操作をキーボードで行うインターフェース。一般的にUNIX系OSで使用されるほか、Windowsでもコマンドラインやパワーシェルを通じてCUI操作が可能です。

UNIXコマンドの主な役割

下記がUNIXコマンドの主な役割にあたります。

  • システムの管理
  • ファイル・ディレクトリの操作
  • プログラムの実行 など

例ば、lsコマンドを使ってファイルリストを表示したり、rmコマンドで不要なファイルを削除したりすることが可能です。マウスの操作で行う動作一つひとつに対応しているコマンドがあります。これらのコマンドを入力して、操作が可能です。

UNIXコマンドを利用した操作はシステムの根幹に影響します。そのため、使い方を間違えると大きなトラブルを引き起こす可能性があるので、正確な操作が必要です。

Linuxコマンドとの違い

UNIXコマンドとLinuxコマンドは非常に似ていますが、同一ではありません。LinuxはUNIXをベースに作られた別のOSです。そのため、LinuxコマンドはUNIXコマンドに似たコマンドが多く共通性があります。

UNIXは知的財産権を所持している企業があるため、利用するにはライセンス登録が必要です。しかし、Linuxはオープンソースソフトウェアのため、誰でも自由に利用できる点も大きく違います。

Linuxコマンドについては、次の記事で詳しく解説しているので、あわせて参考にしてください。

【全37種】よく使うLinuxコマンド一覧!初心者向け

UNIXコマンド一覧【用途別】

UNIXコマンド一覧【用途別】

用途別でUNIXコマンドを下の一覧表にまとめました。

コマンド用途
pwd現在のディレクトリを表示
cdカレントディレクトリを変更
mkdir新しいディレクトリを作成
rmdirディレクトリを削除

ディレクトリの移動

ディレクトリ操作関連で一般的に使用されるコマンドは次のとおりです。

それぞれ詳しく解説します。

ディレクトリとは
ディレクトリとは、ファイルシステムの中でファイルや他のディレクトリを整理して格納するための「場所」のこと。一般的には「フォルダ」と呼ばれています。

pwd

pwd(print working directoryの略)コマンドは、現在のディレクトリを表示します。

UNIXで作業をする際、どのディレクトリにいるかを確認するために頻繁に使用されます。

pwd2

例えば上の画像の場合では、pwdと入力して”/home/ubuntu/website”と表示されています。これは「home」の中の「ubuntu」の中の「website」という位置にいることを表しています。

cd

cd(change directoryの略)コマンドは、ディレクトリを移動するためのコマンドです。例えば「cd documents」コマンドを使うと、「documents」ディレクトリに移動します。

cd

例えば上の画像の場合ではubuntuディレクトリからwebsiteディレクトリへ移動を行っています。

mkdir

mkdir(make directoryの略)コマンドは、新しいディレクトリを作成します。例えば、「mkdir new_folder」を実行すると、「new_folder」という名前のディレクトリが作成されます。

mkdir

上の例では、はじめにindex.htmlとcssというディレクトリのみ存在しています。しかし、”mkdir images”のコマンドを実行すると、imagesという名前のディレクトリが作成されるのが確認可能です。

rmdir

rmdir(remove directoryの略)コマンドでは、ディレクトリを削除します。

ただし、ディレクトリが空でないと削除できないため、先にディレクトリ内のファイルを削除する必要があります。

ファイルの表示

ファイルの表示関連で一般的に使用されるコマンドは次のとおりです。

ls

lsコマンドはディレクトリ内のファイルやサブディレクトリの一覧をリスト形式で表示します。

オプションを付与して詳細な情報(ファイルサイズ、変更日時など)を得ることも可能です。

ls

例えば上の場合は、自分のいるディレクトリに、

index.htmlというファイル

css/ というディレクトリ

がそれぞれ存在しているという意味です。

次にオプションを使用した場合の動きを確認します。lsコマンドのオプション「a」を例題とし、llsの後にスペースを入れて-aを入力して使用します。

ls-a

結果として、通常のlsコマンドでは表示されなかった.gitというディレクトリなどが表示されました。ここで表示されているのはLinuxの「隠しファイル」というものです。

head

headコマンドはファイルの最初の部分(標準では最初の10行)を表示します。

ファイル内容の一部を素早く確認したい場合に便利です。

tail

tailコマンドはファイルの末尾の部分を表示します。

ログファイルなど、更新され続けるファイルの最新の内容を確認するのに使用されます。

grep

grepコマンドは、ファイル内で指定したパターン(通常は文字列)を検索し、マッチした行を表示します。

正規表現を使って複雑な検索を行うこともでき、ログファイルや大量のデータから、特定の情報を抽出するのに非常に便利です。

ログファイルとは
ログファイルとは、コンピュータのシステムやソフトウェアアプリケーションがその動作やイベントの履歴を記録したファイルのこと。このログファイルを確認することで、システムの運用状況やエラーの発生、アクセスの詳細などを時系列に沿って追跡可能です。

正規表現とは
正規表現とは、特定のルールに従って文字や数字を探し出すためのショートカットみたいなもの。複数の文字列を一つの文字列として表現できるため、大量の文字の中から特定の情報を効率良く見つけ出せます。

ファイルの操作

ファイルの操作関連で一般的に使用されるコマンドは次のとおりです。

それぞれ詳しく解説します。

cp

cpコマンドはファイルのコピーが可能です。

例えば、「cp source.txt destination.txt」と実行すると、「source.txt」をファイル名「destination.txt」に変更した上でコピーします。任意のディレクトリを中身ごとすべてコピーする際には -rオプション(再帰的にコピー)を付与します。

cp

上の例では、index.htmlというファイルが存在するディレクトリで、”cp index.html about.html”というコマンドを実行しています。

このコマンドにより、index.htmlというファイルと同様の内容のファイルが、about.htmlという名前で作成されます。

またcpはディレクトリ自体をコピーすることも出来ますが、その際には”cp -r [コピーしたいディレクトリ名] [コピー先]”というように指定します。

mv

mvコマンドはファイルやディレクトリの移動、または名前の変更が可能です。

例えば、「mv old_name.txt new_name.txt」でファイル名を変更できます。ファイルを指定したディレクトリに移動させたい場合は、「mv file.txt /path/to/directory/」と記述します。

mv

上の例ではtop.jpgがindex.htmlと同じディレクトリに存在していました。

“mv top.jpg images/”というコマンドによりtop.jpgをimagesというディレクトリの中に移動させています。

index.htmlの存在するディレクトリからtop.jpgが消えていることが確認できます。また、imagesのディレクトリに移動して内容を確認するとtop.jpgが存在することが確認できます。

mvコマンドはファイルの移動を行うことだけでなく、ファイルの名前を変更することもできます。

mv [名前を変更したいファイル] [変更後の名前]として使用します。

mv_rename

“mv top.jpg main.jpg”というコマンドで、元々top.jpgという名前だったファイルが、main.jpgという名前に変更されていることが確認できます。

rm

rm コマンドはファイルまたはディレクトリの削除が可能です。

ディレクトリを削除する場合は -r オプションを使用して再帰的に削除する必要があります。削除をかける際は、本当に削除して良いのか、削除対象を間違えていないかなど、十分に注意してください。

rm

上の例では、はじめにmain.jpgが存在していました。“rm main.jpg”というコマンドにより削除を行っています。削除後lsコマンドでファイルがなくなっていることが確認できます。

chmod

chmodコマンドはファイルやディレクトリのアクセス権を変更します。

使用者、グループ、その他のユーザーに対して読み取りや書き込み、実行の権限を設定が可能です。例えば、「chmod 755 file.txt」と記述した場合、所有者に全権限を、その他のユーザーには読み取りと実行の権限のみを与えます。

chown

chownコマンドは、ファイルやディレクトリの所有者およびグループを変更します。

例えば、「chown user:group file.txt」と記述した場合、「user」というユーザーと「group」というグループにファイルの所有権を移します。

ファイルの閲覧

ファイルの閲覧関連で一般的に使用されるコマンドは次のとおりです。

それぞれ詳しく解説します。

cat

cat コマンドは、テキストファイルの内容を見たい場合によく利用されます。

catコマンドを利用すれば、テキストの形式や表示設定を変更することなく中の確認が可能です。

cat

今回は練習のためtest1.txt(内容はtest1file)とtest2.txt(内容はtest2file)というファイルを作成しておきました。

上の例では、”cat test1.txt”というコマンドでtest1.txtの内容を確認した後、”cat test2.txt”というコマンドでtest2.txtの内容を確認しています。

“cat test1.txt test2.txt”と2つ同時に指定することで、両方の内容を繋げて表示されていることが確認できます。

less

lessコマンドは、ファイル内容をページ単位で1画面ずつ閲覧することができます。

容量の大きなファイルを扱う時に便利です。lessコマンドを使えば、ユーザーはファイルの任意の部分を自由に前後に移動して閲覧可能です。

more

moreコマンドもファイルの内容を閲覧できるコマンドです。

主に内容を下方向にしかスクロールできないため、簡単な確認用として使用されます。lessコマンドと違い、ファイル末尾まで表示されると自動で終了します。

find

findコマンドはファイルシステムを検索して特定の条件に合致するファイルやディレクトリを見つけ出します。

非常に柔軟なコマンドで、名前、サイズ、日付など、多様な基準で検索が可能です。

コマンドの出力

ファイルの出力関連で一般的に使用されるコマンドは次のとおりです。

それぞれ詳しく解説します。

echo

echoコマンドは与えられた文字列や変数の値を画面上に出力します。

シェルスクリプトでのデバッグ、環境変数の確認、または他のコマンドへの入力としての利用が一般的です。例えば、「echo “Hello, World!”」と入力すると、画面上に「”Hello, World!”」と表示されます。

シェルスクリプトとは
コンピュータのOSで使用可能なシェル(インターフェースの一種)を使って実行する一連のコマンドを含んだテキストファイルのこと。シェルスクリプトを使用すれば、複数のコマンドを自動的に順番に実行させられます。

環境変数とは
環境変数とは、コンピュータのOSがプログラムやプロセスの実行環境に関する情報を保持するために使用する変数のこと。「設定のメモ帳」のようなものであり、コンピュータが様々なプログラムを実行するときに、どこに何があるのか、または特定の設定がどうなっているのかを知るために、この「メモ帳」を見ます

man

man コマンド(manualの略)は、指定したコマンドのマニュアルページの表示が可能です。

UNIXコマンドのオプションや使用方法が詳しく記載されており、コマンドの使い方を学ぶ際に非常に重宝します。例えば、「man ls」を実行すると、lsコマンドの詳細を記述したドキュメントが表示されます。

UNIXコマンドの基本的な使い方

UNIXコマンドの基本的な使い方

ここからは、OS別にUNIXコマンドの基本的な使い方を解説します。

Windowsで使う手順

Windowsでは、元々UNIXコマンドを直接使うことはできません。そのため、WindowsパソコンにUNIX環境をインストールしたり、クラウド上にUNIX環境を構築したりして使用します。

中でも、クラウド上に環境を構築する方法は、パソコンの容量を圧迫することなく環境構築が可能でありおすすめです。

PaizaCloudは1分で仮想環境を作ってくれるとても便利なツールです。RubyJavaは勿論、Webサイト作成で人気のWordPressなどもすぐに環境構築が出来てしまいます。

Windowsのパソコンを使用している場合、準備に時間を要してしまうので、PaizaCloudでスムーズに環境構築を行うのがおすすめです。

Macで使う手順

MacのOSはUNIXベースのシステムであるため、「ターミナル」アプリケーションを開くだけで、すぐにUNIXコマンドを使用可能です。

ターミナルはデスクトップ右上にあるスポットライトを起動し、「ターミナル」と入力してEnterを押すことで起動されます。

スクリーンショット 2017-12-26 14.21.52
スポットライトの起動
スクリーンショット 2017-12-26 14.23.45
ターミナルと入力して「Enter」

ターミナルが開かれたら、任意のUNIXコマンドを入力して実行します。

UNIXコマンドの調べ方

UNIXコマンドの調べ方

ここからは、UNIXコマンドの調べ方を、3つにまとめて紹介します。

コマンドがわからない時

コマンド名が思い出せない時は、まずインターネットでキーワードを検索してみるのがおすすめです。検索する際は「Linux [やりたいこと]」のキーワードで検索をかけます。例えば「Linux ディレクトリ 作成」で検索をかけます。

google_dirmk

ディレクトリを作る為のコマンド「mkdir」に関する情報がいくつも出てきているのが確認できます。ほかにも、aproposコマンドを使用した検索方法もあります。

aproposはキーワードにもとづいてマニュアルページの説明を検索し、関連するコマンドのリストを表示します。例えば、「apropos user」と入力すると、ユーザー管理に関連するコマンドの一覧表示が可能です。

コマンドの使い方が知りたい時

特定のコマンドの詳細な使い方やオプションを知りたい場合は、manコマンドを使用します。

例えば、「man ls」と入力すると、lsコマンドのすべてのオプションとその説明が表示されます。

man_ls

lsコマンドのマニュアルが表示されました。manコマンドは非常に詳しく書かれたマニュアルページの表示が可能です。

なお、マニュアルを終了するには「q」を押下します。

オプションが知りたい時

コマンドのオプションを調べるには、–helpオプションを使用するか、manコマンドを使用します。

「ls –help」と入力すると、lsコマンドで利用可能なオプションと短い説明が表示されるため、手早く必要な情報の確認が可能です。

UNIXコマンドを使う際のおすすめサイト

ここからは、UNIXコマンドを使う際に役立つおすすめサイトを、2つ紹介します。

逆引きリファレンス

スクリーンショット 2016-03-06 13.38.40

出典:日経XTECH

逆引きリファレンスとは、「実現、実行したい処理」から必要な機能や操作を調べるためのガイドです。

例えば、下のようなコマンドの逆引きサイトでは自分のやりたいことから、コマンドを調べることができます。

tldr pages(英語)tldr pagesは、UNIXコマンドの簡潔な例と説明を提供するページです。manコマンドを使用した際に表示されるドキュメントは、情報が詳細に乗っていますが、長すぎて読みにくい場合もあります。tldr pagesは過剰な情報を避け、実際によく使われるオプションのみを紹介しています。
commandlinefu(英語)commandlinefuは、世界中のユーザーから提供されるUNIXコマンドの具体的な使用例を集めたWebサイトです。具体的な問題解決のためのコマンドが見つかることが多く、実践的な知識を得るのに適しています。

チートシート

スクリーンショット 2016-03-06 13.42.04

出典:Unix/Linux コマンドリファレンス(日本語版)

チートシートとは、特定の操作や動作を行うために必要な情報をまとめた一覧シートのことです。簡単に言うと「早見表」「カンニングペーパー」です。

下記にサンプルシートが掲載されているページをまとめましたので、よければ参考にしてください。

Cheatography(英語)Cheatographyでは、多くのUNIXコマンドのチートシートを無料で提供しています。これらのチートシートは、ユーザーがアップロードしており、自由に共有可能です。コマンドの概要から詳細なオプションまでを一覧で確認でき、手早い参照に便利です。
Devhints(英語)Devhintsはさまざまなプログラミング言語のチートシートを多数提供しており、UNIXコマンドのチートシートもあります。見やすいフォーマットで、初心者から上級者まで幅広いユーザーに利用されています。

挫折なくUNIXコマンドの習得を目指すなら

ここまでUNIXコマンドを一覧表を交えて紹介してきましたが、

独学でUNIXを扱えるようになれるかな…
途中で挫折したらどうしよう…

と不安な人もいますよね。

いまでは無料で利用できる学習サイトやWebサービスもあるため、お金をかけなくても独学でUNIXの習得が可能です。

ただ、手軽に学べるようになった反面いざ勉強を始めると、学習途中に挫折する独学者は多くいます。事実、弊社の調査では

  • 不明点を聞ける環境になかった
  • エラーが解決できなかった
  • モチベーションが続かなかった

などの理由から、87.5%の独学者が「プログラミング学習で挫折や行き詰まりを感じた」と回答しています。

プログラミング学習における挫折率の調査
プログラミング学習者の87.5%が挫折を経験したことがある

調査概要:プログラミング学習の挫折に関するアンケート
調査対象:10代〜80代の男女298名
調査期間:2019年8月13日~8月20日
調査方法:インターネット調査
掲載元:PR TIMES

またこうした背景もあってか、弊社がプログラミングに興味がある人100名へ実施した別の調査では

  • 確実にスキルを身につけられると思ったから
  • 独学では不安がある
  • 効率よく学べそう

などの理由から、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。

61%の人がプログラミングの勉強を始めるならスクールが良いと回答

調査概要:プログラミングに興味がある方の意識調査
調査期間:2021/11/19~2021/12/3
対象者:プログラミング学習を検討している10代~50代の男女100名
調査媒体:クラウドワークス
掲載元:PR TIMES

加えて、プログラミングスクールの卒業生に「独学ではなくスクールを活用した理由」を聞いたところ「できるだけ短い期間でITエンジニアへの転職や副業に必要なスキルを身につけたかった」という回答も多く寄せられました(※1)。

※1:スクール卒業生に実施したインタビュー詳細の動画

上記から、1人でプログラミングスキルを習得できるか不安な人や短期間でスキルを習得したい人ほど確実性を求め、現役エンジニアといったプロの講師に質問できるプログラミングスクールを利用する傾向にあるのがわかります。

いざ独学でUNIXコマンドを学び始めても、勉強の最中に挫折しまっては学習にかけた時間を悔やむだけでなく「思っていたよりも難しいな…」とスキルの習得自体を諦めかねません。

仮にわからないことを飛ばしながら勉強を進めたとしても、ITエンジニアへの転職や副業での収入獲得を実現できる実践的なスキルが身につかなければ、結局後悔することになります。

そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。

300x300-samuraiengineer (1)
6
700x700_01 (1)
700x700_02
700x700_03
700x700_04
700x700_05
700x700_06
700x700_07
700x700_08
300x300-samuraiengineer (1)
6
700x700_01 (1)
700x700_02
700x700_03
700x700_04
700x700_05
700x700_06
700x700_07
700x700_08
previous arrow
next arrow
分割料金一括料金受講期間
4,098円~16万5,000円~1ヶ月~
  • 転職・副業・独立などの目的に特化したコースあり
  • 累計指導実績4万5,000名以上
  • 給付金活用で受講料が最大70%OFF

侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。

先ほど述べたとおり、独学者の多くは自力で不明点やエラーを解決できないためにプログラミング学習を挫折しています。そのため、未経験者が現役エンジニアのようなプロに質問や相談できない状況で、プログラミングスキルを習得するのは非常に難易度が高いといえます。

しかし、侍エンジニアでは

  • 現役エンジニア講師によるマンツーマンレッスン
  • 現役エンジニアに質問できるオンラインでのQ&Aサービス

といったサポート体制を整えているため、学習中に出てきたわからないことや不明点をいつでも相談可能です。「受講生の学習完了率98%「転職成功率99%」という実績からも、侍エンジニアなら挫折しづらい環境で学習を進められるといえます。

また、侍エンジニアではカウンセリングにて受講生一人ひとりの目的をヒアリングしたうえでカリキュラムを作成するため、限られた受講期間でもITエンジニアへの転職や副業での収入獲得に必要なスキルだけを効率的に習得可能です。

最短距離で目的を実現できるようカリキュラムが組まれているため、勉強する順番や内容を誤り非効率に時間や手間を費やす心配もありません。

なお、侍エンジニアでは最大70%OFFで受講可能な「給付金コース」を提供中。金銭面での支援を受けつつ、理想のキャリア実現に向けたスキルの習得から、転職活動・就業後のフォローアップ(※1)までを一貫してサポートしてもらえます。

※1:転職後の1年間、転職先での継続的な就業や転職に伴う賃金上昇などのフォローアップ

学習と金銭面をどちらもサポートしてくれる侍エンジニアなら、未経験からでも安心してITエンジニアへの転職や副業での収入獲得などの目的が実現できますよ。

公式サイトで詳細を見る

まとめ

本記事では、UNIXコマンドの基礎知識から、具体的なコマンドの使い方、コマンドを調べる方法などを紹介しました。

UNIXコマンドはWeb開発におけるサーバーサイドの操作や、大規模システムの管理などでよく使われます。そのため、UNIXコマンドに精通している人材は重宝されるでしょう。

しかしながら、コマンドの種類も多くなかなか学習が進まない人もいるのではないでしょうか。

独学では不安が残る人は、的確なサポートを受けられるプログラミングスクールを活用し、効率よく学習していくのもおすすめですよ。

関連記事

また、Linuxについては、こちらの記事で詳しく解説しているので、あわせてご覧ください。

【初心者必見】Linux勉強するならコレ!学習サイト、方法、コツまとめ

この記事の監修者

フルスタックエンジニア

金田 茂樹


音楽大学卒業後、15年間中高一貫進学校の音楽教師として勤務。40才のときからIT、WEB系の企業に勤務。livedoor(スーパーバイザー)、楽天株式会社(ディレクター)、アスキーソリューションズ(PM)などを経験。50歳の時より、専門学校でWEB・デザイン系の学科長として勤務の傍ら、副業としてフリーランス活動を開始。 2016年、株式会社SAMURAIのインストラクターを始め、その後フリーランスコースを創設。現在までに100名以上の指導を行い、未経験から活躍できるエンジニアを輩出している。また、フリーランスのノウハウを伝えるセミナーにも多数、登壇している。

この記事を書いた人

【プロフィール】
システムエンジニアからフリーランスへ転向して3年目。Webライターを中心に、サイトや動画の制作・業務効率化を目的としたプログラム作成などの仕事を担う。2024年から侍エンジニアブログの記事執筆を担当。エンジニア時代の経験を活かし、初学者にも理解しやすい解説の執筆を心がけています。
【専門分野】
Web関連全般(HTML,CSS,JavaScript,Pythonなど)/インフラ関連(Java,DB,SQLなど)/中国語(バイリンガル)
【SNS】
X(旧:Twitter)

目次