GNU/Linux >> Znalost Linux >  >> Linux

Omezení délky názvu souboru na linuxu?

Řešení 1:

Podívejte se na stránku Wikipedie o porovnání systémů souborů, zejména ve sloupci Maximální délka souboru .

Zde jsou některé limity délky názvů souborů v populárních souborových systémech:

BTRFS   255 bytes
exFAT   255 UTF-16 characters
ext2    255 bytes
ext3    255 bytes
ext3cow 255 bytes
ext4    255 bytes
FAT32   8.3 (255 UCS-2 code units with VFAT LFNs)
NTFS    255 characters
XFS     255 bytes

Řešení 2:

Četl jsem zde, že limit délky cesty je v záhlaví systému. Je zde také limit délky názvu souboru. V mém systému je to soubor:

  /usr/src/linux-headers-2.6.38-10/include/linux/limits.h

a C-lang definuje:

  #define NAME_MAX         255    /* # chars in a file name */
  #define PATH_MAX        4096    /* # chars in a path name including nul */

a některé další.

Řešení 3:

Existují v Linuxu nějaké limity délky souboru nebo cesty?

Ano, délka názvu souboru a názvu cesty je omezena :

  • omezení souborového systému, jak uvádí WerkkreW;
  • konstanty definované v linux/limits.h jak uvádí sfp.

Chcete-li dynamicky získat tyto vlastnosti:

  • Používejte funkce pathconf a fpathconf jak navrhuje Michael Aaron Safyan
  • Vytvořte název souboru (nebo cestu) delší a delší, jak vysvětluje dogbane
  • Použijte příkaz getconf jak navrhuje tim, který je k dispozici také na Linuxu:

    $ getconf NAME_MAX /mnt/sda2/
    255
    $ getconf PATH_MAX /mnt/sda3/
    4096
    

Řešení 4:

A kvůli úspoře času (a ukotvení v paměti):

ext2, ext3, ext4, zfs:bez omezení názvu cesty; limit 255 bajtů souboru.

Řešení 5:

To jsou délky názvů souborového systému. "linux" sám také nějaké má. Například z bits/stdio_lim.h:

# define FILENAME_MAX 4096

Linux
  1. Získejte délku MP3 v Linuxu / FreeBSD

  2. Linux:směrování založené na názvech domén

  3. Měření „celkového počtu zapsaných bytů“ pod Linuxem

  1. Jak nastavit limity na uživatelské procesy v Linuxu

  2. Jak nakonfigurovat replikaci MySQL Multi-Master Replication na Oracle Linux

  3. OpenBSD:Brána mimo podsíť (funguje v Linuxu)

  1. Správa oddílů v Linuxu pomocí fdisk

  2. Různé metody připojení disku v Linuxu?

  3. Linuxový příkaz Ping vysvětlený s příklady