Linux終端命令快捷鍵匯總
創(chuàng)新互聯(lián)-云計(jì)算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、服務(wù)器托管、等保安全、私有云建設(shè)等企業(yè)級(jí)互聯(lián)網(wǎng)基礎(chǔ)服務(wù),咨詢熱線:18980820575
相信很多Linux桌面用戶都對(duì)使用Linux終端感到反感,其實(shí)它沒大家想的那么復(fù)雜,很多常見操作都可以直接在終端中進(jìn)行。特為大家匯總了提升終端命令執(zhí)行效率的快捷操作,希望能幫助你學(xué)習(xí)和提升效率。
移動(dòng)定位光標(biāo)
在終端中移動(dòng)光標(biāo)和定位似乎非常不便,其實(shí)不是你想的那樣,有很多種方式可以讓鍵盤成為你的好朋友,只是需要掌握正確的方法而已。
定位單詞
在長(zhǎng)段的命令中,使用 Ctrl + ← 和 Ctrl + → 可快速將光標(biāo)定位到命令中單詞的首字母或末尾,實(shí)現(xiàn)在各單詞之間的快速跳動(dòng)定位。
你可以試著在終端中輸入 apt-get install build-essential 命令后,按 Ctrl+ 左鍵或 Ctrl + 右鍵來試試效果。
定位行首和行尾
定位到命令行首可以使用 Ctrl + A,行尾則使用 Ctrl + E 快捷鍵。
清除部分、全部或整行
使用 Ctrl + K 快捷鍵可以將當(dāng)前光標(biāo)位置之后的所有部分快速清除,Ctrl + W 可以清除當(dāng)前光標(biāo)位置之前的一個(gè)單詞,而 Ctrl + U 則可以直接剛整行命令直接清除。
自動(dòng)補(bǔ)全命令或路徑
tab 鍵可以直接補(bǔ)全命令和路徑,讓我們免去很多輸入錯(cuò)誤的可能。當(dāng)然,在命令記不全時(shí),只需輸入幾個(gè)首字母即可用 tab 鍵來補(bǔ),還是十分方便的'。
例如:要在 Ubuntu 安裝軟件,只需輸入 apt-get ins 按 tab 之后即可被補(bǔ)全成 apt-get install。
切換最近使用的命令
在Linux 的終端歷史記錄中會(huì)記下用戶執(zhí)行過的命令,用戶只需按鍵盤的 ↓、↑ 上下箭頭即可快速切換執(zhí)行過的命令。
復(fù)制前行
!! 雙驚嘆號(hào)直接表示上一行命令,例如要用 sudo 重復(fù)執(zhí)行上一條命令,無需再輸一遍,只需執(zhí)行如下命令即可:
1. sudo !!
執(zhí)行指定歷史命令
若你想重復(fù)執(zhí)行的命令不是「上一條」,則不能再使用 !! 了。此時(shí)使用 ! 跟上要重復(fù)執(zhí)行的前述命令開頭即可。
復(fù)制前一個(gè)參數(shù)
將文件夾復(fù)制并粘貼到新路徑后,你可能還要在目錄中進(jìn)行其它操作,此時(shí)可以這樣切換:
1. cd !$
其中的 !$ 表示上次使用的參數(shù),通常只用于目錄。
目錄導(dǎo)航
在Linux 終端中進(jìn)行目錄導(dǎo)航和切換還是使用 cd 命令,下面介紹一些 cd命令的常見操作。
導(dǎo)航到特殊文件夾
在Linux 中操作文件夾時(shí)輸入路徑就是一個(gè)苦差事,但若你是通過桌面登錄系統(tǒng)的話,可以直接將要指定的文件夾拖入終端窗口,而不必手動(dòng)輸入路徑。
回到上級(jí)目錄
與Windows 一樣,使用 cd.. 即可。如果要在父目錄的各文件夾之間進(jìn)行切換,使用 ../文件夾名即可。
回到上個(gè)目錄
如果你操作到一半時(shí),需要返回上個(gè)進(jìn)入過的目錄,可以使用 – 破折號(hào):
1. cd -
其它目錄導(dǎo)航操作
cd 返回家目錄
pwd 查看當(dāng)前目錄
cd / 回到根目錄(需要有權(quán)限)
多任務(wù)
執(zhí)行多條命令
要在 Linux 終端中同時(shí)執(zhí)行多個(gè)任務(wù),只需用 符號(hào)將多條命令串連起來即可,例如:
1. apt-get update apt-get upgrade
命令失敗備用
只會(huì)在前面一條命令執(zhí)行成功時(shí)才會(huì)繼續(xù)執(zhí)行后續(xù)命令,如果你想在首條命令執(zhí)行失敗時(shí)提供備用命令,只需將 替換為 || 即可。
后臺(tái)執(zhí)行任務(wù)
在任意 Linux 命令最后加上 符號(hào)即可將此任務(wù)丟到后臺(tái)去執(zhí)行,比較適合運(yùn)行時(shí)間較長(zhǎng)的任務(wù)。對(duì)于后臺(tái)執(zhí)行的任務(wù)可以使用jobs 命令進(jìn)行顯示查看,也可以用 kill 將其干掉或用fg 命令將其挪到前臺(tái).
;
一、關(guān)機(jī)與重新啟動(dòng)
1)#init 0重啟 #init 6關(guān)機(jī)(改變系統(tǒng)運(yùn)行級(jí)別的方法)
2)#reboot重啟 #halt關(guān)機(jī)(命令法)
3)#showdown -h +5 (5分鐘后關(guān)機(jī)) #showdown -r +5(5分鐘后重啟)
二、常用目錄操作命令
1)顯示文件和目錄:ls -a -l
2) 復(fù)制文件或目錄:cp 源文件 目的文件
3)移動(dòng)文件或目錄:mv 源文件 目的文件
4)顯示文件內(nèi)容:cat 文本文件
5)分頁(yè)顯示文本內(nèi)容:more 文本文件 或less 文本文件
6)顯示文件開頭或結(jié)尾的幾行:head -3 myfile(顯示myfile文件頭3行)。或tail -5 myfile.
7)統(tǒng)計(jì)指定文本文件的行數(shù)、字?jǐn)?shù)、字符數(shù):$wc -l myfile(統(tǒng)計(jì)myfile文件的行數(shù))
8)在文件系統(tǒng)中查找指定的文件:$find -name 'my*'(從當(dāng)前目錄下找以my開頭的文件)
9)從指定的一個(gè)或多個(gè)文本文件中逐行查找指定字符串:
$grep "my*" file1 file2(從文件file1和file2中逐行查找my開頭的字符串)
10)顯示當(dāng)前工作目錄:pwd
11)創(chuàng)建目錄:mkdir mydir1(在當(dāng)前目錄下創(chuàng)建一個(gè)名為mydir1的目錄)
12)刪除目錄:rmdir mydir1(將mydir1目錄刪除)
13)刪除文件:rm my*.*(將my開頭的所有文件都刪除)
三、常用信息顯示命令
1)顯示指定文件相當(dāng)信息:stat myfile
2)顯示在線登錄用戶:who
3)顯示用戶自己身份:whoami
4)顯示主機(jī)名稱:hostname
5)顯示操作系統(tǒng)名稱:uname
6)顯示網(wǎng)絡(luò)接口信息:ifconfig
7)測(cè)試網(wǎng)絡(luò)連通性:ping IP地址
8)顯示網(wǎng)絡(luò)狀態(tài)信息:netstat
9)顯示當(dāng)前用戶ID:id
四、常用備份壓縮命令
1)文件目錄打包:tar -選項(xiàng) 文件
選項(xiàng):-t 列出打包文件的內(nèi)容 -c 創(chuàng)建新文件包 -r追加文檔 -x釋放文件
2)壓縮成gz文件:gzip
3)壓縮成Z文件:compress
4) 壓縮成bz2文件:bzip
五、常用系統(tǒng)管理命令
1)掛裝文件系統(tǒng)。mount -t vfat /dev/sdb1 /mnt/udisk(把U盤掛到/mnt/udisk下。注意相應(yīng)目錄要提前創(chuàng)建)。
2)改變文件或目錄權(quán)限 :chmod +-= 權(quán)限 文件
如: chmod u+x,g+w,o+r myfile
3)改變用戶 : su
4) 顯示系統(tǒng)進(jìn)程:ps
5)停止指定進(jìn)程:kill 進(jìn)程號(hào)
6)rpm
模式:
當(dāng)打開終端,第一行所見的就叫命令行提示符。我的是這樣的:
命令行提示符,顧名思義就是提示在其后面輸入命令。在你輸入新的一行命令前,這個(gè)命令提示符都會(huì)出現(xiàn)。分別解析一下上邊代表什么意思:
oscar 這是當(dāng)前用戶的名字。Linux是一個(gè)多用戶的操作系統(tǒng),Windows也可以。不過Linux的多用戶管理更方便。我們一般建議每個(gè)使用Linux系統(tǒng)的用戶都創(chuàng)建一個(gè)屬于自己的賬戶,便于隱私管理。
@ 這個(gè)符號(hào)我們應(yīng)該不陌生,我們的電子郵件一般都是 name@domain.com 這樣的不是嗎。這個(gè)@就表示英語(yǔ)里的at,是“在...里面,落戶在...的,在其中”的意思。@前面是用戶名,后面是所在的域。
oscar-laptop 這是當(dāng)前電腦/操作系統(tǒng)的名字。上面說了在@后面的是一個(gè)域,所以 oscar@oscar-laptop 就表示oscar-laptop這臺(tái)電腦的oscar這個(gè)用戶。oscar-laptop這個(gè)名稱在安裝此Linux系統(tǒng)時(shí)可以任意指定。
: 這是分隔符,沒有什么特別的涵義。
~ 這是當(dāng)前所在目錄的名字,會(huì)隨著用戶進(jìn)入不同目錄而改變。~表示當(dāng)前用戶的家目錄,有點(diǎn)類似Windows系統(tǒng)的“我的文檔”這個(gè)目錄。
$ 指示你所具有的權(quán)限的字符。在Linux系統(tǒng)中有兩種可能:
因此, oscar@oscar-laptop:~$ 的意思就是:
你目前是以oscar這個(gè)用戶登錄;你的電腦名稱為oscar-laptop;你目前位于 ~ 目錄下,就是你的用戶家目錄。你是普通用戶,擁有有限的權(quán)限。
參數(shù)里可以包含多個(gè)參數(shù),由空格隔開,也可以包含數(shù)字,字母,等等??梢哉f,參數(shù)沒有固定的格式,但是一般來說還是遵循一定的規(guī)范的。
如果我們要一次加好幾個(gè)短參數(shù),可以用空格隔開,例如:
多個(gè)短參數(shù)也可以合并在一起,例如上面的命令等價(jià)于:
請(qǐng)注意:參數(shù)的字母的大小寫是有區(qū)別的,大寫的T和小寫的t通常表示不同意思。
如果有多個(gè)長(zhǎng)參數(shù),是不能像多個(gè)短參數(shù)那樣合并寫的。而是只能以空格隔開,例如:
當(dāng)然我們也可以組合使用短參數(shù)和長(zhǎng)參數(shù),例如:
有時(shí)候,同一個(gè)意義的參數(shù)有短參數(shù)和長(zhǎng)參數(shù)兩種形式,效果是一樣的,可以任選哪一種。
有一些參數(shù)你還需要給它賦一個(gè)值才行。而且短參數(shù)和長(zhǎng)參數(shù)的賦值的方式不盡相同。
例如,短參數(shù)賦值,通常是這樣的:
表示把10賦值給p參數(shù)。
如果是長(zhǎng)參數(shù),則一般是這樣賦值:
長(zhǎng)參數(shù)的方式更加容易理解,但是不如短參數(shù)那么簡(jiǎn)潔。
正如我們說過的,參數(shù)的形式?jīng)]有絕對(duì)的準(zhǔn)則。我們上面給出的規(guī)則是一般的,有些命令的參數(shù)格式可能是我們沒怎么見過的。
有些參數(shù)就不一樣,而且取決于命令。例如對(duì)于 ls 這個(gè)命令,假如后面帶了一個(gè)參數(shù),這個(gè)參數(shù)是一個(gè)目錄的路徑名的話,那么就會(huì)列出此目錄下的文件。
兩種類型的文件
簡(jiǎn)單起見,我們把Linux下的文件分為兩大類:
在一個(gè)文件系統(tǒng)中,我們總有一個(gè)被稱為根目錄的東西,這個(gè)根目錄里包含了所有其他目錄和文件。Linux中有且只有一個(gè)根目錄,就是
是的,就是用一個(gè)斜杠表示。沒有比根目錄再高一階的目錄了,因?yàn)闆]有目錄包含根目錄,根目錄就是Linux最頂層的目錄。
Linux系統(tǒng)安裝后,包含了很多的文件和目錄(雖然其實(shí)都是文件),我們很容易迷失在“茫茫文?!敝小?/p>
當(dāng)然我們不可能一下子列出Linux中的所有文件,那不現(xiàn)實(shí)。但是我們可以向你展示如何在Linux的目錄樹中來回穿梭,你可以知道此刻你位于哪個(gè)目錄下。就好比能看懂Linux這個(gè)很大的“地圖”。
pwd 是英語(yǔ)Print Working Directory的縮寫,表示“打印當(dāng)前工作目錄”。
which 命令:獲取命令的可執(zhí)行文件的位置,which命令用于顯示一個(gè)命令的對(duì)應(yīng)的可執(zhí)行程序的位置。可能聽起來有點(diǎn)拗口。
在Linux下,每一條命令其實(shí)對(duì)應(yīng)了一個(gè)可執(zhí)行程序。我們?cè)诮K端中輸入命令,再按回車的時(shí)候,其實(shí)就是執(zhí)行了對(duì)應(yīng)的那個(gè)程序。比如說,pwd命令對(duì)應(yīng)的pwd程序就是存在于Linux中的。
which命令接受一個(gè)參數(shù),也就是你想要知道其可執(zhí)行程序位于哪里的那個(gè)命令。
我們來測(cè)試一下,就拿pwd命令來測(cè)試好了:
得到:
因此,pwd命令對(duì)應(yīng)的pwd這個(gè)可執(zhí)行程序位于/bin目錄中。
我們也可以注意到Linux中的可執(zhí)行程序和Windows中不太一樣,在Windows中可執(zhí)行程序一般以.exe結(jié)尾,而Linux中一般是沒有后綴名的。
Linux中的可執(zhí)行程序也不是都位于相同目錄的。我們可以來測(cè)試一下which命令本身對(duì)應(yīng)的可執(zhí)行程序位于哪里:
我們可以看到,which命令對(duì)應(yīng)的可執(zhí)行程序which并不位于/bin中,而是在/usr/bin中。
Ubuntu的終端默認(rèn)是有顏色標(biāo)注的,一般來說:
如果在你的終端里沒有標(biāo)明顏色,那么你可以加上參數(shù) --color=auto 來開啟顏色標(biāo)注。如下:
如果你不需要顏色標(biāo)注,那么可以用 --color=none 來關(guān)閉顏色標(biāo)注。如下:
當(dāng)然,為了避免每次都輸入這么一串額外的參數(shù),其實(shí)我們可以在一個(gè)配置文件里修改,使得永久顯示顏色或不顯示顏色。
在Linux,以點(diǎn)( . )開頭的文件是隱藏文件,不過這里不包括開頭的兩個(gè) . 和 .. ,這兩個(gè)的含義如下:
- . (一個(gè)點(diǎn))表示當(dāng)前目錄。在當(dāng)前情況下,就是 /home/oscar 。
- .. (兩個(gè)點(diǎn))表示上一級(jí)目錄。因?yàn)楫?dāng)前目錄是/home/oscar,所以上一級(jí)目錄就是 /home 。
我們有一個(gè)大寫的參數(shù) -A,它的作用和小寫的-a幾乎一樣,唯一不同就是-A不列出 . 和 .. 這兩個(gè)文件。
-l 這個(gè)參數(shù)算是ls命令最常用的了。加上-l參數(shù)使得ls命令列出一個(gè)顯示文件和目錄的詳細(xì)信息的列表。
當(dāng)我們僅用ls -l時(shí),列出的文件詳細(xì)信息中,文件的大小是以字節(jié)為單位的。有時(shí)這不是太直觀。我們可以再加一個(gè)參數(shù)-h,h是humain readable的縮寫,表示“適合人類閱讀的”。所以我們的命令變成了:
t是time的縮寫。
du命令也是很有用的,因?yàn)樗梢宰屛覀冎牢募湍夸浰嫉目臻g大小。
雖然ls -l命令也可以顯示文件和目錄的大小,但是du命令統(tǒng)計(jì)的才是真正的文件大小。du命令會(huì)深入遍歷每個(gè)目錄的子目錄,把所有文件的大小都做一個(gè)統(tǒng)計(jì)。
du是英語(yǔ)disk usage的縮寫,表示“磁盤使用/占用”。
我們的du命令也可以使用參數(shù)。
cat命令和less命令:顯示文件內(nèi)容,這兩個(gè)命令只能顯示文件內(nèi)容,并不能對(duì)文件內(nèi)容進(jìn)行修改。
一次性顯示文件的所有內(nèi)容,如果你想要在顯示的文件內(nèi)容上加上行號(hào),那么你可以加上 -n 這個(gè)參數(shù)。
分頁(yè)顯示文件內(nèi)容
head命令和tail命令:顯示文件的開頭和結(jié)尾。
顯示文件開頭,默認(rèn)情況下,head會(huì)顯示文件的頭10行。我們也可以指定顯示的行數(shù),用 -n 這個(gè)參數(shù):
就會(huì)顯示文件的頭5行。
顯示文件結(jié)尾。默認(rèn)情況下,tail會(huì)顯示文件的尾10行。
我們也可以指定顯示的行數(shù),用 -n 這個(gè)參數(shù):
就會(huì)顯示文件的尾5行。
tail命令還可以配合 -f 參數(shù)來實(shí)時(shí)追蹤文件的更新:
這樣,就會(huì)檢查文件是否有追加內(nèi)容,如果有,就顯示新增內(nèi)容。
默認(rèn)地,tail -f會(huì)每過1秒檢查一下文件是否有新內(nèi)容。你也可以指定間隔檢查的秒數(shù),用 -s 參數(shù):
可以用快捷鍵 Ctrl + c 來終止tail -f 命令。
touch命令和mkdir命令:創(chuàng)建文件和目錄
創(chuàng)建一個(gè)空白文件。事實(shí)上,Linux沒有一個(gè)命令是專門用來創(chuàng)建一個(gè)空白文件的。touch命令其實(shí)一開始的設(shè)計(jì)初衷是修改文件的時(shí)間戳,就是可以修改文件的創(chuàng)建時(shí)間或修改時(shí)間,讓電腦以為文件是在那個(gè)時(shí)候被修改或創(chuàng)建的。但是touch命令如果后面跟著的文件名是不存在的,那么它就會(huì)新建一個(gè)。
事實(shí)上,我們可以用touch命令同時(shí)創(chuàng)建多個(gè)文件:
如果我所要?jiǎng)?chuàng)建的文件的名字里有空格怎么辦呢?
很簡(jiǎn)單,加上雙引號(hào):
創(chuàng)建一個(gè)目錄。
mkdir也可以同時(shí)創(chuàng)建好幾個(gè)目錄:
如果我所要?jiǎng)?chuàng)建的目錄的名字里有空格怎么辦呢?
很簡(jiǎn)單,加上雙引號(hào):
我們還可以用 -p 參數(shù)來遞歸創(chuàng)建目錄結(jié)構(gòu)。
比如:
cp命令和mv命令:拷貝文件和移動(dòng)文件
拷貝文件或目錄
cp是英語(yǔ)copy的縮寫,表示“拷貝”。所以,顧名思義,此命令用于拷貝。cp命令不僅可以拷貝單個(gè)文件,還可以拷貝多個(gè)文件,也可以拷貝目錄。
復(fù)制文件到另一個(gè)目錄只需要把cp命令的第二個(gè)參數(shù)換成目錄名。
拷貝目錄
要拷貝目錄,只要在cp命令之后加上-R參數(shù)(注意是大寫的R)??截惖臅r(shí)候,目錄中的所有內(nèi)容(子目錄和文件)都會(huì)被拷貝。
使用通配符*
*號(hào)(星號(hào))是很常用的正則表達(dá)式的符號(hào),被稱為“通配符”,
所以如果我們用如下命令:
那么就會(huì)把當(dāng)前目錄下所有txt文件拷貝到folder這個(gè)子目錄當(dāng)中。
又如:
那么就會(huì)把當(dāng)前目錄下凡是以ha開頭的文件都拷貝到folder目錄中。
移動(dòng)文件
mv是英語(yǔ)move的縮寫,表示“移動(dòng)”。mv命令有兩個(gè)功能:
用mv命令來移動(dòng)目錄很簡(jiǎn)單,不需要額外的參數(shù),就跟移動(dòng)文件一樣:
當(dāng)然,我們也可以使用通配符。
除了移動(dòng)文件,mv命令還可以用于重命名文件。
事實(shí)上,Linux中沒有一個(gè)專門的命令用于重命名文件。之所以mv命令可以重命名文件,其實(shí)還是歸因于它的機(jī)制:移動(dòng)文件。經(jīng)過mv移動(dòng)之后,原始文件變成了新的名字的文件,文件內(nèi)容是不變的,這不就相當(dāng)于重命名了嗎?
以上命令會(huì)將new_file重命名為renamed_file。
刪除文件和目錄
rm命令可以刪除一個(gè)文件,多個(gè)文件,目錄,甚至你的整個(gè)Linux系統(tǒng)(如果你愿意的話)。
以上命令刪除當(dāng)前目錄下的new_file_copy這個(gè)文件。
我們也可以同時(shí)刪除多個(gè)文件,只要用空格隔開每個(gè)文件即可。例如:
保險(xiǎn)起見,用rm命令刪除文件時(shí),可以加上 -i 參數(shù),這樣對(duì)于每一個(gè)要?jiǎng)h除的文件,終端都會(huì)詢問我們是否確定刪除。i是英語(yǔ)inform的縮寫,表示“告知,通知”。
有兩種回答:
y:是英語(yǔ)yes的縮寫,表示“是”。那么回車確認(rèn)后,文件就刪除了。
n:是英語(yǔ)no的縮寫,表示“否”。那么回車確認(rèn)后,文件不會(huì)刪除。
如果在rm命令后加上-f參數(shù),那么終端不會(huì)詢問用戶是否確定刪除文件,不論如何,文件會(huì)立刻被強(qiáng)制刪除。
f是英語(yǔ)force的縮寫。
以上命令會(huì)強(qiáng)制刪除file文件。
r是英語(yǔ)recursive的縮寫,表示“遞歸的”。所以使用-r參數(shù),可以使rm命令刪除目錄,并且遞歸刪除其包含的子目錄和文件。
這個(gè)命令也挺危險(xiǎn)的,用得不好可能你的子目錄和文件都沒了。
以上命令會(huì)刪除one這個(gè)目錄,包括其子目錄和文件。
其實(shí),也存在一個(gè)命令
看著和 rm -r 挺像的。但是這個(gè)命令有個(gè)局限性:只能刪除空的目錄。
創(chuàng)建鏈接
事實(shí)上,Linux下有兩種鏈接類型:
為了區(qū)分這兩種鏈接類型的不同,我們首先來談一談如Linux這樣的操作系統(tǒng)中文件在硬盤上的存放。
文件在硬盤上存儲(chǔ)時(shí),大致來說(請(qǐng)注意我用了“大致來說”),每個(gè)文件有兩部分:
文件名的列表是儲(chǔ)存在硬盤的其他地方的,和文件內(nèi)容分開存放,這樣方便Linux管理。
注意:為什么我上面要用“大致說來”呢?因?yàn)榇颂幬覀兒?jiǎn)化了描述,其實(shí)每個(gè)文件有三部分:
我們這里簡(jiǎn)化地將文件分為兩部分:文件名和文件內(nèi)容。因?yàn)槲覀儾幌氚咽虑閺?fù)雜化,我們想要理解兩種鏈接類型的區(qū)別,暫時(shí)只要知道這些就夠了。
每個(gè)文件的文件內(nèi)容被分配到一個(gè)標(biāo)示號(hào)碼,就是inode。因此每個(gè)文件名都綁定到它的文件內(nèi)容(用inode標(biāo)識(shí))。原理如下圖:
下面我們學(xué)習(xí)如何創(chuàng)建硬鏈接和軟連接。
比之軟鏈接,硬鏈接的使用幾率小很多。但是我們還是要學(xué)習(xí)一下,畢竟可能會(huì)用到。
硬鏈接的原理:使鏈接的兩個(gè)文件共享同樣的文件內(nèi)容,也就是同樣的inode。
所以一旦文件1和文件2之間有了硬鏈接,那么你修改文件1或文件2,其實(shí)修改的是相同的一塊內(nèi)容。只不過我們可以用兩個(gè)文件名來取到文件內(nèi)容。
硬鏈接有一個(gè)缺陷:只能創(chuàng)建指向文件的硬鏈接,不能創(chuàng)建指向目錄的硬鏈接。但是軟鏈接可以指向文件或目錄。當(dāng)然了,事實(shí)上,通過一些參數(shù)的修改,也可以創(chuàng)建指向目錄的硬鏈接,但是比較復(fù)雜,這里不再詳述。所以對(duì)于目錄的鏈接,我們一般都是用軟鏈接。
硬鏈接原理圖:
要?jiǎng)?chuàng)建硬鏈接,直接用ln命令,不加任何參數(shù):
我們可以用ls -i命令查看一下(-i參數(shù)可以顯示文件的inode)。對(duì)于硬鏈接來說,刪除任意一方的文件,共同指向的文件內(nèi)容并不會(huì)從硬盤上被刪除。
我們用ls -l命令查看文件信息的時(shí)候,第二列的那個(gè)2,其實(shí)是表示擁有相同inode號(hào)的文件數(shù)。不難理解,因?yàn)樗鼈冎赶蛳嗤奈募?nèi)容,所以共享一個(gè)inode。
這個(gè)第二列的數(shù)字,一般來說對(duì)于普通文件,都是1,因?yàn)椴煌募node不同嘛。對(duì)于目錄來說,這第二列的數(shù)字標(biāo)明目錄內(nèi)所含文件數(shù)目。
其實(shí),軟鏈接才是真正像我們?cè)赪indows下的快捷方式的,其原理很相似。
創(chuàng)建硬鏈接是ln不帶任何參數(shù),但是要?jiǎng)?chuàng)建軟鏈接需要加上-s參數(shù)。s是symbolic(符號(hào)的)的縮寫。
file2指向的不再是file1的文件內(nèi)容(和硬鏈接不同),而是指向file1的文件名。
軟鏈接原理圖:
用ls -l命令查看一下,會(huì)發(fā)現(xiàn)形式和之前的硬鏈接不一樣噢,file2的信息是這樣的: file2-file1,表示file2指向file1。
而且file2前面的權(quán)限那里的第一個(gè)字母變成了l,表示link(鏈接)。之前硬鏈接的時(shí)候是沒有l(wèi)的,硬鏈接外表看起來就和普通文件類似。
我們用ls -l命令查看文件信息的時(shí)候,第二列的那個(gè)1,表示擁有相同inode號(hào)的文件數(shù)。不難理解,因?yàn)閒ile2指向file1,它們并沒有指向同一塊文件內(nèi)容,所以它們的inode號(hào)不相同。
軟鏈接的特點(diǎn):
職場(chǎng)中,大部分都是通過 SSH客戶端 遠(yuǎn)程操作,實(shí)現(xiàn)磁盤讀取,文件讀取,目錄操作,進(jìn)程管理等等
打開終端3種方式,收藏夾黑色屏幕圖標(biāo)點(diǎn)擊,右鍵打開終端,Ctrl+Alt+t組合鍵
command ?[-options] [parameters] ?
command即終端命令,options為選項(xiàng)一般前面有橫杠,后面是參數(shù),選項(xiàng)和參數(shù)有中括號(hào)表示可選項(xiàng)
man command (man表示手冊(cè)縮寫,查看命令幫助文檔)出現(xiàn)文檔,按回車下滾一行,按空格(或f)下翻一頁(yè),按b上翻一頁(yè),輸入橫杠加上對(duì)應(yīng)的option可實(shí)現(xiàn)對(duì)應(yīng)部分高亮
command --help也可以實(shí)現(xiàn)幫助文檔,頁(yè)面和上面不太一樣,部分還出現(xiàn)了中文
pwd 命令 顯示當(dāng)前路徑
tree [path] 命令(默認(rèn)沒有,需要安裝,sudo apt install tree)可以將你當(dāng)前(或指定)路徑下的文件以樹狀遍歷(所有文件,遞歸)顯示出來
ls 命令 以列表顯示當(dāng)前目錄文件,(不再深層挖掘)ls顯示出來白色是文件,藍(lán)色是文件夾,綠色是可執(zhí)行文件,紅色一般是壓縮包
ls -a 顯示所有的文件包括隱藏文件,顯示結(jié)果以. 點(diǎn)開頭的就是隱藏文件
ls -l 用較長(zhǎng)方式顯示文件?
前面10個(gè)字母(分成第一個(gè)和后9個(gè),第一個(gè)橫杠表示一個(gè)文件,d表示一個(gè)目錄,l表示是個(gè)鏈接(類似快捷方式),后九個(gè),rwx表示跟讀寫等操作有關(guān),后面講),硬鏈接數(shù),文件所屬用戶(第一個(gè)demo),文件所屬組(第二個(gè)demo),文件大?。˙為單位),最后修改時(shí)間,文件
ls -h以人性化顯示文件(一般和-l一起),可看出加了-h后,文件顯示的單位方便閱讀
cd 可以跟相對(duì)路徑和絕對(duì)路徑,路徑大小寫敏感
當(dāng)前路徑用“.”表示,上級(jí)路徑“..”
cd 什么都不加或者cd ~可以直接回家目錄/home
cd /去根目錄
cd -返回上次的目錄
mkdir創(chuàng)建目錄?
mkdir 目錄名 ? 不可以一次創(chuàng)建多級(jí)目錄(文件夾不存在情況下如mkdir a/b/c,a,b都不存在情況下,創(chuàng)建不了)
如果我們就是想創(chuàng)建多級(jí)目錄呢,使用遞歸創(chuàng)建目錄,會(huì)把沒有的目錄創(chuàng)建出來
mkdir a/b/c -p
touch創(chuàng)建文件
touch +文件名(建議加后綴名),可以一次創(chuàng)建多個(gè)文件用空格隔開
touch a.txt
touch a.txt b.txt
gedit打開文件
gedit 文件相對(duì)路徑或絕對(duì)路徑,(如果未成功打開需要加上sudo gedit)
同上個(gè)命令可以同時(shí)打開多個(gè),打開的編輯器編輯內(nèi)容點(diǎn)擊保存完成文件編輯
打開文件后終端進(jìn)入等待狀態(tài)
rm刪除文件和文件夾
文件刪除不能恢復(fù)
rm -i 文件 ? ? ? 這種會(huì)出現(xiàn)是否提示,給自己個(gè)提醒機(jī)會(huì)(centos沒有-i就有提示)
rm -f 文件 ? 強(qiáng)制刪除(不提示,和上個(gè)相反)
rm -r 目錄 ? 刪除目錄(多級(jí)遞歸刪除)
cp拷貝文件和文件夾
cp a.txt b.txt 當(dāng)前路徑下的a.txt拷貝一個(gè)b.txt到當(dāng)前路徑,如果已經(jīng)存在b.txt直接覆蓋掉
加上-i模式可以給與提示(不是同名文件不會(huì)出現(xiàn))
-f 強(qiáng)制復(fù)制不提示
-v 顯示一行拷貝的過程
如果是復(fù)制文件夾要加上 -r 遞歸拷貝
-a 把文件或文件夾(是遞歸拷貝)的權(quán)限也一起復(fù)制過去
mv移動(dòng)文件文件夾,重命名
mv 原路徑 目標(biāo)路徑
如果存在同名文件,默認(rèn)會(huì)覆蓋,還是加-i提示,如果選擇n,不會(huì)移動(dòng)成功
-f 強(qiáng)制移動(dòng)不提示
-v 顯示移動(dòng)過程
移動(dòng)文件夾不用加-r(刪除和拷貝不一樣)
clear 清除終端顯示內(nèi)容(類似DOS cls)快捷鍵,Ctrl+L
實(shí)際效果只是往下滾動(dòng),當(dāng)前輸入為第一行,拖動(dòng)滾動(dòng)條還是能看見之前的內(nèi)容= =
tab 自動(dòng)補(bǔ)全(有時(shí)多個(gè)可能要再按下tab出現(xiàn)候選提示)
which 查看命令位置
光標(biāo)↑↓ 查看翻查之前調(diào)用過的命令
Ctrl+C 終止程序運(yùn)行
終端字體大小調(diào)整Ctrl Shift +(放大)
Ctrl - (縮小,注意無shift)
cal顯示日歷,當(dāng)日高亮
cal -3顯示當(dāng)前月及上下月的日歷(沒有-別的數(shù)字)
cal -y 顯示一年的日歷
cal -j 日歷顯示是當(dāng)年第幾天
cal 年份4位數(shù)(獲得年份日歷)
date顯示日期
date 加雙引號(hào)字符串格式化顯示,注意對(duì)應(yīng)大小寫
%F,%T同樣實(shí)現(xiàn)類似效果,分別格式化日期和時(shí)間
history 獲得所有的歷史指令
history 數(shù)字 顯示最近的數(shù)字條指令
如果我看到對(duì)應(yīng)指令,然后根據(jù)指令編號(hào),直接輸入
! 指令編號(hào) ? ? 即可執(zhí)行對(duì)應(yīng)指令,這些歷史指令都存在于家目錄隱藏文件 .bash_history 中
cat 直接在命令行顯示文件內(nèi)容,和gedit不一樣
-n 查看文件同時(shí)顯示行號(hào)
-b 文件空行不編號(hào),但是給空出位置,顯示非空行編號(hào)
-s 兩行以上的空行只顯示一行(可以和前面的組合 -sb ? )
同時(shí)打開多個(gè)文件效果
more
more 文件路徑 ?
分屏查看,會(huì)顯示已經(jīng)顯示部分的百分比,
按回車滾一行,
按空格 ?或 ?Ctrl+F或F向下翻一屏,
Ctrl+B或B回滾一屏
q退出
more +num 表示從第num行開始查看,文件默認(rèn)第一行為1
-p 選項(xiàng) 清屏 置頂顯示內(nèi)容
-s 連續(xù)2行以上的空行顯示一個(gè)空行
more 也可以加多個(gè)文件,顯示不同文件有專門的分割,這是與cat的區(qū)別
分享題目:linux終端文件命令 linux的終端命令
新聞來源:http://aaarwkj.com/article36/doodjsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站營(yíng)銷、網(wǎng)站收錄、建站公司、企業(yè)建站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)