shell基础知识4--别名、采集终端信息
别名就是一种便捷方式,可以为用户省去输入一长串命令序列的麻烦。下面我们会看到如何
使用 alias 命令创建别名。
直接使用alias就是显示当前有哪些别名,否则就是创建别名
[root@dns-node2 ~]# alias # 显示别名
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
[root@dns-node2 ~]# alias mycmd='ls /root' # 创建别名
[root@dns-node2 ~]# mycmd
anaconda-ks.cfg Desktop Documents Downloads install.log
在命令行创建别名是暂时的,一旦关闭当前这个终端,设置过的别名就失效了,为了永久生效,我们需要导入到/etc/profile 或者~/.bashrc下
[root@dns-node2 ~]# echo "alias mycmd='ls /root'" >>/root/.bashrc
想要破解别名的话,就使用\来转义
举个例子:
[root@dns-node2 ~]# \mycmd
-bash: mycmd: command not found
[root@dns-node2 ~]# \ls # 非别名是无效的即使加上\
anaconda-ks.cfg Desktop Documents Downloads install.log install.log.syslog Music ossec-hids-2.8.3 ossec-hids-2.8.3.tar.gz Pictures Public Templates Videos
[root@dns-node2 ~]# \ll
-bash: ll: command not found
采集终端信息
编写命令行shell脚本时,总是免不了处理当前终端的相关信息,比如行数、列数、光标位置、
遮盖的密码字段等。
tput 和 stty 是两款不错的工具
tput
1.获取终端的行数和列数:
tput cols
tput lines
2.打印出当前的终端名:
tput longname
3.将光标移动到坐标(100,100)处:
tput cup 100 100
4.设置终端背景色:
tput setb n
其中, n 可以在0到7之间取值。
5.设置终端前景色:
tput setf n
其中, n 可以在0到7之间取值。
6.设置文本样式为粗体:
tput bold
7.设置下划线的起止:
tput smul
tput rmul
8.删除从当前光标位置到行尾的所有内容:
tput ed
9.输入密码时,脚本不应该显示输入内容。在下面的例子中,我们将看到如何使用 stty 来
实现这一需求:
stty -echo # 此时隐藏所有的输入
stty echo # 显示所有的
9.1.具体参考的例子:
#!/bin/sh
#Filename: password.sh
echo -e "Enter password: "
# 在读取密码前禁止回显
stty -echo
read password
# 重新允许回显
stty echo
echo
echo Password read
有趣的倒计时
#!/bin/bash
#文件名: sleep.sh
echo 倒计时10秒
echo
tput sc # 存储光标的位置
# 循环40秒
for count in {10..0}
do
tput rc # 恢复之前存储的光标的位置
tput ed # 清除从当前光标位置到行尾之间的所有内容,行被清空之后,脚本就可以显示出新的值。
echo -n "倒计时 $count"
sleep 1
done
shell基础知识4--别名、采集终端信息的更多相关文章
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
- Linux Shell 基础知识(一)
1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...
- Shell 基础知识和总结
调试脚本 检查脚本语法错误 bash -n /path/to/some_script 调试执行 bash -x /path/to/some_script shell里的变量 本地变量:只对当前shel ...
- shell基础知识总结
1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对 ...
- shell基础知识---与监听服务器长连接端口状态
从未写过脚本我的最近接了俩脚本的需求,就在这分享一下我的我学到基础知识主要就四部分内容 一.变量 变量的定义 string='字符串' string="字符串" num=808st ...
- shell基础知识讲解
第1章 shell基础 1.1 什么叫做shell编程 shell编程也叫做bash高级编程语法 1.2 常见的shell命令解释器 bash redhat和centos使用 d ...
- shell基础知识5-函数
函数的定义 function fname(){ } 或者 function_name(){ } 对于简单的函数,甚至可以是这样做 fname() { statement; } 函数调用 直接写函数名即 ...
- shell基础知识
Shell 学习基础 1.组合命令的符号 管道,将前面一个命令的结果作为后面一个命令的输入 分号,顺序执行用分号分割的命令 重定向,重定向包括三种:输入重定向.输出重定向.错误重定向,以7个不同的符号 ...
- shell从入门到精通进阶之一:Shell基础知识
1.1 简介 Shell是一个C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户. 下面是处 ...
随机推荐
- 后台返回的base64的图片格式,前端如何转为普通的图片格式
在上一篇的博客当中,写了前端如何将普通的图片格式转为base64的图片,今天开发的时候遇到了后台返回的图片格式是base64的,我这边需要把base64的图片格式转为普通的,搜了一下js的方法,感觉很 ...
- jvm内存模型-和内存分配以及jdk、jre、jvm是什么关系(阿里,美团,京东)
参考:JVM的垃圾回收机制 总结(垃圾收集.回收算法.垃圾回收器) 1.什么是jvm?(1)jvm是一种用于计算设备的规范,它是一个虚构出来的机器,是通过在实际的计算机上仿真模拟各种功能实现的.(2) ...
- PVE手册资料
PVE 软件源/etc/apt/souces.list apt-get update命令获取软件源中的软件包信息 企业版软件源 /etc/apt/sources.list.d/pve-enterpri ...
- HelloPlatform
#include <stdio.h> int main() { #if _PLATFORM_ == _PLATFORM_TRU64 printf("Hello _PLATFORM ...
- MapTask工作机制
(1)Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value. (2)Map阶段:该节点主要是将解析出的key/value交给用 ...
- 面试15--strcmp,strcpy,memmove实现
一. strcmp strcmp是用于比较两个字符串的大小的. int strcmp( const char *string1, const char *string2 ) char *strin ...
- 第03组 Alpha冲刺(4/4)
队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...
- jupyter的补充
目录 jupyter 的使用 常用命令模式快捷键: 常用编辑模式快捷键: jupyter 的使用 Cells状态分为命令模式和编辑模式,Enter进入编辑模式,ESC进入命令模式,命令模式和编辑模式下 ...
- 【AtCoder】 ARC 101
link 搬来了曾经的题解 C-Candles 题意:数轴上有一些点,从原点开始移动到达这些点中的任意\(K\)个所需要的最短总路程 \(K\)个点必然是一个区间,枚举最左边的就行了 #include ...
- cBioPortal 数据库
http://www.cbioportal.org/ 参考连接 http://www.geneseed.com.cn/page464?article_id=413