当前位置:  技术问答>linux和unix

如何查看linux种一些命令的源代码

    来源: 互联网  发布时间:2017-05-27

    本文导语:  1. 学习linux的时候,对一些命令如何完成其功能很好奇。比如more命令。 2. 于是输入:whereis more,显示在/bin/more下面,但是打开是乱码,查了一些,一般的系统是不会有源代码的,都是编译过用来运行的,more这里是...

1. 学习linux的时候,对一些命令如何完成其功能很好奇。比如more命令。
2. 于是输入:whereis more,显示在/bin/more下面,但是打开是乱码,查了一些,一般的系统是不会有源代码的,都是编译过用来运行的,more这里是一个命令而不是一个源代码。
3. 于是我下载了linux的源代码。但是我如何知道more命令在哪个文件夹?
我下载的linux文件为:linux-3.16.1

|
GNU coreutils covers quite a few commands that you might be interested

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

|
到GNU的官网找到并下载“coreutils”包,里面的“src”文件下是常用的Shell命令的C语言源代码
http://ftp.gnu.org/gnu/coreutils/

|
1、对楼主对Linux的好奇及兴趣赞一个!(我当初学的时候没这个想法,直到后来才去找)
2、楼主下载的那个是linux内核代码,命令源码不在那里。楼上已经给出了部分命令的源码。
3、建议楼主看看LFS,手册里有详细的介绍。参考地址:http://oss.org.cn/ossdocs/gnu_linux/lfs/lfs-6.1-cn/index.html
举例:

6.15.2. Contents of Coreutils 
安装的程序: basename, cat, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head, hostid, hostname, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep, sort, split, stat, stty, sum, sync, tac, tail, tee, test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, yes
简要描述

basename 
去掉文件名中的目录和后缀。
 
cat 
把文本文件的内容发送到标准输出。
 
chmod 
改变文件和目录的权限,权限可以使用符号或者八进制两种表达方式。
 
chown 
改变文件和目录的所有权(包括用户和/或组)。
 
chroot 
使用特定的目录作为执行某个命令或者交互 shell 的根目录。在多数系统中,只有 root 用户能运行这个命令。
 
cksum 
输出指定的每个文件的CRC(循环冗余校验)和字节数。
 
comm 
一行一行对两个已经排序的文件进行比较。
 
cp 
复制文件。
 
csplit 
把一个文件按照给定的模式或者行号分成几块。
 
cut 
从指定的文件中提取特定的列送到标准输出。
 
date 
以特定的格式显示当前时间,或者设置系统日期。
 
dd 
以可选块长度复制文件,默认情况下从标准输入设备输出到标准输出设备。复制过程中,还可以对文件进行一些转换。
 
df 
显示参数中的文件所在分区磁盘空间的使用情况,如果没有给出文件参数就显示所有已经安装的文件系统的可用空间数量。
 
dir 
同ls
 
dircolors 
输出设置 LS_COLOR 环境变量的命令。 LS_COLOR 环境变量用来改变 ls 及相关工具默认的颜色组合。 
 
dirname 
显示从文件名去掉不是目录的后缀后的内容。
 
du 
显示参数使用的磁盘空间的数量,对于参数为目录还会列出每个子目录磁盘空间占用情况。
 
echo 
显示给定字符串。


|
有一些命令的源码可以到sourceforge 或者github上找。

|
楼上已经回答了
我说一点小技巧吧
如果用的是Ubuntu,可以用apt-get source [软件包名]来获取源码
如果单纯是读这些命令的实现方法,看FreeBSD的也不错。我觉得FreeBSD的这些命令较GNU的质(简)朴(单)。没有太多为了适配各种平台而夹杂的丑陋的宏。
可以用svn check FreeBSD的代码看:
svn://svn.freebsd.org/base/head

    
 
 

您可能感兴趣的文章:

  • 请教如何查看gFTP的源代码?
  • 求ps查看进程的系统 源代码
  • linux下如何查看C函数的源代码
  • 如何查看函数的源代码
  • 菜鸟问题: 在red hat 9下如何查看文件的源代码?
  • 如何查看linux任意命令的的源代码?
  • 我想查看fputs(),fread(),fwrite(),fclose()函数的源代码,请问这部分的源代码在哪个RPM包里。
  • bootloader的源代码怎样查看
  • 请教查看linux源代码的方法?
  • windows 下能否查看以rpm形式打包的源代码?
  • 大家好,问一下查看进程的PS的源代码在什么地方?
  • 我想着实现像JdbToolBar的功能,请问怎样查看它的源代码?
  • 请问linux下怎么样查看c标准库的源代码的啊?
  • linux下编译c++程序,系统头文件中包含的函数的定义源代码可以查看吗?
  • 如何在ASP的frame框架中屏蔽右键,以防止查看页面的源代码?
  • 查看linux源代码(主要是命令的)
  • ★★★菜鸟提问:装完Linux之后是否就可以查看其内核源代码,该怎样查看?如何编译代码?★★★
  • redhat/centos 常用信息查看命令整理
  • linux命令问题 输入一个查看命令(比如help) 显示满屏后 我怎么查看上一页的显示
  • Ubuntu查看系统信息命令介绍
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • Ubuntu查看硬盘,分区相关命令介绍
  • unix在终端下如何查看如何查看 光盘里的内容? 如何进入光盘所在目录? 用什么命令可以查看光盘里文件的目录?
  • 准备学习docker: docker version命令查看版本
  • linux 中查看过去运行的命令的命令是什么?
  • Ubuntu查看内存,进程相关命令介绍
  • linux命令行下使用curl命令查看自己机器的外网ip
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • 请问如何清掉linux的操作命令记录?就是按上下键不能查看以前执行的命令,谢谢
  • Ubuntu ADSL上网,网络信息查看及防火墙相关配置命令介绍
  • 请问LINUX7.2下,哪条命令是查看系统上曾经执行过的执行命令?(包括启动以前的)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下如何查看,设置环境变量并立即生效
  • linux能不能像xp那样子以幻灯片方式查看图片。我在一个文件夹里面有几张图片,想进行挑选。用幻灯片查看的方式比较方便
  • linux下查看局域网内的linux主机,该如何操作?
  • 作为一个普通用户,如何查看远程电脑中linux是什么公司的linux?
  • 有没有可以在windows下查看linux分区的软件?
  • linux目录查中查看文件的问题,在线等
  • Linux系统查看Oracle服务是否启动
  • linux下的代码查看工具
  • 怎样在linux里查看未分区的硬盘空间啊???
  • 请问linux下查看某个程序的运行界面的程序是什么?
  • 在 linux 下查看 cpu 温度的问题
  • Linux C 有没有 查看函数定义的方法?
  • Linux系统信息查看软件 HardInfo
  • linux查看文件
  • 如何查看linux系统的内存多大?
  • 如何才能查看linux系统中所有的用户名呢?
  • 求助Linux下怎样查看线程状态?
  • linux下如何查看程序的版本号?
  • 请问linux下如何查看本机内核是32位还是64位的?
  • 如何查看linux连接
  • linux下如何查看结构体类型的成员
  • resin及jetty介绍以及如何 查看他们的版本号
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • ls查看时,查看到的4294967294 啥意思,熊猫请进
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 求教 关于gdb如何查看lib中的表达式
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • 在AIX(4.3)系统上如何查看内存情况
  • ubuntu查看系统日志及相关文件介绍
  • 怎样查看安装某个软件包的时间


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3