GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Muss Pipe eine temporäre Datei schreiben?

  1. Pipes speichern keine Daten auf der Festplatte. /bin/echo foo | grep bar erstellt keine Dateien. versuchen Sie es mit strace -f sh -c '/bin/echo foo | grep bar' um alle Systemaufrufe anzuzeigen, die von einer Shell beim Ausführen einer Pipeline ausgeführt werden. echo ist eine eingebaute Shell, also habe ich /bin/echo vorgeschlagen damit die Shell eine ausführbare Datei ausführt.

  2. /tmp muss nicht auf der Festplatte sein. Es kann auf tmpfs gemountet werden (d. h. durch virtuellen Speicher unterstützt). Beachten Sie, dass ein Neustart /tmp leert Verwenden Sie in diesem Fall also /var/tmp für alles, was Sie herumlassen möchten.

Wenn Sie Daten in eine Datei einfügen, wird keine Pipe verwendet. Wenn die Datei eine Fifo-Datei ist, keine normale Datei, dann ist sie nur ein benanntes Rendezvous und enthält keine Daten. Verwenden Sie ls -l, um es herauszufinden.

Und beachten Sie, dass Sie, wenn Sie hoffen, Benutzer daran zu hindern, zu sehen, was durch Pipes in Prozessen läuft, die ihnen gehören, ziemlich SOL sind, weil strace kann alles untersuchen, was ein Prozess tut, was mit irgendetwas außerhalb des Prozesses interagiert, mit Ausnahme des Lesens/Schreibens von mmapped Shared Memory. ltrace ist noch invasiver. Wenn Ihr Programm auf Systemen ausgeführt wird, auf denen der lokale Benutzer root ist, können Sie sie überhaupt nicht stoppen. Unter Unix kann root alles tun und verfügt über leistungsstarke Tools für diesen Zweck.


Linux
  1. Der Zweck der Verwendung eines Fifo im Vergleich zu einer temporären Datei oder einer Pipe?

  2. Hat Curl eine Zeitüberschreitung?

  3. Was bedeutet Exec 3?

  4. Hat Python ein argc-Argument?

  5. Wie funktioniert Rm? Was macht Rm?

Bash:In Datei schreiben

So schreiben Sie Daten in eine Datei unter Linux

Shell - Variableninhalte in eine Datei schreiben

Hat Python eine Synchronisierung?

Wie kann ich tcpdump in eine Datei schreiben und die entsprechenden Daten standardmäßig ausgeben lassen?

Implementiert irgendein Dateisystem den Copy-on-Write-Mechanismus für CP?