「Linux系統,你熟嗎?」
「基本的切換目錄、搬檔、編輯都還行,不過沒什麼機會用到就是了。」
「OK足夠了,我們去要權限帳號吧!」
最近在公司與資深前輩協同處理難字檔案的問題,了解一下狀況,才知道這問題其實已經存在了一年多,期間陸陸續續進行測試,但都沒有一個比較明確、系統化的結論,因此希望我們可以釐清脈絡,整理成說明文件。
看著系統架構部門同事操作一遍,開啟PuTTY
後輸入帳號密碼,跳出終端機視窗,最後提供了重啟伺服器bash
腳本的路徑位置,剩下的只能靠我們自己想辦法測出符合預期的結果了。
Git bash
已經有安裝了ssh
,沒有PuTTY
並不影響作業,只要輸入ssh
指令後,視窗跳出輸入密碼的提示,就是成功請求登入的訊號了。
例如:
# ssh 帳號名稱@ip,表示以該帳號透過ssh連接至ip位置的主機
ssh sysadmin@10.1.111.1
# 注意! 密碼輸入時,終端機顯示會進行遮蔽,看不到輸入內容是正常現象
連線成功後,就可以在終端機內進行對Linux
主機的操作,可以想像成遠端控制其他電腦,只不過沒有圖形化視窗。
當然,VScode
也是有擴充套件支援ssh
讓使用者可以用一般瀏覽資料夾的方式進行異動,但在熟悉了指令後,除了操作上比較彈性且有效率,有時會遇到檔案異動權限不足,所以之後還是以使用終端機進行處理為主。
查了網路上各種資訊,主要字型檔案會放置在下列兩個地方:
${JAVA_HOME}/jre/lib/font
:JDK1.8
版本以前,jre
內有font
作為部分報表軟體產製時所使用的字體來源,JDK 9
以後認為在jre
內可以客製字型是個bug,所以之後版本的JDK
都找不到這個資料夾了。/usr/share/fonts
:Linux
系統上字型檔位置。Windows
系統上取得EUDC.ttf(End User Defined Characters)
,如字面上意思,是使用者自定義的字元字型檔案,用來處理難字顯示。SFTP
傳輸至遠端Linux
主機上。在/usr/share/fonts
位置上的字型檔案,要確認一下檔案權限是不是有提供讀取權限給其他使用者。為此問題才終於認真看了一下Linux
的權限控管機制,777
、644
是怎麼決定的,意外一併解開了我最初學習golang
建立檔案時參數的疑問。
可能是登入主機使用的帳號權限不足,如果帳號有被賦予權限,可以在指令前面加上sudo
(Super User DO)進行異動。
例如:sudo list filename
以下列出會用到的指令,詳細的用法都可以在指令後面加上--help
查看說明
例如:ls --help
cd # change directory 切換目錄
ls # list 顯示清單列表
cp # copy 複製檔案
mv # move 移動檔案
pwd # print working directory 印出工作目錄,即當前所在位置
cat # 檢視檔案內容
fc-cache -fv # 清理字型快取檔案
fc-list # 顯示當前系統字型清單
fc-match # 特定字型所使用的檔案來源
chmod # 更改檔案權限 (讀|寫|執行)
chown # 更改檔案擁有者
grep # global regular expression 搜索檔案特定內容
find # 查找特定檔案名稱