标签: source-code

计算代码行数?

如果我想计算代码行数,最重要的是

cat *.c *.h | wc -l

但是如果我有几个子目录怎么办?

recursive source-code

29
推荐指数
5
解决办法
3万
查看次数

将可执行文件转换回 C 源代码

不幸的是我丢失了我的源代码,我只有在 linux 中用 gcc 制作的输出文件,我现在无法访问我的电脑。有什么方法可以将输出文件转换为源文件(在 linux 下的 c 中)?

c source-code reverse-engineering

15
推荐指数
2
解决办法
10万
查看次数

如何查看命令的源代码?

我突然决定要查看“回声”的源代码

$ which echo
/usr/bin/echo
Run Code Online (Sandbox Code Playgroud)

所以

$ ls -al /usr/bin/echo
-rwxr-xr-x. 1 root root 32536 Oct 31  2016 /usr/bin/echo
Run Code Online (Sandbox Code Playgroud)

所以

$strings /usr/bin/echo
Run Code Online (Sandbox Code Playgroud)

让我相信这是一个编译的 C 程序

现在我被困住了。

我如何能:

  1. 找出它在哪个包中

  2. 获取源码

  3. 重建它

  4. 测试一下

  5. 在系统范围内安装新版本

(我知道 5 不是一个好主意,我只是好奇……)

我目前在 Fedora 上,但我也对 Debian 的答案感兴趣

相关教程的链接将是一个很好的答案。


编辑:

$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
Run Code Online (Sandbox Code Playgroud)

所以我想这是/usr/bin/echo我想看的而不是试图阅读整个bash.

fedora debian source-code

13
推荐指数
2
解决办法
5194
查看次数

Bang (!) 在 bash 中的使用

我正在阅读 bash 源代码,bash 的BNF 语法是:

<pipeline_command> ::= <pipeline>
                    |  '!' <pipeline>
                    |  <timespec> <pipeline>
                    |  <timespec> '!' <pipeline>
                    |  '!' <timespec> <pipeline>

<pipeline> ::=
          <pipeline> '|' <newline_list> <pipeline>
       |  <command>
Run Code Online (Sandbox Code Playgroud)

这是否意味着!命令也是一种管道。

! ls作品?但是它与ls.

! time ls 也有效。

这与|管道完全不同。

如何!在bash中使用?是管道吗?

shell bash source pipe source-code

6
推荐指数
2
解决办法
5319
查看次数

提供 asc 文件如何确保我下载预期的源代码?

我从cmake.org网站安装 cmake,他们提供了两个文件,我认为这些文件旨在验证源代码下载cmake-3.11.0-rc3.tar.gz

在同一页面上,它们具有下载cmake-3.11.0-rc3-SHA-256.txt文件和cmake-3.11.0-rc3-SHA-256.txt.asc文件的链接

我不明白的是:

  1. 来自同一源 (cmake.org) 的 asc 文件如何确保源代码的完整性?如果该网站提供的源代码被泄露,攻击者是否也无法泄露 asc 文件?
  2. 我不需要公钥来真正验证源代码下载吗?我认为 asc 文件应该是公钥。但是,当我尝试使用以下命令导入 asc 文件时

    gpg --import cmake-3.11.0-rc3-SHA-256.txt.asc
    
    Run Code Online (Sandbox Code Playgroud)

    我收到一条错误消息“未找到有效的 OpenPGP 数据”

gpg source-code

5
推荐指数
1
解决办法
3076
查看次数

如何使用 cURL 从网站获取所有路径

curl //website// 将为我提供源代码,但从那里我将如何过滤我们的每条唯一路径并获得它们的数量?

问题:

使用您机器上的 cURL 获取“https://www.inlanefreight.com”网站的源代码并过滤该域的所有唯一路径。提交这些路径的数量作为答案。

从问题中,我不知道“唯一路径”的含义,但我认为它的含义类似于您从执行中获得的内容 $wget -p


我使用了这种方法并且它以某种方式起作用

wget --spider --recursive https://www.inlanefreight.com

Run Code Online (Sandbox Code Playgroud)

这将显示

Found 10 broken links.

https://www.inlanefreight.com/wp-content/themes/ben_theme/fonts/glyphicons-halflings-regular.svg
https://www.inlanefreight.com/wp-content/themes/ben_theme/fonts/glyphicons-halflings-regular.eot
https://www.inlanefreight.com/wp-content/themes/ben_theme/images/testimonial-back.jpg
https://www.inlanefreight.com/wp-content/themes/ben_theme/css/grabbing.png
https://www.inlanefreight.com/wp-content/themes/ben_theme/fonts/glyphicons-halflings-regular.woff
https://www.inlanefreight.com/wp-content/themes/ben_theme/fonts/glyphicons-halflings-regular.woff2
https://www.inlanefreight.com/wp-content/themes/ben_theme/images/subscriber-back.jpg
https://www.inlanefreight.com/wp-content/themes/ben_theme/fonts/glyphicons-halflings-regular.eot?
https://www.inlanefreight.com/wp-content/themes/ben_theme/images/fun-back.jpg
https://www.inlanefreight.com/wp-content/themes/ben_theme/fonts/glyphicons-halflings-regular.ttf

FINISHED --2020-12-06 05:34:58--
Total wall clock time: 2.5s
Downloaded: 23 files, 794K in 0.1s (5.36 MB/s)

Run Code Online (Sandbox Code Playgroud)

在底部。假设 23 次下载和 10 个断开的链接加起来就是我得到的唯一路径 33,这是正确的答案。

wget curl source-code

5
推荐指数
1
解决办法
8882
查看次数

如何成为一名 Linux 源代码维护者?

根据这个链接,当提交对 Linux 源代码的更改时,它们会由维护者的层次结构进行审查,最终与 Linus 本人达成一致。如何成为这样的维护者?

(背景:我正在教授一门关于 Linux 基础知识的课程,我的一个学生提出了这个问题,我在网上找不到令人满意的答案。)

linux maintenance source-code

4
推荐指数
1
解决办法
579
查看次数

如何通过简单的方法找到源代码

据我所知,Linux是一个开源项目,这意味着我们可以找到构建这个系统的所有代码。

但这对我来说太难了。

有没有一种简单的方法可以检查任何命令的源代码?比如功能hostname。我觉得它会写信息到它的配置文件(也可能是不/etc/sysconfig/network的CentOS 6.3,我认为)。我希望找到真正的配置文件。那么如何hostname通过简单的方法找到一个命令(如)的源代码呢?

source-code

3
推荐指数
1
解决办法
872
查看次数

用双引号内的正斜杠替换反斜杠

我有一些最初在 Windows 上开发的 C 源代码。现在我想在 Linux 上处理它。有大量的包含指令应该更改为 Linux 格式,例如:

#include "..\includes\common.h"
Run Code Online (Sandbox Code Playgroud)

我要寻找一个命令行要经过所有.h.c文件,找到包含指令,并用斜杠替换任何反斜杠。

grep sed regular-expression replace source-code

3
推荐指数
1
解决办法
1745
查看次数

如何获取 glibc/libstdc++ 源并将其设置为供 gdb 查找?

我正在调试这个引发异常的程序。这使得我的调试器寻找一些源代码,例如../sysdeps/unix/sysv/linux/raise.c- 但未能找到它。

现在,我意识到我没有必要拥有这些资源,但我仍然希望它们在那里。

我正在开发 Devuan Chimaera GNU/Linux 系统。

对我来说,让这些源可用并可由 gdb 定位的最简单的方法是什么?

source debugging glibc gdb source-code

3
推荐指数
1
解决办法
2534
查看次数