コマンドには内部コマンドと外部コマンドがある。 内部コマンドのことを、ビルトインコマンドとも言うようだけどれも、微妙に意味や使いどころの違う言葉なのかもしれないが知らない。 外部コマンドとはコマンドがファイルとして存在しているコマンドであり,内部コマンドとはシェル自身が反応するコマンドである。 ビルトインコマンドとはシェル自身が持っているコマンドである。
例えば、 $ which cd としても、なにも表示されない。 それはなぜか。 「cd」がビルトインコマンドだから。 ビルトインコマンドなのか外部コマンドなのかは、「type コマンド」とすればわかる。
$ type cd cd is a shell builtin
$ type df df is /bin/df
$ type ls ls is aliased to `ls --color=auto'
外部コマンドである場合、その実体がバイナリコマンドなのか、シェルスクリプトなのかは、「file コマンドのパス」でわかる。
$ file /bin/df /bin/df: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
$ file /bin/lessfile /bin/lessfile: symbolic link to `lesspipe'
$ file /bin/lesspipe /bin/lesspipe: POSIX shell script text executable
あと、 $ ls -F /bin でもある程度わかる。
あとわからんかったのは、Ubuntuではwheelとかないみたいやし、デフォルトユーザーはsudoersにないのにsudoできるのがなんでかな、と。 よく「/etc/sudoers」をみると、 %admin ALL=(ALL) ALL という行があり、「/etc/group」をみると、デフォルトユーザーがしっかりメンバーやった。 ああ、これか。
いろんな文化があるよね。 しかしUbuntu は触ってて楽しい。 勝手に設定してくれるので、楽といえば楽、わからんといえばわからんけど、やっぱ楽なのがいい。 楽ゆえに、わからんながらも挫折はしない。 それが楽しさの源かな。 やはりいろんなソフトについて、他のディストリでは構築で挫折するけど、Ubuntu だととりあえずは動かすところまでたどり着ける。 この意義は大きい。 標準の設定も、よく練られているから、結局そのままでよかったりするしね。
こんな便利なものが無料なのがすごいし、知らない人は可哀想。 それでも地球は廻るけどね。
スポンサーサイト
|