生活随笔
收集整理的這篇文章主要介紹了
【已阅】Linux下一切皆文件与指令的本质(可执行程序),which指令等
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux下一切皆文件
在Linux下的話,一切皆文件。主要是看待諸如軟硬件設備與磁盤文件的看法:一切皆文件,比如說顯示器它也是文件,鍵盤也是文件,普通文件肯定是文件。首先就是顯示器這個東西,它其實就是可以打印東西的,問題就在于,這是誰打印的,實際上就是你的程序在向顯示器打印,站在程序的角度,就是在向顯示器寫入數據。那能不能從顯示器讀取?不會的,那些你看起來是在從顯示器讀取數據的行為,實際上是從鍵盤在讀取數據,然后只不過是給你回顯到顯示器上面而已,為了讓你看到你輸入的效果而已。對于顯示器,程序只負責寫,讀方法為空如果說把鍵盤也當做文件來看待的話,那他提供的方法站在程序的角度之上***,程序只能從鍵盤那個文件讀,不能寫,寫方法為空。***對于一個正兒八經的普通文件來講的話,那當然讀寫方法都有。因此不管是對于那些普通文件還是鍵盤還有顯示器,他們都有讀寫方法,在我Linux看來的話,能過去讀,能夠去寫,那自然都是文件。可能有時候部分讀寫方法為空,比如說鍵盤,顯示器之類,但我就認為他與普通文件是一樣的。Linux下一切皆文件網卡也是文件,也可以收發數據。***正是因為Linux下面一切文件,所以說對于指令echo加一個字符串的話,在以前的說法就是說把這個字符串給他打印在顯示器上,但實際上,其實就是把這個字符串給他寫入到顯示器文件當中。***是默認把這個字符串給他寫入到顯示器文件當中。
但凡能夠去讀,能夠去寫,這樣的設備文件的話,一般來講就當成文件,在Linux下的話,一切皆文件鍵盤啊,顯示器啊這些東西它與文件實際上沒有任何區別,就是其實你往文件當中去寫,跟你往顯示器里面去寫一模一樣,你還看不到,而且你也根本就不知道他在干啥,到后來你就會發現就是從文件上當中讀寫與從顯示器跟鍵盤當中讀寫其實根本沒有任何差別。
Linux下指令的本質
首先到底是怎么去看待指令?這個指令究竟是什么東西,首先,指令和可執行程序都是可以被執行的,所謂的指令,本質上就是可執行程序。當輸入一條指令的時候,首先是先在系統當中去查找這條指令,當輸入一條非法的指令的話,就會返回command not found。
所以指令一定是在系統的某一個位置存在的。指令就是可執行程序,然后你輸入的指令首先是需要經過在系統當中去查找匹配,如果找到了,然后就去對應執行那個可執行程序指令是在系統中特定的路徑下存在的,這些指令一定是某種可執行程序,你肯定是可執行程序,如果不是可執行程序的話,憑什么就能夠讓你運行起來,這些肯定都是用c/c++/Python或某些腳本語言寫的可執行程序指令的本質就是可執行程序,和我們自己寫的代碼編譯好的程序沒有本質區別。把可執行程序放到系統的某些特定路徑下,這就是安裝。把可執行程序從系統的某些路徑下面刪掉,其實這個行為就是卸載這個世界上所有的指令,軟件與工具全部都是可執行程序,所以對于指令而言,看了一番,說白了其實就是別人寫好的可執行程序然后放在系統中僅此而已。指令的本質就是一個文件,只不過是可執行文件.exe罷了,就是直接安裝到了系統的某種路徑下。指令它其實并不神秘,只不過是系統當中的一個可執行程序文件而已,所以學指令其實就是在學一個一個的可執行程序的用法而已。指令就是在Linux系統上面編好的一個軟件,二進制指令罷了,我們一定能夠在系統中去找到他
which 指令(查看指令所在系統路徑)
which 就是查看對應指令它的一個路徑
指令的話一般是在Linux系統的根目錄下/usr/bin/下
總結
以上是生活随笔為你收集整理的【已阅】Linux下一切皆文件与指令的本质(可执行程序),which指令等的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。