ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

BashとUnixシェル

ショートカット: 違い類似点ジャカード類似性係数参考文献

BashとUnixシェルの違い

Bash vs. Unixシェル

BashはUnixシェルかつであり、GNUプロジェクトにおけるBourne Shellのフリーソフトウェアによる代替としてによって作成された 。Bashは1989年に初めてリリースされ 、ほとんどのLinuxディストリビューションやアップルのmacOSにおけるデフォルトのログインシェルとして広く普及している。Windows 10におけるWindows Subsystem for Linuxでも利用可能である。 Bashはコマンドプロセッサであり、通常はアクションを発生させるコマンドをユーザーがタイプするテキストウィンドウで起動する。Bashはスクリプトと呼ばれるファイルからコマンドを読み込んで実行することも可能である。Bashはそれ以外の全てのUnixシェルと同様に、ファイル名のグロブ(ワイルドカードによるマッチング)、パイプ、ヒアドキュメント、、変数、そして条件テストやのための制御構造をサポートする。Bashのキーワードや構文などの言語の基本的要素は全てshからコピーされており、ヒストリなどsh以外の機能はcshやkshからコピーされている。BashはPOSIX準拠のシェルであるが、数多くの拡張がされている。 Bashという名前はBourne-again shellの頭字語であり、Bashの置換対象であるBourne Shellと、現代アメリカのキリスト教において精神的な再生を意味する "born again"(新生)に引っ掛けた駄洒落である。 バージョン1.03(1989年8月)以降のBashに存在するシェルショックと呼ばれるセキュリティホールが2014年9月に発見され、すぐにインターネットの至る所で広範囲なの原因となった。バグの特定後すぐに修正パッチが利用可能となったが、未だに全てのコンピュータが更新されているわけではない。. Unixシェルは、Unix系システムにおけるコマンドラインシェルである。プロセスとして起動したい1個ないし複数のコマンド名をパイプラインなどとしてつなげた「ジョブ」を記述したり、それを複数並べたテキストファイルによるシェルスクリプトを実行する。 最も影響を与えたUnixシェルとしては、Bourne Shell と C Shell がある。Bourne Shell は単に sh と呼ばれ、AT&Tでスティーブン・ボーンが開発したUNIX本来のコマンドラインインタプリタである。パイプ、ヒアドキュメント、、変数、条件式やループといった制御構造、ワイルドカードによるファイル名指定などの機能が他の全てのUnixシェルに共通する機能の出発点となった。言語としては、ブロックの終りを逆から綴った (ファイル)キーワードで示すなど、ALGOL 68 に影響を受けている。 C Shell (csh) はビル・ジョイがカリフォルニア大学バークレー校の大学院生のときに開発した。C言語をモデルとして制御構造や式の文法を設計している。対話型シェルとして、ヒストリ機能、編集機構、エイリアス、ディレクトリスタック、チルダ記法、cdpath、ジョブコントロール、パスハッシングといった機能を導入した。 これら2つのシェルがベースとなって、様々なシェルが派生していった。.

BashとUnixシェル間の類似点

BashとUnixシェルは(ユニオンペディアに)共通で22ものを持っています: 変数 (プログラミング)ログインワイルドカード (情報処理)パイプ (コンピュータ)ヒアドキュメント制御構造インターネットコマンドラインインタプリタシェルスクリプトBourne ShellC ShellC言語GNUプロジェクトKornShellLinuxディストリビューションMacOSMicrosoft WindowsPerlPOSIXTcshUNIXUnix系

変数 (プログラミング)

プログラミングにおいて、変数(へんすう、variable)とは、プログラムのソースコードにおいて、扱われるデータを一定期間記憶し必要なときに利用できるようにするために、データに固有の名前を与えたものである。 一人一人の人間が異なる名前によって区別されるように、一つ一つの変数も名前によって区別される。これにより、複数のデータを容易に識別することができる。変数名は一般に(字句的には)識別子である、ないし、変数の識別子のことを変数名という。一般に、変数が表しているデータをその変数の値(あたい)という。.

Bashと変数 (プログラミング) · Unixシェルと変数 (プログラミング) · 続きを見る »

ログイン

イン(log in)とは、コンピュータの利用開始時にユーザーの身元や妥当性を識別してさまざまなリソースへのアクセスに必要な資格情報を取得するための操作のこと。一般的に、コンピュータセキュリティに関する手法や手段の一部に組み込まれている。ログオン、サインイン、サインオンなどとも呼ばれる。 ログは、丸太のことで、船舶では航海日誌(logbook)を必ずつけ、丸太に関連することからログという名前を使っている。コンピュータの利用は、利用記録(ログデータ)をつけるため、記録を付け始めることから利用開始をログイン、利用終了をログアウトという。コンピュータにログインすると同時に、システムの使用履歴を残す。これを監査証跡(単純に監査とも呼ばれる)としても利用する。 作業員が工場に出勤してタイムカードに時間を打刻することを英語で clock in と言う。この用語が一般的に知られるようになるにつれ、コンピュータのシステムに対して個人を識別させることを、ログインと呼ぶようになった。 一般的なシステムへのログインの方法は次の文字列を入力する。.

Bashとログイン · Unixシェルとログイン · 続きを見る »

ワイルドカード (情報処理)

ンピュータなどの関連において、ワイルドカードは、検索などグロブの際に指定するパターンに使用する特殊文字の種類で、どんな対象文字、ないし文字列にもマッチするもののことである。カードゲームのワイルドカードに由来する呼称。 UNIXのシェルでは、「?」(疑問符)を任意の一文字、「*」(アスタリスク)を長さ0文字以上の任意の文字列にマッチするパターンとして、コマンドライン上で、存在するファイルの名前に対して展開される。 たとえば sales-201712.xlsx、sales-201801.txt、sales-201802.txt というファイルがある場合、 コマンドを入力すると、 のように展開されたうえで、vi プログラムが起動される。 MS-DOSやその衣鉢を継いだMicrosoft Windowsのシェルプログラム COMMAND.COM ではこのような展開を行わず、ワイルドカードはプログラムのプロセスにそのまま渡される。COMMAND.COM の内部コマンドにおける解釈では、ファイル名の途中で * があると、そこから拡張子のピリオドまでマッチをすっ飛ばし、全てマッチしたものとみなすので、FOO*BAR というパターンは FOO* と全く同じ意味である。また、REN *.TXT *.BAK といったようなコマンドに対しては的な挙動をする。 SQLの WHERE 句における LIKE predicate 中のパターンでは、長さ0文字以上の任意の文字列が「%」、任意の一文字が「_」である。 正規表現におけるクリーネ閉包とは似て非なるものであり混同してはいけない。.

Bashとワイルドカード (情報処理) · Unixシェルとワイルドカード (情報処理) · 続きを見る »

パイプ (コンピュータ)

ある端末上で3つのパイプで繋いだプログラムを実行する際の入出力の流れ Unix系オペレーティングシステムにおけるパイプ(pipe)、もしくはパイプライン (pipeline) とは、複数のプログラムの入出力をつなぐための仕組み(プロセス間通信)の一つである。大変便利であることからUnix系以外でも同様の実装や、あるいは擬似的な実装によって似たようなことができるものも多い。直接の親子関係にあるプロセス間で通信をおこなうためfork前にあらかじめ共有しておく「無名パイプ」と、親子関係などにないプロセス間で一時ファイルなどを通して接続する(接続を確立するためにファイルを経由するだけで、接続自体はファイルを経由するわけではない)「名前付きパイプ」がある。ダグラス・マキルロイがUnixシェル向けに考案したことから始まり、パイプライン輸送からの連想で名付けられた。 特に、シェルなどでは縦棒( | )の記号を使って無名パイプを簡単に利用でき、それを指して「パイプ」と言うことも多い。プロセス群の標準ストリームを連鎖的に相互接続するもので、あるプロセスの標準出力 (stdout) を直接別のプロセスの標準入力 (stdin) に接続する。 「1つだけの仕事をうまくやる、道具のようなソフトウェア」(Software Tools)をパイプラインによって組み合わせる、というアイデアはUNIXやUnix系のOS以外にも、MS-DOS をはじめとする様々なOSやアプリケーションに、動作に多少の違いはあるものの受け継がれている。パイプで連結することを前提とした構成のプログラムをフィルタと呼ぶ。 前述のシェルのコマンドラインにおけるパイプは、中置記法で結合法則を満たす演算子と見ることができる(その時、演算子(オペレータ)のオペランドにあたるのは、各プログラムである)。これを一種の「合成」と見ることもできる。一般に数学で、f, g, h という関数があるとして h(g(f(x))) というような計算をすることを考える時、関数を関数合成の演算子 ∘ で合成した (h∘g∘f)(x) というものを考えることがあるが、パイプの演算子 | はこれに似ており (progF あるいは (progF | progG | progH) といったような感じになる。.

Bashとパイプ (コンピュータ) · Unixシェルとパイプ (コンピュータ) · 続きを見る »

ヒアドキュメント

ヒアドキュメント(別の呼び方としてヒア文字列、heredocなど)は、文字列リテラルを、シェルスクリプトやプログラミング言語の中に埋め込むための1つの方法である。.

Bashとヒアドキュメント · Unixシェルとヒアドキュメント · 続きを見る »

制御構造

制御構造(せいぎょこうぞう)は、コンピュータ・プログラミング言語、特に手続き型プログラミングや命令型プログラミングにおいて、ループや飛び越しなどといった、手続き(プロシージャ)中の実行順を順次実行から変化させたり、サブルーチン呼出しやその戻り、などといった制御を行う「文 (プログラミング) 」などの構造(言語の構成要素)である。 制御構造の種類は言語によって様々だが、典型的には以下のようなものがある(用語「ブロック」については、ブロック (プログラミング) の記事を参照)。.

Bashと制御構造 · Unixシェルと制御構造 · 続きを見る »

インターネット

インターネット(internet)は、インターネット・プロトコル・スイートを使用し、複数のコンピュータネットワークを相互接続した、グローバルな情報通信網のことである。 インターネットは、光ファイバーや無線を含む幅広い通信技術により結合された、地域からグローバルまでの範囲を持つ、個人・公共・教育機関・商用・政府などの各ネットワークから構成された「ネットワークのネットワーク」であり、ウェブのハイパーテキスト文書やアプリケーション、電子メール、音声通信、ファイル共有のピア・トゥ・ピアなどを含む、広範な情報とサービスの基盤となっている。.

Bashとインターネット · Unixシェルとインターネット · 続きを見る »

コマンドラインインタプリタ

マンドラインインタプリタ は、コンピュータのコマンドライン、すなわち、ユーザによりキーボードなどから入力される文字列の行(ライン)のコマンドを解釈し、オペレーティングシステム(以下、OS)やプログラミング言語処理系などに渡す、コマンドラインインタフェースであり、キャラクタユーザインタフェースを構成する要素である。OSの標準ユーティリティとしてはコマンドラインシェルがあり、いくつかのプログラミング言語処理系が持つそれに関しては:en:Read–eval–print loopも参照。.

Bashとコマンドラインインタプリタ · Unixシェルとコマンドラインインタプリタ · 続きを見る »

シェルスクリプト

ェルスクリプト (shell script) は、オペレーティングシステムのシェルまたはコマンドラインインタプリタ向けに書かれたスクリプトである。シェルスクリプトは他のツールを組み合わせるためのグルー型のドメイン固有言語とみなされることもある。シェルスクリプトで書かれる典型的処理としては、ファイル操作、プログラム実行、テキストの印刷などがある。 シェルスクリプト用インタプリタの多くはコマンドラインインタフェースも兼ねており、各種Unixシェル、Windows PowerShell、MS-DOSのCOMMAND.COMなどがある。他にAppleScriptやグラフィカルな Windows Script Host (WScript.exe) などもあり、コマンドラインインタフェース抜きでコンピューティング環境にスクリプト機能を加えている。他のシェルスクリプト向けのプログラミング言語としては、とJCLなどがある。.

Bashとシェルスクリプト · Unixシェルとシェルスクリプト · 続きを見る »

Bourne Shell

Bourne Shell(ボーンシェル)は、Unix Version 7 のUnixシェルである。多くのUnix系システムでは現在もデフォルトのシェルとして一般に使われていて、ほとんどのシステムで、/bin/shは、Bourne Shellであるか、もしくは、その互換プログラムへのシンボリックリンクかハードリンクとなっている。 AT&Tベル研究所のスティーブン・ボーンが開発し、それまでの Thompson shell を置き換えた。いずれもコマンド名は sh である。Version 7 Unix の一部として1977年に大学等に配布された。対話型のコマンドインタプリタとしても使われるが、スクリプト言語としての性格が強く、一般に構造化プログラムを作り出すと考えられている全ての機能を含んでいる。 ブライアン・カーニハンとロブ・パイクによる『UNIXプログラミング環境』の出版が Bourne Shell の人気を高めた。これはチュートリアル形式でプログラミング言語としてのシェルを紹介した最初の商業出版本である。.

BashとBourne Shell · Bourne ShellとUnixシェル · 続きを見る »

C Shell

C shell(シーシェル、csh)は、カリフォルニア大学バークレー校の大学院生だったビル・ジョイが1970年代後半に開発したUnixシェルである。1978年にジョイが配布を始めた 2BSD という BSD UNIX のリリースで広く配布されることになった。他にアイデアやコードに貢献した者としては、マイケル・ウベル、エリック・オールマン、マイク・オブライエン、ジム・カルプがいる。UNIX V6 の /bin/sh を元に作られたもので、Bourne shell (UNIX V7)と共通の先祖を持つ。 通常テキストウィンドウ内で動作するコマンドラインインタプリタであり、ユーザーがコマンドを入力するとそれに応じた処理が実行される。またシェルスクリプトと呼ばれるファイルからコマンド群を読み込むこともできる。他のUnixシェルと同様、ファイル名のワイルドカード、パイプ、ヒアドキュメント、、変数、条件分岐やループなどの制御構造をサポートしている。cshが1980年代の他のシェルと異なっていた点は、対話向けの機能と全体的なスタイルである。新機能によって他のシェルよりも容易に素早く使うことができた。言語としての全体的スタイルはC言語によく似ており、Unixユーザーにとっては読みやすかった。 macOS や Red Hat Linux など多くのシステムのcshは実際には改良版のtcshである。tcshの実行ファイルは "csh" と "tcsh" の両方にハードリンクされていて、どちらの名前でも同じ改良版のtcshが呼び出される。 Ubuntuではcshとtcshの2種類のパッケージを用意しており、前者はオリジナルのBSD版csh、後者は改良版のtcshとなっている。 tcshには、ファイル名やコマンドの補完機能、Tenexシステムに由来するコマンド行編集があり、名称の先頭の "t" は Tenex に因んでいる。tcshは機能を追加しただけでオリジナルのcshを修正したわけではないので、後方互換を保っていた。当初はジョイが作ったオリジナルのソースツリーからの脇枝だったが、今ではtcshが主な枝となっていて、開発が継続されている。tcshは非常に安定しているが、主に細かいバグ修正のため、およそ1年に1回の頻度で新たなリリースがなされている。.

BashとC Shell · C ShellとUnixシェル · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

BashとC言語 · C言語とUnixシェル · 続きを見る »

GNUプロジェクト

GNUプロジェクト(グヌープロジェクト、)とは、フリーソフトウェアマス・コラボレーションプロジェクトである。 プロジェクトは1983年9月27日にMITのリチャード・ストールマンにより発表された。このプロジェクトの狙いは、ユーザーが自由にソフトウェアを実行し、(コピーや配布により)共有し、研究し、そして修正するための権利に基づいたソフトウェアを開発し提供することにより、ユーザーにそのような自由な権利を与えた上でコンピュータやコンピューティングデバイスの制御をユーザーに与えることにある。GNUのソフトウェアはこれらの自由な権利を(そのライセンスによって)法的に保障しているため、フリーソフトウェアである。なおフリーソフトウェアの「フリー」という言葉は常に自由な権利を指し示すために必要なため使われている。 コンピュータの全てのソフトウェアが、(使用、共有、研究、修正を行うための)自由な権利を全てユーザーに付与することを確保するためには、ソフトウェアの中で最も基本的かつ重要な部分である(ユーティリティプログラムを数多く含む)オペレーティングシステムをフリーソフトウェアとすることが必要となった。GNU宣言によると、GNUプロジェクトの創立目標はフリーオペレーティングシステムを設立し、さらに可能であれば、「フリーでないソフトウェアを全く使わないでも済むようUNIXシステムに通常付属する有益なもの全て」も構築することであった。ストールマンはこのオペレーティングシステムをGNU("GNU's not Unix"を意味する再帰的頭字語)と呼ぶことに決め、その設計をプロプライエタリオペレーティングシステムであるUNIXの設計に基づくようにした。GNUの開発は1984年1月に開始された。1991年、リーナス・トーバルズによりGNUプロジェクトとは関係のないプロジェクトで開発されたLinuxカーネルが発表され、1992年12月にGNU General Public Licenseのバージョン2に基づき利用できるようにした, kernel.org, December 1992。LinuxカーネルはGNUプロジェクトによって既に開発されていた、オペレーティングシステムのユーティリティと組み合わされ最初のフリーソフトウェアオペレーティングシステムとして認められた。このフリーソフトウェアオペレーティングシステムはLinuxやGNU/Linuxとして知られている。 GNUプロジェクトは現在、ソフトウェア開発、意識改革、政治的キャンペーンや、新しい題材の共有などを行っている。.

BashとGNUプロジェクト · GNUプロジェクトとUnixシェル · 続きを見る »

KornShell

KornShell(コーンシェル、ksh)は、Unixシェルの一種であり、1980年代初期にベル研究所のが開発し、1983年7月14日のUSENIX年次大会で発表した。初期にはベル研究所の開発者マイク・ヴィーチとパット・サリヴァンも開発に関わり、それぞれ入力行編集モードのEmacsスタイルとviスタイルのコードを書いた。Bourne Shellに対して完全上位互換であり、コマンド履歴などのC Shellの機能の多くも取り入れている。彼はベル研究所内のユーザーの要望を受けてkshを開発したと言われている。.

BashとKornShell · KornShellとUnixシェル · 続きを見る »

Linuxディストリビューション

Linuxディストリビューションとは、Linuxを一般利用者がインストールしたり、利用できる形にまとめ上げたもの(頒布形態)。.

BashとLinuxディストリビューション · LinuxディストリビューションとUnixシェル · 続きを見る »

MacOS

macOS(マックオーエス)は、アップルが開発・販売する、Macのオペレーティングシステムである。かつての名称はOS X、Mac OS Xであった(後述)。 技術的に直系ではないが、Classic Mac OS (Mac OS、System) の後継として、新たにBSD系UNIXをベースに開発された。.

BashとMacOS · MacOSとUnixシェル · 続きを見る »

Microsoft Windows

Microsoft Windows(マイクロソフト ウィンドウズ)は、マイクロソフトが開発・販売するオペレーティングシステム (OS) の製品群。グラフィカルユーザインタフェース (GUI)を採用している。.

BashとMicrosoft Windows · Microsoft WindowsとUnixシェル · 続きを見る »

Perl

Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語やsed、awk、シェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理などのプログラムを書くのに広く用いられている。 言語処理系としてのperlはフリーソフトウェアである。Artistic LicenseおよびGPLのもとで配布されており、誰でもどちらかのライセンスを選択して利用することができる。UNIXやWindowsなど多くのプラットフォーム上で動作する。.

BashとPerl · PerlとUnixシェル · 続きを見る »

POSIX

POSIX(ポシックス、ポジックス、Portable operating system interface)は、各種UNIXを始めとする異なるオペレーティングシステム (OS) 実装に共通のアプリケーションプログラミングインタフェース (API) を定め、移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定したAPI規格である。POSIXという名前はリチャード・ストールマンがIEEEに提案したものである。末尾の「」はUNIX互換OSに「」の字がつく名前が多いことからつけられた。ISO/IEC JTC 1/SC 22でISO/IEC 9945として国際規格になっている。.

BashとPOSIX · POSIXとUnixシェル · 続きを見る »

Tcsh

tcsh(ティーシーシェル)は、Unix系オペレーティングシステム (OS) で使われるコマンドシェルの一つ。 C言語に似た文法特性を持つcsh(シーシェル)のユーザーインターフェイスの部分を中心に拡張されたシェルでcshとの上位互換を持つ、ヒストリ編集などの機能に優れ、簡単なC言語ソースコードの文法チェックに使われることもある。Unix系OSで用いられる他のシェルに比べて、NLS (Native Language System) などの国際化対応にいち早く対応したことで知られる。 なお、tcshの頭文字のTは、TENEXならびにTOPS-20に由来するという。.

BashとTcsh · TcshとUnixシェル · 続きを見る »

UNIX

UNIX (ユニックス、Unix、)は、コンピュータ用のマルチタスク・マルチユーザーのオペレーティングシステムの一種である。公式な商標は「UNIX」だが、商標以外の意味として「Unix」、またはスモールキャピタルを使用して「Unix」などとも書かれる。Unixは1969年、AT&Tのベル研究所にて、ケン・トンプソン、デニス・リッチーらが開発を開始した。 当初はアセンブリ言語のみで開発されたが、1973年にほぼ全体をC言語で書き直した。このため、Unixは歴史上、初めて高水準言語で書かれたOSであると言われる。 1973年の段階ではPDP-11に依存したコードが多く、移植性は低かったが、その後徐々にPDP-11に依存したコードを減少させ、1978年にInterdata 8/32への移植に成功して以降、徐々に他のプラットフォームにも移植されていった。 現在では「Unix」という語は、Unix標準に準拠するあらゆるオペレーティングシステムの総称でもある。現在ではUnixシステムは多数の系統に分かれており、AT&Tの開発停止後も、多数の商用ベンダーや非営利組織などによって開発が続けられている。 1970年代から1980年代の初期にかけて、Unixは大学や研究所などの教育機関で広範囲に採用され、特にカリフォルニア大学バークレー校をオリジナルとするBSD系統が誕生した。また Version 7 Unix や UNIX System V の特徴を持つオペレーティングシステムは「伝統的なUNIX」(traditional Unix)とも呼ばれる。 2007年に、「UNIX」の商標の所有者である標準化団体のThe Open Groupは、Single UNIX Specificationを完全に満たすと認証を受けたシステムのみが「UNIX」の商標を得られるとした。このためそれ以外のシステムは(ずっと以前から、AT&T版およびBSD以外を指して使われていた用語だが)「Unixシステムライク」または「Unixライク(Unix系)」と呼ばれるようになった。ただし The Open Groupはその呼称を気に入っていない。 現在では多く使われているUnixとしてはmacOS、AIX、HP-UX、Solarisなどがある(いずれも商用)。また認証を受けていないUnix系としてはLinux(派生OSにAndroid他)やMINIX、BSDの派生OS(FreeBSD、NetBSD、OpenBSD、DragonFly BSDなど)がある。.

BashとUNIX · UNIXとUnixシェル · 続きを見る »

Unix系

複数のUnix系システム間の関連図 Unix系(ユニックスけい、ユニックスライク)とは、Unixに類似した振る舞いをするオペレーティングシステム (OS) を指す用語である。その判断基準や範囲には複数の議論がある。.

BashとUnix系 · UnixシェルとUnix系 · 続きを見る »

上記のリストは以下の質問に答えます

BashとUnixシェルの間の比較

Unixシェルが66を有しているBashは、79の関係を有しています。 彼らは一般的な22で持っているように、ジャカード指数は15.17%です = 22 / (79 + 66)。

参考文献

この記事では、BashとUnixシェルとの関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »