初學(xué)者如何分清楚又多又雜Linux命令?
Linux常用的命令就那些。 實(shí)際上,我不建議您花太多時間來記住這些命令。 如果您不記得,查查資料就行。
強(qiáng)烈建議每一個使用macOS/Unix/Linux的開發(fā)者,都把Arch Linux Wiki添加到自己的收藏夾,這可能是目前最好的Linux Wiki,沒有之一,基本所有的Linux問題你都能在這里找到答案。致力于從頭到尾好好學(xué)習(xí)一下Linux的同學(xué),可以去買鳥哥那本書來看,這是目前我認(rèn)為入門Linux最好的書籍了。
關(guān)機(jī)、重啟命令
關(guān)機(jī)命令:shutdown -h now
重啟命令:shutdown -r now或者reboot
shutdown是安全關(guān)機(jī)命令,halt是立即關(guān)機(jī),跟shutdown -h now一樣,halt實(shí)質(zhì)上也是調(diào)用shutdown -h命令,halt只殺死應(yīng)用進(jìn)程,執(zhí)行sync系統(tǒng)調(diào)用。不過要注意的是,這個命令操作在文件系統(tǒng)寫操作完成之后就會停止內(nèi)核工作,操作系統(tǒng)不工作了,不過電源還在工作。poweroff命令則會關(guān)閉系統(tǒng),然后再關(guān)閉電源。值得說明的是,reboot跟halt工作原理是一樣的。
關(guān)機(jī)過程中,你還可以設(shè)置參數(shù),比如用“-t”參數(shù)來設(shè)置關(guān)機(jī)執(zhí)行時間。"-n"參數(shù)可以用來執(zhí)行非正常關(guān)機(jī),用強(qiáng)制殺死執(zhí)行中進(jìn)程的方式來強(qiáng)制關(guān)機(jī)?!皌ime”參數(shù)可以用來設(shè)置關(guān)機(jī)的具體時間。要注意的是,Linux有幾個比較重要的執(zhí)行等級,run level 0代表關(guān)機(jī),run level 3是命令行工作模式,run level 5是帶有圖形界面的工作模式。
安裝軟件、更新軟件
Unix/Linux目前使用得比較多的分為三大類,一類是macOS、FreeBSD為代表的Unix系統(tǒng),一類是Debian、RedHat、ArchLinux為代表Linux系統(tǒng),尤其是這三大類Linux發(fā)行版,基本上代表了使用量最多的三類Unix操作系統(tǒng),其他的發(fā)行版基本上也都是基于這三個發(fā)行版進(jìn)行的二次開發(fā),在包管理上基本上也就跟這三個發(fā)行版相同。本文主要以Debian為藍(lán)本來演示,其他版本只是包管理不同,大家只要對比操作就好。
安裝更新:sudo apt-get update/upgrade,update是更新列表,幫你獲取最新的軟件列表,讀取軟件列表之后,保存到本地、軟件包管理器看到的軟件列表也都是通過update命令更新的,upgrade是更新軟件,這個命令將本地安轉(zhuǎn)的軟件跟軟件列表里面的進(jìn)行版本對比,如果有新的版本就會提示你更新,你只要更新就好了。
安裝特定的軟件:sudo apt-get install 軟件名稱,比如你要安裝git版本系統(tǒng),只要執(zhí)行命令sudo apt-get install git就可以。
卸載軟件:sudo apt-get remove刪除軟件包,不過軟件的配置文件不刪除,sudo apt-get remove --purge刪除軟件包,同時也會刪除軟件的配置文件,sudo apt-get autoremove則會將依賴包也都刪除。舉個例子,你要卸載emacs文本編輯器,就可以使用這三個命令徹底將這個軟件卸載、并且連帶配置文件、依賴包全都卸載干凈。
基本的文件操作
必要的文件操作還是要掌握的。這個我覺得是比較重要的,尤其是對于程序員來說,要經(jīng)常進(jìn)行目錄操作,也要經(jīng)常進(jìn)行文件操作,我想用一個簡單的流程來演示。
第一步,pwd:確定當(dāng)前操作所處的文件夾;
第二步,ls:顯示當(dāng)前文件夾包含的文件;
第三步,mkdir、touch:創(chuàng)建文件夾、創(chuàng)建文件;
第四步,rm -r:向下遞歸,不管有多少級目錄都全部刪除;rm -f:直接強(qiáng)制刪除,不作任何提示。必須要強(qiáng)調(diào)一點(diǎn)的是,尤其要注意“rm -rf”這個命令一定要謹(jǐn)慎使用,尤其是開發(fā)者在生產(chǎn)環(huán)境中一定要注意使用這種危險命令。
第五步,進(jìn)入某個子文件夾,或者退回上級目錄,cd ../cd:退回上級目錄,或者進(jìn)入下級目錄。
這些命令只是冰山一角,我們需要的命令其實(shí)遠(yuǎn)遠(yuǎn)不止,不過還是那句話,大多數(shù)命令我們并不需要掌握,需要的時候直接查Linux相應(yīng)發(fā)行版的wiki就好,Debian、ArchLinux都有非常完善的文檔供你查詢,實(shí)在覺得翻wiki比較麻煩,你還可以直接通過Google、StackOverflow直接查找資料也是非常方便的。
除了上面這些最基本的,還有shell命令,還有vim、emacs、gcc、gdb等眾多命令,想要真正學(xué)好Linux,也絕不是一天兩天的事情,不過當(dāng)你真的掌握之后,你就會發(fā)現(xiàn)Unix/Linux的設(shè)計哲學(xué)就是一切為了生產(chǎn)力、一切為了極客。