歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 讓linux好用起來

讓linux好用起來

日期:2017/3/3 13:02:29   编辑:Linux技術

讓linux好用起來--操作使用技巧

1 概述

在一個初學者眼裡,linux的 CLI 界面沒有圖形界面那樣多彩和友好,會讓人產生畏難心理,但是作為一個稍微進階的linux玩家,自然會積累不少經驗和技巧,來讓linux越來越好用,越來越順手,甚至會發出“擺脫了圖形界面的束縛,整個人都更自由了”的感慨。
當然,我們所說的越來越好用,是有限定的領域內:
網絡請求
文件切換
命令執行
程序開發
如果您不是開發人員,此文可能並不適合您閱讀了。

2 設置環境變量

環境變量,故名思議,就是為當前操作系統環境設置一些和環境想著的變量,從系統執行命令時進行統一的值調用。
在Linux系統中,有很多種方式設計環境變量,分別出現在不同的使用場合。

2.1 etc目錄

例如,/etc目錄下的文件
/etc/profile
/etc/environment
此目錄裡面的設置是針對本機的所有用戶做的設置,在用戶登錄之後,會先加載此處的環境變量,如果用戶目錄中(下文將提到)也有環境變量的設置,則用戶目錄的設置會覆蓋掉此處的設置。
一般情況下,為了保證用戶設置環境之間互不干擾,都建議盡量將環境變量設置在用戶目錄下面。

2.2 用戶目錄

用戶目錄下面,主要的和環境變量設置相關的文件有:
.profile文件
用戶登錄時加載,而且僅在登錄事件時加載一次
.bash_rc
每次啟動bash shell時都會運行一次
為了保證用戶配置數據的獨立性,一般情況下,環境會設置在用戶目錄的 .profile 文件中。
例如,將下面的內容寫入到 .profile 文件中:
export w=$HOME/work/workspace
export droot=$HOME/dev-tools
export p=$HOME/pyvenv/bin

然後通過選擇以下任意一種方法使此環境變量生效:
注銷後,重新登錄。此時會執行一次.profile文件。
直接在終端裡執行 source .profile 即可。
將常用的高頻目錄通過如上方式加入到環境變量,然後在應用了此環境變量的終端中就可以實現快速地切換工作目錄了。
比如,如果我要快速切換到工作目錄中,在沒有設置環境變量前,需要執行如下操作:
cd /home/harmo/work/workspace

而設置環境變量之後:
cd $w

瞬間感覺輕松了好多,不用再記那麼長的一串目錄了。
作為一個python開發人員,一般常用的工作目錄有:
代碼存放目錄
開發IDE目錄
python虛擬環境目錄
正如前面設置的那樣,可以省去很多不必要的操作。

3 設置本地域名解析

在linux的文件系統裡面,有這樣一個文件:
/etc/hosts
此文件屬於本地靜態域名映射表,即在linux系統中訪問某域名時,會優先采用此文件的解析方式,然後再參考更下游的DNS服務器節點。
(pyvenv) ➜  ~ cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

119.14.121.48 web_server
119.14.121.42 database_server
119.14.121.40 nginx_server

對於一個經常要和各種服務器打交道的開發人員來說,可以不必花腦力去記住各種服務器的IP,而是通過容易記憶的名稱來給IP標記成別名,即DNS的功能。
比如,如果要遠程登錄到Web服務器,在設置hosts之前 ,需要執行如下命令:
ssh [email protected]

而經過以上設置之後,只需要執行下面的操作:
ssh root@web_server

可能一台服務器的登錄並沒有顯示出此方式的 奇技淫巧,但是只要服務器數量增加後,比如到10台,記憶10台機器的名稱應該比記憶10個數字IP要容易得多吧,因為你標記的別名會引起你的聯想,但是IP則不會。

4 使用ssh-key認證身份

說到ssh,對於linux環境下的開發人員來說,並不陌生。一般情況下,使用頻率最高的來自於如下兩個場景:
遠程服務器登錄操作身份認證
git代碼服務器身份認證
這兩種使用場景都需要 身份認證 ,傳統的方式都是直接輸入密碼,此方式的缺點是:
輸入過程繁瑣
需要用戶記憶密碼
密碼可能會被截獲
而使用ssh-key則使用一組 公鑰/私鑰 來的加密串來進行身份認證。
生成方法如下:
(pyvenv) ➜  ~ ssh-keygen -C [email protected]
Generating public/private rsa key pair.
Enter file in which to save the key (/home/harmo/.ssh/id_rsa):

根據向導完成後續的設置,會在本機生成一組文件:
-rw-------  1 harmo  staff   1.6K  1 25 16:26 id_rsa
-rw-------  1 harmo  staff   401B  1 25 16:26 id_rsa.pub

其中:
id_rsa 私鑰
id_rsa.pub 公鑰
這組文件直接存放在本機,只要將公鑰信息復制到相應的服務器,設置為信任公鑰即可。
後續的過程中,客戶機和服務器之間的身份認證則自動通過ssh-key進行認證,不再需要用戶輸入甚至記憶密碼了。
雖然對於免密碼輸入還有一些別的技術解決方案,例如:
sshpass
.netrc
但是它們的缺點是:仍然需要把賬號和密碼明文保存在本機。這樣會存在這樣的危險:只要本機被hack,這些明文直接會丟失,造成的影響也遠比ssh-key丟失要嚴重。

5 小結

關於Linux,上面所說的那些可能有些奇技淫巧,但是不可否認,掌握這些小技能之後,確實能夠讓系統用起來得心應手,越來越體會到Linux的妙處。
作者:Harmo哈莫作者介紹:https://zhengwh.github.io技術博客:http://www.cnblogs.com/beerEmail:[email protected]QQ:1295351490時間:2016-02版權聲明:歡迎以學習交流為目的讀者隨意轉載,但是請 【注明出處】支持本文:如果文章對您有啟發,可以點擊博客右下角的按鈕進行 【推薦】
Copyright © Linux教程網 All Rights Reserved