Binäre ausführbare Linux-Quelle

356
ppau2004

Ich bin neu in Linux. In den folgenden Befehlen kann ich sehen, dass Rsync in ls aufgelistet ist. aber ich kann es nicht lesen.

bash-3.1# ls /usr/local/bin admenu canreqs cwtmp pidof procan rsync rsyncTransfers.sh rsyncTransfers.sh_20171101 rsyncTransfersLog.txt screen socat bash-3.1# vi /usr/local/bin/rsync bash-3.1# cat /usr/local/bin/rsync 

Vi und Cat zeigen den Inhalt der Datei als nicht lesbare Zeichen. Ich nehme an, es ist binär ausführbar. Die Datei hat keine Erweiterungen. Kann man den Quellcode lesen oder zumindest sagen, in welcher Programmiersprache er geschrieben ist?

1

1 Antwort auf die Frage

3
Fanatique

Es ist eine kompilierte Binärdatei. Es ist nicht möglich, sie beim Kompilieren zu lesen.

Auf der Wikipedia-Seite sehen wir, dass Rsync in der Sprache C geschrieben ist:

In C geschrieben

rsync ist wie die meisten GNU-Werkzeuge Open-Source. Daher können Sie auch dessen Quelle lesen.
Es hat ein eigenes Repository, das Sie klonen können, wie auf der Download-Seite von rsync angegeben :

git clone git://git.samba.org/rsync.git 

Nach dem Klonen können Sie alle Quelldateien durchsuchen, lesen, bearbeiten und machen, was Sie möchten.

Wenn Sie neu sind git, können Sie auch die Dateien in gitweb durchsuchen .

Nicht so perfekt :), was Sie bekommen, ist die Quelle einer anderen Version von rsync. Wenn Sie die Quelle der rsync-Version auf Ihrem System benötigen, erhalten Sie sie von Ihrem Distributions-Repository, beispielsweise auf Ubuntu: `apt-get source rsync` (nachdem Sie die Quellcode-Repositorys zu Ihren Software-Quellen hinzugefügt haben). xenoid vor 5 Jahren 0