Kaip simbolizuoti „Linux“ failą?

Noriu sukurti simbolinę nuorodą „Linux“. Aš parašiau šią bash komandą, kur pirmasis kelias yra aplankas, į kurį noriu nustatyti nuorodą, o antrasis kelias - kompiliuojamas šaltinis.

 ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal 

Ar tai tiesa?

1604
23 дек. nustatė chrissygormley gruodžio 23 d 2009-12-23 12:50 '09, 12:50, 2009-12-23 12:50
@ 18 atsakymų

Jei norite sukurti naują simbolinę nuorodą (nebus sėkminga, jei jau yra simbolinė nuoroda):

 ln -s /path/to/file /path/to/symlink 

Norėdami sukurti arba atnaujinti simbolinę nuorodą:

 ln -sf /path/to/file /path/to/symlink 
3180
23 дек. atsakymas pateikiamas hsz 23 d. 2009-12-23 12:52 '09, 12:52 val. 2009-12-23 12:52
 ln -s TARGET LINK_NAME 

Kai -s simbolis jį simbolizuoja.

258
23 дек. atsakymas pateikiamas kiberne 23 d. 2009-12-23 12:53 '09 12:53 val. 2009-12-23 12:53
 ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME 
251
23 дек. atsakymas, pateiktas pagal dublikatą 23 d. 2009-12-23 12:58 '09, 12:58, 2009-12-23 12:58
 ln -s target linkName 

Čia galite pamatyti šį puslapį:

http://linux.die.net/man/1/ln

84
23 дек. atsakymas, pateiktas rui 23 d. 2009-12-23 12:52 '09, 12:52 val. 2009-12-23 12:52

(Kadangi ASCII vaizdas yra vertas tūkstančius simbolių.)

Rodyklė gali būti naudinga mnemonija, ypač todėl, kad ji yra beveik tokia pati kaip Emacs.

Ir didelė nuotrauka, todėl jūs nesupainiote su „Windows“ versija.

Linux:

 ln -s target <- linkName 

„Windows“:

 mklink linkName -> target 

Taip pat galite juos peržiūrėti kaip

 ln -s "to-here" <- "from-here" mklink "from-here" -> "to-here" 

from-here neturėtų būti, jis turėtų būti sukurtas, o to-here jau turėtų būti (IIRC).

(Aš visuomet painu, ar įvairiose komandose ir argumentuose turėtų būti jau esama vieta, ar viena iš jų.)

Redaktorius: Jis vis dar lėtai nuskendo man; Turiu kitą būdą, kurį parašiau savo pastabose.

 ln -s (target exists) (link is made) mklink (link is made) (target exists) 
71
05 мая '14 в 21:09 2014-05-05 21:09 Atsakymas duotas Brady Trainor gegužės 05'14, 14:09 2014-05-05 21:09
 ln -s source_file target_file 

http://unixhelp.ed.ac.uk/CGI/man-cgi?ln

22
14 окт. atsakymą pateikė Rob M spalio 14 d. 2013-10-14 07:13 '13, 7:13, 2013-10-14 07:13

Į pradinį klausimą:


 'ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal' 

Tai iš tikrųjų sukurs simbolinę nuorodą ( -s ) iš failo / katalogo:

 <basebuild>/IpDome-kernel/kernel 

prie naujos nuorodos

 /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal 

Štai keletas būdų, kaip padėti prisiminti:

Pirma, yra ln . Tai galite pasiekti ieškodami „vyras“ „Google“ arba tiesiog atidarę terminalo >man ln , ir gausite tą pačią informaciją. Rankiniame puslapyje aiškiai nurodyta:

[OPTION] ... [-T] TARGET LINK_NAME (1 forma)


Jei turite ieškoti arba perskaityti pagalbos puslapį kiekvieną kartą, kai tai nėra jums, jums gali būti lengviau prisiminti, kad visos nix komandos veikia vienodai. :

 cp /file/that/exists /location/for/new/file mv /file/that/exists /location/its/moving/to ln /file/that/exists /the/new/link 

cp kopijuoja esamą failą (pirmąjį argumentą) į naują failą (antrasis argumentas).
mv perkelia esamą failą (pirmąjį argumentą) į naują vietą (antrasis argumentas) <ш> Panašiai, ln susieja esamą failą (pirmąjį argumentą) su nauja nuoroda (antrasis argumentas) *


Paskutinis variantas, kurį siūlau, yra sukurti savo rankinius puslapius, kuriuos būtų lengva skaityti ir lengvai (jums) rasti / prisiminti. Tiesiog sukurkite paprastą apvalkalo scenarijų, kuris suteiks jums reikiamą užuominą. Pavyzdžiui, :

.Bash_aliases faile galite įdėti kažką panašaus:

 commandsfx() { echo "Symlink: ln -s /path/to/file /path/to/symlink" echo "Copy: cp /file/to/copy /destination/to/send/copy" } alias 'cmds'=commandsfx 

Tada, kai reikia, tiesiog įveskite cmds iš komandų eilutės ir grąžinsite teisingą sintaksę, kad galėtumėte greitai jį perskaityti ir suprasti. Šias funkcijas galite padaryti tokias pat pažangias, kokias norite, kokią informaciją jums reikia. Jūs netgi galite padaryti juos interaktyvius, todėl tiesiog reikia sekti nurodymus.

 makesymlink() { echo "Symlink name:" read sym echo "File to link to:" read fil ln -s $fil $sym } alias 'symlink'=makesymlink 

* - akivaizdu, kad jie gali priimti skirtingus parametrus ir daryti skirtingus dalykus ir gali dirbti su failais ir katalogais ... bet prielaida yra ta pati
♦ pavyzdžiai, naudojant bash apvalkalą

17
06 авг. atsakymas, kurį pateikė Mike Aug 06 2014-08-06 16:42 '14 at 16:42 2014-08-06 16:42
 ln [-Ffhinsv] source_file [target_file] link, ln -- make links -s Create a symbolic link. A symbolic link contains the name of the file to which it is linked. An ln command appeared in Version 1 AT UNIX. 
14
23 дек. atsakymą pateikė miku 23 d. 2009-12-23 12:56 '09, 12:56, 2009-12-23 12:56

Simbolinių nuorodų ar minkštųjų nuorodų kūrimas „Linux“:

Atidarykite „Bash“ užklausą ir įveskite šią komandą, kad padarytumėte simbolinę nuorodą į failą:

A) Atidarykite aplanką, kuriame norite sukurti minkštą nuorodą, ir įveskite komandą, kaip parodyta toliau :

$ ln -s (path-to-file) (symbolic-link-to-file)

$ ln -s/home/user/file new-file

B) Eikite į savo kelią ir įveskite naują failo tipą :

$ ls -lrt (To see if the new-file is linked to the file or not)

Pavyzdys:

ls -lrt

lrwxrwxrwx 1 user user 24 Aug 6 23:40 new-file ->/home/user/file

Note: Where, A → B Means, A is symbolically linked to B

10
06 нояб. Atsakymą pateikė Ankit Raj 06.11. 2016-11-06 21:32 '16 at 21:32 pm 2016-11-06 21:32

ln -s sourcepath linkpathname

Pastaba:

-s vietoj kietųjų nuorodų sukuria simbolines nuorodas

10
11 мая '15 в 10:34 2015-05-11 10:34 atsakymą pateikė simranjeet gegužės 11, 15, 10:34 2015-05-11 10:34

Jei esate kataloge, kuriame norite sukurti simbolinę nuorodą, tada ignoruokite antrąjį kelią.

 cd myfolder ln -s target 

myfolder bus sukurta simbolinė target nuoroda.

Bendra sintaksė

 ln -s TARGET LINK_NAME 
10
16 апр. Atsakymą pateikė Fizer Khan balandžio 16 d. 2014-04-16 13:56 '14, 14:56 pm 2014-04-16 13:56

Norėčiau pateikti geriau suprantamą jau pateiktų aprašymų anglų kalbą.

  ln -s /path-text/of-symbolic-link /path/to/file-to-hold-that-text 

Komanda „ln“ sukuria failo nuorodą-FILE, o „-s“ reiškia, kad nuorodos tipas bus simbolinis. Simbolinės nuorodos failo pavyzdį galima rasti WINE įrenginyje (naudojant „ls -la“, kad būtų rodoma viena katalogo turinio eilutė):

  lrwxrwxrwx 1 me power 11 Jan 1 00:01 a: -> /mnt/floppy 

Standartinė failo informacija yra kairėje (nepamirškite, kad pirmasis simbolis yra "l", "link"); failo pavadinimas yra "a:", ir "->" taip pat rodo, kad failas yra nuoroda. Iš esmės, jis sako, kad „WINE“ yra „Windows“ „Disk A“: turėtų būti susietas su diskeliu Linux. Norėdami iš tikrųjų sukurti panašią panašią nuorodą (dabartiniame kataloge ir tai padaryti VYRUI, sunkiau, naudokite „winecfg“ įrankį):

  ln -s /mnt/floppy a: //will not work if file a: already exists 
7
04 апр. atsakymas pateikiamas vernonner3voltazim 04 Bal. 2014-04-04 17:19 '14, 17:19, 2014-04-04 17:19

Tai stekų perpildymas, todėl manau, kad norite kodo:

Visi šie kodai reiškia, kad norite sukurti simbolinę nuorodą su pavadinimu /tmp/link kuri nurodo /tmp/realfile .

DĖMESIO : Nors šis kodas tikrina klaidas, jis /tmp/realfile ! Taip yra dėl to, kad miręs ryšys vis dar galioja ir, priklausomai nuo jūsų kodo, galite (retai) sukurti nuorodą prieš faktinį failą.


Shell (bash, zsh, ...)

 #include <unistd.h> #include <stdio.h> int main () { if( symlink("/tmp/realfile", "/tmp/link") != 0 ) perror("Can't create the symlink"); } 

symlink grąžina 0 tik kurdama nuorodą. Kitais atvejais naudoju perror kad galėčiau daugiau sužinoti apie problemą.

Perl

5
02 февр. Garo atsakymas 02 vasaris 2018-02-02 00:11 '18 - 0:11, 2018-02-02 00:11

Norėdami sukurti simbolinę nuorodą / minkštą nuorodą, naudokite:

 ln -s {source-filename} {symbolic-filename} 

pavyzdžiui:

 ln -s file1 link1 
4
10 июля '17 в 22:30 2017-07-10 22:30 atsakymą pateikė „ Prem S “ liepos 10 d. 17.30 val. 2017-07-10 22:30

Yra dviejų tipų nuorodos:

simbolinės nuorodos: žr. simbolinį kelią, nurodantį kitos bylos abstrakčią vietą

kietos nuorodos: nurodykite konkrečią fizinių duomenų vietą.

Jūsų atveju, simbolinės nuorodos:

 ln -s source target 

Galite apsilankyti adresu http://man7.org/linux/man-pages/man7/symlink.7.html

galite sukurti per kietas nuorodas

Kieta nuoroda į failą neatitinka pradinio katalogo įrašo; bet kokie failo pakeitimai iš esmės nepriklauso nuo pavadinimo, kuriuo remiamasi faile. Kietosios nuorodos paprastai nenurodo katalogų ir negali apimti failų sistemų.

 ln source link 
2
27 июня '17 в 20:55 2017-06-27 20:55 atsakymas pateikiamas wpp birželio 27 d. 17 val. 20:55 2017-06-27 20:55

Aš šiek tiek supainioti su terminais „target“ ir „directory“ informacijai apie asmenį.

Tikslas yra aplankas, prie kurio esame prijungti, ir katalogas yra tikra simbolinė nuoroda (o ne katalogas, į kurį kreiptės), jei kas nors patiria tą pačią painiavą, nesijaučia vieni.

Tai yra mano nuorodos („Linux“) kūrimo interpretacija:

 ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK 

Galite pereiti į aplanką, kuriame norite sukurti simbolinę nuorodą, ir paleiskite komandą arba nurodykite FULL PATH už simbolinę nuorodą vietoj NAME-OF-YOUR-SYMLINK.

 cd /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO NAME-OF-YOUR-SYMLINK 

Or

 ln -s /FULL/PATH/FOLDER-OR-FILE-SYMLINKING-TO /FULL/PATH/TO/MY-SYMLINK-PARENT-FOLDER/NAME-OF-YOUR-SYMLINK 

Tikiuosi, kad tai padės tiems, kurie vis dėlto susipainioja.

1
16 нояб. Atsakymas pateikiamas mmmdearte 16 lapkričio. 2017-11-16 13:35 '17, 13:35 pm 2017-11-16 13:35

Nuorodos daugiausia yra dviejų tipų:

simbolinės nuorodos („Soft“): nuoroda į simbolinį kelią, nurodantį kitos bylos abstrakčią vietą

kietos nuorodos: nuoroda į konkrečią fizinių duomenų vietą.

1 pavyzdys: ln / root / file1 / root / file2

Pirmiau pateikiamas kietos nuorodos pavyzdys, kuriame galite turėti savo fizinių duomenų kopiją.

2 pavyzdys: ln -s / kelias / į / file1.txt / path / to / file2.txt

Pirmiau pateikta komanda sukurs simbolinę nuorodą į failą file1.txt.

Jei ištrinsite šaltinio failą, paskirties vietoje „Soft“ nieko nerasite

kai tai darote:

ls -lai

Pamatysite, kad simboliniams ryšiams yra dar vienas kodo numeris.

Norėdami gauti daugiau informacijos, galite skaityti „ln“ žmogų savo linux os.

Ačiū

0
06 дек. Atsakymas suteikiamas Prabhat Singh 06 d. 2018-12-06 04:53 '18 at 4:53 2018-12-06 04:53

Kaip sukurti simbolinę nuorodą į hobą. Žingsniai:

  • Klastiniame faile sukurkite sinchronizuotą aplanką. pvz., config.vm.synced_folder "F: / Sunburst / source / sunburst / lms", "/ source" F: / Sunburst / source / sunburst / lms: - kur šaltinio kodas / šaltinis: - katalogo kelias viduje
  • Ištraukite ir įveskite vagrant ssh ir eikite į šaltinio katalogą, pvz., Cd šaltinį
  • Įsitikinkite, kad šaltinio kodo šaltinio kodo struktūra yra šaltinio aplanke. pavyzdžiui, / source / local
  • Tada eikite į svečių kompiuterio katalogą, kur failai, susiję su naršykle. Gavę atsarginę failą. pvz., sudo mv local local_bk
  • Tada sukurkite simbolinę nuorodą, pavyzdžiui, sudo ln - s / source / local local. vietinis vidurio nuorodos pavadinimas (aplanko, esančio svečių mašinoje, pavadinimas, kurį ketinate susieti), jei norite ištrinti simbolinę nuorodą: - Įveskite sudo rm local
-2
15 февр. Atsakymą pateikė Vayodya Tamari vasario 15 d. 2016-02-15 12:54 '16 at 12:54 2016-02-15 12:54

Kiti klausimai apie „ arba „ Klauskite“