Android

Hogyan lehet eltávolítani (törölni) a szimbolikus linkeket a linuxban

The Great Gildersleeve: Community Chest Football / Bullard for Mayor / Weight Problems

The Great Gildersleeve: Community Chest Football / Bullard for Mayor / Weight Problems

Tartalomjegyzék:

Anonim

A szimbolikus link, más néven hivatkozás link, egy speciális fájltípus, amely egy másik fájlra vagy könyvtárra mutat. Ez olyan parancsikon, mint a Windows. A hivatkozás egy fájlra vagy könyvtárra mutathat ugyanazon vagy más fájlrendszeren vagy partíción.

Ebben az útmutatóban megmutatjuk, hogyan lehet eltávolítani (törölni) a szimbolikus linkeket a Linux / UNIX rendszerekben az rm , a unlink és a parancsok find .

Mielőtt elkezded

A hivatkozás eltávolításához írási jogosultságokkal kell rendelkeznie a hivatkozást tartalmazó könyvtárban. Ellenkező esetben „A művelet nem engedélyezett” hibaüzenetet kap.

Egy hivatkozás eltávolításakor a fájl, amelyre mutat, nem érinti.

Az ls -l paranccsal ellenőrizze, hogy egy adott fájl szimbolikus link-e, és megtalálja a fájlt vagy könyvtárat, amelyre a szimbolikus link mutat.

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

Az első „l” karakter azt jelzi, hogy a fájl egy hivatkozás. A „->” szimbólum azt a fájlt mutatja, amelyre a hivatkozás mutat.

Távolítsa el a szimbolikus hivatkozásokat az rm rel

Az rm parancs eltávolítja az adott fájlokat és könyvtárakat.

Egy hivatkozás törléséhez hívja fel argumentumként az rm parancsot, majd a szimbolikus hivatkozás nevét:

rm symlink_name

Siker esetén a parancs nullával lép ki, és nem jelenít meg kimenetet.

Az rm egyszerre több szimbolikus linket is törölhet. Ehhez adja át a szimbólumok neveit argumentumként, szóközzel elválasztva:

rm symlink1 symlink2

A jelölés eltávolítása elõtt a -i opcióval kaphat figyelmeztetést:

rm -i symlink_name

Az y típus megerősítéséhez nyomja meg az Enter billentyűt.

rm: remove symbolic link 'symlink_name'?

Ha a szimbolikus link egy könyvtárra mutat, ne illessze be a / záró perjelét a végére. Ellenkező esetben hibaüzenetet kap:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

Ha az argumentum neve / ér véget, az rm parancs feltételezi, hogy a fájl egy könyvtár. A hiba azért fordul elő, mert a -d vagy -r opció nélkül történő használat esetén az rm nem tudja törölni a könyvtárakat.

Ahhoz, hogy biztonságos legyen, soha -r opcióval távolítsa el a szimbolikus kapcsolatokat az rm rel. Például, ha gépel:

rm -f symlink_to_dir/

A célkönyvtár tartalma törlődik.

Távolítsa el a szimbolikus hivatkozásokat a unlink

Az unlink parancs törli az adott fájlt. Az rm eltérően az unlink csak egyetlen érvet fogad el.

Szimbolikus hivatkozás törléséhez futtassa az unlink parancsot, amelyet argumentumként a szimlink név követ:

unlink symlink_name

Ha a parancs sikeresen végrehajtódik, akkor nem jelenik meg kimenet.

Ne csatolja a / záró perjelét a szimbólumnév végére, mert a unlink nem tudja eltávolítani a könyvtárakat.

Törött szimbolikus hivatkozások keresése és törlése

Az összes törött szimbolikus hivatkozás megtalálásához egy adott könyvtár alatt futtassa a következő parancsot:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

A parancs felsorolja az összes törött linket a könyvtár alatt és annak alkönyvtáraiban.

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

Miután megtalálta a törött hivatkozásokat, manuálisan eltávolíthatja azokat az rm lel, vagy unlink vagy használhatja a find parancs -delete opcióját:

find /path/to/directory -xtype l -delete

Következtetés

A szimbolikus hivatkozás eltávolításához használja az rm vagy a unlink parancsot, amelyet argumentumként a szimbólum neve követ. Ha eltávolít egy szimbolikus hivatkozást, amely egy könyvtárra mutat, ne csatoljon hátsó perjelét a szimbólum névhez.

rm leválasztás terminál