當前位置:首頁 » 操作系統 » linux符號鏈接

linux符號鏈接

發布時間: 2023-02-21 22:55:42

linux中如果用 in 命令生成了一個符號鏈接文件,刪除了原始文件後,符號鏈接還可不可以用

建立符號鏈接文件後,如果刪除源文件,則符號鏈接文件將會指向一個空文件,符號鏈接也就失效了。

Ⅱ linux軟鏈接(符號鏈接)

軟鏈接是linux中一個常用命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接。

具體用法是: ln -s 源文件 目標文件

當 我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在其它的 目錄下用ln命令鏈接(link)就可以,不必重復的佔用磁碟空間。

例如:

這樣我們就對/usr/bin目錄下的mysql命令創建了軟連接 。

創建軟連接
ln -s [源文件或目錄] [目標文件或目錄]

例如:當前路徑創建test引向/var/www/test 文件夾

創建/var/test 引向/var/www/test 文件夾

刪除軟連接
和刪除普通的文件是一樣的,刪除都是使用 rm 來進行操作
例:
刪除test

修改軟鏈接
ln –snf [新的源文件或目錄] [目標文件或目錄]
這將會修改原有的鏈接地址為新的地址
例如:
創建一個軟鏈接

修改指向新的路徑

常用參數:
-f : 鏈結時先將與 dist 同檔名的檔案刪除
-d : 允許系統管理者硬鏈結自己的目錄
-i : 在刪除與 dist 同檔名的檔案時先進行詢問
-n : 在進行軟連結時,將 dist 視為一般的檔案
-s : 進行軟鏈結(symbolic link)
-v : 在連結之前顯示其檔名
-b : 將在鏈結時會被覆寫或刪除的檔案進行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
--help : 顯示輔助說明
--version : 顯示版本

Ⅲ linux文件系統基礎知識

linux文件系統基礎知識匯總

1、linux文件系統分配策略

塊分配( block allocation ) 和 擴展分配 ( extent allocation )

塊分配:磁碟上的文件塊根據需要分配給文件,避免了存儲空間的浪費。但當文件擴充時,會造成文件中文件塊的不連續,從而導致過多的磁碟尋道時間。

每一次文件擴展時,塊分配演算法就需要寫入文件塊的結構信息,也就是 meta-dada 。meta-data總是與文件一起寫入存儲設備,改變文件的操作要等到所有meta-data的操作都完成後才能進行,

因此,meta-data的操作會明顯降低整個文件系統的性能。

擴展分配: 文件創建時,一次性分配一連串連續的塊,當文件擴展時,也一次分配很多塊。meta-data在文件創建時寫入,當文件大小沒有超過所有已分配文件塊大小時,就不用寫入meta-data,直到需要再分配文件塊的時候。

擴展分配採用成組分配塊的方式,減少了SCSI設備寫數據的時間,在讀取順序文件時具有良好的性能,但隨機讀取文件時,就和塊分配類似了。

文件塊的組或塊簇 ( block cluster) 的大小是在編譯時確定的。簇的大小對文件系統的性能有很大的影響。

註: meta-data 元信息:和文件有關的信息,比如許可權、所有者以及創建、訪問或更改時間等。

2、文件的記錄形式

linux文家系統使用索引節點(inode)來記錄文件信息。索引節點是一種數據結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關系、磁碟中的位置等信息。

一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引節點數組中的唯一的元素對應。每個索引節點在數組中的索引號,稱為索引節點號。

linux文件系統將文件索引節點號和文件名同時保存在目錄中,所以,目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱為一個連接。

對於一個文件來說,有一個索引節點號與之對應;而對於一個索引節點號,卻可以對應多個文件名。

連接分為軟連接和硬連接,其中軟連接又叫符號連接。

硬連接: 原文件名和連接文件名都指向相同的物理地址。目錄不能有硬連接;硬連接不能跨文件系統(不能跨越不同的分區),文件在磁碟中只有一個拷貝。

由於刪除文件要在同一個索引節點屬於唯一的連接時才能成功,因此硬連接可以防止不必要的誤刪除。

軟連接: 用 ln -s 命令建立文件的符號連接。符號連接是linux特殊文件的.一種,作為一個文件,它的數據是它所連接的文件的路徑名。沒有防止誤刪除的功能。

3、文件系統類型:

ext2 : 早期linux中常用的文件系統

ext3 : ext2的升級版,帶日誌功能

RAMFS : 內存文件系統,速度很快

NFS : 網路文件系統,由SUN發明,主要用於遠程文件共享

MS-DOS : MS-DOS文件系統

VFAT : Windows 95/98 操作系統採用的文件系統

FAT : Windows XP 操作系統採用的文件系統

NTFS : Windows NT/XP 操作系統採用的文件系統

HPFS : OS/2 操作系統採用的文件系統

PROC : 虛擬的進程文件系統

ISO9660 : 大部分光碟所採用的文件系統

ufsSun : OS 所採用的文件系統

NCPFS : Novell 伺服器所採用的文件系統

SMBFS : Samba 的共享文件系統

XFS : 由SGI開發的先進的日誌文件系統,支持超大容量文件

JFS :IBM的AIX使用的日誌文件系統

ReiserFS : 基於平衡樹結構的文件系統

udf: 可擦寫的數據光碟文件系統

4、虛擬文件系統VFS

linux支持的所有文件系統稱為邏輯文件系統,而linux在傳統的邏輯文件系統的基礎上增加料一個蓄念文件系統( Vitual File System ,VFS) 的介面層。

虛擬文件系統(VFS) 位於文件系統的最上層,管理各種邏輯文件系統,並可以屏蔽各種邏輯文件系統之間的差異,提供統一文件和設備的訪問介面。

5、文件的邏輯結構

文件的邏輯結構可分為兩大類: 位元組流式的無結構文件 和 記錄式的有結構文件。

由位元組流(位元組序列)組成的文件是一種無結構文件或流式文件 ,不考慮文件內部的邏輯結構,只是簡單地看作是一系列位元組的序列,便於在文件的任意位置添加內容。

由記錄組成的文件稱為記錄式文件 ,記錄是這種文件類型的基本信息單位,記錄式文件通用於信息管理。

6、文件類型

普通文件 : 通常是流式文件

目錄文件 : 用於表示和管理系統中的全部文件

連接文件 : 用於不同目錄下文件的共享

設備文件 : 包括塊設備文件和字元設備文件,塊設備文件表示磁碟文件、光碟等,字元設備文件按照字元操作終端、鍵盤等設備。

管道(FIFO)文件 : 提供進程建通信的一種方式

套接字(socket) 文件: 該文件類型與網路通信有關

7、文件結構: 包括索引節點和數據

索引節點 : 又稱 I 節點,在文件系統結構中,包含有關相應文件的信息的一個記錄,這些信息包括文件許可權、文件名、文件大小、存放位置、建立日期等。文件系統中所有文件的索引節點保存在索引節點表中。

數據 : 文件的實際內容。可以是空的,也可以非常大,並且擁有自己的結構。

8、ext2文件系統

ext2文件系統的數據塊大小一般為 1024B、2048B 或 4096B

ext2文件系統採用的索引節點(inode):

索引節點採用了多重索引結構,主要體現在直接指針和3個間接指針。直接指針包含12個直接指針塊,它們直接指向包含文件數據的數據塊,緊接在後面的3個間接指針是為了適應文件的大小變化而設計的。

e.g: 假設數據塊大小為1024B ,利用12個直接指針,可以保存最大為12KB的文件,當文件超過12KB時,則要利用單級間接指針,該指針指向的數據塊保存有一組數據塊指針,這些指針依次指向包含有實際數據的數據塊,

假如每個指針佔用4B,則每個單級指針數據塊可保存 1024/4=256 個數據指針,因此利用直接指針和單級間接指針可保存 1024*12+1024*256=268 KB的文件。當文件超過268KB時,再利用二級間接指針,直到使用三級間接指針。

利用直接指針、單級間接指針、二級間接指針、三級間接指針可保存的最大文件大小為:

1024*12+1024*256+1024*256*256+1024*256*256*256=16843020 KB,約 16GB

若數據塊大小為2048B,指針佔4B,則最大文件大小為: 2048*12+2048*512+2048*512*512+2048*512*512*512=268,960,792 KB 約 268GB

若數據塊大小為4096B,指針佔4B,則最大文件大小為: 4096*12+4096*1024+4096*1024*1024+4096*1024*1024*1024=4,299,165,744 KB ,約 4TB

註: 命令 tune2fs -l /dev/sda5 可查看文件系統

ext2文件系統最大文件名長度: 255個字元

ext2文件系統的缺點:

ext2在寫入文件內容的同時並沒有同時寫入文件meta-data, 其工作順序是先寫入文件的內容,然後等空閑時候才寫入文件的meta-data。若發生意外,則文件系統就會處於不一致狀態。

在重新啟動系統的時候,linux會啟動 fsk ( file system check) 的程序,掃描整個文件系統並試圖修復,但不提供保證。

9、ext3文件系統:

ext3基於ext2的代碼,所以磁碟格式與ext2相同,使用相同的元數據。

ext2文件系統無損轉化為ext3文件系統: tune2fs -j /dev/sda6

日誌塊設備( Journaling block device layer,JBD)完成ext3文件系統日誌功能。JBD不是ext3文件系統所特有的,它的設計目標是為了向一個塊設備添加日誌功能。

當一個文件修改執行時,ext3文件系統代碼將通知JBD,稱為一個事務(transaction)。發生意外時,日誌功能具有的重放功能,能重新執行中斷的事務。

日誌中的3種數據模式:

1)、data=writeback :不處理任何形式的日誌數據,給用戶整體上的最高性能

2)、data=odered :只記錄元數據日誌,但將元數據和數據組成一個單元稱為事務(transaction) 。此模式保持所句句的可靠性與文件系統的一致性,性能遠低於data=writeback模式,但比data=journal模式快

3)、data=journal :提供完整的數據及元數據日誌,所有新數據首先被寫入日誌,然後才被定位。意外發生過後,日誌可以被重放,將數據與元數據帶回一致狀態。這種模式整體性能最慢,但數據需要從磁碟讀取和寫入磁碟時卻是3種模式中最快的。

ext3文件系統最大文件名長度: 255個字元

ext3文件系統的優點:可用性、數據完整性、速度、兼容性

10、ReiserFS文件系統

ReiserFS文件系統是由Hans Reiser和他領導的開發小組共同開發的,整個文件系統完全是從頭設計的,是一個非常優秀的文件系統。也是最早用於Linux的日誌文件系統之一。

ReiserFS的特點

先進的日誌機制

ReiserFS有先進的日誌(Journaling/logging)功能 機制。日誌機制保證了在每個實際數據修改之前,相應的日誌已經寫入硬碟。文件與數據的安全性有了很大提高。

高效的磁碟空間利用

Reiserfs對一些小文件不分配inode。而是將這些文件打包,存放在同一個磁碟分塊中。而其它文件系統則為每個小文件分別放置到一個磁碟分塊中。

獨特的搜尋方式

ReiserFS基於快速平衡樹(balanced tree)搜索,平衡樹在性能上非常卓越,這是一種非常高效的演算法。ReiserFS搜索大量文件時,搜索速度要比ext2快得多。Reiserfs文件 系統使用B*Tree存儲文件,而其它文件系統使用B+Tree樹。B*Tree查詢速度比B+Tree要快很多。Reiserfs在文件定位上速度非常 快。

在實際運用中,ReiserFS 在處理小於 4k 的文件時,比ext2 快 5 倍;帶尾文件壓縮功能(默認)的ReiserFS 比ext2文件系統多存儲6%的數據。

支持海量磁碟

ReiserFS是一個非常優秀的文件系統,一直被用在高端UNIX系統上,可輕松管理上百G的文件系統,ReiserFS文件系統最大支持的文件系統尺寸為16TB。這非常適合企業級應用中。

優異的性能

由於它的高效存儲和快速小文件I/O特點,使用ReiserFs文件系統的PC,在啟動X窗口系統時,所花的時間要比在同一台機器上使用ext2文 件系統少1/3。另外,ReiserFS文件系統支持單個文件尺寸為4G的文件,這為大型資料庫系統在linux上的應用提供了更好的選擇。

;

Ⅳ 什麼是Linux操作系統文件鏈接

鏈接類型及其意義

符號鏈接與硬鏈接在鏈接意義沒有什麼不同,只是在對目標文件的鏈接原理上有所不同。符號鏈接對應於C語言上的指針,符號鏈接文件只是保存目標文件的路徑,訪問是根據鏈接文件的路徑進行訪問;而硬鏈接是對應於C語言中的引用,硬鏈接文件中保存的是目標文件的inode結點。

正是由於鏈接方式的不同,這兩種鏈接呈現出不同的特性。符號鏈接通常被稱為軟鏈接,它的目標文件既可以是目錄,也可以是普通文件。由於符號鏈接文件中只是存放的目標文件的路徑,故它不會改變目標文件中的inode的引用計數。刪除目標文件對符號鏈接文件沒有什麼影響。硬鏈接文件則不同,它會改變目標文件的inode的引用計數,每新建一個硬鏈接文件時,目標文件的inode引用計數就會加一。刪除目標文件時,目標文件並不會真正的刪除,這里只是簡單的將目標文件的引用計數減一,目標文件並沒有刪除。詳情查看網頁鏈接

創建鏈接文件

創建硬鏈接文件的命令格式:ln [鏈接目標文件] [硬鏈接文件名]

創建符號鏈接文件的命令格式:ln -s [鏈接目標文件或目錄] [符號鏈接文件名]

舉例(以下例子中的當前目錄均為"/home/tingyu"):

在"/home/tingyu"目錄中創建目錄"/home/tingyu/hkc"的鏈接文件:ln -s /home/tingyu/hkc lnk

執行後的結果為:

tingyu@tingyu-laptop:~$ ln -s ./hkc lnk

tingyu@tingyu-laptop:~$ ls -l

total 32

drwxr-xr-x 2 tingyu tingyu 4096 2011-03-20 12:43 hkc

lrwxrwxrwx 1 tingyu tingyu 5 2011-03-20 12:43 lnk -> ./hkc

在"/home/tingyu"目錄中創建文件"/home/tingyu/hkc"的鏈接文件:ln /home/tingyu/hkc lnk

Ⅳ Linux 有哪些命令連接符

Linux 命令連接符大全:

1、 ; (分號)這個連接符是依次順序執行寫出的命令,空格可有可無,圖中是大家要了解的。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:581
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1012
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:113
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:712