Frage Gibt es eine temporäre Datei in Ubuntu?


Das ist mir oft passiert:

Ich sollte das Ergebnis eines Befehls an die Datei übergeben. Nach der Verwendung von Ergebnis über das, wird das nutzlos. Also sollte ich das entfernen, um mein Verzeichnis sauber zu machen: - {|

Aber der Punkt ist, ich vergiss diese Datei zu löschen. Gibt es eine Möglichkeit in Ubuntu, mit diesem Problem umzugehen?


0
2017-07-25 16:57


Ursprung




Antworten:


Verwenden Sie das Verzeichnis /tmp Es wird beim nächsten Neustart geleert


3
2017-07-25 17:03





Ja, jede Linux-Distribution, einschließlich Ubuntu, hat ein Verzeichnis

/tmp

Jeder Benutzer hat Schreibrechte in diesem Verzeichnis und kann Dateien darin erstellen. Diese Dateien werden nicht für immer aufbewahrt - Inhalt der /tmp Verzeichnis wird nach jedem Systemneustart gelöscht.


4
2017-07-25 17:18





Sie sagen nicht, ob Sie kompilierten Code schreiben oder Bash verwenden?

Tested Bash Scripting:

template = / tmp / $ (Basisname $ 0) _ $ (Datum --rfc-3339 = Datum) __ $$ __ XXXXXXXX
template = "$ (echo -n" $ template "| tr '' '_')"
file = $ (mktemp -u $ template)
echo $ Datei

Beispielausgabe: /tmp/bash_2014-07-25__4772__nrzQXfMg

Wiederholen von file= (die letzten zwei Zeilen) für neue Dateinamen ...


2
2017-07-25 18:31





Sie könnten Folgendes in Erwägung ziehen:

  1. Verwenden tmpfile () erstellt eine Datei, die bis zum Ende des Programms geöffnet bleibt.
  2. Verwenden shm_open () Vielleicht ist es besser, wenn es Ihr Ziel ist, die Kommunikation zwischen den Prozessen zu ermöglichen.

Wenn es ein Sicherheitsrisiko gibt, das die Löschung der Datei erfordert - Dies Link wird für dich interessant sein.


1
2017-07-25 17:44