du -hx / | sort -h
lpi1:textutils
Inhaltsverzeichnis
cat & split
dd if=/dev/urandom of=test.big count=100 bs=1M split -b14m test.big cat x?? > test2.big md5sum test.big test2.big
tac
rpm -qa --last | tac
rev
rev steht nicht in den LPI101 Lernzielen
echo regal | rev
rev zweifach verwenden, um Text am Ende zu entfernen, obwohl cut allein das nicht kann:
echo test | rev | cut -c 2- | rev
nl
nl /etc/init.d/network
cut
cut -b28- /var/log/messages | sort
cut & paste
Auseinandernehmen:
cut -d: -f1-3 /etc/passwd > spalte1-3 cut -d: -f4- /etc/passwd > spalte4-7
Wieder zusammensetzen
paste -d: spalte1-3 spalte4-7
sort
Dateien und Verzeichnisse unter / nach Größe sortiert ausgeben
du -mx / | sort -n
Benutzer nach Benutzernummer sortiert ausgeben:
sort -t : -k 3n /etc/passwd
uniq
Doppelte Zeilen loswerden:
egrep -v '^#' /etc/httpd/conf/httpd.conf | uniq
Welcher Benutzer hat wie viele Prozesse laufen:
ps -e --no-headers -o user | sort | uniq -c
expand
Tabs in Spaces
tr : "\t" < /etc/passwd | cat -T tr : "\t" < /etc/passwd | expand -t 15,17,23,29,60,80
unexpand
Spaces in Tab
unexpand -a <<EOF | cat -T
eins 1 drei 3 fünf 5 sechs 6 sieben 7 acht 8
EOF
Aber nicht:
unexpand -a <<EOF | cat -T
eins 1 drei 3 fünf 5 sechs 6 sieben 7 acht 8
EOF
column
column steht nicht in den LPI101 Lernzielen
ip r | column -t
fmt
wget -q -O - www.gnu.org/licenses/gpl-3.0.txt | fmt -w 40
od
/tmp/od :
müsli
od -a /tmp/od
pr
wget -q -O - www.gnu.org/licenses/gpl-3.0.txt | pr
join
sort -t: -k 3 /etc/group > group sort -t: -k 4 /etc/passwd > passwd join -t: -1 4 -2 3 -o 1.1 2.1 passwd group
Aber:
join -t: -1 4 -2 3 -o 1.1 2.1 passwd /etc/group | wc -l wc -l /etc/passwd
Wo ist der Rest?
Alternative:
perl -F: -ane 'BEGIN {$GROUPFILE=shift; open GROUPFILE; %h=map {(split /:/)[2,0]} <GROUPFILE> }; print "$F[0]: $h{$F[3]}\n"' /etc/group /etc/passwd
head
ps ax | head
tail
tail -f /var/log/messages
hexdump
dd if=/dev/sda count=1 bs=1M | hexdump | less
wc
wget -q -O - www.gnu.org/licenses/gpl-3.0.txt | wc
sed
Zeichen vertauschen
a und b vertauschen:
sed y/ab/ba/ /etc/hosts
Zeichenkette ersetzen
Subnetz ersetzen:
sed -i s/192.168/10.0/g /etc/hosts
Zeilen entfernen
Benutzer nutzer22 aus /etc/passwd entfernen:
sed -e '/^nutzer22/d' /etc/passwd
Links
tr
tr abc xyz < /etc/hosts
1)
in aktuellen Distributionen auch:
lpi1/textutils.txt · Zuletzt geändert: 2015/07/21 12:05 von ingo_wichmann
