Shortcut für Linux-Konsole um Fenster zu leeren

Ich möchte in meiner Linux Konsole alle Ausgaben in meinem aktuellen Fenster leeren. Dies geht mittels dem Befehl

clear

Unter Windows lautet der Befehl hierfür:

cls

Man kann es jedoch auch viel einfacher haben und dafür die Tastenkombination

STRG + L

verwenden ohne diesen langen Befehl einzutippen.

telnet Verbindung lässt sich nicht beenden

Wenn ich mich via telnet auf einen beliebigen Server verbinde kann ich die Verbindung nicht mehr mittles STRG+C abbrechen und auch nicht mittels STRG+Q beenden.

Dies liegt an der Natur von telnet selber. Es wird erwartet, dass man das Kommandofenster startet. Beim Start wird man schließlich nicht weiter darauf hingewiesen:

[vader@deathstar]$ telnet blog.moderlak.de 80
Trying 88.99.14.229...
Connected to blog.moderlak.de.
Escape character is '^]'.

Lösung 

Man könnte nun hingehen und die SSH Sitzung killen oder auch den Timeout der Gegenstelle abwarten. Aber das ist ja kein ordentlicher Verbindungsabbau. Um nun in den Eingabemodus zu gelangen drückt man in der telnet Konsole die Tastenkombination STRG+“+“. Es öffnet sich umgehend die Eingabekonsole:

^]
telnet> 

Hier kann man nun beliebig Befehle absetzen die auf der Gegenstelle ausgeführt werden. Zum Beispiel den Beenden-Befehl:

telnet> quit
Connection closed.

Weitere Hilfe

In der telent Eingabekonsole kann man nun auch durch die Eingabe von help die Liste an Befehlen anfordern mit denen die Gegenstelle korrespondiert :

telnet> help
Commands may be abbreviated.  Commands are:

close           close current connection
logout          forcibly logout remote user and close the connection
display         display operating parameters
mode            try to enter line or character mode ('mode ?' for more)
open            connect to a site
quit            exit telnet
send            transmit special characters ('send ?' for more)
set             set operating parameters ('set ?' for more)
unset           unset operating parameters ('unset ?' for more)
status          print status information
toggle          toggle operating parameters ('toggle ?' for more)
slc             change state of special charaters ('slc ?' for more)
z               suspend telnet
!               invoke a subshell
environ         change environment variables ('environ ?' for more)
?               print help information

telnet>

Weiterführende Literatur

Suche nach Inhalten in bestimmten Dateien

Durchsuche rekursiv nach Dateien in einem Verzeichnis nach Inhalten ohne Beachtung der Groß- und Kleinschreibung:

find /var/log/httpd/ type f | xargs grep -iE "cron\.php"

Zunächst suchen wir mittels find all die Dateien die für eine genauere Analyse überhaupt relevant sind. Im zweiten Schritt wird mittels grep in genau diesen Dateien nach dem gewünschten Inhalten gesucht ungeachtet von Groß- und Kleinschreibung

Linux: Suche in eingeschränkten Suchergebnis

Ich bin auf der Suche nach bestimmten Inhalten einer Datei. Jedoch sind diese Dateien in einem Verzeichnis mit Unterverzeichnissen enthalten in welcher noch viele weitere Dateien enthalten sind. Diese möchte ich jedoch aus Zeit- und Performancegründen nicht durchsuchen.

Um im ersten Schritt die betroffenen Dateien zu ermitteln nehme ich mir den Linux Befehl find zuhilfe:

vader@deathstar:~# find /var/log/apache2/ -iname "*access*.log"

Um nun in den Inhalten der Dateien zu suchen hilft mir der Befehl grep: 

vader@deathstar:~# grep "bing" /var/log/apache2/access.log

Um diese beiden Befehle nun zu verknüpfen und aus allen in find resultierenden Dateien zu finden steht das Programm xargs zur Verfügung:

vader@deathstar:~# find /var/log/apache2/ -iname "*access*.log" | xargs grep "bing"

Virentestsignatur

Ich möchte gerne testen ob mein Virenscanner unter Linux funktioniert, sowie darauf aufbauende Aktionen auch erfolgreich ausgeführt werden. Dafür benötige ich ein Testfile ohne einen echten Virus in meinem System vorzuhalten.

Dafür haben die Virenscanhersteller die Eicar-Test-Signature in ihre Scans mit aufgenommen. Diese kann man dann als Datei in seine Prüfungen mit aufnehmen.

Erzeuge hierfür eine Datei mit folgendem Inhalt:

X5O!P%@AP[4\PZX54
(P^)7CC)7}
$EICAR-STANDARD-ANTIVIRUS-TEST-FILE
!$H+H*

Damit nun weder Dein, noch mein Virenscanner auf diese Eingabezeichen unangenehm reagiert habe ich die hier aufgeführte Kennung minimal chiffriert. Kopiere die aufgeführten Zeilen und entferne alle Zeilenumbrüche, so dass alle Zeichen in einer Zeile stehen und schreibe diese in eine eigene Datei. Damit steht dann die Testsignatur bereit und kann getestet werden.

SSH-Agent forwarding in linux screen session

Man kann mittels Putty den SSH-Key über Agentforwarding in die Terminal Sitzung hineinreichen. Jedoch wird dieser Key mit Abschluss der Sitzung verworfen und bei Wiederverbindung nicht mehr in die Sitzung hineingereicht.

Daher muss je Sitzungsfenster das Forwarding aktiviert werden:

vader@deathstar:~/> eval `ssh-agent -s`

Anschließend wird der schlüssel aus ~/.ssh/id_rsa hinzugefügt via:

vader@deathstar:~/>ssh-add

Hier noch kurz den Schlüssel mit der Passphrase bestätigen und schon ist der Schlüssel für die Session wiederverbunden. Olé!

Wer diesen Befehl wie ich oft aus einer Screen Sitzung heraus öfters benötigt kann diesen zusammengesetzt auch wie folgt ausführen:

vader@deathstar:~/> eval `ssh-agent -s` && ssh-add

Quellen:

http://stackoverflow.com/questions/17846529/could-not-open-a-connection-to-your-authentication-agent/4086756#4086756

WinSCP Berechtigungsfehler ignorieren

Überträgt man mit WinSCP Dateien auf einen Linux Host so erhält man dort die Meldung „Fehlernachricht vom Server : Permission denied“ bzw. „Permission denied Error Code 3“ die im Detail wie folgt aussieht:

Das Hochladen der Datei 'php.ini' war erfolgreich, aber es trat ein Fehler beim Setzen der Berechtigungen und/oder der Dateizeit auf.

Wenn das Problem weiterbestehen bleibt, schalten Sie die Option 'Berechtigungsfehler ignorieren' ein.

Erlaubnis verweigert.
Fehlercode: 3
Fehlernachricht vom Server : Permission denied

Man kann diesen Fehler ignorieren, da dies ein programminterner Fehler von WinSCP ist, welcher unter Filezilla und auch mit anderen Übertragungstools nicht auftritt. Die Datei wurde erfolgreich auf dem Host übertragen  und es wird lediglich das Ergebnis vom Client falsch ausgewertet.

Lösung

Öffne im Menü Einstellungen im Unterpunkt

   Menü -> Einstellungen (Strg + Alt + P ) -> Übertragung

 

und bearbeite dort alle Profile indem Du unter Upload Optionen die Checkbox der Option Berechtigungsfehler ignorieren aktivierst.

bzw. im englischsprachigen Editor

  Menü -> Settings (Strg + Alt + P ) -> Transfer

und dort die Profile via „Edit“ alle Profile bearbeiten und unter Upload options die Checkbox der Option Ignore permission errors aktiviert.

Weiterführende Literatur

Verzeichnis unter Linux beobachten

Möchte man unter Linux ein Verzeichnis in Echtzeit beobachten eignet sich hierfür folgender Befehl:

watch -n 1 "ls -latr"

Hiermit wird im Sekundentakt der Verzeichnisinhalt des aktuellen Arbeitsverzeichnis ausgelesen und in umgekehrter Reihenfolge der zuletzt geänderten Dateien nach ausgegeben.

Wem das dann noch immer nicht Realtime genug ist, der kann den Parameter -n mit der Angabe 0.1 auf 100ms herunterbrechen und Order somit Realtime beobachten. Achtung – dies geht je nach Rechnerleistung auf die Performance des Gesamtsystems.

 

Blockierende Prozesse unter Linux anzeigen

Manchmal hat man unter Linux das Phänomen, dass bestimme Prozesse das System blockieren und auf andere Prozesse, Daten oder Dienste warten. Möchte man derartige aktuell blockierende Prozesse unter Linux finden kann man sich dem nachfolgendem Befehl bedienen:

ps auxf | awk "\$8 ~ /D/ { print \$0 }"

Will man darüber hinaus auch den Verlauf in Echtzeit beobachten kann man diesen mittels watch erweitern:

watch -n 1 '(ps auxf | awk "\$8 ~ /D/ { print \$0 }")'