scrobble.life
#linux

LINUXOPOLIS #18 • JAVA

LINUXOPOLIS

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

ScreenshotScreenshot by Willi Glenz

CONTENTS

``` 025 • JAVA # NEW 024 • AWK 023 • MEMORY 022 • ONE-LINER & COWSAY 021 • NEOFETCH 020 • VIM 019 • PYTHON 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 001 • VIM-MODE in BASH ```
``` 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

SWING

• 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/

JavaFX

• Oracle : docs.oracle.com/javase/8/javase-clienttechnologies.htm


<br>

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


<br>

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



<br>

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 $ 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} $ watch -d -n 5 ls -l $ watch free -h :wq


<br>

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


<br>

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

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 w :w! map :echo 'Current time is ' . strftime('%c') map :set list! map :setlocal spell! spelllang=en_us

:ab psvm public static void main(String[] args) {}ko :ab sysout System.out.println("");2hi

VIM-SESSION

01 tutorial $ firefox vim-adventures.com & "" tutorial II $ vimtutor en

02 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

03 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

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

06 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

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

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

12 delete x d$ diw dit di" dip das 13 undo redo u U ^r 14 match [InsertMode] ^n 15 abbreviate :ab :abc :unab ^v 16 mark m1 '1 `1 marks 17 fold zf5j zo zc zd 18 visual v ^v 19 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

iw : inner word it : inner tag i" : inner quotes ip : inner paragraph i{ : inner brackets as : a sentence f,F t,T /

ABBREVIATIONS

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


<br>

019 • PYTHON


INSTALL ALTERNATIVE $ python $ 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


<br>

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


<br>

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


<br>

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 • ctrl ac $ atop • ctrl • ctrl ac $ df -hT

CONFIGURATION

vim /etc/screenrc

$ vim ~/.screenrc


<br>

015 • SHORTCUTS


DAILY USE • +z fg bg jobs +u +k +w +.

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


<br>

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/


<br>

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


<br>

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


<br>

011 • FUZZI FINDER


$ fzf -e --preview 'head -100 {}'


<br>

010 • CRYPTOCURRENCIES


$ curl rate.sx $ curl rate.sx/btc@3d $ curl rate.sx/steem@3d


<br>

009 • /ETC/FSTAB


blkid

vim /etc/fstab

#RAMDISK none /media/ramdisk tmpfs nodev,nosuid,noexec,nodiratime,size=1024M 0 0


<br>

008 • ALIASES


$ 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' ls='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


<br>

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


<br>

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


<br>

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


<br>

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'


<br>

003 • DCONF-EDITOR


apt install dconf-editor && apt show dconf-editor

• /org/gnome/terminal/legacy/default-show-menubar


<br>

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|


<br>

001 • VIM-MODE in BASH


$ vim ~/.bashrc • set -o vi • bind -m vi-insert "\C-l":clear-screen ```

Comments · 1

  • @steemengineteam(69)· 2696d

    Hello wglenz,

    @SteemEngineTeam would like to take the time to thank you for signing up and participating in our community. Your contributions and support are important to us and we hope you will continue to use our platform.

    We plan to give back to our community members, so have an upvote on us!

    Thank you.