こんにちは、でじぼうです。
コマンドラインシェル入門として、LinuxとWindowsシェルの違いについてご説明します。
この記事は下記の方がおすすめ!
- コマンドラインシェルってなに?
- シェルって種類あったような、、
- LinuxとWindowsシェルの違いがいまいち分からない、、
無料LINE登録でExcel神技動画8時間分がもらえる!【ユースフルの公式LINE】
コマンドラインシェルとは
コマンドラインシェルは、ユーザーがテキストベースのインターフェースを通じてPCシステムと対話するためのプログラムです。
ユーザーはコマンドを入力し、コマンドラインシェルはそのコマンドを受け取り、解釈して実行します。
コマンドラインシェル=シェル
同じものを指していると考えてOK!
コマンドとシェルは意味同じ?違う?
コマンドとシェルは同じではありません。コマンドはシェル内で使用されます。
コマンド : 個々の操作やタスクを実行するための命令
シェル : コマンドの入力と実行を受け付けるインターフェースや環境のプログラム
コマンドの場合
コマンド | ls |
意味 | ディレクトリ内のファイルとディレクトリの一覧を表示する |
使用例 | ls -l |
解説 | “ls”はコマンドであり、現在のディレクトリ内のファイルとディレクトリの一覧を表示します。オプション “-l” は詳細な情報(所有者、サイズなど)を表示するための引数です。 |
シェルの場合
シェル | Bash |
使用例 | $ echo “Hello, World!“ |
解説 | Bashシェルを使用してコマンドライン上で “echo” コマンドを実行しています。”echo” コマンドは引数として与えられたテキストを表示します。この場合、”Hello, World!” というテキストが表示されます。 |
Linuxシェルの種類
多機能で柔軟性が高い「Bash」
Bash(Bourne Again Shell)は、Linuxで最も一般的なシェルです。Bashはシンタックスが豊富で柔軟性が高く、多くのスクリプトやコマンドが利用できます。
※シンタックス:コンピュータプログラミングや形式言語における文法
カスタマイズ性がある「Zsh」
Zsh(Z Shell)は、Bashの拡張版として開発されたオープンソースのUnixシェルです。Zshには自動補完やテーマのカスタマイズなど、便利な機能が多く組み込まれています。カスタマイズ性が高く、パワーユーザー向けのシェルとして人気があります。
使いやすさに重点を置いた「Fish」
Fish(Friendly Interactive Shell)は、シンプルで使いやすいインタラクティブシェルです。自動補完や予測入力、カラフルな出力など、ユーザーフレンドリーな機能が特徴です。特に初心者におすすめです。
それぞれのシェルには異なる特徴があり、使用目的や好みによって選ぶことができる!
Windowsシェルの種類
シンプルな「コマンドプロンプト」
コマンドプロンプトは、Windowsのデフォルトのシェルです。古くから存在し、基本的なWindowsコマンドやバッチスクリプトを実行するために使用されます。
機能豊富な「PowerShell」
PowerShellは、高度なタスクの自動化やスクリプト作成に適した強力なシェルです。Windowsの管理や自動化に広く使用されています。
各シェルの表現の違い
シェルの種類があるように(Bash・コマンドプロンプトなど)、各シェルには固有のコマンド表現が存在する場合があります。
下記の ls コマンドは、ディレクトリ内のファイルやディレクトリの一覧を表示するためのコマンドです。それぞれのシェルの表現の違いを見てみましょう。
ファイルやディレクトリの一覧を表示するためのコマンド
Bashの場合:ls
Zshの場合:ls
Fishの場合:ls
コマンドプロンプトの場合:dir
PowerShellの場合:Get-ChildItem
LinuxとWindowsのシェルの利用割合
Linuxシェルの割合
利用率割合 ※これらの割合はあくまで推定値です。
Bash : 約90%
Zsh : 約7%
Fish : 約3%
理由
Bashが依然として最も一般的なシェルであり、Linuxのほとんどがデフォルトのシェルとして使用されています。
Zshはカスタマイズ性の高さや拡張性のため、一部のユーザーや開発者によって選択されています。
Fishは初心者にも使いやすいシェルとして人気がありますが、まだ一般的なユーザーにはあまり利用されていません。
友だち追加でExcel神技動画がもらえる!【ユースフルの公式LINE】
Windowsシェルの割合
利用率割合 ※これらの割合はあくまで推定値です。
コマンドプロンプト : 約80%
PowerShell : 約20%
理由
Windowsにおいて、コマンドプロンプトが最も一般的なシェルであり、古いバージョンのWindowsや一般的なユーザーに広く使用されています。
PowerShellは最新のWindowsでデフォルトのシェルとして採用されており、システム管理者や開発者の間で人気がありますが、全体的な割合はまだ低いと考えられます。
初心者のためのシェル学習方法
ネット上のリソースを利用する
インターネット上にはシェルのチュートリアルや動画がたくさんあります。これらのリソースを利用して使い方を学びましょう。
実際にコマンドを使って操作する
ローカルのコンピューターでシェルを起動し、実際にコマンドを入力して操作してみましょう。基本的なコマンドから始めてみましょう。
プロジェクトや課題に取り組む
経験を積むことが大切です。ファイルの一括処理や自動化スクリプトの作成など、ニーズに合わせてシェルを活用してみましょう。
課題を自分でどうやって作ればいいか分からないという方は、思い切ってスクール見学するのもいいかもしれません。体験無料、オンラインスクールで格安など良いポイントがありますのでぜひ。
↓おすすめスクール
様々な資格学習が1078円でウケホーダイ!【オンスク.JP】
シェル開発の具体例
バックアップの自動化(Linux、Bash)
バックアップ自動化を、Linuxの「Bash」を利用して開発してみましょう。
rsyncコマンドや tarコマンドなどを使用して、ファイルやディレクトリのバックアップを作成します。
【rsyncコマンドの場合】 ファイルやディレクトリを同期・バックアップ
詳細説明
rsyncコマンドでファイルやディレクトリを同期・バックアップを作成します。source_directoryにソースのディレクトリパスを、destination_directoryにバックアップ先のディレクトリパスを指定します。-avオプションは、再帰的に同期を行い、ファイル属性やパーミッションも保持します。
Bash
rsync -av source_directory/ destination_directory/
【tarコマンドの場合】 ファイルやディレクトリを同期・バックアップ
詳細説明
tarコマンドでファイルやディレクトリをアーカイブ化し、バックアップファイルを作成します。backup.tar.gzに作成されるバックアップファイル名を指定し、source_directoryにバックアップ対象のディレクトリパスを指定します。-czvfオプションは、圧縮してアーカイブを作成し、詳細情報を表示します。
Bash
tar -czvf backup.tar.gz source_directory/
※アーカイブ化:複数のファイルやディレクトリを一つの単位にまとめて保存すること
ファイルの一括処理(Windows、コマンドプロンプト)
ファイルの一括処理を、Windowsの「コマンドプロンプト」を利用して開発してみましょう。
copyコマンドや renameコマンド、findstrコマンドなどを使用して、ファイルのコピー、リネーム、検索・置換などを実行します。
【STEP1】 ファイルのコピー
source_fileをdestination_fileにコピーします。
コマンドプロンプト
copy source_file destination_file
【STEP2】 ファイルのリネーム
current_nameのファイルをnew_nameにリネームします。
コマンドプロンプト
rename current_name new_name
【STEP3】 ファイルの検索・置換
input_file内でsearch_stringを検索し、該当する行をoutput_fileに出力します。
コマンドプロンプト
findstr /C:”search_string” input_file > output_file
おわりに
今回LinuxとWindowsのシェルの違いや、具体的な開発例を紹介しました。
両者の特徴や利用方法を理解し、ファイル操作やバックアップ、テストスクリプトの実行などのさまざまな開発をしてみてください。シェルのパワフルな機能を活用し、効率的な開発を実現しましょう。
コメント