Ralf Zimmermann SIEGNETZ.IT GmbH

DNSBL Check

SA-Ruleset

Menü

Meist besuchte Seiten

Nützliche Befehle

Hier eine Sammlung nützlicher Befehle.

Summarize file count in directory

Zurück zum Seitenanfang | Publiziert am
find / -depth -type d -exec /bin/sh -c 'printf "%5d %s\n" "$(find {} -type f -printf . | wc -c)" "{}"' \;|sort -n

lsof Beispiele

Zurück zum Seitenanfang | Publiziert am

List processes which opened a specific file

lsof /var/log/syslog

List opened files under a directory

lsof +D /var/log/

List opened files based on process names starting with

lsof -c ssh -c init

List processes using a mount point

lsof /home

List files opened by a specific user

lsof -u rzimmermann
lsof -u ^rzimmermann

List all open files by a specific process

lsof -p 1753

Kill all process that belongs to a particular user

kill -9 $(lsof -t -u rzimmermann)

Combine more list options using OR/AND

lsof -u rzimmermann -c init
lsof -u rzimmermann -c init -a

Execute lsof in repeat mode

lsof -u rzimmermann -c init -a -r10

List all network connections

lsof -i

List all network files in use by a specific process

lsof -i -a -c ssh

List processes which are listening on a particular port

lsof -i :22

List all TCP or UDP connections

lsof -i tcp; lsof -i udp;

List all Network File System ( NFS ) files

lsof -N -u lakshmanan -a

Using json.tool from the shell to validate and pretty-print

Zurück zum Seitenanfang | Publiziert am
echo '{"json":"obj"}' | python -mjson.tool

Convert from Binary to ASCII

Zurück zum Seitenanfang | Publiziert am
echo "01110010 01111010 01101001 01101101 01101101 01100101 01110010 01101101 01100001 01101110 01101110 00001010" | perl -lape '$_=pack"(B8)*",@F'

tail with colorize regex

Zurück zum Seitenanfang | Publiziert am
tail -f /var/log/mail.log | perl -p -e 's/postfix/\\e\[31mpostfix\\e\[0m/'
Real ANSI colour codes look like ESC[<number>m where ESC is the character 27, and can be matched
using \\e in a perl regular expression. The number denotes the colour, possible codes are:

// common defines 
#define NORMAL "\\e\[0m" 
#define BOLD "\\e\[1m" 
#define UNDERSCORE "\\e\[4m" 
#define BLINK "\\e\[5m" 
#define INVERSE "\\e\[7m" 

// foreground colours 
#define ANSI_BLACK "\\e\[30m" 
#define ANSI_RED "\\e\[31m" 
#define ANSI_GREEN "\\e\[32m" 
#define ANSI_YELLOW "\\e\[33m" 
#define ANSI_BLUE "\\e\[34m" 
#define ANSI_PURPLE "\\e\[35m" 
#define ANSI_CYAN "\\e\[36m" 
#define ANSI_WHITE "\\e\[37m" 

// background colours 
#define ANSI_BACK_BLACK "\\e\[40m" 
#define ANSI_BACK_RED "\\e\[41m" 
#define ANSI_BACK_GREEN "\\e\[42m" 
#define ANSI_BACK_YELLOW "\\e\[43m" 
#define ANSI_BACK_BLUE "\\e\[44m" 
#define ANSI_BACK_PURPLE "\\e\[45m" 
#define ANSI_BACK_CYAN "\\e\[46m" 
#define ANSI_BACK_WHITE "\\e\[47m" 

Run a command when a file is changed

Zurück zum Seitenanfang | Publiziert am
$ while inotifywait -e modify /tmp/myfile; do firefox; done

Encrypted Tar Archive

Zurück zum Seitenanfang | Publiziert am
tar cjf - | gpg --cipher-algo AES -c - > backup.tar.gpg

Reconstruct standard permissions for directories and files in current directory

Zurück zum Seitenanfang | Publiziert am
$ for i in 'find .'; do [ -d $i ] && chmod 755 $i || chmod 644 $i; done

Remove everything except that file

Zurück zum Seitenanfang | Publiziert am
$ find . ! -name file.txt -delete

view certificate details

Zurück zum Seitenanfang | Publiziert am
$ openssl x509 -in filename.crt -noout -text

Replace space in filename

Zurück zum Seitenanfang | Publiziert am
$ rename "s/ *//g" *.jpg

Quickly batch resize images

Zurück zum Seitenanfang | Publiziert am
$ mogrify -geometry 800x600 *.jpg
-geometry (preserves values of height and width given, and aspect ratio)

convert filenames in current directory to lowercase

Zurück zum Seitenanfang | Publiziert am
$ rename 'y/A-Z/a-z/' *

Remove invalid key from the known_hosts file for the IP address of a host

Zurück zum Seitenanfang | Publiziert am
$ ssh-keygen -R `host hostname | cut -d " " -f 4`

print all except first collumn

Zurück zum Seitenanfang | Publiziert am
$ cut -f 2- -d " "

Search for a string inside all files in the current directory

Zurück zum Seitenanfang | Publiziert am
$ find . -type f -print0 | xargs -0 grep -i <pattern>

Send a local file via email

Zurück zum Seitenanfang | Publiziert am
$ cat filename | uuencode filename | mail -s "Email subject" r.zimmermann@siegnetz.de

Show apps that use internet connection at the moment

Zurück zum Seitenanfang | Publiziert am
netstat -lantp | grep -i establ | awk -F/ '{print $2}' | uniq | sort

regex to match an ip

Zurück zum Seitenanfang | Publiziert am
$ echo "123.32.12.134" | grep -P '([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5]

git remove files which have been deleted

Zurück zum Seitenanfang | Publiziert am
$ git add -u

It deletes all removed files, updates what was modified, and adds new files.

find and delete empty dirs, start in current working dir

Zurück zum Seitenanfang | Publiziert am
$ find -type d -empty -delete -print

Detect encoding of a text file

Zurück zum Seitenanfang | Publiziert am
$ file -i file.txt

Print all fields in a file/output from field N to the end of the line

Zurück zum Seitenanfang | Publiziert am
$ awk '{print substr($0, index($0,$8)) }
Oder auch
$ cut -f N- file.txt

get all pdf and zips from a website using wget

Zurück zum Seitenanfang | Publiziert am
wget --reject html,htm --accept pdf,zip -rl1 rz.siegnetz.de

convert unixtime to human-readable

Zurück zum Seitenanfang | Publiziert am
$ date -d @1234567890

useful to read logfiles with unix-timestamps, f.e. squid-log

Zurück zum Seitenanfang | Publiziert am
sudo tail -f /var/log/squid3/access.log | awk '{ print strftime("%c ", $1) $0; }

convert strings toupper/tolower with awk

Zurück zum Seitenanfang | Publiziert am
$ awk '!a[$0]++' file

print file without duplicated lines using awk

Zurück zum Seitenanfang | Publiziert am
$ awk '!a[$0]++' file

Remove CR from Windows- / DOS-textfiles

Zurück zum Seitenanfang | Publiziert am
$ dos2unix file.txt

Mailing ohne Email Versand testen

Zurück zum Seitenanfang | Publiziert am
$ swaks -from postmaster@siegnetz.de -to r.zimmermann@siegnetz.de -server rz.siegnetz.de -q RCPT

Connect to SMTP server using STARTTLS

Zurück zum Seitenanfang | Publiziert am
$ openssl s_client -connect rz.siegnetz.de:25 -starttls smtp

Convert filenames from ISO-8859-1 to UTF-8

Zurück zum Seitenanfang | Publiziert am
$ convmv -r -f ISO-8859-1 -t UTF-8 --notest *

HTTP Status Code mit curl abfragen

Zurück zum Seitenanfang | Publiziert am
curl --write-out %{http_code} --silent --output /dev/null rz.siegnetz.de