GNU/Linux >> Linux の 問題 >  >> Linux

シェル コマンドのソース コードを読むにはどうすればよいですか?

coreutils の一部の一般的なプログラムのソースへの直接リンク :

  • cat (767 行)
  • chmod (570 行)
  • cp (2912 行)
  • cut (831 行)
  • date (570 行)
  • df (1718 行)
  • du (1112 行)
  • echo (272 行)
  • head (1070 行)
  • hostname (116 行)
  • kill (312 行)
  • ln (651 行)
  • ls (4954 行)
  • md5sum (878 行)
  • mkdir (306 行)
  • mv (512 行)
  • nice (220 行)
  • pwd (394 行)
  • rm (356 行)
  • rmdir (252 行)
  • shred (1325 行)
  • tail (2301 行)
  • tee (220 行)
  • touch (437 行)
  • wc (801 行)
  • whoami (91 行)

全リストはこちら


実際には、より健全なソースが http://suckless.org によって提供されています。その sbase を見てください。 リポジトリ:

git clone git://git.suckless.org/sbase

ls.c のように、より明確で、よりスマートで、よりシンプルで、無駄がありません。 369 の LOC しかありません

その後、より複雑な GNU コードを理解しやすくなります。


これらの基本的なコマンドはすべて coreutils の一部です パッケージ。

必要な情報はすべてここにあります:

http://www.gnu.org/software/coreutils/

最新のソースをダウンロードしたい場合は、git を使用する必要があります:

git clone git://git.sv.gnu.org/coreutils

Ubuntu マシンに git をインストールするには、apt-get を使用する必要があります (git は標準の Ubuntu インストールには含まれていません):

sudo apt-get install git

正直なところ、ls の特定のソースはここにあります コマンド:

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c

ls のように「十分に簡単」なコマンドのコード行は 4984 行のみ …あなたはまだそれを読むことに興味がありますか??幸運を! :D


ls coreutils の一部です。 git で取得できます:

git clone git://git.sv.gnu.org/coreutils

このページには、coreutils が他のパッケージと共に一覧表示されています (一番下までスクロール)。


Linux
  1. コマンドの出力をシェル変数に割り当てる方法は?

  2. シェルがSshから制御されているかどうかを検出する方法は?

  3. シェルコマンドを使用してASCIIファイルの最初のN行を削除するにはどうすればよいですか?

  1. Linux でデフォルトのシェルを変更する方法

  2. 現在のgitブランチの名前をシェルスクリプトの変数に取得する方法は?

  3. 私のgitの言語を変更するには?

  1. 期待されるシェルスクリプトで生成されたプロセスの終了コードを取得するには?

  2. Visual Studio Code の UI のフォントを変更するには?

  3. Bashでwatchコマンドとjobsコマンドを一緒に使用するにはどうすればよいですか?