Gdzie mogę znaleźć kod źródłowy poleceń Linux core? [zamknięte]
Chciałbym przeczytać rzeczywisty kod, którym są napisane polecenia Linuksa. Zdobyłem trochę doświadczenia z ich użyciem i teraz myślę, że nadszedł czas, aby wejść w interakcję z moją maszyną na głębszym poziomie. Znalazłem tu kilka poleceń http://directory.fsf.org/wiki/GNU .
Niestety nie byłem w stanie znaleźć podstawowych poleceń, takich jak 'ls', które wydaje mi się wystarczająco łatwe do rozpoczęcia.
Czy znasz jakąś stronę internetową, książkę lub inne rzeczy na początek?
I ' m running on Ubuntu 12.04
8 answers
Wszystkie te podstawowe polecenia są częścią pakietu coreutils
.
Wszystkie potrzebne informacje znajdziesz tutaj:
Http://www.gnu.org/software/coreutils/
Jeśli chcesz pobrać najnowsze źródło, powinieneś użyć git:
git clone git://git.sv.gnu.org/coreutils
Aby zainstalować git na swoim Ubuntu, powinieneś użyć apt-get (git nie jest częścią standardowej instalacji Ubuntu):
sudo apt-get install git
Prawdę można powiedzieć, tutaj można znaleźć konkretne źródło dla ls
polecenie:
Http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c
Tylko 4984 linie kodu dla polecenia 'easy enough' jako ls
... nadal chcesz ją przeczytać?? Powodzenia! : D
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-18 11:46:27
Bezpośrednie linki do źródeł niektórych popularnych programów w coreutils
:
-
cat
(767 wiersze) -
chmod
(570 wiersze) -
cp
(2912 wiersze) -
cut
(831 wiersze) -
date
(570 wiersze) -
df
(1718 wiersze) -
du
(1112 wiersze) -
echo
(272 wiersze) -
head
(1070 wiersze) -
hostname
(116 wiersze) -
kill
(312 wiersze) -
ln
(651 wiersze) -
ls
(4954 wiersze) -
md5sum
(878 wiersze) -
mkdir
(306 wiersze) -
mv
(512 wiersze) -
nice
(220 wiersze) -
pwd
(394 wiersze) -
rm
(356 wiersze) -
rmdir
(252 wiersze) -
shred
(1325 wiersze) -
tail
(2301 wiersze) -
tee
(220 wiersze) -
touch
(437 wiersze) -
wc
(801 wiersze) -
whoami
(91 wiersze)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-05 22:23:46
ls
jest częścią coreutils. Możesz go dostać za pomocą git:
git clone git://git.sv.gnu.org/coreutils
Znajdziesz coreutils wymienione z innymi pakietami (przewiń do dołu) na tej stronie .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-17 18:05:42
W rzeczywistości bardziej rozsądne źródła są dostarczane przez http://suckless.org spójrz na ich sbase
repozytorium:
git clone git://git.suckless.org/sbase
Są jaśniejsze, mądrzejsze, prostsze i bezsensowne, np ls.c
ma tylko 369 LOC
Potem łatwiej będzie zrozumieć bardziej skomplikowany kod GNU.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-13 19:45:59
Odwiedź na przykład:
Http://ftp.gnu.org/pub/gnu/coreutils/
Możesz przeglądać kod online. Otwórz jedno z archiwów i sprawdź folder src.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-17 18:07:27
CoreUtils, o których mowa w innych postach, nie pokazuje rzeczywistej implementacji większości funkcjonalności, których myślę, że szukasz. W większości przypadków dostarcza front-endów dla rzeczywistych funkcji pobierających dane, które można znaleźć tutaj:
Jest zbudowany na Gnulib z rzeczywistym kodem źródłowym w lib-podkatalogu
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-18 07:31:55
Znajdziesz tu wiele poleceń:
Http://www.opensource.apple.com/source/shell_cmds/shell_cmds-170/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-07 10:52:58
cd ~ && apt-get source coreutils && ls -d coreutils*
Powinieneś być w stanie użyć komendy takiej jak ta na ubuntu, aby zebrać źródło dla pakietu, możesz pominąć sudo
zakładając, że pobieranie do miejsca, które posiadasz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-01 05:01:48