Android

Paano alisin (tanggalin) ang simbolikong mga link sa linux

Paano maka Connect sa Wifi kahit Hindi mo Alam Password

Paano maka Connect sa Wifi kahit Hindi mo Alam Password

Talaan ng mga Nilalaman:

Anonim

Ang isang simbolikong link, na kilala rin bilang symlink, ay isang espesyal na uri ng file na tumuturo sa ibang file o direktoryo. Ito ay tulad ng isang shortcut sa Windows. Ang isang symlink ay maaaring ituro sa isang file o isang direktoryo sa pareho o isang iba't ibang filesystem o pagkahati.

Sa gabay na ito, ipapakita namin sa iyo kung paano alisin (tanggalin) ang mga simbolikong link sa mga sistema ng Linux / UNIX gamit ang rm , unlink , at find utos.

Bago ka magsimula

Upang matanggal ang isang symlink, kailangan mong magkaroon ng mga pahintulot sa pagsulat sa direktoryo na naglalaman ng symlink. Kung hindi, makakakuha ka ng error na "Hindi pinapayagan" ang operasyon.

Kapag tinanggal mo ang isang symlink, ang file na itinuturo nito ay hindi apektado.

Gamitin ang ls -l utos upang suriin kung ang isang naibigay na file ay isang simbolikong link, at upang mahanap ang file o direktoryo na simbolikong link point sa.

ls -l /usr/bin/python

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

Ang unang character na "l", ay nagpapahiwatig na ang file ay isang symlink. Ang simbolo ng "->" ay nagpapakita ng file na mga puntos ng symlink.

Alisin ang mga Simbolo na Link na may rm

Inaalis ng utos ng rm naibigay na file at direktoryo.

Upang matanggal ang isang symlink, itawag ang utos ng rm sinundan ng simbolikong link na link bilang isang argumento:

rm symlink_name

Sa tagumpay, ang utos ay lumabas na walang zero at hindi nagpapakita ng output.

Sa rm maaari mong tanggalin ang higit sa isang simbolikong mga link nang sabay-sabay. Upang gawin iyon ay pumasa sa mga pangalan ng mga symlink bilang mga argumento, na pinaghiwalay ng puwang:

rm symlink1 symlink2

Upang makakuha ng sinenyasan bago alisin ang symlink, gamitin ang -i pagpipilian:

rm -i symlink_name

Upang kumpirmahin ang uri y at pindutin ang Enter .

rm: remove symbolic link 'symlink_name'?

Kung ang mga simbolikong link point sa isang direktoryo, huwag idadagdag ang / trailing slash sa dulo. Kung hindi, makakakuha ka ng isang error:

rm symlink_to_dir/

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

Kung ang pangalan ng argument ay natapos sa / , ipinagpapalagay ng rm command na ang file ay isang direktoryo. Ang pagkakamali ay nangyayari dahil, kapag ginamit nang walang opsyon na-o o -r , hindi maaaring tanggalin ng rm ang mga direktoryo.

Upang maging nasa ligtas na bahagi, hindi kailanman -r pagpipilian kapag tinanggal ang mga simbolikong mga link na may rm . Halimbawa, kung nagta-type ka:

rm -f symlink_to_dir/

Ang mga nilalaman ng direktoryo ng target ay tatanggalin.

Alisin ang mga Simbolo na Link na may unlink

Ang utos ng unlink nagtatanggal ng isang naibigay na file. Hindi tulad ng rm , ang unlink tumatanggap lamang ng isang solong argumento.

Upang tanggalin ang isang simbolikong link, patakbuhin ang unlink utos na sinusundan ng pangalan ng symlink bilang isang argumento:

unlink symlink_name

Kung matagumpay na isinasagawa ng utos, walang ipinakitang output.

Huwag idagdag ang / trailing slash sa pagtatapos ng symlink na pangalan dahil hindi maalis ng unlink ang mga direktoryo.

Hanapin at Tanggalin ang Broken Symbolic Links

Upang mahanap ang lahat ng mga nasirang simbolikong mga link sa ilalim ng isang naibigay na direktoryo, patakbuhin ang sumusunod na utos:

find /path/to/directory -xtype l

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

Ililista ng utos ang lahat ng mga nasirang link sa ilalim ng direktoryo at mga subdirektoryo nito.

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

/path/to/directory/symlink1

Kapag nahanap mo ang mga sirang symlinks, maaari mo ring manu-manong alisin ang mga ito gamit ang rm o unlink o gagamitin ang -delete pagpipilian ng utos na find :

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

Konklusyon

Upang matanggal ang isang makasagisag na link, gamitin ang alinman sa rm o unlink utos na sinusundan ng pangalan ng symlink bilang isang argumento. Kapag nag-aalis ng isang makasagisag na link na tumuturo sa isang direktoryo ay hindi magdagdag ng isang trailing slash sa pangalan ng symlink.

rm unlink makahanap ng terminal