基础工作
tldr帮助
linux很多命令我们不需要查看man来查看一大堆参数,而且man或者info帮助都是同色的,重点不突出,为此我们可以使用tldr
命令来查看,官网安装教程:https://tldr.sh/#installation,可见安装tldr有多种方式,笔者选择的是pip安装,简单方便:
pip install tldr
安装完之后可以检验:
环境变量
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)文件。