Vraag Hoe een bestand symboliseren in Linux?


Ik wil een symbolische link maken in Linux. Ik heb deze bash-opdracht geschreven waarbij het eerste pad de map is waarnaar ik wil linken en het tweede pad de gecompileerde bron.

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

Is dit correct?


1470
2017-12-23 09:50


oorsprong


antwoorden:


Een nieuwe symlink maken (mislukt als de symlink al bestaat):

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

Om een ​​symlink aan te maken of bij te werken:

ln -sf /path/to/file /path/to/symlink

2955
2017-12-23 09:52



ln -s TARGET LINK_NAME

Waar de -s maakt het symbolisch.


244
2017-12-23 09:53



ln -s EXISTING_FILE_OR_DIRECTORY SYMLINK_NAME

231
2017-12-23 09:58



ln -s target linkName

U kunt hier de man-pagina bekijken:

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


77
2017-12-23 09:52



(Omdat een ASCII-afbeelding duizend tekens waard is.)

Een pijl kan een handig ezelsbruggetje zijn, vooral omdat dat bijna precies is hoe het er in Emacs 'dired uitzag.

En grote afbeelding, zodat u het niet verwart met de Windows-versie

Linux:

ln -s target <- linkName

Ramen:

mklink linkName -> target

Je zou ook kunnen kijken naar deze

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

De from-here zou nog niet moeten bestaan, het moet gecreëerd worden, terwijl het to-here zou al moeten bestaan ​​(IIRC).

(Ik raak altijd in de war of verschillende opdrachten en argumenten betrekking moeten hebben op een reeds bestaande locatie of een locatie die moet worden gemaakt.)

EDIT: Het zinkt nog steeds langzaam in voor mij; Ik heb een andere manier die ik in mijn aantekeningen heb geschreven.

ln -s (target exists) (link is made)
mklink (link is made) (target exists)

65
2018-05-05 18:09



ln -s source_file target_file

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


21
2017-10-14 04:13



Naar de oorspronkelijke vraag:


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

Dit zal inderdaad een creëren symbolische link (-s) uit het bestand / map:

<basebuild>/IpDome-kernel/kernel

naar je nieuwe link

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

Hier zijn een paar manieren om u te helpen herinneren:

Ten eerste is er de man pagina voor ln. U kunt hier toegang toe krijgen door "man ln" in google te zoeken of een terminalvenster te openen en te typen man ln en je krijgt dezelfde informatie. Op de man-pagina staat duidelijk:

ln [OPTIE] ... [-T] TARGET LINK_NAME (1e formulier)


Als het elke keer zoeken of lezen van een manpagina niet voor jou is, heb je het misschien makkelijker om alles te onthouden nix-opdrachten werken op dezelfde manier


17
2017-08-06 13: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&T UNIX.

14
2017-12-23 09:56



Als u zich in de directory bevindt waar u de symlink wilt maken, negeert u het tweede pad.

cd myfolder
ln -s target

Het zal een symlink van maken target binnen myfolder.

Algemene syntaxis

ln -s TARGET LINK_NAME

10
2018-04-16 10:56



ln -s sourcepath linkpathname 

Notitie:

-s maakt symbolische koppelingen in plaats van harde koppelingen


10
2018-05-11 07:34



Ik zou graag een duidelijker Engelse versie van de reeds gepresenteerde beschrijvingen presenteren.

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

De opdracht "ln" maakt een link-FILE en de "-s" geeft aan dat het type koppeling symbolisch is. Een voorbeeld van een symbolisch link-bestand is te vinden in een WINE-installatie (met "ls -la" om één regel van de directoryinhoud weer te geven):

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

Standaard file-info spul is links (hoewel het eerste teken een "l" is voor "link"); de bestandsnaam is "a:" en de "->" geeft ook aan dat het bestand een koppeling is. Het vertelt eigenlijk WINE hoe Windows "Drive A:" geassocieerd moet worden met een floppy drive in Linux. Om daadwerkelijk een symbolische koppeling te maken GELIJKAARDIG daaraan (in de huidige map, en om dit feitelijk voor WINE te doen is het ingewikkelder, gebruik het "winecfg" hulpprogramma):

 ln -s  /mnt/floppy  a:   //will not work if file a: already exists

7
2018-04-04 14:19