發(fā)布時間:2021-09-23 15:23:49來源:轉(zhuǎn)載
你知道哪個操作系統(tǒng)是世界上較受歡迎的操作系統(tǒng)嗎?是Linux!它一般運行于服務(wù)器和超級計算機上,我們?nèi)粘TL問網(wǎng)站背后的數(shù)百萬臺服務(wù)器很有可能運行著的操作系統(tǒng)就是Linux。在本文中,我們將學(xué)習(xí)Linux是什么以及它來自何處,常用的Linux知識以及想要在這個令人興奮的平臺上暢游所需的命令。
1、什么是Linux?
就像Windows或Apple的macOS一樣,Linux也是一個操作系統(tǒng)。操作系統(tǒng)是管理計算機中不同設(shè)備和應(yīng)用程序軟件的集合。舉例來說,其中的部分軟件負責(zé)著關(guān)閉、啟動計算機,有些軟件提供與鍵盤和鼠標(biāo)等設(shè)備交互界面等功能。學(xué)習(xí)使用Linux系統(tǒng)是熟悉命令行的絕佳機會,命令行是與計算機進行通信的較明確的方式。此外,當(dāng)你嘗試不同的項目時,你將會學(xué)習(xí)軟件倉庫、程序包管理、文件權(quán)限、用戶管理等更多信息。如果你有使用npm和GitHub的經(jīng)驗,那么程序包管理和軟件倉庫可能是你已經(jīng)熟悉的概念。
2、為什么Linux如此流行?
Linux在企業(yè)計算、大數(shù)據(jù)和科學(xué)世界中獨樹一幟。主要原因如下:
Linux是免費的。你不需要為使用Linux而付費,你可以自由查看、編輯和分發(fā)源代碼。當(dāng)你購買裝有Windows或macOS的計算機時,這些操作系統(tǒng)的費用其實已包含在價格中。
Linux是靈活的。Linux被用于許多不同類型的計算機中,包括智能烤面包機和冰箱、其他物聯(lián)網(wǎng)設(shè)備、互聯(lián)網(wǎng)路由器、Android智能手機等,簡直不勝枚舉。你現(xiàn)在可以立即在筆記本電腦或臺式機上安裝Linux,而無需進行任何設(shè)置即可啟動和運行!這種靈活性之所以成為可能,是因為Linux操作系統(tǒng)被設(shè)計為既可以簡單地完成一項工作又能使用功能更完善的工具來完成工作。你可以組裝一個適用于你的設(shè)備并針對你的需求進行過優(yōu)化的Linux版本。
3、Unix哲學(xué)
Linux是一個“類Unix”操作系統(tǒng),這意味著它的大部分功能派生自Unix操作系統(tǒng),并且通常遵循Unix的設(shè)計原則。理想的Unix程序是簡單、模塊化和可擴展的。Unix程序確實能很好地完成一些任務(wù),并且被設(shè)計為可以與其他程序很好地協(xié)同工作,而不必依賴太多其他程序。該系統(tǒng)通過利用程序的協(xié)作而變得強大,而不是因為程序本身超級強大。關(guān)于Linux,我較喜歡的一點是一切都是文件。你在終端中運行的命令和程序被抽象成文件。用來打開自己喜歡的應(yīng)用程序的桌面圖標(biāo)也被抽象成文件。系統(tǒng)檢查應(yīng)用程序更新的代碼庫如何處理?當(dāng)然也是寫在文件里。所有可能導(dǎo)致混亂的都可以用文件解決。Linux就是這么透明、優(yōu)雅、富有動力。想象一下,你可以隨心設(shè)置自己的Linux安裝程序,同時擁有對系統(tǒng)的完全控制權(quán),留下你想要的,完全甩掉你不想要的,這是多么酷炫!這些原則如實地說明了Linux的靈活性。怪不得它被用于許多應(yīng)用中。
4、一切都是文件
文件是一切的較終歸宿接下來,我將向你展示Linux中的典型系統(tǒng)樹或文件系統(tǒng)層次結(jié)構(gòu)。如果你要在自己的Linux系統(tǒng)上進行操作,你的目錄可能跟我的不完全一樣,可能具有更多或更少的目錄。如果你想詳細了解這些目錄(文件夾),請在Linux終端中敲入manhier并運行該命令來閱讀手冊。我個人的習(xí)慣是,通過搜索引擎隨時查找我不知道含義的新名稱。如果你經(jīng)常使用Linux,可能偶爾會覺得需要在某個奇怪的目錄中編輯或?qū)懭胛募O旅媪_列出一些目錄名稱的通常含義,希望對你有所幫助:
/這是根目錄(文件夾),文件系統(tǒng)樹的根。
/bin包含二進制文件,系統(tǒng)啟動需要的可執(zhí)行程序。
/boot包含機器啟動時所需的內(nèi)核和文件。
/dev包含設(shè)備節(jié)點,與連接到計算機的物理設(shè)備一起使用的指令/接口。
/etc包含系統(tǒng)范圍的配置文件(發(fā)音為etsy),大型軟件包(如gtk,python,X11)一般也在此處存儲配置文件。
/home包含系統(tǒng)用戶的目錄(每個用戶的下載、圖片等)。
/lib包含啟動計算機的核心程序所必需的共享庫。
/lost+found包含由于系統(tǒng)崩潰或驅(qū)動器錯誤而放錯位置的數(shù)據(jù)。
/media包含用于USB、CD和DVD等媒體設(shè)備的安裝點。
/mnt是臨時文件系統(tǒng)的掛載點(例如用來安裝系統(tǒng)的內(nèi)容)。
/opt包含程序的其他程序包。在我的機器中,GoogleChrome和MinecraftLauncher將文件保存在此處。
/proc包含與內(nèi)核和正在運行的進程有關(guān)的文件。
/tmp包含在執(zhí)行程序時可能創(chuàng)建的臨時文件。
/usr包含一個次要的只讀系統(tǒng)樹,用于與某些程序共享或用于安裝在其他Linux系統(tǒng)上。上面存在許多目錄也存在這里,并包含一些其他文件。
/var包含隨時間變化其大小發(fā)生變化的文件,例如日志和備份。
5、與Linux機器通信的較明確的方法是命令行
接下來開始學(xué)習(xí)一些基本的命令行或終端命令,這些命令將使你開始熟悉系統(tǒng)。如果你當(dāng)前使用圖形用戶界面進行開發(fā),當(dāng)你熟悉命令行后,你可能會發(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)。當(dāng)然你也可以隨意更改shell!
6、終端命令
通常,終端命令遵循非常相似且可預(yù)測的結(jié)構(gòu):program_name[--optionalflags][optionalarguments]標(biāo)志(flag)可以出現(xiàn)在參數(shù)之后,并且通常縮短到一個字母和一個破折號,例如-f。標(biāo)志是更改程序行為方式的選項。比如-h或者--help是常用的幫助性質(zhì)的標(biāo)志,程序收到該標(biāo)志后會提供給你哪些標(biāo)志可供使用的信息。參數(shù)通常是文件,但也可以是字符串和數(shù)字。你可以從系統(tǒng)中任何目錄調(diào)用程序,也可以將系統(tǒng)中任何目錄的文件用作參數(shù)。你可以這么做的原因是你可以在Linux中使用相對或路徑來命名文件。相對路徑是相對于當(dāng)前目錄的,你可以使用.表示當(dāng)前目錄(下文會詳述)。路徑從系統(tǒng)根目錄/開始,你需要指明每一級的目錄以獲取所需的文件。
7、命令索引
pwd打印你當(dāng)前所在的目錄(printworkingdirectory,即打印工作目錄)。
cd將目錄更改為你指定的參數(shù)(changesdirectory)。如果不提供任何參數(shù),則默認(rèn)進入用戶目錄,你也可以在路徑中使用~進行跳轉(zhuǎn)。.和..分別代表當(dāng)前目錄和父目錄,并且也是cd命令的有效的參數(shù)。
ls列出指定參數(shù)目錄中的文件(list),默認(rèn)參數(shù)為當(dāng)前目錄,即.。該-a標(biāo)志可以非常方便地查看隱藏文件。在Linux中,你可以通過以.開頭的文件名稱來隱藏文件以減少混亂,示例如.gitignore。
ls-a~/Documents
8、文件操作
mv將文件或目錄移動到你指定的目錄(move)。
mvfun-letter.text~/Documents/letters/
你還可以使用mv重命名文件和目錄:
mvfun-letter.txthilarious-letter.txt
其含義就是將其移動到名為新名稱的位置
cp在指定目錄中復(fù)制文件(copy)。使用-r標(biāo)志遞歸復(fù)制目錄,就像使用mv重命名文件一樣,你可以使用類似的方法來重命名文件和目錄。
mkdir創(chuàng)建新目錄,其中新目錄名稱作為參數(shù)。你還可以使用-p標(biāo)志在尚不存在的目錄下建立新目錄。
mkdir-pcode/web-stuff/htmlnotes
touch創(chuàng)建新文件,其中文件名稱作為參數(shù)。
如果你想要做更復(fù)雜的事情,可以閱讀這些命令的更多信息。
9、日常使用的Linux
我不會說2020年將是Linux在臺式機世界的元年,但我要分享的是,有許多Linux發(fā)行版已經(jīng)能夠做到開箱即用,我們可以使用非常簡單的方法進行安裝。如果你被Shell的功能所吸引,或者擔(dān)心使用其他操作系統(tǒng)帶來的隱私泄露風(fēng)險,或者只是喜歡黑客攻擊等技術(shù),那么Linux很適合你。