diff options
author | johannst <johannst@users.noreply.github.com> | 2020-12-18 23:42:29 +0000 |
---|---|---|
committer | johannst <johannst@users.noreply.github.com> | 2020-12-18 23:42:29 +0000 |
commit | f6fa901a0906fc6ba8c6d851060d646c3049f8ea (patch) | |
tree | b5b0e411196c14d74a6943c6fb04c25664352555 /print.html | |
parent | e3fd207e72ba389be33b65e56e0e3a06162773dc (diff) | |
download | notes-f6fa901a0906fc6ba8c6d851060d646c3049f8ea.tar.gz notes-f6fa901a0906fc6ba8c6d851060d646c3049f8ea.zip |
deploy: b7f4aee7a60b03db06475f2a017706494d9a2d44
Diffstat (limited to 'print.html')
-rw-r--r-- | print.html | 105 |
1 files changed, 104 insertions, 1 deletions
@@ -83,7 +83,7 @@ <nav id="sidebar" class="sidebar" aria-label="Table of contents"> <div id="sidebar-scrollbox" class="sidebar-scrollbox"> - <ol class="chapter"><li class="expanded "><a href="tools/index.html"><strong aria-hidden="true">1.</strong> Tools</a></li><li><ol class="section"><li class="expanded "><a href="tools/zsh.html"><strong aria-hidden="true">1.1.</strong> zsh</a></li><li class="expanded "><a href="tools/bash.html"><strong aria-hidden="true">1.2.</strong> bash</a></li><li class="expanded "><a href="tools/fish.html"><strong aria-hidden="true">1.3.</strong> fish</a></li><li class="expanded "><a href="tools/tmux.html"><strong aria-hidden="true">1.4.</strong> tmux</a></li><li class="expanded "><a href="tools/git.html"><strong aria-hidden="true">1.5.</strong> git</a></li><li class="expanded "><a href="tools/awk.html"><strong aria-hidden="true">1.6.</strong> awk</a></li><li class="expanded "><a href="tools/emacs.html"><strong aria-hidden="true">1.7.</strong> emacs</a></li><li class="expanded "><a href="tools/gdb.html"><strong aria-hidden="true">1.8.</strong> gdb</a></li><li class="expanded "><a href="tools/radare2.html"><strong aria-hidden="true">1.9.</strong> radare2</a></li></ol></li><li class="expanded "><a href="monitor/index.html"><strong aria-hidden="true">2.</strong> Resource analysis & monitor</a></li><li><ol class="section"><li class="expanded "><a href="monitor/lsof.html"><strong aria-hidden="true">2.1.</strong> lsof</a></li><li class="expanded "><a href="monitor/pidstat.html"><strong aria-hidden="true">2.2.</strong> pidstat</a></li><li class="expanded "><a href="monitor/pgrep.html"><strong aria-hidden="true">2.3.</strong> pgrep</a></li><li class="expanded "><a href="monitor/pmap.html"><strong aria-hidden="true">2.4.</strong> pmap</a></li><li class="expanded "><a href="monitor/pstack.html"><strong aria-hidden="true">2.5.</strong> pstack</a></li></ol></li><li class="expanded "><a href="trace_profile/index.html"><strong aria-hidden="true">3.</strong> Trace and Profile</a></li><li><ol class="section"><li class="expanded "><a href="trace_profile/strace.html"><strong aria-hidden="true">3.1.</strong> strace</a></li><li class="expanded "><a href="trace_profile/ltrace.html"><strong aria-hidden="true">3.2.</strong> ltrace</a></li><li class="expanded "><a href="trace_profile/perf.html"><strong aria-hidden="true">3.3.</strong> perf</a></li><li class="expanded "><a href="trace_profile/oprofile.html"><strong aria-hidden="true">3.4.</strong> OProfile</a></li><li class="expanded "><a href="trace_profile/time.html"><strong aria-hidden="true">3.5.</strong> time</a></li></ol></li><li class="expanded "><a href="binary/index.html"><strong aria-hidden="true">4.</strong> Binary</a></li><li><ol class="section"><li class="expanded "><a href="binary/od.html"><strong aria-hidden="true">4.1.</strong> od</a></li><li class="expanded "><a href="binary/xxd.html"><strong aria-hidden="true">4.2.</strong> xxd</a></li><li class="expanded "><a href="binary/readelf.html"><strong aria-hidden="true">4.3.</strong> readelf</a></li><li class="expanded "><a href="binary/objdump.html"><strong aria-hidden="true">4.4.</strong> objdump</a></li><li class="expanded "><a href="binary/nm.html"><strong aria-hidden="true">4.5.</strong> nm</a></li></ol></li><li class="expanded "><a href="development/index.html"><strong aria-hidden="true">5.</strong> Development</a></li><li><ol class="section"><li class="expanded "><a href="development/c++filt.html"><strong aria-hidden="true">5.1.</strong> c++filt</a></li><li class="expanded "><a href="development/c++.html"><strong aria-hidden="true">5.2.</strong> c++</a></li><li class="expanded "><a href="development/glibc.html"><strong aria-hidden="true">5.3.</strong> glibc</a></li><li class="expanded "><a href="development/gcc.html"><strong aria-hidden="true">5.4.</strong> gcc</a></li><li class="expanded "><a href="development/make.html"><strong aria-hidden="true">5.5.</strong> make</a></li><li class="expanded "><a href="development/ld.so.html"><strong aria-hidden="true">5.6.</strong> ld.so</a></li></ol></li><li class="expanded "><a href="arch/index.html"><strong aria-hidden="true">6.</strong> Arch</a></li><li><ol class="section"><li class="expanded "><a href="arch/x86_64.html"><strong aria-hidden="true">6.1.</strong> x86_64</a></li><li class="expanded "><a href="arch/arm64.html"><strong aria-hidden="true">6.2.</strong> arm64</a></li></ol></li></ol> + <ol class="chapter"><li class="expanded "><a href="tools/index.html"><strong aria-hidden="true">1.</strong> Tools</a></li><li><ol class="section"><li class="expanded "><a href="tools/zsh.html"><strong aria-hidden="true">1.1.</strong> zsh</a></li><li class="expanded "><a href="tools/bash.html"><strong aria-hidden="true">1.2.</strong> bash</a></li><li class="expanded "><a href="tools/fish.html"><strong aria-hidden="true">1.3.</strong> fish</a></li><li class="expanded "><a href="tools/tmux.html"><strong aria-hidden="true">1.4.</strong> tmux</a></li><li class="expanded "><a href="tools/git.html"><strong aria-hidden="true">1.5.</strong> git</a></li><li class="expanded "><a href="tools/awk.html"><strong aria-hidden="true">1.6.</strong> awk</a></li><li class="expanded "><a href="tools/emacs.html"><strong aria-hidden="true">1.7.</strong> emacs</a></li><li class="expanded "><a href="tools/gpg.html"><strong aria-hidden="true">1.8.</strong> gpg</a></li><li class="expanded "><a href="tools/gdb.html"><strong aria-hidden="true">1.9.</strong> gdb</a></li><li class="expanded "><a href="tools/radare2.html"><strong aria-hidden="true">1.10.</strong> radare2</a></li></ol></li><li class="expanded "><a href="monitor/index.html"><strong aria-hidden="true">2.</strong> Resource analysis & monitor</a></li><li><ol class="section"><li class="expanded "><a href="monitor/lsof.html"><strong aria-hidden="true">2.1.</strong> lsof</a></li><li class="expanded "><a href="monitor/pidstat.html"><strong aria-hidden="true">2.2.</strong> pidstat</a></li><li class="expanded "><a href="monitor/pgrep.html"><strong aria-hidden="true">2.3.</strong> pgrep</a></li><li class="expanded "><a href="monitor/pmap.html"><strong aria-hidden="true">2.4.</strong> pmap</a></li><li class="expanded "><a href="monitor/pstack.html"><strong aria-hidden="true">2.5.</strong> pstack</a></li></ol></li><li class="expanded "><a href="trace_profile/index.html"><strong aria-hidden="true">3.</strong> Trace and Profile</a></li><li><ol class="section"><li class="expanded "><a href="trace_profile/strace.html"><strong aria-hidden="true">3.1.</strong> strace</a></li><li class="expanded "><a href="trace_profile/ltrace.html"><strong aria-hidden="true">3.2.</strong> ltrace</a></li><li class="expanded "><a href="trace_profile/perf.html"><strong aria-hidden="true">3.3.</strong> perf</a></li><li class="expanded "><a href="trace_profile/oprofile.html"><strong aria-hidden="true">3.4.</strong> OProfile</a></li><li class="expanded "><a href="trace_profile/time.html"><strong aria-hidden="true">3.5.</strong> time</a></li></ol></li><li class="expanded "><a href="binary/index.html"><strong aria-hidden="true">4.</strong> Binary</a></li><li><ol class="section"><li class="expanded "><a href="binary/od.html"><strong aria-hidden="true">4.1.</strong> od</a></li><li class="expanded "><a href="binary/xxd.html"><strong aria-hidden="true">4.2.</strong> xxd</a></li><li class="expanded "><a href="binary/readelf.html"><strong aria-hidden="true">4.3.</strong> readelf</a></li><li class="expanded "><a href="binary/objdump.html"><strong aria-hidden="true">4.4.</strong> objdump</a></li><li class="expanded "><a href="binary/nm.html"><strong aria-hidden="true">4.5.</strong> nm</a></li></ol></li><li class="expanded "><a href="development/index.html"><strong aria-hidden="true">5.</strong> Development</a></li><li><ol class="section"><li class="expanded "><a href="development/c++filt.html"><strong aria-hidden="true">5.1.</strong> c++filt</a></li><li class="expanded "><a href="development/c++.html"><strong aria-hidden="true">5.2.</strong> c++</a></li><li class="expanded "><a href="development/glibc.html"><strong aria-hidden="true">5.3.</strong> glibc</a></li><li class="expanded "><a href="development/gcc.html"><strong aria-hidden="true">5.4.</strong> gcc</a></li><li class="expanded "><a href="development/make.html"><strong aria-hidden="true">5.5.</strong> make</a></li><li class="expanded "><a href="development/ld.so.html"><strong aria-hidden="true">5.6.</strong> ld.so</a></li></ol></li><li class="expanded "><a href="arch/index.html"><strong aria-hidden="true">6.</strong> Arch</a></li><li><ol class="section"><li class="expanded "><a href="arch/x86_64.html"><strong aria-hidden="true">6.1.</strong> x86_64</a></li><li class="expanded "><a href="arch/arm64.html"><strong aria-hidden="true">6.2.</strong> arm64</a></li></ol></li></ol> </div> <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div> </nav> @@ -159,6 +159,7 @@ <li><a href="tools/./git.html">git</a></li> <li><a href="tools/./awk.html">awk</a></li> <li><a href="tools/./emacs.html">emacs</a></li> +<li><a href="tools/./gpg.html">gpg</a></li> <li><a href="tools/./gdb.html">gdb</a></li> <li><a href="tools/./radare2.html">radare2</a></li> </ul> @@ -853,6 +854,7 @@ multiple times. Actions with those patterns are <strong>executed exactly once</s <li><code>FS</code> <em>field separator</em>: regex to split records into fields, by default <space></li> <li><code>NR</code> <em>number record</em>: number of current record</li> +<li><code>NF</code> <em>number fields</em>: number of fields in the current record</li> </ul> <h3><a class="header" href="#special-statements--functions" id="special-statements--functions">Special statements & functions</a></h3> <ul> @@ -890,6 +892,10 @@ For floats one can use <code>%N.Mf</code>, <code>N</code> is the total number in </code></pre> <p>The pattern <code>NR%2 == 0</code> matches every second record and the action <code>{ print $0 }</code> prints the whole record.</p> +<h3><a class="header" href="#access-last-fields-in-records" id="access-last-fields-in-records">Access last fields in records</a></h3> +<pre><code class="language-bash">echo 'a b c d e f' | awk '{ print $NF $(NF-1) }' +</code></pre> +<p>Access last fields with arithmetic on the <code>NR</code> number of fields variable.</p> <h3><a class="header" href="#capture-in-variables" id="capture-in-variables">Capture in variables</a></h3> <pre><code class="language-bash"># /proc/<pid>/status # Name: cat @@ -1122,6 +1128,103 @@ in the <code>user</code> variable and then print it.</p> q quit </code></pre> +<h1><a class="header" href="#gpg1" id="gpg1">gpg(1)</a></h1> +<pre><code>gpg + -o|--output Specify output file + -a|--armor Create ascii output + -u|--local-user <name> Specify key for signing + -r|--recipient Encrypt for user +</code></pre> +<h2><a class="header" href="#generate-new-keypair" id="generate-new-keypair">Generate new keypair</a></h2> +<pre><code class="language-bash">gpg --full-generate-key +</code></pre> +<h2><a class="header" href="#list-keys" id="list-keys">List keys</a></h2> +<pre><code>gpg -k / --list-key # public keys +gpg -K / --list-secret-keys # secret keys +</code></pre> +<h2><a class="header" href="#edit-keys" id="edit-keys">Edit keys</a></h2> +<pre><code class="language-bash">gpg --edit-key <KEY ID> +</code></pre> +<p>Gives prompt to modify <code>KEY ID</code>, common commands:</p> +<pre><code class="language-bash">help show help +save save & quit + +list list keys and user IDs +key <N> select subkey <N> +uid <N> select user ID <N> + +expire change expiration of selected key + +adduid add user ID +deluid delete selected user ID + +addkey add subkey +delkey delete selected subkey +</code></pre> +<h2><a class="header" href="#export--import-keys" id="export--import-keys">Export & Import Keys</a></h2> +<pre><code class="language-bash">gpg --export --armor --output <KEY.PUB> <KEY ID> +gpg --import <FILE> +</code></pre> +<h2><a class="header" href="#search--send-keys" id="search--send-keys">Search & Send keys</a></h2> +<pre><code class="language-bash">gpg --keyserver <SERVER> --send-keys <KEY ID> +gpg --keyserver <SERVER> --search-keys <KEY ID> +</code></pre> +<h2><a class="header" href="#encrypt-passphrase" id="encrypt-passphrase">Encrypt (passphrase)</a></h2> +<p>Encrypt file using <code>passphrase</code> and write encrypted data to <code><file>.gpg</code>.</p> +<pre><code class="language-bash">gpg --symmetric <file> + +# Decrypt using passphrase +gpg -o <file> --decrypt <file>.gpg +</code></pre> +<h2><a class="header" href="#encrypt-public-key" id="encrypt-public-key">Encrypt (public key)</a></h2> +<p>Encrypt file with <code>public key</code> of specified <code>recipient</code> and write encrypted +data to <code><file>.gpg</code>.</p> +<pre><code class="language-bash">gpg --encrypt -r foo@bar.de <file> + +# Decrypt at foos side (private key required) +gpg -o <file> --decrypt <file>.gpg +</code></pre> +<h2><a class="header" href="#signing" id="signing">Signing</a></h2> +<p>Generate a signed file and write to <code><file>.gpg</code>.</p> +<pre><code class="language-bash">gpg --sign -u foor@bar.de <file> + +# Verify +gpg --verify <file> + +# Extract content from signed file +gpg -o <file> --decrypt <file>.gpg +</code></pre> +<blockquote> +<p>Without <code>-u</code> use first private key in list <code>gpg -K</code> for signing.</p> +</blockquote> +<p>Files can also be <code>signed</code> and <code>encrypted</code> at once, gpg will first sign the +file and then encrypt it.</p> +<pre><code class="language-bash">gpg --sign --encrypt <file> +</code></pre> +<h2><a class="header" href="#signing-detached" id="signing-detached">Signing (detached)</a></h2> +<p>Generate a <code>detached</code> signature and write to <code><file>.asc</code>. +Send <code><file>.asc</code> along with <code><file></code> when distributing.</p> +<pre><code class="language-bash">gpg --detach-sign --armor -u foor@bar.de <file> + +# Verify +gpg --verify <file>.asc <file> +</code></pre> +<blockquote> +<p>Without <code>-u</code> use first private key in list <code>gpg -K</code> for signing.</p> +</blockquote> +<h2><a class="header" href="#abbreviations" id="abbreviations">Abbreviations</a></h2> +<ul> +<li><code>sec</code> secret key</li> +<li><code>ssb</code> secret subkey</li> +<li><code>pub</code> public key</li> +<li><code>sub</code> public subkey</li> +</ul> +<h2><a class="header" href="#keyservers" id="keyservers">Keyservers</a></h2> +<ul> +<li>http://pgp.mit.edu</li> +<li>http://keyserver.ubuntu.com</li> +<li>hkps://pgp.mailbox.org</li> +</ul> <h1><a class="header" href="#gdb1" id="gdb1">gdb(1)</a></h1> <h1><a class="header" href="#cli" id="cli">CLI</a></h1> <pre><code class="language-markdown"> gdb [opts] [prg [-c coredump | -p pid]] |