我有兩個資料夾,其中一個是我的網頁伺服器根目錄。我想將它連結到我的專案資料夾,以便我可以透過 Git 保持最新狀態。
如果我嘗試這樣做:
ln -s /home/user/project /var/www/html
系統會建立一個資料夾,名為專案在 html 資料夾中,並連結該資料夾。有什麼方法可以連結它,以便目錄“html”指向內容專案?他們必須同名嗎?
筆記:我還需要連結幾個隱藏檔案。我可以使用 來做到這一點ln
嗎?
答案1
從man ln
:
預設情況下,每個目的地(新連結的名稱)不應已存在。
由於您已經有一個名為 的目錄,因此將在其中建立具有目標名稱的html
鏈接,即。/var/www/html
project
如果您想要一個符號連結/var/www/html
指向,/home/user/project
那麼您不應該html
事先存在該目錄。因此,您應該只具有/var/www
然後運行以下命令將創建所需的符號連結(除非您確定,否則不要這樣做):
ln -s /home/user/project /var/www/html
筆記:如果您使用尾部斜線(如ln -s /home/user/project /var/www/html/
),您將收到錯誤:ln: target '/var/www/html' is not a directory: No such file or directory
。
這是一個例子:
$ pwd
/home/user/test/askubuntu
$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:16 foo
$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo
$ ls -l
total 4
drwxrwxr-x 2 user user 4096 Mar 25 00:17 foo
$ cd foo/
$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:17 bar -> /home/user/test/bar
$ cd ..
$ rm -r foo/
$ ls -l
total 0
$ ln -s /home/user/test/bar /home/user/test/askubuntu/foo
$ ls -l
total 0
lrwxrwxrwx 1 user user 25 Mar 25 00:18 foo -> /home/user/test/bar
是的,您可以建立隱藏檔案的符號連結。
答案2
確保 html 目錄沒有在/var/www/
.
那麼命令是:ln -s -T /home/user/project /var/www/html