summaryrefslogtreecommitdiff
path: root/posts
diff options
context:
space:
mode:
authorgarhve <git@garhve.com>2022-12-10 08:59:16 +0800
committergarhve <git@garhve.com>2022-12-10 08:59:16 +0800
commit4c9c9ab88cec6b8c9364917564484d9170a55b3c (patch)
treec0fc1072ab252b6429c3fd9cf6126a14943a4f7b /posts
parent8f33ededea7a01c230b842b4772496f7e2d99bf6 (diff)
change blog content and add font
Diffstat (limited to 'posts')
-rw-r--r--posts/1/index.html4
-rw-r--r--posts/3/index.html10
-rw-r--r--posts/5/index.html6
-rw-r--r--posts/6/index.html18
4 files changed, 19 insertions, 19 deletions
diff --git a/posts/1/index.html b/posts/1/index.html
index 12dacc9..1839247 100644
--- a/posts/1/index.html
+++ b/posts/1/index.html
@@ -127,7 +127,7 @@ Due to personal interest, I didn&amp;rsquo;t choose frame to base my website. I
<p>Due to personal interest, I didn&rsquo;t choose frame to base my website. I use <strong>Nginx</strong> but I don&rsquo;t familiar with it. making it shows my content is not that difficult even that I don&rsquo;t know much fancy state, but I stucked on SSL.</p>
<p>In order to use https instead of http, I choosed <strong>let&rsquo;s encrypt</strong>, which is good for me and it&rsquo;s free. However, I can only getting my non-www domain working. when it comes to www domain, it still http.</p>
<p>I found solutions all about using return to returning https, but it won&rsquo;t work</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="font-weight:bold">server</span> {
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="font-weight:bold">server</span> {
</span></span><span style="display:flex;"><span> <span style="font-weight:bold">server_name</span> <span style="font-style:italic">www.garhve.com</span>;
</span></span><span style="display:flex;"><span> <span style="font-weight:bold">return</span> 301 <span style="font-style:italic">https://www.garhve.com</span>$request_uri
</span></span><span style="display:flex;"><span><span style="">}</span>
@@ -135,7 +135,7 @@ Due to personal interest, I didn&amp;rsquo;t choose frame to base my website. I
<p>After searching and searching, I found where i was getting wrong.</p>
<p>Above statement only return https-www which doesn&rsquo;t hold any contents, all I need is to redirect the https-www to https-non-www.</p>
<p>So, change to this one</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="font-weight:bold">server</span> {
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="font-weight:bold">server</span> {
</span></span><span style="display:flex;"><span> <span style="font-weight:bold">listen</span> 80;
</span></span><span style="display:flex;"><span> <span style="font-weight:bold">server_name</span> <span style="font-style:italic">www.garhve.com</span> <span style="font-style:italic">garhve.com</span>;
</span></span><span style="display:flex;"><span> <span style="font-weight:bold">return</span> 301 <span style="font-style:italic">https://garhve.com</span>$request_uri;
diff --git a/posts/3/index.html b/posts/3/index.html
index 1a5acd0..bef5f11 100644
--- a/posts/3/index.html
+++ b/posts/3/index.html
@@ -125,7 +125,7 @@ delete file foo every minute * * * * * rm foo delete file foo every 15 minutes 1
<h3 id="crontab">Crontab</h3>
<p><code>crontab</code> is a useful tool, I really regret that I don&rsquo;t familar it earlier.</p>
<p>It&rsquo;s usage really simple, and these two are my frequent using:</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>crontab -e <span style="font-style:italic">#edit crontab file that reside in /var/spool/cron</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>crontab -e <span style="font-style:italic">#edit crontab file that reside in /var/spool/cron</span>
</span></span><span style="display:flex;"><span>crontab -l <span style="font-style:italic">#list current crontab job</span>
</span></span></code></pre></div><p>It basic syntax as follow, also really simple
<img src="https://assets.garhve.com/pictures/screenshots/2022/08/1857817000.jpg" alt="crontab-layout.jpg"></p>
@@ -185,7 +185,7 @@ e.g. <code>echo path/to/most/inner/file | cut -d '/' -f1</code> this will give m
</blockquote>
<h3 id="daily-update-bt-tracker">Daily update bt tracker</h3>
<p>I already learn shell script for a while.. so I wrote a simple script to test whether I really got used to it, but result is obviously, I need more and more practice to memorize commands.</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="">#! /bin/sh
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="">#! /bin/sh
</span></span></span><span style="display:flex;"><span><span style=""></span><span style="font-style:italic">#bt-tracker.txt</span>
</span></span><span style="display:flex;"><span>site=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt
</span></span><span style="display:flex;"><span>
@@ -231,15 +231,15 @@ e.g. <code>echo path/to/most/inner/file | cut -d '/' -f1</code> this will give m
<ul>
<li>This will only search through those files which have .c or .h extensions:</li>
</ul>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>grep --include=<span style="font-weight:bold;font-style:italic">\*</span>.{c,h} -rnw <span style="font-style:italic">&#39;/path/to/somewhere/&#39;</span> -e <span style="font-style:italic">&#34;pattern&#34;</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>grep --include=<span style="font-weight:bold;font-style:italic">\*</span>.{c,h} -rnw <span style="font-style:italic">&#39;/path/to/somewhere/&#39;</span> -e <span style="font-style:italic">&#34;pattern&#34;</span>
</span></span></code></pre></div><ul>
<li>This will exclude searching all the files ending with .o extension:</li>
</ul>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>grep --exclude=<span style="font-weight:bold;font-style:italic">\*</span>.o -rnw <span style="font-style:italic">&#39;/path/to/somewhere/&#39;</span> -e <span style="font-style:italic">&#34;pattern&#34;</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>grep --exclude=<span style="font-weight:bold;font-style:italic">\*</span>.o -rnw <span style="font-style:italic">&#39;/path/to/somewhere/&#39;</span> -e <span style="font-style:italic">&#34;pattern&#34;</span>
</span></span></code></pre></div><ul>
<li>For directories it&rsquo;s possible to exclude one or more directories using the <code>--exclude-dir</code> parameter. For example, this will exclude the dirs dir1/, dir2/ and all of them matching *.dst/:</li>
</ul>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>grep --exclude-dir={dir1,dir2,*.dst} -rnw <span style="font-style:italic">&#39;/path/to/somewhere/&#39;</span> -e <span style="font-style:italic">&#34;pattern&#34;</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>grep --exclude-dir={dir1,dir2,*.dst} -rnw <span style="font-style:italic">&#39;/path/to/somewhere/&#39;</span> -e <span style="font-style:italic">&#34;pattern&#34;</span>
</span></span></code></pre></div><p>more info could see <a href="https://ss64.com/bash/grep.html"><code>man grep</code></a>.</p>
</blockquote>
diff --git a/posts/5/index.html b/posts/5/index.html
index b66075b..ee99aa3 100644
--- a/posts/5/index.html
+++ b/posts/5/index.html
@@ -140,7 +140,7 @@ Arguments are delimeted by semi colon (;)." />
<p>Followed by the command, somtimes delimited by opening square bracket (<code>[</code>), known as a Control Sequence Introducer (CSI), optionally followed by arguments and the command itself.</p>
<p>Arguments are delimeted by semi colon (<code>;</code>).</p>
<p>For example:</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="font-weight:bold;font-style:italic">\x</span>1b[1;31m <span style="font-style:italic"># Set style to bold, red foreground.</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="font-weight:bold;font-style:italic">\x</span>1b[1;31m <span style="font-style:italic"># Set style to bold, red foreground.</span>
</span></span></code></pre></div><h2 id="sequences">Sequences</h2>
<ul>
<li><code>ESC</code> - sequence starting with <code>ESC</code> (<code>\x1B</code>)</li>
@@ -513,7 +513,7 @@ Arguments are delimeted by semi colon (;)." />
<p><strong>Note:</strong> the <em>Reset</em> color is the reset code that resets <em>all</em> colors and text effects, Use <em>Default</em> color to reset colors only.</p>
</blockquote>
<p>Most terminals, apart from the basic set of 8 colors, also support the &ldquo;bright&rdquo; or &ldquo;bold&rdquo; colors. These have their own set of codes, mirroring the normal colors, but with an additional <code>;1</code> in their codes:</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="font-style:italic"># Set style to bold, red foreground.</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span><span style="font-style:italic"># Set style to bold, red foreground.</span>
</span></span><span style="display:flex;"><span><span style="font-weight:bold;font-style:italic">\x</span>1b[1;31mHello
</span></span><span style="display:flex;"><span><span style="font-style:italic"># Set style to dimmed white foreground with red background.</span>
</span></span><span style="display:flex;"><span><span style="font-weight:bold;font-style:italic">\x</span>1b[2;37;41mWorld
@@ -740,7 +740,7 @@ Arguments are delimeted by semi colon (;)." />
<p>Note: While these modes may be supported by the most terminals, some may not work in multiplexers like tmux.</p>
</blockquote>
<h3 id="keyboard-strings">Keyboard Strings</h3>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>ESC[{code};{string};{...}p
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-sh" data-lang="sh"><span style="display:flex;"><span>ESC[{code};{string};{...}p
</span></span></code></pre></div><p>Redefines a keyboard key to a specified string.</p>
<p>The parameters for this escape sequence are defined as follows:</p>
<ul>
diff --git a/posts/6/index.html b/posts/6/index.html
index 2828d15..4baa0c6 100644
--- a/posts/6/index.html
+++ b/posts/6/index.html
@@ -149,7 +149,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta
<p>the connection to the stream used by FD <code>y</code> is copied to FD <code>x</code></p>
<p><code>curl cip.cc &gt; result 2&gt;&amp;1</code></p>
<p><code>ping localhost &gt; result 2&gt;&amp;1</code></p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># exec can be used to change the file descriptors of bash itself,</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># exec can be used to change the file descriptors of bash itself,</span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># and if you use an x that doesn&#39;t yet exist,</span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># bash will create a new file descriptor (&#34;plug&#34;) for you with that number.</span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># - in command is to close new FD 3 we&#39;d created before.</span>
@@ -172,13 +172,13 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta
<p><code>ping localhost &amp;&gt;result</code></p>
</blockquote>
<h3 id="here-documents">Here documents</h3>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic">&lt;&lt;delimiter
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic">&lt;&lt;delimiter
</span></span></span><span style="display:flex;"><span><span style="font-style:italic"> Here document
</span></span></span><span style="display:flex;"><span><span style="font-style:italic">delimiter</span>
</span></span></code></pre></div><p>Make FD 0 read from the string between <code>delimiter</code>s</p>
<blockquote>
<p>Here-Documents are great for reading blocks of text to command line.</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cat <span style="font-style:italic">&lt;&lt; EOF
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cat <span style="font-style:italic">&lt;&lt; EOF
</span></span></span><span style="display:flex;"><span><span style="font-style:italic">this is within here document
</span></span></span><span style="display:flex;"><span><span style="font-style:italic">I can write as many lines as I like
</span></span></span><span style="display:flex;"><span><span style="font-style:italic">and terminate with line of demiliter only
@@ -189,7 +189,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta
<p>Make FD 0 read from the <code>string</code></p>
<blockquote>
<p>Here strings are very similar to here documents but more concise. They are generally preferred over here documents.</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cat &lt;&lt;&lt; <span style="font-style:italic">&#34;This,
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>cat &lt;&lt;&lt; <span style="font-style:italic">&#34;This,
</span></span></span><span style="display:flex;"><span><span style="font-style:italic">is the here strings. tab will also be read.&#34;</span>
</span></span></code></pre></div></blockquote>
<h3 id="moving-file-decipher">Moving file decipher</h3>
@@ -197,7 +197,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta
<p>Replace FD <code>x</code> with FD <code>y</code> and close FD <code>y</code></p>
<blockquote>
<p>Easy way of <code>[x]&gt;&amp;y, y&gt;&amp;-</code></p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># 3&gt;&amp;1-: copy FD 1 to FD 3 and close FD 1.</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># 3&gt;&amp;1-: copy FD 1 to FD 3 and close FD 1.</span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># &gt;&amp;3-: copy FD 3 to FD 1 and close FD 3.</span>
</span></span><span style="display:flex;"><span>exec 3&gt;&amp;1- &gt;mylog; echo moo; exec &gt;&amp;3-
</span></span></code></pre></div></blockquote>
@@ -206,7 +206,7 @@ Redirection File Redirection 0 is standard input, 1 is standard output, 2 is sta
<p>Open FD <code>x</code> for both reading and writing to <code>file</code></p>
<blockquote>
<p>The file descriptor at x is opened with a stream to the file that can be used for writing as well as reading bytes. Usually you&rsquo;ll use two file descriptors for this. <strong>One of the rare cases where this is useful is when setting up a stream with a read/write device such as a network socket</strong>.</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>exec 5&lt;&gt;aFile
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>exec 5&lt;&gt;aFile
</span></span><span style="display:flex;"><span>cat &gt;&amp;5 <span style="font-style:italic">&#34;Hello world&#34;</span> <span style="font-style:italic"># make FD 1 write to where FD 5 currently writing, copy file descriptor FD 5 to FD 1</span>
</span></span><span style="display:flex;"><span>cat &lt;&amp;5 <span style="font-style:italic"># make FD 0 read from where FD 5 currently reading, copy file descriptor FD 5 to FD 0, then cat will send content to FD 1</span>
</span></span></code></pre></div></blockquote>
@@ -248,7 +248,7 @@ zsh. : <code>setopt extendedglob</code>
</ol>
<h3 id="command-substitution">Command Substitution</h3>
<p>we can expansion commands within commands, but must use double-quote <code>&quot;&quot;</code> instead of <code>''</code></p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># this will output contents in hello.h to screen</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># this will output contents in hello.h to screen</span>
</span></span><span style="display:flex;"><span>cat hello.h
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># this will expand `cat hello.h` to real contents in </span>
@@ -296,7 +296,7 @@ zsh. : <code>setopt extendedglob</code>
<p>In addition, we can put braces (<code>{</code> and <code>}</code>) around our parameter, which indicates where variable is about to begin and end.</p>
<blockquote>
<p>e.g. <code>name=orange; echo there are 4 &quot;${name}s&quot;</code> <code>there are 4 oranges</code>.</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>name=orange
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>name=orange
</span></span><span style="display:flex;"><span>echo <span style="font-style:italic">&#34;there are 4 </span><span style="font-weight:bold;font-style:italic">${</span>name<span style="font-weight:bold;font-style:italic">}</span><span style="font-style:italic">s.&#34;</span> <span style="font-style:italic"># there are 4 oranges.</span>
</span></span><span style="display:flex;"><span>echo <span style="font-style:italic">&#34;there are 4 </span>$names<span style="font-style:italic">.&#34;</span> <span style="font-style:italic"># there are 4 .</span>
</span></span></code></pre></div><p>here, we put <code>{}</code>around<code>name</code>so that bash can be told that suffix <code>s</code> is not a part of variable. otherwise, it will treat <code>names</code> as parameter and looking for its value, which is none in our example.</p>
@@ -305,7 +305,7 @@ zsh. : <code>setopt extendedglob</code>
<blockquote>
<p>While expanding a parameter, it is possible to apply an operator to the expanding value without alternate original value.</p>
<p>I use these mostly</p>
-<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># remove string before pattern ${name#pattern} shortest ${name##pattern} longest</span>
+<div class="highlight"><pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="font-style:italic"># remove string before pattern ${name#pattern} shortest ${name##pattern} longest</span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># remove string after pattern ${name%pattern} longest ${name%%pattern} shortest</span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># delete first matching pattern ${name/pattern}</span>
</span></span><span style="display:flex;"><span><span style="font-style:italic"># delete all matching pattern ${name//pattern}</span>