我是 Linux 新手。在下面的命令中,我可以看到 rsync 在 ls 中列出。但我无法使用 vi 或 cat 读取它。
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 和 Cat 将文件内容显示为不可读字符。我猜它是二进制可执行文件。该文件没有扩展名,是否可以读取源代码或至少知道它是用哪种编程语言编写的?
答案1
它是一个编译的二进制文件,编译后无法读取它。
从其维基百科页面我们可以看到同步用 C 语言编写:
用 C 语言编写
同步由于大多数 GNU 工具都是开源的,因此您也可以阅读其源代码。
它有自己的存储库,您可以克隆它,如引用rsync 的下载页面:
git clone git://git.samba.org/rsync.git
一旦克隆它,您就可以浏览、阅读、编辑它的所有源文件并执行任何您想做的事情。
如果你是新手git
,你也可以直接浏览其文件gitweb。