用戶管理:(管理員才有權限,用戶僅可以修改自己的密碼)

  • /etc/passwd: 儲存用戶的關鍵訊息,例如主組訊息
  • /etc/group: 儲存用戶群組的關鍵訊息,例如附加組訊息
  • /etc/shadow: 儲存用戶的密碼訊息
  • 添加用戶 "useradd 選項 用戶名稱",選項-g表示指定用戶的用戶主組;選項-G表示指定用戶的用戶附加組;選項-u表示用戶的uid,系統默認從500之後按順序分配uid,但仍可以通過該選項自定義。
    • ex. useradd mina,於/etc/passwd檢視是否有該用戶的訊息,或檢視是否存在該用戶的root目錄
    • ex. useradd -g 501 -G 500 -u 888 lisa 
    • 補充: /etc/passwd的格式: 用戶名:密碼佔位:用戶ID:用戶組ID:注釋:根目錄:解釋器shell,解釋器shell指的是等待用戶進入系統之後,用戶輸入指令之後,該解釋器會蒐集用戶輸入的指令,傳遞給內核處理。
      • ex. mina:x:1000:1000:mina:/home/mina:/bin/bash
  • 修改用戶 "usermod 選項 用戶名稱",選項-g & -G & -u與添加用戶用法相同,選項-l表示修改用戶名,"usermod -1 新名字 舊名字"
  • 設置密碼 "passwd 用戶名",Linux不允許沒有密碼的用戶登錄到系統
    • 補充: 切換用戶 "su 用戶名",若沒有指定用戶名,會切換到root
  • 刪除用戶 "userdel 選項 用戶名",選項-r表示刪除用戶的同時,刪除其根目錄;
    • 補充: 已經登錄的用戶,刪除會失敗,此時kill 該用戶的全部process id(ex. kill 3151),再進行刪除即可。


用戶組管理: /etc/group,文件結構為 "用戶組名:用戶組密碼:用戶組id:組內用戶名"

  • 用戶組添加: "groupadd 選項 用戶組名",選項-g類似用戶添加裡的"-u",可以自己設置一個自定義的用戶組ID
  • 用戶組編輯: "groupmod 選項 用戶組名",選項-g同上用法,"-n"類似用戶修改裡的"-l",可以設置新的用戶組名稱
  • 用戶組刪除: "groupdel 選項 用戶組名",注意,若刪除一個組,但該組是某個用戶的主組,則不允許刪除,需先將用戶移出,才能順利刪除。
文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

實用功能:

  • vim代碼著色: 顯示 ":syntax on" 為默認狀態,關閉顯示 ":syntax off"。
  • vim中計算機的使用: 進入vim編輯模式,按下ctrl+R,然後輸入"=",游標會跳至最後一行,此時輸入計算內容後,結果會自動顯示在檔案內。

 

vim配置(重點)

  • vim配置文件有三種
    • a.檔案打開時末行模式下輸入的配置(暫時性的)
    • b.個人配置文件(~/.vimrc,需自行興建)
    • c.全局配置文件(vim自帶,/etc/vimrc)

 

其他

  • 別名機制: 創建屬於自己定義的命令,創建完成後帳號需要重新登入才能生效。(在vim ~/.bashrc映射檔內定義)
  • 退出方式: 在vim中退出編輯的檔案,":q" 或 ":wq"均可使用,":x"則是整合前述兩個指令,若檔案沒有異動,表示退出檔案,若檔案有異動,表示存檔並退出,同時達到兩個指令的效果。":x"優點是可避免未修改檔案,但檔案修改時間卻被更新的情況。


Linux自有服務: 用戶不需要獨立去安裝,系統安裝好後便有的服務

  • 運行模式/運行級別
    • init(initialize process),process id = 1,用ps -ef|grep init可查詢,要執行init process必須具備管理員權限
    • init 的配置文件為 inittab(系統運行級別runlevels的配置文件,/etc/inittab)
    •     0 - 表示關機級別(常見於快速鍵命令)
    •     1 - 表示單用戶模式
    •     2 - 表示多用戶模式,不帶NFS(Network File System)/不帶網路
    •     3 - 表示多用戶模式(純命令行模式,不帶桌面))
    •     4 - 沒有被使用的模式(保留模式)
    •     5 - X11,完整的圖形化界面模式
    •     6 - 表示重啟級別(常見於快速鍵命令)
    • "init 0" 表示關機;"init 3" 表示切換到不帶桌面的多用戶模式;"init 5" 表示切換到圖形界面;"init 6" 表示重啟電腦,換言之,調用init 的process,將數字傳遞給init process,process 再去讀取配置文件執行相應的操作。
  • 補充: 安裝圖形化介面 https://tw511.com/a/01/16763.html
文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

vim介紹

  • vi類似於windows下的notepad,vim可視為vi的升級版本
    • 命令模式: 不能對檔案直接編輯,可以輸入快捷鍵進行操作(刪除行,複製行,移動游標,黏貼等等),此為打開檔案後默認的模式
    • 編輯模式: 可以對檔案的內容直接編輯
    • 末行模式: 可以在末行輸入命令來對檔案進行操作(搜尋/替換/保存/退出等等)
  • 打開檔案的方式:
    • vim 檔案: 打開指定的檔案
    • vim +數字 檔案: 打開指定的檔案,並且將游標移動到指定行
    • vim +/關鍵字 檔案: 打開指定的檔案,並且顯示關鍵字
    • vim 檔案1 檔案2 檔案3: 同時打開多個檔案
    • 補充: 以 ":files" 查看當前已經打開的檔案,%a表示當前正打開的檔案,#表示上一個打開的檔案,切換檔案則使用 ":open 檔案" 或 ":bn" 切換到下一個檔案 或 ":bp" 切換到上一個檔案
  • 命令模式:
    • 游標移動: shift + 6 或 shift + ^ 或 shift + 4 或 shift + $ 或 gg (good game) 或 G 或 crtl + b 或 Pg Up 或 ctrl + f 或Pg Dn
    • 複製游標所在行: yy 
    • 貼上: p 
    • 以游標所在行為準,向下複製指定行數: 數字yy
    • 可視化複製: ctrl + v 選擇行數後 yy p
    • 剪下貼上/刪除 游標所在行: dd
    • 剪下貼上/刪除 游標所在行為準,向下選取指定的行數: 數字dd
    • 剪下貼上/刪除 游標所在行,但下一行不上移: D
    • 撤銷: :u(非命令模式) 或u
    • 恢復: ctrl+r 取消之前的撤銷操作
    • 擴展: 快速將游標移到指定行(數字G),以當前游標為準上/下移動多行(數字+方向鍵),以當前游標為準向左/右移動n個字符(數字+方向鍵),末行模式下數字+Enter
  • 模式間的切換(重點)
    • 命令模式 + : 或 命令模式 + / => 末行模式,Esc鍵可退出
    • 命令模式 + i 或 a => 編輯模式,Esc鍵可退出
  • 末行模式:
    • :w => 儲存檔案
    • :w 檔案 => 另存新檔
    • :q => 退出
    • :wq => 存檔並退出
    • :q! => 強制退出
    • :!ls => 調用外部命令(本範例調用ls,原本開啟的檔案只是暫時被隱藏,檔案並沒有被退出)
    • /關鍵字 => 查找,在結果中利用N/n切換上/下一個結果
    • :nohl => (no highlight)取消高亮度顯示的搜索結果
    • 替換第一個: ":s/查找的關鍵字/新的內容" (strreplace) <- 只會替換找到的第一個
    • 替換游標所在行的所有項目: ":s/查找的關鍵字/新的內容/g" (strreplace) <- 會替換游標所在行符合條件的所有項目
    • 替換檔案內每一行的第一個項目: ":%s/查找的關鍵字/新的內容" <- 會替換檔案內每一行的第一個符合條件的項目
    • 替換檔案內所有項目: ":%s/查找的關鍵字/新的內容/g" <- 會替換檔案內所有符合條件的項目
    • 顯示行號: ":set nu"
    • 取消顯示行號: ":set nonu"

   

文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

2. 高級指令

  • du -sh 目錄路徑: 查看目錄的真實大小。-s(summaries)表示只顯示匯總的大小,-h表示以較高可讀性的形式顯示。
  • find 路徑範圍 -name -type: 用於查找檔案。常用的參數如,-name按照檔案名稱進行搜索(支持模糊搜索)、-type按照檔案類型進行搜索。
    • 檔案類型: "-"表示文件(使用find的時候要用f替換之),"d"表示資料夾。例如find / -type f或find / -name *log。
  • service(重要): service 服務名稱 start/stop/restart,用於控制軟體的服務啟動/停止/重啟。
  • kill process的PID 或 kill process名稱。
  • ifconfig: 用於操作網卡相關的指令。
    • CentOS 7 下 ifconfig command not found => https://dotblogs.com.tw/grayyin/2018/08/23/135617
  • reboot: 重新啟動電腦,例如reboot 或 reboot -w,其中,加上-w表示模擬重啟,但是不重啟,目的僅是為了寫開機或關機日誌訊息。
  • shutdown: 表示關機,shutdown -h now或者shutdown -h 15:25分別表示立即關機或指定時間關機。(等同於init 0,halt,poweroff,都是關機的方式)
  • uptime: 輸出電腦的持續在線時間(從開機到現在運行的時間)。
  • uname: 獲取電腦操作系統的相關訊息,類似windows的systeminfo。
    • uname: >> Linux
    • uname -a: 表示獲取全部的系統訊息(類型,電腦名稱,內核版本,發佈時間,開源計畫)。
  • netstat -tnlp:  查看網路連接狀態,-t表示只列出tcp協議的連接,-n表示將地址從字母組合轉化成ip地址,並將協議轉化成端口號來顯示(可讀性相對沒有-n要好),-l表示過濾出State列中其值為LISTEN(監聽)的連接,-p表示顯示對應的process PID及其名稱。
  • man: 全稱為manual,包含Linux中全部命令的手冊,man 命令名稱 即可顯示,退出按下q鍵即可。

 

文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

1. 進階指令

  • df: 查看硬碟的空間。
  • df -h: -h以較高可讀性的形式顯示。
  • free -m: 表示查看memory使用情況,-m可將memory單位設為mb。
  • head: "head -n 檔案路徑",用於查看文件的前n行,預設顯示前10行。
  • tail: "tail -n 檔案路徑",用於查看文件的末n行,預設同樣顯示末10行。
  • tail -f: 通過此指令查詢檔案的動態變化,一般用於查看系統日誌,若要退出,按下q鍵。
  • less: "less 要查看的文件",表示查看檔案時,會以較少的內容輸出,按下輔助功能鍵(數字+Enter或空白鍵+上下方向鍵)才能查看更多。
  • wc: "wc -lwc 要統計的檔案",用於統計檔案內容資訊(包含行數 -l,單字數 -w,bytes -c)。

 

  • date(重要): 用於操作日期或時間(讀取或設置)。
    • date (CST: 當地時間): Web Feb 15 08:31:39 EST 2023
    • date +%F: yyyy-MM-dd(注意: 大小寫必須正確)
    • date "+%Y-%m-%d": yyyy-MM-dd(注意: 大小寫必須正確)
    • date "+%F %T": yyyy-MM-dd HH:MM:SS(等同date "+%Y-%m-%d %H:%M:%S",大小寫必須正確)
    • date -d "-1 day" "+%Y-%m-%d": 獲取之前或之後的某個時間(+/-,year/month/day)     

 

  • cal: 用於操作日曆。
    • cal: 直接輸出當前月份的日曆(等同"cal -1")
    • cal -3: 表示輸出上一個月+本月+下個月的日曆
    • cal -y 2023: 表示輸出指定年份的日曆,此範例將輸出2023年的日曆
    • cal -s: 一星期的第一天為週日(默認值為週日開始顯示)
    • cal -m: 一星期的第一天為週一(默認值為週日開始顯示)
  • clear(等同ctrl + L): 清除終端中已經存在的命令和結果。(並非清除之前的訊息,只是將之前的訊息隱藏至最上面,可透過滾輪查看以前的訊息)。 
  • 管道(重要): |為管道符,位於backspace鍵下方,一般可以用於過濾/特殊用法/擴展處理。
    • 過濾:(不能單獨使用,必須配合指令一起使用,用於輔助)通過管道查詢指定目錄下包含 "y"字母的檔案名稱,"ls /|grep y"。
    • 特殊用法: 通過管道的操作,實現less的等價效果(less 檔案  可查看檔案 == cat 檔案|less)。
    • 擴展處理: ls /|wc -l 達到統計資料夾數量的效果。


   
2. 高級指令

  • hostname: 用於操作主機名稱(讀取或設置)。
    • hostname: (localhost.localdomain)表示輸出完整的主機名稱
    • hostname -f: (localhost)表示輸出當前主機名稱中的FQDN(全域名稱)
  • id: 查看用戶的基本訊息,如果不指定用戶,會默認當前用戶。
    • id:
    • id 用戶名稱:
  • whoami: who am I? 顯示當前登入的使用者名稱,方便shell腳本取得當前的用戶名稱。

   

  • ps -ef(重點): ps用於查看當前主機的process訊息;-e等同於"-A",表示列出全部的process;-f表示顯示全部的相關資訊(會更詳細記載process的相關訊息)。
    • 欄位UID: 用戶的id
    • 欄位PID: process的id
    • 欄位PPID: process的上一階id,PPID為PID的調用者。如果一個PID對應的PPID找不到,稱之為殭屍process。
    • 欄位C: cpu的佔用率,形式是%
    • 欄位STIME: process的啟動時間
    • 欄位TTY: 終端設備,發起process的設備識別符號,如果顯示"?"則表示該process由系統自動發起,非由終端設備發起。
    • 欄位TIME: process的執行時間
    • 欄位CMD: process的名稱或者對應的路徑
    • ps -ef|grep process名稱: 可以篩選要看的process

   

  • top: 用於查看主機的process佔用的資源。
    • PID: process的id
    • USER: process對應的用戶
    • PR: PageRank,即優先程度,google也用PR值判斷優先程度<SEO的核心>。
    • NI: nice cpu time(很少用)
    • VIRT: 虛擬內存,例如chrome運行時,申請500MB,實際使用320MB,此時虛擬內存為500MB 
    • RES: 常駐內存,上述案例,常駐內存為320MB
    • SHR: 共享內存,有些process運行時需依賴其他process同時運作,若實際使用320MB,但包含對其他process的調用,共用部分需要被扣除
    •         換言之,計算一個process實際使用的內存 = RES - SHR。
    • S: 表示process進行的狀態(S=睡眠,R=運行)
    • %CPU: 表示CPU佔用百分比
    • %MEM: 表示內存的佔用百分比
    • TIME+: 執行的時間
    • COMMAND: process的名稱或者路徑
    • 補充: 在運行top時,按下以下快捷鍵
      • M: 將結果按照內存(MEM)由大至小降序排序
      • P: 將結果按照CPU使用率由高到低降序排列
      • 1: 當主機擁有多個CPU,使用"1"快捷鍵來切換是否顯示各個CPU的詳細資訊
文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

1. 常用的Linux目錄:

bin: 全稱為binary,該目錄中都是二進制文件,文件皆可以執行
dev: 該目錄中存放的是外接設備,例如硬碟,光碟機。但外接設備是不能直接被使用的,需要通過掛載(分割出各個槽)才能使用。
mnt: 當外接設備需要掛載的時候,會掛載到mnt目錄下。
etc: 該目錄中存放的是配置文件。
home: 類似windows的user資料夾,即除了root用戶以外的其他用戶根目錄。
proc: 全稱為process,該目錄儲存的是linux運行時的process。
root: root用戶的根目錄。
sbin: 全稱為super binary,該目錄也是存放可以被執行的二進制文件,但僅止於擁有super權限的用戶(例如root)才能執行。
tmp: 該目錄儲存臨時的文件,資料夾內的文件用畢後,系統會自動刪除相應的文件。
usr: 該目錄存放用戶自己安裝的軟體,類似windows下的program Files資料夾。
var: 該目錄存放的是程序或系統的日誌文件。

 

2. 常用指令:

  • ls: 全稱為list,將列出當前工作目錄下所有資料夾與文件名稱。ls /資料夾名稱: 此為絕對路徑的寫法,例如 "ls /bin",將列出指定目錄下所有資料夾與文件名稱。
  • ls /資料夾名稱: 此為絕對路徑的寫法,例如 "ls /bin",將列出指定目錄下所有資料夾與文件名稱。
  • ls ./資料夾名稱: 此為相對路徑的寫法,例如 "ls ./bin",將列出當前目錄下指定資料夾項下所有資料夾與文件名稱。
  • ls ../資料夾名稱: 此為相對路徑的寫法,例如 "ls ../bin",將列出上一層目錄下指定資料夾項下所有資料夾與文件名稱。
  • ls -l 路徑: -1表示list,表示以詳細列表的形式進行展示
  • ls -la 路徑: -a表示顯示所有的文件/資料夾,包含隱藏的資料夾。
  • ls -lh 路徑: 列出指定路徑下的所有資料夾和文件,以列表的形式,且顯示檔案大小時,以可讀性較高的形式顯示。
  • pwd: 全稱為print working directory,打印當前工作目錄。
  • cd: 全稱為change directory,切換當前的工作目錄。
  • mkdir: 全稱為make directory,創建目錄。
  • mkdir -p 路徑: 可以一次性創建多層不存在的目錄。
  • mkdir 路徑1 路徑2 路徑3: 可以一次性創建多個(同一層)資料夾。
  • touch: 於當前目錄下,創建檔案或路徑,可同時創建多個。
  • cp: 全稱為copy,用於複製資料夾與檔案至指定的位置。
  • cp -r 被複製路徑 目的地路徑: -r表示連同被複製路徑項下的資料夾或檔案一併複製。
  • mv: 全稱為move,語法與cp指令相似(mv亦可以達到重命名的效果)。
  • rm: 全稱為remove,用於刪除檔案或資料夾。
  • rm -f: 在刪除的時候如果只有rm指令,會提示是否刪除,故可以添加-f表示force,便不會頻繁提示是否刪除。
  • rm -r: 同上,若刪除目錄時,需要連同項下的資料夾或檔案一併刪除,則需要添加-r,-rf表示不提示是否刪除。
  • vim: 是一種文本編輯器,vim 文件的路徑,可用以打開文件(文件可以存在,也可以不存在)。
    • *遇到找不到vim指令的錯誤訊息,已參考以下網址解決:https://blog.csdn.net/weixin_44542685/article/details/122576039
  • 輸出重定向: 例如"ls -la > ls.txt",一般命令的輸出是顯示在終端,若要將執行結果保存到檔案,便需要使用輸出重定向。
    • > 表示覆蓋原先的檔案內容
    • >> 表示追加資料在原先的檔案內容尾端
  • cat: 用於打開/查看檔案"cat 檔案的路徑+檔案的檔名"(與vim的差異: cat讀取檔案內容,無須像vim還要透過:q退出檔案);
  • cat: 亦可以對文件進行合併"cat 待合併的檔案1 待合併的檔案2 ... > 合併之後的檔案"。
  • 補充: drwx 的第一碼表示文件類型;在linux中隱藏檔一般都是以"."開頭;"~" 表示當前用戶的根目錄。
  • 補充: ls列出的結果顏色,藍色表示資料夾,黑色表示檔案,綠色表示擁有所有權限。
  • 補充: 當使用cp命令進行資料夾複製操作時,需要添加選項-r。
  • 補充: *稱之為任意的字符,可用以對一群相似名稱的檔案或資料夾進行同樣的處理。
  • 補充: 利用shift+:,並輸入q或wq,按下enter後可以退出vim的編輯模式。

 

文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

學習新東西,先從安裝軟體開始!

1. 先安裝虛擬機VMware,並確認相關網路連線 (控制台\網路和網際網路\網路連線)

image  

image

image

 

2. 透過VMware載入CentOS的ISO檔,以便安裝CentOS

3. 完成Clone及Snapshot備份操作

image

image

 

今日先更新至此。

文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

先提供Vue於網路可載到的API document : https://vuejs.org/api/,

接下來是簡易範例:

<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>

    <div id="app">
        {{message}}
    </div>
    
    <script type="text/javascript">
        var app = new Vue({
            el:'#app',
            data:{
                message:'hello world!!'
            }
        });
        
    </script>
</body>
</html>

 

效果如下!!

image

學習框架的好處就是,可以直接用別人已經寫好的套件,算是懶人的福音喔!

文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

BPM學習,經過幾日的消化吸收,

的確,透過採購BPM系統,可以達到紙本作業快速自動化的效果(利用拖曳的方式,就可以輕鬆建立表單),但是,缺點是若有特殊的客製化需求,會被該系統原本的框架限制住。

而且市面上的產品琳瑯滿目,還是需要費心瞭解與篩選喔。

 

文章標籤

mina 發表在 痞客邦 留言(0) 人氣()

預祝新年快樂!!放長假前的最後一篇!!

先看看 "查股價" 的效果囉!

image

上圖顯示了個股的股價圖,但有些小細節還沒測試完成,以下是完成此任務的參考資訊:

https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0068.html
https://xiaoniuhululu.com/2021-10-20_python-github-api-upload-picture/

 

這個任務總算是用到較多的pandas來做資料的前置處理。

 

年後已完成的小細節:

股號與中文名稱的替換 -> 下載所有上市上櫃股號與名稱對照解決 ,

以及圖檔遇中文會顯示亂碼 -> 置入 simsun.ttc 解決 ,

剩下優化議題...繼續前進!!

 

比較需要資料分析與處理的議題:選股。(也是繼續慢慢前進囉!)

究竟何時可以把個個小功能,變成一個友善又美麗的使用者介面呢?

文章標籤

mina 發表在 痞客邦 留言(0) 人氣()