Linux ln命令、軟鏈接和硬鏈接的區別

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

Linux ln命令是一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同步的鏈接。

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

語法

 ln [參數][源文件或目錄][目標文件或目錄][參數][源文件或目錄][目標文件或目錄]

其中參數的格式為

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

[--help] [--version] [--]

命令功能?:?
Linux文件系統中,有所謂的鏈接(link),我們可以將其視為檔案的別名,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個檔案可以有多個名稱,而軟鏈接的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬鏈接是存在同一個文件系統中,而軟鏈接卻可以跨越不同的文件系統。

不論是硬鏈接或軟鏈接都不會將原本的檔案復制一份,只會占用非常少量的磁碟空間。

軟鏈接

  • 1.軟鏈接,以路徑的形式存在。類似于Windows操作系統中的快捷方式
  • 2.軟鏈接可以 跨文件系統 ,硬鏈接不可以
  • 3.軟鏈接可以對一個不存在的文件名進行鏈接
  • 4.軟鏈接可以對目錄進行鏈接

硬鏈接

  • 1.硬鏈接,以文件副本的形式存在。但不占用實際空間。
  • 2.不允許給目錄創建硬鏈接
  • 3.硬鏈接只有在同一個文件系統中才能創建

命令參數

必要參數

  • -b 刪除,覆蓋以前建立的鏈接
  • -d 允許超級用戶制作目錄的硬鏈接
  • -f 強制執行
  • -i 交互模式,文件存在則提示用戶是否覆蓋
  • -n 把符號鏈接視為一般目錄
  • -s 軟鏈接(符號鏈接)
  • -v 顯示詳細的處理過程

選擇參數

  • -S "-S<字尾備份字符串> "或 "--suffix=<字尾備份字符串>"
  • -V "-V<備份方式>"或"--version-control=<備份方式>"
  • --help 顯示幫助信息
  • --version 顯示版本信息

實例

給文件創建軟鏈接,為log2013.log文件創建軟鏈接link2013,如果log2013.log丟失,link2013將失效:

ln -s log2013.log link2013-s log2013.log link2013

輸出:

[root@localhost test]# ll
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log
[root@localhost test]# ln -s log2013.log link2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.logroot@localhost test]# ll
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log
[root@localhost test]# ln -s log2013.log link2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log

給文件創建硬鏈接,為log2013.log創建硬鏈接ln2013,log2013.log與ln2013的各項屬性相同

ln log2013.log ln2013.log ln2013

輸出:

[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log
[root@localhost test]# ln log2013.log ln2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin      61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin      61 11-13 06:03 log2013.logroot@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log
[root@localhost test]# ln log2013.log ln2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin      61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin      61 11-13 06:03 log2013.log

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449959.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449959.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449959.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android應用開發——文件目錄

Android 存儲位置及 API 一、內部存儲 應用安裝后都會在Android 根目錄生成 /data/data/packagename&#xff0c;當前應用讀取不需要讀寫權限 注意&#xff1a; 有些開發者可能看到過應用的根目錄為 /data/user/0/packagename 的情況&#xff0c;這里解釋一下&#xff0c;And…

git常用命令及沖突解決

2019獨角獸企業重金招聘Python工程師標準>>> git常用命令 git config --global user.name chenhongjiang git config --global user.email 123qq.com git init 建立廠庫 git status 查看狀態 git add . 添加當前目錄 git add a.php 添加文件…

C 語言常見問題集

從 http://c-faq-chn.sourceforge.net/ccfaq/index.html 轉載過來&#xff0c;學習C的好助手。 目錄1. 前言2. 聲明和初始化 2.1 我如何決定使用那種整數類型&#xff1f;2.2 64 位機上的 64 位類型是什么樣的&#xff1f;2.3 怎樣定義和聲明全局變量和函數最好&#xff1f;2.4…

【題解】quake

【題解】\(quake\) 題目大意 我們共有報酬\(f\)元&#xff0c;一條邊有它的價值\(w_i\),有它的建造時間\(t_i\)。要求建一些邊&#xff0c;生成一顆樹。求最大的利潤率。 數據范圍 \(n\le 400\) \(m\le10000\) \(Solution\) 實際上\(n,m\)出到\(\le 100000\)應該也是沒問題的。…

Android應用開發——service連接泄露異常:android.app.ServiceConnectionLeaked: that was originally bound here

在做service開發過程中&#xff0c;大部分可能會遇到以下異常&#xff0c;該異常僅通過log輸出&#xff0c;并不會導致app crash。 E/ActivityThread: Activity com.example.image.all_samples.Main2Activity has leaked ServiceConnection com.example.image.all_samples.Mai…

Linux more命令、Linux rhmask命令

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux more 命令類似 cat &#xff0c;不過會以一頁一頁的形式顯示&#xff0c;更方便使用者逐頁閱讀&#xff0c;而最基本的指令就是按…

從零開始學習PYTHON3講義(二)把Python當做計算器

《從零開始PYTHON3》第二講 上一講我們說過了如何啟動Python IDLE集成開發學習環境&#xff0c;macOS/Linux都可以在命令行執行idle3。Windows則從開始菜單中去尋找IDLE程序的圖標。 上一講我們還見到了Python的兩種工作模式&#xff0c;交互模式和程序模式。 通常在一個大型的…

Tranquility

本頁目錄與Kafka集群交互Druid使用Tranquility Kafka本文以Kafka為例&#xff0c;介紹在E-MapReduce中如何使用Tranquility從Kafka集群采集數據&#xff0c;并實時推送至Druid集群。 Tranquility是一個以push方式向Druid實時發送數據的應用。它替用戶解決了分區、多副本、服務發…

Iot相關雜燴

人工智能就像人的大腦&#xff0c;而 IoT 就像人的神經網絡 1&#xff09;在天空中巨大的鳥群里&#xff0c;每一只鳥兒都實時判斷自己和四周同伴的距離。這時&#xff0c;它們各自都是一個物聯網節點。2&#xff09;這些“節點”并不是簡單地收集數據&#xff0c;而是在實時計…

水滴石穿C語言之指針、數組和函數

基本解釋   1、指針的本質是一個與地址相關的復合類型&#xff0c;它的值是數據存放的位置&#xff08;地址&#xff09;&#xff1b;數組的本質則是一系列的變量。   2、數組名對應著&#xff08;而不是指向&#xff09;一塊內存&#xff0c;其地址與容量在生命期內保持…

告訴你銀行在年底為存儲做的小動作

25年前&#xff0c;銀行的存款利率是10.98%&#xff0c;可謂巔峰時刻。15年前&#xff0c;銀行的存款利率開始下降&#xff0c;降到了8%的利率。 到了5年前&#xff0c;銀行的存款利率毫無回轉之勢&#xff0c;直線下降到了5%的利率。 而如今&#xff0c;我們無可奈何地接受了2…

爬蟲學習(五)——百度貼吧的爬取

import osimport timeimport urllib.requestimport urllib.parse# 輸入目標頁碼和吧名def header(): url "https://tieba.baidu.com/f?" baming input("請輸入要爬取的吧名") start_page int(input("請輸入起始頁")) end_page …

什么是嵌入式設備?/ 嵌入式設備的定義

什么是嵌入式設備&#xff1f;/ 嵌入式設備的定義 區別于通用計算機的其他設備都可以稱之為嵌入式設備 &#xff08;個人電腦&#xff0c;服務器&#xff09; 一段時期內&#xff0c;必備的硬件配置。 嵌入式開發包括哪些部分&#xff1a; 底層驅動開發&#xff1a; 關鍵字…

Linux mv命令、Linux cp命令、Linux scp命令

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Linux mv命令用來為文件或目錄改名、或將文件或目錄移入其它位置。 語法 mv [options] source dest mv [options] source... director…

創業者談:畏懼失敗,但也要擁抱失敗

摘要&#xff1a;本文作者為Paydirt創始人Tristan Gamilis&#xff0c;他在文中分享了如何面對創業過程中的失敗。作為一個創業者&#xff0c;開始的時候并非全才&#xff0c;很多知識都是經歷了創業中的失敗&#xff0c;摸爬滾打之后才學會的。所以&#xff0c;我們在創業過程…

基于STM32F4移植W5500官方驅動庫ioLibrary_Driver(轉)

源&#xff1a; 基于STM32F4移植W5500官方驅動庫ioLibrary_Driver 參考&#xff1a; 基于STM32W5500 的Ethernet和Internet移植 Upgrade W5500 Throughput on Nucleo STM32F401RE Using SPI DMA

redis 資料

redis是什么: Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. redis是開源,BSD許可,高級的key-value存儲系統. 可以用來存儲字…

Android應用開發——onStop的調用時機

onStop的調用時機&#xff0c;網上搜索到的說法大概是&#xff1a;“ onStop的調用是“The activity is no longer visible”&#xff0c;也就是完全不可見的時候調用的&#xff0c;這個完全不可見真的就是指視覺上的完全看不到而已&#xff0c;無論是按home鍵返回桌面&#xf…

UnaryOperator函數式接口

2019獨角獸企業重金招聘Python工程師標準>>> 這是一個函數式接口&#xff0c;因此可以用作lambda表達式或方法引用的賦值目標。 可以看到UnaryOperator<T>繼承了Function<T,T>接口&#xff0c;這里可是兩個T,T,還增加了static修飾的identity()方法。 然…

從程序員到項目經理

推薦研發工程師必看的內容 從程序員到項目經理 從程序員到項目經理”&#xff0c;這個標題讓我想起了很久以前一本書的名字《從Javascript到Java》。然而&#xff0c;從Javascript到Java充其量只是工具的更新&#xff0c;而從程序員到項目經理&#xff0c;卻是一個脫胎換骨的過…