linux shell编程学习笔记(2)bash的特性或功能

1、历史命令

bash有自动记录命令历史的功能,当系统注销或关机时,将用过的命令保存在 家目录下.bash_history隐藏文件。

查看命令历史记录的方法:

(1)直接打开.bash_history文件

(2)键盘上下键查看

(3)用history命令


系统默认记录最后一千条命令,可通过修改/etc/profile文件的第48行的 HISTSIZE 参数重新定义最大命令记录数量。当然需要系统重启或运行source /etc/profile命令使配置生效



history -w 把系统启动后敲的命令覆盖写入.bash_history 这个文件

history -c 清除命令历史记录



我们平时可以找到历史命令再次执行,就不用辛苦的敲命令的。以下是常用实例,一般都是命令有点长懒得再敲时才会查找历史记录


(1)通过上下键找到要用的命令,直接回车执行。一般都是找最近10条用过的命令


(2)如果第(1)麻烦,可用history,可根据自己敲命令的过程快速查找到所需命令,看它的编号

如:是78号,

#!78


(3)跟第(2)一样

#!ser  执行最后一个以 ser 开头的命令,一般都是重启服务(实验需要)



2、命令别名

大家最先接触的别名应该就是 ll 命令,它就是一个ls -l 命令的别名。别名的好处可以将很长的命令简化缩写。相信每个用惯linux的都会有自己的别名。

举个例子:

一般配置文件都有很多注释,可通过过滤命令查看有效的配置信息。

#grep -vE "^#|^$"  /etc/lftp.conf


可以建立别名来简化名,格式如下:


alias gl='grep -vE "^#|^$"'


这样执行 #gl /etc/lftp.conf 与执行完整命令的效果是一样的


1)查看已经定义的别名

#alias


2)如何自定义别名

# alias gl='grep -vE "^#|^$"'


3)如何删除定义的别名

# unalias gl


4)如何让定义的别名永久生效

#vim ~/.bashrc           //把别名的定义命令写进去

#source ~/.bashrc       运行这个命令使别名立马生效


5)在自己的家目录下的.bashrc 文件下设置别名,其他用户包括root也不能使用,只有自己才能用。



3、支持重定向,改变数据默认输出的设备

默认输出设备:屏幕

默认输入设备:键盘


1)重定向输出:

>  覆盖输出

>> 追加输出




2)重定向输入

<  覆盖输入

<< 追加输入

mail -s "first mail" < /etc/hosts


3)重定向错误信息输出,如果没有错误,则不会输出

2>  错误覆盖输出

2>> 错误追加输出


#cd /abc 2> /tmp/err.txt


重定向正确和错误的信息都输出

&>  覆盖输出

&>> 追加输出



4、支持管道

把前边的输出作为后边命令的输入


命令1  |  命令2  | 命令3





5、支持快捷键和自动补全

ctrl+c  //终止命令

ctrl+z  //把正在执行的命令挂起,可用jobs查看,用fg重新调用

ctrl+l //清屏

Tab键  自动补全





你可能感兴趣的:(别名,bash特性)