Chflags

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

chflags - Ändra filsystemets flaggor

Kommandot `chflags` används för att ändra filsystemets flaggor på filer och kataloger i Unix-liknande operativsystem, särskilt på macOS och BSD-system.

Syntax

chflags [ALTERNATIV] FLAGGA... FIL...

Beskrivning

Kommandot `chflags` ändrar filsystemets flaggor för filer och kataloger. Flaggorna kan användas för att ändra olika beteenden hos filer och kataloger, som skrivskydd eller append-only.

Alternativ

Kommandot `chflags` stöder flera alternativ som kan användas för att justera hur flaggorna ändras:

  • -R - Ändra flaggor rekursivt för kataloger och deras innehåll.
  • -H - Följ symboliska länkar som ges som argument.
  • -L - Följ symboliska länkar under rekursiv bearbetning.
  • -P - Följ inte symboliska länkar under rekursiv bearbetning.
  • --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Flaggor

Följande flaggor kan användas med `chflags`:

  • arch - Arkiverad.
  • opaque - Opaque katalog.
  • nodump - Exkludera från säkerhetskopiering.
  • sappnd - System append-only.
  • schg - System immutable.
  • uappnd - Användarens append-only.
  • uchg - Användarens immutable.
  • hidden - Dold.
  • sunlnk - System undeletable.
  • uunlnk - Användarens undeletable.

För att lägga till en flagga, använd `+`, för att ta bort en flagga, använd `-`, och för att ställa in en flagga exakt, använd `=`.

Exempel

Här är några praktiska exempel som visar hur du kan använda `chflags`-kommandot:

  • För att göra en fil skrivskyddad (immutable):

chflags uchg fil.txt

  • För att ta bort skrivskydd från en fil:

chflags nouchg fil.txt

  • För att sätta append-only flagga på en loggfil:

chflags uappnd loggfil.log

  • För att ta bort append-only flagga från en loggfil:

chflags nouappnd loggfil.log

  • För att rekursivt ändra flaggor för en katalog och dess innehåll:

chflags -R uchg katalog/

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `chflags` på macOS jämfört med Linux:

  • **Tillgänglighet:** `chflags`-kommandot är specifikt för macOS och BSD-system. Det finns inget direkt motsvarande kommando på Linux för att ändra filsystemflaggor på samma sätt.
  • **Filsystem:** `chflags` fungerar på HFS+ och APFS-filsystem som används av macOS. På Linux används andra kommandon som `chattr` för att ändra filattribut på ext2/ext3/ext4-filsystem.
  • **Flaggor:** Flaggorna som stöds av `chflags` på macOS är specifika för macOS-filsystem och har inte direkt motsvarighet på Linux.

Exempel på att använda `chattr` på Linux:

  • För att göra en fil skrivskyddad (immutable):

sudo chattr +i fil.txt

  • För att ta bort skrivskydd från en fil:

sudo chattr -i fil.txt

Det är alltid bra att konsultera `man`-sidan för `chflags` på macOS och motsvarande kommandon på Linux för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `chflags`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att du har tillräckliga rättigheter att ändra filflaggor (kör som root eller använd sudo om det behövs).
  • Att filsystemet du arbetar med är kompatibelt med de flaggor du försöker sätta.

Se även

  • chattr - Ändra filattribut på ett Linux-filsystem.
  • lsattr - Visa filattribut på ett Linux-filsystem.
  • chmod - Ändra filers behörigheter.
  • xattr - Hantera utökade filattribut på macOS.

Källor