国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用

這篇具有很好參考價值的文章主要介紹了【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
??你好,我是 RO-BERRY
?? 致力于C、C++、數(shù)據(jù)結(jié)構(gòu)、TCP/IP、數(shù)據(jù)庫等等一系列知識
??感謝你的陪伴與支持 ,故事既有了開頭,就要畫上一個完美的句號,讓我們一起加油

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器



1.理解軟硬鏈接

軟鏈接和硬鏈接是在Linux系統(tǒng)中常見的文件鏈接方式。

軟鏈接(Symbolic Link): 軟鏈接是一個指向目標文件或目錄的特殊文件,類似于Windows系統(tǒng)中的快捷方式。軟鏈接可以跨文件系統(tǒng),可以鏈接到目錄,也可以鏈接到文件。軟鏈接的特點是:

  1. 軟鏈接文件有自己的inode和文件名,但是數(shù)據(jù)塊內(nèi)容是指向目標文件的路徑。
  2. 刪除軟鏈接不會影響目標文件。
  3. 軟鏈接可以跨文件系統(tǒng),即可以鏈接到不同的磁盤分區(qū)。

硬鏈接(Hard Link): 硬鏈接是指多個文件名指向同一個inode,它們共享同一份數(shù)據(jù)塊內(nèi)容。硬鏈接的特點是:

  1. 硬鏈接文件和目標文件具有相同的inode和數(shù)據(jù)塊內(nèi)容。
  2. 刪除任意一個硬鏈接文件不會影響其他硬鏈接文件和目標文件。
  3. 硬鏈接只能鏈接到文件,不能鏈接到目錄。
  4. 硬鏈接不能跨文件系統(tǒng),即只能在同一個磁盤分區(qū)內(nèi)創(chuàng)建。

1.1 操作觀察現(xiàn)象


指令ln -s

ln -s是Linux系統(tǒng)中的一個命令,用于創(chuàng)建軟鏈接(symbolic link)。軟鏈接是一種特殊的文件,它指向另一個文件或目錄。通過軟鏈接,可以在不改變原始文件或目錄位置的情況下,創(chuàng)建一個指向它的鏈接。

使用ln -s命令創(chuàng)建軟鏈接的語法如下:

ln -s <原始文件或目錄路徑> <鏈接文件路徑>

  • 其中,<原始文件或目錄路徑>是要創(chuàng)建鏈接的文件或目錄的路徑,<鏈接文件路徑>是要創(chuàng)建的軟鏈接的路徑。
    例如,假設(shè)當前目錄下有一個文件file.txt,我們可以使用以下命令創(chuàng)建一個指向它的軟鏈接:
    ln -s file.txt link.txt
    這樣就創(chuàng)建了一個名為link.txt的軟鏈接,它指向file.txt文件。

需要注意的是,軟鏈接是一個指向原始文件或目錄的引用,而不是實際的文件或目錄本身。刪除軟鏈接不會影響原始文件或目錄,但刪除原始文件或目錄可能會導(dǎo)致軟鏈接失效。


指令ll -li

ll -li是一個Linux命令,用于顯示文件或目錄的詳細信息,并以inode號進行排序。下面是該命令的一些說明:

  • ll是 “l(fā)s -l” 的簡寫,用于顯示文件和目錄的詳細信息。
  • -li是兩個選項的組合,其中 -l表示以長格式顯示文件信息,包括文件權(quán)限、所有者、大小、修改日期等;而 -i表示顯示文件的inode號。

通過執(zhí)行 ll -li 命令,您將看到當前目錄下所有文件和目錄的詳細信息,并按照inode號進行排序。


軟鏈接

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器結(jié)論:軟鏈接本質(zhì)上就是一個文件,有獨立的inode


指令ln

在Linux系統(tǒng)中創(chuàng)建文件硬鏈接,可以通過ln命令來創(chuàng)建硬鏈接。ln命令的語法如下:

ln [選項] <源文件或目錄> <目標文件或目錄>

其中,源文件或目錄是要創(chuàng)建鏈接的文件或目錄的路徑,目標文件或目錄是要創(chuàng)建的鏈接的路徑。

創(chuàng)建硬鏈接的命令格式為:

ln <源文件> <目標文件>

例如,要在當前目錄下創(chuàng)建一個名為linkfile的硬鏈接,指向源文件sourcefile,可以使用以下命令:
ln sourcefile linkfile

注意,硬鏈接只能鏈接到同一個文件系統(tǒng)中的文件,且不能鏈接到目錄。


硬鏈接

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

我們創(chuàng)建了硬鏈接之后可以發(fā)現(xiàn)。前面的文件信息發(fā)生了一個微小的變化,也就是文件權(quán)限后面的數(shù)字由1變成了2,而硬鏈接新出現(xiàn)的文件其初始數(shù)字就是2,這個數(shù)字從來沒有講述過

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

我們查看一下inode也可以發(fā)現(xiàn),新出現(xiàn)的文件與舊文件inode竟然是一樣的!

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
結(jié)論:硬鏈接本質(zhì)不是一個獨立的文件,因為它的inode編號和目標文件相同


1.2 軟硬鏈接的原理

測試硬鏈接

  • 我們將硬鏈接的目標文件寫入點數(shù)據(jù)
    【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

可以看到我們修改目標文件的同時,硬鏈接生成的文件也會發(fā)生變化,其大小與目標文件同樣是12,且修改時間相同,inode也沒有改變

  • 我們刪除目標文件
    【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

可以看到,我們的硬鏈接產(chǎn)生的文件并沒有什么變化,我們查看其文件數(shù)據(jù)可以清楚的看到,這個數(shù)據(jù)就是我們當初輸入到目標文件的數(shù)據(jù),這是什么情況?

其實也可以理解,其inode和目標文件是一摸一樣的,也就是說他們對應(yīng)的都是同一個文件,我們硬鏈接的工作特別像給目標文件進行一個重命名,并且源文件不改變。

硬鏈接的本質(zhì):一定沒有新建文件,因為沒有新的inode,只是新建了一個文件名,與目標文件inode相同的映射關(guān)系。


這個時候我們再看當初的這個2
【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

其實這就是一個硬鏈接數(shù),表明有多少個硬鏈接,表明了有多少個文件名與這一塊數(shù)據(jù)有相同的映射關(guān)系,同時也叫引用計數(shù)

同時可以看到,硬鏈接就是建立了一個映射關(guān)系同時對引用計數(shù)++即可。

我們刪掉文件后可以看到,引用計數(shù)從2變成了1
【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器


測試軟鏈接

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
軟鏈接創(chuàng)建的文件有獨立的inode,有獨立的inode那么就有獨立的屬性以及獨立的數(shù)據(jù)內(nèi)容。

軟鏈接本質(zhì)就是一個獨立文件,軟鏈接內(nèi)容里面放的目標文件的路徑!

軟鏈接就相當于我們Windows里面的快捷方式,其存儲的就是其可執(zhí)行程序的路徑

1.3 軟硬鏈接的應(yīng)用場景

1.3.1軟鏈接

  • 我們創(chuàng)建一系列文件并輸入內(nèi)容給test.c

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

#include<stdio.h>
int main()
{
  printf("hello world\n");
  return 0;
}
  • 將文件編譯,并把可執(zhí)行文件移動到bin目錄下

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

  • 我們想訪問這個可執(zhí)行文件就只能訪問絕對路徑訪問

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

  • 我們還可以采用軟鏈接的方式訪問到這個可執(zhí)行文件

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
我們就可以使用軟鏈接的方式,在當前目錄創(chuàng)建一個軟鏈接的文件,這樣就可以直接訪問到深路徑的文件,我們使用起來就更加方便


我們也可以采用硬鏈接的方式來達到訪問深路徑的文件
【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

軟鏈接使用起來還是更加方便一些,一般推薦軟鏈接


系統(tǒng)有很多的軟鏈接

ls -l /lib64/

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器


1.3.2 硬鏈接

  • 我們創(chuàng)建一個普通文件以及一個目錄
    【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

可以發(fā)現(xiàn)普通文件的硬鏈接數(shù)是1,而目錄一創(chuàng)建出來硬鏈接數(shù)就是2。

  • 我們進入empty目錄下

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

我們可以看到empty目錄下有隱藏的點文件,我們之前講過,這個就是指的當前目錄,它的inode與empty目錄的inode是一模一樣的,而它就是除了empty外另一個硬鏈接。

  • 我們進入empty目錄下再創(chuàng)建一個a目錄

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

這里可以看到我們的empty目錄的硬鏈接數(shù)變成了3,這就是因為我們empty目錄里的a目錄里有一個自帶的點點文件,這代表的是上級目錄,它就是第三個empty目錄的硬鏈接

由此得知:一個目錄下有多少個子目錄:硬鏈接數(shù)-2即可計算得到

注意:Linux中不允許給目錄建立硬鏈接,但是可以建立軟鏈接


2.動靜態(tài)庫

  • 靜態(tài)庫(.a):程序在編譯鏈接的時候把庫的代碼鏈接到可執(zhí)行文件中。程序運行的時候?qū)⒉辉傩枰o態(tài)庫

  • 動態(tài)庫(.so):程序在運行的時候才去鏈接動態(tài)庫的代碼,多個程序共享使用庫的代碼。

  • 一個與動態(tài)庫鏈接的可執(zhí)行文件僅僅包含它用到的函數(shù)入口地址的一個表,而不是外部函數(shù)所在目標文件的整個機器碼

  • 在可執(zhí)行文件開始運行以前,外部函數(shù)的機器碼由操作系統(tǒng)從磁盤上的該動態(tài)庫中復(fù)制到內(nèi)存中,這個過程稱為動態(tài)鏈接(dynamic linking)

  • 動態(tài)庫可以在多個程序間共享,所以動態(tài)鏈接使得可執(zhí)行文件更小,節(jié)省了磁盤空間。操作系統(tǒng)采用虛擬內(nèi)存機制允許物理內(nèi)存中的一份動態(tài)庫被要用到該庫的所有進程共用,節(jié)省了內(nèi)存和磁盤空間。


我們是很經(jīng)常使用庫的,我們創(chuàng)建一個普通C文件,并編寫簡單代碼

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

這里就是利用了C語言的庫的,之前進行簡單的講解過,這是C語言的動態(tài)庫

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器


關(guān)于庫我們有過一定的使用經(jīng)驗
庫分為靜態(tài)庫以及動態(tài)庫-----大部分的系統(tǒng)默認安裝的是動態(tài)庫,云服務(wù)器是靜態(tài)庫–(C標準庫)默認是沒有安裝的
默認編譯程序,用的是動態(tài)鏈接的,如果要靜態(tài)要加-static

庫的真實名字:lib. XXXX -a/so 去掉前綴以及后綴

2.1 動靜態(tài)庫的制作和使用

一般我們的程序執(zhí)行會經(jīng)歷幾個階段

  1. a.h + a.c ---> a.o
  2. b.h + b.c ---> b.o
  3. c.h + c.c ---> c.o
  4. d.h + d.c ---> d.o
  5. 再結(jié)合libc.so/libc.a
  6. 最后main.c ------>main.o

庫則是不提供.c文件

  1. a.h + a.o
  2. b.h + b.o
  3. c.h + c.o
  4. d.h + d.o

你只需要將main.c ------>main.o
注:這里的a、b、c、d只是概念文件

所謂的庫就是將所有的.o文件用特定的方式,進行打包,形成一個文件

庫的存在的意義:

  1. 提高開發(fā)效率
  2. 隱藏源代碼

準備工作

在了解庫的使用原理后我們來模擬實現(xiàn)一個

  1. 創(chuàng)建五個文件
    【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
  2. 編寫文件

add.c

#include "add.h"
int add(int a, int b)
{
  return a + b;
}

add.h

#ifndef __ADD_H__
#define __ADD_H__ 
int add(int a, int b); 
#endif // __ADD_H__

sub.h

#ifndef __SUB_H__
#define __SUB_H__ 
int sub(int a, int b); 
#endif // __SUB_H

sub.c

#include "add.h"
int sub(int a, int b)
{
  return a - b;
}

main.c

#include <stdio.h>
#include "add.h"
#include "sub.h"
 
int main()
{
  int a = 10;
  int b = 20;
  printf("add(%d, %d)=%d\n", a, b, add(a, b));
  a = 100;
  b = 20;
  printf("sub(%d,%d)=%d\n", a, b, sub(a, b));
}

生成.o文件
【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

生成靜態(tài)庫

指令ar -rc

ar -rc是一個用于創(chuàng)建或更新靜態(tài)庫的命令。它是GNU工具鏈中的一個工具,用于將一組目標文件打包成一個靜態(tài)庫文件。下面是ar -rc命令的一些常見用法:

  • 創(chuàng)建靜態(tài)庫:可以使用ar -rc命令將多個目標文件打包成一個靜態(tài)庫文件。例如,要將文件1.o、文件2.o和文件3.o打包成一個名為libexample.a的靜態(tài)庫,可以執(zhí)行以下命令:

ar -rc libexample.a 1.o 2.o 3.o

  • 更新靜態(tài)庫:如果已經(jīng)存在一個靜態(tài)庫文件,可以使用ar -rc命令向其中添加新的目標文件或替換已有的目標文件。例如,要向名為libexample.a的靜態(tài)庫中添加一個新的目標文件file.o,可以執(zhí)行以下命令:

ar -rc libexample.a file.o

  • 替換靜態(tài)庫中的目標文件:如果要替換靜態(tài)庫中已有的目標文件,可以使用ar -rc命令指定相同的目標文件名。例如,要替換名為libexample.a的靜態(tài)庫中的目標文件file.o,可以執(zhí)行以下命令:

ar -rc libexample.a file.o

  • 查看靜態(tài)庫內(nèi)容:可以使用ar -t命令來查看靜態(tài)庫中包含的目標文件列表。例如,要查看名為libexample.a的靜態(tài)庫中包含的目標文件列表,可以執(zhí)行以下命令:

ar -t libexample.a


輸入指令ar -rc libmymath.a add.o sub.o生成靜態(tài)庫
查看靜態(tài)庫中的目錄列表 ar -tv libmymath.a
t:列出靜態(tài)庫中的文件
v:verbose 詳細信息

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
所以庫的本質(zhì)就是把一堆.o打包形成一個文件,然后通過頭文件來調(diào)用庫。注意,庫中不能包含main函數(shù)。

編譯一下,即可運行

gcc (要形成的可執(zhí)行文件名) main.c(所依賴的文件) -L .(-L + 路徑表示myc這個庫在哪個路徑下)-lmymath(指明要鏈接mymath這個靜態(tài)庫)

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器


生成動態(tài)庫

fPIC:產(chǎn)生位置無關(guān)碼,在將.c或者.cpp形成.o文件時,需要加上-fPIC。要形成動態(tài)庫必須加上-fPIC。
【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

形成動態(tài)庫不需要用到其它指令,gcc編譯器就可以形成動態(tài)庫,只不過要加上-shared命令。

gcc -shared -o libmymath.so(名字,真正的庫名要去掉lib和.so)sub.o add.o (所依賴的.o文件)

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
直接使用我們的這個動態(tài)庫,那么就同樣要告訴編譯器我們庫的名字和所在的路徑(參考上面靜態(tài)庫路徑的寫法)。

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

2.2 將自己的庫打包給別人

假設(shè)在我當前目錄下有l(wèi)ibmymath.so動態(tài)庫,add.h,sub.h兩個頭文件,如果我想將這三個文件一起交給別人,就可以把它們打包一起放在一個目錄下,一起壓縮完再交給別人。
【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

Makefile

 1 libmymath.so:add.o sub.o
  2     gcc -shared -o $@ $^
  3 .o:.c
  4     gcc -shared -c $<
  5 #add.o:add.c
  6 #   gcc -c -fPIC $< -o $@
  7 #sub.o:sub.c
  8 #   gcc -c -fPIC $< -o $@
  9 .PHONY:clean
 10 clean:
 11   rm -f *.o libmymath.so
 12 
 13 .PHONY:output                                                                                                                                                                           
 14 output:
 15         mkdir -p ./user/mylib/
 16         mkdir -p ./user/Headfile/
 17         cp -rf libmymath.so ./user/mylib/
 18         cp -rf add.h sub.h ./user/Headfile/
 19         tar -czf user.tgz user

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

user目錄是通過user.tgz解壓得到的,下面是user目錄下的文件:

【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器

將兩個頭文件拷貝到usr/include目錄下(編譯器默認會到include目錄下去尋找頭文件),將庫文件拷貝到usr/lib目錄下,編譯時指定庫鏈接,就能夠運行了。
【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用,linux學(xué)習(xí),linux,運維,服務(wù)器
文章來源地址http://www.zghlxwxcb.cn/news/detail-850082.html

到了這里,關(guān)于【linux深入剖析】深入理解軟硬鏈接 | 動靜態(tài)庫的制作以及使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【看表情包學(xué)Linux】軟硬鏈接 | 軟連接數(shù) | 創(chuàng)建軟硬鏈接 | 動靜態(tài)庫 | 生成靜態(tài)庫 | 生成動態(tài)庫

    【看表情包學(xué)Linux】軟硬鏈接 | 軟連接數(shù) | 創(chuàng)建軟硬鏈接 | 動靜態(tài)庫 | 生成靜態(tài)庫 | 生成動態(tài)庫

    ?? ??? 爆笑 教程 ????《看表情包學(xué)Linux》?? ? 猛戳訂閱 ? ? ?? ?? 寫在前面: 上一章我們講解了 inode,為文件系統(tǒng)收了尾,這幾章我們充分地講解完了文件系統(tǒng)的知識點,現(xiàn)在我們開始開始學(xué)習(xí)軟硬鏈接了。如果沒有文件系統(tǒng)的鋪墊,想直接理解軟硬鏈接難免有些困

    2024年02月14日
    瀏覽(40)
  • 【Linux】軟硬鏈接和動靜態(tài)庫

    【Linux】軟硬鏈接和動靜態(tài)庫

    **軟鏈接:**是一個獨立文件,有自己獨立的 inode 和 inode 編號。 **硬鏈接:**不是一個獨立的文件,它和目標文件使用的是同一個 inode。硬鏈接就是單純的在 Linux 指定的目錄下,給指定的文件新增 文件名 和 inode 編號的映射關(guān)系! 我們可以通過如下命令,創(chuàng)建一個文件的軟硬

    2024年02月05日
    瀏覽(19)
  • Linux軟硬鏈接和動靜態(tài)庫

    Linux軟硬鏈接和動靜態(tài)庫

    本文已收錄至《Linux知識與編程》專欄! 作者:ARMCSKGT 演示環(huán)境:CentOS 7 當我們安裝一款軟件成功后,桌面會多一個圖標,如果我們點擊圖標就能啟動軟件,但那個圖標就是軟件本身嗎?顯然不是!圖標只是軟件啟動程序的一個快捷方式,在Linux中可以通過軟硬鏈接來創(chuàng)建類

    2024年02月08日
    瀏覽(17)
  • 【Linux】軟硬鏈接與動靜態(tài)庫

    【Linux】軟硬鏈接與動靜態(tài)庫

    相關(guān)文章: 【Linux】動靜態(tài)庫以及動靜態(tài)鏈接 【Linux】基礎(chǔ)IO_文件系統(tǒng) 我們知道,每一個文件都會有自己的inode編號,我們可以通過如下指令來查看: ?我們發(fā)現(xiàn), 每一個不同文件的inode編號都不相同,所以inode可以說是用來標識文件的標識符 。接下來,我們通過下面指令來

    2024年02月10日
    瀏覽(19)
  • 【看表情包學(xué)Linux】軟硬鏈接 | 動靜態(tài)庫

    【看表情包學(xué)Linux】軟硬鏈接 | 動靜態(tài)庫

    ?? ??? 爆笑 教程 ????《看表情包學(xué)Linux》?? ? 猛戳訂閱 ? ? ?? ?? 寫在前面: 上一章我們講解了 inode,為文件系統(tǒng)收了尾,這幾章我們充分地講解完了文件系統(tǒng)的知識點,現(xiàn)在我們開始開始學(xué)習(xí)軟硬鏈接了。如果沒有文件系統(tǒng)的鋪墊,想直接理解軟硬鏈接難免有些困

    2024年02月16日
    瀏覽(20)
  • 【Linux】基礎(chǔ)IO——文件系統(tǒng)|軟硬鏈接|動靜態(tài)庫

    【Linux】基礎(chǔ)IO——文件系統(tǒng)|軟硬鏈接|動靜態(tài)庫

    基于上篇博客所寫到的文件各種操作都是基于被打開文件所進行操作的,那么如果一個文件沒有被打開它存在哪里呢?這個答案毫無疑問肯定是存在于磁盤上的。那么,對于一個沒有打開的文件(也就是磁盤文件)我們應(yīng)該如何理解呢? 這里我們所要講的磁盤是機械硬盤、即

    2024年02月04日
    瀏覽(21)
  • Linux基礎(chǔ)IO【軟硬鏈接與動靜態(tài)庫】

    Linux基礎(chǔ)IO【軟硬鏈接與動靜態(tài)庫】

    ?個人主頁: 北 海 ??所屬專欄: Linux學(xué)習(xí)之旅 ??操作環(huán)境: CentOS 7.6 阿里云遠程服務(wù)器 假設(shè)你下載了一款游戲,你是否會跑到游戲所在目錄中雙擊 .exe 打開游戲?答案是不會,大多數(shù)人都會通過桌面的快捷方式直接打開文件,而這個快捷方式實際就是對 .exe 的 軟鏈接 文

    2024年02月02日
    瀏覽(24)
  • 動靜態(tài)庫的理解、制作、使用。

    動靜態(tài)庫的理解、制作、使用。

    1.什么是庫? 代碼是無窮無盡的,當程序猿在寫一些項目時,未必所有代碼親歷親為,他們可以在網(wǎng)上尋找大佬寫過的一些有關(guān)需求的代碼,這些代碼可以讓他們拿過來直接使用,而省去了許多精力。 把一些 代碼進行打包 ,形成的便是庫了。 ? 上面所說,庫就是將代碼進行

    2024年01月24日
    瀏覽(56)
  • 【linux】:老師問什么是愛情,我說了句:軟硬鏈接和動靜態(tài)庫

    【linux】:老師問什么是愛情,我說了句:軟硬鏈接和動靜態(tài)庫

    ? ? 文章目錄 前言 一、軟硬鏈接 二、動態(tài)庫和靜態(tài)庫 總結(jié) ? 上一篇文章的最后我們講解了文件的inode,那么文件名和inode有什么區(qū)別呢?區(qū)別就在于linux系統(tǒng)只認inode號,文件的inode屬性中,并不存在文件名,而文件名其實是給用戶用的。我們以前講過linux文件目錄,那么目

    2023年04月19日
    瀏覽(20)
  • 【探索Linux】—— 強大的命令行工具 P.13(文件系統(tǒng) | 軟硬鏈接 | 動態(tài)庫和靜態(tài)庫)

    【探索Linux】—— 強大的命令行工具 P.13(文件系統(tǒng) | 軟硬鏈接 | 動態(tài)庫和靜態(tài)庫)

    在計算機科學(xué)領(lǐng)域中,Linux 系統(tǒng)一直以來都是備受推崇的操作系統(tǒng)之一。其中,文件系統(tǒng)、軟硬鏈接、動態(tài)庫和靜態(tài)庫是 Linux 系統(tǒng)中非常重要的概念,在實際應(yīng)用中扮演著不可或缺的角色。 在上一篇文章中,我們了解了 Linux 系統(tǒng)中文件描述符、重定向以及基礎(chǔ) IO 操作的相關(guān)

    2024年02月04日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包