1. 以搜索ls命令源碼為例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls
/bin/ls
2. 用命令搜索該軟體所在包,代碼如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls
coreutils: /bin/ls
3. 從上一步中可以知道ls命令的實現在包coreutils中,用apt安裝(說安裝有些歧義,主要是區分apt-get -d)該包的源代碼然後解壓,代碼如下:
sudo apt-get source coreutils
cd /usr/src/coreutils-XXX #XXX表示版本號
sudo tar zxvf coreutils-XXX.tar.gz
或者只下載源碼,然後手動打補丁再解壓,代碼如下:
sudo apt-get -d source coreutils
cd /usr/src
tar zxvf coreutils-XXX.tar.gz
gzip -d coreutils-XXX.diff.gz #這一步會生成coreutils-XXX.diff文件
patch -p0 < coreutils-XXX.diff
cd coreutils-XXX
tar zxvf coreutils-XXX.tar.gz
OK,這幾步執行完後,就可以進入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令對應的源代碼了
Ⅱ 如何查看各種Linux命令的源碼
用linux一段時間了,有時候想看看ls、cat、more等命令的源代碼,在下載的內核源碼中用cscope沒能找到,在網上搜索了一下,將方 法總結如下:以搜索ls命令源碼為例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls /bin/ls用命令搜索該軟體所在包,代碼如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls coreutils: /bin/ls從上一步中可以知道ls命令的實現在包coreutils中,用apt安裝(說安裝有些歧義,主要是區分apt-get -d)該包的源代碼然後解壓,代碼如下:
sudo apt-get source coreutils cd /usr/src/coreutils-XXX #XXX表示版本號 sudo tar zxvf coreutils-XXX.tar.gz 或者只下載源碼,然後手動打補丁再解壓,代碼如下:
sudo apt-get -d source coreutils cd /usr/src tar zxvf coreutils-XXX.tar.gz gzip -d coreutils-XXX.diff.gz #這一步會生成coreutils-XXX.diff文件 patch -p0 < coreutils-XXX.diff cd coreutils-XXX tar zxvf coreutils-XXX.tar.gzOK,這幾步執行完後,就可以進入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令對應的源代碼了。關於更多Linux的學習,請查閱書籍《linux就該這么學》。
Ⅲ 如何查看linux命令源代碼
以搜索ls命令源碼為例,先搜索命令所在包,命令如下: lpj@lpj-linux:~$ which ls/bin/ls用命令搜索該軟體所在包,代碼如下: lpj@lpj-linux:~$ dpkg -S /bin/ls coreutils: /bin/ls 從上一步中可以知道ls命令的實現在包coreutils中,用apt安裝(說安裝有些歧義,主要是區分apt-get -d)該包的源代碼然後解壓,代碼如下: sudo apt-get source coreutils ####cd /usr/src/coreutils-XXX #XXX表示版本號cd . sudo tar zxvf coreutils-XXX.tar.gz 或者只下載源碼,然後手動打補丁再解壓,代碼如下:
Ⅳ 如何查看Linux命令源代碼
以find命令為例:
第一步,確定命令屬於哪個rpm包:
#rpm -qf /usr/bin/find
fintils-4.1-34
第二步,查找fintils的源碼包fintils-4.1-34.src.rpm,這個一般在發行版的網站上可以找到(比如FC6的源碼在這里可以找到:http://ftp.kddilabs.jp/Linux/packages/fedora/core/6/source/SRPMS/)。
也可以到rpmfind.net上查找,輸入rpm包的名字就可以找到相關的源碼包,有的也可以得到軟體對應的網站。
第三步,安裝源碼包:
rpm -ivh fintils-4.1-34.src.rpm
安裝好之後可以到/usr/src/RedHat/SOURCE下找到相關的源碼包
或者直接編譯源碼包:
rpmbuild -bb fintils-4.1-34.src.rpm
Ⅳ 如何查看linux種一些命令的源代碼
linux的命令,實際上都是編譯好的程序,一般放在/usr/bin目錄下。系統中並不會有源代碼。
也有些命令是腳本,比如dstat等。這個可以直接看。
如果要看linux的命令的源代碼,只有在去查找相關linux源碼才行,直接在系統中是看不到的。
Ⅵ 我安裝了Linux系統,怎樣才可以找到他的源代碼
/usr/src/kernel下面
Ⅶ 如何查看 linux 內核源代碼
一般在Linux系統中的/usr/src/linux***(***代表的是內核版本,如2423)目錄下就是內核源代碼(如果沒有類似目錄,是因為還沒安裝內核代碼)。另外還可從互連網上免費下載。注意,不要總到去下載,最好使用它的鏡像如何查看 linux 內核源代碼
Ⅷ 請問linux下的系統命令是不是開源的 比如sort,awk等等,如果是的話,在哪可以找到源代碼
Linux是開源的,它自帶的功能強大的命令也是開源的,也就是說,我們可以獲得這些命令的源代碼並研究它。那究竟如何獲得系統的命令的源代碼呢?
命令的源代碼是一個軟體包為單元的,放在一個軟體包的源代碼中,若要下載一個命令的源代碼,就要把這個命令所屬的軟體包的源代碼都下載下來。命令的源代碼就在下載的源代碼的相關目錄內,通常是src目錄,相應的主文件名為cmd.c,其中cmd為具體的命令,如ls命令的主程序文件為ls.c。可查閱「Linux命令大全」了解Linux命令。
Ⅸ 如何查看Linux源代碼
一般在Linux系統中的/usr/src/linux*.*.*(*.*.*代表的是內核版本,如2.4.23)目錄下就是內核源代碼(如果沒有類似目錄,是因為還沒安裝內核代碼)。另外還可從互連網上免費下載。注意,不要總到http://www.kernel.org/去下載,最好使用它的鏡像站點下載。請在http://www.kernel.org/mirrors/里找一個合適的下載點,再到pub/linux/kernel/v2.6/目錄下去下載2.4.23內核。
Ⅹ Linux是開源的,那麼如何查看源代碼
Linux的內核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統下,/usr/src/linux目錄下的東西就是內核源代碼。