warum zeigt `sudo ls` unter os x versteckte (punkt-) dateien an?
<p>unter os x yosemite erhalte ich mit den folgenden befehlen folgendes:</p><pre><code>$ touch .a $ touch b $ /bin/ls b $ /bin/ls -a .a b $ sudo /bin/ls .a b </code></pre><p>es zeigt versteckte dateien (die namen haben, die mit einem punkt beginnen), wenn sie von root aufgerufen werden, und zeigt sie nicht (wie erwartet), wenn sie als normaler benutzer ausgeführt werden. dies unterscheidet sich von dem, was <code>ls</code> unter linux (das von <code>coreutils</code>) macht.</p><p>warum verhält sich <code>ls</code> so?</p>
<p>es stellt sich heraus, dass diese funktion nicht apple-spezifisch ist. dies ist eine funktion von bsd-systemen im allgemeinen.</p><pre class="lang-c prettyprint-override"><code>/* root is -a automatically. */ if (!getuid()) f\_listdot = 1; </code></pre><p>anfangs konnte ich es auf die quellen von <a href="https://en.wikipedia.org/wiki/berkeley\_software\_distribution#4.4bsd\_and\_descendants">4.4bsd-lite</a> zurückführen. es war bereits in <a href="https://github.com/freebsd/freebsd/commit/e3cfc8ce61f788739c66445d903f8beacb40c93d#diff-a30c1f878c93e1e26c3202136ff6bf7er117">diesem freebsd-commit</a> von 1994 vorhanden, das diese quellen importiert.</p><p>das feature ist auch in openbsd vorhanden und befindet sich in <a href="https://bitbucket.org/braindamaged/openbsd-src/src/a1b09369d5c0/bin/ls/ls.c#cl-132">this commit</a> von 1995, das behauptet, code von netbsd zu importieren, also war dies bereits in <a href="https://en.wikipedia.org/wiki/netbsd">netbsd</a> vorhanden.</p><p>dann entdeckt man das commit von netbsd aus dem jahr 1993, das behauptet, code von <a href="https://en.wikipedia.org/?title=386bsd">386bsd</a> zu importieren, und das feature ist bereits <a href="https://github.com/jsonn/src/blob/c589a90df16e73a2ed13548cd02b0a70bb40c7da/bin/ls/ls.c#l115">da</a> . außerdem zeigt <a href="https://github.com/dspinellis/unix-history-repo/blob/79b4d47f00826f8f26364ed06b785b51245db5f6/usr/src/bin/ls/ls.c#l115">this commit</a> , dass es während der entwicklung der 386bsd-version 0.0 im jahr 1991 vorhanden war, die, soweit ich das beurteilen kann, von bsd um 4.3 abging.</p><p>der kommentar erschien zum ersten mal während der entwicklung von <a href="https://en.wikipedia.org/wiki/berkeley\_software\_distribution#4.3bsd">4.3bsd-reno</a> in <a href="https://github.com/dspinellis/unix-history-repo/commit/73adc5d219c3b410682916780f5acb057a4b8200#diff-5be2ee00918e5be9b9a88c50a3379165l67">this commit</a> (27. juni 1989) mit dem titel "first working version of new ls". der ursprüngliche kommentar lautete:</p><pre class="lang-c prettyprint-override"><code>/* root sees all files automatically */ </code></pre><p>das wurde <a href="https://github.com/dspinellis/unix-history-repo/commit/587f69318c5558c4ac94721796dacbc6d76c06dd#diff-5be2ee00918e5be9b9a88c50a3379165l80">später an diesem tag geändert.</a> (ich bin nicht sicher, ob die zeitstempel in diesem repository vollständig korrekt sind.)</p><pre class="lang-c prettyprint-override"><code>/* root is -a automatically */ </code></pre><p>und erst 1992 wurden der großbuchstabe und der punkt <a href="https://github.com/dspinellis/unix-history-repo/commit/aaa3304701dfb25efa8f9862d6bf1defd104e26a#diff-5be2ee00918e5be9b9a88c50a3379165l91">hinzugefügt</a> der kommentar wird zu dem, was wir jetzt haben:</p><pre class="lang-c prettyprint-override"><code>/* root is -a automatically. */ </code></pre><p>aber das verhalten war in 2bsd ab dem 9. mai 1979 vorhanden, wie in <a href="https://github.com/dspinellis/unix-history-repo/blob/bsd-2-snapshot-development/src/ls.c#l105">diesem schnappschuss</a> zu sehen:</p><pre class="lang-c prettyprint-override"><code>aflg = getuid() == 0; </code></pre><p>ich kann keine aktuelle geschichte aus dieser zeit finden, aber es gibt auch <a href="https://github.com/dspinellis/unix-history-repo/blob/bsd-1-snapshot-development/.ref-research-v6/usr/source/s1/ls.c">diesen schnappschuss</a> von 1bsd aus dem jahr 1977 <em> ohne </em> diese zeilen. und ohne das <code>-a</code> flag eigentlich.</p><p>es scheint also, dass die funktion irgendwo zwischen november 1977 (1bsd wird gerade entwickelt) und der veröffentlichung von 2bsd im mai 1979 eingeführt wurde.</p><hr><p>was ich bei dieser untersuchung auch gefunden habe, ist das <code>-i</code>-flag, das <a href="https://github.com/freebsd/freebsd/commit/bb06a7834025d8fa0447c1e3e75c895e47730345"></a> in freebsd im jahr 2005 hinzugefügt wurde, um dieses verhalten außer kraft zu setzen, und <a href="https://github.com/freebsd/freebsd/commit/872d416547f20c6fefccc1b07c8bdc226632704c">etwas später überarbeitet</a> wurde.</p>
Eine geöffnete Datei wird durch einen sogenannten *file descriptor* repräsentiert.  


Mit 


```
[anweisung] n> [datei]
```
 wird [anweisung] ausgeführt und das, was der dadurch erzeugte Prozess in die Datei mit file descriptor n schreibt, wird stattdessen in die Datei [datei] gerschrieben.   
Beim Programmstart werden üblicherweise automatisch drei Dateien geöffnet:

    0: stdin Die Standardeingabe  


    1: stdout Die Standardausgabe

    2: stderr Die Fehlerausgabe

**Beispiele.**


```
ls 1> files.txt  

```
schreibt den Inhalt des aktuellen Ordners in die Datei files.txt und zeigt Fehlermeldungen am Bildschirm an. Die 1 hätte hier weggelassen werden können.  

```
ls 2> ls.err  

```
Zeigt den Inhalt des aktuellen Ordners am Bildschirm an und schreibt Fehlermeldungen in die Datei ls.err.
```
ls 2>ls.err 1> files.txt  

```
Schreibt Inhalt des aktuellen Ordners in die Datei files.txt und Fehlermeldungen in die Datei ls.err.
```
ls 2>&1 | cat > output  

```
Schreibt Inhalt des aktuellen Ordners und Fehlermeldungen in die Datei output. Ein Betriebssystem verwaltet das Zusammenspiel der [Hardware](https://it-service.network/it-lexikon/hardware)- und [Software](https://it-service.network/it-lexikon/software)-Komponenten eines Computers, sodass dieser mit einer benutzerfreundlichen Oberfläche verwendet werden kann. Als Kurzformen werden BS (Betriebssystem) und OS (Operating System) verwendet. Im wesentlichen kommen zwei Ursachen für dein Problem in Frage. Die este Ursache ist, das deine
Festplatte kaputt ist (Datenträgerfehler), da Festplatten sehr empfindlich sind und externe Festplatten sind nicht sonderlich geschützt.
Als zweite Möglichkeit kommt in betracht, das es zu einem Fehler in der Struktur deiner Festplatte gekommen ist. Dabei kann es zu Schäden an der Partitionstabelle, der Master File Table, oder
einfach eines Verzeichniseintrags (Ordner) gekommen sein, was sich im allgemeinen reparieren lässt. Dazu brauchst du aber ein Programm zu Datenrettung/wiederherstellung wie
z.B. PC Inspector File Recovery.


<http://www.chip.de/downloads/PC-Inspector-File-Recovery_13006819.html>


Damit kannst du die verlorenen Dateien wiederfinden und auf eine andere Partition oder Festplatte kopieren. Auf keinen Fall darfst du damit die Daten auf die Partition kopieren von der du die Daten retten möchtest, denn du würdest damit die noch zu rettenden Daten überschreiben. Sind alle Daten von der USB Festplatte gerettet, solltest du diese Festplatte
formatieren bevor du deine Dateien zurück kopierst.


Zu solchen Fehelern kommt es übrigens, wenn man den USB Stecker zu früh raus zieht (am bestem immer "Hardware sicher entfernen" Symbol im Sys-tray neben der Uhr auf der Taskleiste benutzen) oder USB Stecker erst abziehen wenn der Computer aus ist. Für USB Sticks gilt das gleiche. Weitere Ursachen können sein, wenn der Computer abstürzt wärend Dateien auf die Festplatte kopiert werden oder aber auch ein Virus. <p>sie können das meiste davon tun, indem sie eine login.sql verwenden. login.sql wird während der - überraschenden - anmeldung ausgeführt und aus ihrem sqlpath oder dem aktuellen verzeichnis geladen. für die beispiele, die sie gegeben haben, haben sie wirklich den schlimmsten fall gewählt.</p><p>problem ist der sqlterminator. was auch immer sie dort eingeben, der schrägstrich wird als kostenloser sql-minator beibehalten. daneben sucht sqlplus zuerst nach dem sqlterminator und führt dies vor dem scannen zum string-terminator durch. ein fehler, wenn sie mich fragen. der schrägstrich kann in einer zeichenfolge verwendet werden, solange er nicht allein in einer separaten zeile steht. sobald sqlplus das als sqlterminator angegebene zeichen findet, ignoriert es alles andere und hört auf zu lesen.</p><p>der schrägstrich kann behandelt werden, solange er nicht alleine in einer zeile steht.</p><p>login.sql enthält:</p><pre><code>prompt run login.sql show sqlterminator show sqlblanklines set sqlblanklines on set sqlterminator ';' show sqlterminator show sqlblanklines prompt ready login.sql set echo on </code></pre><p>leigh.sql enthält:</p><pre><code>insert into t1 values ('fail bc semicolon a;a / '); insert into t1 values ('fail bc solo / aa / '); insert into t1 values ('ok / not solo aa /a '); delete from t1 where a = 'c a/ '; </code></pre><p>führen sie das skript aus:</p><pre><code>sqlplus leigh/leigh@orcl @leigh sql*plus: release 10.2.0.4.0 - production on thu aug 9 22:36:20 2012 copyright (c) 1982, 2007, oracle. all rights reserved. connected to: oracle database 11g enterprise edition release 11.2.0.3.0 - 64bit production with the partitioning, real application clusters, automatic storage management, olap, data mining and real application testing options run login.sql sqlterminator ";" (hex 3b) sqlblanklines off sqlterminator ";" (hex 3b) sqlblanklines on ready login.sql sql&gt; insert into t1 values ('fail bc semicolon 2 a;a 3 / error: ora-01756: quoted string not properly terminated sql&gt; '); sp2-0042: unknown command "')" - rest of line ignored. sql&gt; sql&gt; insert into t1 values ('fail bc solo / 2 3 4 aa 5 / error: ora-01756: quoted string not properly terminated sql&gt; '); sp2-0042: unknown command "')" - rest of line ignored. sql&gt; sql&gt; insert into t1 values ('ok / not solo 2 3 4 aa 5 /a 6 '); 1 row created. sql&gt; sql&gt; delete from t1 where a = 'c 2 3 4 a/ 5 '; 0 rows deleted. </code></pre><p>sie müssen nicht mit start-/endblöcken herumspielen. der befehl sqlterminator innerhalb des befehls kann nicht verarbeitet werden, unabhängig davon, wo er sich in einer zeichenfolge befindet oder nicht. er kann keine zeilen mit schrägstrich allein in einer zeile in einer zeichenfolge verarbeiten.</p> hallo,

ich habe das probleme geufnden.

in der datei /etc/default/linbo-multicast steht start\_multicast=no.

ändert man die zeile in start\_multicast=yes wird die datei multicast.list beim starten des dienstes erzeugt.

root@server:/srv/linbo# systemctl start linbo-multicast.service

root@server:/srv… Verstehe nicht, warum kein NTFS? Unter Windows gibt es keine andere Möglichkeit. Es sei denn, Du installierst einen virtuellen Rechner (VMWare) und dort Linux oder auf einer 2. Partition oder Festplatte Linux separat installieren. 


Du kannst ja auch auf einer 2. Partiton oder Festplatte NTFS einrichten, nur für "überlange" Dateien. <p>das paket <a href="http://packages.ubuntu.com/search?keywords=unattended-upgrades">nbeaufsichtigte upgrades</a> bietet funktionen zum automatischen installieren von sicherheitsupdates.</p><p>sie können dies verwenden, aber anstatt den automatischen teil zu konfigurieren, können sie ihn manuell aufrufen:</p><pre><code>sudo unattended-upgrade -d --dry-run sudo unattended-upgrade -d </code></pre><p>wenn sie es stattdessen ruhig ausführen möchten:</p><pre><code>sudo unattended-upgrade </code></pre><p>hinweis: wenn sie das unbeaufsichtigte upgrade aufrufen, lassen sie das "s" am ende stehen.</p><p>dies setzt voraus, dass das paket standardmäßig installiert ist, was wahrscheinlich auch so ist. wenn nicht, machen sie einfach:</p><pre><code>sudo apt-get install unattended-upgrades </code></pre><p>siehe auch <code>/usr/share/doc/unattended-upgrades/readme.md</code>.</p> <p>ich verwende <a href="http://noscript.net/features">noscript</a> , aber liste jede site auf, die ich tatsächlich verwenden möchte.</p><blockquote> <p>wenn sie noscript installieren, werden javascript, java, flash silverlight und möglicherweise andere ausführbare inhalte standardmäßig <em> blockiert </em>. sie können <em> die ausführung von </em> javascript/java/... selektiv auf den websites zulassen, denen sie vertrauen. sie können einer site erlauben, skripte vorübergehend auszuführen, wenn sie nur zufällig oder dauerhaft surfen, wenn sie sie häufig besuchen und ihr wirklich vertrauen. dies bedeutet, dass noscript aus ihren eigenen browsergewohnheiten lernt und nach einer weile im hintergrund verschwindet. wenn sie jedoch auf eine schädliche webseite stoßen, wird es sofort wieder angezeigt, um ihren tag zu retten.</p> <p>wenn sie eine site mit blockierten skripten durchsuchen, wird eine benachrichtigung angezeigt, die der vom popupblocker ausgegebenen ähnelt.<br> sehen sie sich das symbol oder das statusleistensymbol an, um die aktuellen noscript-berechtigungen zu erfahren ...</p> <p><img src="https://i.stack.imgur.com/zfxkv.png" alt="http://noscript.net/noscript/ss0.png" title="noscript tooltip screen shot"></p> </blockquote> Normalerweise sagst du bei dem Gerät das du installieren oder einen neuen Treiber installieren willst, wo der Treiber liegt -> da gibst du dann deine sys-Datei an. Du kannst die Datei auch ins Verzeichnis C:\Windows\System32\drivers kopieren und hoffen, dass das Gerät dann entsprechend automatisch installiert wird, weil es sich so seinen Treiber von selber findet. Eine andere Frage ist die des ordentlichen Virenschutzes - man weiss ja nie wirklich, was man sich da so runterladet....solltest du also schon haben :-) schau mal unter system/über mein system nach, ob da überall wm0 steht. wm0 gibt an, dass das sonos-net aktiv ist. sofern da wm1 steht, wäre es das wlan des routers. sofern wm1 da steht, bitte die zugangsdaten des wlan aus der sonos app löschen und das system neu starten i.d.reihenfolge router speaker (einer nach dem anderen).grußbernhard