基礎工作
tldr幫助
linux很多命令我們不需要查看man來查看一大堆參數,而且man或者info幫助都是同色的,重點不突出,為此我們可以使用tldr
命令來查看,官網安裝教程:https://tldr.sh/#installation,可見安裝tldr有多種方式,筆者選擇的是pip安裝,簡單方便:
pip install tldr
安裝完之后可以檢驗:
圖片發自簡書App
環境變量
linux系統中的環境變量不止$PATH
一個,還有$USER,$PWD,$HOME,$LD_LIBRARY_PATH,$LANG
等,這些都是常用的,在終端可以執行echo
打印輸出
$ echo $USER
$ echo $PWD
$ echo $HOME
$ echo $LD_LIBRARY_PATH
其中變量$LD_LIBRARY_PATH
默認是沒有內容的,該變量的作用是提供動態鏈接庫(linux系統是shared object,后綴so,windows系統是dynamic linking library,后綴dll,LD可以理解為loader)的搜索路徑,一般來說動態鏈接庫的搜索路徑在配置文件/etc/ld.so.cond
,修改該文件需要root
權限,如果沒有權限的用戶就可以在~/.bashrc
或者/etc/profile
添加該變量的值,例如有一個單獨編譯出來的共享庫libtest.so
(前綴默認是lib),有個源文件main.c
里的函數調用了該庫實現,在編譯的時候可以按照下面命令編譯:
gcc main.c -L. -ltest -o a.out
編譯鏈接都可以成功,但是執行./a.out
的時候會提示找不到共享庫的錯誤,這時便可以通過添加環境變量$LD_LIBRARY_PATH
的方式解決問題,在文件~/.bashrc
添加
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
更新該配置!!!
source ~/.bashrc
為什么需要執行source
?通過tldr查看該命令幫助:
$ tldr source
# source
Execute commands from a file in the current shell.
- Evaluate contents of a given file:
source path/to/file
從這可以清楚知道為什么修改配置文件后要執行source
了。
終端配置
安裝oh-my-zsh
使用zsh配合oh my zsh
打造終極shell,當前用戶配置文件由.bashrc
轉換為.zshrc
,網上很多教程說在.bashrc添加的內容如果安裝了zsh需要相應地轉換到修改.zshrc
,rc個人理解是resource資源文件的意思,例如.vimrc,.octaverc
等,都是和配置相關的。
根據官網介紹可知,執行在終端執行下面命令即可安裝oh-my-zsh
:
$ sh-c"$(wgethttps://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh-O-)"
通常wget都包含在各大linux發行版中,如果沒有wget可以自行使用各發行版自帶的包管理器安裝,例如:
sudo apt install wget #debian系,如ubuntu,debian,linuxmint等
sudo pacman -S wget #archlinux
配置常用插件
在配置文件.zshrc
添加常用插件配置,如幫助文檔語法高亮man
等,oh-my-zsh自帶的插件在下載的oh-my-zsh路徑下查看,默認在~/.oh-my-zsh/plugins
。
配置文件
普通用戶的用戶配置文件在~/.bashrc
或者~/.profile
,可以設置環境路徑,動態鏈接庫路徑(c語言編譯出來的程序提示找不到共享文件時可以通過設置LD_LIBRARY_PATH
),例如:
export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
當然可以全局配置,此時修改文件/etc/profile
,添加環境變量等內容。
前面提及如果使用了zsh的話應該修改配置文件~/.zshrc
再例如,每次輸入ls
比較麻煩,可以使用alias
命令在/etc/profile
添加
alias ll='ls -a'
這樣每個用戶都可以使用ll
命令代替ls -a
了,參數-a
作用是顯示所有(all)文件。