GNU Linux

♡ Coding Demo ♡



GNU Linux - First Notes - First Links
Development Ubuntu
Development Mac
Development Mac Ubuntu
Music Software
Red Hat
The Linux Command Line
The Linux Programming Interface
Linux: The Complete Reference
Linux Kernel Development
Linux System Programming
Linux in a Nutshell
Understanding the Linux Kernel


How to set a short password on Ubuntu? - $ sudo passwd "username" How to recover/reset forgotten Gnome Keyring Password? - $ rm ~/.local/share/keyrings/login.keyring

Development Ubuntu

Learn Linux in 5 Days by Jason Cannon - © 2015 - Amazon

Day 1 • Have Ubuntu installed (YT) - or ssh virtualbox etc. - open terminal via Ctrl+Alt+T etc. user_name@linuxserver_name:~$ ~ (tilde) represents the home directory

Day 2 • Directory Structures - common directories:
/ - root, not related to superuser - /bin Binaries and other executable programs
/etc - System configuration files
/home - Home directories
/opt - Optional or third party software
/tmp - Temporary space, typically cleared on reboot
/usr - User related programs
/var - Variable data, most notably log files
more directories, mostly not used by users ...
basic terminal commands: ls cd [dir] pwd cat [file] echo [argument] - man command h - exit logout ctrl-c ctrl-d clear Enter Space g G q - echo $PATH - which -h --help -k KEYWORD - Linux Commands Documentation (By Categories) - cd .. - cd . - cd ./(program) etc.
p56 - Create and remove directories - mkdir rmdir (empty) rm (content) - rm -rf directory (all content) -
p58 - ... p93 - Editing Files - nano pico vi vim emacs gedit gvim kedit - Geany jEdit Kate Sublime Text - echo $EDITOR
Comparing Files -

Day 4 • ...
Shell history ...

Day 5 • ...
su - su username ... - whoami ...
apt-get ... dpkg ...

Development Mac

C - - Webdesign -
rEFInd (refind-bin-0.11.4-1 - 2018-12-5 Auckland 4:28) download and install (here for Mac OS 10.14 Mojave) - YT - I install on Ubuntu: download - right-click and > Open With Software Install - then enter in terminal: sudo efibootmgr change priorities if wanted: sudo efibootmgr -o 0000,0085,0002,0003
EFI-Booting Ubuntu on a Mac by Rod Smith - Rod's books - - WP
How to Install Ubuntu and Dual-Boot macOS - -> Using efibootmgr to Adjust Your Boot Priority -
How to turn on System Integrity Protection (SIP) for your Mac -
1. Click on the  (Apple Logo) at the far left of your Mac's Menubar.
2. Click on Restart.
3. Hold down CMD + R during reboot to enter Recovery Mode.
4. Click on the Utilities Menu.
5. Launch Terminal.
6. Type in "csrutil enable". - but we want "csrutil disable"
7. Restart your Mac again.
after downloading > open with double-click > open folder refind-bin-0.11.3 > open Terminal Mac - write sudo and then take from refind-bin-0.11.3 folder the file refind-install and drop it into Terminal - looks like this now:
sudo /Users/Feroniba/Desktop/refind-bin-0.11.3/refind-install press enter Password: // enter your Mac administrator password and press enter
ShimSource is none
Installing rEFInd on OS X....
Installing rEFInd to the partition mounted at /Volumes/ESP
Found rEFInd installation in /Volumes/ESP/EFI/refind; upgrading it.
Found suspected Linux partition(s); installing ext4fs driver.
Installing driver for ext4 (ext4_x64.efi)
Copied rEFInd binary files

Notice: Backed up existing icons directory as icons-backup.
Existing refind.conf file found; copying sample file as refind.conf-sample
to avoid overwriting your customizations.
restart Mac - select Mac OS X - open Mac as usual - next time go Ubuntu - and then GNU-Linux :-) Coming soon ♡♡♡
restarted Ubuntu > About This Computer > version ubuntu 17.04 - 15.6 GiB - OS 64-bit - Disk 44.0 GB
Ubuntu apps: Files (Finder) Terminal Komodo FileZilla Chrome Backups (Software_Updates) Blender Skype Audacity Document_Viewer (Preview) System_Settings (Preferences) Sound Network Time&Date (Date&Time) Dropbox WhatsApp Signal 4Corners Scroll-2Fingers LibreOffice Search_your_computer etc. - (? Little_Snitch Put_Display_to_Sleep Program_Windows Desktop minetest iTunes Photo_Booth Arduino Disk_Utility Steam Contacts Notes Stickies Calculator Stellarium QuickTime Twitter Mail Trash Camera ...)

How to put macOS Mojave onto your external drive - USB-stick at least 15 GB - need administrater account, macOS Mojave must be in Applications folder (or download from App Store), know name of external drive (USB 15 GB or bigger) - open Terminal (instead of mac_fo enter your external drive name case sensitive)
sudo /Applications/Install\ macOS\
--volume /Volumes/mac_fo
or sudo /Applications/Install\ macOS\
--volume /Volumes/mac_fo -- /Applications/Install\ macOS\
//> Password: // enter your administrator password
//> Ready to start.
//> To continue we need to erase the volume at /Volumes/mac_fo.
//> If you wish to continue type (Y) then press return: // entered: y + return
//> Erasing disk: 0%... 10%... 20%... 30%... 100%
//> Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%...
//> 90%... 100%
//> Making disk bootable...
//> Copying boot files...
//> Install media now available at "/Volumes/Install macOS Mojave"

Is it possible to mount APFS (Apple's newest file system) in Ubuntu 17.10?
How to Mount and Use an exFAT Drive on Ubuntu Linux [Quick Tip] - sudo apt install exfat-fuse exfat-utils How to open exFAT SSD in Ubuntu 12.04? -
How to create a bootable installer for macOS -
Mount & Unmount Drives from the Command Line in Mac OS X -

How to select a different startup disk -
Download OS 10.14 Mojave from App Store, then cancel installation after download is finished - find Install macOS in Applications folder - insert your USB or external drive, minimum 23 GB, better bigger - check with Disk Utility (Applications > Utilities > Disk Utility) if it is GUID Partition Map, if not > press Erase and select GUID Partition Map - now start Install macOS - select the external drive or USB to install on it - will install - restart and hold option key - choose the new external drive or USB - should startup now from external disk or USB - now go System Preferences > Startup Disk - select the external drive or USB to start automatically from it

GNU Project - WP -

Development Mac Ubuntu

1 • partition disk for Linux - install one or some distros: Ubuntu Kali_Linux Trisquel Ubuntu_Studio Musix Red_Hat slackware Debian openSUSE Fedora Gentoo CentOS etc. - The Best Linux Operating Systems and Distributions -
2 • make the desktop appearance same or even better than your last desktop you loved most - install and adjust all packages, settings tweak shell_extensions preferences etc. - do it 100%, don't fade
3 • learn terminal shell/bash tmux Vim
4 • learn C and Linux
5 • write your own code, create packages etc. and connect to online forums etc.

computer backup - install rEFInd - Ubuntu - equip desktop, hidden files, Tweaks Extensions etc. - terminal tmux tmuxinator tmux-resurrect tmux-continuum Vim Neovim UltiSnips Vundle SnipMate netrw vinegar.vim NERDTree Curl pathogen.vim .vimrc etc. - learn tmux Vim UltiSnips NERDTree .vimrc netrw - learn C and Linux Kernel - learn Arduino - continue building apps, robots, spaceship etc.


Unix vs Linux - and about Minix - YT
Linux - WP - Linux kernel - WP - - both written in C or assembly
What is the best way to learn Linux totally? -
Best Linux Online Courses -
Learn Linux - - THE Linux Documentation Project - Guides
Unix Network Programming Volume 1: The Sockets Networking API - Vol. 2: Interprocess Communications - by W. Richard Stevens - Amazon
Beginning Linux Programming - 4th Edition - by Neil Matthew and Richard Stones - Amazon
Linux: Fundamental Basics for Absolute Beginners (Step-By-Step Linux) (Volume 1) - by Nathan Clark - Amazon

not mouse pointing/clicking - shell takes commands from keyboard giving them to OS - sh bash ksh tcsh zsh - terminals: gnome-terminal konsole xterm rxvt kvt nxterm eterm, open as many as you like - they give access to shell session - find yours
type some nonsense asdfasdf etc. //> command not found - up-arrow key shows previous commands - down-arrow key back again blank line - right/left-arrow keys moves arrow to correct etc. - select with mouse for copy (shift+control+c or v) - focus ...
pwd (print working directory) / cd (change directory) - ls (list files and directories) / .. and .


GNU Hurd - WP
GNU Guix - WP - Guix System Distribution GuixSD - WP
Richard Stallman Talks About Ubuntu - YT
Richard Stallman Explains Everything - YT - - AMT (Intel Active Management Technology) is hardware and firmware technology for remote out-of-band (OOB) management of personal computers, running on the Intel Management Engine, a separate microprocessor not exposed to the user, in order to monitor, maintain, update, upgrade, and repair them - WP - - GitHub



Ubuntu - Mac
Komodo: shift+ alt+... - shift+command+...
control+c or v s etc. - command+c or v s etc.
df -h - shows disk space - How do I find the amount of free space on my hard drive? -
ctrl+alt+T - open Terminal
Super key = command key - Activities = similar to Launchpad MacOS
Super+L - lock screen
Alt+Tilde(~) or Super+Tilde(~) - switch between Applications with arrow keys left right down up
Customize Ubuntu 18.04 GNOME With These Simple Tips -
Super+Arrow - App to 1/2 screen right or left - repeat with 2nd App for other side - or grab app and touch with mouse left or right screen - grab again and move to center to undo - or Super+arrow to undo - Super+Arrow up/down for full screen, or touch top bar
Force Quit - 7 Different Ways To Kill Unresponsive Programs in Linux - sudo apt-get install xorg-xkill
mouse pointer now displays a cross (or skull) - left-click on the offending application - should close now
Shortcut xkill - Settings > Devices > Keyboard - scroll to bottom, press + > Add Custom Shortcut - enter xkill for Name and Command - select shortcut alt/option+command+esc

Login Loop - How to Fix the Ubuntu Login Loop - - boot Ubuntu - don't login, instead press ctrl+alt+F3 - opens black and white terminal - ...
Ubuntu 18.04 just keeps returning to login screen every time I correctly enter the password. -
Ubuntu gets stuck in a login loop -

How to Fix Ubuntu Update Errors - sudo apt-get update list shows errors and failures sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update

Install Ubuntu Desktop -
How to create a bootable Ubuntu 18.04 Bionic USB stick on Linux -
Type of partition required for a dual boot system - - Disk partitioning - WP
Boot drops to a (initramfs) prompts/busybox - initframs error startup disk -
- Alternative -
How can I disable Grub from appearing after selecting Ubuntu in Refind menu? - sudo gedit /etc/default/grub Can I safely remove grub after installing rEFInd?

Why Developers Should NOT Use MacBook Pro -

WifiDocs/Driver/bcm43xx -

Lid Close Suspend - How to Change Lid Close Action in Ubuntu 18.04 LTS - sudo gedit /etc/systemd/logind.conf when the files opens, uncomment the line #HandleLidSwitch=suspend by removing # in the beginning, and change the value to:
HandleLidSwitch=poweroff, shutdown / power off when lid is closed.
HandleLidSwitch=hibernate, hibernate when lid is closed (need to test if hibernate works).
HandleLidSwitch=ignore, do nothing.
HandleLidSwitch=suspend, suspend laptop when lid is closed.
Save the file and finally restart the Systemd service to apply changes via command: systemctl restart systemd-logind.service didn't wok
Fix laptop doesn’t suspend after lid is closed in Ubuntu 16.04 - sudo gedit /etc/systemd/logind.conf change to HandleLidSwitchDocked=suspend instead of #HandleLidSwitchDocked=ignore --- restart - didn't work either
Fix Laptop Doesn’t Suspend After Lid is Closed on Ubuntu Linux - sudo apt install pm-utils sudo gedit /etc/systemd/logind.conf remove the starting # from these 3 lines and change to =suspend:

save file and restart - didn't work - change file back to original:

Suspend fails in Ubuntu and Kubuntu 18.04 but works fine in Ubuntu and Kubuntu 17.10 (and on Kubuntu 18.04 using kernel 4.14.47) -
Google Chrome - 2 Ways to Install Google Chrome on Ubuntu 18.04 LTS Bionic Beaver -
Google Earth - How to install Google Earth on Ubuntu 18.04 Bionic Beaver Linux -
Download entire Website with Google Chrome - download Extension from Chrome Web Store, press button > Add to Chrome - UP icon appears on the right side of the web address field on top of Chrome and shows while hovering with the mouse arrow "UP has access to this site" - restart Chrome - press the "UP" button, read Instruction - go Menu > Developer Tools >> Resource Saver - select your choices: Keep all "No Content" files etc. ... - find your downloaded website in your Downloads folder as - right-click on the file, choose "Extract Here", or "Extract to..." and choose the location you want the website folder be extracted to
Komodo Edit - Install Komodo Edit On Ubuntu 16.04 / 17.10 / 18.04 -
Install directory: /opt/Komodo/Edit/11
Komodo Edit 11 has been successfully installed to: /opt/Komodo/Edit/11
You might want to add 'komodo' to your PATH by adding the
install dir to you PATH. Bash users can add the following
to their ~/.bashrc file:
export PATH="/opt/Komodo/Edit/11/bin:$PATH"
Or you could create a symbolic link to 'komodo', e.g.:
ln -s "/opt/Komodo/Edit/11/bin/komodo" /usr/local/bin/komodo
Documentation is available in Komodo or on the web here:
Please send us any feedback you have through one of the
channels below:
Thank you for using Komodo.
FileZilla - How to install FTP client for Ubuntu 18.04 Bionic Beaver Linux -

Dock - How to customize dock panel on Ubuntu 18.04 Bionic Beaver Linux - $ sudo apt install dconf-tools
sudo apt-get install wmctrl -y // if missing, or search Google how and where to install it
Dash to Dock Tweaks Extension
Hot Corners - How to enable Hot Corners in Ubuntu 18.04
Hot corner show desktop: need to install wmctrl: sudo apt-get install wmctrl A GNOME Shell Extension for customizable hot corners -
Install Tweaks - date, seconds, battery percentage ...
Hide Top Bar - Hide Top Bar - - Screen Gnome Exensions - Turn Off Screen
Top 20 GNOME Extensions You Should Be Using Right Now - sudo apt install gnome-shell-extensions How to Use GNOME Shell Extensions [Complete Guide] -
Uninstall Gnome Shell Extension -
Extensions uninstall paths: ~/.local/share/gnome-shell/extensions - systemwide /usr/share/gnome-shell/extensions and /usr/local/share/gnome-shell/extensions sudo rm -rf // and drag file to be deleted into terminal - press enter Keyboard Layout - German
WiFi - MacBook can’t find WiFi for Ubuntu 18.04 -
Thread: no WiFi networks on Ubuntu Macbook (Broadcom)
rfkill list - sudo apt install net-tools then ifconfig
Ubuntu | No WiFi Adapter found - ♡♡♡ worked ♡♡♡ - sudo apt-get install --reinstall bcmwl-kernel-source reboot Mac :-)
Camera - MacBook Pro camera not working on Ubuntu 18.04 -
lspci -v 04:00.0 Multimedia controller: Broadcom Limited 720p FaceTime HD Camera
Subsystem: Broadcom Limited 720p FaceTime HD Camera
Flags: bus master, fast devsel, latency 0, IRQ 51
Memory at c1d00000 (64-bit, non-prefetchable) [size=64K]
Memory at a0000000 (64-bit, prefetchable) [size=256M]
Memory at c1c00000 (64-bit, non-prefetchable) [size=1M]
Capabilities: <access denied
Kernel driver in use: bdc-pci
Kernel modules: bdc_pci
How to Use an iSight in Ubuntu -
Use your Mac’s iSight on Ubuntu
download AppleUSBVideoSupport - put into your apps (or other name) folder - get sudo apt-get update now install the iSight Firmware Tools like this: sudo apt-get install isight-firmware-tools The installer will ask you for the AppleUSBVideoSupport file - give it the right path to that file (put your administrator name here instead of feroniba): /home/feroniba/apps/AUVideoS/AppleUSBVideoSupport restart Ubuntu - iSight/camera/facetime should work now :-)
Converting .mov files to .mp4 using ffmpeg -
Convert .mov to .mp4 with ffmpeg -

Touchpad Gestures - Customize Linux Touchpad Gestures with ‘Gestures’ App - - gestures - sudo apt install python3 python3-setuptools xdotool python3-gi libinput-tools python-gobject libinput-gestures - - must be member of input group
How to Setup Touchpad Gestures in your Ubuntu Laptop -
Touchpad Gestures in Ubuntu 18.04 LTS -
fusuma -
libinput-gestures -
OpenSnitch -

Show all hidden files: control+H
My username: whoami (root) - or ls /home (yes, my name :-) for all users


more coming soon ... :-)


C -
more coming soon ... :-)


C -
more coming soon ... :-)


Ubuntu – How to edit the binary or hexadecimal data of a file in Ubuntu - vim /path/to/filename
:% !xxd
more coming soon ... :-)



tmux resurrect: ctrl-B + s = save --- ctrl-B + r = restore
ctrl-B + , = rename window --- ctrl-B + p/n = previous/next window --- ctrl-B + o = rotate pane
ctrl-B :kill-window - kill-pane etc.

tmux (Terminal Multiplexer) - install at Terminal command line - $ tmux - follow how to install - WP - written in C - tmux website - The Tao of tmux online book - Amazon 1st edition January 22, 2017 - - quit tmux: ctrl+b d - start tmux: $ tmux
AutoUpload : Put file to remote location with one click - - create
Save and reopen tmux session -
Tmuxinator - GitHub sudo apt install tmuxinator
export EDITOR='vim'
echo $EDITOR //> output should be: vim

Tmux Plugin Manager TPM - GitHub - install tmux-resurrect GitHub and tmux-continuum GitHub set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'

set -g @continuum-systemd-start-cmd = 'start-server'
Hit prefix + I to fetch the plugin and source it. The plugin will automatically start "working" in the background, no action required. tmux shows:
//> TMUX environment reloaded.
//> Done, press ESCAPE to continue.
Systemd automatic start for tmux - --- see if tmux server has started: systemctl --user status tmux.service

Foreword - ...
About this book
started with The Tao of tmux, part of documentation for tmuxp session manager sudo apt install python-pip
pip install tmuxp -U
manpage for tmux reference - book culmination of years explaining tmux - break down tmux by objects from servers down to panes - written a popular tmux starter configuration, a pythonic tmux library, and a tmux session manager - I am writing this from vim running in a tmux pane, inside a window, in a session running on a tmux server, through a client - install - updates on TW 0.2K
grey text padding for source - $ for command - prefix = Ctrl-B, can be changed, prefix + symbol like d etc. (detach tmux client from session = quit in terminal)
How this book is structured ...
1. Thinking in tmux
2 realms: text and graphic - ... - terminal can run multiple apps - multiple panes - multople windows - switch between workspaces like virtual desktops - create multiple terminals and windows - copy paste scroll - common scenarios: ... - text editor in pane - apps in background - detaching - ... - chatting - ... - recommended books - ...
2. Terminal fundamentals
... - languages and interpreters - paths - ...
3. Practical usage
$ tmux - prefix sends commands into tmux, split move switch windows, sessions, send in commands etc. --- set-option -g prefix C-a --- default prefix is Ctrl-b - Ctrl-b d quits tmux, detaches session - reattach via $ tmux attach - ... - from now on called prefix + ... - tmux uses commands - configs are automatically running commands - ... - source code files are prefixed cmd- ...
4. Server
the server holds sessions and the windows and panes within them - when tmux starts we are connected to a server via a socket connection - ...
5. Sessions

new session:tmux new -s vim(or other name) quit/detach session: ctrl+b d --- attach session: tmux attach -t vim(or other name) horzontal (l/r) split: ctrl+b % --- vertical (u/d) split: ctrl+b " --- switch panes clockwise: ctrl+b o
tmux: making a conf file

Tmux Tutorial: An Easy Guide with Screenshots and Examples (2018 Update) -

How to Use Vim and Tmux Together – Workflow for Beginners -
Tmux and Vim - even better together - - Benefits of using tmux - lessons from streamlining a development environment -
vim + tmux: A Perfect Match -,



:set nu(mber)/nonu(mber) - toggle with :set nu! - :set relativenumber/norelativenumber - Display line numbers -
ctrl+w + w --- switch panes in Vim
:NERDTree --- open NERDTree - :NERDTreeClose (:q does it too) --- close NERDTree in this tab (all works only after installation of NERDTree)
:Sexplore - short :Sex --- open netrw in horizontal split - :q --- close tab/pane
:n (n = line number), or nG --- jumps to line number - gg --- start of file - G --- end of file - WP
Vim Cheat Sheet -
Snippets - UltiSnips : The ultimate snippet solution for python enabled Vim. -
Learn vim For the Last Time: A Tutorial and Primer -
operator, the true power of Vim -
A Veterans Tutorial of Vim. -
Why UltiSnips? -
UltiSnips - GitHub install - first install Vundle GitHub (short for Vim Bundle)
doc/UltiSnips.txt - installation guide -
1. :echo has("python3") shows 1 - ...
UltiSnips Detailed Installation Instructions -
Productivity Booster: Ultisnips
SnipMate - snipMate : TextMate-style snippets for Vim -
netrw - NERDtree or (maybe) netrw -
Vim's netrw commands -
:Sexplore - short :Sex --- open in horizontal split - :q --- close tab/pane
Vim documentation: pi_netrw -
vinegar.vim -
File Management in Vim: netrw/vim-vinegar - - About Me Keith Peters - TW - Coding Math Math for Programmers - Falling Balls WP7 Preview 01 - YT - using NeoVim
Neovim - - Getting Neovim Installed on Debian, Ubuntu and Mac - - Changing to Neovim - nvim a.html // or other file to open
Introduction To Vim Customization sudo apt install curl
sudo curl -fLo ~/.vim/autoload/plug.vim --create-dirs
touch ~/.vimrc.plug
mkdir ~/vimplug-plugins
Open .vimrc in the Vim editor and add the following text at the bottom to call the .vimrc.plug file: . . .
" Call the .vimrc.plug file
if filereadable(expand("~/.vimrc.plug"))
source ~/.vimrc.plug
open the .vimrc.plug file in Vim. Populate the file with the contents below to add the Fugitive Vim plug-in, a Github wrapper. With this plug-in installed, you can now run a Git terminal from within Vim! call plug#begin('~/.vim/plugged') "Fugitive Vim Github Wrapper
Plug 'tpope/vim-fugitive'

call plug#end()
After saving and closing the .vimrc.plug file, exit and restart Vim. The final installation procedure is to issue the PlugInstall command in command mode. This will open the plug-in manager within Vim and proceed to install all plug-ins listed in the *vimrc.plug file. Installed plug-ins will automatically load the next time Vim is started. :PlugInstall
NERDTree -
Curl -
pathogen.vim - mkdir -p ~/.vim/autoload ~/.vim/bundle
curl -LSso ~/.vim/autoload/pathogen.vim
Add to vimrc: execute pathogen#infect()
syntax on
filetype plugin indent on
Now any plugins you wish to install can be extracted to a subdirectory under ~/.vim/bundle, and they will be added to the 'runtimepath'. Observe: cd ~/.vim/bundle && \
git clone
Now sensible.vim is installed. - - YT
Level 1: h left - j down - k up - l right - :help ...
Level 2: w word - e end of word - b back word -
Level 3: x delete - back to level 1 treasure box - on ! shift+B
Level 4: • 6 months access to VIM Adventures • 13 fun and engaging levels • More than 60 commands and motions • Covers most of the keyboard • Now for only $25 --- Shortcuts, commands and motions taught:
h j k l : w W e E b B x X r d dd D ~ 0 ^ $ f F t T ; , % z zt zz zb g gg G
digits (1-9) * # n N p P " y yy Y :reg "" "- "_ numbered-registers
letter-registers i I a A c cc C s S o O { } ( ) [{ ]} [( ]) . text-objects
H M L nu | / ? ` ' m :marks :delmarks u CTRL-R buffers (:b :ls) files (:w :e)

Graphical vi-vim Cheat Sheet and Tutorial - - all shortcuts or keys:
Move / Motion / Search - <-h j-v ^-k l-> - w word - W WORD - e end of word, eow - E end of WORD, eow - b backw"o"rd(s), bw - B backW"O"RD(s) - /+text basic search motion - ?+text same as / backwards - n repeats last search - N repeats last search backwards - * search next instance of identifier under cursor - # same as * backwards - f+char find character - F+char same as f backwards - t+char or T+char same as f or F, but stops before char - 0 beginning of line, bol - ^ first nonblank - g_ last nonblank - $ end of line, eol - -/+ previous/next line - (/) begin/end sentence - {/} begin/end paragraph, previous/next empty line - % go to matching pair ({[ etc. - [[/]] previous/next { in column o - gg go to start of file - G go to end of file, eof - H screen high, top - M screen mid - L screen low, bottom - zz center screen around cursor - ctrl+F/B page up/down - ctrl+E/Y scroll up/down
Search / Mark / Macro - ... see above under Move - m+char set mark - `+char go to that mark - '+char go to first nonblank in that line, A-Z marks are global, a-z per-buffer - q+char starts macro recording, again q stops recording - @=char replays macro, @@ repeats last macro played
Insert / Delete - i insert - I insert beginning of line, bol - a append, insert after cursor - A append end of line, eol - o open above - O open below - r replace - R replace mode - s substitute - S substitute line - c change - C change to end of line, eol, shorthand for c$ - x delete - X delete left - d+motion/character/word delete to character/word (also dw delete word, d$ delete to eol, df... etc.) - c same as d, stays insert mode - D delete to end of line, eol - ~ toggle case - (leave from insert mode with escape esc to normal mode)
Visual Mode - v enters visual mode, move, text highlighted, press operator - V like v, selects lines - ctrl+v selects rectangular blocks - (leave from visual mode with escape esc to normal mode)
Count / Repeat - d2w delete up to 2nd word, d2t, delete up to not including , - 2i etc. - . repeats last editing action, like text input, delete, change etc. - dd or cc repeat operator
Undo / Redo - u undo - U undo line - ctrl+r redo
Yank(Copy) / Paste - y+motion yank/copy - Y yank/copy line, shorthand for yy - p paste after - P paste before
Save / Quit - :w save/write - :q quit - :q! quit without save/write - :qw - (for commands after : press enter)
Other - K help - </> unindent/indent, <<  >> - "+(a-z) before any yank/delete/paste chooses register, (A-Z) register means append-copy - "* or "+ select system clipboard - deleted text with d/c/x is also copied - J joins current and next line, or all in visual selection - Q ex mode - ! external filter - & repeat :s - _ soft bol down - = autoformat - | bol, go to col - \ not used - : ex command line - ; repeat t/T/f/F - , reverse t/T/f/F - z+... extra commands - Z+... quit - learn Vim at

Vim documentation -
VIM Editor Commands -
How to set and use a vim color scheme -

Practical Vim

Practical Vim: Edit Text at the Speed of Thought - (Pragmatic Programmers) - 1st Edition by Drew Neil - Amazon -

Read Me
xv - text at the speed of thought - book is fast track to mastery - learn Vim tutor interactive lesson distributed with Vim - $ vimtutor - (continued after Vim Tutor)

keyboard English = German
` ~ = ^ ° (< >) - _ = ß ? = + = ´ ` [ { = ü Ü ] } = + * \ | = # ' / ? = - _ ; : = ö Ö ' " = ä Ä , < = , ; . > = . : / ? = - _

*     *     *     *     *

Vim Tutor - open terminal, $ vimtutor
describes enough commands to get started - time 25-30 min - Lesson 1.1 hjkl, j like down arrow - hold j key to repeat - Lesson 1.2 when typed wrong press escape (esc) to cancel unwanted or partially completed command - :q! quit, discarding any changes made - get back command vimtutor - cursor keys work, too (and touchpad), faster is using hjkl - Lesson 1.3 x delete character under/behind cursor - Lesson 1.4 insert i - curser after character to be deleted, i and character, esc for normal mode - L1.5 A append (einfügen) - move to line, press A, insert, esc - L1.6 open file vim filename - edit and then save with :w or :wq save+quit - summary
Lesson 2.1 dw delete word, then esc - L2.2 d$ delete end of line (eol), move cursor to first character to be deleted - L2.3 Operators and Motion - d delete operator, + motions: w e (cursor to end of word) $ - dw de d$ - L2.4 2w 3e moves 2 or 3 times - 0 start of line - L2.5 d number motion - d2w delete 2 words etc. - L2.6 dd 2dd delete line - L2.7 u undo - U undoes all line changes - ctrl+R redo - summary
Lesson 3.1 dd delete line and p put (paste) under cursor line, or deleted word after cursor - L3.2 r replace character (R more than one) - L3.3 ce change until end of word, switches to i insert, then esc - L3.4 c (change) operator same motions as d (delete), c [number] motion, as w $ - cw, ce or c$ - backspace for mistakes while typing - summary
Lesson 4.1 - ctrl+G shows location and filename - G file bottom, gg file start - enter last line-number+G return to last position - L4.2 /+word search word forward - n next, N opposite direction - ?+word for backward - ctrl+o back to older position - ctrl+i to newer position - L4.3 % matching )]} - useful for debugging unmatched - L4.4 substitute (ersetzen) :s/thee/the + enter changes thee into the - :s/thee/the/g line globally - :#,#s/old/new/g between #-lines - :%s/.../old/new/g whole file - :%s/old/new/gc whole file, promt to substitute or not, y/n - summary
Lesson 5.1 :! for external shell command like ls etc., also with arguments - L5.2 save file with :w or :w filename - check with :!ls - remove :!rm filename - check again :!ls - L5.3 save excerpt: curser at beginning of excerpt text, press v (starts visual selsction), select text moving cursor, pressing : shows :'<, '> - add w filename - created file TEST in ~ - visual selection can be manipulated with operator like d etc. - L5.4 retrieve from file with :r TEST (your filename), file text will be entered under curser line - :r !ls (or other command) puts output of external command in text to read and puts below cursor - summary :!command executes external command
Lesson 6.1 o opens line below cursor in Insert mode, enter text, leave with esc - capital O does same above curser line - L6.2 a inserts text after cursor, leave with esc - a i A all open Insert mode, difference is insertion place - L6.3 R replaces more than one character under cursor (L3.2 r only one), like i, deletes existing character - L6.4 select with v (Visual), then yank/copy with y - y can be an operator, like yw yanks/copies word - L6.5 search /ignore (or other word), find next with n, repeat - :set ic (Ignore case), undo with :set noic, sets/unsets ignore case - :set hls ic (hlsearch highlight search - incsearch partial match) - repeat /ignore highlighted - :nohlsearch removes highlighted matches - for just one search use /ignore\c (backslash) - summary :set ... sets options - can use long or short option name - prepend no switches option off, :set noic
Lesson 7.1 online help with Help-key, F1, or :help - ctrl-w jump windows - :help w --- :help c_CTRL-D --- :help insert-index --- :help user-manual - L7.2 Vim many more features than Vi, most of them disabled by default - create file :e ~/.vimrc created .vimrc.swp - next Vim start will do syntax highlighting - add all prferred settings - more info :help vimrc-intro - L7.3 :set nocp (no compatible mode) - look for existing files :!ls - :e ctrl+D shows list of commands starting with e - press Tab, Vim completes name and goes through listed e controls - Completion works for many commands - useful for :help - summary
end Vim Tutor - brief overview, enough to use editor easily, far from complete - read :help user-manual next (pdf download) - book recommendation "Vim - Vi Improved" - by Steve Oualline for beginners - or older book "Learn the Vi Editor" by Linda Lamb, 6e about Vim

:u undo - b word back - e end of word - $ end of line (eol) - w word - : set number / set nonumber

*     *     *     *     *

(continued:) Vim highly configurable - vimrc file no preferences - focus on core functionality which is always there, whether SSH or GVim and plugins - book structure: receipe book, not designed to read from start to finish - each chapter collection of tips related by a theme - Vim always more than one way - chapter 1 . command could be solved using :substitute command etc. - first learn to touch type not looking down on keyboard - Vim traces back to Unix editors vi and ed (p53), predating mouse etc. - Vim everything can be done with keyboard, faster
Read the Forgotten Manual
book shows rather examples than descriptions - contents and keystrokes of Vim buffer - can skip this chapter and jump to action, ch1 - this chapter about each convention in book - find answer to symbols in chapter - Vim's built-in documentation - hyperlink :h vimtutor or internet - :h abbreviation for command help - Querty (= shift ctrl cmd alt etc.( like piano notes or chords - ctrl-s pressed together, modal command set not - x dw dap - <C-p> means ctrl-p, pressed together - also <S-...> shift-key, <M-...> meta- or alt-key, <A-...> alt-key same as M, <D-...> command-key (Macintosh only) - used by Vim, can be used for own key mappings - combinations of both:
<C-n> Press <Ctrl> and n at the same time
g<C-]> Press g , followed by <Ctrl> and ] at the same time
<C-r>0 Press <Ctrl> and r at the same time, then 0
<C-w><C-=> Press <Ctrl> and w at the same time, then <Ctrl> and = at the same time
... other notations ... - switching modes ... - interacting with command line: $ grep -n Waldo * in command-line or :grep Waldo * in Vim - $ for command-line, : for Vim - also:
/ Use Command-Line mode to perform a forward search
? Use Command-Line mode to perform a backward search
= Use Command-Line mode to evaluate a Vim script expression
<CR> for Enter/Return, and exeptions ... - for space bar - show curser position in buffer ...
xxii - selecting in visual mode ... - downloading examples in Vim, press link, opens in browser - all examples at - Vim factory settings, defaults can all be changed - test: launching Vim with $ vim -u NONE -N - -u NONE causes not to source from vimrc, custumizations not applied, no plugins, reverting to vi compatible mode and disabling many useful features - -N flag prevents it setting 'noncompatible' option - guarantees that mostly everything works as book describes - or try $ vim -u code/essential.vim (check and adjust path) containing: set nocompatible
filetype plugin on
in this way use features as tetrw (Tip 43) and omni-completion (Tip 117) and many others - recommendation: Vim’s factory settings to mean built-in plugins enabled and vi compatibility disabled - look out for subsections titled "Preparation" at the top of a tip, need to configure Vim accordingly, factory settings should help here - still problems, see Section 6, On Vim Versions, page xxiv - Vim script inables us adding new or changing existing functionality, using a complete scripting language (vimscript), which is not explained in this book, but used in Tips 16 70 94 95 - book shows using Vim's core without third-party plugins, except Tip 86 212 96, which add via plugins indispensable (unentbehrliche) features - implementation of visual-star.vim and Qargs.vim is presented inline without explanation (Vim is written in C and Vim Script, based on ex-editor (written in C) by Billy Joy for Unix - cheatsheet - Five Minute Vimscript by Andrew Scala - Vim Script supports plugins for Perl, Python, Lua, Ruby) - Vim versions: book tested all examples with 7.3 - some functionality can be disabled during compilation like --with-features=tiny option, disabling all but tie most fundamental features (also small, normal, big, huge), browse :h +feature-list - check by :version - on modern computers use huge feature set! - choose Vim terminal (could be called TUI, textual UI) or GUI (graphical user interface) - terminal feels natural if most of your day spent with Vim - GVim or MacVim are the GUIs, see :h gui - GUI more fonts and colors for syntax highlighting, and able to use mouse and some conventions of OS (like cmd-x and cmd-v, save with cmd-s, close window cmd-w etc.) - but there's always a better way - book can be used for both, terminal and GUI - We'll learn how to do things the Vim way
Ch 1 - The Vim Way
we repeat actions - repetetive workflow saves time multifold - dot command most versatile (vielseitig), ideal editing formula with one keystroke to move and one to execute
Tip 1 - Meet the Dot Command
repeats last change - change could act at level of characters, lines, or whole file - delete with x, then repeat with ., .. etc. - or dd deletes line, . etc. - >G indentation to end of file, j, ., j. - all three from normal mode - insert mode press i, back to normal with escVim records every keystroke - micro macro, Vim records and replays repetitive workflows - for best practices see Tip 9 and 23
Tip 2 - Don’t Repeat Yourself
p4 - example put semicolon at end of line for many lines: $a; esc - repeat with j$. - better A; esc - then j. - alternative Tip 30 - other examples, all switching from normal to insert mode: C or c$ - s or cl - S or ^C - I or ^i - A or $a - o or A<CR> - O or ko
Tip 3 -

Comparison of text editors - total 70 editors - WP
Best Text Editors for Linux Command Line -
10 Best Text Editors For Linux And Programming (2018 Edition) -

*     *     *     *     *


Editor war - WP
Differences between Emacs and Vim - - Evil (extensible vi layer) mode on Emacs simulates main features of vi and Vim
Vimacs : Vim-Improved eMACS: Emacs emulation for Vim -


Top 15 Best Free Linux Games That Everyone Should Play -
Dota 2 on linux - - dota2 YT Channel
Hack (video game) WP

Music Software


Install Ardour6 - sudo apt install ardour Install Ardour6 -
Install Jack2 - - and qjackctl (Jack Control) Installing JACK2 on Ubuntu sudo apt install jackd qjackctl Start JACK control Starting Jack and Setup
Install Jack Keybord and setup sudo apt install jack-keyboard Install aconnectgui and setup sudo apt install aconnectgui Instaal some synthesizers - Install Top 15 Best Linux Synthesizers for Digital Audio Production in 2020 and setup

* * * * * * *

Rosegarden Rosegarden Rosegarden

Rosegarden - - About - Origin of a Legend - apt-get install rosegarden
// question for Jack: enter y for yes
rosegarden // opens application
Configuring The Jack Audio-Connection Kit, And Changing Qsynth To Use It - - JACK Audio Connection Kit - WP - Installing and starting jack - sudo apt-get install jack-tools ant openjdk-6-jdk fftw3 qjackctl Ardour -
Ubuntu Studio -



Trisquel 8.0 LTS Flidas - - download ISO
Trisquel GNU/Linux 8.0 Install and Review - YT

Writing Arabic and Latin on Ubuntu, Trisquel, and Elementary OS -


Kali - Kali Linux NetHunter for Nexus and OnePlus mobile phones and tablets - Kali Linux - WP
Making a Kali Bootable USB Drive -
Installing Kali Linux from USB -
Kali Linux cannot login fix(2018) - YT - Username: root - your password you entered for root

How To Install Google Chrome Browser on Kali Linux? - google-chrome --no-sandbox

How To Install software-properties-gtk On Kali Linux 2017.1 - on Ubuntu name is "Software & Updates"
apt-get install software-properties-gtk
apt-get install synaptic
not solved
Other software needed: FileZilla Chrome Text_Editor Audacity Rhythmbox LibreOffice Skype Thunderbird and other

Software repository "repo" - WP
Oracle is destined to beat Amazon at cloud database: Larry Ellison - YT - Larry Ellison WP


Neovim - GitHub curl -LO
chmod u+x nvim.appimage
./nvim.appimage // sites/terasof/gnu.html
not showing html text in between <b>...</b>
How to Install NeoVim and Plugins with vim-plug -

How to update Kali Linux - /etc/apt/sources.list file should contains the following official Kali repositories: deb kali-rolling main non-free contrib
// deb-sources kali-rolling main non-free contrib // don"t add this line - after checking do:
sudo apt update

Updating and upgrading Kali Linux
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get update


Troubleshoot, fix and enable Bluetooth on Kali Linux
How to Snoop on Bluetooth Devices Using Kali Linux
Enabling bluetooth
sudo su // switches to root user How to open files as root via a right click
Bluetooth not Working on Kali Linux
Configuring Bluetooth devices with bluetoothctl
BluetoothUser - - blueman - bluez

Kali To Do

• Vim - Neovim - Snippets etc.
• Wi-Fi
• Camera - Skype
• Grub2 boot Mac OS X

Red Hat

Red Hat - WP



Information security - WP - CIA Triad - Confidentiality Integrity Availability
Computer security - WP
How can I begin to learn information security? - - Certified Ethical Hacker - WP - EC-Council Albuquerque, New Mexico - WP - - cehv9-brochure - PDF - CEH-Handbook-v2.2 - PDF - What is a Certified Ethical Hacker? CEH ANSI vs. CEH Practical Exams - YT - What's Inside A Hacker's Backpack/Bag? - YT - How To Become a Hacker - EPIC HOW TO - YT
The Complete Ethical Hacking Course for 2019! - YT
How To Become A Hacker by Eric Steven Raymond -
How should I start to learn hacking and what are the prerequisites, like programming languages, networking, OS, etc.? Is it a must to have knowledge of Java, PHP, or some others of these types? -
What is the best book to learn about computer security? -

Security Engineering: A Guide to Building Dependable Distributed Systems - by Ross J. Anderson - 2e 2008 - p1040 - Amazon
The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws - by Dafydd Stuttard and Marcus Pinto - 2e 2011 - p912 - Amazon
Penetration Testing: A Hands-On Introduction to Hacking - by Georgia Weidman - 1e 2014 - p528 - Amazon - - YT Channel - TW 26K
Computer Security - by Dieter Gollmann - 3e 2011 - p458 - Amazon

The Linux Command Line

Listen to Georg Friedrich Handel Concerti Grossi Op 6 N 1-12 ♡♡♡ ♡ ♡♡♡

by William Shotts - 4th edition 2017 - eBook “The Linux Command Line”, a complete guide to using the command line - -

German keaboard - on English keys
~ - alt+]
\ - alt+- (ß)
| -
# -
>> -
• -
suspend/sleep - sudo pm-suspend - What is the command for sleep/hibernate? [duplicate] - - What are the differences between sleep, standby, suspend and hibernate in Ubuntu? -

... - only way get things done on computer is on keyboard, never touching a mouse - no programming experience needed - material carefully chosen to guide reader - goal to acquaint with Unix way of thinking, different from Windows
4 parts: Part 1 Ch1-10 - Learning shell - Part 2 Ch11-13 - Configuration and environment - Part 3 Ch14-23 - Common tasks and tools - Part 4 Ch24-36 - Writing shell scripts
read book from start to end - most people install Ubuntu, Fedora or OpenSUSE - try Ubuntu first - read and follow with computer - why not calling it GNU/Linux: Linux is kernel, GNU only some parts of OS - ... - book written on Ubuntu

Part 1 - Learning The Shell

1 - What Is The Shell
p2 - bash sh - KDE konsone or GNOME gnome-terminal also called simply terminal - start terminal ctrl+alt+t - $ or # - type asdfhgfd > command not found - history arrow keys up/down, remebers last 1000 commands - arrow keys left/right - copy paste - date - cal calendar - df free space - free free memory - close terminal to end or write exit - virtual terminals/consoles ctrl+alt+F3-F6 - back to graphical desktop alt+F2 - suspend ctrl+alt+F1

2 - Navigation
p7 - pwd print working directory - cd change directory - ls list directory contents - first directory called root - we are standing in current working directory, shown with pwd - log in shows home directory, only which is allowed to write - listing with ls - change directory with cd followed by path-name, absolute like /usr/bin starting from root /, or relative like . or .. starting from current working directory - .. one directory back to parents, if reached / won't change anymore, or cd - - one directory forward with ./bin or other name of directory - in almost all cases ./ can be omitted just writing cd bin or other
Helpful shortcuts: cd --- cd - --- cd ~user_name --- file-names beginning with . are hidden, ls only shows if write ls -a - file-names in Linux or Unix are case-sensitive - File1 is not file1 - file extensions not important in Linux or Unix-like OS, but for some apps they are - limit filename characters to period, dash, underscore .-_ --- next chapter goes on a tour of a modern Linux system

3 - Exploring The System
p13 - ls list directory contents --- file determine file type --- less view file contents - ls can be used like ls /usr etc. - or ls ~ /usr for both directories, ~ stands for home directory - changing format for more detail: ls -l, changing output to long format
Options And Arguments command -options arguments p14 - most options preceded by single dash like -l - GNU also two dashes --l - sometimes multiple short options strung together like ls with two options l for long format and t for sorting by modification time ls -lt or ls -lt --reverse to reverse order - Common ls options:
-a or long option --all - list all files, also hidden, beginning with .
-A or --almost-all - like -a except listing . (current directory) and .. (parent directory)
-d or --directory - contents of directory
-F or --classify - appends indicator character - name/ at the end if directory
-h or --human-readable - long format, sizes human readable, not bytes
-l - long format
-r or --reverse - reverse to normal ascending alphabetic order
-s - sort by file size
-t - sort by modification time
long format - analysis ... drwxrwxr-x 3 my_name my_name 4096 Nov 25 00:21 am rights files_number username_owner group_name_owner size_bytes date time file_name
file (file name) shows file type, for example: config.yml: ASCII text
Linux or Unix-like systems ideas is: everything is a file
Viewing File Contents With less
less lets us view text - text is only numbers for computer - ASCII (As-Key, American Standard Code for Information Interchange) - mapping characters to numbers 1:1, not like Microsoft Word document containing non-text elements for structure and formatting etc. - ASCII also includes few codes like tabs, carriage returns and line feeds - Linux system many files stored in text format - Windows NOTEPAD.EXE is editor for plain ASCII text files - we examine text files, becausemany contain system settings (configuration files) - later chapters learn editing or write own text files - example: less /etc/passwd scroll via arrow keys or touchpad, b or Up for one page back, space or Down one page foreward - G end of file - g or 1G beginning of file - /characters - n next occurrence of previous search - h help screen - exit/quit with q - less (is more) replaces Unix' more with more features
A Guided Tour
Linux file system layout like Unix-like systems - Linux Filesystem Hierarchy Standard - not all, but most distros come pretty close - wandering around file system and practice navigation skills - many interesting files human-readable text - now let's cd into some directories, list with ls -l, determine content with file, view with less - copy/paste with mouse or keys - / root folders:
/ root directory --- /bin binaries for booting system and run --- /boot --- /dev --- /etc --- /home --- /lib --- /lost+found --- /media --- /mnt --- /opt --- /proc --- /root --- /sbin --- /tmp temporary files, may be emtied at reboot --- /usr all programs and support files for users --- /usr/bin executable programs by Linux distro --- /usr/lib shared libraries for programs --- /usr/local programs not included with distro - these compiled programs on /usr/local/bin --- /usr/sbin system administration programs --- /usr/share shared data used by programs in /usr/bin, config files, icons, screen backgrounds, sounds etc. --- /usr/share/doc documentations of packages --- /var storage of changing data --- /var/log log files, records of system activity
Symbolic Links
p23 - ...

4 - Manipulating Files And Directories
p25 -

9 - Permissions
p90 -

Part 3 - Common Tasks And Essential Tools

14 - Package Management
p168 - different systems: Debian .deb (Debian, Ubuntu, Linux Mint, Raspbian) - Red Hat .rpm (: Red Hat package manager - Fedora, CentOS, Red Hat Enterprise Linux, OpenSUSE) - some exceptions are Gentoo, Slackware, Arch etc.
How A Package System Works
p169 - proprietary industry: buy media (install disk), run install wizard - Linux doesn't: all software on the internet, provided by distro vendor in form of package files, rest available in source code installed manually (compiling code chapter 23) - package file is basic unit, compressed collection of files that comprise software package - includes metadata about package, text description of package and contents, pre- and post-installation scripts - created by person called package maintainer, who applies modifications to source code improving integration with other Linux parts - repositories and dependencies ... - dependent on I/O etc. - routines in shared libraries - modern packages ensure installation of dependencies - this chapter looks at tools supplied with Debian-style and Red Hat-style, and high-level program yum (Yellowdog Update, Modified) - Debian: low-level dpkg, high-level apt-get, aptitude - Red Hat low-level rpm, high-level yum - ... apt-get update; apt-get install (package_name)
apt-get remove (package_name)
apt-get update; apt-get upgrade
find which package installed /usr/bin/vim: dpkg --search /usr/bin/vim // Debian
rpm -qf /usr/bin/vim // Red Hat
... next chapters explore different programs and install additional packages if necessary
The Linux Installation Myth
... source code, software, package etc. - drivers 3 reasons of problems - 4 links ...

15 - Storage Media

The Linux Programming Interfacce

by Michael Kerrisk - 1st edition (October 1, 2010) - 1557 pages - Amazon - WP - Michael Kerrisk WP - - About Michael Kerrisk - The Linux man-pages project - strace: Monitoring The Kernel-User-Space Conversation - Michael Kerrisk - YT - An Introduction to Linux IPC Facilities - YT


Praise For The Linux Programming Interface - Preface - Chapter 1-64 - Appendix A-F - Bibliography - Index

R Praise ♡
Preface - xxxi-xli ... - needed: programming experience, read C, use shell and common Linux and UNIX commands - R Ch2 review of fundamental concepts of Linux and UNIX systems - ... - R linearly or as reference to Linux/UNIX programming interface - extensive index and frequent cross-references - 64 chapters in 8 parts ... - short complete example programs for experimenting from command line - book contains around 15,000 lines example C source code and shell session logs - most effective is modifying or better writing own code - code download from books WS - exercises, selected solutions Appendix F - standards and portability to POSIX.1-2008 and SUSv4 - differences to other UNIX implementations indicated - example programs tested on Solaris, FreeBSD, OS X, Tru64 UNIX, HP-UX - WS provides alternative versions of examples - book focus Linux 2.6.x and GNU C library glibc version 2 - changes after book publication on WS - C examples can use other interfaces from other compiled languages such as C++, Pascal, Modula, Ada, FORTRAN, D, and scripting languages such as Perl, Python, Ruby (Java different approach) with some extra work to be done, but essential concepts are same - book info applicable even in other progr. language - About author: started UNIX and C 1987 - recommendation to read documentation of a new software technology and write test programs until confident, saves time in the long run - teached UNIX - ... - work on Linux man-pages, maintain since 2004, wrote about 1/3 of 900 pages - Acknowledgements: ... - Errata etc. - Michael Timothy Kerrisk - Munich, Germany and Christchurch, New Zealand - August 2010

1 - History And Standards
p1 - Linux member of UNIX family OS - 2 key currents: GNU and Linux kernel - ... p6 - The Linux Kernel -

Linux: The Complete Reference

by Richard Peterson - 6th edition (December 10, 2007) - kernel 2.6 - Amazon


Part I - Introduction
1 - Introduction to Linux - 3
2 - Getting Started - 17
Part II - The Linux Shell and File Structure
3 - The Shell - 35
4 - The Shell Scripts and Programming - 65
5 - Shell Configuration - 89
6 - Linux Files, Directories, and Archives - 115
Part III Desktop
7 - The X Window System, Xorg, and Display Managers - 145
8 - GNOME - 169
9 - KDE - 197
Part IV - Linux Software
10 - Software Management - 219
11 - Office and Database Applications - 237
12 - Graphics Tools and Multimedia - 255
13 - Mail and News Clients - 265
14 - Web, FTP, and Java Clients - 281
15 - Network Tools - 301
Part V - Security
16 - Encryption, Integrity Checks, and Signatures - 313
17 - Security-Enhanced Linux - 327
18 - IPsec and Virtual Private Networks - 349
19 - Secure Shell and Kerberos - 359
20 - Firewalls - 373
Part VI - Internet and Network Services
21 - Managing Services - 401
22 - FTP Servers - 423
23 - Web Servers - 443
24 - Proxy Servers - 467
25 - Mail Servers - 477
26 - Print, News, Search, and Database Servers - 503
Part VII System Administration
27 - Basic System Administration - 523
28 - Managing Users - 551
29 - File Systems - 583
30 - RAID and LVM - 615
31 - Devices and Modules - 639
32 - Kernel Administration - 671
33 - Backup Management - 693
Part VIII Network Administration Services
34 - Administering TCP/IP Networks - 707
35 - Network Autoconfi guration with IPv6, DHCPv6, and DHCP - 745
36 - NFS and NIS - 761
37 - Distributed Network File Systems - 777
A - Where to Obtain Linux Distributions - 785
Index - 787-830 - end of book

xxxi - Linux one of major OS, power of Unix workstation, internet apps and desktop interface - book reference, detailed explanations of Linux features - no prior knowledge of Unix assumed - anyone can use Linux OS - distros all same desktops, shell, file systems, servers, admin support, network configurations - some provide own GUI tools front end, but same underlaying commands - book disto independent, 95% of all operations same for all distros - book can be used for all distros - ... - fully Unix OS, with shells BASH, TCSH and Z shell - Unix shells can be used with same commands, filters, configurations etc. - wide array of apps and desktop apps - GPL (GNU General Public License) provides editors, word processors, graphic and sound apps etc.
How to Use This Book
book 7 major Linux topics: shell environments, desktops, applications, security, servers, system administration, and network administration - like several books in one
xxxii - almost all operations carried out using GNOME or KDE interface - can focus on these chapters - or shell chapters to delve deeper into Unix aspects of Linux - or applications section - for muliuser system use detailed administration chapters - or use all aspects - single users may use more desktop and apps, admins security and net
Part Topics
Part I - general overview - Linux listings and resources, sites, distros, installation, GNOME and KDE basics, Windows access
Part II - shell environments BASH TCSH and file system operating from terminal
Part III - desktops, GUI support tools like X Window System, display managers - KDE and GNOME desktops, applets, Panel, configuration tools
Part IV - apps office, multimedia, Internet apps and KOffice - database management systems, web locations, mail, news, FTP, browser and servers
Part V - security precautions, encryption, authentication, firewalls - GPG (GNU Privacy Guard) - LUKS (Linux Unified Key Setup) - IPSEC - IPtables - SSH (Secure Shell) - Kerberos
Part VI - Internet servers - Apache - virtual host directives - Sendmail, Postfix, IMAP, POP - INN news server - CUPS print server - MySQL database - Squid proxy server
Part VII - system administration - user, software, file system, system, device, and kernel administration tasks and entries - ... - udev and JAL (Hardware Abstraction Layer)
Part VIII - network administration - network interfaces and IP addressing - IPv4 DHCP (Dynamic Host Configuration Protocol) server - IPv6 - NFS (network file system) interfaces - GFS NFS NIS

Part I
1 - Introduction to Linux

2 - Getting Started

Linux Kernel Development

3e - by Robert Love - July 2, 2010 - - TW 49K - Robert Love–Google and Open Source - YT
Which is the best book for learning Linux as a beginner? -

Contents at a Glance
1 Introduction to the Linux Kernel 1
2 Getting Started with the Kernel 11
3 Process Management 23
4 Process Scheduling 41
5 System Calls 69
6 Kernel Data Structures 85
7 Interrupts and Interrupt Handlers 113
8 Bottom Halves and Deferring Work 133
9 An Introduction to Kernel Synchronization 161
10 Kernel Synchronization Methods 175
11 Timers and Time Management 207
12 Memory Management 231
13 The Virtual Filesystem 261
14 The Block I/O Layer 289
15 The Process Address Space 305
16 The Page Cache and Page Writeback 323
17 Devices and Modules 337
18 Debugging 363
19 Portability 379
20 Patches, Hacking, and the Community 395
Bibliography 407
Index 411

xxi - ... by Andrew Morton

xxiii - Robert's job, hobby and love is hacking the kernel :-) book based on version 2.6 Linux kernel series (2004) - read, but also change some code, find and fix some bugs - improve drivers for hardware - add some functionality - book not covering older series - book is up to date as of Linux kernel version 2.6.34 - assume reader knows C and is familiar with Linux systems - acknowledgments and thanks - ... Linus Torvalds ... - about Robert: ...

1 - Introduction to the Linux Kernel
p1 - to understand Linux we must first discuss the first UNIX system
History of Unix
... since 1969 ... - In this book, when I say Linux I typically mean the Linux kernel ...
Overview of Operating Systems and Kernels
p4 - topic of book is kernel - ... - in Linux, we can generalize that each processor is doing exactly one of three things at any given moment:
• In user-space, executing user code in a process
• In kernel-space, in process context, executing on behalf of a specific process
• In kernel-space, in interrupt context, not associated with a process, handling an interrupt (figure 1.1 relationship between applications, the kernel, and hardware)
Linux Versus Classic Unix Kernels
p6 - ... - Monolithic Kernel Versus Microkernel Designs - ...
p8 - differences between Linux and Unix ...
Linux Kernel Versions: stable and development - distinguishes with naming scheme (figure 1.2) - major_release.minor_r.revision.stable_version (example: - first two represent kernel version: 2.6)

Linux System Programming

2e - by Robert Love - 2013-5-10 - Amazon

Foreword - xv
Preface - xvii
1 - Introduction and Essential Concepts - 1
2 - File I/O - 25
3 - Buffered I/O - 67
4 - Advanced File I/O - 91
5 - Process Management - 137
6 - Advanced Process Management - 177
7 - Threading - 211
8 - File and Directory Management - 241
9 - Memory Management - 293
10 - Signals - 333
11 - Time - 363
A - GCC Extensions to the C Language - 395
B - Bibliography - 407
Index - 411
About the Author - 430 - end of book

xv - ... - Linux most flexible and powerful operating system ever been created, running everything from cell phones and embedded devices to more than 90 percent of world’s top 500 supercomputers - book unenviable task of teaching almost every system call on a Linux system - fully understand how Linux kernel works from user-space perspective, and how to harness the power of this system - learn how to create code running on all different Linux distributions and hardware types - understand how Linux works - learn writing code that doesn't suck

xvii - book about system programming on Linux - about system calls, low level functions as those defined by C library - author wrote lot of code for Linux kernel and system - book combines tutorial on Linux programming, reference manual for system calls, insider guide to writing smarter, faster code - become better software enineer
Audience and Assumptions
be familiar with C and Linux programming environment and editor, gcc, gdb, make - book will start from the ground up, beginning with the basics, up to most advanced interfaces and optimization tricks - readers of all levels
Contents of This Book - ... - Versions Covered in This Book - ... - Conventions Used in This Book - italic for new terms, URLs, emails, filenames and extensions - constant width for program listins, elements, databses, types, statements, keywords - constant width bold for commands or text user should type - constant width italic text should be replaced - icon "footprints" for tips, suggestions, general note - icon "trap" for warning and caution
most code brief snippets - no gigantic programs - mostly self-contained, only seldom need link to library
recommended command to compile source file: $ gcc -Wall -Wextra -O2 -g -o snippet snippet.c you might have to build a skeleton program around the snippet first

1 - Introduction and Essential Concepts

1 -

Linux in a Nutshell

Preface - xv
1 - Introduction - 1
2 - System and Network Administration Overview - 14
3 - Linux Commands - 33
4 - Boot Methods - 504
5 - Package Management - 542
6 - The Bash Shell - 596
7 - Pattern Matching - 654
8 - The Emacs Editor - 661
9 - The vi, ex, and vim Editors - 677
10 - The sed Editor - 711
11 - The gawk Programming Language - 726
12 - Source Code Management: An Overview - 749
13 - The Subversion Version Control System - 755
14 - The Git Version Control System - 805
15 - Virtualization Command-Line Tools - 837
Index - 875
About the Authors - 919-920 - end of book

Understanding the Linux Kernel



Machines for world knowledge 300 Exabytes, ship SH and spaceship SS - Computers should do what humans want them to do - input output - keyboard pad touchscreen cam mic controller etc. - based binary - ASM and C needed - terminal - IN HTML CSS JS WASM - Arduino Rapberry PI etc. - Linux - games animation sounddesign graficdesign - art FP MP WR - O MG


Richard Stallman - WP
A Space X Factory Tour With Elon Musk - YT
Hundreds of Birds Fall From the Sky During 5G Test in The Netherlands - YT
Wikipedia:1,000 core topics
List of operating systems - WP - Operating system - WP - ReactOS open source clone of Windows 95, written in C and C++ - WP
Plan 9 from Bell Labs - 10-25,000 lines of code, complete comprised 18,000, in 2006 180,000 lines, Linux then more than 4.8 million - replacing GNU software - ported to Raspberry Pi - without middleware - the most dangerous enemy of a better solution (Plan 9) is an existing codebase (Unix) that is just good enough - WP
Get to know Melinda Gates — one half of the wealthiest couple in the world -
A Conversation with Barack Obama, Bill Gates and Melinda Gates - YT
President Obama Addresses the British Parliament - YT
David Icke 2018 ☯ If You Don't Control Your Mind Somebody Else Will | David Icke December 01 2018 - YT
- YT


Session 1 • Wed 2018-10-31 Auckland 1:00-4:30 WR gnu.html - start ♡♡♡ rEFInd and Ubuntu install ♡
• Session 2 • Thu 2018-11-1 Auckland 17:20-18:00 Linux + Content