Linux Commands

  • Hier ist eine Auswahl an Linux Kommandos, mit leicht verständlicher Kurzbeschreibung, die bei der Webentwicklung häufig zum Einsatz kommen. Empfehlenswert sind dafür SSH Clients mit passenden Eingabeterminals wie bspw. die von Bitvise oder Putty.
    • ** Packen -Varianten
    • **
    • ** *.gz


    •    
          gzip   -c   datei1   datei2   datei3   >   archiv.gz
                                          
    • ** *.tar.gz


    •    
          tar   cfvz   archiv.tar.gz   datei1   datei2   ...   datein
          tar   cfvz   archiv.tar.gz   --exclude   ordner/datei3   ordner/datei1   ordner/datei2   ...   ordner/datein
                                          


    • Die 2. Zeile mit additionalem Ausdruck, wenn Datein oder Ordner ausgeschlossen werden sollen. Im gezeigten Beispiel wird datei3 ausgeschlossen.

    • ** *.zip


    •    
          zip   -r   archiv.zip   datei1   datei2   ...   datein   
                                          


    • Ersetzen Sie nachfolgende Ausdrücke..
      ' datei1 ' usw.. mit den Serverpfad einschließlich der Datei(n) die gepackt werden sollen.
      ' archiv ' mit den Serverpfad und einem beliebigen Namen der zukünftigen Archivdatei.




    • ** Entpacken -Varianten
    • **
    • ** *.gz


    •    
          gzip   -d   archiv.gz   <   zielordner
                                          
    • ** *.tar


    •    
          tar   -xvf   archiv.tar   <   zielordner
          tar   -xf   archiv.tar   -C   zielordner
                                          


    • Die 2. Variante in Zeile 2 nur, wenn die 1. Variante fehl schlägt.

    • ** *.tar.gz


    •    
          tar   xfvz   archiv.tar.gz   <   zielordner 
      
          tar   -tvf   archiv.tar.gz
          tar   -f     archiv.tar.gz   -zxv   pfad/datei
                                          

    • Die 2. / 3. Variante ab Zeile 2 nur, wenn eine bestimmte Datei extrahiert werden soll.
      Das Kommando in der zweite Zeile listet den Inhalt samt Pfade auf.

    • ** *.zip


    •    
          unzip   -d   zielordner   archiv.zip
                                          


    • Ersetzen Sie nachfolgende Ausdrücke..
      ' archiv ' mit den Serverpfad und Ihrer Archiv -datei.
      ' zielordner ' mit den Serverpfad, wohin der Inhalt entpackt werden soll.




    • ** Download
    • **
    • ** -http


    •    
          wget   -P   zielordner   "https://www.example.com/archiv.tar.gz"
          wget   --user=b   --password=p   zielordner   "http://myweb.de/my.zip"
                                          


    • Die 2. Variante in Zeile 2 nur, wenn das Download -Verzeichnis ein Passwortschutz enthält.

      Ersetzen Sie nachfolgenden Ausdruck..
      ' b ' mit dem Benutzernamen und den Ausdruck ' p ' mit dem Passwort vom Verzeichnisschutz.

    • ** Verschieben
    • **


    •    
          mv   -t   zielordner   datei1   datei2
          mv   -t   zielordner   quelle/*
                                          


    • Die 2. Variante Zeile 2 ist geeignet um den gesamten Inhalt eines Ordners zu verschieben.

    • ** Löschen
    • **


    •    
          rm   -rf   datei
                                          


    • Ersetzen Sie nachfolgende Ausdrücke..
      ' zielordner ' mit den Serverpfad, wohin die Datei verschoben werden soll.
      ' datei ' mit den Serverpfad einschließlich der Datei, die verschoben werden soll

    • ** Auflisten
    • **


    •    
          ls   -al   ordner
                                          


    • Ersetzen Sie nachfolgenden Ausdruck..
      ' ordner ' mit den Serverpfad einschließlich dem Ordner, dessen Inhalt aufgelistet werden soll.

    • ** Kopieren
    • **


    •    
          cp   -rv   ordner/*   zielordner/
                                          


    • Ersetzen Sie nachfolgende Ausdrücke..
      ' ordner ' mit den Serverpfad einschließlich dem Ordner, dessen Inhalt in den Zielordner kopiert werden soll.
      ' zielordner ' mit den Serverpfad einschließlich dem Zielordner.

    • ** Zusammenführen
    • **


    •     copy   /b   *.txt   newfile.txt
                                          


    • Ersetzen Sie nachfolgende Ausdrücke..
      ' *.txt ' mit der Dateiendung, dessen Inhalte in eine einzige neue Datei zusammengeführt (merged) werden soll.
      Navigieren Sie zuvor in den Ordner mit den abgelegten Datein durch Eingabe von: "cd ordnerpfad".




    • ** MySql -Varianten
    • **
    • ** -dump


    •    
          mysqldump   -u   user   -p   db_name   >   dump.sql
          mysqldump   -u   user   -p   db_name   table1_name   table2_name   table3_name   >   dump.sql
          mysqldump   -h   host   -p   -u   user   db_name   >   dump.sql
          --no-tablespaces
                                          


    • Die 2. Variante in Zeile 2 nur, wenn man einzelne Tabellen extrahieren möchte.
      Die 3. Variante in Zeile 3 nur, wenn die Datenbank nicht über ' localhost erreichbar ist.
      In der 4. Zeile der additionale Ausdruck, wenn eine Fehlermeldung mit entsp. Hinweis erscheint.

    • ** -dump -gz


    •    
          mysqldump   -u   user   -p   db_name   |   gzip   >   dump.sql.gz
                                          
    • ** -dump -gz -passwort


    •    
          mysqldump   -u   user   -p   passwort   db_name   |   gzip   >   dump.sql.gz
                                          
    • ** -import


    •    
          mysql   -u   user   -p   db_name   <   datei.sql
          mysql   -u   user   -p   -h   host   db_name   <   datei.sql
          --default-character-set=utf8
                                          


    • Die 2. Variante in Zeile 2 nur, wenn die Datenbank nicht über ' localhost erreichbar ist.
      In der 3. Zeile der zusätzliche Ausdruck, falls die Umlaute nicht korrekt übertragen werden.


    • Ersetzen Sie nachfolgende Ausdrücke..
      ' user ' mit dem Benutzer der Datenbank.
      ' passwort ' mit dem Passwort der Datenbank.
      ' db_name ' mit dem Namen der Datenbank.
      ' dump ' mit den Serverpfad, wo die Datei entstehen soll und einen beliebigen Namen für die Dumpdatei.




    • ** Directory -Rechte
    • **
    • ** -besitzer + gruppe ändern


    •    
          chown   -cR   besitzer:gruppe   ordner
                                          


    • Ersetzen Sie nachfolgende Ausdrücke..
      ' besitzer ' mit einem existierenden Mitglied, das einer Gruppe zugeordnet ist.
      ' gruppe ' mit der passenden Gruppe.
      ' ordner ' mit den Serverpfad einschließlich dem Ordner, wo die Änderung durchgeführt werden soll.

    • ** -schreibrechte für mitglieder der gruppe


    •    
          chmod   -R   g+w   ordner
                                          


    • Ersetzen Sie nachfolgenden Ausdruck..
      ' ordner ' mit den Serverpfad einschließlich dem Ordner, dessen Premissen geändert werden soll.

    • ** -ausführungsrechte für alle mitglieder


    •    
          chmod   -R   755   ordner
          chmod   -R   755   $(find   ordner   -type   d)
          chmod   -R   644   $(find   ordner   -type   f)
                                          


    • Die 2. Variante in Zeile 2 nur, wenn rekursiv die Premissen der Ordner geändert werden sollen.
      Die 3. Variante in Zeile 3 nur, wenn rekursiv die Premissen der Datein geändert werden sollen.

      Ersetzen Sie nachfolgenden Ausdruck..
      ' ordner ' mit den Serverpfad einschließlich dem Ordner, dessen Premissen rekursiv(alles innerhalb) geändert werden soll.




    • ** Email -Administration
    • **
    • ** -ssl zertifikat mailclient *.p12 export


    •    
          chown   -cR   besitzer:gruppe   ordner
      
          openssl   pkcs12   -export   -out   /etc/ssl/certificate.p12   -inkey   /etc/ssl/private/ssl-dovecot.key   -in   
          /etc/ssl/certs/ssl-dovecot.pem   -certfile   /etc/ssl/certs/ca-certificates.crt
                                          


    • Überprüfen Sie die Pfade auf Ihrem Webspace und passen Sie diese ggf. an. Diese Anweisung exportiert das SSL Zertifikat in ein client -taugliches Format.

    • ** -adressen aus vielen datein sammeln, sortieren, doppelte entfernen


    •    
          grep -Rli   "^To:   (.*?)"   /home/colli/Maildir/cur   |   sort   |   uniq   -u   |   \
          awk   '{print   $2"   "$3"   :   "$1}'   >   datei.log
                                          


    • Überprüfen Sie die Pfade auf Ihrem Webspace und passen Sie diese ggf. an. Hängen Sie ggf. einen leicht aufzufindenden Serverpfad an die Datei ' datei.log




    • ** SSH
    • **
    • ** -verbinden mit server


    •    
          ssh   user@ip_server
                                          


    • Nach Drücken der Enter-Taste erfolgt eine Passwortabfrage.

    • ** -verbindung beenden


    •    
          exit
                                          


    • Ausgeloggt nach Drücken der Enter-Taste.

    • ** -kopieren von A nach B bei eingeloggtem zustand bei B (download)


    •    
          scp   user@ip_server_A:datei_auf_A   zielordner_auf_B
          scp   -P portnummer   user@ip_server_A:datei_auf_A   zielordner_auf_B
                                          


    • Die 2. Variante in Zeile 2 nur, wenn die Portnummer nicht 22 ist.

      Ersetzen Sie nachfolgende Ausdrücke..
      ' datei_auf_A ' mit den Serverpfad und Datei.
      ' zielordner_auf_B ' mit den Serverpfad, wohin der Inhalt kopiert werden soll.

    • ** -kopieren von A nach B bei eingeloggtem zustand bei A


    •    
          scp   datei_auf_A   user@ip_server_B:zielordner_auf_B
                                          



    • ** Cron Jobs
    • **
    • ** -cron jobs auflisten


    •    
          crontab   -l
                                          
    • ** -cron jobs einstellen/ anlegen


    •    
          crontab   -e
                                          


    • Einstellen der Crontabs mit dem Editor 'vi' durch Switchen in die gewünschten Modi siehe unten. Taste Escape drücken um den ausgewählten Modus wieder zu verlassen.


      dd
      u
      x
      j
      o
      p
      q
      wq
      i


      Aktuelle Zeile löschen
      Letzte Änderung rückgängig machen
      Zeichen unter dem Cursor löschen
      Linien zusammenführen
      Neue Zeile unter der Aktuellen einfügen
      Daten aus dem Zwischenspeicher an der Cursorposition einfügen
      Editor beenden ohne den Text zu speichern
      Änderungen übernehmen und Editor beenden
      In den Eingabemodus wechseln