Linux
 Computer >> コンピューター >  >> システム >> Linux

Linux初心者向けの基本Bashコマンド徹底解説

Linux初心者向けの基本Bashコマンド徹底解説

Bashは高速かつ強力なシェルですが、その反面、初心者にとっては習得のハードルが高いのも事実です。Linuxでbashやターミナルを使い始めたばかりの方は、最低限のコマンドをきちんと押さえておくことで、迷子になったり誤操作でシステムを壊したりするリスクを回避できます。この記事では、初心者が最初に覚えるべき重要なコマンドを、用途別に分かりやすく解説します。

関連記事

  • 初心者に役立つLinuxコマンド6選
  • ターミナルで遊べる楽しいLinuxコマンド17選
  • 絶対に実行してはいけない危険なLinuxコマンド5選
  • コマンドラインでテキストを扱うのに便利な13のツール

Bashでのディレクトリ移動

cd(ディレクトリを移動する)

cd は、コマンドの後に移動先ディレクトリへのパスを続けて入力して使います。パスとは、目的のファイルやフォルダまでの経路のことで、途中で通過するフォルダがすべて含まれます。フォルダ同士はスラッシュ(/)で区切られます。スペースを含むパスを指定する場合は、パス全体を引用符で囲むか、スペースの直前にバックスラッシュ(\)を付けます。

cd path/to/follow
Linux初心者向けの基本Bashコマンド徹底解説

すべてのパスは、現在の作業ディレクトリ(カレントディレクトリ)を基準に解釈されます。カレントディレクトリ以外の場所を指定したい場合は、その親フォルダへ移動するか、完全修飾パス(絶対パス)を使います。完全修飾パスとは、システム上のファイルの「完全な住所」のことで、ルートドライブ(/で表される)から始まり、対象のディレクトリやファイルで終わります。

cd には素早く移動するための省略記法が数多く用意されています。たとえば、スラッシュ1つ(/)は「ルート」ディレクトリ、つまりシステムの起動ドライブを指します。チルダ(~)は現在のユーザーのホームディレクトリを表します。ピリオド1つ(.)は現在のフォルダ、ピリオド2つ(..)は現在の作業ディレクトリの親フォルダを意味します。親フォルダとは、作業ディレクトリを格納しているひとつ上の階層のフォルダのことです。

バックスラッシュ(\)は特に特殊な文字です。「エスケープ文字」と呼ばれ、直後に続く文字を特別扱いすることを示します。このケースでは、スペースがファイルパスの一部であって、2つの別々のコマンドや引数の間の区切りではないことを伝えています。

ls(ディレクトリの中身を一覧表示する)

ディレクトリの内容を確認するには ls(list の略)を使います。このコマンドは、カレントディレクトリ内のすべてのファイルとディレクトリを一覧表示します。真価を発揮するのは「フラグ(オプション)」です。フラグとは、基本コマンドに付けて挙動を変えたり機能を拡張したりする短い追加指定のことで、ハイフン(-)を1〜2個付けて、多くはアルファベット1文字で表されます。

ls
Linux初心者向けの基本Bashコマンド徹底解説

ls には他にも便利なフラグが豊富にあります。特におすすめは以下の通りです。

  • -a:隠しファイルやドットファイル(.で始まるファイル)も表示する
  • -h:ファイルサイズをKB・MBなど人間が読みやすい単位で表示する
  • -S:ファイルサイズの大きい順に並べ替える(大文字のSなので注意)
  • -t:更新日時の新しい順に並べ替える

複数のフラグはつなげて指定できます。たとえば、フォルダ内の隠しファイルを詳細形式・読みやすいサイズ表記で確認したい場合は、ls -lah を実行します。

pwd(現在の場所を確認する)

引数を取らないコマンドなので、入力したらすぐにEnterキーを押して実行します。pwd コマンドは、現在の作業ディレクトリ(present working directory)の完全修飾パスを表示します。コマンド名はまさにこの頭文字から来ています。

pwd
Linux初心者向けの基本Bashコマンド徹底解説

実行するコマンドは、すべて自動的にカレントディレクトリ内で処理されます。たとえば mkdir コマンドは、カレントディレクトリ内に新しいディレクトリを作成します。別の場所に作りたい場合は、/ で始まる完全修飾パス(システムのルートディレクトリ起点のパス)を指定する必要があります。

man(コマンドの説明書を読む)

man command

指定したコマンドのマニュアルページ(manページ)を開きます。たとえば man chmod を実行すると、ターミナル画面内に「chmod」コマンドのmanページが表示されます。各項目には使い方、フラグ、実行例などが掲載されています。コマンドの詳しい動作や利用可能なオプションを知りたいときは、まずmanページを読むのが鉄則です。

cat(ファイルの中身を表示する)

cat file

あらゆる種類のファイルに対応した万能ビューアです。テキストファイルに対して実行すると、ファイルの内容がコンソールに表示されます。cat はほぼすべてのファイルの内容を出力できますが、その結果が必ずしも人間に読める形や意味のある形になるとは限りません。そのためUnixの熟練者が常用することは少ないものの、ファイルシステムを手探りで学んでいる段階の初心者には心強いコマンドです。

ファイルとディレクトリの操作

cp(ファイルをコピーする)

cp filename.doc path/to/directory/newfilename.doc

ファイル「filename.doc」のコピーを「path/to/directory/newfilename.doc」として作成します。いわばコピー&ペーストのような操作です。なお、同名のファイルがすでに存在する場合、コピー処理は完了しません。

Linux初心者向けの基本Bashコマンド徹底解説

mv(ファイルを移動・リネームする)

mv foo.txt /path/to/bar.txt

「foo.txt」を「bar.txt」へ移動します。切り取り&ペーストのようなイメージです。また、ファイル名の変更にも mv を使います。本質的にはファイルを「新しい名前へ移動」しているだけだからです。ただし、mv は書き込み完了後に元のファイルを削除する点には注意してください。

rm(ファイルを削除する)

rm -rf contents/

指定したディレクトリの中身と、そこに含まれるすべてのファイルを削除します。-r フラグを付けると rm(remove)が再帰的に動作し、-f フラグで確認ダイアログが無効になります。より強力な sudo rm -rf は細心の注意を払って使ってください。警告も確認も一切なしに起動ドライブを丸ごと消去できてしまう恐れがあるため、取り扱いには十分注意しましょう。

Linux初心者向けの基本Bashコマンド徹底解説

touch(空ファイルを作成する)

touch file

指定した名前のファイルがすでに存在する場合は、その更新日時が現在の時刻に変更されます。存在しない場合は、同じ名前の空ファイルが即座に作成されます。

mkdir(ディレクトリを作成する)

mkdir directory

カレントディレクトリ内に、指定した名前のディレクトリを作成します。-p フラグを付けると、必要な親ディレクトリもまとめて作成されます。他にエラーがない限り、コマンドの実現に必要なすべての親ディレクトリが自動的に作られるため、1行で多階層のディレクトリ構造を一気に構築できます。

rmdir(空のディレクトリを削除する)

rmdir directory

指定したパスにあるディレクトリを削除します。

コマンドの挙動を変えるモディファイア

モディファイア(修飾子)は、既存のコマンドの動作を調整し、より多くのことをさせたり、普段とは違う動作をさせたりするための仕組みです。

sudo(管理者権限で実行する)

sudo command

sudo は「super user do」の略で、単独では何もしません。代わりに、直後に続くコマンドにスーパーパワーを与えます。コマンドの前に sudo を付けると、一時的にrootユーザー相当の権限に昇格し、通常は許されていない操作が可能になります。

しかし、スーパーユーザーの力にはスーパーユーザーの責任が伴います。システムを深刻な状態まで壊す力も手に入るため、学習中は慎重に行動しましょう。実行するコマンドの各部分を十分に理解してから使うことが大切です。特に、ネットで見つけたコマンドを内容を確かめずにそのまま実行するのは非常に危険です。

sudo を使うと管理者パスワードの入力を求められます。入力中はカーソルが動きませんが、キー入力はきちんと記録されています。入力が終わったらEnterキーを押せばコマンドが実行されます。

sudo !!(直前のコマンドを管理者権限でやり直す)

sudo !!

直前のコマンドを、今度は管理者権限付きで再実行します。いわゆる「バンバン(bang bang)」コマンド(!!)は、直前のコマンドを繰り返すためのショートカットです。

>(リダイレクト)

>

「リダイレクト」と呼ばれるこの記号は、コマンドのテキスト出力をファイルへ送ります。たとえば ls > filelist.txt を実行すると、ls の出力結果が「filelist.txt」に書き込まれます。対象のファイルが存在しない場合は、自動的に新規作成されます。

|(パイプ)

|

「パイプ」と呼ばれるこの記号はリダイレクトに似ていますが、対象がコマンドである点が異なります。あるコマンドの出力を、別のコマンドの入力として渡すことができます。

パーミッション(アクセス権)の変更

パーミッションは、どのユーザーが特定のファイルを閲覧・編集・実行できるかを決める設定です。ファイルやフォルダには所有者(通常は作成したユーザー)がおり、さらにモードによって、アクセスできるユーザーと、そのユーザーが行える操作が制御されています。

ここから紹介するのは、初めて sudo と組み合わせて使うコマンド群です。sudo は自分をスーパーユーザーへ昇格させ、一時的な管理者権限を与えるものでしたね。ファイルのパーミッションを扱う際は、すべてのファイルが現在のユーザー所有とは限らないため、ほぼ常に sudo が必要になります。

chmod(パーミッションを変更する)

chmod は「change mode」の略で、ファイルやフォルダのパーミッションを変更します。chown と同様に、単一のファイルに対しても、-R フラグでディレクトリ配下に再帰的に適用することもできます。

sudo chmod 775 file
Linux初心者向けの基本Bashコマンド徹底解説

ファイルのパーミッションはいくつかの方法で表現できますが、上記のような「数値モード」(775)による指定が最も一般的です。

chown(所有者を変更する)

sudo chown -R sarah foo/bar

指定されたディレクトリ内のすべてのファイルの所有者を、ユーザー「sarah」に変更します。-R フラグで再帰的に動作しますが、フラグを外せば単一のファイルにも使えます。foo/bar の代わりにピリオド(.)を指定すれば、カレントディレクトリに対して実行できます。

まとめ

これらのコマンドを早く身につけるコツは、使わなくても済む場面であえてbashやターミナルを使うことです。たとえば、ドラッグ&ドロップでディレクトリを移動する代わりに mv コマンドを試してみましょう。実際にコマンドを使う機会が増えるほど、スキルはぐんぐん向上していきます。

  1. Linuxコマンド入門:知っておくべき基本のBashコマンドラインヒント集

    Linuxには膨大な数のコマンドが用意されていますが、実際に日常的に使われているのはその一部だけです。この記事では、ターミナルで頻繁に利用されるLinuxコマンドを中心に、初心者でもすぐに活用できる基本的なコマンドラインのヒントをわかりやすく解説します。 コマンドラインを使いこなすための時短テクニック まずは、コマンドライン操作をより快適にするための便利な小技から紹介します。 Tabキーによる自動補完:コマンドやファイル名を途中まで入力したらTabキーを押しましょう。入力した文字列で始まる候補が自動的に表示され、入力の手間とミスを大幅に減らせます。 履歴検索:Ctrl + R を押してキー

  2. Linuxで効果的なBashスクリプトを書くための実践テクニック10選

    シェルスクリプトは、Linuxで学べる最も手軽なプログラミング手法のひとつです。システム管理におけるタスクの自動化や、簡単なユーティリティ・ツールの開発など、管理者にとって必須のスキルとも言えます。 本記事では、効果的かつ信頼性の高いbashスクリプトを書くために役立つ、実用的な10のヒントを紹介します。 1. スクリプトには必ずコメントを書く これはシェルスクリプトに限らず、あらゆるプログラミングで推奨される基本プラクティスです。コメントを適切に記述しておけば、後から自分や他の人がスクリプトを読んだときに、各部分が何をしているのかを素早く理解できます。 コメントは # 記号で定義します。 #