GNU Stow:如何僅儲存選定的檔案/資料夾?

GNU Stow:如何僅儲存選定的檔案/資料夾?

我們假設名為 的資料夾具有以下結構scripts

├── scripts
│   └── .scripts
│       ├── script1
│       ├── script2
│       └── script3
│   └── .config
│       ├── script4
│       ├── script5
│       └── script6

使用時stow scripts,其中的兩個資料夾scripts將符號連結到~/.scripts~/.config

我可以使用 stow 僅符號連結.scripts而不​​必.config從資料夾中刪除但基本上忽略它嗎?

答案1

stow忽略列表它允許您將一個名為的檔案.stow-local-ignore放在原始碼樹的頂部。這樣,您可以\.scripts讓 stow 忽略該目錄,而不將其連結到目標樹中。

答案2

我們來介紹一些斯托術語:

預設情況下斯托取得目前目錄是你的存放目錄,您在命令列中作為參數輸入的名稱存放包裹和父目錄作為目標目錄,所以當您輸入:

$ stow scripts

沒有任何選擇你的存放目錄是目前目錄,scripts是你的包裹目前目錄的父目錄成為存放目錄目標目錄包裹將在哪裡出現要安裝(將在其中建立符號連結)。

您可以明確告知存放目錄包裹您想要在命令列中安裝,如下列命令所示:

$ stow -d /path_to_scripts_folder/scripts -S .scripts

這裡的herescripts被定義為你的存放目錄.scripts作為你的包裹斯托術語

您可以選擇指定目標目錄,即相對於檔案(檔案的符號連結)應放置的位置的目錄:

$ stow -d /path/scripts -S .scripts -t ~/

要測試任何此選項,您可以使用-n僅模擬變更而不修改檔案系統的標誌:

$ stow -n -d /path/scripts -S .scripts -t ~/

如果您想查看應採取的所有操作,您可以新增 -v 指定從 0(無-v標誌)到 3( -vvv) 的詳細程度:

$ stow -n -d /path/scripts -S .scripts -t ~/ -vvv 

隨著此選項變得越來越複雜,最好編寫一些 shell 腳本來自動化您的工作並為您提供最大的靈活性。

相關內容