Image source: Willi Glenz - MyDebianDesktop
20181125 RASPBERRY PI
// Homepage : raspberrypi.org
// Configuration : raspberrypi.org/documentation/configuration/
// Download : raspberrypi.org/downloads/raspbian/
//
// MagPi - The official Raspberry Pi magazine
// Issue 75 2018-11 : raspberrypi.org/magpi-issues/MagPi75.pdf
//
// $ clear; lsblk; lsblk -l
// $ dd bs=4M if=2018-10-09-raspbian-stretch.img of=/dev/sdX status=progress conv=fsync
// # raspi-config
201811224 FIRST CHECK
// Hostname $ hostnamectl
// Release $ cat /etc/os-release
// Interfaces & Routes $ nmap --iflist
// Neighbours $ ip neigh; ip monitor
// Identify Internet Services $ nmap 192.168.x.y
// Network Diagnostic $ mtr --curses google.com
20181123 DEBIAN
// Homepage : debian.org
// DistroWatch : distrowatch.com/table.php?distribution=debian
// News : debian.org/News
// Security : debian.org/security/#DSAS
// Handbook # apt-get install debian-handbook; dpkg -L debian-handbook | less; w3m file:///usr/share/doc/debian-handbook/html/en-US/index.html
// Debian Wiki : wiki.debian.org/FrontPage
// Package Documentation : /usr/share/doc
// Version $ cat /etc/debian_version
// Sources List Generator: debgen.simplylinux.ch
// Download : debian.org/distrib/netinst#smallcd
A - alias apt-cache apt-get archivemount atop awk
B - badblocks bashrc bc bg blkid
C - cat cd chkrootkit clear clipit chown cp curl cut
D - dd df diff dmesg dpkg du
E - echo
F - fdisk fg file find fish free fuser
G - git glances gnome-clocks grub-mkconfig guake
H - head hostname hostnamectl htop hwinfo
I - ifconfig info ip iwconfig
J - java javac jobs
K - kismet
L - lastlog less ls lsb_release lsblk lshw lspci lsusb lvm lxc
M - man mc mkdir mount mtr mv
N - netatop netbeans netstat nmap nl
O - open
P - perldoc pinfo printf pwd pwgen
R - R raspi-config rpi-update rsync
S - shellcheck screen script sed service set sort ssh steghide stat sudo su swapon sync
T - tac tail tasksel top touch tripwire tune2fs
U - ufw uniq update-alternatives users
V - veracrypt vim vimtutor visudo vlc
W - w watch wc w3m whoami
X - xdotool xsel
Y - youtube-dl
ctrl-a : Go to the beginning of the line
ctrl-e : Go to the end of the line
ctrl-e ctrl-u : Clear the line
esc # : Making the line a comment
ctrl-l : Clear the screen
ctrl-r : Search the history
ctrl-s : Stop output to the screen
ctrl-q : Allow output to the screen
Hostname $ hostnamectl
Release $ cat /etc/os-release
Interfaces & Routes $ nmap --iflist
Neighbours $ ip neigh; ip monitor
Identify Internet Services $ nmap 192.168.x.y
Network Diagnostic $ mtr --curses google.com
#! /bin/bash
#
# sudo check.sh
#
clear
echo "------------------------------------------------------"
hostnamectl
echo "------------------------------------------------------"
lsb_release -a
echo -n "Hardware: "; uname --machine
echo -n "Hostname: "; cat /etc/hostname
# echo -n "Hostname: "; uname --nodename
echo -n "Kernel Name: "; uname --kernel-name
echo -n "Kernel Release: "; uname --kernel-release
echo -n "Kernel Version: "; uname --kernel-version
echo "------------------------------------------------------"
# cat /etc/debian_version
# cat /etc/issue
cat /etc/os-release
# uname --operating-system
echo "------------------------------------------------------"
sudo lshw -short -class disk
echo
sudo lshw -short -class volume
echo "------------------------------------------------------"
# sudo usbview
lsusb
echo "------------------------------------------------------"
$ nmap --iflist
$ nmap -sP a.b.c.d/24
echo "------------------------------------------------------"
DistroWatch : distrowatch.com/table.php?distribution=debian
Debian Homepage : debian.org
Debian News : debian.org/News
Debian Security : debian.org/security/#DSAS
Debian Handbook # apt-get install debian-handbook; dpkg -L debian-handbook | less; w3m file:///usr/share/doc/debian-handbook/html/en-US/index.html
Debian Wiki : wiki.debian.org/FrontPage
Debian RefCard # apt-get install debian-refcard; dpkg -L debian-refcard | less; w3m file:////usr/share/doc/debian-refcard/index.html
Debian Version $ cat /etc/debian_version
Debian Download : debian.org/distrib/netinst#smallcd
Package Documentation : /usr/share/doc
Sources List Generator: debgen.simplylinux.ch
~./bashrc ~.profile /etc/profile /etc/bash.bashrc
# apt-get install
A - aview
B - backintime-qt4
C - clipit
D - debian-handbook debian-reference debian-reference-en debian-refcard
E - espeak
F - firmware-iwlwifi firmware-realtek
G - gdebi gkrellm glances gnome-clocks guake
H - htop hwinfo
K - kismet
L - libreoffice lvm2
M - mc menulibre
P - powertop printer-driver-cups
S - screen sudo
T - taskwarrior terminator tripwire
V - vim vym
Y - youtube-dl
// # vim /etc/apt/sources.list
// deb http://ftp.de.debian.org/debian/ stretch main contrib non-free
// deb-src http://ftp.de.debian.org/debian/ stretch main contrib non-free
// deb http://security.debian.org/debian-security stretch/updates main contrib non-free
// deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
// deb http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
// deb-src http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
// deb https://download.virtualbox.org/virtualbox/debian stretch contrib
// $ vim ~/.bashrc
// HISTCONTROL=ignoreboth:erasedups
// export PATH=$HOME/scripts:$PATH
// alias c='clear; ncal -3wy'
// alias h='clear; history 25'
// alias l='ls -hog'
// alias L='clear; ls -hog'
// alias x='echo $PWD'
// alias xx='cd ..'
// $ . ~/.bashrc
// $ vim ~/.vimrc
// " GENERAL
// syntax on
// set number
// set ruler
// "set hls
// set background=dark
// set encoding=utf8
// set mouse=a
// " INDENT
// set autoindent
// " TABs
// set tabstop=3
// set softtabstop=3
// set shiftwidth=3
// set expandtab
// " MAPs
// nmap <leader>w :w!<cr>
// map <F2> :echo 'Current time is ' . strftime('%c')<CR>
Homepage : raspberrypi.org
Configuration : raspberrypi.org/documentation/configuration/
Download : raspberrypi.org/downloads/raspbian/
MagPi - The official Raspberry Pi magazine
Issue 75 2018-11 : raspberrypi.org/magpi-issues/MagPi75.pdf
$ clear; lsblk; lsblk -l
$ dd bs=4M if=2018-10-09-raspbian-stretch.img of=/dev/sdX status=progress conv=fsync
# raspi-config
White Paper : oracle.com/technetwork/java/langenv-140151.html
Getting Started : docs.oracle.com/javase/tutorial/getStarted/index.html
Language Basics : docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
Object-Oriented Programming Concepts : docs.oracle.com/javase/tutorial/java/concepts/index.html
Classes and Objects : docs.oracle.com/javase/tutorial/java/javaOO/index.html
Interfaces and Inheritance : docs.oracle.com/javase/tutorial/java/IandI/index.html
Numbers and Strings : docs.oracle.com/javase/tutorial/java/data/index.html
Packages : docs.oracle.com/javase/tutorial/java/package/index.html
Exceptions : docs.oracle.com/javase/tutorial/essential/exceptions/index.html
Basic I/O : docs.oracle.com/javase/tutorial/essential/io/index.html
Concurrency : docs.oracle.com/javase/tutorial/essential/concurrency/index.html
Generics : docs.oracle.com/javase/tutorial/java/generics/index.html
Annotations : docs.oracle.com/javase/tutorial/java/annotations/index.html
chortle.ccsu.edu/java5/index.html
oreilly.com/openbook/javawt/book/index.html
tutorialspoint.com/java/index.htm
tutorialspoint.com/swing/index.htm
docs.oracle.com/javase/7/docs/api/index.html?overview-summary.html
docs.oracle.com/javase/8/docs/api/index.html?overview-summary.html
docs.oracle.com/javase/9/docs/api/index.html?overview-summary.html
docs.oracle.com/javase/10/docs/api/index.html?overview-summary.html
$ java -version
$ javac -version
# apt-get install default-jdk default-jdk-doc
# apt-get install openjdk-8-jdk openjdk-8-doc
# update-java-alternatives -l
# update-java-alternatives -s java-1.11.0-openjdk-amd64
# update-alternatives --display java
# update-alternatives --config java
$ screen vim ~/java/Main.java
$ ( cd ~/java/; vim Main.java )
eclipse.org
help.eclipse.org/2018-09/index.jsp
//
// shift + ctrl + f : Format
// shift + ctrl + l : Keybindings
//
// ctrl + space : Content assist
// ctrl + 3 : Quick Access
// ctrl + / : Toggle Comment
// ctrl + d : Delete line
// ctrl + l : Goto line number
// ctrl + z : Undo
// ctrl + F11 : Run
netbeans.apache.org
docs.oracle.com/cd/E50453_01/doc.80/e50452.pdf
netbeans.org/project_downloads/usersguide/shortcuts-80.pdf
// alt+insert : Generate code
// alt+shift+f : Format selection
// ctrl + x : Delete line
// ctrl + e : Delete line
// shift-ctrl-minus | plus : Collaps Expand all
/etc/screenrc
strg-? : Key bindings
strg-ac : New
strg-aa : Toggle
strg-ah : Hardcopy
ctrl-wv ctrl-wr ctrl-wc
$ dpkg -L vim-doc
$ EDITOR=/usr/bin/vim
$ VISUAL=$EDITOR
$ export EDITOR VISUAL
# update-alternatives --config editor
$ vimtutor
$ vim Main.java
$ ctrl-x e
$ w3m https://linux.die.net/man/1/vim
$ w3m https://www.vim.org
$ vim ~/.vimrc
// " GENERAL
// syntax on
// set number
// set ruler
// "set hls
// set background=dark
// set encoding=utf8
// set mouse=a
// " INDENT
// set autoindent
// " TABs
// set tabstop=3
// set softtabstop=3
// set shiftwidth=3
// set expandtab
// " MAPs
// nmap <leader>w :w!<cr>
// map <F2> :echo 'Current time is ' . strftime('%c')<CR>
taskwarrior.org
taskwarrior.org/docs
taskwarrior.org/docs/30second.html
linux.die.net/man/1/task
$ man task
$ apt-cache search taskwarrior
$ apt-cache show taskwarrior
# apt-get install taskwarrior
$ vim ~.taskrc
$ w3m https://linux.die.net/man/1/task
Basic Task Management
$ task
$ task add Task1
$ task add Task2
$ task
$ task 1 modify priority:H
$ task 1 modify due:eow
$ task 1 start
$ task 1 stop
$ task 1 information
$ task
$ task 1 done
$ task 2 delete
$ task
$ task burndown
$ alias t='clear; task'
$ alias tt='clear; task burndown.daily'
# apt-get install tripwire
$ apt-cache show tripwire
$ man tripwire
$ w3m https://github.com/Tripwire/tripwire-open-source
> Creating a baseline: # tripwire --init
> Running a check: # tripwire --check --verbose
> Printing a report: # twprint -m r -t [0-4] -r /path/to/reportfile.twr
> Updating the database: # tripwire --update --accept-all
# apt-get install apt-transport-https
# wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
# wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
// # vim /etc/abt-get/sources.list
// > # Manuel entry
// > deb https://download.virtualbox.org/virtualbox/debian stretch contrib
# apt-get update
# apt-get install virtualbox-5.2
Extension Pack : https://download.virtualbox.org/virtualbox/5.2.20/Oracle_VM_VirtualBox_Extension_Pack-5.2.20.vbox-extpack
UserManual : https://download.virtualbox.org/virtualbox/5.2.20/UserManual.pdf
linuxcontainers.org
/etc/subuid /etc/subgid
//
// # apt-get install lxc
// $ lxc-checkconfig
atop dstat free glances htop info kill man pinfo ps pwd top tuptime uptimeusers vmstat w whoami
zabbix.com
bg fg jobs ctrl-z
$ apt-cache show vlc | less
# apt-get install kismet
$ cat /etc/fstab | grep -i swap
# cat /var/log/messages | awk '{print substr($0,0,12)}' | uniq -c | sort -nr | awk '{printf("\n%s ",$0) ; for (i = 0; i<$1 ; i++) {printf("*")};}' | less
$ dstat -f 60 24
$ df -hT
$ efibootmgr
$ find ~ -maxdepth 1 -type f -mtime 3
$ find ~ -maxdepth 1 -type f -exec grep "^alias " '{}' \; -print$ lastlog | less
$ find /etc -type f -print 2> /dev/null | less
$ find /etc/*tab -type f -print
$ free -h
$ lastlog | less
$ lsblk
$ lsb_release -a
$ ps hax -o user | sort | uniq -c
$ script sessionlog_2018-10-30
$ set | less
# service cron status
# swapon -s
$ tuptime
# ufw status
$ vmstat 2 10
$ watch -n 5 free -m
$ whowatch
$ xload -update 1 -nolabel &
BASH
// $ shellcheck script.sh
// $ printf "The user %s is %d years old.\n" Max 28
// $ set | less
PERL
// # apt-get install perldoc
// $ perldoc perlintro
// learn.perl.org/books/beginning-perl
//
// #!/usr/bin/perl
// use strict;
// use warnings;
R
Introduction to R Programming : youtu.be/92zCRV3eQxw
An Introduction To R : cran.r-project.org/doc/manuals/r-release/R-intro.pdf
An Introduction to R > help.start()
$ R
tldp.org/LDP/Mobile-Guide/html/index.html
raspberrypi.org/documentation
badblocks blkid dmesg fdisk hwinfo ifconfig iwconfig lsblk lshw mount lvm sync tune2fs
/var/log/messages
# badblocks -v /dev/sda
# blkid /dev/sda1
$ cat /sys/devices/virtual/thermal/thermal_zone0/temp
# fdisk -l
# hwinfo --short | less
# hwinfo --disk
# ifconfig eth0
# iwconfig
# lshw -short | less
$ mount | column -t
# mount -t tmpfs -o size=2048M tmpfs /media/ramdisk
# mount -o loop /home/user/iso/xyz.iso /mnt/
# smartctl -i /dev/sda
$ sync
# tune2fs -l /dev/sda2 | less
USB
# clear; fdisk -l; lsblk -l; echo; dmesg | tail; echo; tail -f /var/log/messages
LVM
# apt-get install lvm2
$ apt-cache show lvm2
$ man lvm
# fdisk -l
cd chown cp df dpkg du file find for java ln ls man mkdir mv open pwd rm sort stat touch type veracrypt vim visudo watch
/etc /var/log /bin /usr/bin /sbin
veracrypt.fr/en/Documentation.html
# chown userXYZ file.txt
$ df -hT
$ dpkg -L vim-doc
# du -hs / 2> /dev/null
$ du -h --max-depth=1 | sort -rh
$ du -b --max-depth 1 | sort -nr | perl -pe 's{([0-9]+)}{sprintf "%.1f%s", $1>=2**30? ($1/2**30, "G"): $1>=2**20? ($1/2**20, "M"): $1>=2**10? ($1/2**10, "K"): ($1, "")}e'
# find /home -user userxyz -size +1G
# find /home -user userxyz -mtime -3
# find / -uid 1000 -exec chown -v 1002:1002 {} \;
$ find . -name "*.jpg" -exec convert {} -scale 50% +repage {} \;
$ find ~ -maxdepth 1 -type f -mtime 3
$ find ~ -maxdepth 1 -type f -exec grep "^alias " '{}' \; -print
# find / -user userxyz -type f -exec rm -f {} \;
$ find /etc -type f -print 2> /dev/null | less
$ find /etc/*tab -type f -print
$ for x in *; do mv "$x" "${x,,}"; done
$ java -jar filename.jar
$ ls -l | xsel --clipboard
$ man hier
$ sort -t: -k1 -n /etc/passwd
$ stat /home/user
$ type date
$ type echo
# visudo
> Defaults:userxyz timestamp_timeout=30
$ watch -d -n 5 ls -l
# vim /etc/sudoers
BACKUP
$ archivemount archive.tar.gz ~/mnt/
# dd if=/dev/sdABC of=/dev/sdXYZ bs=64K conv=noerror,sync
$ tar -cvzf ~/backup/backup.tar.gz ~/java
$ tar -tvf backup.tar.gz
$ ssh [email protected] "tar -zcf - /home/user/scripte" > scripte.tar.gz
RSYNC
$ rsync -avzP --delete --stats --exclude ’Backup*‘ /home/user/ /media/xyz
$ rsync -avzP --delete --stats --exclude-from '/home/user/exclude.txt' /home/user/ /media/xyz
passwd id groups su sudo visudo
adduser useradd ~ deluser userdel ~ usermod chage
addgroup groupadd ~ groupdel delgroup ~ groupmod newgrp
~/.bashrc ~/.profile /etc/group /etc/passwd /etc/profile /etc/shadow /etc/adduser.conf /etc/default/useradd
# vim /etc/sudoers
$ su -p
# adduser user2
# useradd -D
# usermod -c "TestUser" user2
# userdel -r user2
# find /home -uid 1000 | wc -l
# find /home -uid 1000 | tee 1000-files.txt
# find / -uid 1000 -exec chown -v 1002:1002 {} \;
$ fuser -v /media/xyz
$ getent passwd userxyz
$ ls -l /etc/skel
$ id -u user1
$ id -u root
$ id user1
# chown -R user2:user2 /home/user1
$ cut -d: -f1 < /etc/passwd | sort | xargs
PASSWORD
# passwd user1
# passwd -S user1
veracrypt.fr/en/Documentation.html sectools.org kernel.org
cd ls man mv cp open less ctrl-z bg fg jobs
/var/log
# apt-get update && apt-get upgrade && apt-get dist-upgrade
$ cat /etc/shells
# chkrootkit
# vim /etc/sudoers
# visudo
$ gnome-<tab><tab>
$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
# init 0
# ls<tab><tab>
$ pwgen -s 12
# rpi-update
# rkhunter --check --sk
# service netatop start && atop
# shutdown -r now
# shutdown -c
# shutdown -h 1:00
$ sudo !!
$ sudo su
# tripwire --init
$ uname -v
$ unset HISTFILE
# update-alternatives --config editor
$ PI=$(echo "scale=10; 4*a(1)" | bc -l)
KERNEL
$ lsmod | wc -l
LOGGING
# tail -f /var/log/messages
# tail -fvn 25 /var/log/messages
# less +F /var/log/messages
# dmesg --facility=kern -H
# dmesg --level=err,warn -T
MULTIMEDIA
$ mpg123 -zvC /home/user/music/*
$ youtube-dl -F https://youtu.be/xyz
$ youtube-dl -f 22 https://youtu.be/xyz
SWAPPING
//
// $ free -h
// $ top
// $ vmstat -w
// $ cat /proc/swaps
// # fdisk -l
//
// # swapon -s
// # ls -lh /tmp
// # dd if=/dev/zero of=/tmp/swap_tmp bs=1024 count=1000000
// # ls -lh /tmp
// # chmod 600 /tmp/swap_tmp
// # mkswap /tmp/swap_tmp
// # swapon /tmp/swap_tmp
// # swapon -s
//
// # blkid
// # vim /etc/fstab
// # Emergency swap partition
// UUID= (value from blkid) none swap sw 0 0
TIME
# vim /etc/crontab
$ ls -l /etc/cron* | less
TROUBLESHOOTING
# dstat
# testdisk
# grub-mkconfig -o /boot/grub/grub.cfg
# service netatop start && atop
curl ifconfig mtr netstat python ssh
myip.is
/etc/hosts
$ speedometer -r eth0
# arp-scan 192.168.0.0/24
# iw dev wlan0 scan | egrep "SSID|signal" | awk -F ":" '{print $2}' | sed 'N;s/\n/:/' | sort
$ curl ifconfig.me
# netstat -tulpn
$ netstat -a | less
# clear; netstat -tupanc
# clear; echo; netstat -i; echo; netstat -r
# ifconfig -a | grep -Po '\b(?!255)(?:\d{1,3}\.){3}(?!255)\d{1,3}\b' | xargs nmap -A -p0-
$ ssh -X [email protected]
$ python -m SimpleHTTPServer
CONFIGURATION
# vim /etc/ssh/ssh_config
$ cat /etc/hosts
# vim /etc/hosts
# macchanger -r eth0
IP-ADDRESS
$ ip addr show
# ifconfig
$ hostname -I
HOSTS
$ sntop
$ ip a
$ sshfs name@server:/path/to/folder /path/to/mount/point
# ifconfig eth0 down | up
$ nmap --iflist
$ nmap -A -T4 192.168.x.y
$ nmap -sP 192.168.x.y/24
ROUTING
$ nmap --iflist
$ ip -r
DOCUMENTATION
$ w3m http://www.linuxhowtos.org/Security/understandssh.htm
$ w3m https://linux.die.net/Intro-Linux/chap_10.html
# tasksel
# tasksel --list-tasks
# service --status-all | less
# service ssh status
# service apache2 start | restart | stop
# apt-get install printer-driver-cups
# ufw status
RASPBERRY PI
$ ssh -X [email protected]
# raspi-config
# curl -sSL https://install.pi-hole.net | bash
B
* Bash - tecmint.com/linux-commands-cheat-sheet
* Bash - tldp.org/LDP/Bash-Beginners-Guide/html/index.html
* Bash - tldp.org/LDP/abs/html/index.html
* Bash - ComandLineFu - commandlinefu.com
* Bash - Die.net - die.net
* Bash - Pure Bash Bible - github.com/dylanaraps/pure-bash-bible
* Bash - Commandlinefu.com - commandlinefu.com
* Bash - Command-Line-Tools - tldp.org/LDP/GNU-Linux-Tools-Summary/html/index.html
* Bash - CheatSheet $ curl cheat.sh
F
* Fish Tutorial - fishshell.com/docs/current/tutorial.html
G
* Gimp - https://www.gimp.org
* GIT - git-scm.com/book/en/v2
* GIT $ man gittutorial
* Grub - gnu.org/software/grub/manual/grub/grub.html
I
* Info Pages $ info info
L
* LibreOffice - libreoffice.org
* Linux - linux.com
* Linux - kernel.org
* Linux - linuxlinks.com
* Linux - tldp.org/LDP/intro-linux/html/index.html
* LinuxFromScratch - linuxfromscratch.org
N
* Netbeans - docs.oracle.com/cd/E50453_01/doc.80/e50452.pdf
O
* Open Books - O'Reilly - www.oreilly.com/openbook
* Open Books - Rheinwerk - rheinwerk-verlag.de/openbook/
P
* Perl - Beginning Perl - learn.perl.org/books/beginning-perl
S
* Scribus - scribus.net
* Swing - tutorialspoint.com/swing/index.htm
T
* TLDP - tldp.org
M
* MAN Pages $ man -t man | ps2pdf - man.pdf
* MAN Pages $ man -k scanner
* MAN Pages $ apropos . | shuf -n 1 | awk '{print$1}' | xargs man
* MAN Pages $ man man
WEATHER
$ curl wttr.in/~wasserkuppe?lang=de
$ curl wttr.in/bad+kissingen?lang=de
$ curl wttr.in/fulda?lang=de
$ curl wttr.in/~odenwald+reichelsheim?lang=de
$ curl wttr.in/~valletta
$ curl wttr.in/:help
BITCOIN
$ curl rate.sx