0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux你了解多少

jf_78858299 ? 來源:CSDN ? 作者:https://dev.to/emtes/ ? 2023-05-12 11:17 ? 次閱讀

以下為譯文:

你知道哪個操作系統(tǒng)是世界上最受歡迎的操作系統(tǒng)嗎?是Linux!它一般運行于服務器和超級計算機上,我們?nèi)粘TL問網(wǎng)站背后的數(shù)百萬臺服務器很有可能運行著的操作系統(tǒng)就是Linux。在本文中,我們將學習Linux是什么以及它來自何處,常用的Linux知識以及想要在這個令人興奮的平臺上暢游所需的命令。

什么是Linux?

就像Windows或Apple的mac OS一樣,Linux也是一個操作系統(tǒng)。操作系統(tǒng)是管理計算機中不同設備和應用程序軟件的集合。舉例來說,其中的部分軟件負責著關閉、啟動計算機,有些軟件提供與鍵盤和鼠標等設備交互界面等功能。

學習使用Linux系統(tǒng)是熟悉命令行的絕佳機會,命令行是與計算機進行通信的最明確的方式。此外,當你嘗試不同的項目時,你將會學習軟件倉庫,程序包管理,文件權限,用戶管理等更多信息。如果你有使用npm和GitHub的經(jīng)驗,那么程序包管理和軟件倉庫可能是你已經(jīng)熟悉的概念。

為什么Linux如此流行?

Linux在企業(yè)計算,大數(shù)據(jù)和科學(聯(lián)想下超級計算機)世界中獨樹一幟。主要原因如下

  • Linux是免費的。你不需要為使用Linux而付費,你可以自由查看,編輯和分發(fā)源代碼。當你購買裝有Windows或macOS的計算機時,這些操作系統(tǒng)的費用其實已包含在價格中。
  • Linux是靈活的。Linux被用于許多不同類型的計算機中,包括智能烤面包機和冰箱,其他物聯(lián)網(wǎng)設備,互聯(lián)網(wǎng)路由器,Android智能手機等,簡直不勝枚舉。你現(xiàn)在可以立即在筆記本電腦或臺式機上安裝Linux,而無需進行任何設置即可啟動和運行!這種靈活性之所以成為可能,是因為Linux操作系統(tǒng)被設計為既可以簡單地完成一項工作又能使用功能更完善的工具來完成工作。你可以組裝一個適用于你的設備并針對你的需求進行過優(yōu)化的Linux版本。

Unix哲學

Linux是一個“類Unix”操作系統(tǒng),這意味著它的大部分功能派生自Unix操作系統(tǒng),并且通常遵循Unix的設計原則。理想的Unix程序是簡單,模塊化和可擴展的。Unix程序確實能很好地完成一些任務,并且被設計為可以與其他程序很好地協(xié)同工作,而不必依賴太多其他程序。該系統(tǒng)通過利用程序的協(xié)作而變得強大,而不是因為程序本身超級強大。

關于Linux,我最喜歡的一點是一切都是文件。你在終端中運行的命令和程序被抽象成文件。用來快速打開自己喜歡的應用程序的桌面圖標也被抽象成文件。系統(tǒng)檢查應用程序更新的代碼庫如何處理?當然也是寫在文件里。所有可能導致混亂的都可以用文件解決。Linux就是這么透明、富有動力和優(yōu)雅。你可以想象一下,你可以隨心設置自己的Linux安裝程序,同時擁有對系統(tǒng)的完全控制權,只要你想要的,完全甩掉你不想要的,這非常酷炫!

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

一切都是文件,文件是一切的最終歸宿

接下來,我將向你展示Linux中的典型系統(tǒng)樹或文件系統(tǒng)層次結構。你可以在我的其他文章中(https://dev.to/emtes/learning-data-structures-trees-2p5g)閱讀有關樹狀數(shù)據(jù)結構的更多信息。如果你要在自己的Linux系統(tǒng)上進行操作,你的目錄可能跟我的不完全一樣,可能具有更多或更少的目錄。如果你想詳細了解這些目錄(文件夾),請在Linux終端中敲入man hier并運行該命令來閱讀手冊。我個人的習慣是,將喜歡的搜索引擎放在附近,以隨時查找我不知道含義的新名稱。

/ 這是根目錄(文件夾),文件系統(tǒng)樹(數(shù)據(jù)結構)的根

/bin 包含二進制文件,系統(tǒng)啟動需要的可執(zhí)行程序

/boot 包含機器啟動時所需的內(nèi)核和文件

/dev包含設備節(jié)點,與連接到計算機的物理設備一起使用的指令/接口

/etc包含系統(tǒng)范圍的配置文件(發(fā)音為etsy),大型軟件包(如gtk,python,X11)一般也在此處存儲配置文件。

/home 包含系統(tǒng)用戶的目錄(每個用戶的下載,圖片等)

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

/lost+found 包含由于系統(tǒng)崩潰或驅(qū)動器錯誤而放錯位置的數(shù)據(jù)

/media 包含用于USB,CD和DVD等媒體設備的安裝點

/mnt 是臨時文件系統(tǒng)的掛載點(例如用來安裝系統(tǒng)的內(nèi)容)

/opt包含程序的其他程序包。在我的機器中,Google Chrome和Minecraft Launcher將文件保存在此處。

/proc 包含與內(nèi)核和正在運行的進程有關的文件

/tmp 包含在執(zhí)行程序時可能創(chuàng)建的臨時文件

/usr包含一個次要的只讀系統(tǒng)樹,用于與某些程序共享或用于安裝在其他Linux系統(tǒng)上。上面存在許多目錄也存在這里,并包含一些其他文件

/var 包含隨時間變化其大小發(fā)生變化的文件,例如日志和備份

如果你經(jīng)常使用Linux,可能偶爾會覺得需要在某個奇怪的目錄中編輯或?qū)懭胛募?。我希望當你知道這些目錄名稱的通常含義后可以對你有所幫助!

命令行基礎

之前我說過“與Linux機器通信的最明確的方法是命令行”,我是認真的。接下來,讓我們開始學習一些基本的命令行或終端命令,這些命令將使你開始熟悉系統(tǒng)。如果你當前使用圖形用戶界面進行開發(fā),當你熟悉命令行后,你可能會發(fā)現(xiàn)從終端執(zhí)行操作會更加快捷和安全。

你和終端之間有一個名為shell(可以理解為操作系統(tǒng)內(nèi)核外圍的殼)的程序。Shell是解釋文本命令并將其發(fā)送到操作系統(tǒng)以執(zhí)行的程序。最常見的shell程序是Bash,大多數(shù)Linux發(fā)行版中都包含該程序。對于macOS用戶來說,Apple最近將macOS的Shell程序切換為zsh。macOS實際上也是一個類似Unix的操作系統(tǒng)。當然你也可以隨意更改shell!

終端命令的結構

因為文章已經(jīng)論述的夠多了,所以我不會在這篇文章中分享太多命令,要注意的是學習模式更為重要。通常,終端命令遵循非常相似且可預測的結構:

program_name [--optional flags] [optional arguments]

標志(flag)可以出現(xiàn)在參數(shù)之后,并且通??s短到一個字母和一個破折號,例如-f。標志是更改程序行為方式的選項。比如-h或者--help是常用的幫助性質(zhì)的標志,程序收到該標志后會提供給你哪些標志可供使用的信息。

參數(shù)通常是文件,但也可以是字符串和數(shù)字。

你可以從系統(tǒng)中任何目錄調(diào)用程序,也可以將系統(tǒng)中任何目錄的文件用作參數(shù)。你可以這么做的原因是你可以在Linux中使用相對或絕對路徑來命名文件。相對路徑是相對于當前目錄的,你可以使用.表示當前目錄(下文會詳述)。絕對路徑從系統(tǒng)根目錄/開始,你需要指明每一級的目錄以獲取所需的文件。

命令索引

  • pwd 打印你當前所在的目錄(print working directory,即打印工作目錄)
  • cd將目錄更改為你指定的參數(shù)(changes directory)。如果不提供任何參數(shù),則默認進入用戶目錄,你也可以在路徑中使用~進行跳轉(zhuǎn)。.和.. 分別代表當前目錄和父目錄,并且也是cd命令的有效的參數(shù)。
  • ls列出指定參數(shù)目錄中的文件(list),默認參數(shù)為當前目錄,即.。該-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創(chuàng)建新目錄,其中新目錄名稱作為參數(shù)。你還可以使用-p標志在尚不存在的目錄下建立新目錄。
mkdir -p code/web-stuff/html notes
  • touch 創(chuàng)建新文件,其中文件名稱作為參數(shù)。

你很快就會發(fā)現(xiàn)自己想要做更復雜的事情,因此請閱讀這些命令的更多信息并保留備忘單。

日常使用的Linux

我不會說2020年將是Linux在臺式機世界的元年,但我要分享的是,有許多Linux發(fā)行版已經(jīng)能夠做到開箱即用,我們可以使用非常簡單的方法進行安裝。如果你被Shell的功能所吸引,或者擔心使用其他操作系統(tǒng)帶來的隱私泄露風險,或者只是喜歡黑客攻擊等技術,那么Linux很適合你。作為開發(fā)人員,這也是一個很棒的平臺,因為它是在考慮其他開發(fā)人員的情況下制作的。Linux發(fā)行版(例如Ubuntu,Linux Mint和Fedora)可以快速啟動并運行。這些發(fā)行版背后有著龐大的社區(qū)支持,社區(qū)成員很愿意幫助他人。我最后想提醒的是,記住備份所有重要的文件!

原文:https://dev.to/emtes/so-linux-3i9k

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11123

    瀏覽量

    207921
  • 計算機
    +關注

    關注

    19

    文章

    7174

    瀏覽量

    87163
  • GitHub
    +關注

    關注

    3

    文章

    461

    瀏覽量

    16237
收藏 人收藏

    評論

    相關推薦

    Linux+C語言】真的了解system接口的調(diào)用嗎?

    Linux + C語言】話說,真的了解system接口的調(diào)用嗎?
    的頭像 發(fā)表于 09-12 16:33 ?3961次閱讀
    【<b class='flag-5'>Linux</b>+C語言】<b class='flag-5'>你</b>真的<b class='flag-5'>了解</b>system接口的調(diào)用嗎?

    一文了解Linux安全模塊(LSM)

    我猜,讀這篇文章,說明已經(jīng)對Linux安全模塊(LSM)有所了解。如果使用過SELinux或AppArmor,其實就已經(jīng)用過LSM了。
    發(fā)表于 11-28 09:21 ?6546次閱讀

    一文全面了解linux相關知識

    今天浩道跟大家分享linux實用場景相關的實例,助你全面了解linux相關知識。
    發(fā)表于 01-29 11:09 ?449次閱讀

    了解自供電嗎

    了解自供電嗎,或者是否使用自供電技術,一起來評論圍觀自供電吧
    發(fā)表于 07-15 10:08

    嵌入式Linux了解

    ,但是要學習內(nèi)核,首先要會用Linux,知道Linux是如何操作,繼而才能了解Linux怎么
    發(fā)表于 11-05 09:05

    需要了解的嵌入式Linux

    需要了解的嵌入式Linux 今天,Linux 正廣泛應用于各種嵌入式設備的開發(fā)中,如數(shù)字電視、機頂盒、DVR播放器、xDSL/有線/PON調(diào)制解調(diào)器、家用路由器和網(wǎng)關。它尤其適
    發(fā)表于 01-18 16:19 ?686次閱讀
    <b class='flag-5'>你</b>需要<b class='flag-5'>了解</b>的嵌入式<b class='flag-5'>Linux</b>

    了解linux RTC 驅(qū)動模型?

    RTC(real time clock)實時時鐘,主要作用是給Linux系統(tǒng)提供時間。RTC因為是電池供電的,所以掉電后時間不丟失。Linux內(nèi)核把RTC用作“離線”的時間與日期維護器。
    發(fā)表于 04-26 15:50 ?1915次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b><b class='flag-5'>linux</b> RTC 驅(qū)動模型?

    了解Linux IIC的設備驅(qū)動?

    由于IIC總線只需要兩根線就可以完成讀寫操作,而且通信協(xié)議簡單,一條總線上可以掛載多個設備,因此被廣泛使用。但是IIC總線有一個缺點,就是傳輸速率比較低。本文基于Linux-2.6.36版本,說說IIC子系統(tǒng)在Linux中的實現(xiàn)。
    發(fā)表于 04-29 14:13 ?2236次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b>過<b class='flag-5'>Linux</b> IIC的設備驅(qū)動?

    Linux總線設備驅(qū)動框架是否了解

    Linux的設備驅(qū)動模型,或者說,Linux的設備驅(qū)動框架,都是同一個意思。應該這樣理解,(Linux的設備)驅(qū)動框架,即某類設備對應的驅(qū)動的框架。
    發(fā)表于 05-05 15:13 ?677次閱讀

    了解linux的中斷機制?

    中斷是指在CPU正常運行期間,由于內(nèi)外部事件或由程序預先安排的事件引起的CPU暫時停止正在運行的程序,轉(zhuǎn)而為該內(nèi)部或外部事件或預先安排的事件服務的程序中去,服務完畢后再返回去繼續(xù)運行被暫時中斷的程序。Linux中通常分為外部中斷(又叫硬件中斷)和內(nèi)部中斷(又叫異常)。
    發(fā)表于 05-05 15:30 ?662次閱讀

    學會用日志了解Linux 系統(tǒng)

    Linux 系統(tǒng)日志非常重要,后臺運行的程序(通常被稱為守護進程或者服務進程)處理了 Linux 系統(tǒng)中的大部分任務。
    發(fā)表于 05-06 16:39 ?686次閱讀

    了解Linux網(wǎng)絡驅(qū)動之一:snull

    snull是《Linux Device Drivers》中的一個網(wǎng)絡驅(qū)動的例子。這里引用這個例子學習Linux網(wǎng)絡驅(qū)動。
    發(fā)表于 05-10 10:50 ?2101次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b><b class='flag-5'>Linux</b>網(wǎng)絡驅(qū)動之一:snull

    Linux需要了解的7件事!

    使用 Linux 最酷的事情之一就是隨著時間的推移,可以不斷獲得新的知識。每天,都可能會遇到一個新的實用工具,或者只是一個不太熟悉的奇技淫巧,但是卻非常有用。這些零碎的東西并不總是能夠改變生活,但是卻是專業(yè)知識的基礎。
    發(fā)表于 05-13 09:44 ?256次閱讀

    了解Linux中的iptables原理?

    Netfilter是由Rusty Russell提出的Linux 2.4內(nèi)核防火墻框架,該框架既簡潔又靈活,可實現(xiàn)安全策略應用中的許多功能,如數(shù)據(jù)包過濾、數(shù)據(jù)包處理、地址偽裝、透明代理、動態(tài)網(wǎng)
    發(fā)表于 05-15 11:09 ?943次閱讀
    <b class='flag-5'>你</b><b class='flag-5'>了解</b><b class='flag-5'>Linux</b>中的iptables原理?

    Linux項目開發(fā),必須了解Systemd服務!

    本身進行更多的管理。Systemd就是為了解決這些問題而誕生的。它的設計目標是,為系統(tǒng)的啟動和管理提供一套完整的解決方案,根據(jù)Linux慣例,字母d是守護進程(daem
    的頭像 發(fā)表于 06-18 17:59 ?665次閱讀
    <b class='flag-5'>Linux</b>項目開發(fā),<b class='flag-5'>你</b>必須<b class='flag-5'>了解</b>Systemd服務!