<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on Quietbo</title><link>https://quietbo.com/categories/linux/</link><description>Recent content in Linux on Quietbo</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><lastBuildDate>Wed, 03 Aug 2022 10:27:42 +0000</lastBuildDate><atom:link href="https://quietbo.com/categories/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>[Docker] Linux 查找volumes</title><link>https://quietbo.com/2022/08/03/docker-linux-%E6%9F%A5%E6%89%BEvolumes/</link><pubDate>Wed, 03 Aug 2022 10:27:42 +0000</pubDate><guid>https://quietbo.com/2022/08/03/docker-linux-%E6%9F%A5%E6%89%BEvolumes/</guid><description>&lt;p&gt;以下為linux在查找volumes範例&lt;/p&gt;
&lt;p&gt;查看已建立的volume&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code class=""&gt;$ docker volume list
DRIVER VOLUME NAME
local mysql-data&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看該volume資訊, 會看到Mountpoint, 這是存放的路徑&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code class=""&gt;$ docker inspect mysql-data
[
 {
 "CreatedAt": "2022-08-03T05:59:51Z",
 "Driver": "local",
 "Labels": null,
 "Mountpoint": "/var/lib/docker/volumes/mysql-data/_data",
 "Name": "mysql-data",
 "Options": null,
 "Scope": "local"
 }
]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;會發現使用找不到, 因為該路徑下需要使用root&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code class=""&gt;$ cd /var/lib/docker/volumes/mysql-data/_data&lt;/code&gt;&lt;/pre&gt;
&lt;pre class="wp-block-code"&gt;&lt;code class=""&gt;$ sudo -s
$ cd /var/lib/docker/volumes/mysql-data/_data&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;該路徑下會看到database, 內容會有tableName.ibd&lt;/p&gt;</description></item><item><title>[Linux] Makefile:8: *** missing separator. Stop.(已解決)</title><link>https://quietbo.com/2022/07/28/linux-makefile8-missing-separator-stop-%E5%B7%B2%E8%A7%A3%E6%B1%BA/</link><pubDate>Thu, 28 Jul 2022 03:26:38 +0000</pubDate><guid>https://quietbo.com/2022/07/28/linux-makefile8-missing-separator-stop-%E5%B7%B2%E8%A7%A3%E6%B1%BA/</guid><description>&lt;p&gt;原因:&lt;/p&gt;
&lt;p&gt;出現這個錯誤的原因通常是tab格式錯誤導致的。Makefile的命令行必須以一個tab作為開頭, 不可用4個空白。&lt;/p&gt;
&lt;p&gt;在~/.vimrc文件中添加：&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash line-numbers"&gt;set tabstop=4 //設置tab鍵是4個空格
set noexpandtab //不把tab键用空格代替&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看目前的Makefile是否有tab鍵&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;cat -t Makefile&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;當你看到&lt;code&gt;^I&lt;/code&gt;代表tab。出問題的命令行如果前面是有空白, 代表該命令的指令是需要修改的&lt;/p&gt;</description></item><item><title>[Linux] 建立自訂 Systemd 服務教學與範例(Python)</title><link>https://quietbo.com/2022/07/27/linux-%E5%BB%BA%E7%AB%8B%E8%87%AA%E8%A8%82-systemd-%E6%9C%8D%E5%8B%99%E6%95%99%E5%AD%B8%E8%88%87%E7%AF%84%E4%BE%8Bpython/</link><pubDate>Wed, 27 Jul 2022 07:33:45 +0000</pubDate><guid>https://quietbo.com/2022/07/27/linux-%E5%BB%BA%E7%AB%8B%E8%87%AA%E8%A8%82-systemd-%E6%9C%8D%E5%8B%99%E6%95%99%E5%AD%B8%E8%88%87%E7%AF%84%E4%BE%8Bpython/</guid><description>&lt;p&gt;&lt;a class="link" href="https://blog.gtwang.org/linux/linux-create-systemd-service-unit-for-python-echo-server-tutorial-examples/" target="_blank" rel="noopener"
 &gt;Linux 建立自訂 Systemd 服務教學與範例&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="部屬方式"&gt;部屬方式
&lt;/h1&gt;&lt;p&gt;本次範例程式使用FastAPI,&lt;br&gt;
檔名為main.py&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python line-numbers"&gt;import platform
import os
os_type = platform.system()
if os_type == 'Linux':
 # print('in Linux')
 os.chdir('/home/ubuntu/Dev')
import sys
sys.path.append("/home/ubuntu/.local/lib/python3.8/site-packages")
from fastapi import FastAPI
import uvicorn


app = FastAPI()

@app.get("/")
async def root():
 return {"message": "Hello World"}

if __name__ == "__main__":
 uvicorn.run("main:app", host='0.0.0.0', port=8080, workers=1, reload=True)&lt;/code&gt;&lt;/pre&gt;
&lt;h1 id="linux-建立自訂-systemd-服務教學與範例"&gt;Linux 建立自訂 Systemd 服務教學與範例
&lt;/h1&gt;&lt;ol class="wp-block-list"&gt;
 &lt;li&gt;
 到/etc建立或rc.local並輸入下列內容(如果沒有的話自行建立)
 &lt;/li&gt;
&lt;/ol&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 更改檔案路徑
 &lt;/li&gt;
 &lt;li&gt;
 python執行檔路徑, 有些是/bin/python, 請自行更改(若想包成docker就寫執行docker容器的指令)
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash line-numbers"&gt;#!/bin/sh -e

cd /home/ubuntu/Dev/myPython

/usr/bin/python3 main.py

exit 0&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;確定輸入的python路徑正確, 使程式正常運行:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ /usr/bin/python3 data_collector_main.py&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然後將執行權限添加到 /etc/rc.local 文件。&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo chmod +x /etc/rc.local&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="2"&gt;
 &lt;li&gt;
 到/etc/systemd/system建立rc-local.service服務
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ nano /etc/systemd/system/rc-local.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果是依照rc.local則直接複製下方內容,無須修正&lt;br&gt;
(有修改過rc.local檔名的話, 請自行將下方的4處修改為自己的檔名, 分別為下方的1,4,9,17行)&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash line-numbers"&gt;[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
Environment="DJANGO_SETTINGS_MODULE=Macdonald_Server.settings.production"
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install]
WantedBy=multi-user.target
Alias=rc-local.service&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="3"&gt;
 &lt;li&gt;
 python的庫位置
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ pip3 show fastapi&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="4"&gt;
 &lt;li&gt;
 添加PATH, 路徑請自行更改
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ export PATH=$PATH:/home/nadi_19/.local/lib/python3.6/site-packages&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="5"&gt;
 &lt;li&gt;
 開啟執行權限
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ chmod +x /home/nadi_19/NADI/ShowCase/server_ms_showcase/data_collector/data_collector_main.py&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="6"&gt;
 &lt;li&gt;
 重新載入 Systemd 設定檔
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo systemctl daemon-reload&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="7"&gt;
 &lt;li&gt;
 啟動自訂的 echo 伺服器
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo systemctl start rc-local.service&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="8"&gt;
 &lt;li&gt;
 查看 echo 伺服器狀態
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo systemctl status rc-local.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;成功啟動訊息如下:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;root@ShowCase19-1:/home/nadi_19/NADI/ShowCase/server_ms_showcase/data_collector# systemctl status rc-local
● rc-local.service - /etc/rc.local Compatibility
 Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
 Drop-In: /lib/systemd/system/rc-local.service.d
 └─debian.conf
 Active: active (exited) since Wed 2022-07-20 11:15:40 UTC; 1min 27s ago
 Docs: man:systemd-rc-local-generator(8)
 Process: 31493 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="9"&gt;
 &lt;li&gt;
 使服務能夠在啟動時自動啟動
 &lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo systemctl enable rc-local.service&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;輸入完後重新開機, 測試看看是否service都有自己run起來!&lt;/p&gt;
&lt;ol class="wp-block-list" start="10"&gt;
 &lt;li&gt;
 指令補充
 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;下方的service-name都是指rc-local.service這隻檔案。&lt;/p&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 檢視服務的當前狀態&lt;br /&gt;無論它是否正在執行，都可以在終端中使用以下命令語法：
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ systemctl status [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 啟動服務，請使用以下語法
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ systemctl start [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 停止正在執行的服務
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ systemctl stop [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 使服務能夠在機器啟動時自動啟動
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ systemctl enable [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 禁用服務，使其無法在啟動時自動啟動：
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ systemctl disable [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 重新載入服務
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ systemctl reload [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 重新載入&lt;br /&gt;或重新啟動服務（它重新載入服務，並且如果重新載入不可用，那麼它將重新啟動服務。）
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo systemctl reload-or-restart [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 檢查服務是否啟用
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo systemctl is-active [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;服務正常並啟用則返回:activating&lt;/p&gt;
&lt;ul class="wp-block-list"&gt;
 &lt;li&gt;
 檢查是否已啟用服務以在系統啟動時自動啟動
 &lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo systemctl is-enabled [service-name]&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;啟用則返回:enabled&lt;/p&gt;
&lt;h2 id="補充"&gt;補充
&lt;/h2&gt;&lt;ol class="wp-block-list"&gt;
 &lt;li&gt;
 若是出現Condition check resulted in /etc/rc.local Compatibility being skipped.
 &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;將執行權限添加到 /etc/rc.local 文件。&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;$ sudo chmod +x /etc/rc.local&lt;/code&gt;&lt;/pre&gt;
&lt;ol class="wp-block-list" start="2"&gt;
 &lt;li&gt;
 找不到xxx.local檔案&lt;br /&gt;如果在確認etc是否有xxx.local,如果沒有的話請將自己補上, 或是.service檔案內的xx.local檔名打錯了。
 &lt;/li&gt;
 &lt;li&gt;
 執行多個service&lt;br /&gt;目前是建立多個xx.local和xx-local.service,&lt;br /&gt;未來若有更好的方式, 我會來修正現在的方式(如果我有記得的話)
 &lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>[Linux] scp 指令教學與範例</title><link>https://quietbo.com/2021/05/20/linux-scp-%E6%8C%87%E4%BB%A4%E6%95%99%E5%AD%B8%E8%88%87%E7%AF%84%E4%BE%8B/</link><pubDate>Thu, 20 May 2021 14:17:36 +0000</pubDate><guid>https://quietbo.com/2021/05/20/linux-scp-%E6%8C%87%E4%BB%A4%E6%95%99%E5%AD%B8%E8%88%87%E7%AF%84%E4%BE%8B/</guid><description>&lt;div id="ez-toc-container" class="ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction"&gt;
 &lt;div class="ez-toc-title-container"&gt;
 &lt;p class="ez-toc-title" style="cursor:inherit"&gt;
 Table of Contents
 &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;span class=&amp;quot;ez-toc-title-toggle&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot; class=&amp;quot;ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle&amp;quot; aria-label=&amp;quot;顯示/隱藏內容目錄&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;ez-toc-js-icon-con&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;eztoc-hide&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;Toggle&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;ez-toc-icon-toggle-span&amp;quot;&amp;gt;&amp;lt;svg style=&amp;quot;fill: #999;color:#999&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; class=&amp;quot;list-377408&amp;quot; width=&amp;quot;20px&amp;quot; height=&amp;quot;20px&amp;quot; viewBox=&amp;quot;0 0 24 24&amp;quot; fill=&amp;quot;none&amp;quot;&amp;gt;&amp;lt;path d=&amp;quot;M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z&amp;quot; fill=&amp;quot;currentColor&amp;quot;&amp;gt;&amp;lt;/path&amp;gt;&amp;lt;/svg&amp;gt;&amp;lt;svg style=&amp;quot;fill: #999;color:#999&amp;quot; class=&amp;quot;arrow-unsorted-368013&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;10px&amp;quot; height=&amp;quot;10px&amp;quot; viewBox=&amp;quot;0 0 24 24&amp;quot; version=&amp;quot;1.2&amp;quot; baseProfile=&amp;quot;tiny&amp;quot;&amp;gt;&amp;lt;path d=&amp;quot;M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/span&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
 &lt;/div&gt;&lt;nav&gt;
 &lt;ul class='ez-toc-list ez-toc-list-level-1 ' &gt;
 &lt;li class='ez-toc-page-1 ez-toc-heading-level-2'&gt;
 &lt;a class="ez-toc-link ez-toc-heading-1" href="https://quietbo.com/2021/05/20/linux-scp-%e6%8c%87%e4%bb%a4%e6%95%99%e5%ad%b8%e8%88%87%e7%af%84%e4%be%8b/#scp%E6%98%AF%E4%BB%80%E9%BA%BC" &gt;scp是什麼?&lt;/a&gt;
 &lt;/li&gt;
 &lt;li class='ez-toc-page-1 ez-toc-heading-level-2'&gt;
 &lt;a class="ez-toc-link ez-toc-heading-2" href="https://quietbo.com/2021/05/20/linux-scp-%e6%8c%87%e4%bb%a4%e6%95%99%e5%ad%b8%e8%88%87%e7%af%84%e4%be%8b/#%E6%9C%AC%E5%9C%B0%E5%82%B3%E5%88%B0%E9%81%A0%E7%AB%AF" &gt;本地傳到遠端&lt;/a&gt;
 &lt;/li&gt;
 &lt;li class='ez-toc-page-1 ez-toc-heading-level-2'&gt;
 &lt;a class="ez-toc-link ez-toc-heading-3" href="https://quietbo.com/2021/05/20/linux-scp-%e6%8c%87%e4%bb%a4%e6%95%99%e5%ad%b8%e8%88%87%e7%af%84%e4%be%8b/#%E9%81%A0%E7%AB%AF%E5%82%B3%E5%88%B0%E6%9C%AC%E5%9C%B0" &gt;遠端傳到本地&lt;/a&gt;
 &lt;/li&gt;
 &lt;li class='ez-toc-page-1 ez-toc-heading-level-2'&gt;
 &lt;a class="ez-toc-link ez-toc-heading-4" href="https://quietbo.com/2021/05/20/linux-scp-%e6%8c%87%e4%bb%a4%e6%95%99%e5%ad%b8%e8%88%87%e7%af%84%e4%be%8b/#%E4%B8%BB%E8%A6%81%E5%8F%83%E6%95%B8" &gt;主要參數&lt;/a&gt;
 &lt;/li&gt;
 &lt;/ul&gt;&lt;/nav&gt;
&lt;/div&gt;
&lt;h2 id="scp是什麼"&gt;&lt;span class="ez-toc-section" id="scp%E6%98%AF%E4%BB%80%E9%BA%BC"&gt;&lt;/span&gt;scp是什麼?&lt;span class="ez-toc-section-end"&gt;&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;Linux scp 命令用於Linux 之間複製文件和目錄。&lt;/p&gt;
&lt;p&gt;scp 是secure copy 的縮寫(安全複製), 是linux 系統下基於ssh 登陸進行安全的遠程文件拷貝命令。&lt;br&gt;
更多說明可以到&lt;a class="link" href="https://zh.wikipedia.org/wiki/%E5%AE%89%E5%85%A8%E5%A4%8D%E5%88%B6" target="_blank" rel="noopener"
 &gt;維基百科:SCP安全複製&lt;/a&gt;來了解。&lt;/p&gt;
&lt;p&gt;這真的是超好用的，基本上只要確認另一端可以SSH進去，跟Linux基本指令的就可以簡單上手，以下是我在使用時常用到的指令，在下方我會有指令和說明。&lt;/p&gt;
&lt;h2 id="本地傳到遠端"&gt;&lt;span class="ez-toc-section" id="%E6%9C%AC%E5%9C%B0%E5%82%B3%E5%88%B0%E9%81%A0%E7%AB%AF"&gt;&lt;/span&gt;本地傳到遠端&lt;span class="ez-toc-section-end"&gt;&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;先了解指令的及說明的:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;# scp [-主要參數] 本地端目錄 帳號@遠端主機IP:遠端目錄
scp [-主要參數] /home/ubuntu/local_dir ubuntu@192.168.1.1:/home/ubuntu/test_vm&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下圖為local，將local的scp_text.txt傳送到遠端資料夾中。&lt;br&gt;
&lt;img decoding="async" src="https://i.imgur.com/IJV4w9P.png" alt="" /&gt;&lt;br&gt;
下圖為遠端的VM，已成功接收到檔案。&lt;br&gt;
&lt;img decoding="async" src="https://i.imgur.com/ZywY6ll.png" alt="" /&gt;&lt;/p&gt;
&lt;h2 id="遠端傳到本地"&gt;&lt;span class="ez-toc-section" id="%E9%81%A0%E7%AB%AF%E5%82%B3%E5%88%B0%E6%9C%AC%E5%9C%B0"&gt;&lt;/span&gt;遠端傳到本地&lt;span class="ez-toc-section-end"&gt;&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;接下來示範將遠端目錄傳到本地，這次要傳目錄就需要使用到主要參數。&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;# scp [-主要參數] 遠端主機IP:遠端目錄 本地端目錄
scp -r ubuntu@192.168.1.1:/home/ubuntu/remote_vm /home/ubuntu/local_scp &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下圖為local的資料夾狀態，及使用的指令畫面:&lt;br&gt;
&lt;img decoding="async" src="https://i.imgur.com/TdzNmRl.png" alt="" /&gt;&lt;br&gt;
遠端畫面就不顯示了，因為沒有動到&lt;/p&gt;
&lt;h2 id="主要參數"&gt;&lt;span class="ez-toc-section" id="%E4%B8%BB%E8%A6%81%E5%8F%83%E6%95%B8"&gt;&lt;/span&gt;主要參數&lt;span class="ez-toc-section-end"&gt;&lt;/span&gt;
&lt;/h2&gt;&lt;p&gt;-r：複製整個目錄以及其下的所有檔案(常用!)&lt;br&gt;
-C：將資料先壓縮後再傳送，可節省傳輸量(常用!)&lt;br&gt;
-v：顯示傳輸進度與資訊(常用!)&lt;br&gt;
-p：檔案在複製後，保留原本的修改時間、存取時間與權限(偶爾用)&lt;br&gt;
-q： 不顯示傳輸進度條&lt;br&gt;
-4：強制使用IPv4來傳輸&lt;br&gt;
-6：強制使用IPv6來傳輸&lt;/p&gt;
&lt;p&gt;我自己是使用過的4個參數，如果想要更多參數可以到:&lt;br&gt;
&lt;a class="link" href="https://www.runoob.com/linux/linux-comm-scp.html" target="_blank" rel="noopener"
 &gt;菜鸟教程&lt;/a&gt;&lt;/p&gt;</description></item><item><title>[Linux]背景執行py方法</title><link>https://quietbo.com/2021/03/10/ubuntu%E8%83%8C%E6%99%AF%E5%9F%B7%E8%A1%8Cpy%E6%96%B9%E6%B3%95/</link><pubDate>Wed, 10 Mar 2021 10:33:33 +0000</pubDate><guid>https://quietbo.com/2021/03/10/ubuntu%E8%83%8C%E6%99%AF%E5%9F%B7%E8%A1%8Cpy%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;2022/07/06 – 新增&lt;a href="https://quietbo.com/2022/07/06/python-%e8%83%8c%e6%99%af%e5%9f%b7%e8%a1%8cnohup-%e8%88%87-nohup-out/?preview_id=847&amp;preview_nonce=4fb57ac562&amp;preview=true" data-type="URL" data-id="https://quietbo.com/2022/07/06/python-%e8%83%8c%e6%99%af%e5%9f%b7%e8%a1%8cnohup-%e8%88%87-nohup-out/?preview_id=847&amp;preview_nonce=4fb57ac562&amp;preview=true" target="_blank" rel="noreferrer noopener"&gt;[Python] 背景執行nohup, &amp;amp; 與 nohup.out&lt;/a&gt;&lt;/p&gt;
&lt;hr class="wp-block-separator has-alpha-channel-opacity" /&gt;
&lt;p&gt;主要介紹在linux下使用Terminal來背景執行python的幾種方式，&lt;br&gt;
執行3隻python檔，每5秒、10秒、15秒各別顯示當前時間。&lt;/p&gt;
&lt;p&gt;以下為python範例:&lt;br&gt;
test.py、test2.py、test3.py這三隻同時使用背景來執行的畫面。&lt;/p&gt;
&lt;p&gt;執行test.py後，會顯示跳出PID為25270。&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python line-numbers"&gt;# coding:utf-8
from datetime import datetime
from time import sleep

while(1):
 count = 1
 sleep(5)
 print(str(count) + " : " + str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')))&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果想讓程式跑在背景，在結尾的地方加個&amp;amp;&lt;br&gt;
python 背景執行指令如下:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python"&gt;python 程式碼名稱 &amp;&lt;/code&gt;&lt;/pre&gt;&lt;figure class="wp-block-image"&gt;
&lt;p&gt;&lt;img decoding="async" src="https://i.imgur.com/26SgbQS.png" alt="" /&gt; &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;再執行一隻test2.py，不會讓原本的test.py停住，仍在背景繼續執行，並且顯示test2.py新的PID。&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python line-numbers"&gt;# coding:utf-8
from datetime import datetime
from time import sleep

while(1):
 count = 2
 sleep(10)
 print(str(count) + " : " + str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')))&lt;/code&gt;&lt;/pre&gt;&lt;figure class="wp-block-image"&gt;
&lt;p&gt;&lt;img decoding="async" src="https://i.imgur.com/qs2nJvo.png" alt="" /&gt; &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;再執行test3.py。&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="python" class="language-python line-numbers"&gt;# coding:utf-8
from datetime import datetime
from time import sleep

while(1):
 count = 3
 sleep(15)
 print(str(count) + " : " + str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')))&lt;/code&gt;&lt;/pre&gt;&lt;figure class="wp-block-image"&gt;
&lt;p&gt;&lt;img decoding="async" src="https://i.imgur.com/vemyMSe.png" alt="" /&gt; &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;查詢背景運行的程式:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code lang="bash" class="language-bash"&gt;ps -ef&lt;/code&gt;&lt;/pre&gt;&lt;figure class="wp-block-image"&gt;
&lt;p&gt;&lt;img decoding="async" src="https://i.imgur.com/IczNFtg.png" alt="" /&gt; &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;想停止某隻程式的話，輸入下方指令:&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code class=""&gt;kill PID&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下圖為停止第一支test.py的程式。&lt;/p&gt;
&lt;img decoding="async" src="https://i.imgur.com/XGJJtqK.png" alt="" /&gt; 
kill掉後原本的Terminal會出現已終止的程式名稱。 
&lt;img decoding="async" src="https://i.imgur.com/1If2w51.png" alt="" /&gt; 
原本的test2.py和test3.py還會繼續執行。 
&lt;img decoding="async" src="https://i.imgur.com/ucgmhz8.png" alt="" /&gt;</description></item></channel></rss>