GNU/Linux >> Znalost Linux >  >> Linux

Odstraňte soubor v systému Linux pomocí čísla inodu

Některé další metody zahrnují:

escapování speciálních znaků:

[~]$rm \"la\*

použijte příkaz find a prohledejte pouze aktuální adresář. Příkaz find dokáže vyhledávat čísla inodů a má praktický -delete přepínač:

[~]$ls -i
7404301 "la*

[~]$find . -maxdepth 1 -type f -inum 7404301
./"la*

[~]$find . -maxdepth 1 -type f -inum 7404301 -delete
[~]$ls -i
[~]$

Možná mi něco uniká, ale...

rm '"la*'

Každopádně názvy souborů nemají inody, soubory ano. Pokus o odstranění souboru bez odstranění všech názvů souborů, které na něj ukazují, poškodí váš souborový systém.


Pokud opravdu chcete to udělat - a váš případ použití ve skutečnosti vůbec nevypadá, že byste to potřebovali, můžete zkusit nástroje pro ladění souborového systému. Pokud jste ochotni ztratit všechno, ano.

Například pro ext2/3/4 debugfs příkaz má možnost "kill_file", která vypadá, že bere inode. Jak je uvedeno v jiných odpovědích, toto bude poškodit váš systém souborů, protože v adresáři budou položky odkazující na neexistující soubor. Spuštěn fsck později to může být možné opravit. Je nepravděpodobné, že to můžete udělat na připojeném souborovém systému.

Ale důrazně doporučuji stačí použít vhodné escapování/uvozovky a smazat takové soubory běžným rm příkaz, jak je uvedeno v dřívější odpovědi - a použijte rm -i pro větší bezpečnost při práci s názvy souborů obsahujícími kulové znaky jako *


Linux
  1. Použití síly na příkazovém řádku Linuxu

  2. Jak extrahovat soubor tar.gz v Linuxu pomocí příkazového řádku

  3. Jak odebrat uživatele v Linuxu pomocí příkazového řádku

  1. Co je číslo inodu v Linuxu?

  2. Základní příklady příkazu File v Linuxu

  3. Použití příkazu mkfs v Linuxu k formátování systému souborů na disku nebo oddílu

  1. Používání Disku Google z příkazového řádku systému Linux

  2. Vytvářejte soubory pomocí příkazového řádku v Linuxu

  3. 4 nástroje ke stažení libovolného souboru pomocí příkazového řádku v Linuxu