Linux Tipps & Tricks

Inhaltsverzeichnis:

Inhaltsverzeichnis

Benutzer anlegen und sudo Recht vergeben:

adduser <username>
usermod -a -G sudo <username>

Berechtigung für Verzeichnis und Datei getrennt setzen:

chmod 755 $(find /path/to/base/dir -type d)
chmod 644 $(find /path/to/base/dir -type f)

Ab aktuellem Verzeichnis rekursiv in den Dateien nach einem Textinhalt suchen:

find ./ -exec grep -i 'SUCHTEXT' /dev/null {} \;

GNU Lizens und ’no warranty‘ Dinger löschen beim  SSH-Login:

# Eine leere Datei ".hushlogin" ins Homeverzeichnis anlegen z.B. mit
touch ~/.hushlogin

Benutzerdefinierte Anzeige beim Anmelden im Terminal oder SSH

let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
let secs=$((${upSeconds}%60))
let mins=$((${upSeconds}/60%60))
let hours=$((${upSeconds}/3600%24))
let days=$((${upSeconds}/86400))
UPTIME=`printf "%d days, %02dh%02dm%02ds" "$days" "$hours" "$mins" "$secs"`

# get the load averages
read one five fifteen rest < /proc/loadavg

echo "$(tput setaf 2)
   .~~.   .~~.    `date +"%A, %e %B %Y, %r"`
  '. \ ' ' / .'   `uname -srmo`$(tput setaf 1)
   .~ .~~~..~.    
  : .~.'~'.~. :   Uptime.............: ${UPTIME}
 ~ (   ) (   ) ~  Memory.............: `cat /proc/meminfo | grep MemFree | awk {'print $2'}`kB (Free) / `cat /proc/meminfo | grep MemTotal | awk {'print $2'}`kB (Total)
( : '~'.~.'~' : ) Load Averages......: ${one}, ${five}, ${fifteen} (1, 5, 15 min)
 ~ .~ (   ) ~. ~  Running Processes..: `ps ax | wc -l | tr -d " "`
  (  : '~' :  )   IP Adressen........: eth0: `/sbin/ifconfig eth0 | grep 'inet Adresse:' | cut -d: -f2 | awk '{ print $1}'`; wlan0: `/sbin/ifconfig wlan0 | grep 'inet Adresse:' | cut -d: -f2 | awk '{ print $1}'`
   '~ .~~~. ~'    Free Disk Space....: `df -Pk | grep -E '^/dev/sda1' | awk '{ print $4 }' | awk -F '.' '{ print $1 }'`k on /dev/sda1
       '~'
$(tput sgr0)"

Im terminal (hier über MobaXterm) sieht das dann so aus:

SSH-Terminal Darstellung nach Login
SSH-Terminal Darstellung nach Login