Ich habe gerade diesen Befehl aufgerufen ls -l | tail +3
. Erstens erzeugt ls -s 3 Zeilen, fügt in der ersten Zeile Piping Strips hinzu und druckt dann jeden Dateinamen in eine separate Zeile. Wie macht es das? Das ergibt keinen Sinn.
Außerdem dachte ich, dass der Schwanzdateiname die letzten 10 Zeilen anzeigt. Wie geht das? +
(und minus) spielt in diese Gleichung?
Gleiches über den Kopf? Wie funktioniert es?
man
Seite sagen? Wenn Sie tippenman tail
, welche antwort bekommst du Welchen Teil davon brauchen Sie zum Verständnis?Antworten:
Von dem
tail
Manpage :Also in deinem Fall,
tail +3
(das-n
ist impliziert) bedeutet Start in der 3. Zeile der Eingabe (ls -l
) und drucke den Rest aus. Zum Beispiel:ls -l
Ausgabe:ls -l | tail +3
Ausgabe:Gleiche Ausgabe, nur mit den ersten Zeilen entfernt.
quelle
Aus der Manpage:
quelle
Beantwortung:
Die Antwort ist, dass die
ls
befehle prüft anhand der Standardausgabe, ob eine Verbindung zu einem tty besteht. Wenn ja, wird es zu Anzeigezwecken formatiert. Ist dies nicht der Fall (die Ausgabe ist beispielsweise eine Datei oder eine Pipe), wird ein Eintrag pro Zeile gedruckt.-C
'erzwingt mehrspaltige Ausgabe (als würde man zu einem Terminal gehen).-1
'erzwingt eine einspaltige Ausgabe (als würde man zu einer Pipe gehen).quelle