Hier sind einige sehr hilfreiche „Linux-Befehle“ zusammengestellt. Festzuhalten ist an dieser Stelle die eindeutige Erkenntnis, dass Klickibunti „voll daneben“ ist und man mit der Konsole fast immer schneller zum Ziel kommt. „Linux-Befehle“ gilt insoweit die betreffenden Programme installiert sind.
Die hier zu findenden Befehle sind natürlich nur eine kleine Ausfahl der genialen Möglichkeiten, die eine mächtige Shell wie die üblichen unter Linux bieten. Es sind genau diejenigen, die ich, unter anderen, im Alltag häufig brauche. Veröffentlichung in der Hoffnung, damit auch anderen eine große Erleichterung im Alltag zu bieten.
cat durcheinander | sort -u > sortiert_und_bereinigt
sed -e 's/^/Zeilenanfangswort/' ausgangsdatei > neuedatei
sed -i 's/.*/&Zeilenendwort/' ausgangsdatei
Klein:
sed 's/.*/\L&/g' < input
Groß:
sed 's/.*/\U&/g' < input
Direkte Ausgabe als menschenlesbare Größe wie GB.
du -sh /home/user/meinVerzeichnis
tar -czvf meinArchiv.tar.gz Verzeichnis/
tar xfv meinArchiv.tar.gz
tar
kann natürlich noch viel viel mehr!
Das geht mit dem Programm ncftp
. Zum Beispiel, um meineDatei.bin
in das Verzeichnis /ftp-in
auf 85.214.91.9
(mein Server) hochzuladen.
ncftpput 85.214.91.9 ftp-in meineDatei.bin
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/
ssh server "cat entfernte_datei" > lokale_datei
ssh server "gzip -c entfernte_datei" > lokale_datei
ssh server "gzip -c entfernte_datei" | gunzip > lokale_datei
Zum Beispiel von der Fotoplatte auf das heimische NAS
rsync --delete -av /media/rk/Fotos/sortiert/ /mnt/nas/Fotos/
Kann auch wunderbar fürs Backup verwendet werden. Entweder man sichert so lokale Dateien auf einen Server (Beispiel) oder eben einen Server auf eine lokale Festplatte. Allerdings müssen die Verzeichnisse in letzterem Fall natürlich andersherum angegeben werden. Die Altdaten werden den aktuellen Daten angeglichen, es wird ensprechend überschrieben bzw. gelöscht und neu hinzugefügt.
rsync --delete -avze ssh /mein/lokales/Verzeichnis/mit/aktuellen/Daten/ benutzer@127.0.0.1:/srv/Remoteverzeichnis/mit/alten/zu/erneuernden/Daten/
Wenn man nicht will, dass einer weiß, was man für eine Kamera hat oder wie auch immer.
exiv2 -d a *.jpg
Dem Hype der Stunde Passion gewähren.
qrencode -o QR-Code.png < Datei.txt
Beispiel für Codierung einer HTTP-URL in hoher Auflösung ohne Rand, z.B. für Druckerzeugnisse:
qrencode -s 20 -m 0 -o QR-Code.png http://rkcsd.de
Immerwieder nötig! Hier beispielsweise auf eine Breite von 640 Pixeln bei gleichbleibendem Seitenverhältnis.
for i in *.jpg ; do convert "$i" -resize 640x "$i" ; done
convert -resize 640 *.jpg
Mit ffmpeg ein MOV-File in ein FLV-Video (für's web, auf altmodische Art) konvertieren.
ffmpeg -i MEIN_HANDYVIDEO.MOV -deinterlace -ar 44100 -r 25 -s 960x540 webvideo.flv
ffmpeg -i <movie.avi> -target ntsc-vcd <filename.mpg>
Man kann mit ffmpeg natürlich noch viel mehr machen, auch ganz hypermoderne MP4s erstellen. Mehr dazu unter HTML5-Videos
ffmpeg -i INPUT.mov -vcodec libx264 -level 12 -b 128kb/s -r 25 -bt 144kb/s -s 240x192 -coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method full -subq 7 -me_range 23 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 16 -refs 6 -directpred 2 -trellis 1 -flags2 +bpyramid+wpred+mixed_refs+dct8x8+fastpskip -f mp4 -ab 56kb/s -ac 2 -ar 48000 OUTPUT.mp4
ffmpeg -f alsa -i pulse -f x11grab -r 15 -s 1280*800 -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y -sameq MeinBildschirmvideo.mkv
Damit kann man PDFs aneinanderreihen…
pdftk MeineTeXpdf1.pdf MeineTeXpdf2.pdf cat output ALLES-zusammen.pdf
…oder Seiten extrahieren.
pdftk ALLES-zusammen.pdf burst output ALLES-nichtmehrzusammen-Seite_%d.pdf
Für z.B. eingeskannte Dokumente, die man per E-Mail versenden will. (Wandelt nach PS und zurück zu PDF um, ist danach meistens kleiner ohne sichtbaren Qualitätsverlust.)
pdf2ps GewA.pdf - | ps2pdf - GewA_E-Mail.pdf
Eine SVG-Datei in eine EPS-Datei mit Inkskape konvertieren.
inkscape -z -f infile.svg -E outfile.eps
Eine EPS-Datei in eine PDF-Datei umwandeln.
epstopdf --outfile=outfile.pdf outfile.eps
PDF-Dateien stapelweise in JPG's konvertieren:
for i in *.pdf ; do `convert -density 300 -trim "$i" -quality 200 "$i".jpg` ; done
vcdimager -t vcd2 -l "Movie Title" -c <filename>.cue -b <filename>.bin <filename>.mpg
cdrdao write -device <device> <filename>.cue
Vorher muss man rausfinden, welche Devicenummer das CD-Laufwerk hat, das dann bei der Option dev
angeben.
cdrecord -v -eject dev=3,0,0 dvd.iso
Zum Beispiel in Standby schalten via:
hdparm -y /dev/festplatte0
Weitere, auch GEFÄHRLICHE, Befehle kann man mit folgendem Befehl „erfragen“:
hdparm --help
Unter Debian:
cryptsetup -y -v luksFormat /dev/sdx
Initialisieren:
cryptsetup luksOpen /dev/sdx geheimeslaufwerk
Formatieren mit:
mkfs.ext4 /dev/mapper/geheimeslaufwerk
Benennen mit:
e2label /dev/mapper/geheimeslaufwerk neuername
Menschenlesbar und schön tabellarisch wird das so aufgelistet:
df -h
Es werden sogar USB-Datenträger, verschlüsselte Laufwerke und NFS-Netzlaufwerke mit aufgelistet. So zum Beispiel auf meinem Notebook:
$ df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf rootfs 106G 49G 52G 49% / udev 10M 0 10M 0% /dev tmpfs 396M 876K 395M 1% /run /dev/mapper/rkCSD--Laptop-root 106G 49G 52G 49% / tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 792M 22M 770M 3% /run/shm /dev/sda1 228M 21M 196M 10% /boot /dev/sr1 7,0M 7,0M 0 100% /media/2.0.4.45685_RC1 192.168.0.10:/srv/datastorage/dsk0/pool 63G 54G 5,2G 92% /mnt/server/pool 192.168.0.10:/srv/datastorage/dsk1 63G 54G 5,2G 92% /mnt/server/users
Global für den X-Server; wird insb. von GDM übernommen.
update-alternatives --config x-cursor-theme
Die OpenSoucre-JRE tut manchmal halt nicht, und ggf. wird die trotz installation der Sun/ORACLE-Variante immernoch verwendet.
update-alternative --config java
Unter GNOME2 kann man mit folgendem Befehl das Erscheinen der gemounteten Volumes auf dem Desktop abschalten.
gconftool-2 --set --type boolean /apps/nautilus/desktop/volumes_visible false
Wer im Textmodus den „Bildschirmschoner“ abschalten möchte (deaktivieren der Anzeige eines schwarzen Bildschirms nach ein paar Minuten) kann dies wie folgt erreichen:
setterm -powersave off -blank 0
Wenn das konventionelle Initsystem initd verwendet wird lautet der Befehl zum Aktivieren
update-rc.d <dienstname> defaults 20
und zum Deaktivieren
update-rc.d <dienstname> remove
Wenn das neuere System systemd an Stelle von initd verwendet wird, lautet der Befehl zum Aktivieren
systemctl enable <dienstname>
und zum Deaktivieren
systemctl disable <dienstname>
Möchte man bei einer RDP-Verbindung zusätzlich einen Share im Arbeitsplatz mounten, der auf dem Host-System existiert, kann dies mit dem folgenden Befehl durchgeführt werden:
rdesktop -r clipboard:CLIPBOARD -r disk:share=/pfad/zum/lokalen/ordner -P rdp.example.com
Dies ermöglicht einen vereinfachten Zugriff auf Daten vom Wirtsystem und erlaubt unter Linux auch eine direkte Datenübertragung zum Zielsystem.
Diese Tools sollte man auch haben, Beschreibung folgt.
# apt install tmux bmon iftop vim tig