[Löst] Skript för att göra filer ej exekverbara

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
perab
Inlägg: 88
Blev medlem: 21 jul 2008, 13:15
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Hunnestad (Ystad)

[Löst] Skript för att göra filer ej exekverbara

Inlägg av perab »

Hej!
Den här gången är det inte frågan om något problem, utan snarare om en finess. Min fråga är, om någon därute har ett bash-skript för att plocka bort x-attributet från filer i aktuell katalog och alla dess underkataloger. Det går ju inte att bara köra kommandot chmod -x rekursivt rakt av. Ty då blir ju även katalogerna icke körbara, vilket som bekant medför att man inte kan gå ner i dessa. Någon som har ett tjusigt bash-skript?

Situationen kan uppkomma om man tar igen en backup (av dokument) som gjorts på en NTFS-disk. Skriptet skulle spara en hel del arbete.

Per
Senast redigerad av 1 perab, redigerad totalt 10 gånger.
Det enda säkra sättet att aldrig misslyckas - det är att inte göra någonting alls!
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

Re: Skript för att göra filer ej exekverbara

Inlägg av Lars »

Det görs enkelt med find. Ett skript skulle kunna se ut så här:

Kod: Markera allt

#!/bin/sh

find $1 -type f -exec chmod -x \{\} \;
Anropa med skriptnamn <katalognamn>
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Skript för att göra filer ej exekverbara

Inlägg av mcNisse »

eller

Kod: Markera allt

find . -type f -print0 | xargs -0 chmod -x
Användarvisningsbild
perab
Inlägg: 88
Blev medlem: 21 jul 2008, 13:15
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Hunnestad (Ystad)

Re: Skript för att göra filer ej exekverbara

Inlägg av perab »

Tjusigt!
Tack till Lars, och tack till mcNisse - igen. Det här besparar mig mycket jobb nu när jag håller på att installera upp en ny dator och tar igen alla backuper från USB-hårddisken (NTFS).
Det enda säkra sättet att aldrig misslyckas - det är att inte göra någonting alls!
Skriv svar

Återgå till "Terminalforum"