icon
icon

これだけは覚えておきたい!基本的なUNIXコマンド20【初心者向け】

初心者でもこれだけは覚えておきたい【UNIXコマンド】を一覧で20紹介。UNIXコマンドとは何なのか?から解説。Macのターミナルで入力した例もあるので、記事を見ながらディレクトリやファイル操作などがすぐに実践できます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

今回は、プログラミング初心者でも覚えておきたいUNIXコマンドを紹介します。

プログラミングを学んでWeb開発する際に、WebサーバのOSとしてLinuxやUNIX系を利用することがあります。

そのため、Web開発をするためにUNIXコマンドの知識が必要です。

Amazonが運営するAWSといったサービスやCloud9といったサービスでも、UbuntuやLinuxが利用されています。

そのため、特定のOSで利用可能なコマンドです。

また、Macのターミナルを扱う時も使用しますので、覚えておくと便利です。

WindowsでUNIXコマンドを利用できるので、コマンド操作に慣れることは実務においても技術的なレベルが上がります。

そこでこの記事では、プログラミング初心者でも覚えておきたいUNIXコマンドを初心者向けに紹介します。

目次

1時間でできる無料体験!

 

 UNIXコマンドとは

UNIXコマンドとは、LinuxやUNIX系OSのWeb開発で利用するコマンドです。

ウィンドウやボタン、アイコンといった視覚的なオブジェクトをマウスで操作するインターフェイスをGUI(Graphical User Interface)と呼びます。

一方、文字入力によってコンピュータに命令を与えて操作するインターフェイスをCLI(Command Line Interface)、あるいはCUI(Character User Interface)と呼びます。

「コマンド」とはコンピュータに指示する命令であり、CLI上で用いるプログラム/アプリケーションのことを指します。

UNIXに由来するコマンドを「UNIXコマンド」と呼称します。

現在ではGUIがコンピュータを操作する手法として主流ですが、ある操作の結果を別の操作に用いたり、自動的に複数の操作を行ったりする場合など、CLIの方が適している作業が多く存在します。

 

Windows10でUNIXコマンドを利用する方法

2021年3月現在の最新バージョンのWindows10では、WSL(Windows Subsystem for Linux)を有効化することでUNIXコマンドを利用できます。

  1. コントロールパネル
  2. プログラム
  3. プログラムと機能
  4. Windowsの機能の有効化または無効化

上記の順に選択をして、「Linux用 Windows サブシステム」をチェックしてください。

コントロールパネルを開いてプログラムを選択する画面

プログラムを選択してWindowsの機能の有効化または無効化を選択する画面

Linux用Windowsサブシステムを選択してOKを押してください。

 

Microsoft StoreでUbuntuをインストール

Microsoft StoreをWindowsで起動します。

Ubuntuを検索して出てきた表示の入手をクリックしてUbuntuをインストールします。

 

インストールにはしばらく時間が必要です。

 

インストールが完了したら起動ボタンを押してください。

 

Windows上で初期設定を行うための起動が始まります。

初回のみ起動時間が必要です。

 

ユーザー名とパスワードを設定すると完了です。

パスワードは設定用と入力用に同じものを2回入力する必要があります。

 

設定が完了したら、UNIXコマンドの入力が可能になります。

 

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

覚えておきたいUNIXコマンド20

ここからは主要なUNIXコマンド20選を紹介します。

いずれもMacのターミナルで入力した例を画像で表示しているので、ぜひ自分のPCでも試してみてください。

 

ディレクトリとファイルの確認、移動に使うコマンド

 

pwd

現在の作業ディレクトリの絶対パスを表示します。

なお絶対パスとは、最上位階層から目的のファイルやフォルダまでの道筋を省略なく記述する方式のことです。

一方の相対パスは、起点となる現在位置から目的のファイルやフォルダまでの道筋を記述する方式です。

入力例:

pwd

現在どのディレクトリにいるのかを確認するときに使います。

pwd

cd

作業ディレクトリを変更するコマンドです(ディレクトリを移動します)。

入力例:

cd (ディレクトリ名)

cdだけで実行するとホームディレクトリへ移動します。

「cd -」とすると、直前にいたディレクトリへ移動します。「cd ..」とすると親ディレクトリへ移動します。

cd

ls

ディレクトリの内容をリスト表示するコマンドです。

入力例:

ls (ディレクトリ名)

lsだけで実行すると、現在のディレクトリに含まれるファイル名をリスト表示します。

ディレクトリを指定すると、そのディレクトリに含まれるファイル名をリスト表示します。

また、「ls -l」でパーミッションや所有者などの関連情報を付加して表示、「ls -a」で隠しファイル・隠しフォルダを含めて表示することが可能です。

ls

ディレクトリとファイルの操作で使うコマンド

cp

ファイルをコピーするコマンドです。

入力例:

cp (ファイルA) (ファイルB)

この場合ファイルAをファイルBにコピーします。

また「-f」オプションをつけた場合、コピー先に同名のファイルがあった場合上書きされます。

「-i」オプションをつけた場合は上書きするかどうかをファイルごとに確認します。

なおディレクトリを内容ごと(再帰的に)コピーするときは、「-R」オプションをつけます。

cp

mv

ファイルの移動およびリネームを行うコマンドです。

入力例:

mv (ファイルA) (ディレクトリB)
mv (ファイルA) (ファイルB)

1つめの例では、ファイルAをディレクトリBに移動します。

2つめの例では、ファイルAからファイルBに名前を変えることができます。

 

cpコマンドと同じように、「-f」オプションをつけた場合、移動先に同名のファイルがあった場合は上書きされます。

「-i」オプションをつけた場合は、上書きするかどうかを確認します。

mv

rm

ファイルを削除するコマンドです。

入力例:

rm (ファイル名)

ディレクトリを削除する場合は「-d」オプションを指定しますが、削除できるのは空のディレクトリだけです。

ディレクトリに内容物がある場合は「-r」オプションを指定することで、中に入っているファイルを含めてディレクトリを削除します。

 

ゴミ箱へ入れるのではなく、即座に削除されることに注意してください。

rm

mkdir

ディレクトリを作成するコマンドです。

入力例:

mkdir (ディレクトリ名)

通常、指定したパスの途中のディレクトリが存在しない場合はエラーになります。

「-p」オプションをつけると、途中のディレクトリが存在しない場合、それらを含めてディレクトリを作成することが可能です。

mkdir

touch

ファイルの変更日を更新するコマンドです。

入力例:

touch (ファイル名)

「touch file1.txt」とすると、「file1.txt」の変更日時が更新されます。

存在しないファイル名を指定した場合、その名前で空のファイルが作成されます。

touch

ln

リンクを作成するコマンドです。

入力例:

ln -s (ファイル名) (リンク名)

「-s」オプションを付けることで、シンボリックリンクを作成します。

シンボリックリンクは、ディレクトリやファイルのショートカットとして用いられます。

ln

chmod

ファイルのパーミッション(所有権)を変更します。

入力例:

chmod 750 (ファイル名)

この入力例は、ファイル所有者にすべての権限を与え、グループに読み込みと実行権、その他のユーザーは権限なしにするコマンドです。

パーミッションは「mode」引数に8進数字あるいは記号で指定します。

上記の入力例は8進数字の指定です。

 

8進数字指定する場合は、3桁の値で指定します。

1桁目が「ファイル所有者」のアクセス権、2桁目が「グループ」のアクセス権、3桁目が「その他のユーザー」のアクセス権です。

各桁の値は、読み込み権を表す4と、書き込み権を表す2と、実行権を表す1の和を指定します。

例えば、読み込み権と実行権のみを与える場合には、4と1の和である「5」を指定します。

それぞれの権限の組み合わせと値は、下記の表をご覧ください。

アクセス権
0 権限なし
1 実行権
2 書き込み権
3 書き込み権と実行権
4 読み込み権
5 読み込み権と実行権
6 読み込み権と書き込み権
7 すべての権限

 

また、記号で指定する場合は、以下の記号を組み合わせてパーミッションを指定します。

chmod a+w (ファイル名)

この入力例の場合、すべてのユーザーに書き込み権限を付加します。

記号 誰に
a すべてのユーザ
u 所有者
g グループ
o 他のユーザ

 

記号 付加・除去
+ 付加
除去
= 全クリア

 

記号 権限の種類
r 読み
w 書き
x 実行

chmod

chown

ファイル・ディレクトリの所有者とグループを変更します。

入力例:

chown (ユーザー名) (ファイル名)

この例では、指定したファイルの所有者を指定したユーザーに変更します。

なお、ファイルの所有者とグループはファイルのパーミッション範囲に関係してきます(あるユーザーのみアクセス可能など)。

所有者の変更はスーパーユーザーのみ可能です。

chown

chgrp

ファイルのグループを変更します。

入力例:

chgrp (グループ名) (ファイル名)

この例では、指定したファイルの所属グループを変更します。

chownと同じく、グループはファイルのパーミッション範囲に関係してきます(あるグループに属しているユーザーのみアクセス可能など)。

chgrp

 

ファイル内容の表示、閲覧するときに使うコマンド

cat

ファイルの内容を結合し、表示するコマンドです。

入力例:

cat (ファイルA) (ファイルB)

複数ファイルの内容を結合して表示します。

ファイルを1つだけ指定して、単にその内容を表示する場合にも使用可能です。

cat

less

ファイルの内容をスクロール可能な状態で表示するコマンドです。

入力例:

less (ファイル名)

ファイル内容を一画面しか見ることができない(スクロールできない)catコマンドとは異なり、スクロール可能な状態で表示するコマンドです。

qを入力すると表示が終了します。

less

 

ファイルの検索で使うコマンド

find

ファイルを検索するコマンドです。

入力例:

find (ディレクトリ名)
find (ディレクトリ名) -name (文字列)

1つめの入力例では、ディレクトリ内にあるファイルを表示します。

-nameを付けることで、ディレクトリ内にある文字列を指定して検索できます。

また「find . -ctime -1h」とすると、現在のディレクトリ以下で1時間以内に変更のあったファイルを検索します。

find

grep

指定パターンの文字列を検索するコマンドです。

入力例:

grep (検索文字列) (ファイル名)

例えばgrep ba text.txtとすると、「text.txt」ファイルから「ba」が含まれる行を検索し、表示します。

他にもgrep ba *とすることで、ディレクトリ内のファイルの中で「ba」の文字列が入ってるファイルを探すことでも使います。

grep

リモートへの接続で使うコマンド

 ssh

リモートマシンにSSHでログインし、リモートマシン上でコマンドを実行できるコマンドです。

入力例:

ssh (ホスト名) (コマンド名)

ネットワーク越しにリモートのマシンにログインします。

IPアドレスやユーザー名を指定してコマンドを実行できます。

「-p」オプションでポート番号を指定することも可能です。

ssh -p 56789 username@hostname

ssh

 

プロセス関連のコマンド

ps

実行中のプロセス一覧を表示するコマンドです。

入力例:

ps
ps a

「ps a」では全ユーザーのプロセスの状態を一覧で表示します。

また「ps aux」とすると、実行中のすべてのプロセスをCPU使用率などの詳細な情報つきで表示します。

ps

kill

プロセスを終了、あるいはシグナルを送信するコマンドです。

入力例:

kill (プロセスID)

終了させるプロセスのプロセスID(PID)を指定します。

PIDは前項の「ps」コマンドで調べましょう。

kill

exit

シェルを終了するコマンドです。

入力例:

exit

コマンドライン操作を終了するときに「exit」します。

exit

 

今回の記事は以上です。

ぜひこの記事を参考に使いこなしてみてください。

 

コラム

コスパとタイパ、両方結果的に良くなる良くなる学び方とは?

「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ 結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。

コスパ・タイパ最適化の参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困ったときに、質問や相談できる相手がいるため挫折しなかった
  • ・プロとして必要なスキルのみを深く学べたので無駄がなかった
  • ・副業案件の提供と納品までのサポートがあったので目的を達成できた

安価・短期間で広く浅く学んでも意味がありません。 本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に 無料相談 に参加してみませんか?

カウンセラー・現役のプロへ、何でも気軽に無料相談可能。 30分か60分お好きな時間が選べて、かつ3回まで すべて無料で ご利用できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

執筆してくれたメンター

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。WordPressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。小学生がUnityでオリジナルAndroidアプリをGoogle Playでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。

 

プログラミングを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、未経験でもWebページ制作、Webアプリケーション開発、スマホアプリ開発などを学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する