系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux ln命令操作

Linux ln命令操作指南

時間:2015-02-26 17:31:39 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150226/39107.html 手機查看 評論

  ln是Linux系統(tǒng)中一個重要的命令,能夠為文件建立鏈接,保持鏈接文件的同步性,下面小編就給大家介紹下Linux下如何使用ln命令,通過實例來詳細了解。

 Linux ln命令操作指南

  1. 使用ln命令給檔案創(chuàng)建symbolic link。

  linux系統(tǒng)下的symbolic link類似于windows系統(tǒng)的快捷方式一樣。

  使用ls命令查看,可以看到新創(chuàng)建的symbolic link有獨立的inode,也就是symbolic link會占用一個inode,但是其實際內(nèi)容仍然是指向

  源文件所指向的block區(qū)域。

  # touch /tmp/file

  # ls -lhi /tmp/file

  3441 -rw-r--r-- 1 root root 0 Jan 1 00:09 /tmp/file

  #

  # ln -fs /tmp/file /tmp/symbolic_link

  # ls -lhi /tmp/symbolic_link

  3647 lrwxrwxrwx 1 root root 9 Jan 1 00:10 /tmp/symbolic_link -》 /tmp/file

  #

  2. 刪除symbolic link文件,實際上就是刪除這個inode,而不會影響到源文件所指向的block區(qū)域;

  而如果刪除了源文件,那這個symbolic link文件就基本上沒用了。

  # echo “link test” 》 /tmp/file

  # cat /tmp/file

  link test

  #

  # rm /tmp/symbolic_link

  # cat /tmp/file

  link test

  #

  # ln -fs /tmp/file /tmp/symbolic_link

  #

  # rm /tmp/file

  # cat /tmp/symbolic_link

  cat: can‘t open ’/tmp/symbolic_link‘: No such file or directory

  #

  # ls -lhi /tmp/symbolic_link

  7357 lrwxrwxrwx 1 root root 9 Jan 1 00:22 /tmp/symbolic_link -》 /tmp/file

  #

  3. 使用ln命令創(chuàng)建hard link。

  可以看到,創(chuàng)建hard link是使用同一個inode,而copy了一份源文件的block區(qū)域出來。

  如果修改檔案的內(nèi)容,源文件和hard link文件對應(yīng)的block區(qū)域內(nèi)容都會被修改,從而保持一致性。

  # touch /tmp/file

  # echo “hard link test” 》 /tmp/file

  # cat /tmp/file

  hard link test

  # ln /tmp/file /tmp/hard_link

  # ls -lhi /tmp/file

  7996 -rw-r--r-- 2 root root 15 Jan 1 00:25 /tmp/file

  # ls -lhi /tmp/hard_link

  7996 -rw-r--r-- 2 root root 15 Jan 1 00:25 /tmp/hard_link

  # cat /tmp/hard_link

  hard link test

  #

  # echo “hard link test 2” 》 /tmp/file

  # cat /tmp/file

  hard link test 2

  # cat /tmp/hard_link

  hard link test 2

  #

  # echo “hard link test 3” 》 /tmp/hard_link

  # cat /tmp/file

  hard link test 3

  # cat /tmp/hard_link

  hard link test 3

  #

  4. 刪除hard link或者刪除源文件,實際上只是刪除其中其中一份block區(qū)域。

  可以看到,雖然源文件被刪除(實際上只是刪除了源文件對應(yīng)的block區(qū)),但是

  inode仍然還在,所以仍然可以透過hard link檔案來訪問源文件的內(nèi)容。

  到了這里,就可以理解為什么inode信息中不包含文件名了;

  因為如果文件名信息包含在inode中,并且創(chuàng)建了hard link,此時為何還需要兩塊不同的block區(qū)域

  來儲存文件信息呢?進而hard link還有什么意義呢?

  # rm /tmp/file

  # cat /tmp/file

  cat: can’t open ‘/tmp/file’: No such file or directory

  #

  # cat /tmp/hard_link

  hard link test 3

  #

  # ls -hli /tmp/hard_link

  7996 -rw-r--r-- 1 root root 17 Jan 1 00:29 /tmp/hard_link

  #

  5. 為目錄創(chuàng)建symbolic link?

  因為新建的symbolic link目錄與源目錄是同一個inode,所以對這兩個目錄的訪問具有完全相同的表現(xiàn)。

  # mkdir /tmp/directory

  # ln -fs /tmp/directory/ /tmp/dir_sym_link

  #

  # ls -hdi /tmp/directory/

  14018 /tmp/directory/

  # ls -hdi /tmp/dir_sym_link/

  14018 /tmp/dir_sym_link/

  #

  # touch /tmp/directory/file

  # ls -hil /tmp/directory/file

  14781 -rw-r--r-- 1 root root 0 Jan 1 00:47 /tmp/directory/file

  # ls -hil /tmp/dir_sym_link/file

  14781 -rw-r--r-- 1 root root 0 Jan 1 00:47 /tmp/dir_sym_link/file

  #

  # echo “directory symbolic test” 》 /tmp/dir_sym_link/file

  # cat /tmp/dir_sym_link/file

  directory symbolic test

  # cat /tmp/directory/file

  directory symbolic test

  #

  6. 為目錄創(chuàng)建hard link?

  從結(jié)果看,為目錄創(chuàng)建hard link失敗了。

  # ln /tmp/directory/ /tmp/dir_hard_link

  ln: /tmp/dir_hard_link: Operation not permitted

  上面就是Linux使用ln命令的方法介紹了,本文一共介紹了ln命令的六個實例,可以知道ln命令可以創(chuàng)建hard link,為目錄創(chuàng)建symbolic link等。

標簽 命令

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄