oeasy教您玩轉(zhuǎn)linux010107那啥在哪 whereis
那啥在哪whereis
回憶上次內(nèi)容??
上次講了ls 的參數(shù)(arguement)和選項(xiàng)(option)的設(shè)置
現(xiàn)在我們要整這么一個(gè)列表??
對(duì)于 /proc路徑進(jìn)行列表
對(duì)子路徑遞歸列表
顯示隱藏文件
顯示詳細(xì)信息
其中容量使用人們熟知的單位
你都忘了?!!!??
沒(méi)關(guān)系
查手冊(cè)啊??
做完了之后思考,ls到底在哪???
ls在哪???
想要知道ls在哪就得用新命令whereis
我們的命令(command)的名字是whereis
我們whereis命令的參數(shù)是ls
綜合起來(lái)就是
whereis ls
我們得到了ls兩個(gè)硬盤(pán)位置
/bin/ls
/usr/share/man/man1/ls.1.gz
為什么在硬盤(pán)里???
為什么ls在硬盤(pán)里???
ls文件最開(kāi)始在/bin這個(gè)位置
當(dāng)我在命令行敲擊之后ls回車之后
操作系統(tǒng)要求運(yùn)行l(wèi)s程序
操作系統(tǒng)分配內(nèi)存空間給ls
操作系統(tǒng)把ls從硬盤(pán)加載到內(nèi)存中
操作系統(tǒng)分配cpu資源去執(zhí)行程序
最終把ls的結(jié)果輸出到標(biāo)準(zhǔn)輸出流(屏幕)上
為什么兩個(gè)位置????
我們可以對(duì)whereis發(fā)出靈魂之問(wèn)whatis
whatis whereis
whereis可以幫我們定位命令的位置
whereis太簡(jiǎn)單了,這個(gè)恐怕要查文檔
我們查詢whereis的手冊(cè)man??
man whereis
我們可以查詢到whereis的手冊(cè)??

來(lái)試試選項(xiàng)的功能
whereis -b ls
b的意思是binary二進(jìn)制
查找whereis二進(jìn)制
二進(jìn)制文件在/bin里
whereis -m ls
m的意思是manual文檔
查找whereis的文檔
文檔在/usr/share/man里面
這兩個(gè)
一個(gè)是二進(jìn)制命令
另一個(gè)是幫助手冊(cè)
那ls的源文件在哪呢?這有點(diǎn)復(fù)雜...??
得到ls源文件
dpkg -S /bin/ls
dpkg是debian package是debian的包管理命令
-S是在已經(jīng)安裝的包里面查找search
/bin/ls是具體文件的位置
得到結(jié)果是coreutils(核心應(yīng)用)
設(shè)置源
sudo vi /etc/apt/sources.txt
打開(kāi)源的配置文件
sudo 是使用管理員權(quán)限
vi 是文本編輯器
/etc/apt/sources.txt是源的配置文件
直接輸入G(直接到最后一行Ground)
注意這個(gè)時(shí)候左下角是空白狀態(tài)
直接輸入o(在當(dāng)前行后面添加一行)
注意左下角變成了Insert(插入狀態(tài))
將下面粘貼到最后一行
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
這條設(shè)置的是debian的源的位置
摁下esc
注意左下角不再是Insert(插入狀態(tài)),而是退回到了空白
依次摁下
:
w
q
回車
保存并退出vi
用apt下載源代碼
apt是高級(jí)包管理的命令
運(yùn)行sudo apt update(更新源)
sudo apt source coreutils(獲得源代碼)
在當(dāng)前文件夾下找到coreutilsXXX文件夾
進(jìn)入src源文件文件夾(source)
ls ls.*
找到了ls.c文件(ls的c語(yǔ)言源文件)
思考??
我們真的可以獲得ls源代碼,這太棒了!??
可是如果有多個(gè)版本的命令比如
java8
java13
那我到底用的是那個(gè)版本的java呢???
我們下次再說(shuō)*