Linux - Seite

Linux Befehle:

Seitenweise Darstellung:

Backup
Linux Befehle (Ubuntu):
Auschalten:
$sudo shutdown -h now      #Fährt das System sofort herunter
$sudo shutdown -h +60       #Fährt das System in 60 Minuten herunter 
$sudo shutdown -h 20:30    #Fährt das System um 20:30h herunter

für meinen Server vom Terminal (Client PC) aus:
$sudo shutdown -P now    
#Fährt das System sofort herunter und veranlasst die Abschaltung des Rechners

Ausschalten des Timers (siehe oben):
$sudo shutdown -c              #Timer beenden

Uhrzeit im Terminal setzten:
date -s hh:mm:ss
$date -s 13:49:00

halt / reboot:
Alternativ kann man auch die Befehle
$sudo halt -p      #zum sofortigen Shutdown
und
$sudo reboot      #für einen Neustart nutzen.

Shutdown für jeden Benutzer erlauben:
$sudo chmod +s /sbin/shutdown
+s setzt das SetUID-Bit

oder
$sudo visudo

# User alias specification
User_Alias ABSCHALTER = otto, anna, berta

# Cmnd alias specification
Cmnd_Alias DOWN = /sbin/shutdown, /sbin/halt, /sbin/reboot

# User privilege specification
ABSCHALTER ALL = NOPASSWD: DOWN
(am Ende der Datei) eingefügt werden. In diesem Beispiel würden die drei Benutzer otto, anna, berta den Rechner über z.B. $sudo shutdown -h now


herunterfahren können, ohne dass sie nach einem Passwort gefragt werden

USB Device mounten:
$dmesg              #bevor USB Device gesteckt wird, danach USB Device stecken und mit:
$dmesg              #USB Device erkannt?
$sudo mount -t ext4 /dev/sdx /media/

umount:
$sudo umount /media/

Terminaleditor "Nano":
öffnen von Nano mit Zeilennummern.
$nano -c test.txt


Alle IP's eines privaten Netzwerkes anzeigen lassen (mit Root Recht):
$nmap -sP 10.0.1.0/24 | grep -oE '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}'
bzw.
$nmap -sP 10.0.1.0/24
bzw.
$nmap -sL 10.0.1.0/24
bzw.
$for ip in $(seq 1 254); do ping -c 1 192.168.0.$ip>/dev/null; [ $? -eq 0 ] && echo "192.168.0.$ip   UP" || : ; done

Ubuntu 14.04 LTS Gnome:
feste IP: modify /etc/network/interfaces
auto eth0 
iface eth0 inet static 
address 10.152.187.122 
netmask 255.255.255.0 
gateway 10.152.187.1 
dns-nameservers 10.152.187.1 
dns-nameservers 8.8.8.8 
dns-nameservers 8.8.4.4


Kopieren mit allen Rechen:
$cp -a Quelle Ziel

Unterschiede erkennen mit "diff":
$diff -q DATEI1 DATEI2
Optionen von diff
Option Beschreibung
-q          für quick, gibt nur Unterschiede aus
-s          für same, meldet wenn Dateien gleich sind
--help Hilfe
-r          für rekursiv, vergleicht Unterverzeichnisse wenn vorhanden
-y          tabellarische Ausgabe, auch gleiche Zeilen, ungleiche Zeilen werden markiert
--suppress-common-lines                  unterdrückt gleiche Zeilen
-a          behandelt alle Dateien (z.B. binäre) wie Text
-d          versucht mit erhöhtem Aufwand kleinere Veränderungen zu finden
--speed-large-files   geht von großen Dateien und vielen, kleinen, verstreuten Veränderungen aus


Seitenweise Darstellung:
$ls | more
oder
$ls | less


Dieser Befehl holt eine Datei von einem entfernten Rechner:
scp user@rechner:Verzeichnis/Quelle Ziel
z.B.     $scp foo@10.10.10.10:tmp/test.txt test.txt

Mit der Angabe eines Punktes . als Ziel wird die Datei in den aktuellen Ordner kopiert, in dem man sich gerade befindet.

Mit folgendem Befehl kann man eine Datei auf einen anderen Rechner kopieren:
scp Quelle user@rechner:Verzeichnis/Ziel
z.B.     $scp test.txt foo@bar.de:tmp/test.txt

Gibt man als Quelle einen * an, werden alle Dateien aus dem aktuellen Verzeichnis kopiert.

Gibt man als Quelle einen . an, werden alle Dateien aus dem aktuellen Verzeichnis kopiert plus versteckte.


Inhalt von Dateien darstellen:
$less readme

Dateien erstellen:
$cat > testdatei.txt 
lalala 
lalelu

Befehl: find
Finde nur Dateien
$find -type f

Finde nur Verzeichnisse
$find -type d

Mit vollständigem Namen (* und ? funktioniert hier auch!)
$find -name hausarbeit.odt
$find -name hausarbeit.odt  # Gross / Kleinschreibung wird nicht berücksichtigt

Datei erzeugen mit aktuellem Datum im Filenamen:
$touch blabla-`date +%y%m%d_%H%M`

Terminal aktivieren (Schnellstart):
Strg + Alt + T

DMI Tabelle auslesen:
$dmidecode

Bilder konvertieren:
$convert URSPRUNGSBILD -resize 640×480 AUSGANGSBILD

Bildschirmfoto erstellen:
Taste "Druck / S-Abf" erstellt man ein komplettes Bildschirmfoto, mit
Taste "Alt" + "Druck / S-Abf" erhält man en Bildschirmfoto vom aktiven Bereich.

Bildschirmfoto nachbearbeiten (mit Pinta):
Installation:
$sudo apt-get install pinta

Aufruf mit:
$pinta

Heimnetzwerk darstellen:
$nmap -sP 192.168.178.0/24

Heimnetzwerk Verbindungen:
smb://… 
ssh://… 
ftp://… 

z.B.:  smb:///

Taschenrechner (Ubuntu), gcalctool
Installation:
$sudo apt-get install gcalctool  

Aufruf mit:
$gcalctool  

Gnuplot:
$sudo apt-get install gnuplot gnuplot-x11 gnuplot-doc

Streamer zur Aufnahme von z. B. Radiosendern:
$sudo apt-get install streamripper

Aufruf mit:
$streamripper http://dradio-ogg.t-bn.de/dkultur_high.ogg
oder
$streamripper http://37.187.21.174:4000

  -r öffnet einen Port auf 8000, anhörbar durch: http://IP-ADRESSE:8000 bzw. http://localhost:8000
im Browser

Musik:
$sudo apt-get install ubuntu-restricted-extras
Perl Audio Converter:
$sudo apt-get install pacpl kommander-kde3

Codecs:
http://wiki.ubuntuusers.de/Codecs

libavcodec:
$sudo apt-get install libavcodec-extra-53 libavdevice-extra-53 libavformat-extra-53 libavutil-extra-51 libpostproc-extra-52 libswscale-extra-2

gstreamer:
$sudo apt-get install libgstreamer0.10-0
$sudo apt-get install gstreamer0.10-tools gnome-media

$sudo apt-get install ubuntu-restricted-extras

xine:
---

ffmpeg:
---

vlc:
---

mplayer:
---

Skype 4.3 für Ubuntu 14.04:

[1] sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
[2] sudo apt-get update
[3] sudo apt-get install skype && sudo apt-get -f install

ISO Datei brennen mit "burn":
$sudo apt-get install burn

Anschließend kann man mit dem Befehl
$burn -e
eine längere Liste mit Beispielen abrufen:
$burn -D -p /etc/                                      # Brennt eine Daten-CD mit allen Daten aus /etc 
$burn -I -n image.iso                               # Brennt die Datei image.iso als ISO-Image 
$burn -A -a *.mp3 file.ogg track01.wav # Brennt die genannten Daten als Audio-CDs

Soundconverter (to mp3) für Ubuntu 14.04:

mp4,  m4a convert to mp3

for f in *; do
  avconv -i "$f" -metadata album="Album Title" "${f%.m4a}".mp3;
done


ImageMagick:
installieren mit "$sudo apt-get install imagemagick imagemagick-doc"

animate - spielt mehrere Bilder schnell hintereinander ab
convert - liest Bilder, bearbeitet sie und speichert sie ab
compare - vergleicht 2 Bilder und gibt die Unterschiede als Bilddatei aus
composite - überlagert mehrere Bilder zu einem Bild
conjure - führt Skripte in der Skriptsprache von ImageMagick aus
display - stellt Bilder auf einem X-Server dar
identify - gibt Dateiformat, Bildgröße usw. von Bilddateien aus
import - macht Bildschirmfotos
montage - fasst mehrere Bilder zu einem großen Einzelbild zusammen
mogrify - wie convert, nur dass die Eingabedatei durch die Ausgabedatei ersetzt wird!
stream - liest aus Bilddateien Teile aus und gibt sie als Rohdaten, Fließkommazahlen oder ähnliches aus

im Terminal (komplettes Bildschirmfoto erstellen mit ImageMagick):
$import -window root -display :0 ~/Desktop/Bildschirmfoto.png

PC ausschalten:
Rechner um 20:30 herunterfahren lassen
$sudo shutdown -h 20:30

 in 70 Minuten herunterfahren lassen
$sudo shutdown -h +70

Pfad zu einem Programm:
$whereis Programmname

Crontab beenden:
$kill -SIGSTOP xxxx
xxxx wird mit "ps ax" ermittelt

Script: mehrere Befehle in einer Zeile:
$befehl 1 ; befehl 2
>Führt zuerst befehl 1 und danach befehl 2

$befehl 1 && befehl 2
>Führt zuerst befehl 1 aus und befehl 2 nur dann wenn befehl 1 keine Fehlermeldung ausgegeben hat.

$befehl 1 || befehl 2
>Führt befehl 1 aus und falls befehl 1 eine Fehlermeldung ausgibt wirdbefehl 2 ausgeführt.

Zählen mit "wc"
word count dient zum Zählen von Wörtern, Zeichen und Bytes in Textdateien.
$wc skript.py
21 45 456 skript.py
Ergibt:
  • 21 Zeilen
  • 45 Wörter
  • 456 Zeichen
$ls -R | wc -l
Besser:
Dateienanzahl in einem Verzeichnis:
$find /verzeichnis -type f | wc -l

Verzeichnisanzahl in einem Verzeichnis:
$find /verzeichnis -type d | wc -l

Datei / Ordnergröße bestimmen mit "du":
Den gesamten belegten Festplattenplatz des Systems anzeigen:
$sudo du -hs /

Den gesamten Platz angeben, den das aktuelle Verzeichnis einnimmt:
$du -hs .

Gesamtgröße
$du -c     #bzw.
$du -csh   # -c = erstellt die Gesamtgröße, -s = gibt nur die Gesamtgröße für jedes Argument an,
                # -h = gibt die Größen in verständlichem Format an (wie 1K 234M oder 2G)

Den belegten Platz nach Größe sortieren:
$du -hs * | sort -hr

Den Platz angeben, den das aktuelle Verzeichnis einnimmt, wenn alle Dateien die .tar enthalten, weggelassen werden:
$du --exclude="*.tar*" -hs


Software via Terminal installieren (3zeiler):
Update:
$sudo apt-get update 
$sudo apt-get upgrade

installieren:
$sudo apt-get install freecad freecad-doc     # freecad ... Beispielprogramm

installieren von Fremdquelle - ppa  (z.B: Programm "Brackets"):
$sudo add-apt-repository ppa:webupd8team/brackets
$sudo apt-get update
$sudo apt-get install brackets
Fremdsoftware installieren (aus Sourcen):
3zeiler (Voraussetzung: Installierte: build-essential und checkinstall)
       $sudo apt-get install build-essential
       $sudo apt-get install checkinstall

übersetzen:
./configure
make
sudo checkinstall

deb Pakete installieren:
$sudo dpkg --install /PFAD/ZUR/PAKETDATEI.deb
Das Paket wird zwar installiert, ist aber aufgrund fehlender Abhängigkeiten noch nicht benutzbar (Fehlermeldungen im Terminal). 
Mittels:
$sudo apt-get -f install
lassen sich die fehlenden Abhängigkeiten automatisch nachinstallieren.

Archivieren (alle Rechte bleiben erhalten):
Ein Archiv anlegen und nachträglich mit gzip komprimieren:
$tar -czf archiv.tar.gz datei_1.txt datei_2.txt
Archive entpacken:
Alle Dateien in ein bestimmtes Verzeichnis extrahieren. (Das Ziel-Verzeichnis muss bereits existieren.):
$tar -xzf archiv.tar.gz -C /mein/pfad

MD5SUM ermitteln (z.B von einer downgeloadeten Ubuntu ISO Datei):
$md5sum ubuntu-11.10-dvd-i386.iso

VirtualBox 4.3.18 (plus extention pack, plus Gasterweiterung):


Strg rechts = Host-Taste
Strg rechts + F   =Vollbild, der gesamte Desktop wird ausgefüllt.
Strg rechts + L   =Nahtlosmodus, siehe Nahtlose Desktopintegration
Strg rechts + P   =Virtuelle Maschine anhalten
Strg rechts + G   =Höchst mögliche Bildschirmauflösung der virtuellen Maschine
Strg rechts + S   =Erstellen eines Sicherungspunktes während die Maschine läuft
Strg rechts + H   =Sendet das Signal zum Herunterfahren an das Gastsystem
Strg rechts + Q   =Öffnet den Beenden der virtuellen Maschine-Dialog
Strg rechts + R   =Virtuelle Maschine zurücksetzen; führt zu einem Neustart
Strg rechts + I    =Maus verbergen; mit einem Rechtsklick wird sie wieder sichtbar.



Systeminformation (Terminal) / Support Infos:
USB:
$lsusb
$sudo blkid -o list -w /dev/null

Kernelversion:
$uname -rm

Systemarchitektur:
$lscpu | grep -i architecture

Kernelmodule:
$lsmod

Partitionen:
$df -haT

Ubuntuversion:
$lsb_release -a

Bootloader Version (grub) ermitteln:
$dpkg --list | grep grub


Linux und Display (Monitor):
Kernel mit festen EDID Daten starten (nicht die vom Monitor):
Kernel Parameter:
$


Backup erstellen (Sicherung)
!!! alles mit Root Rechte ausführen !!!
folgende Dateien sichern auf ext. USB-Laufwerk:

  1. Server: fstab, smb.conf, Verzeichnisstruktur mit ls -la
  2. Buero: Evolution Sicherung
  3. Router: Einstellungen
  4. Raspi: fhem
  5. Virtual Box: exportieren



USB Stick mounten mit (am Server):
$sudo blkid -o list -w /dev/null
$mount -t auto -o rw /dev/sdc1 /media/usbstick

Kopierbefehl mit (Server Laufwerke auf gemounteten USB-Laufwerk):
$cp -avR /home/cmoosmeier/Server/. /media/cmoosmeier/backup/backup-29.01.2016/

USB Stick unmounten mit:
$umount /dev/sdc1




Benutzer, Gruppen und Eigentümer
Software Tool:
$sudo apt-get install gnome-utils
$sudo apt-get install cifs-utils $sudo apt-get install gnome-system-tools

Bestehenden Benutzer einer weiteren bestehenden Gruppe hinzufügen
$sudo usermod -aG GRUPPENNAME BENUTZERNAME

Neuen Benutzer anlegen:
$adduser otto [Optionen]

Eine neue Gruppe erstellen:
$addgroup GRUPPENNAME

Ändern von Eigentümer-Benutzer und/oder Eigentümer-Gruppe:
$chown -R sepp-name:sepp:gruppe /media/test.txt

chmod:Mit chmod verändert man die Zugriffsrechte von Dateien
$chmod 0700 Beispiel.txt

chmod 0UGO beispiel.txt
Der numerische Bereich wird durch eine Null nach chmod gekennzeichnet, an die Stellen von U, G oder O muss man nun einen Wert zwischen 0 und 7 eingeben. wobei 4 für lesen steht, 2 für schreiben und 1 für ausführen.
U  =  User
G  =  Group
O  =  Others
RechtBedeutungDateienVerzeichnisse
r|4LesenDer Nutzer darf lesend auf die Datei zugreifen und deren kompletten Inhalt auslesen.Inhalt des Verzeichnisses kann gelesen werden, sprich Dateien und Unterverzeichnisse können aufgelistet werden.
w|2SchreibenDer Nutzer darf den Inhalt der Datei komplett überschreiben bzw. schreibend verändern.Nutzer darf weitere Dateien und Verzeichnisse anlegen oder löschen.
x|1AusführenDer Nutzer darf die Datei ausführen.Nutzer darf das Verzeichis betreten.
Rechte: rwx oder 421

Zenity:


Umleitung von Linux Terminalbefehlen nach Zenity Fenster:
$ls | zenity --text-info --width 500 &       # & = Läuft im Hintergrund;


Drucker

LAN oder WLAN Drucker (am besten Brohter verwenden).
Vorab LPR und CUPS-Package installieren, dann die passenden Treiber von Brother installieren (deb Package)

Linux Allgemein:
ALT Taste gedrückt halten, dann mit der linken Maustaste irgendwo in das Fenster klicken und mit gedrückter li. Maustaste verschieben.

Installierte Programme die ich benutze:
Pinta
LibreOffice
ImageMagick
burn
banshee
evolution
VirtualBox (für iTunes unter WinXP SP3)
terminator
Brasero (Brennprogramm für mp3)
Python 3.2
nano
GeoGebra
ffmulticonverter
ffmpeg

Hilfreiche Befehle:
wie kann ich den Inhalt einer Datei löschen ohne die Datei zu löschen?
$echo -n > DATEI
oder
$>datei
oder
$cat /dev/null > date

Debugging:
$watch 'dmesg | tail'

Terminal
auf eines zweiten Terminals aus dem Terminal mit:
$gnome-terminal

------------------------------------------------------------------------------------------------------------
Mounten von USB Devices:
$sudo mount -t ext4 /dev/sdb1 /media/external

Unmounten:
$sudo umount /media/external

Ubuntu Version anzeigen:
$lsb_release -a


------------------------------------------------------------------------------------------------------------
Update auf Ubuntu 14.04 LTS:

Zuerst:
Verzeichnissstruktur sichern mit: $ls -la /home >> ls.txt (für PC und Laptop)
VirtualBox Gastsystem sichern auf USB Stick
Source-Liste sichern auf USB Stick
Evolution sichern auf USB Stick

http://blog.yumdap.net/ubuntu-14-04-installieren-und-konfigurieren/

VirtualBox Gastsystem sichern > exportieren
evtl. muss nach dem Update die neue "Extension Pack" installiert werden.
https://www.virtualbox.org/wiki/Downloads

Source-Liste sichern:
$sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
$cat /etc/apt/sources.list /etc/apt/sources.list.d/*.list >> source-list

Wichtig für Support Anfragen:
$grep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
Bei Änderungen an der Source-List IMMER abschließend ein:
$sudo apt-get update

Codecs nachinstallieren:
http://wiki.ubuntuusers.de/Codecs
bzw:
http://wiki.ubuntuusers.de/ubuntu-restricted-extras
Software-Center:   ubuntu-restricted-extras

mögliche Probleme:
 In meinem Fall verhinderte das installierte Paket xserver-xorg-video-all den Fortlauf der Installation
entfernen mit: $sudo apt-get remove xserver-xorg-video-all
------------------------------------------------------------------------------------------------------------

Linux Log Dateien:

Hier sind die Logdateien und ihre Funktion aufgeführt, die auf einem Ubuntu-System vorhanden und relevant für den Benutzer sind. Natürlich gibt es in /var/log deutlich mehr Logdateien, wenn Dienste nachinstalliert wurden.
LogdateiBescheibung
acpidAusgaben der Energieverwaltung.
auth.logAlle Versuche sich am System anzumelden werden hier protokolliert. Egal ob sich User jetzt an einer Konsole oder über ssh anmelden oder versucht wird per sudo Root-Rechte zu erlangen.
cupsLog des Common Unix Printing Services. Druckerprobleme? Hier gibt es mehr zu sehen, insbesondere wenn man in der /etc/cups/cupsd.conf "LogLevel debug" setzt.
daemon.logViele Dienste schreiben hier ihre Meldungen rein, z.B. "mountd" oder "squid"Achtung: Nur bis Ubuntu 10.10
dmesgLetzte Meldungen des Kernels. Die Informationen stammen aus einem Ringpuffer, so dass alte Meldungen überschrieben werden. Die Datei kern.log enthält alle Meldungen.
dpkgLog der Paketverwaltung. Hier findet man, wann welches Programm installiert, gelöscht oder aktualisiert wurde.
kern.logMeldungen des Kernels, z.B. Meldungen, die aus iptables-Regeln heraus entstehen.
mail*Hat man einen Mailserver im System installiert, so werden hier die Logs geschrieben.
messagesAllgemeine Informationen des Systems. Zusammen mit dem syslog eine der wichtigsten Logdateien des Systems. Achtung: Nur bis Ubuntu 10.10
mysqlDas Logfile des MySQL Datenbankservers.
postgresqlVerzeichnis der Logs der Datenbank Postgresql.
pppstatusVerzeichnis mit monatlichen Logs des pppstatus zur Protokollierung von Internetverbindungen.
sambaDie Logs des Samba Servers.
syslogDie Ausgabe des syslogd. Eine Alternative zu Syslog ist das um einige Funktionen erweiterte syslog-ng
user.logAusgabe von Prozessen, die von Usern gestartet wurden. Achtung: Nur bis Ubuntu 10.10
Xorg.0.logAusgabe des XServers.


Hilfreiche Tastaturbelegung (DE vs EN (US)):







1 Kommentar: