virtual box一直正在加载文件_Linux基础导航与文件管理
Linux基礎(chǔ)導(dǎo)航與文件管理
對(duì)于新手,或許很關(guān)心如何通過(guò)命令行來(lái)控制操作系統(tǒng)。這編文章將會(huì)嘗試帶你快速熟悉Linux系統(tǒng)基礎(chǔ),但是不會(huì)覆蓋所有的Linux系統(tǒng)知識(shí),在未來(lái)對(duì)Linux探索過(guò)程中會(huì)有很大的幫助。
本篇文章繼續(xù)學(xué)習(xí)Linux基礎(chǔ)。
準(zhǔn)備與目標(biāo)
在學(xué)習(xí)這篇文章之前你需要準(zhǔn)備一些工作,因?yàn)槲覀冃枰獓L試動(dòng)手去通過(guò)命令行來(lái)操作Linux服務(wù)器。
- 保證有一個(gè)Linux系統(tǒng)環(huán)境允許你去操作,這里推薦你使用Win10的WSL,可以嘗試最新版本的Ubuntu系統(tǒng)。
- 確保你能夠使用openssh登錄你的Linux環(huán)境,如果你在使用Win10WSL,那么可以通過(guò)Windows PowerShell直接登錄至ubuntu。
- 對(duì)于新手,如果你正常使用公司或者學(xué)校機(jī)房的虛擬設(shè)備,那么最好通過(guò)非root用戶(hù)來(lái)完成這些操作,避免帶來(lái)不必要的麻煩。
都o(jì)k的話(huà)就可以帶上你的終端工具開(kāi)始工作。
導(dǎo)航與探索
最基本的技能是需要掌握文件系統(tǒng)管理以及相關(guān)的操作,圍繞文件管理來(lái)展開(kāi)學(xué)習(xí)討論。
定位pwd
當(dāng)你登錄服務(wù)器工作中時(shí),首先會(huì)進(jìn)入登錄用戶(hù)主目錄,在這個(gè)目錄下,當(dāng)前用戶(hù)擁有絕對(duì)的權(quán)限,包括創(chuàng)建文件夾以及創(chuàng)建文件或者移除文件等,都有完全的控制權(quán)。
可以通過(guò)pwd目錄來(lái)展示你的主目錄,其實(shí)pwd命令是定位器指令,會(huì)告訴你當(dāng)前所處的目錄。
pwd
輸出:
/home/lance
用戶(hù)主目錄是使用用戶(hù)名來(lái)命名的,所以可以看到當(dāng)前登錄用戶(hù)是lance。
查看目錄內(nèi)容ls
pwd可以定位當(dāng)前目錄,下面可以查看目錄下的子目錄以及文件內(nèi)容。
比如我的主目錄下存在以下內(nèi)容:
輸入ls輸出一下內(nèi)容:
go lance輸入ls -l輸出以下內(nèi)容:
total 0drwxr-xr-x 1 lance lance 4096 Aug 23 01:24 godrwxr-xr-x 1 lance lance 4096 Aug 23 11:36 lance第一列描述的是文件類(lèi)型和權(quán)限,d表示當(dāng)前為一個(gè)目錄,如果是-則表示當(dāng)前是一個(gè)文件,l表示一個(gè)鏈接。
rwx表示的文件權(quán)限,分別代表:
- r: 讀權(quán)限
- x: 可執(zhí)行
- w: 寫(xiě)權(quán)限
三組用戶(hù)權(quán)限分別代表文件所有者權(quán)限、組權(quán)限、其他用戶(hù)權(quán)限??梢允褂胏hmod命令來(lái)修改文件權(quán)限。
輸出中還保護(hù)文件條目數(shù)量、修改時(shí)間等信息,這些信息能夠通過(guò)ls命令的-l選項(xiàng)來(lái)輸出。
如果你想查看目錄中所有的文件,包括系統(tǒng)隱藏文件在內(nèi),那么可以通過(guò)-a選項(xiàng)來(lái)控制。
切換文件系統(tǒng)空間cd
在Linux文件系統(tǒng)中,有絕對(duì)路徑和相對(duì)路徑。每個(gè)文件都必須掛在一個(gè)上層目錄之下,一直到一個(gè)根目錄為止,/表示根目錄。絕對(duì)路邊包含了完整的路徑關(guān)系,可以在系統(tǒng)的任何位置來(lái)引用該文件,所以每個(gè)絕對(duì)路徑都必須是以根目錄開(kāi)始的。
/home/lance/go 為一個(gè)絕對(duì)路徑
相對(duì)路徑是指相對(duì)于當(dāng)前所在的目錄而言的,通常用于引用與當(dāng)前目錄較為接近的目錄,只能在當(dāng)前目錄下使用相對(duì)路徑,否則都是不合規(guī)范的。
./go 為一個(gè)相對(duì)目錄,在我們案例中處于/home/lance目錄之下
- 在Linux命令中.表示當(dāng)前目錄,..表示上一層目錄。
查看文件內(nèi)容
在學(xué)習(xí)了一些文件系統(tǒng)導(dǎo)航命令之后,開(kāi)始嘗試討論不同方式去查看文件內(nèi)容。與其他操作系統(tǒng)相比,Linux以及類(lèi)似的Unix系統(tǒng)都依賴(lài)于文本文件。
常用閱讀文本文件的方式是使用less命令,這個(gè)命令支持分頁(yè)控制去查看文本內(nèi)容。該命令會(huì)分頁(yè)給你展示文件內(nèi)容,直到你手動(dòng)退出來(lái)命令輸入符。可以動(dòng)手嘗試使用less命令出查閱某個(gè)文本文件。
輸入:
less /var/log/dpkg.log
輸出:
2020-08-04 21:47:42 startup packages remove2020-08-04 21:47:42 status installed linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 remove linux-virtual:amd64 5.4.0.42.46 2020-08-04 21:47:42 status half-configured linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status half-installed linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status config-files linux-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status not-installed linux-virtual:amd64 2020-08-04 21:47:42 status installed linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 remove linux-headers-virtual:amd64 5.4.0.42.46 2020-08-04 21:47:42 status half-configured linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status half-installed linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status config-files linux-headers-virtual:amd64 5.4.0.42.462020-08-04 21:47:42 status not-installed linux-headers-virtual:amd64 2020-08-04 21:47:42 status installed linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 remove linux-headers-generic:amd64 5.4.0.42.46 2020-08-04 21:47:42 status half-configured linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 status half-installed linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 status config-files linux-headers-generic:amd64 5.4.0.42.462020-08-04 21:47:42 status not-installed linux-headers-generic:amd64 2020-08-04 21:47:42 status installed linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 remove linux-headers-5.4.0-42-generic:amd64 5.4.0-42.46 2020-08-04 21:47:42 status half-configured linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 status half-installed linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 status config-files linux-headers-5.4.0-42-generic:amd64 5.4.0-42.462020-08-04 21:47:42 status not-installed linux-headers-5.4.0-42-generic:amd64 2020-08-04 21:47:42 status installed linux-headers-5.4.0-42:all 5.4.0-42.462020-08-04 21:47:42 remove linux-headers-5.4.0-42:all 5.4.0-42.46 2020-08-04 21:47:42 status half-configured linux-headers-5.4.0-42:all 5.4.0-42.462020-08-04 21:47:42 status half-installed linux-headers-5.4.0-42:all 5.4.0-42.46/var/log/dpkg.log可以通過(guò)鍵盤(pán)快捷鍵來(lái)控制頁(yè)面內(nèi)容滾動(dòng):
- 單行上下滾動(dòng): up/down
- 整屏向下滾動(dòng): 空格鍵/Page Down/CTRL-f
- 整屏向上滾動(dòng): Page Up/CTRL-b
- 在文本內(nèi)容中搜索: /{content},注意搜索功能類(lèi)似vim編輯器,將會(huì)定位在第一個(gè)結(jié)果處,可以通過(guò)N來(lái)實(shí)現(xiàn)下一個(gè)結(jié)果跳躍
- 退出內(nèi)容展示: q
除了less命令以外,Linux系統(tǒng)還內(nèi)置了很多的文本內(nèi)容查看命令:
- head
- cat
- tail
- more
創(chuàng)建文件touch
有很多創(chuàng)建文件的方式,但是最基礎(chǔ)的命令是touch,這個(gè)命令將會(huì)創(chuàng)建一個(gè)空文件在指定目錄。
可以嘗試以下順序執(zhí)行命令:
cd # 進(jìn)入主目錄
toucd test_file.log # 創(chuàng)建文件
ls -l # 列出主目錄文件
輸出:
total 0drwxr-xr-x 1 lance lance 4096 Aug 23 01:24 godrwxr-xr-x 1 lance lance 4096 Aug 23 11:36 lance-rw-r--r-- 1 lance lance 12 Aug 23 23:56 test_file.log- 注意如果使用touch命令創(chuàng)建一個(gè)已存在的文件,則會(huì)接著已存在文件最后的修改數(shù)據(jù)內(nèi)容,不會(huì)發(fā)生任何變化。
創(chuàng)建目錄mkdir
類(lèi)似touch命令,mkdir命令可以創(chuàng)建一個(gè)空的目錄。
使用案例:
mkdir -p test/example
- 注意如果目錄已存在,則不會(huì)再次創(chuàng)建。如果需要循環(huán)創(chuàng)建多級(jí)目錄,則需要-p選項(xiàng)。
移動(dòng)或者重命名文件和目錄mv
通過(guò)使用mv命令移動(dòng)一個(gè)文件去另一個(gè)目錄,同時(shí)可以重命名文件。
- 注意這個(gè)命令是非常重要的,如果你重命名過(guò)程中指定的文件名已存在,則會(huì)覆蓋目標(biāo)目錄中已存在的文件,這個(gè)文件會(huì)被徹底刪除,是無(wú)法恢復(fù)的。
拷貝文件或者目錄cp
mv命令能夠移動(dòng)和重命名文件或者目錄,但是不能復(fù)制文件或者目錄??梢酝ㄟ^(guò)cp命令來(lái)實(shí)現(xiàn)一個(gè)已存在的文件或者目錄拷貝。
Usage: cp [OPTION]... [-T] SOURCE DEST or: cp [OPTION]... SOURCE... DIRECTORY or: cp [OPTION]... -t DIRECTORY SOURCE...cp操作會(huì)同時(shí)保留兩個(gè)文件。
- 注意與mv命令一樣,cp命令也會(huì)覆蓋目標(biāo)目錄已存在文件,如果是目錄已存在,則會(huì)將目錄下內(nèi)容拷貝至目標(biāo)目錄。
- 如果想要拷貝整個(gè)目錄以及目錄全部?jī)?nèi)容,需要通過(guò)-r選項(xiàng)來(lái)實(shí)現(xiàn)。
移除文件和目錄rm和rmdir
刪除文件需要執(zhí)行rm命令。
- rm命令是不能撤銷(xiāo)的動(dòng)作命令,需要防止“刪庫(kù)跑路”類(lèi)似的悲劇發(fā)生。
移除一個(gè)空目錄,我們可以執(zhí)行mvdir命令。這個(gè)操作僅能在目標(biāo)目錄不存在任何內(nèi)容情況才能執(zhí)行成功。
rmdir testing/example
如果需要移除一個(gè)非空目錄,不得不使用rm -r命令,需要-r選項(xiàng)來(lái)配合rm命令,會(huì)遞歸移除目標(biāo)目錄下所有內(nèi)容以及目錄本身。
rm -r testing/example
- 移除命令都是永久性的,一旦執(zhí)行就無(wú)法恢復(fù)。
編輯文件
在學(xué)習(xí)了如何操作文件之后,進(jìn)入學(xué)習(xí)如何編輯文件內(nèi)容階段。
nano命令是一個(gè)最簡(jiǎn)單的Linux文本編輯命令行,適合初學(xué)者。和less查看命令類(lèi)似,在使用期間,nano會(huì)占用整個(gè)終端屏。
nano能夠打開(kāi)一個(gè)已存在的文件,或者創(chuàng)建一個(gè)新文件,只需要將你想編輯的文件或者創(chuàng)建的文件名稱(chēng)作為參數(shù)傳輸給命令。
工作中最為常見(jiàn)文本編輯器還是vi和vim。
小結(jié)
這篇文章之后便學(xué)習(xí)了基礎(chǔ)的文件系統(tǒng)管理與權(quán)限,學(xué)會(huì)如何通過(guò)命令來(lái)操作管理服務(wù)器以及如何編輯文件。
總結(jié)
以上是生活随笔為你收集整理的virtual box一直正在加载文件_Linux基础导航与文件管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php如何检测键盘按键,js键盘事件,判
- 下一篇: python与人工智能应用锁_linux