您的位置:首页 > 运维架构 > Shell

常用shell命令参数(高级)

2009-11-29 10:22 323 查看
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


[b]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"

例子:
[/b]

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 休闲