【shell编程基础0】bash shell编程的基本配置
前面一篇“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的内建命令,那么对于同一个命令,当这几种都冲突的时候,他的优先级是怎样的。
按照序号顺序的优先级:
- 以相对路径和绝对路径执行的命令优先
- 由alias找到的别名优先
- bash内置的命令
- 通过PATH变量寻找的命令
- bash的一些配置文件
这里有两个很好玩的配置文件,是tty1-tty6的开机启动的配置文件。
/etc/issue bash登录界面显示信息
/etc/motd bash登录之后的显示信息
这两个文件的作用不在图形界面的shell中显示,需要打开tty登录。
这里可以看下我的配置登录界面的效果图:
图就是我在/etc/issue中修改的显示信息。
- 接下来说说一些其他的配置文件
说之前我们分一下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编程的基本配置相关推荐
- Linux编程 3 (初识bash shell与man查看手册)
一.初识bash shell 1.1 启动 shell GNU bash shell 能提供对Linux系统的交互式访问.通常是在用户登录终端时启动,登录时系统启动shell依赖于用户账户的配置. ...
- Linux基础之bash shell介绍及基本特性
今天继续讲Linux基础知识,内容是关于bash shell的.分享以下bash shell的相关知识,例如基本特性等. 1.8)bash shell的介绍 1.8.1)什么是bash shell ...
- 迈入JavaWeb第一步,Java网络编程基础,TCP网络编程URL网络编程等
文章目录 网络编程概述 网络通信要素 要素一IP和端口号 要素二网络协议 TCP网络编程 UDP网络编程 URL网络编程 Java网络编程基础 网络编程概述 Java是Internet上的语言,它从语 ...
- 编程基础 垃圾回收_编程中的垃圾回收指南
编程基础 垃圾回收 什么是垃圾回收? (What is Garbage Collection?) In general layman's terms, Garbage collection (GC) ...
- 南开大学python编程基础_《Python编程基础》20春期末考核(参考答案)南开大学 答案...
<Python编程基础>20春期末考核 -00001 试卷总分:100 得分:70 一.单选题 (共 15 道试题,共 30 分) 1.执行"print(0o20)" ...
- c语言编程基础 教案,C语言编程基础电子教案.doc
C语言编程基础电子教案 课题(内容)1.1 C语言简史及特点课时1教学任务分析教学目标知识技能通过本节课的教学,使学生了解并熟悉编程语言C的发展历史.特点及其种类和适用范围.过程与方法通过C语言的发展 ...
- WebFlux响应式编程基础之 2 函数式编程 工具jclasslib bytecode viewer
函数式编程:告诉他的功能是什么,而不是告诉他怎么做 命令式编程:怎么去做 函数式编程:不需要关注细节,利用系统已经有的API 使用jdk8自带函数接口的好处 函数接口减少接口定义 函数式接口链式操作 ...
- Python编程基础21:GUI编程
文章目录 零.本讲学习目标 一.图形用户界面 - GUI (一)GUI概述 (二)常用的Python GUI库 1.Tkinter库 2.wxPython库 3.Jython库 二.tkinter编程 ...
- Linux shell 对话框,如何在 Bash Shell 脚本中显示对话框
原标题:如何在 Bash Shell 脚本中显示对话框 这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子.使用这些工具,你的脚本能够 ...
最新文章
- 在CentOS 7.5上升级SQLite3过程实录
- 只服这篇“神文”:基于老子哲学、相对论的超级人工智能模型
- 五、任意输入10个int类型数据,排序输出,再找出素数
- 【VMCloud云平台】SCVMM配置(九)创建Web服务模板
- LDAP之一:OpenLDAP管理员指南资料
- 微信小程序 三元运算 checked
- 插入空行_如何一键插入表格空行,这个方法才最高级!
- gdb官方说明文档中文版
- 动画库tween.js
- VUE2.0 测试环境配置
- ssh autologin REMOTE HOST IDENTIFICATION HAS CHANGED处理
- ps3 2.0固件升级导致wifi失败
- ubuntu死机咋办_Ubuntu死机解决方法汇总
- 神技 破解EXCEL工作表保护密码
- FPU、MMX、SSE
- 还在搞公众号互推涨粉?这个小工具助你粉丝躺增!
- 免费PPT模板 | 《超能陆战队》暖心大白通用演示PPT模板
- 被智商检测器侮辱之后,我直接怒开PyCharm(下)
- wordpress更换模板影响网站SEO吗?
- 中兴c300业务板_高价回收中兴c300业务板ETGH板卡 原装
热门文章
- MFC 程序来龙去脉
- 阿帕奇服务器文件上传,Apache HttpCore4.4基于经典的IO实现HTTP文件传输服务器
- linux修改maven端口号,Linux(centos7)安装maven3.5
- before和after怎么区分_触发器before和after的区别
- oracle+tquery,Oracle测试题及答案
- Anaconda各版本安装包存档
- pytorch得到中间层输出
- 5-1计算机视觉的基本概念
- Python机器学习:梯度下降法009更多讨论
- 一个进程在执行过程中可以被中断事件打断_Linux操作系统:中断类型和中断的作用...