目录
Grabbing information about terminal(获取终端信息)
Aliases
别名(aliases)相当于给linux这是的快捷键,设置别名之后,用简单的命令名称来代替原本复杂的命令。
例如工程路径一般相对固定,但又冗长,所以可以使用别名代替。
使用如下命令可以创建一个暂时的别名,该别名在terminal关闭时失效。 将它保存在~/.bashrc 中,可以避免失效。
alias install="sudo apt-get install"
//然后安装程序就可以使用, install pidgin, 实际执行的是 sudo apt-get install pidgin
Grabbing information about terminal(获取终端信息)
tput , stty 用于终端操作的实用程序。
1. 获取行信息: tput lines
2. 获取列信息: tput cols
3. 获取中断名称:tput longname
4. 移动光标到指定坐标(100,100): tput cup 100 100
5. 设置终端背景颜色: tput setb no(no is a avlue from 0 to 7)
6. 设置文本的颜色: tput setf no(0 - 7)
7. 设置文本字体加粗: tput bold
8. 开始和结束划线使用: tput smul . tput rmul
9. 删除光标到行尾的文本: tput ed
10. stty(need test to get a deep understand)
#!/bin/sh
#Filename: password.sh
echo -e "Enter password: "
stty -echo
read password
stty echo
echo
echo Password read.
获取,设置日期和延迟
一些应用需要打印不同格式的时间信息,或者设置日期和时间,并根据设置的日期和时间执行操作。
1. 读取时间:
$ date
$ Fri May 10 17:51:04 CST 2019
epoch time printed as follows:
$ date +%s
$ 1557481945 (how to use it)
Epoch :
历元的定义是自1970年1月1日子夜符协调世界时(UTC)以来经过的秒数,不包括闰秒。当您需要计算两个日期或时间之间的差值时,历元时间非常有用。您可以找出两个给定时间戳的历元时间,并取历元值之间的差。因此,您可以找出两次日期之间的总秒数。
echo `date -d "-1 month" "+%Y-%m-%d %X"`
2019-04-15 21:48:28 //上个月时间
echo `date +%Y_%m_%d`
2019_05_15 # currently date
日期方面 :
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
时间方面 :
% : 印出
% %n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区
一些与$相关的符号
https://www.jianshu.com/p/4af01a79c0d4
$? 输出0为正常 非0为异常
$0 输出命令本身 $1-9 为第几个输入参数 $* 所有输入参数 $# 输入参数的个数
$[ ] 计算 但不输出 例如$[ 1+2 ]其实就是3
expr 计算并且输出
echo "$SHELL"
/bin/bash