
Ubuntu日本語フォーラム

ログインしていません。
コンソールで
あるディレクトリの中身を表示したい時に、
#ls
と、実行しますよね?
このlsというのはコマンドで、/bin/lsにあるバイナリファイルを実行しているということだと思いますが。
cd は一体どうなっているのかと言う質問です!
もちろん、
#cd ~/Desktop
とすれば、デスクトップに移動します。しかし、/binの下にも、/sbinの下にもcdは存在しないのです。
ソース・バイナリファイルの場所を表示するコマンド
#whereis cd
を実行しても、表示されません。
質問をまとめると
1:コマンドcdのバイナリファイルは、本当にコンピュータ上に存在していないのか?
2:存在しないとした場合、なぜバイナリがないのに #cd として実行できるのか?
の2点です。どうか、よろしくおねがいします。
最後の編集者: tonpa (2007-12-08 12:56:18)
オフライン
ビルトインコマンドと言うものが有ります。
Ubuntuは、bashというコマンドラインインタープリターが使われています。
DOSでいえば、command.com(exe)見たいなものです。
このコマンドラインインタープリターに、色んな、コマンドが内蔵されています。
オフライン
なるほど、cdなどはビルトインコマンドでshellの中で宣言されているものと・・・。
そのcdがbashのソースのどこのファイルで定義されているか分かりますか?
オフライン
see bash-3.2/builtins/cd.def
# 宿題とかならできるだけ自分でやりましょうね(知的好奇心なら余計に)。
オフライン