Android

Jak odstranit (odstranit) symbolické odkazy v Linuxu

NAS Access From DLNA Hack. Videos, Photos & Music From Windows 7 PC DLNA Server. Roku & Smart TV.

NAS Access From DLNA Hack. Videos, Photos & Music From Windows 7 PC DLNA Server. Roku & Smart TV.

Obsah:

Anonim

Symbolický odkaz, také známý jako symbolický odkaz, je speciální typ souboru, který odkazuje na jiný soubor nebo adresář. Je to něco jako zkratka ve Windows. Symbolický odkaz může odkazovat na soubor nebo adresář na stejném nebo jiném souborovém systému nebo oddílu.

V této příručce vám ukážeme, jak odstranit (odstranit) symbolické odkazy v systémech Linux / UNIX pomocí příkazů rm , unlink a find .

Než začnete

Chcete-li odebrat symbolický odkaz, musíte mít oprávnění k zápisu do adresáře obsahujícího tento symbolický odkaz. Jinak se zobrazí chyba „Operace není povolena“.

Když odeberete symbolický odkaz, soubor, na který odkazuje, nebude ovlivněn.

Pomocí příkazu ls -l zkontrolujte, zda je daný soubor symbolickým odkazem, a vyhledejte soubor nebo adresář, na který symbolický odkaz odkazuje.

ls -l /usr/bin/python

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

První znak „l“ označuje, že se jedná o symbolický odkaz. Symbol „->“ ukazuje soubor, na který odkazuje symbolický odkaz.

Odstraňte symbolické odkazy pomocí rm

Příkaz rm odstraní dané soubory a adresáře.

Chcete-li smazat symbolický odkaz, vyvolejte jako argument příkaz rm nímž následuje symbolický název odkazu:

rm symlink_name

Po úspěchu příkaz skončí s nulou a nezobrazí žádný výstup.

Pomocí rm můžete vymazat více než jeden symbolický odkaz najednou. Chcete-li to provést, předejte názvy symbolických odkazů jako argumenty oddělené mezerou:

rm symlink1 symlink2

Chcete-li být vyzváni před odebráním symbolu, použijte volbu -i :

rm -i symlink_name

Pro potvrzení zadejte y a stiskněte Enter .

rm: remove symbolic link 'symlink_name'?

Pokud symbolický odkaz odkazuje na adresář, nepřipojujte na konec lomítko / koncové. Jinak se zobrazí chyba:

rm symlink_to_dir/

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

Pokud název argumentu končí / , příkaz rm předpokládá, že soubor je adresář. K chybě dochází, protože při použití bez volby -d nebo -r nemůže rm odstranit adresáře.

Chcete-li být na bezpečné straně, nikdy -r možnost při odstraňování symbolických odkazů s rm . Pokud například zadáte:

rm -f symlink_to_dir/

Obsah cílového adresáře bude odstraněn.

Odstraňte symbolické odkazy pomocí unlink

Příkaz unlink odstraní daný soubor. Na rozdíl od rm , unlink přijímá pouze jediný argument.

Chcete-li smazat symbolický odkaz, spusťte příkaz unlink následovaný názvem symlink jako argument:

unlink symlink_name

Pokud se příkaz spustí úspěšně, nezobrazí se žádný výstup.

Nepřidávejte lomítko / koncové lomítko na konec názvu symbolu, protože unlink nemůže odstranit adresáře.

Vyhledejte a odstraňte poškozené symbolické odkazy

Chcete-li najít všechny poškozené symbolické odkazy v daném adresáři, spusťte následující příkaz:

find /path/to/directory -xtype l

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

Příkaz zobrazí seznam všech přerušených odkazů v adresáři a jeho podadresářích.

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

/path/to/directory/symlink1

Jakmile najdete rozbité odkazy, můžete je ručně odstranit pomocí rm nebo unlink nebo použít volbu -delete příkazu find :

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

Závěr

Chcete-li odebrat symbolický odkaz, použijte jako argument příkaz rm nebo unlink následovaný názvem symbolického odkazu. Při odebírání symbolického odkazu, který odkazuje na adresář, nepřipojujte koncové lomítko k názvu symbolu.

rm unlink find terminál