🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

fish

fish(friendly interactive shell)は、Unix系OSのシェルの一つです。無設定で多くの機能を利用することが可能。カラフルな表示で見やすく、TAB補完にも優れています。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Q&A

解決済

4回答

727閲覧

linuxコマンドである「pwd」について

aae_11

総合スコア178

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

fish

fish(friendly interactive shell)は、Unix系OSのシェルの一つです。無設定で多くの機能を利用することが可能。カラフルな表示で見やすく、TAB補完にも優れています。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

0グッド

0クリップ

投稿2019/10/22 01:23

編集2019/10/22 01:34

linuxコマンドについて、疑問な点があり質問させて貰いました。
ターミナルを起動し(linuxOSにログインする前の状態です)、「pwd」と入力しましたら、現在操作しているディレクトリのパスが表示されましたが、「pwd」コマンドはlinuxコマンドである為、CentOSなどにログインしていないと(linuxOS上でないと)使用出来ないのではないか、と疑問に思いまして...
この点につきまして、教えてもらえましたら幸いです。
※OSはMAC mojave,ターミナルはiterm2,shellはfishを使用しております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2019/10/22 01:30

> CentOSなどにログインしていないと使用出来ないのではないか、と疑問 ・この部分を具体的に記載ください。 ・ログインしない状態で使用したい?「ログインしている」「ログインしていない」とは具体的にどんな状態のことと考えられているのか?
aae_11

2019/10/22 01:38 編集

追記&修正しました。
guest

回答4

0

どうでもいい話が混じっていますので、読み物程度でお読み下さい。


pwdはUNIXにおいてカレントディレクトリを表示するだけのシェル組み込みコマンドまたは実行ファイルです。Wikipediaによると1974年にはすでにUNIX上に実装されていたようです(このころ、Linuxはまだ存在しません)。

pwdはBourne ShellをはじめとしたUNIXで使われるほとんどのシェルにおいて組み込みコマンドとして実装されています。また、組み込みコマンドとは別に実行ファイルとしても入っている場合がほとんどですが、UNIXのシェル環境で実行した時のpwdは組み込みコマンドのほうが使用されます。取りあえず、UNIXであればpwdが使えるとだけ覚えて下さい。

さて、Linuxについてです。LinuxはUNIX用に作られたオープンソースのソフトウェアがUNIXを使わずに実行出来ることを目的で開発されました。LinuxはUNIXではありませんし、そもそも作れたのはカーネルだけですが、同じくシェルや各実行ファイルをUNIXと互換かつオープンソースなものに入れ替えようとするGNUプロジェクトのプロダクトと組み合わせて一つのOS(そのためGNU/Linuxと呼ぶ人もいる)としてできあがりました。

UNIXとの互換性を維持するには、各コマンドもまた同じで無くてはなりません。その一つがpwdになります。つまり、Linuxでpwdが使えるのは、UNIXでpwdが使えたからと言う理由以外に存在しません。

さて、Macですが、MacはMac OS XからDarwinというBSD系UNIXを元に作成されることになりました。言ってしまえば、今のmacOSはFreeBSDやOpenBSDといったBSD系UNIXの兄弟、SolarisやAIXといったSystemV系UNIXの従姉妹です。UNIXですので、pwdはもちろんあります。むしろLinuxにあるpwdよりも本家本元の流れを組んでいるpwdです。むしろ、オリジナルはLinuxよりもMacと言っても良いぐらいです。

さて、カレントディレクトリ表示といえばpwdと言われるぐらい浸透していきましたが、この流れに嫉妬したMicrosoftも考えました。pwdをWindowsでも使えるようにすれば良いと。PowerShellのコマンドは基本的に"動詞-名詞"の形をしておりpwdというコマンドはこの形式あってません。ですので、PowerShellにおいてカレントディレクトリの表示はGet-Locationと似ても似つかぬ物です。では、あなたの環境のPowerShellでpwdと実行してみてください。ほら、カレントディレクトリが表示されたでしょ?(表示がディレクトリ名だけでは無いので違うと思うかも知れませんが、これは、PowerShellのオブジェクトとして扱っているからです。)これは何かというとGet-Locationにエイリアスを貼っているだけです。いまや、pwdはWindowsでも使えるグローバルなコマンドになったのです。

投稿2019/10/22 02:49

raccy

総合スコア21737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aae_11

2019/10/22 03:10

ご回答ありがとうございます! 勉強になりました!
guest

0

ベストアンサー

「pwd」コマンドはlinuxコマンドである為、CentOSなどにログインしていないと使用出来ないのではないか、と疑問に思いまして...

MacOSにログインしMacOSのterminalでMacOSのpwdコマンドを実行しているだけです。

MacOSはUnix系のOSです。Unix系のOSではカレントディレクトリのパスを取得するコマンドpwdが存在する。
https://ja.wikipedia.org/wiki/Pwd

一般にUnix系などのオペレーティングシステム (OS) では、プロセスは何らかのカレントディレクトリに「居る」。pwdは、自分自身のプロセスのカレントディレクトリのフルパス(absolute pathname)を、それを取得するシステムコールgetcwd(2)を利用するなどして取得し、標準出力に出力する。

https://ja.wikipedia.org/wiki/MacOS

NeXTのOPENSTEPの技術をベースに開発されたMacintosh専用オペレーティングシステムである。オープンソースのオペレーティングシステム「Darwin」をベースとし、POSIXに準拠したUNIXである

投稿2019/10/22 01:38

Y.H.

総合スコア7918

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aae_11

2019/10/22 01:48

ご回答ありがとうございます。 >MacOSはUnix系のOSです。Unix系のOSではカレントディレクトリのパスを取得するコマンドpwdが存在する。 そういうことだったのですね。つまりは、linuxコマンドにも「pwdコマンド」は存在するが、MacOSにも同じコマンドが存在していた、といった解釈で正しいでしょうか?
Y.H.

2019/10/22 01:50

はい。回答に記載している通りです。 「MacOSにログインしMacOSのterminalでMacOSのpwdコマンドを実行しているだけです。」
aae_11

2019/10/22 01:52

ありがとうございました。 ご丁寧に説明いただき助かりました。
guest

0

ログインしていないと使用出来ない

当然といえば当然だと思います。・・・ログインしなければ、「カレント・ディレクトリ」もありません。

・・・疑問を持った経緯は何でしょう?

[追記]下記はLinuxからFreeBSDにログインした時のものですが、この場合もLinuxにはログインした状態でBSDにログインしています・・・ログイン前のpwdはLinux側、その後はBSD側のディレクトリが表示されます。
分かりますか?

text

1usr ~ % pwd 2/home/xxxxx 3usr ~ % server 4Password for kondo@svr.cateye.jp: 5Last login: Sat Oct 19 10:48:47 2019 from 192.168.1.50 6FreeBSD 11.3-RELEASE-p3 (GENERIC) #0: Mon Aug 19 21:08:43 UTC 2019 7 8Welcome to FreeBSD! 9 10Release Notes, Errata: https://www.FreeBSD.org/releases/ 11Security Advisories: https://www.FreeBSD.org/security/ 12FreeBSD Handbook: https://www.FreeBSD.org/handbook/ 13FreeBSD FAQ: https://www.FreeBSD.org/faq/ 14Questions List: https://lists.FreeBSD.org/mailman/listinfo/freebsd-questions/ 15FreeBSD Forums: https://forums.FreeBSD.org/ 16 17Documents installed with the system are in the /usr/local/share/doc/freebsd/ 18directory, or can be installed later with: pkg install en-freebsd-doc 19For other languages, replace "en" with a language code like de or fr. 20 21Show the version of FreeBSD installed: freebsd-version ; uname -a 22Please include that output and any error messages when posting questions. 23Introduction to manual pages: man man 24FreeBSD directory layout: man hier 25 26Edit /etc/motd to change this login announcement. 27Nice bash prompt: PS1='([$(tput md)]\t <\w>[$(tput me)]) $(echo $?) $ ' 28 -- Mathieu <mathieu@hal.interactionvirtuelle.com> 29svr ~ % 30svr ~ % pwd 31/usr/home/xxxxx 32svr ~ %

投稿2019/10/22 01:32

編集2019/10/22 01:52
cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aae_11

2019/10/22 01:37

>疑問を持った経緯は何でしょう? ターミナルを起動し(LinuxOSにログインする前の状態です)、「PWDコマンドを打ち込みましたら、現在いるディレクトリのパスが表示されたのですが、「pwdコマンド」はlinuxOS上で操作する際に使用するコマンドなのではないか、といった疑問が湧いたのですよね...
cateye

2019/10/22 01:38

LinuxやBSD系のUNIX系は全てそうだと思いますよ・・・ユーザがログインしない状態では、カレント・ディレクトリが決定できない・・・誰がログインするかわからない状態。
cateye

2019/10/22 01:41

〉ターミナルを起動し・・・どうやって?・・・CUIですか?・・・ひょっとしてMACのターミナル? 〉現在いるディレクトリのパスが表示された・・・現在いるとは?・・・MACにログインはしてますよね?・・・入れないはず?
cateye

2019/10/22 02:05 編集

勘違いがあったようです、ログイン・プロンプトに対してpwdを打ったと思ったw
guest

0

雑にいうと、 Mac は Linux 同様 UNIX 系の OS をベースにして作られてるから
Linux と(完全に互換ではないが)同様のコマンド群が使える、ということですね。


詳しく突っ込まれると分からないのでリンクを貼っておきますよ。

https://ja.wikipedia.org/wiki/MacOS

BSD系UNIXをベースに開発された。

投稿2019/10/22 01:29

編集2019/10/22 01:33
tanishi_a

総合スコア484

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aae_11

2019/10/22 01:53 編集

ご回答ありがとうございます。 >雑にいうと、 Mac は Linux 同様 UNIX 系の OS をベースにして作られてるから Linux と(完全に互換ではないが)同様のコマンド群が使える、ということですね。 いえいえ、簡潔に説明いただき、おかげで理解することが出来ました。 以前、linuxコマンドがmacOSで使用できず、何故だろう、と思っていて調べた結果Linuxコマンドであった、といった経緯があり、今回は何故macosでlinuxコマンドが使えるのだろうか、と疑問だったんですよね...
aae_11

2019/10/22 02:01

コマンドをインストールすることによって、MacOSでもlinuxコマンド?が使用することができるのですね。 勉強になります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問