搜索
查看: 3936|回复: 0

[linux] I-3——linux初步:“里子”和“面子”-谈谈配置文件

[复制链接]

5

主题

5

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2017-5-18 16:17:16 | 显示全部楼层 |阅读模式
生信放映室

  • 如果想通过《linux初步》系列学linux命令的可能要失望了,因为我觉得搭建框架才是重要的,每个命令需要实际操作就能熟练,加上man、--help来查看用法和百度、google可以查看每个命令就可以搞定,网上博客也很多
  • 就如《一代宗师》中说的,事情都有“里子”和“面子”,linux各发行版也是一样的
  • 有人说,咏春因我而起,因我而收。我但愿他们是对的。我一辈子没挂过招牌,对我而言,武术是大同的,千拳归一路。到头来,就两个字:一横一竖
没忍住引用了一句《一代宗师》的台词,我现在的水平还没到能写这部电影影评的水准,不过说不定会谢谢感悟,下面进入正题。
linux的“里子”和“面子”
linux的“里子”自然可以理解为内核,“面子”就是面向我们见到的这些发行版,在内核层通常是不改的,当然也可以自己定制内核,形成非常个性化的系统,可以DIY系统。不过通常使用的CentOS和Ubuntu均默认装的内核就不用改啦,版本可以用uname -r查看,通常为2.6.x系统,2.6.x为稳定版,现在可以升级到4.6.x版本,升级内核需要慎重!升级后有可能很多软件甚至系统都瘫痪了,就在与很多库文件等已发生了变动。
“面子”一是可以理解为各种发行版,可以用 lsb_release -a查看,二可以理解为展示给我们看到的这种操作和界面,那么相同的“里子”,甚至同一个发行版,不同用户都可以有不同的操作习惯和显示风格,这就要靠配置文件来完成了,而且同一个系统不同用户可以配置不同的显示风格,就类似“人靠衣装马靠鞍”。
之前讲过文件目录和系统启动,/etc目录下有大量的配置文件,有系统级的启动配置文件,rc等还有各种应用的配置文件。我们先介绍几个重要的配置文件或变量。

bash配置文件
对于经常在终端的bash(也可能是kash等其他类型shell)进行命令操作,那么首先遇到的就是bash的配置,语法类似shell或者说就是shell语法。
说到bash不得不提TAB键补全,在终端操作是要常用TAB键补全,有三点好处:1. 方便快捷 2. 如有多个匹配会有相应提示 3. 防止命令或路径出错,如果没有显示匹配或相应提示,可以推断命令或路径肯定有错。
bash的配置文件分为两种:login shell和no-login shell。
  • login shell读取:
文件
内容

/etc/profile
所有用户开放的全局配置文件

~/.bash_profile
某个用户个人的启动文件,能用作个人的全局设置

~/.bash_login
如果~/.bash_profile找不到,则bash尝试读取这个脚本

~/.profile
如果这两个文件~/.bash_profile, ~/.bash_login 都找不到,bash就读取这个文件,这是个默认文件
  • Non-login shell读取:
文件
内容

/etc/bash.bashrc
对所有用户开放的全局配置文件

~/.bashrc
某个用户个人的启动文件,能用作个人的全局设置
通常我们打开的终端或X-windows就是non-login shell,这就是为什么我们经常编辑~/.bashrc来配置终端的原因。另外,linux的隐藏文件不像windows那么设置,而是以"."为开头命名的文件就是隐藏文件,不过也很容易看到,ll或在可视窗口(类似windows文件窗口)快捷键ctl+H即可查看。
  • bash配置文件加载顺序(来自《鸟哥》)
  • Tips:
    • export PATH=$PATH:directory #只改变当下bash的环境配置,下次登录无效
    • source .bash_profile #改变全局变量,用source使之生效
    • .bash_logout #退出时,该脚本做的操作,比如说清空等


执行文件路径变量——$PATH
/bin目录下存放很多系统命令,如ls,可能会奇怪,为什么我们执行/bin/ls,不过输入ls也可以运行而不是提示找不到命令呢?这就是环境变量PATH的帮助。在里为取值符,PATH即为取出环境变量PATH的。

  • [root@www ~]# echo $PATH
  • /usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
系统在执行ls命令时,就会按照PATH的设置依次每个定义的目录下查询文件名为ls的可执行文件,按照“先到先得”,找到后就执行,不在继续查找。经常我们会在当前用户的~/.bashrc中配置,特别的如:

```shell
export PATH=~/bin:千万记得带上PATH*递归加入原来配置的所有PATH,如果设置为PATH=~/bin,那么最大的可能是终端的命令都无法使用了,你懂得。这只能从/bin/等利用别对路径来执行命令修改~/.bashrc,都是血淋淋的事实。

别名alias
别名顾名思义就是给一个东西另起一个名字,例如ls -s | less -S每次操作频次很高打太多字,那就可以用alias lls='ls -s | less',每次终端输入lls就可以了。这和PATH一样都可以在bash的配置文件里设置。

vim的配置
linux不得不提强大灵活的编辑器,vim看似很不友善,一旦使用顺手,绝对是“利器”。它经常和emacs称为“程序员的两大神器”,都有大量的扩展插件,更是被广为争论为“vimemacs圣战”。这些都略去不表,但每台原始的linux都默认安装有vi/vim,却大多没有emacs。这里仅说 vim的大量配置,如语法高亮、缩进、各种代码风格等均可以配置,对应用户的配置文件为~/.vimrc。具体配置可以自行百度,但说一下,如果自己用户目录下没有该文件,或配置有语法明确是正确的却提示错误,通常都是因为仅安装了vim-tinyvi,需要安装完整的vim。CentOs用yum install,Ubuntu用apt install安装软件即可,如有权限问题,添加sudo或用root账号安装即可。

重要命令
除了基本的文件、文件夹操作命令,还需要掌握的命令有:tar / gzip / gunzip / zcat / echo / cat / history / cut / wc / sort / uniq / tr / join / paste,特别是与正则表达式有关的命令grep / sed / awk
本来计划linux初步三篇,这系列就算完成,不过后面推送关于vim的操作命令(该篇将是100%的严重参考,估计我是拿不到原创咯),正则表达式到Python时再来单独介绍,linux系列仅介绍这些,还有系统管理、磁盘管理、安装/删除软件等均不再介绍。
Enjoy it~

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2020-12-1 12:51 , Processed in 0.031458 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.