के माध्यम से एक सापेक्ष प्रतीकात्मक लिंक बनाना, मैं ओएस पैकेज का उपयोग करके एक सापेक्ष प्रतीकात्मक लिंक बनाना चाहता हूं।ओएस पैकेज
ओएस पहले से ही contains the function: os.SymLink(oldname, newname string)
, लेकिन यह सापेक्ष सिम्लिंक नहीं बना सकता है।
, अगर मैं निम्नलिखित चलाएँ:
$ ls -la /tmp/rolfl/symexample
total 12
drwxr-xr-x 2 rolf rolf 4096 Feb 21 15:21 .
drwxr-xr-x 3 rolf rolf 4096 Feb 21 15:21 ..
lrwxrwxrwx 1 rolf rolf 35 Feb 21 15:21 symlink -> /tmp/rolfl/symexample/symtarget.txt
-rw-r--r-- 1 rolf rolf 6 Feb 21 15:21 symtarget.txt
मैं golang का उपयोग कैसे रिश्तेदार सिमलिंक कि तरह लग रहा है बनाने के लिए कर सकते हैं::
package main
import (
"io/ioutil"
"os"
"path/filepath"
)
func main() {
path := "/tmp/rolfl/symexample"
target := filepath.Join(path, "symtarget.txt")
os.MkdirAll(path, 0755)
ioutil.WriteFile(target, []byte("Hello\n"), 0644)
symlink := filepath.Join(path, "symlink")
os.Symlink(target, symlink)
}
यह मेरी फाइल सिस्टम में निम्नलिखित बनाता है
$ ln -s symtarget.txt symrelative
$ ls -la
total 12
drwxr-xr-x 2 rolf rolf 4096 Feb 21 15:23 .
drwxr-xr-x 3 rolf rolf 4096 Feb 21 15:21 ..
lrwxrwxrwx 1 rolf rolf 35 Feb 21 15:21 symlink -> /tmp/rolfl/symexample/symtarget.txt
lrwxrwxrwx 1 rolf rolf 13 Feb 21 15:23 symrelative -> symtarget.txt
-rw-r--r-- 1 rolf rolf 6 Feb 21 15:21 symtarget.txt
मुझे कुछ ऐसा चाहिए जो ऊपर symrelative
जैसा है।
मैं os/exec
का सहारा लेना है:
cmd := exec.Command("ln", "-s", "symtarget.txt", "symlink")
cmd.Dir = "/tmp/rolfl/symexample"
cmd.CombinedOutput()