常用shell命令参数(高级)

date命令

 
 date +%s
1252591191
date -d @1252591191 +%F
2009-09-10
date --date="2009-10-01 yesterday" +%F ==> 2009-09-30
date --date="2009-10-01 tomorrow“ +%F ==> 2009-10-02
date --date="2009-10-01 -20 days” +%F ==> 2009-09-11

 
!$ 显示系统最近的一条参数
这个比较有用,比如我先用cat /etc/sysconfig/network-scripts/ifconfig-eth0,然后我想用vim编辑。一般的做法是先用↑ 显示最后一条命令,然后用Home移动到命令最前,删除cat,然后再输入vim命令。其实完全可以用vim !$来代替

 
ping命令:
-n:只输出数值。
-c:设置完成要求回应的次数。
-W:timeout 指定超时间隔,单位为毫秒。
 
if ping -n -c 1 -W 4 10.10.10.10 &> /dev/null; then
 SERVERURL="10.10.10.10"
 
grep命令:
 
可以进行2个文件的对比,比如找出文件2 和 文件1 不一样的地方
 
grep -Fvf  1 2
 
F=当成字符串来进行匹配
f=file
 
 
wget命令:
-q:     --quiet                 安静模式(没有输出)
-c:     --continue           接着下载没下载完的文件(断点续传)
-nc:      --no-clobber       不要覆盖存在的文件(有重复文件拒绝下载)
-t number    --tries=number    默认为20次    t0代表无限次重试
-r:         --recursive            递归下载
-o:        --output-file=FILE       把log写到FILE文件中
 -O       --output-document=FILE    把文档写到FILE文件中
--spider                            不下载任何东西
WGET="wget -q -nc -t0"
 
sed命令
插入内容到指定行数后面(插入“2009-9-8” 到 文件 test 的第三行后面)
sed '3a 2009-9-8' test

echo命令
例子:
-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
  \33[0m 关闭所有属性 
  \33[1m 设置高亮度 
  \33[4m 下划线 
  \33[5m 闪烁 
  \33[7m 反显 
  \33[8m 消隐 
  \33[30m -- \33[37m 设置前景色 
  \33[40m -- \33[47m 设置背景色 
  \33[2J 清屏 
  \33[K 清除从光标到行尾的内容 
  \33[s 保存光标位置 
  \33[u 恢复光标位置 
  \33[?25l 隐藏光标 
  \33[?25h 显示光标
 
例子:
让字体变为红色并且不停的闪烁
#echo -e "\033[31m \033[05m 请确认是否要停止当前的squid进程,输入 [Y/N] \033[0m"
例子:
echo -e "\E[1;31mERROR:\E[0m Please check network connection";   exit 1
输出效果:ERROR:  Please check network connection
 
 
select命令
#!/bin/sh    
echo  "请选择:"    
xx= "你好 大家好 退出"    
select a  in $xx; do    
if [  "$a" =  "你好" ];then    
echo 你好    
elif [  "$a" =  "大家好" ];then    
echo 大家好    
elif [  "$a" =  "退出" ];then    
exit    
else    
echo 错误的选项    
fi    
done

你可能感兴趣的:(命令,shell,职场,休闲)