身為攻城獅,cd時間太長總是很困擾?來看看更不浪費生命的作法吧!

身為一個每天都會在命令列(Command Line Shell)上輸入指令的工程師,很容易在不同的目錄(directories)間移動的時候不小心就花費了大量的時間...... 本文將分享一個更好的方法給您。
評論
評論

原文來自工程師 Oliver Lacan 的 部落格文章 ,由 INSIDE 轉載編譯。

 

在命令行中切換目錄是最常用的操作,很少有比一遍又一遍地重複鍵入「cd ls cd ls cd ls ……」更令人沮喪的事情了。身為一個每天都會在命令列(Command Line Shell)上輸入指令的工程師,很容易在不同的目錄(directories)間移動的時候不小心就花費了大量的時間...... 尤其是當不時就會造訪同一個目錄的時候。與其不斷地使用 cd 或使用 alias 一個個建立快捷,本文將分享一個更好的方法給您。

常見的切換方式大概是長這樣:

cd ~/Development  ls # 看一下資料夾裡面有什麼...  cd project  # 走錯地方了, 沒關係回到上一層就好...  cd ..  # 開始工作囉...  mkdir new_project  cd new_project  cd ../project
 

也許當你更有經驗的時候,你知道該如何使用 Tab 鍵來幫助你更快地打完完整的目錄名稱。所以實際上所打出來的指令可能是長下面這個樣子:

cd ~/Dev<TAB>  ls # 看一下下一層要去哪...  cd pro<TAB>  cd ..  mkdir new_project  cd new<TAB>  cd ../pro<TAB>

如此一來就已經節省了大約 20 個需要輸入的字元了,真是值得開心!順帶一提,我們也可以使用 cd !$ 來幫助我們快速移動到 mkdir 剛剛創建的資料夾。(cd !$ 的意思是將上一個指令的參數作為輸入);或是我們還記得 Development/ 下面有哪些資料夾,知道 project/ 就是包含在裡面,所以也不用再使用 ls 來事先看一下要移動的路徑。

但問題是,我們並不像電腦一樣可以完全記得目錄下所有的分支,所以通常還是會不小心花費太多的時間...... 該怎麼辦呢?

瞧瞧這個好了:

j d   j p   <span class="nb">cd</span> ..   <span class="nb">mkdir </span>new_project   <span class="nb">cd </span>new<TAB>   j p
 

這個辦法最明顯的地方就是我們將所有需要打的字元又減少到了 18 個以下,卻又可以達到跟一開始同樣的目的地!比較難看出來的事情是,j d (或是 j dev, j develop)指令會帶我們到 ~/Development/ 這個目錄;而 j p 指令可以帶我們從檔案系統中的任何一個位置到 ~/Development/project 這個地方。小小的改動累積起來所省下的時間,絕對會比你想像中還要更加可觀!

cd /usr/local/lib/something/log/  j p  pwd  ~/Development/project
 

這一切究竟是怎麼辦到的呢?答案是:AutoJump

AutoJump 是一個能幫助你快速在命令行的目錄間飛越的神秘魔法。官方對這個工具的說法是:「一個能更便捷地在檔案系統中引導你的方法」(A faster way to navigate your filesystem)然而這個說法事實上並不太公平....... 這句話完全低估了 AutoJump 對開發過程中顯著的幫助!我自己估計,這幾乎要省下了我一整年打字的時間了!

 

Autojump 是怎麼運作的?

以下這個指令:

j project  /Users/olivierlacan/Development/project

和下面這個指令能達到的效果是完全一樣的:

j p /Users/olivierlacan/Development/project
 

為什麼呢?這是因為 AutoJump 能記得所有你使用 cd 指令或它內含的 j 指令所移動進去的目錄。更重要的是, AutoJump 能夠做到模糊檢索(顧名思義是針對資料庫中的文件內容進行近似字串比對),這意味著它能夠查找所有你曾經造訪過、且包含你所提供的相同字串的目錄名稱,甚至就算你只提供一個字母也可以查找。

但如果我們有兩個開頭都是 p 的目錄呢?好玩的地方來了。第一次你輸入 cd directory_name 時,AutoJump 會載入到該目錄的絕對路徑,並分配一個權重給它──10.0。

所以如果我們這麼輸入:

cd /var

將可以在接著的 j -s 指令中看到以下資訊(s 代表統計的 stats):

10.0: /var
 

如果我們再度拜訪 /var 呢?來看看權重會變成什麼樣子:

14.1: /var
 

我們重複拜訪的目錄,其權重即會隨著我們的拜訪的次數不斷增加。在我本身的案例中,你可以很容易地猜到我最常造訪的前五名目錄:

j <span class="nt">-s</span>  <span class="o">(</span>...<span class="o">)</span>  234.7: /Users/olivierlacan/Development/cs/campus  262.7: /Users/olivierlacan/Development/rubyheroes/rubyheroes.com  417.4: /Users/olivierlacan/Development/perso/orientation  874.1: /Users/olivierlacan/Development/cs/CodeSchool  ________________________________________  10810: total weight  198: number of entries  0.00: current directory weight  data: /Users/olivierlacan/Library/autojump/autojump.txt
既然我的第一個目錄(CodeSchool))和第四個目錄(campus)都有著相同的開頭 c,AutoJump 會怎麼決定去哪一個地方呢?很明顯的道理,根據目錄的權重。既然 campus 的權重較低, AutoJump 會先選擇帶我們到 CodeSchool 這個目錄。然而,如果我再度重複鍵入 j c 指令,AutoJump 就會帶我到權重第二高、且符合字母 c 的目錄。
 
j c /Users/olivierlacan/Development/cs/CodeSchool  j c  /Users/olivierlacan/Development/cs/campus

如果你不喜歡在不清楚的情況下根據 AutoJump 的設定到處亂飛,它也可以讓你看到那些目錄和你所提供的字母字串是相匹配的:

j c<TAB><TAB><TAB> $ j c__ c__1__/Users/olivierlacan/Development/cs/CodeSchool c__2__/Users/olivierlacan/Development/cs/campus c__3__/Users/olivierlacan/Development/perso/keep-a-changelog c__4__/Users/olivierlacan/Development/perso/olivierlacan.com $ j c__4 /Users/olivierlacan/Development/perso/olivierlacan.com
 

當列完一串帶有編號的目錄項目,AutoJump 能夠事先幫你填好 j c__ 指令,然後讓你輸入你想去的目錄的編號。

 

其他進階功能

  • jc (child) 指令能跳到到指定目錄的子目錄
  • jo (open) 使用系統工具(Mac Finder, Windows Explorer, GNOME, etc.)打開目錄,類似 Mac OS terminal 下的 open 命令
  • j -i 指令能增加你目前所在的目錄權重
  • j -d 指令能幫你降低目前所在的目錄權重
  • j --purge 指令會清除掉所有 AutoJump 所記錄的權重,讓你能重新開始記錄。

 

如何安裝 AutoJump

AutoJump 是一個能夠支援大部分命令列包括 bash、zsh、fish 的實用工具,因此你可以透過許多 Linux package managers 來安裝 AutoJump。對於 MacOS 來說,我十分推薦 Homebrew 的 brew install autojump 這個不能再簡單的安裝方式,只要再記得輸入以下指令、以便將 AutoJump 載入 .bash_profile 或是 .zshrc :

[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
 

這道指令會幫你確認 AutoJump 是否安裝完成,同時簡單地載入你的命令列。

如果你不介意麻煩,也可以從 git repository 中將它 clone 下來並 手動進行安裝步驟  。相信我,AutoJump 會是你使用過最簡單便捷的開發工具之一,至少這幾年來說我一次都沒有遇到 bug。


ESG 可以怎麼做?導入「點點簽」電子簽名服務,展開企業永續經營第一步

體現企業敏捷效率、展現品牌創新精神,讓點點簽為團隊夥伴創造效率、為客戶帶來友善體驗、為企業創造良好印象。企業實踐永續 ESG 的第一步,不妨就從導入點點簽開始。
評論
Photo Credit:DottedSign
評論

近年來,隨著疫情時代的時局變化、雲端科技的日新月異,「數位轉型」成為當代企業必備的思維與能力;此外,因應全球環境問題與聯合國永續發展指標(SDGs)的討論趨勢,ESG(Environment 環境、Society 社會、Governance 公司治理)也成了企業不可迴避的經營課題。

無論從何種角度來執行,例如建立線上敏捷的工作系統、減少地端成本(無紙化)等,都能讓企業在持續強化市場競爭力與環境永續兩者間獲得雙贏。回顧疫情期間遠距辦公的經驗,不少企業積極導入線上協作平台、電子簽名等服務,縮短團隊遠距辦公的距離;不過可惜的是,也有部分企業在疫情暫緩後又回到過往傳統的工作模式,其中又以「恢復紙本簽署」為最常見現象。

其實,企業若能善用電子簽名服務,不只能加速簽署流程和提高營運效率外,更能解決紙本、時間、郵寄等成本,邁向企業永續經營。本文以國內知名電子簽名品牌點點簽(Dottedsign)為例,細數電子簽名能為企業帶來的三項永續好處。

Photo Credit:DottedSign/知名電子簽名品牌「點點簽」是企業邁向無紙化、實踐永續的好幫手

更友善的簽名體驗:比傳統紙本流程快 80% 的時間

不少企業會有「紙本合約」的迷思,認為紙本簽名才正式、安全,且有實體文件可歸檔留存,較為安心;事實上,企業使用電子簽名服務不只能加速簽署流程,甚至相比於傳統合約寄送往返的方式,更加安全有保障,也更易於歸檔管理。去年國內受疫情影響,導入電子簽名服務「點點簽」的企業便大幅提升200%,顯見國內企業對電子簽名的認知度及接受度逐漸提高。

而能讓企業從長期培養的紙本習慣轉換成線上簽署的原因,除了疫情促成外,莫過於電子簽名能提供比傳統紙本更友善、更便捷的簽署體驗。只要有一台電子裝置(電腦、平板、或手機),就能藉由點點簽完成無論是遠端、當面或臨櫃的簽名工作,且從創建文件到指派簽署者只需不到一分鐘,簽署者更可依照簽署欄位直覺的完成簽署,大幅降低簽署錯誤率之餘,也省去傳統紙本列印合約、親簽完成後寄回,或親簽後掃描回傳的繁縟流程,有效節省人力和時間等隱性成本,將時間專注在關鍵的任務上。

此外,雙重身分驗證的保護機制,能在傳遞過程中加密嚴防駭客竄改文件,且簽署完成即壓上數位憑證(Digital certificate),能證明文件乃經由當事人線上簽名且未被他人更動。點點簽具備完整的資安守護措施,不必擔心紙本合約遭中途攔截或人為毀損,或是有偽造簽名之虞,讓簽名這件事比過去更加快速、也更加安全。

Photo Credit:DottedSign/點點簽電子簽名有效節省時間人力與紙張成本,讓團隊能專注在重要任務上

更流暢的營運效率:團隊數據分析、文件標籤歸檔一秒完成

數位轉型、永續發展不只是口號,更是推動企業前進、產業進步的力量;如何藉由合適的線上工具落實數位轉型,同時確保其營運策略能夠結合環境永續,更是企業刻不容緩的議題。而電子簽名的多元性及便利性,正在企業營運層面扮演相當重要的一環,無論何種團隊規模及企業需求,皆可藉由導入電子簽名服務「點點簽」集中控管文件權限與資源共享,為管理階層提升效率,即時掌握重要合約的相關進程。

說到點點簽的強項,就不能不提「支援多人簽署任務」的功能特色。用戶在點點簽發起簽署任務後,可指定簽署人的順序,確保流程正確不漏簽或誤簽;也可即時追蹤簽署進度,系統將會自動提醒簽署人在期限內完成簽名。

為了協助組織管理者能更有策略地管理團隊 ,點點簽也提供視覺化的團隊數據分析,組織管理者可藉由團隊數據介面中的「完成文件總數、文件拒簽率、平均簽署完成時間」等數值掌握每位團隊成員手上負責的文件簽署狀況,進而提升團隊效率;其他包含控管成員權限、共享範本等功能,則能協助管理者邁向更高效的營運模式。

尤其針對企業內業務、法務、財會等時常需要處理繁雜文件,更可善用點點簽中的標籤功能,輕而易舉地為已簽署文件標籤歸檔,利於往後即時調閱資料,不必在紙本堆中翻找。總體來說,點點簽不只能確保簽署流程不出錯,更協助企業在營運上更順暢。

Photo Credit:DottedSign/點點簽,為企業提升簽署效率、創造營運價值和邁向永續經營

更美好的永續經營:節省紙張、時間、人力,專注創新成長

據國外知名期刊 FinancesOnline 指出:

長期來看,企業從紙本轉移到線上簽署的成本可節省高達 78%,其中包含可觀的紙張、時間、營運等成本。

關於這點,點點簽的客戶實務經驗可以證明。事實上,每使用點點簽完成一次線上簽署可替公司省下新台幣 36 元的時間與材料成本,且將簽署流程數位化能大量減少紙張及碳粉的使用;據統計,每省下 10,000 張紙可以拯救一顆樹。顯然,點點簽協助企業實踐低碳目標外,更是為地球環境盡一份心力。

另一方面,企業使用線上簽署服務不只能縮短傳統文件往返的等待時間,也能為企業帶來良好的品牌形象。舉例來說,在前線如業務、商務開發人員、諮詢顧問等單位,即可使用線上簽署與客戶打造遠端簽署的情境,維繫與客戶的關係外也利企業掌握關鍵商機。同時,團隊也因導入線上簽署而省下隱性成本,讓企業騰出人力資源,專注創新成長,培育人才達成永續經營的目的。

綜合以上所述,企業須將數位轉型和永續經營納入長期營運上的考量,而導入線上簽署可視為第一步。點點簽(DottedSign)為凱鈿行動科技旗下的電子簽名服務,提供 SaaS 和 API 等解決方案供企業彈性選擇。歡迎使用點點簽,為您的企業提升簽署效率、創造營運價值和邁向永續經營。落實環境永續 ESG 的第一步,不妨就從導入點點簽開始。