• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] .Trash per Script leeren

Thommy345

Newbie
Hallo zusammen,

kann mir jemand sagen wie ich den Samba-Benutzer-Ordner .Trash per Script löschen kann?

Hab nur das gefunden:
Damit wird aber der ganze Ordner gelöscht, wollte ihn aber nur leeren bzw. nur den Inhalt löschen...
Code:
rm -rf /Pfad/zum/Samba/.Trash/


Konnte leider bisher nirgens was passendes finden.

Gruß
Thommy345
 

abgdf

Guru
Am einfachsten ist es, wenn Du der obigen Zeile noch ein
Code:
mkdir /Pfad/zum/Samba/.Trash
hinzufügst.

Gruß
 
OP
T

Thommy345

Newbie
Hi,
dachte ich auch schon.
Aber funktioniert der neu erstellte Ordner dann auch richtig bzw. wie sinnvoll ist das?

Ist das leeren des Ordners nicht möglich?
 
Hallo

Noch einfacher ;-)

Code:
rm -rf /Pfad/zum/Samba/.Trash/*

Der Stern ist ein Platzhalter der für alles steht was IN dem Ordner ist.
Der Ordner selber bleibt dadurch verschont.


Gruß Peter
 

abgdf

Guru
Also, wenn's so funktioniert, ok. Das Problem ist aber, bei manchen Operationen (bei "cp" glaube ich) erwischt man mit dem "*" auch das ".." in dem Verzeichnis und also Daten aus dem übergeordneten Verzeichnis, die man nicht erfassen möchte. Gerade bei "rm -rf" bin ich da immer etwas vorsichtig :roll:.

Wäre eigentlich ganz gut, wenn jemand mal beschreiben könnte, wann genau ".." miterfaßt wird und wann nicht und warum das so ist ...

Gruß

P.S.: Die Rechte an einem (neu erstellten) Verzeichnis kann man mit "chmod" setzen, falls das nötig sein sollte.
 

abgdf

Guru
@stka: Aha, heißt das,
Code:
rm -rf /directory/*
löscht dann also auch keine Punktdateien ? Das sollte in dem Tip dann auch berücksichtigt werden.
Ebenso, wie man die Punktdateien in einem Verzeichnis dann nun mitlöscht, ohne auf ".." zuzugreifen, ich glaube
Code:
rm -rf /directory/.[!.]*
... und das "Quatsch" kannst Du dann auch weglassen, wäre höflicher :wink: ...

Gruß
 

stka

Guru
mach doch einfach folgendes:
rm -rf * .*
wenn du alles löschen willst. Achte auf das Leerzeichen zwichen dem ersten Stern und dem Punkt ;-)
 
Hallo ihr beide

Kann es sein das ich total auf der Leitung stehe?
Irgendwie komme ich nicht mehr mit um was es eigentlich geht.

~/* hat für mich noch nie was anderes bedeutet als ALLES WAS NACH ~/ KOMMT .
Ich verstehe absolut nicht die Zusammenhänge warum der Schuss jetzt plötzlich in die entgegengesetzte Richtung gehen soll.

Auch meine Erfahrung zeigt mir immer wieder das mit ~/* alles nach dem Slash bearbeitet wird.

Also , bin langsam echt planlos.

Gruß Peter
 

abgdf

Guru
Hallo,

es geht um die versteckten Dateien. Die haben einen "." vor dem Dateinamen, also z.B. "~/.bashrc".
In "~" sind besonders viele davon. Sie werden bei "ls -a" angezeigt. Laut stka erwischst Du die mit "~/*" nicht, Du müßtest da also noch "~/.*" nehmen.

Das Problem ist, daß Verzeichnisse auch noch ".." als Symbol für das übergeordnete Verzeichnis enthalten. Es kann daher sein, daß Du mit "~/.*" auch Daten im übergeordneten Verzeichnis erwischst, was bei "rm -rf" ja fatal wäre. Meiner Meinung nach ist "~/.[!.]*" richtig: Das sind dann also alle versteckten Dateien im Verzeichnis, nur nicht "..".

Wegen all dieser Schwierigkeiten, die bei Verzeichnissen auftauchen können, die versteckte Dateien enthalten, mein ursprünglicher Tip:

Lösch' das Verzeichnis insgesamt mit "rm" und erstell' es neu mit "mkdir".

Gruß
 
Hallo

Ich habe jetzt mal

ls -a ~/*

probiert.

tatsächlich werden da auch .. ausgegeben.
Jetzt bin ich bisschen gescheiter. Darauf wäre ich echt nicht gekommen.

Nimmt man allerdings

ls ~/*

werden keine .. ausgegeben.

Ich musste aber noch nie Versteckte Dateien bearbeiten, deshalb habe ich da auch nie drauf geachtet.

Danke für den Hinweis :)

Gruß Peter
 
Oben