linux創(chuàng)建終端命令,linux終端操作

Linux終端命令神器--Screen命令

screen的功能大體有三個(gè):

作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。成都創(chuàng)新互聯(lián)公司提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運(yùn)營等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡(luò)營銷方法,創(chuàng)造更大的價(jià)值。

會(huì)話恢復(fù): 只要Screen本身沒有終止,在其內(nèi)部運(yùn)行的會(huì)話都可以恢復(fù)。

多窗口:在Screen環(huán)境下, 所有的會(huì)話都獨(dú)立的運(yùn)行,并擁有各自的編號(hào)、輸入、輸出和窗口緩存。

會(huì)話共享:Screen可以讓一個(gè)或多個(gè)用戶從不同終端多次登錄一個(gè)會(huì)話,并共享會(huì)話的所有特性。

安裝screen:

# CentOS

yum install screen

# Debian/Ubuntu

apt install screen

Attached :表示當(dāng)前screen正在作為主終端使用,為活躍狀態(tài)。

Detached :表示當(dāng)前screen正在后臺(tái)使用,為非激發(fā)狀態(tài)。

# 查看已存在終端

screen -ls

# 創(chuàng)建一個(gè)叫Hello的虛擬終端

screen -S Hello

# 進(jìn)入虛擬終端32307

screen -r 32307

There is no screen to be resumed matching錯(cuò)誤解決辦法

1.在使用screen -r ******(id)重新連接程序界面時(shí)出現(xiàn)以下問題:

后來發(fā)現(xiàn)是因?yàn)橥蝗粩嗑W(wǎng),雖然重新連接,但之前的screen還是處于打開狀態(tài)(1個(gè)screen無法同時(shí)打開2次),所以無法重新打開screen,解決方法如下:

2.首先使用screen -d *****(id),先退出,然后再使用 screen -r *****(id)重新連接

Linux打開終端的命令是什么

1、在Linux的首頁使用Ctrl+alt+T,打開終端。

2、Linux支持多終端,可以再使用Ctrl+alt+T命令打開多個(gè)終端。

3、通過“search your computer”功能搜索,terminal。

4、輸入“ter”,可以看到,terminal終端出現(xiàn)了,單擊打開。

5、可以鼠標(biāo)左鍵terminal,把他拖到到“search your computer”的下面,然后右鍵固定到“啟動(dòng)欄”中,就類似Windows的“鎖定到任務(wù)欄” 這樣就方便下次直接使用。

2 Linux終端命令

職場中,大部分都是通過 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)下翻一頁,按b上翻一頁,輸入橫杠加上對(duì)應(yīng)的option可實(shí)現(xiàn)對(duì)應(yīng)部分高亮

command --help也可以實(shí)現(xiàn)幫助文檔,頁面和上面不太一樣,部分還出現(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 用較長方式顯示文件?

前面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 從 0 到 1(一) - 終端簡介,文件與目錄以及相關(guān)操作,常用命令

模式:

當(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è)@就表示英語里的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è)長參數(shù),是不能像多個(gè)短參數(shù)那樣合并寫的。而是只能以空格隔開,例如:

當(dāng)然我們也可以組合使用短參數(shù)和長參數(shù),例如:

有時(shí)候,同一個(gè)意義的參數(shù)有短參數(shù)和長參數(shù)兩種形式,效果是一樣的,可以任選哪一種。

有一些參數(shù)你還需要給它賦一個(gè)值才行。而且短參數(shù)和長參數(shù)的賦值的方式不盡相同。

例如,短參數(shù)賦值,通常是這樣的:

表示把10賦值給p參數(shù)。

如果是長參數(shù),則一般是這樣賦值:

長參數(shù)的方式更加容易理解,但是不如短參數(shù)那么簡潔。

正如我們說過的,參數(shù)的形式?jīng)]有絕對(duì)的準(zhǔn)則。我們上面給出的規(guī)則是一般的,有些命令的參數(shù)格式可能是我們沒怎么見過的。

有些參數(shù)就不一樣,而且取決于命令。例如對(duì)于 ls 這個(gè)命令,假如后面帶了一個(gè)參數(shù),這個(gè)參數(shù)是一個(gè)目錄的路徑名的話,那么就會(huì)列出此目錄下的文件。

兩種類型的文件

簡單起見,我們把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 是英語Print Working Directory的縮寫,表示“打印當(dāng)前工作目錄”。

which 命令:獲取命令的可執(zhí)行文件的位置,which命令用于顯示一個(gè)命令的對(duì)應(yīng)的可執(zhí)行程序的位置??赡苈犉饋碛悬c(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è)命令。

我們來測試一下,就拿pwd命令來測試好了:

得到:

因此,pwd命令對(duì)應(yīng)的pwd這個(gè)可執(zhí)行程序位于/bin目錄中。

我們也可以注意到Linux中的可執(zhí)行程序和Windows中不太一樣,在Windows中可執(zhí)行程序一般以.exe結(jié)尾,而Linux中一般是沒有后綴名的。

Linux中的可執(zhí)行程序也不是都位于相同目錄的。我們可以來測試一下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是英語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ù)。

分頁顯示文件內(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)建的文件的名字里有空格怎么辦呢?

很簡單,加上雙引號(hào):

創(chuàng)建一個(gè)目錄。

mkdir也可以同時(shí)創(chuàng)建好幾個(gè)目錄:

如果我所要?jiǎng)?chuàng)建的目錄的名字里有空格怎么辦呢?

很簡單,加上雙引號(hào):

我們還可以用 -p 參數(shù)來遞歸創(chuàng)建目錄結(jié)構(gòu)。

比如:

cp命令和mv命令:拷貝文件和移動(dòng)文件

拷貝文件或目錄

cp是英語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是英語move的縮寫,表示“移動(dòng)”。mv命令有兩個(gè)功能:

用mv命令來移動(dòng)目錄很簡單,不需要額外的參數(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是英語inform的縮寫,表示“告知,通知”。

有兩種回答:

y:是英語yes的縮寫,表示“是”。那么回車確認(rèn)后,文件就刪除了。

n:是英語no的縮寫,表示“否”。那么回車確認(rèn)后,文件不會(huì)刪除。

如果在rm命令后加上-f參數(shù),那么終端不會(huì)詢問用戶是否確定刪除文件,不論如何,文件會(huì)立刻被強(qiáng)制刪除。

f是英語force的縮寫。

以上命令會(huì)強(qiáng)制刪除file文件。

r是英語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)榇颂幬覀兒喕嗣枋?,其?shí)每個(gè)文件有三部分:

我們這里簡化地將文件分為兩部分:文件名和文件內(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):

Linux打開終端的命令是什么?

Linux常用的有3中進(jìn)入終端界面方法,分別如下:

1、按快捷鍵“Ctrl+Alt+T”即可打開終端窗口

2、或者按“Ctrl+Alt+F1-F6”均可進(jìn)入終端(模擬終端,不顯示桌面)

3、直接搜索“終端”并進(jìn)入

注意事項(xiàng):

如果采用方法2的F1-F6的方法,返回圖形界面只要按“Ctrl+Alt+F7即可”。

新聞標(biāo)題:linux創(chuàng)建終端命令,linux終端操作
文章出自:http://muchs.cn/article20/hcggjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)、軟件開發(fā)、微信小程序、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營