LINUXOPOLIS #28 • VIM-SESSIONsteemCreated with Sketch.

in #linux5 years ago (edited)

LINUXOPOLIS

A short summary of building a personal Linux environment.
Published with SteemPeak

The content was written as simple text with Vim. I keep the structure of the text blocks simple, so you can easily copy the text into your own wiki.

This document is intended to give you a first overview of a topic and to encourage you to make further searches.

ScreenshotScreenshot by Willi Glenz

CONTENTS

    VIM 

020 • VIM                               # UPDATE            
034 • VIMRC                             # UPDATE                
001 • VIM-MODE in BASH
035 • VIM-SESSION                       # NEW

    PROGRAMMING

030 • ECLIPSE                           
025 • JAVA                              
024 • AWK
019 • PYTHON            

    ADMINISTRATION

033 • SNAP                              
032 • NETWORK                            
031 • SWAP SPACE                        
029 • SYSTEM INFORMATION                
028 • CRONTAB                            
027 • RANGER                            
026 • BASH                              
023 • MEMORY                                
022 • ONE-LINER & COWSAY                
021 • NEOFETCH
018 • GLANCES
017 • DEBIAN
016 • SCREEN
015 • SHORTCUTS
014 • LINUX-FROM-SCRATCH (LFS)
013 • TOOLBOX
012 • BASHRC
011 • FUZZI FINDER
010 • CRYPTOCURRENCIES
009 • /ETC/FSTAB
008 • ALIASES                                   
007 • RAM-DISK PERMANENT
006 • RAM-DISK TEMPORARY
005 • SOURCES.LIST FOR DEBIAN-STRETCH
004 • SYSTEM UPDATE AND UPGRADE
003 • DCONF-EDITOR                          
002 • GNOME-TWEAK-TOOL                      




035 • VIM-SESSION
88  test            $ vim -u NONE -N
99  exit            :wq  :q!  ZZ  ZQ
                    
01  docu            $ man vim
""  docu II         $ firefox file:///usr/share/doc/vim-doc/html/index.html &
""  docu III        :help user-manual • ^] ^o
""  docu IV         :help edit :help grep ^d ^u

02  buffer          $ ^xe 
""  buffer          :e :edit 
""  buffer          $ vim -O ~/.vimrc ~/.bashrc ^ww ^wr ^wc ^wq
""  buffer          $ vim ~/.bashrc ~/.bashrc :args :ls :next :previous :n :N
""  buffer          :buffers :badd :b1 :b2 :bn :bp :bf :bl

03  motion          ^d ^u  H M L  zz zb zt z<enter> z-  l h j k
04  insert          i I s S a A o O C

05  window          :set nu nonu
""  window          :set relativenumber norelativenumber
""  window          :set hls nohls *
""  window          :set ruler noruler
""  window          :set linebreak nolinebreak
""  window          :call matchadd('colorColumn', '\%81v', 100)
""  window          ^ws ^wv ^wr ^wc ^wq
""  window          gg G ^g 50% ^e ^y ^n ^u ^d ^f ^b

06  repeat          .
07  macro           qa :reg a @a
08  clipboard       vj"+y
09  search          / f * #<br>:set incsearch :nhls

10  change          ~
""  change          :%s/one/two/g
""  change          :set hls <enter> * cw<esc> n :set nohls <enter>
""  change          ci( ci{ ci<

11  delete          x d$ diw dit di" dip das
12  undo redo       u U ^r
13  match           [InsertMode] ^n
14  abbreviate      :ab :abc :unab ^v
15  mark            m1 '1 `1 marks
16  fold            zf5j zo zc zd
17  visual          v ^v
18  text objects    iw it i" ip as f F t T /


034 • VIMRC
: echo $MYVIMRC
$ vim --version | less

$ vim ~/.vimrc
--->  
" SYNTAX HIGHLIGHTING           " :h syntax-highlighting

syntax enable                   
syntax on                       " :syntax on | off
        
" GENERAL

filetype on
filetype plugin on
set nocompatible
set number
set relativenumber
"set laststatus=2
"set colorcolumn=80
"set cursorline
set incsearch
set hlsearch
set showmode
set ruler
set linebreak
set showcmd
set mouse=a
set background=dark
set encoding=utf8

" 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>
:map <F5> :set list!<CR>
:map <F6> :setlocal spell! spelllang=en_us<CR>
 
" ABBREVIATIONS

:iab ii <esc>

" JAVA

:map ,l :!clear && javac % && java %:r<CR>
:iab psv public static void(String[] args) {<cr>}<esc>ko
:iab sout System.out.println(
<---

:wq


033 • SNAP
INSTALLATION

# apt update &&  apt install snapd
$ snap version
$ whereis snapd

$ vim ~/.bashrc
> export PATH=/snap/bin:$PATH
:wq

PACKAGES

$ snap find idea
$ snap info intellij-idea-community
# snap install intellij-idea-community --classic
$ snap find eclipse
$ snap info eclipse
# snap install eclipse --classic

UPDATE

$ snap list
# snap refresh

SOURCES

• Homepage      : snapcraft.io
• Documentation : docs.snapcraft.io/snap-documentation/3781


032 • NETWORK
CONFIGURATION

• /etc/hosts
• /etc/hostname
• /etc/resolv.conf
• /etc/network/interfaces
• /etc/init.d/networking
• /etc/NetworkManager/system-connections/
• /etc/ssh/ssh_config
• # macchanger -r eth0
• # nm-connection-editor
• # hostname mars; cat /proc/sys/kernel/hostname

HOST

• $ inxi -i
• $ w3m myip.is
• $ w3m ifconfig.me
• $ curl ifconfig.me/all
• $ ip address show
• # ifconfig
• # ifconfig -a | grep -Po '\b(?!255)(?:\d{1,3}\.){3}(?!255)\d{1,3}\b' | xargs nmap -A -p0-
• # ifconfig eth0 down | up
• # netstat -tulpn
• $ netstat -ie
• $ netstat -a | less
• # clear; netstat -tupanc
• # clear; echo; netstat -i; echo; netstat -r
• $ sshfs name@server:/path/to/folder /path/to/mount/point
• $ nmap --iflist
• $ domainname
• $ dnsdomainname
• # iw dev wlan0 scan | egrep "SSID|signal" | awk -F ":" '{print $2}' | sed 'N;s/\n/:/' | sort
• $ speedometer -r eth0

LAN

• # arp-scan a.b.c.d/24
• $ ip neigh show
• $ ip route show
• $ ping -c4 8.8.8.8
• $ ping router.linux.local
• $ host 8.8.4.4
• $ nmap -A -T4 a.b.c.d
• $ nmap -sP a.b.c.d/24
• $ ssh -X [email protected]

WAN

• $ traceroute 8.8.8.8
• $ mtr --curses 8.8.4.4

SOURCES

• linuxhowtos.org/Security/understandssh.htm
• linux.die.net/Intro-Linux/chap_10.html
• file:///usr/share/doc/debian-handbook/html/en-US/index.html


031 • SWAP SPACE
CHECK

$ free -h
$ top | htop | atop | glances
$ vmstat -w
$ cat /proc/swaps
# fdisk -l
$ cat /proc/sys/vm/swappiness 

TROUBLESHOOTING

01 # swapon -s
02 # ls -lh /tmp 
03 # dd if=/dev/zero of=/tmp/swap_tmp bs=1024 count=1000000
04 # ls -lh /tmp
05 # chmod 600 /tmp/swap_tmp
06 # mkswap /tmp/swap_tmp
07 # swapon /tmp/swap_tmp
08 # swapon -s
09 # echo 100 > /proc/sys/vm/swappiness

PERMANENT

# blkid
# vim /etc/fstab
> # Emergency swap partition
> UUID= (value from blkid)     none     swap     sw    0     0
:wq


030 • ECLIPSE
KEYS

• Activate Editor       F12
• Quick Assist          control+1           control+2 control+3
• Content Assist        control+space   
• Active Keybindings    shift+control+l
• Full Screen           alt+F11
• Maximum Editor        control+m
• Open Declaration      F3
• Toggle Breakpoint shift+control+b
• Insert line           shift+enter         shift+control+enter
• Run Debug             control+F11         F11
    
EDITING
• Toggle Comment        control+shift+/     
• Format                control+shift+f     
• Maximum View          control+m           
• Folding               control+<Num-Div>   
• Delete line           control+d           
• Undo                  control+z            
• Goto line number      control+l           
• Format                control+shift+f     
• sysout^<space>
• main^<space>
    
FOLDING
• control+shift+num-div
• control+num-plus
• control+num-minus 
• control+num-multiply

SOURCES

• Homepage      eclipse.org
• Download      eclipse.org/downloads/download.php?file=/oomph/epp/2018-12/R/eclipse-inst-linux64.tar.gz
• Documentation help.eclipse.org/2019-03/index.jsp
• Tutorial      tutorialspoint.com/eclipse/


029 • SYSTEM INFORMATION
LOCALHOST

• IP-Address                    $ hostname -i
• Runtime and load              $ watch uptime
• Last reboot history           $ last reboot
• System information I          # inxi -v7
• System information II         # inxi -v7 -c0 | tee system.txt
• Hostname I                    $ hostname; hostname -f; hostname -d
• Hostname II                   $ cat /etc/hostname; hostnamectl; uname --nodename
• Hostname III                  $ cat /proc/sys/kernel/hostname
• Hostname IV                   # hostname mars
• Prelogin message              $ cat /etc/issue
• Shell                         $ echo $0
• Operating system              $ cat /etc/os-release; lsb_release -a; uname --operating-system
• Debian version                $ cat /etc/debian_version
• Debian Upgradeable packets    $ apt-show-versions -u > upgradeableVersions.txt; vim upgradeableVersions.txt
• Kernel                        $ uname -a
• Kernel name                   $ uname --kernel-name
• Kernel release                $ uname --kernel-release
• Kernel version                $ uname --kernel-version
• Kernel ring buffer I          # dmesg | less
• Kernel ring buffer II         # dmesg | tail -n 25
• Rootkit scanner               # chkrootkit
• System log I                  # logwatch | less
• System log II                 # tail -f /var/log/syslog
• Systemd journal               # journalctl
• CPU Model                     $ cat /proc/cpuinfo
• Memory                        $ watch free -h
• Physical Memory               $ grep MemTotal /proc/meminfo 
• MEM Info                      $ cat /proc/meminfo
• Processes I                   $ ps auxw | sort | less
• Processes II                  $ atop
• Processes III                 $ htop
• Processes IV                  $ top
• Processes V                   $ glances
• Disk I                        # lshw -short -class disk
• File System Hierarchy (FHS)   $ man hier
• Disk II                       $ df -hT
• Disk III                      # e4defrag /home -c
• Disk IV                       # du -hs /home/userxyz
• Disk V                        # du -h --max-depth=1 /home/userxyz | sort -n
• Disk VI                       # du -h --max-depth=1 / 2>/dev/null | sort -n
• Volumes                       # lshw -short -class volume
• USB                           # usbview; lsusb
• Documentation                 $ man -k . | less

NETWORK & SERVER

• ufw - ufw status                  # ufw status
• netstat - TCP Sessions            # netstat -tupan
• nmap - Interfaces & Routes        $ nmap --iflist
• arp-scan - ARP                    # arp-scan --localnet
• ip - Neighbours                   $ ip neigh; ip monitor
• mtr - Network diagnostic          $ mtr --curses google.com
• sntop - Network status            $ sntop
• nmap - Services                   $ nmap -A -T4 -Pn a.b.c.d
• nmap - Identify Internet Services $ nmap a.b.c.d; nmap -sP a.b.c.d/24

• SYSSTAT           $ sar -o file 10 8640
    Homepage        : sebastien.godard.pagesperso-orange.fr/index.html
    Documentation   : sebastien.godard.pagesperso-orange.fr/documentation.html
    Tutorial        : sebastien.godard.pagesperso-orange.fr/tutorial.html

• BLEACHBIT         # bleachbit --gui &       
    Homepage        : bleachbit.org
    Documentation   : docs.bleachbit.org
    Tutorial        : bleachbit.org/videos

• CACTI             : localhost/cacti : user admin  
    Homepage        : cacti.net
    Documentation   : cacti.net/documentation.php
    Tutorial        : nwlab.net/tutorials/cacti/cacti-tutorial.html

• ZABBIX                    
    Homepage        : zabbix.com
    Documentation   : zabbix.com/documentation/1.8/start
    Tutorial        : zabbix.com/documentation/1.8/manual/tutorials


028 • CRONTAB
COMMANDS

$ ranger /etc/cron.d
# crontab -l
# crontab -e
$ crontab -e

DAEMON

# service --status-all | less
# service cron status

CONFIGURATION

$ crontab -u user -e
> ┌──────────────── minute          (0 - 59) 
> │ ┌────────────── hour            (0 - 23) 
> │ │ ┌──────────── day of month    (1 - 31) 
> │ │ │ ┌────────── month           (1 - 12) 
> │ │ │ │ ┌──────── day of week     (0 - 6) Sunday to Saturday 
> │ │ │ │ │ 
> * * * * *         echo "Test" >> /tmp/crontest.txt
> 0 9 * * *         tar -zcf /var/backups/eclipse.tgz /home/user/eclipse-workspace/
> 0 9 * * 4         rm -rf /home/user/tmp/*
> 0 0 1,15 * *      echo "Test" >> /tmp/crontest.txt
> */10 * * * *      echo "Test" >> /tmp/crontest.txt
> 0 0-5 * * *       echo "Test" >> /tmp/crontest.txt
> 0 0 */2 * *       echo "Test" >> /tmp/crontest.txt
> */30 9/17 * * 1-5 echo "Test" >> /tmp/crontest.txt
> 0 12  *  *  *     /usr/sbin/tripwire --check
:wq

SOURCES

$ w3m crontab.guru
$ man cron
$ man -a crontab
$ man 5 crontab


027 • RANGER
F1      F2      F3      F4      F5      F6      F7      F8      F10
help    rename  view    edit    copy    cut     mkdir   delete  exit    

Exit                : q
Help                : ? <f1>
--------------------------------------
Shell               : S s
Show hidden files   : <ctrl>h
File rename         : <ctrl>cw :rename
File delete         : <ctrl>dD :delete
File tag            : t ct
Go home             : gh
Go /etc             : ge

CONFIGURATION
$ vim ~/.config/ranger/rc.conf
> set draw_borders true
:wq

SOURCES
• Homepage          ranger.github.io
• Documentation     github.com/ranger/ranger/wiki   


026 • BASH
ADVANCED-BASH-SCRIPTING-GUIDE
# apt install abs-guide
$ dpkg -L abs-guide
$ firefox file:///usr/share/doc/abs-guide/html/index.html &

SESSION
$ sudo !!
# apt-get update && apt-get upgrade && apt-get dist-upgrade; apt-get autoremove -yy
# init 0
# init 6
# shutdown -c
# shutdown -h 1:00
# shutdown -r now

SUDO
# visudo 
> Defaults:user timestamp_timeout=30

SOURCES
• Homepage                  : gnu.org/software/bash/
• Documentation             : gnu.org/software/bash/manual/html_node/index.html
• Bash-Guide-for-Beginners  : tldp.org/LDP/Bash-Beginners-Guide/html/index.html
• Advanced-Bash-Scrip-Guide : tldp.org/LDP/abs/html/


025 • JAVA
ORACLE-TUTORIALS

Index               : docs.oracle.com/javase/tutorial/reallybigindex.html
Getting Started     : docs.oracle.com/javase/tutorial/getStarted
Language Basics     : docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
OOP Concepts        : docs.oracle.com/javase/tutorial/java/concepts/index.html
Classes and Objects : docs.oracle.com/javase/tutorial/java/javaOO/index.html
Annotations         : docs.oracle.com/javase/tutorial/java/annotations/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
Generics            : docs.oracle.com/javase/tutorial/java/generics/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
Platform Environment: docs.oracle.com/javase/tutorial/essential/environment/index.html
Regular Expressions : docs.oracle.com/javase/tutorial/essential/regex/index.html
Collections         : docs.oracle.com/javase/tutorial/collections/index.html
Date & Time         : docs.oracle.com/javase/tutorial/datetime/index.html
Deployment          : docs.oracle.com/javase/tutorial/deployment/index.html
Swing               : docs.oracle.com/javase/tutorial/uiswing/index.html
JavaFX              : docs.oracle.com/javase/8/javase-clienttechnologies.htm
Networking          : docs.oracle.com/javase/tutorial/networking/index.html
Generics            : docs.oracle.com/javase/tutorial/extra/generics/index.html
Internationalization: docs.oracle.com/javase/tutorial/i18n/index.html
JavaBeans           : docs.oracle.com/javase/tutorial/javabeans/index.html
JDBC                : docs.oracle.com/javase/tutorial/jdbc/index.html
RMI                 : docs.oracle.com/javase/tutorial/rmi/index.html
Reflection          : docs.oracle.com/javase/tutorial/reflect/index.html
Security            : docs.oracle.com/javase/tutorial/security/index.html
Sound               : docs.oracle.com/javase/tutorial/sound/index.html
2D Graphics         : docs.oracle.com/javase/tutorial/2d/index.html

AWK • SWING • JavaFX

• O'Reilly          : oreilly.com/openbook/javawt/book/index.html
• Bradley Kjell     : chortle.ccsu.edu/java5/Notes/chap55/ch55_1.html
• TutorialsPoint    : tutorialspoint.com/swing/index.htm
• Oracle Trail      : docs.oracle.com/javase/tutorial/uiswing/
• Oracle JavaFX     : docs.oracle.com/javase/8/javase-clienttechnologies.htm

TERMINAL

# apt-get install default-jdk default-jdk-doc openjdk-11-jdk openjdk-11-doc
$ java -version; javac -version
# update-java-alternatives -l
# update-java-alternatives -s java-1.11.0-openjdk-amd64
# update-alternatives --display java
# update-alternatives --config java
$ mkdir -p /tmp/java/{tools,test,phoenix};cd /tmp/java; ls -lisa
$ vim Main.java <ctrl>+z fg
$ ( cd /tmp/java/; vim Main.java )


024 • AWK
$ awk 'BEGIN { print "Don\47t Panic!" }'
$ awk -F: '{ print $1 }' /etc/passwd | sort | tee user.txt
$ awk -F: '$1 == "userxyz" { print $0 }' /etc/passwd
$ awk -F: '/userxyz|root/ { print $0 }' /etc/passwd

INSTALLATION
# apt-get install gawk gawk-doc
$ dpkg -L gawk-doc | less
> file:///usr/share/doc/gawk-doc/gawk-html/index.html#Top

DOKUMENTATION
• Manual            : gnu.org/software/gawk/manual/gawk.html
• Tutorial I        : tutorialspoint.com/awk/index.htm
• Tutorial II       : tldp.org/LDP/abs/html/sedawk.html


023 • MEMORY
SYSTEM-INFORMATION

$ top $ htop $ atop $ glances
$ watch free -h
$ less /proc/meminfo
$ cat /proc/sys/vm/swappiness
# sysctl -a

TROUBLESHOOTING

# sysctl -a
# sysctl vm.swappiness=15
# sysctl -a

# sysctl -a
# bash -c "sync; echo 3 > /proc/sys/vm/drop_caches"
# sysctl -p
# sysctl -a


022 • ONE-LINER & COWSAY
INSTALLATION

$ cp ~/.bashrc ~/.bashrc_old
$ echo 'clear' >> ~/.bashrc
$ echo 'echo' >> ~/.bashrc
$ echo 'neofetch' >> ~/.bashrc
$ echo 'cowsay -W 80 -f moose $(cat ~/bin/oneliner.txt | shuf -n1)' >> ~/.bashrc
$ echo 'echo'
$ . ~/.bashrc

ON-LINER-TEXTFILE

$ vim ~/bin/oneliner.txt
> $ alias ea='vim ~/.bash_aliases && source ~/.bash_aliases'
> # bash -c "sync; echo 3 > /proc/sys/vm/drop_caches"
> $ cat /etc/passwd | cut -d: -f7 | sort | uniq -c | sort -nr
> $ cat /etc/shells
> $ curl wttr.in
> $ echo "It is now $(date +%T) on $(date +%A)"
> $ find -size +1G | less
> $ mkdir -p Backups/{Sales,Development,HR}/{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec}/{Sun,Mon,Tue,Wed,Thu,Fri,Sat}
> # mkdir -p /mnt/ram; mount -t tmpfs tmpfs /mnt/ram -o size=8192M
> $ mkdir -p dummy/{1..100}/{1..100}
> $ mpg123 -zvC /home/user/music/*
> $ ranger ~/.local/share/Trash/
> $ watch -d -n 5 ls -l
> $ watch free -h
:wq


021 • NEOFETCH
$ apt-cache search neofetch
$ apt-cache show neofetch
# apt install neofetch
$ cp ~/.bashrc ~/.bashrc_old
$ \ls -lisa ~/.bashrc*
$ echo "neofetch" >> ~/.bashrc
$ . ~/.bashrc

---
$ inxi -v1


020 • VIM
SOURCES

• Homepage          - vim.org
• Reference         - vimhelp.org/quickref.txt.html
• Documentation I   - vimhelp.org
• Documentation II  - vimhelp.org/usr_toc.txt.html
• FAQ               - vimhelp.org/vim_faq.txt.html
• Wiki              - vim.wikia.com/wiki/Vim_Tips_Wiki
• Bram Moolenaar    - moolenaar.net/habits.html
• Ben McCormick I   - benmccormick.org/2014/06/30/learning-vim-in-2014-the-basics
• Ben McCormick II  - benmccormick.org/2014/07/02/learning-vim-in-2014-vim-as-language
• TutorialsPoint    - tutorialspoint.com/vim/index.htm

INSTALLATION

# apt-get install vim gvim vim-doc vim-scripts 
$ dpkg -L vim-doc
# update-alternatives --config editor
$ vim --version | less

CONFIGURATION

: echo $MYVIMRC
# update-alternatives --config editor
$ vim ~/.bashrc
> EDITOR=/usr/bin/vim
> VISUAL=$EDITOR
> export EDITOR VISUAL

LEARNING VIM

• Vim-Adventures    $ firefox vim-adventures.com
• Vimtutor          $ vimtutor en

MODES                   

• Normal Mode           <esc>
• Insert Mode           i, a, c
• Visual Mode           v, V, <ctrl-v>
• Command-line Mode     :, /

INSERT MODE

i   : Insert text before the cursor.
I   : Insert text before the first non-blank in the line.
s   : Delete character under the cursor and start insert mode.
S   : Delete line and start insert mode.
a   : Enter insert mode after cursor.
A   : Enter insert mode at the end of the line.
o   : Enter insert mode on the next line.
O   : Enter insert mode on th above line.
C   : Delete from cursor to end of line and begin insert.

TEXT OBJECTS

aw  : a word
aW  : a WORD
iw  : inner word
iW  : inner WORD
ap  : a paragraph
ip  : inner paragraph
ab  : a bracket
ib  : inner bracket
at  : a tag
it  : inner tag
i"  : inner quotes
ip  : inner paragraph
i{  : inner brackets
as  : a sentence


ABBREVIATIONS

:iab psvm public static void main(String[] args) {<CR>}<Esc>ko
:iab sysout System.out.println("");<Esc>2hi
:iab ii <esc><esc>
^v      : deaktivate ab


019 • PYTHON
# apt-get install python3 python-pip spyder3 diveintopython3
$ pip install --pre -U spider
$ python3
$ python -m SimpleHTTPServer

INSTALL ALTERNATIVE

$ python<tab><tab>
$ python --version
# update-alternatives --list python
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
# update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
# update-alternatives --list python
$ python --version

CHANGE/DELETE ALTERNATIVE

# update-alternatives --config python
# update-alternatives --remove python /usr/bin/python2.7

DIVE-INTO-PYTHON-3

# apt install diveintopython3
$ dpkg -L diveintopython3 | grep -i index
> /usr/share/doc/diveintopython3/html/index.html
> file:///usr/share/doc/diveintopython3/html/index.html

TUTORIALS
• Python from Scratch   : open.cs.uwaterloo.ca/python-from-scratch/
• Tutorial              : docs.python.org/3/tutorial/index.html
• Dive Into Python 3    : file:///usr/share/doc/diveintopython3/html/index.html
• Tutorial              : file:///usr/share/doc/python3.5/html/tutorial/index.html

SOURCES

• Homepage              : python.org
• Documentation         : docs.python.org/3/
• CheatSheet            : cheat.sh/python/:learn
• IDE                   : Spyder3


018 • GLANCES
$ apt-cache search glances
# apt install glances glances-doc
$ apt-cache show glances
$ man glances
$ dpkg -L glances
$ w3m /usr/share/doc/glances/html/quickstart.html

ALTERNATIVE
• Github                            : github.com/nicolargo/glances
# pip install --upgrade glances


017 • DEBIAN
Homepage                : debian.org
Download                : debian.org/distrib/netinst#smallcd
Tutorials               : debiantutorials.com
DistroWatch             : distrowatch.com/table.php?distribution=debian 
w3Tech                  : w3techs.com

Debian News             : debian.org/News
Debian Security         : debian.org/security/#DSAS
Debian Version          $ cat /etc/debian_version

Package Documentation   : /usr/share/doc
Sources List Generator  : debgen.simplylinux.ch 
Debian Backports        : backports.org

DOCUMENTATION

• Documentation         : debian.org/doc

• Installation Guide    : debian.org/releases/stable/amd64/
• Release Notes         : debian.org/releases/stable/amd64/release-notes/
• FAQ                   : debian.org/doc/manuals/debian-faq/
• Wiki                  : wiki.debian.org/FrontPage
• Debian & Java         : debian.org/doc/manuals/debian-java-faq/index.en.html
• Securing Debian       : debian.org/doc/manuals/securing-debian-howto/index.en.html
• Menu System           : debian.org/doc/packaging-manuals/menu.html/ch1.html
• Networking HowTo      : tldp.org/HOWTO/NET3-4-HOWTO.html
• Gnome                 : help.gnome.org

• Reference Card        # apt install debian-refcard
                        $ dpkg -L debian-refcard | less
                        $ w3m /usr/share/doc/debian-refcard/index.html
                        
• Reference             : debian.org/doc/manuals/debian-reference/
                        # apt install debian-reference-en
                        $ dpkg -L debian-reference-en
                        $ w3m /usr/share/doc/debian-reference/docs/index.en.html
                        
• Handbook              : debian.org/doc/manuals/debian-handbook/
                        # apt install debian-handbook
                        $ dpkg -L debian-handbook | less
                        $ w3m /usr/share/doc/debian-handbook/html/en-US/index.html                      


016 • SCREEN
# apt install screen

DOCUMENTATION

$ man screen
$ w3m gnu.org/software/screen/manual/screen.html
• ctrl a?           : Keybindings

SESSIONS

$ screen -S firstsession glances
$ screen -X -S firstsession quit
$ screen -ls        : List screen sessions
$ screen -r         : Reattaching
$ screen -x         : Attach to a not detached screen session
• ctrl ad           : Detach session
• ctrl ax           : Lock session

WINDOWS

• ctrl ac           : Create window
• ctrl aA           : Rename window
• ctrl aa           : Toggle window
• ctrl a[0 .. 9]    : Toggle window
• ctrl a|           : Split window vertically
• ctrl aS           : Split window horizontally
• ctrl aX           : Kill pane
• ctrl an           : Next window
• ctrl ap           : Previous window
• ctrl ak           : Kill window
• ctrl a\           : Kill all windows
• ctrl aw           : Window bar 
• ctrl a"           : Window list
• ctrl ah           : Hardcopy

EXAMPLE

$ screen -S firstsession
• ctrl aS
• ctrl a|
$ htop
• ctrl a<tab>
• ctrl ac
$ atop
• ctrl <tab>
• ctrl ac
$ df -hT

CONFIGURATION
# vim /etc/screenrc
$ vim ~/.screenrc


015 • SHORTCUTS
DAILY USE
• <ctrl>+z fg bg jobs <ctrl>+u <ctrl>+k <ctrl>+w <alt>+. <bash-vim-mode>

CHARACTER
• ctrl f    : Move forward one character
• ctrl b    : Move backward one character
• ctrl h    : Generate a backspace character
• ctrl d    : Delete one character

EDITOR
• ctrl xe   : Editor

DESKTOP
• alt F2    : Run Command

HISTORY
• ctrl r    : Search from history searching mode
• ctrl g    : Escape from history searching mode
• alt .     : Use the last word of the previous command

LINE
• esc #     : Making the line a comment
• ctrl a    : Go to the beginning of the line
• ctrl e    : Go to the end of the line
• ctrl xx   : Move between start of commandline and current position and back again
• ctrl eu   : Clear the line 
• ctrl k    : Delete from cursor to the end of the line
• ctrl u    : Delete from cursor to the start of the line

TERMINAL
$ gnome-terminal
• ctrl alt F3
• reset             : Reset the terminal
• ctrl d or exit    : Exit the terminal
• shutdown -h now   : Shut down the system

SCREEN
• ctrl +-   : Size
• ctrl l    : Clear the screen
• ctrl s    : Stop output to the screen
• ctrl q    : Allow output to the screen


014 • LINUX-FROM-SCRATCH (LFS)
SOURCES

• Homepage          : linuxfromscratch.org/lfs/index.html
• Download          : linuxfromscratch.org/lfs/downloads/stable/
• Online-Book       : linuxfromscratch.org/lfs/view/stable/
• DistroWatch       : distrowatch.com/table.php?distribution=lfs

PROJECTS

• Linux From Scratch            : linuxfromscratch.org/lfs/
• Beyond Linux From Scratch     : linuxfromscratch.org/blfs/
• Automated Linux From Scratch  : linuxfromscratch.org/alfs/
• Cross Linux From Scratch      : trac.clfs.org/

STEPS

03 Virtualbox       : # apt install virtualbox
02 Debian Live-CD   : cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
01 RTFM             : linuxfromscratch.org/lfs/view/stable/


013 • TOOLBOX
# apt install ...
A - alacarte atop aview
B - backintime-qt4 bluefish boostnote
C - calcurse clipit cherrytree cmus
E - espeak 
F - firmware-iwlwifi firmware-realtek focuswriter fzf
G - gdebi gkrellm glances gnome-clocks gnome-do gparted grsync guake 
H - htop hwinfo 
I - inxi i3-wm
K - kismet  
L - libreoffice links lsd lvm2  
M - mc menulibre 
N - netcat net-tools nmap
P - powertop printer-driver-cups 
R - ranger
S - screen sudo syncthing
T - taskwarrior terminator timeshift timewarrior tripwire 
V - veracrypt* vim virtualbox vym 
W - w3m
Y - youtube-dl


012 • BASHRC
$ vim ~/.bashrc
> HISTCONTROL=ignoreboth:erasedups
> alias h='clear; echo; history 30; echo'
> set -o vi
> bind -m vi-insert "\C-l":clear-screen
> EDITOR=/usr/bin/vim
> VISUAL=$EDITOR
> export EDITOR VISUAL
:wq


011 • FUZZI FINDER
$ fzf -e --preview 'head -100 {}'


010 • CRYPTOCURRENCIES
$ curl rate.sx
$ curl rate.sx/btc@3d
$ curl rate.sx/steem@3d


009 • /ETC/FSTAB
# blkid
# vim /etc/fstab
> #RAMDISK
> none /media/ramdisk tmpfs nodev,nosuid,noexec,nodiratime,size=1024M 0 0


008 • ALIASES
$ alias
$ ls -l ~/.bash_aliases
$ cp ~/.bash_aliases ~/.bash_aliases_backup
$ alias > ~/.bash_aliases

$ vim ~/.bash_aliases
> alias a='clear; echo; alias; echo'
> alias b='clear; curl rate.sx/btc@30d'
> alias c='clear; neofetch; cowsay -W 131 -f moose $(cat ~/bin/oneliner.txt | shuf -n1); echo'
> alias cc='clear; ncal -3wy'
> alias cdh='\cd; clear; echo; lsd -l; echo'
> alias e='clear; cd ~/Apps; ./eclipse &'
> alias ea='vim ~/.bash_aliases && source ~/.bash_aliases'
> alias g='clear; glances'
> alias h='clear; echo; history 30; echo'
> alias i='intellij-idea-community &'
> alias l='clear; echo; lsd -l; echo'
> alias py='clear; python3'
> alias r='ranger'
> alias rs='clear; rsync -avzP --delete --stats --exclude-from "/home/user/.exclude.txt"  /home/user/ /media/backup/'
> alias s='clear; curl rate.sx/steem@30d'
> alias ss='clear; curl rate.sx/steem@3d; gnome-screenshot -ac'
> alias t='clear; task; timew week; timew summary'
> alias tm='clear; timew month'
> alias tt='clear; task burndown.daily'
> alias ttt='clear; task calendar 2019'
> alias tw='timew'
> alias u='clear; sudo apt update && sudo apt upgrade && sudo apt dist-upgrade; sudo apt autoremove -yy'
:wq

$ . ~/.bashrc


007 • RAM-DISK PERMANENT
# mkdir -p /media/ramdisk
# vim /etc/fstab
> none /media/ramdisk tmpfs nodev,nosuid,noexec,nodiratime,size=1024M 0 0
# mount -a
$ mount | column -t


006 • RAM-DISK TEMPORARY
# mkdir -p /media/ramdisk 
$ mount | column -t
# mount -t tmpfs -o size=1024M tmpfs /media/ramdisk
# mount -a
$ mount | column -t


005 • SOURCES.LIST FOR DEBIAN-STRETCH
• # vim /etc/apt/sources.list

• # Security updates
• 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

• # Base repository
• 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

• # Stable updates
• 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

• # Stable backports
• deb http://ftp.debian.org/debian stretch-backports main contrib non-free
• deb-src http://ftp.debian.org/debian stretch-backports main contrib non-free

• # Virtualbox
• deb https://download.virtualbox.org/virtualbox/debian stretch contrib


004 • SYSTEM UPDATE AND UPGRADE
alias u='clear; sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade; sudo apt-get autoremove -yy'


003 • DCONF-EDITOR
# apt install dconf-editor && apt show dconf-editor
• /org/gnome/terminal/legacy/default-show-menubar


002 • GNOME-TWEAK-TOOL
# apt install gnome-tweak-tool && apt show gnome-tweak-tool
• Typing-Tab > Caps Lock key behaviour > Make Caps Lock an additional ESC|


001 • VIM-MODE in BASH
$ vim ~/.bashrc
> set -o vi
> bind -m vi-insert "\C-l"      # clear-screen
:wq
Sort:  

Congratulations @wglenz! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 2000 upvotes. Your next target is to reach 3000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

You can upvote this notification to help all Steem users. Learn how here!

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 58270.16
ETH 2600.36
USDT 1.00
SBD 2.39