Schlagwort-Archive: GNU/Linux

Unixähnliche Mehrbenutzer-Betriebssysteme, die auf dem Linux-Kernel und wesentlich auf GNU-Software basieren. Wie CentOS, Debian, Ubuntu Fedora.

Linux Top 20 Shell Commands

Linux Kommandozeilen Beispiele aus der Praxis mit 20 häufig verwendeten Befehle

Es soll hier keine vollständige Liste gezeigt werden, jedoch kann es eine Starthilfe für einige wichtige Linux-Befehle geben, für sysops und admins.

1. ASCII-Zeichensatz übersetzen in Oktal, Dezimal und Hexadezimal

$ man ascii
man ascii

2. Kalender auf Konsole ausgeben

$ cal

Kalender mit 6 Monate und Wochennummer

$ cal -n 6 -w

3. Binärdatei hexadezimal mit VIM editieren

$ vi datei
 :%!xxd
 ..
 :%!xxd -r
 :wq

4. Dateien vergleichen (compare files)

$ diff -w file1.txt file2.txt
2c2,3
< Jacqueline --> C. Meier
> Jacqueline Mayer

5. Inhalt in Dateien nach Zeichenketten rekursiv suchen mit find

$ find . -type f -print0 | xargs -0 grep "mojito"

6. Datei als E-Mail versenden

$ mail -s subject jacque@lansys.ch < notes.txt

7. Herunterladen von mehreren URLs aus Liste

$ cat download-urls.txt | xargs wget –c

8. Doppelte Linien entfernen mit awk

$ awk '!($0 in array) { array[$0]; print }' temp

Zeilenausgabe von /etc/passwd mit der selben uid und gid

$ awk -F ':' '$3==$4' /etc/passwd

9. Konvertierung von Windows/DOS (CR/LF) in Unix (LF) Format

$ sed 's/.$//' filename
# Text Suchen und Ersetzen
$ sed -e s/Hund/Katze/g datei.txt > datei.neu
# Löscht alle Leerzeilen
$ sed '/^$/d' filename
# Löscht Spaces am ende jeder Zeile
$ sed 's/ *$//' filename

10. Rekursive String Suche in Dateien

$ grep -r "ramsch" *

11. Wieviele CPU hat mein Computer

$ grep processor /proc/cpuinfo | wc -l

12. Free Memory anzeigen

$ cat /proc/meminfo | grep MemFree
$ free -m

13. Aktive Prozesse anzeigen

$ ps -ef
$ ps aux
$ vmstat 5 10

14. Verzeichnisbaum (tree) erstellen

$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

15. Asterisk PBX Applications ausgeben

$ asterisk -rx "show applications" | awk '{print $1}' | sed -n -e "s/:"//p

16. Anzahl SPAM identifizierte E-Mails des MTA

$ cat /var/log/maillog | egrep -c '(Alert\!)|(identified spam)|(reject\:)'

17. Wie lange läuft der Computer schon

$ uptime

18. Zeit und Datum setzen

$ date -s "Dez 12 18:30:00 2014"

19. Wer bin ich und die effektive Nutzer-ID, UID und GID ausgeben

$ whoami
$ id

20. Liste der zuletzt eingeloggten User ausgeben

$ last -a

Server Memory cache buffers reset

Welcher Linux Admin kennt das nicht, nach einer Gewissen uptime ist fast das gesamte Memory für cache und buffers des Servers verbraucht, eigentlich ist es nicht nötig in das Memory Management des Systems einzugreifen, ist das System jedoch knapp an Arbeitsspeicher, lässt sich mit einem einfachen Script Abhilfe schaffen.

Als root wird folgendes Script editiert:

$ vi /usr/sbin/clearcache.sh

#!/bin/bash
# freeing cache buffers

echo $(date) >> /var/log/clearcache.log

freemem_before=$(cat /proc/meminfo | grep MemFree | tr -s ' ' | cut -d ' ' -f2) && freemem_before=$(echo "$freemem_before/1024.0" | bc)

cachedmem_before=$(cat /proc/meminfo | grep "^Cached" | tr -s ' ' | cut -d ' ' -f2) && cachedmem_before=$(echo "$cachedmem_before/1024.0" | bc)

sync; echo 3 > /proc/sys/vm/drop_caches

freemem_after=$(cat /proc/meminfo | grep MemFree | tr -s ' ' | cut -d ' ' -f2) && freemem_after=$(echo "$freemem_after/1024.0" | bc)

echo -e "This freed $(echo "$freemem_after - $freemem_before" | bc) MiB, so now you have $freemem_after MiB of free RAM." >> /var/log/clearcache.log

Nun das Script ausführbar machen.

$ u+x /usr/sbin/clearcache.sh

und als crontask um 5, 13 und 21 Uhr ausführen lassen.

echo "0 5,13,21 * * * root /usr/sbin/clearcache.sh" >> /etc/crontab

Mit free -m lässt sich vor und nach dem reset das freie Memory beobachten, auch wird der Task unter /var/log/clearcache.log protokolliert und kann mit tail /var/log/clearcache.log auf stdout ausgegeben.

clear cache