Linux軟鏈接的使用

Linux軟鏈接的使用

轉自:https://www.cnblogs.com/sueyyyy/p/10985443.html,本博文僅對原博排版稍微優化。

更為細致的硬鏈接、軟鏈接的介紹可參考:Linux中的硬鏈接和軟鏈接

另外,提供筆者對軟連接的一個最簡單的理解:就相當于Windows中的快捷方式文件,但是軟連接不僅可以鏈接文件,還可以鏈接目錄。
并且給出一個應用場景示例:我們在訓練深度學習模型時,通常數據集會單獨放在一個目錄下,我們某個模型的訓練腳本則在工程目錄內,這時我們就要給出很長一串路徑寫在我們的文件內,如:

train_dataset = datasets.ImageFolder('/ssd1t/song/Datasets/ImageNet/ImageNet_2012_DataSets/ILSVRC2012_img_train',transforms.Compose(augmentation))

但實際上,我們可以通過軟連接,將其鏈接到我們的工程目錄下,并且這樣并不會占據額外的空間:

ln -s /ssd1t/song/Datasets/ImageNet/ImageNet_2012_DataSets/ILSVRC2012_img_train imagenet_trainset

這樣,在我們的訓練腳本內指定路徑時就可以直接指向imagenet的軟連接imagenet_trainset

train_dataset = datasets.ImageFolder('imagenet_trainset',transforms.Compose(augmentation))

另外要注意,如果想要生成目錄(而非文件)的軟連接,必須用絕對路徑

以下是轉載原文:

簡介

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

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

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

例如:

ln -s /usr/local/mysql/bin/mysql /usr/bin

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

軟鏈接和硬連接

硬連接

硬連接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的連接。只刪除一個連接并不影響索引節點本身和其它的連接,只有當最后一個連接被刪除后,文件的數據塊及目錄的連接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬連接文件均被刪除。

軟連接

另外一種連接稱之為符號連接(Symbolic Link),也叫軟連接。軟鏈接文件有類似于Windows的快捷方式。它實際上是一個特殊的文件。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。

使用方式

創建軟鏈接

ln -s [源文件或目錄] [目標文件或目錄]

例:

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

ln –s  /var/www/test  test

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

ln –s /var/www/test  /var/test

刪除軟鏈接

和刪除普通的文件是一樣的,刪除都是使用rm來進行操作

例:

刪除test

rm –rf test

修改軟鏈接

ln –snf [新的源文件或目錄] [目標文件或目錄]

這將會修改原有的鏈接地址為新的地址

例:

創建一個軟鏈接

ln –s  /var/www/test   /var/test

修改指向的新路徑

ln –snf  /var/www/test1   /var/test

常用參數:

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

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

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

相關文章

oracle死鎖優化,Oracle性能優化之LockContention(轉)

1、概念DML事務使用row-level locks,查詢不會鎖定數據。鎖有兩種模式:exlusive、share。鎖的類型:? DML or data locks:– Table-level locks(TM)– Row-level locks(TX)? DDL or dictionary locks一個transaction至少獲得兩個鎖:一個共享的…

Linux中g++與gcc的區別

轉自:https://blog.csdn.net/bit_clearoff/article/details/53965514 Windows中我們常用vs來編譯編寫好的C和C代碼;vs把編輯器,編譯器和調試器等工具都集成在這一款工具中,在Linux下我們能用什么工具來編譯所編寫好的代碼呢&#…

linux系統可以用迅雷嗎,在Linux系統下使用wine運行迅雷5的方法

在Linux系統下使用wine運行迅雷5的方法一、下載ies4linux去 http://www.tatanka.com.br/ies4linux/page/Installation 下載ies4linux的文件包(目前版本為2.99),然后解壓縮。注意:這個網站被大陸和諧了,需要跳墻。至于怎么跳,諸位就…

從C源代碼到可執行文件的四個過程:預處理、編譯、匯編、鏈接

從C源代碼到可執行文件的四個過程:預處理、編譯、匯編、鏈接 總覽 我們將在Linux操作系統中,以C語言的Hello World程序為例,用gcc編譯器分步執行這四個步驟。 我們有再熟悉不過的HelloWorld程序,hello.c: #include …

uboot引導linux內核,u-boot啟動內核的幾種方式

1.uboot啟動內核的代碼縮減如下:s getenv ("bootcmd");debug ("### main_loop: bootcmd\"%s\"\n", s ? s : "");if (bootdelay > 0 && s && !abortboot (bootdelay)){run_command (s, 0);}2.假設boot…

跟我一起寫makefile: 概述、介紹、規則

跟我一起寫makefile 概述、介紹、規則 轉自:https://seisman.github.io/how-to-write-makefile/rules.html 概述 什么是makefile?或許很多Windows的程序員都不知道這個東西,因為那些Windows的集成開發環境(integrated developm…

linux內核中cent文件夾,Centos 中如何快速定制二進制的內核 RPM 包

1、rpm 制作前的環境準備:yum install -y ncurses-devel qt-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel bc2、準…

TabError- inconsistent use of tabs and spaces in indentation 查驗及解決方法

TabError: inconsistent use of tabs and spaces in indentation 查驗及解決方法 報錯代碼 def eccv16(pretrainedTrue):model ECCVGenerator()if(pretrained):import torch.utils.model_zoo as model_zoomodel.load_state_dict(torch.load(/home/ps/.cache/torch/hub/check…

linux用xshell編輯文件,Linux遠程管理器xshell和xftp使用教程

Xshell 是一個強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協議。Xftp 是一個基于 MS windows 平臺的功能強大的SFTP、FTP 文件傳輸軟件。安裝完畢后打開xshell設置網站帳號信息設置主機信息設置服務器帳號設置字符集編碼設置好了…

strict=False 但還是size mismatch for []: copying a param with shape [] from checkpoint,the shape in cur

strictFalse 但還是size mismatch for []: copying a param with shape [] from checkpoint,the shape in cur 問題 我們知道通過 model.load_state_dict(state_dict, strictFalse)可以暫且忽略掉模型和參數文件中不匹配的參數,先將正常匹配的參數從文件中載入模…

linux中權限765啥意思,Linux中的文件權限

Linux系統中的每一個文件都與多種權限類型相關聯。在這些權限中,我們主要和三類權限打交道:用戶(user)、用戶組(group)和其他用戶(others)。用戶是文件的所有者;用戶組是指和文件所有者在同一組的其他多個用戶的集合;其他用戶是除…

CV中的色彩空間大全

HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV顏色模型 HSV顏色空間 HSV(hue,saturation,value)顏色空間的模型對應于圓柱坐標系中的一個圓錐形子集,圓錐的頂面對應于V1. 它包含RGB模型中的R1,G1,B1 三個面,所代表的…

linux 系統調用時怎么知道當前上下文屬于那個進程,linux – 編寫系統調用來計算進程的上下文切換...

如果您的系統調用只應報告統計信息,則可以使用內核中已有的上下文切換計數代碼.struct rusage {...long ru_nvcsw; /* voluntary context switches */long ru_nivcsw; /* involuntary context switches */};您可以通過運行來嘗試:$/usr/bin/time -v /bin/ls -R....V…

linux串口緩沖區的大小,linux-----------串口設置緩沖器的大小

轉自:http://stackoverflow.com/questions/10815811/linux-serial-port-reading-can-i-change-size-of-input-bufferYou want to use the serial IOCTL TIOCSSERIAL which allows changing both receive buffer depth and send buffer depth (among other things). The maximum…

FLOPs、FLOPS、Params的含義及PyTorch中的計算方法

FLOPs、FLOPS、Params的含義及PyTorch中的計算方法 含義解釋 FLOPS:注意全大寫,是floating point operations per second的縮寫(這里的大S表示second秒),表示每秒浮點運算次數,理解為計算速度。是一個衡量…

設置中文linux輸入ubuntu,Linux_ubuntu怎么設置成中文?ubuntu中文設置圖文方法,  很多朋友安裝ubuntu后,發 - phpStudy...

ubuntu怎么設置成中文?ubuntu中文設置圖文方法很多朋友安裝ubuntu后,發現都是英文,看不懂要怎么辦?其實ubuntu是可以設置成中文的,下文小編就為大家帶來ubuntu中文的設置方法,一起去看下設置方法吧。ubuntu中文設置方…

科普 | 單精度、雙精度、多精度和混合精度計算的區別是什么?

科普 | 單精度、雙精度、多精度和混合精度計算的區別是什么? 轉自:https://zhuanlan.zhihu.com/p/93812784 我們提到圓周率 π 的時候,它有很多種表達方式,既可以用數學常數3.14159表示,也可以用一長串1和0的二進制長串表示。 …

linux 磁盤分配 簡書,linux 磁盤分區

1物理磁盤的構成: 盤面:由一圈一圈的磁道組成機械手臂:讀取數據主軸馬達:幫助機械手臂轉動2 扇區:磁盤上存取數據的最小單位512字節按照扇區分配大小,如果數據只有一字節也會占用512字節簇:用若…

條件控制與條件傳送詳解

條件控制與條件傳送詳解 提要 CSAPP3e中文譯本 3.6.5 用條件控制來實現條件分支 3.6.6 用條件傳送來實現條件分支 CSAPP3e第三章前面主要是介紹了機器級代碼的二進制形式和匯編形式、反匯編、x86匯編的基礎指令、條件碼及其訪問方式等。 在介紹到匯編語言的條件分支時分了兩…

聯合體(union)的使用方法及其本質

聯合體(union)的使用方法及其本質 轉自:https://blog.csdn.net/huqinwei987/article/details/23597091 有些基礎知識快淡忘了,所以有必要復習一遍,在不借助課本死知識的前提下做些推理判斷,溫故知新。 1…