帶你全面認識 Linux

2021-10-09 13:15:23 字數 2759 閱讀 1512

什麼是linux?

為什麼linux如此流行?

linux在企業計算,大資料和科學(聯想下超級計算機)世界中獨樹一幟。主要原因如下

linux是免費的。你不需要為使用linux而付費,你可以自由檢視,編輯和分發源**。當你購買裝有windows或macos的計算機時,這些作業系統的費用其實已包含在**中。

linux是靈活的。linux被用於許多不同型別的計算機中,包括智慧型烤麵包機和冰箱,其他物聯網裝置,網際網路路由器,android智慧型手機等,簡直不勝列舉。你現在可以立即在膝上型電腦或台式電腦上安裝linux,而無需進行任何設定即可啟動和執行!這種靈活性之所以成為可能,是因為linux作業系統被設計為既可以簡單地完成一項工作又能使用功能更完善的工具來完成工作。你可以組裝乙個適用於你的裝置並針對你的需求進行過優化的linux版本。

unix哲學

linux是乙個「類unix」作業系統,這意味著它的大部分功能派生自unix作業系統,並且通常遵循unix的設計原則。理想的unix程式是簡單,模組化和可擴充套件的。unix程式確實能很好地完成一些任務,並且被設計為可以與其他程式很好地協同工作,而不必依賴太多其他程式。該系統通過利用程式的協作而變得強大,而不是因為程式本身超級強大。

這些原則如實地說明了linux的靈活性。怪不得它被用於許多應用中。

一切都是檔案,檔案是一切的最終歸宿

接下來,我將向你展示linux中的典型系統樹或檔案系統層次結構。你可以在我的其他文章中(閱讀有關樹狀資料結構的更多資訊。如果你要在自己的linux系統上進行操作,你的目錄可能跟我的不完全一樣,可能具有更多或更少的目錄。如果你想詳細了解這些目錄(資料夾),請在linux終端中敲入man hier並執行該命令來閱讀手冊。我個人的習慣是,將喜歡的搜尋引擎放在附近,以隨時查詢我不知道含義的新名稱。

/ 這是根目錄(資料夾),檔案系統樹(資料結構?)的根

/bin 包含二進位制檔案,系統啟動需要的可執行程式

/boot 包含機器啟動時所需的核心和檔案

/dev包含裝置節點,與連線到計算機的物理裝置一起使用的指令/介面

/etc包含系統範圍的配置檔案(發音為etsy),大型軟體包(如gtk,python,x11)一般也在此處儲存配置檔案。

/lib 包含啟動計算機的核心程式所必需的共享庫

/lost+found 包含由於系統崩潰或驅動器錯誤而放錯位置的資料

/media 包含用於usb,cd和***等**裝置的安裝點

/mnt 是臨時檔案系統的掛載點(例如用來安裝系統的內容)

/opt包含程式的其他程式包。在我的機器中,google chrome和minecraft launcher將檔案儲存在此處。

/proc 包含與核心和正在執行的程序有關的檔案

/tmp 包含在執行程式時可能建立的臨時檔案

/usr包含乙個次要的唯讀系統樹,用於與某些程式共享或用於安裝在其他linux系統上。上面存在許多目錄也存在這裡,幷包含一些其他檔案

/var 包含隨時間變化其大小發生變化的檔案,例如日誌和備份

如果你經常使用linux,可能偶爾會覺得需要在某個奇怪的目錄中編輯或寫入檔案。我希望當你知道這些目錄名稱的通常含義後可以對你有所幫助!

命令列基礎

之前我說過「與linux機器通訊的最明確的方法是命令列」,我是認真的。接下來,讓我們開始學習一些基本的命令列或終端命令,這些命令將使你開始熟悉系統。如果你當前使用圖形使用者介面進行開發,當你熟悉命令列後,你可能會發現從終端執行操作會更加快捷和安全。

終端命令的結構

program_name [–optional flags] [optional arguments]

標誌(flag)可以出現在引數之後,並且通常縮短到乙個字母和乙個破折號,例如-f。標誌是更改程式行為方式的選項。比如-h或者–help是常用的幫助性質的標誌,程式收到該標誌後會提供給你哪些標誌可供使用的資訊。

引數通常是檔案,但也可以是字串和數字。

你可以從系統中任何目錄呼叫程式,也可以將系統中任何目錄的檔案用作引數。你可以這麼做的原因是你可以在linux中使用相對或絕對路徑來命名檔案。相對路徑是相對於當前目錄的,你可以使用.表示當前目錄(下文會詳述)。絕對路徑從系統根目錄/開始,你需要指明每一級的目錄以獲取所需的檔案。

命令索引

pwd 列印你當前所在的目錄(print working directory,即列印工作目錄)

cd將目錄更改為你指定的引數(changes directory)。如果不提供任何引數,則預設進入使用者目錄,你也可以在路徑中使用~進行跳轉。.和… 分別代表當前目錄和父目錄,並且也是cd命令的有效的引數。

ls列出指定引數目錄中的檔案(list),預設引數為當前目錄,即.。該-a標誌可以非常方便地檢視隱藏檔案。在linux中,你可以通過以.開頭的檔名稱來隱藏檔案以減少混亂,示例如.gitignore。

ls -a ~/documents

檔案操作

mv 將檔案或目錄移動到你指定的目錄(move)。

mv fun-letter.text ~/documents/letters/

你還可以使用mv重新命名檔案和目錄:

mv fun-letter.txt hilarious-letter.txt

其含義就是將其移動到名為新名稱的位置

cp在指定目錄中複製檔案(copy)。使用-r標誌遞迴複製目錄,就像使用mv重新命名檔案一樣,你可以使用類似的方法來重新命名檔案和目錄。

mkdir建立新目錄,其中新目錄名稱作為引數。你還可以使用-p標誌在尚不存在的目錄下建立新目錄。

mkdir -p code/web-stuff/html notes

touch 建立新檔案,其中檔名稱作為引數。

日常使用的linux

帶你全面認識 Linux

領取大佬們推薦的學習資料 作者 arvin 譯者 enmanuel,責編 屠敏 以下為譯文 你知道哪個作業系統是世界上最受歡迎的作業系統嗎?是linux!它一般執行於伺服器和超級計算機上,我們日常訪問 背後的數百萬台伺服器很有可能執行著的作業系統就是linux。在本文中,我們將學習linux是什麼以...

帶你認識Django

django簡介 django,發音為 d 是用python語言寫的開源web開發框架,並遵循mvc設計。勞倫斯出版集團為了開發以新聞內容為主的 而開發出來了這個框架,於2005年7月在bsd許可證下發布。這個名稱 於比利時的爵士 家djangoreinhardt,他是乙個吉普賽人,主要以演奏吉它為...

爬蟲全面認識

爬蟲 其實爬蟲就像乙個瀏覽器瀏覽網上的資訊 只是我們稱之為爬蟲是因為它不是人為而是機器自動獲取某些程式設計師設定的信 息,對於某些 它不想讓爬蟲獲取訊息,我們稱之為反爬。裡面的具體一些技術,我會一 一解釋和貼原始碼 文章只是自己學習沒有任何商業用途。1 爬蟲用到的語言 python2 html js...