
CentOS7で「ls」などのLinuxコマンドが使用できますが、「ls」「cd」「cat」「less」などは何のプログラミング言語で書かれているのですか?
・Linuxコマンドは、何かのプログラミング言語ですか?
・それとも、何かのスクリプトですか?
・それとも、shell ですか?
・それとも、shell scriptですか?
・それとも、上記とは異なり、カーネルと呼ばれる部分ですか?
Linuxコマンドを説明するとき、何れにカテゴライズされるべきものなのか知りたいです。
No.4ベストアンサー
- 回答日時:
type コマンドを使用すれば、それがシェル組み込み関数なのか、プログラムなのか判別できます。
シェル組み込み関数とプログラムの両方存在する場合もあります。
【 type 】コマンド――シェルがどのコマンドを起動しているかを知る
https://www.atmarkit.co.jp/ait/articles/1605/20/ …
# type -a ls
ls は `ls --color=auto' のエイリアスです
ls は /usr/bin/ls です
# type -a cd
cd はシェル組み込み関数です
cd は /usr/bin/cd です
# type -a cat
cat は /usr/bin/cat です
# type -a less
less は /usr/bin/less です
rpm コマンドで、どのパッケージに入っているかを確認できるので、開発言語が知りたければソースコードを確認すればよいです。
ちなみに、ls コマンドはC言語で書かれています。
# rpm -qf /usr/bin/ls
coreutils-8.22-24.el7.x86_64
# wget http://vault.centos.org/7.7.1908/os/Source/SPack …
# rpmdev-extract coreutils-8.22-24.el7.src.rpm
# cd coreutils-8.22-24.el7.src
# tar xvfJ coreutils-8.22.tar.xz
# less coreutils-8.22/src/ls.c
# less coreutils-8.22/src/ls.h
詳細解説ありがとうございました
>cd はシェル組み込み関数です
・実際に「type -a cd」コマンドを打ってみたら、驚きました
・本当にこの通り日本語で表示されるのですね
・このような機能があったことを初めて知りました
>rpm コマンドで、どのパッケージに入っているかを確認できる
・なるほど、パッケージは一つではないわけですね
>開発言語が知りたければソースコードを確認すればよい
・大変参考になりました
No.5
- 回答日時:
大まかには、Linuxコマンドは2つのカテゴリーに分けられます。
一つはシェルに組み込まれたもの、もう一つはシェルに組み込まれていないもの。前者はシェル(たとえばbashとかcshなど)プログラムの中に直接書かれていて、シェルの一部です。cdはこれに属します。
後者はコマンドという名前を持ってはいますが、早い話、外部プログラムで、シェルには属していません。lsはこのカテゴリーに属します。
組み込みコマンドとそれ以外の見分け方はNo.4で書かれているとおりです。
回答ありがとうございました
>Linuxコマンドは2つのカテゴリーに分けられます。一つはシェルに組み込まれたもの、もう一つはシェルに組み込まれていないもの
>前者はシェル(たとえばbashとかcshなど)プログラムの中に直接書かれていて、シェルの一部
>後者はコマンドという名前を持ってはいますが、早い話、外部プログラムで、シェルには属していません
・初めて知りました
・説明大変分かりやすかったです
・基本的なことが分かっていなかっため、大変参考になりました!
No.3
- 回答日時:
>・ということは、「bash」などとは全く異なる、という理解で合っているでしょうか?
??
Linux で使用される、lsは Coreutils という様々な基本的コマンドラインプログラムのパッケージに含まれている。
Coreutils という様々な基本的コマンドラインプログラムのパッケージはC言語で書かれている。
再度の回答ありがとうございました
>Coreutils という様々な基本的コマンドラインプログラムのパッケージ
・なるほど、そういうパッケージがあるのですね
>Coreutils という様々な基本的コマンドラインプログラムのパッケージはC言語で書かれている
・参考になりました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- その他(パソコン・スマホ・電化製品) LINUXPCに詳しい人に気楽に答えてほしい質問です。 2 2022/10/25 08:07
- UNIX・Linux Linuxのtarコマンドで同一ディレクトリに解凍するコマンドは何でしょうか? 1 2022/04/25 12:59
- UNIX・Linux Kali Linuxで起動できない - Minimal BASH Like Line Editing 1 2022/06/03 13:14
- Windows 10 外部ドライブにマウントできない問題について 9 2022/03/22 18:08
- UNIX・Linux Linuxについてです last -nというコマンドを使いたいのですが、 illegal optio 4 2022/10/30 16:40
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をdiff.shとして、以下のように2つのテキストフ 1 2023/02/03 20:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
「環境変数名の編集」ウィンド...
-
aquos HDD交換品について
-
コマンドプロンプトにおけるコ...
-
ワイルドカードを使ってでフォ...
-
HP-UnixとRedHat-Lin...
-
DOSコマンドについて
-
SCコマンドでアクセス拒否
-
LinuxOSのtopコマンド結果がお...
-
Ubuntuで通信量を記録する機能...
-
AIXでの文字コード、改行コード...
-
bash: dkpg: コマンドが見つか...
-
shutdownコマンドをキャンセル...
-
至急です、Ubuntuに詳しい方助...
-
AS/400 DSPUSRPRFコマンドについて
-
UNIXのコマンドが使えないんです
-
Windows NT 5.0 ダウンロード
-
windowsでcatコマンド
-
applescriptでのrepeat回避につ...
-
コマンド履歴が~/.bash_history...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UNIX コマンドにおける # や円...
-
shutdownコマンドをキャンセル...
-
SCコマンドでアクセス拒否
-
Excel下部のメニューが消えた
-
至急です、Ubuntuに詳しい方助...
-
コマンドプロンプトにおけるコ...
-
ワイルドカードを使ってでフォ...
-
Linuxコマンドは何の言語で書か...
-
「環境変数名の編集」ウィンド...
-
echo $!の意味を教えてください
-
compressコマンドってなくなっ...
-
[バッチファイル]レジストリ値...
-
vbaで「最前面に」とする方法は?
-
Linux:sedコマンドで置換がし...
-
AIXでの文字コード、改行コード...
-
レコーダー換装用のHDDのAVコマ...
-
Linuxでコマンドが終了しない
-
VBAを使って電源を切るには?
-
solarisのdateコマンドで
-
コマンドプロンプトで変数内に...
おすすめ情報