LINUXOPOLIS #23 • EclipsesteemCreated with Sketch.

in #linux5 years ago

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

PROGRAMMING

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

VIM 
            
020 • VIM                               
001 • VIM-MODE in BASH                  # UPDATE

ADMINISTRATION

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                           # UPDATE                    
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                      


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
> # 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
> $ 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/*
> $ 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

# 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

VIMRC

$ vim ~/.vimrc
> syntax on             syntax off
> set nu                nonu
> set relativenumber    norelativenumber
> set cursorline        nocursorline
> set incsearch         noincsearch
> set showmode          noshowmode
> set showcmd           noshowcmd
> set ruler             noruler
> set hls               nohls
> set background=dark
> set encoding=utf8
> set mouse=a
> set autoindent
> set tabstop=3
> set softtabstop=3
> set shiftwidth=3
> set expandtab
> 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>
> :ab psvm public static void main(String[] args) {<CR>}<Esc>ko
> :ab sysout System.out.println("");<Esc>2hi
:wq

MODES                   

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

VIM-SESSION

00  None .vimrc     $ vim -u NONE -N
                    
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          :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 /
99  exit            :wq  :q!  ZZ  ZQ

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
$ cp ~/.bashrc ~/.bashrc_backup

$ vim ~/.bashrc
> a='clear; echo; alias; echo'
> b='clear; curl rate.sx/btc@3d'
> c='clear; echo'
> cc='clear; ncal -3wy'
> cdh='\cd; clear; echo; lsd -l; echo'
> e='clear; cd ~/Apps; ./eclipse &'
> g='clear; glances'
> h='clear; echo; history 30; echo'
> l='clear; echo; lsd -l; echo'
> py='clear; python3'
> r='ranger'
> rs='clear; rsync -avzP --delete --stats --exclude-from "/home/user/.exclude.txt"  /home/user/ /media/backup/'
> s='clear; curl rate.sx/steem@3d'
> ss='clear; curl rate.sx/steem@3d; gnome-screenshot -ac'
> t='clear; task; timew week; timew summary'
> tm='clear; timew month'
> tt='clear; task burndown.daily'
> ttt='clear; task calendar 2019'
> tw='timew'
> u='clear; sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade; sudo apt-get 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

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 70638.80
ETH 3565.34
USDT 1.00
SBD 4.73