1. 程式人生 > >Linux中軟硬連結的區別

Linux中軟硬連結的區別

理解 Linux 的硬連結與軟連結

從 inode 瞭解 Linux 檔案系統

Linux 的檔案與目錄

現代作業系統為解決資訊能獨立於程序之外被長期儲存引入了檔案,檔案作為程序建立資訊的邏輯單元可被多個程序併發使用。在 UNIX 系統中,作業系統為磁碟上的文字與影象、滑鼠與鍵盤等輸入裝置及網路互動等 I/O 操作設計了一組通用 API,使他們被處理時均可統一使用位元組流方式。換言之,UNIX 系統中除程序之外的一切皆是檔案,而 Linux 保持了這一特性。為了便於檔案的管理,Linux 還引入了目錄(有時亦被稱為資料夾)這一概念。目錄使檔案可被分類管理,且目錄的引入使 Linux 的檔案系統形成一個層級結構的目錄樹。

清單 1.所示的是普通 Linux 系統的頂層目錄結構,其中 /dev 是存放了裝置相關檔案的目錄。

清單 1. Linux 系統的頂層目錄結構
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /              根目錄 ├── bin     存放使用者二進位制檔案 ├── boot    存放核心引導配置檔案 ├── dev     存放裝置檔案
├── etc     存放系統配置檔案 ├── home    使用者主目錄 ├── lib     動態共享庫 ├── lost+found  檔案系統恢復時的恢復檔案 ├── media   可解除安裝儲存介質掛載點 ├── mnt     檔案系統臨時掛載點 ├── opt     附加的應用程式包 ├── proc    系統記憶體的對映目錄,提供核心與程序資訊 ├── root    root 使用者主目錄 ├── sbin    存放系統二進位制檔案 ├── srv     存放服務相關資料
├── sys     sys 虛擬檔案系統掛載點 ├── tmp     存放臨時檔案 ├── usr     存放使用者應用程式 └── var     存放郵件、系統日誌等變化檔案

Linux 與其他類 UNIX 系統一樣並不區分檔案與目錄:目錄是記錄了其他檔名的檔案。使用命令 mkdir 建立目錄時,若期望建立的目錄的名稱與現有的檔名(或目錄名)重複,則會建立失敗。

1 2 3 4 5 6 # ls -F /usr/bin/zi* /usr/bin/zip*       /usr/bin/zipgrep*  /usr/bin/zipnote* /usr/bin/zipcloak*  /usr/bin/zipinfo*  /usr/bin/zipsplit* # mkdir -p /usr/bin/zip mkdir: cannot create directory `/usr/bin/zip': File exists

Linux 將裝置當做檔案進行處理,清單 2.展示瞭如何開啟裝置檔案 /dev/input/event5 並讀取檔案內容。檔案 event5 表示一種輸入裝置,其可能是滑鼠或鍵盤等。檢視檔案 /proc/bus/input/devices 可知 event5 對應裝置的型別。裝置檔案 /dev/input/event5 使用 read() 以字元流的方式被讀取。結構體 input_event 被定義在核心標頭檔案 linux/input.h 中。

清單 2. 開啟並讀取裝置檔案
1 2 3

相關推薦

Linux軟硬連結區別

理解 Linux 的硬連結與軟連結 從 inode 瞭解 Linux 檔案系統 Linux 的檔案與目錄 現代作業系統為解決資訊能獨立於程序之外被長期儲存引入了檔案,檔案作為程序建立資訊的邏輯單元可被多個程序併發使用。在 UNIX 系統中,作業系

Linux作業系統軟硬連結區別

軟硬連結的區別 總結:軟連結相當於windows下的快捷方式    硬連結相當於拷貝加同步。 (1)軟連線可以 跨檔案系統 ,硬連線不可以 。實踐的方法就是用共享檔案把windows下的 aa.txt文字文件連線到Linux下/root目錄 下 bb,cc . ln -s

linux連結和硬連結區別與小結

首先我們需要了解linux下硬連結以及軟連線的基本概念. 硬連結:新建的檔案是已經存在的檔案的一個別名,當原檔案刪除時,新建的檔案仍然可以使用. 軟連結:也稱為符號連結,新建的檔案以“路徑”的形式來表示另一個檔案,和Windows的快捷方式十分相似,新建的軟連結可以指向不存在的檔案. 下

Linux連結和軟連線的區別以及建立

硬連結:已存在的檔案的一個別名,當原始檔刪除時仍可使用,且inode可共享,僅檔名不同的檔案,硬連結的建立會使連結數加1。 軟連線:符號連結,也就是快捷方式,不共享inode,有自己的inode,可對不存在的檔案建立軟連結,建立時連結數不加一,當原始檔刪除時,則

Linux軟硬鏈接的區別

關系 方式 linux 硬鏈接 -s 分區 快捷 必須 兩個 軟硬鏈接的區別:本質:硬鏈接:1個文件起多個文件名 這兩個文件的屬性和內容必須完全相同。軟鏈接:一個文件對應的快捷方式,不同文件。 1.鏈接數: 硬鏈接會增長鏈接數,軟鏈接不會增長2.跨分區: 軟鏈接支持跨分

linux連結與硬連結區別

(1)軟連結可以跨越檔案系統 ,硬連結不可以 。實踐的方法就是用共享檔案把windows下的 aa.txt文字文件連結到linux下/root目錄下 bb,cc . ln -s aa.txt /root/bb 連結成功 。ln aa.txt /root/bb 失敗 。 (

Linux連結檔案和軟連結檔案的區別

我這邊說的是初學者最容易不清楚的概念,如果要知道更深的原理,網上都有。 1.硬連結相當於windows的複製,原始檔刪除不會影響到創建出來的硬連結;硬連結刪除也不會影響到原始檔。(指向同一個inode節點) 2軟連線相當於windows中的快捷式,原始檔刪除了會是創建出來的

linux~和/的區別

roo oot home inux linux中 nbsp linux 目錄 地址 ~ 是當前用戶的目錄地址 / 是根目錄的地址(一般稱呼為root,/ 和 /root/ 是有區別的) / 也指目錄分隔符 1 當用戶是root用戶時 ~ 代表/root/,即根

Linux連結與硬連結

說明一下軟連結與硬連結建立的語法 ln -s test test.soft ln test test.hard 硬連結與軟連結的特點 硬連結是對原始檔的操作就相當於cp -p+同步更新 硬連結在實際開發環境使用較少,要注意的是雖說

LINUX-UBUNTU軟硬連結

建立連結檔案:ln Linux連結⽂件類似於Windows下的快捷⽅式。 連結⽂件分為軟連結和硬連結。 軟連結:軟連結不佔用磁碟空間,原始檔刪除則軟連結失效。 硬連結:硬連結只能連結普通檔案,不能連結⽬錄。 注意:如果軟連結檔案和源⽂件不在同⼀個⽬錄,源⽂件要

Linux 動態連結庫的版本號以及ldconfig

動態連結庫的三個名字 1. realname, 真正的名字,一般情況下如果你有版本,應該在後面加上lib[libraryname].so.[version] eg: libtest.so.1.0.0 2. soname, 在編譯動態庫的時候指定的名字,這個名字將會被新增到

linux 連結的使用

用ln -s 命令可以生成一個軟連線,如下: [[email protected] test]# ln -s /var/www/source_file softlink_file 在對符號檔案進行讀或寫操作的時候,系統會自動把該操作轉換為對原始檔的操作,但刪除連結檔案時,系統僅僅刪除連結檔案,而不

Linux軟連線(Symbolic Link)和硬連結(Hard Link)的區別(轉)

Linux連結分兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生硬連結。--硬連線硬連線指通過索引節點來進行連線。在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號(Inode Inde

Linux軟連線和硬連結區別

什麼是連結? 連結簡單說實際上是一種檔案共享的方式,是 POSIX 中的概念,主流檔案系統都支援連結檔案。 它是用來幹什麼的? 你可以將連結簡單地理解為 Windows 中常見的快捷方式(或是 OS X 中的替身),Linux 中常用它來解決一些庫版本的問題,通常也

Linux環境變量/etc/profile ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 的區別

linux中環境變量/etc/profile ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 的區別 這個一定要理解登錄式shell和非登錄式shell的區別,前者是完全切換用戶,後者是不完全,就算切換過來了,你pwd時家目錄還是之前的家目錄,所以 登錄

Linuxyum和apt-get用法及區別

記錄 auto yum安裝軟件 mirror 內核 epo 綁定 提示 們的 Linux中yum和apt-get用法及區別 一般來說著名的linux系統基本上分兩大類: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:De

linux ll 和ls 區別

彩色 顯示文件 時間排序 linux 常用 所有 數字 名稱 sub ll 列出來的結果詳細,有時間,是否可讀寫等信息 ,象windows裏的 詳細信息ls 只列出文件名或目錄名 就象windows裏的 列表ll -t 是降序, ll -t | tac 是升序 ll不是

LINUX塊設備文件和字符設備文件的本質區別

hunk 特性 pan 操作系統 物理 文件的 顯示器 windows 緩存 在LINUX系統文件類型分類的文章中我們提到了 塊設備 和 字符設備文件,那麽什麽是塊設備 字符設備文件呢?他們之間有什麽本質上的區別呢? 設備文件分為 Block(塊) Device Dri

Linux tail -f;tail -F;tailf的區別

tail在Linux中,tail -f;tail -F;tailf的區別。tail -f 等同於--follow=descriptor,根據文件描述符進行追蹤,當文件改名或被刪除,追蹤停止tail -F 等同於--follow=name --retry,根據文件名進行追蹤,並保持重試,即該

Linuxprofile、bashrc、bash_profile之間的區別和聯系(轉)

用戶登錄 upd rtu 文件輸入 當前 設定 log set less /etc/profile:此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置. 英文描述為: # /etc/pr