前面一篇“shell编程之变量篇”主要讲述下shell编程的变量的基本知识:设置变量的方式,自定义变量和环境变量的差别,变量的替换、删除、测试等。

这一篇主要是讲述在bash shell下的一些基本配置:别名,命令执行,配置文件的读取,可以自定义修改的配置文件。

  • 别名设置

别名设置方式:alias      

alias cl='clear'

如上所示的形式

如果希望每次启动shell都能使用这些别名的话,修改自己用户目录下的"~/.bashrc"配置文件,如下图,在文件中找一个适当的位置写入就可以了。

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'# add by user
alias cl='clear'
alias lm='ls -al | more'
#alias rm='rm -i'
#alias cp='cp -i'
#alias mv='mv -i'
alias hi='history'

写完之后使用source命令应用

# source ~/.bashrc


  • 历史命令
history
n 列出最近的几条历史命令
-c 消除历史命令
-a 将新增的历史命令写入到file中,没有指明的话就是默认在 ~/.bash_history

历史命令最有用的一点就是可以查看历史命令,并且根据他的编号来执行历史命令。具体如下

#使用
#执行第numer条命令
$ !number   #number是 指历史命令的第几条#执行上一条命令
$ !!             #两个感叹号就是执行上一条命令


  • 命令的寻找顺序

由之前学习的知识可以知道我们的命令存在形式很多种:绝对路径下的命令,相对路径下的命令,别名指向的命令,还有bash的内建命令,那么对于同一个命令,当这几种都冲突的时候,他的优先级是怎样的。

按照序号顺序的优先级:

  1. 以相对路径和绝对路径执行的命令优先
  2. 由alias找到的别名优先
  3. bash内置的命令
  4. 通过PATH变量寻找的命令

  • bash的一些配置文件

这里有两个很好玩的配置文件,是tty1-tty6的开机启动的配置文件。

/etc/issue       bash登录界面显示信息

/etc/motd       bash登录之后的显示信息

这两个文件的作用不在图形界面的shell中显示,需要打开tty登录。

这里可以看下我的配置登录界面的效果图:

图就是我在/etc/issue中修改的显示信息。

  1. 接下来说说一些其他的配置文件

说之前我们分一下login-shell与non-login-shell的差别。

简单的说差别就在于login-shell是在tty1-tty6中登录的bash shell,non-login-shell就是图形界面登录的bash shell

login-shell读取的文件:

1. /etc/profile       系统全局的设置文件

2. ~/.bashrc或者~/.profile               用户自定义的设置文件

/etc/profile是一个全局的设置,一般不需要更改

总结:login-shell的读取配置文件流程

图中的 ~/.bash_profile  在ubuntu中是没有的,这个文件是调用~/.bashrc文件的,主要是为了兼容老用户的习惯,ubuntu中可能是删除了这个文件

~/.bashrc  文件login-shell 和non-login-shell都会读取

2.还有一些其他常用的配置文件

  • PATH变量在   /etc/environment 文件中
  • /etc/profile.d/*.sh    该文件夹下的脚本文件主要用于设置bash的操作接口和字体颜色,语系,别名
  • /etc/manpath.config    寻找man page的路径
  • ~/.bash_history        历史命令文件
  • ~/.bash_logout         用户注销之后再帮我完成什么动作,在这里配置

转载于:https://www.cnblogs.com/panhao/p/5315223.html

【shell编程基础0】bash shell编程的基本配置相关推荐

  1. Linux编程 3 (初识bash shell与man查看手册)

    一.初识bash shell 1.1 启动 shell   GNU bash shell 能提供对Linux系统的交互式访问.通常是在用户登录终端时启动,登录时系统启动shell依赖于用户账户的配置. ...

  2. Linux基础之bash shell介绍及基本特性

    今天继续讲Linux基础知识,内容是关于bash shell的.分享以下bash shell的相关知识,例如基本特性等.  1.8)bash shell的介绍 1.8.1)什么是bash shell ...

  3. 迈入JavaWeb第一步,Java网络编程基础,TCP网络编程URL网络编程等

    文章目录 网络编程概述 网络通信要素 要素一IP和端口号 要素二网络协议 TCP网络编程 UDP网络编程 URL网络编程 Java网络编程基础 网络编程概述 Java是Internet上的语言,它从语 ...

  4. 编程基础 垃圾回收_编程中的垃圾回收指南

    编程基础 垃圾回收 什么是垃圾回收? (What is Garbage Collection?) In general layman's terms, Garbage collection (GC) ...

  5. 南开大学python编程基础_《Python编程基础》20春期末考核(参考答案)南开大学 答案...

    <Python编程基础>20春期末考核 -00001 试卷总分:100  得分:70 一.单选题 (共 15 道试题,共 30 分) 1.执行"print(0o20)" ...

  6. c语言编程基础 教案,C语言编程基础电子教案.doc

    C语言编程基础电子教案 课题(内容)1.1 C语言简史及特点课时1教学任务分析教学目标知识技能通过本节课的教学,使学生了解并熟悉编程语言C的发展历史.特点及其种类和适用范围.过程与方法通过C语言的发展 ...

  7. WebFlux响应式编程基础之 2 函数式编程 工具jclasslib bytecode viewer

    函数式编程:告诉他的功能是什么,而不是告诉他怎么做 命令式编程:怎么去做 函数式编程:不需要关注细节,利用系统已经有的API 使用jdk8自带函数接口的好处 函数接口减少接口定义 函数式接口链式操作 ...

  8. Python编程基础21:GUI编程

    文章目录 零.本讲学习目标 一.图形用户界面 - GUI (一)GUI概述 (二)常用的Python GUI库 1.Tkinter库 2.wxPython库 3.Jython库 二.tkinter编程 ...

  9. Linux shell 对话框,如何在 Bash Shell 脚本中显示对话框

    原标题:如何在 Bash Shell 脚本中显示对话框 这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子.使用这些工具,你的脚本能够 ...

最新文章

  1. 在CentOS 7.5上升级SQLite3过程实录
  2. 只服这篇“神文”:基于老子哲学、相对论的超级人工智能模型
  3. 五、任意输入10个int类型数据,排序输出,再找出素数
  4. 【VMCloud云平台】SCVMM配置(九)创建Web服务模板
  5. LDAP之一:OpenLDAP管理员指南资料
  6. 微信小程序 三元运算 checked
  7. 插入空行_如何一键插入表格空行,这个方法才最高级!
  8. gdb官方说明文档中文版
  9. 动画库tween.js
  10. VUE2.0 测试环境配置
  11. ssh autologin REMOTE HOST IDENTIFICATION HAS CHANGED处理
  12. ps3 2.0固件升级导致wifi失败
  13. ubuntu死机咋办_Ubuntu死机解决方法汇总
  14. 神技 破解EXCEL工作表保护密码
  15. FPU、MMX、SSE
  16. 还在搞公众号互推涨粉?这个小工具助你粉丝躺增!
  17. 免费PPT模板 | 《超能陆战队》暖心大白通用演示PPT模板
  18. 被智商检测器侮辱之后,我直接怒开PyCharm(下)
  19. wordpress更换模板影响网站SEO吗?
  20. 中兴c300业务板_高价回收中兴c300业务板ETGH板卡 原装

热门文章

  1. MFC 程序来龙去脉
  2. 阿帕奇服务器文件上传,Apache HttpCore4.4基于经典的IO实现HTTP文件传输服务器
  3. linux修改maven端口号,Linux(centos7)安装maven3.5
  4. before和after怎么区分_触发器before和after的区别
  5. oracle+tquery,Oracle测试题及答案
  6. Anaconda各版本安装包存档
  7. pytorch得到中间层输出
  8. 5-1计算机视觉的基本概念
  9. Python机器学习:梯度下降法009更多讨论
  10. 一个进程在执行过程中可以被中断事件打断_Linux操作系统:中断类型和中断的作用...