用户和系统管理 使用bash shell

命令行快捷 - 文件通配符扩展

通配符扩展

* 匹配0或者多个字符

? 匹配任意单个字符

[0-9] 匹配0-9范围内的数字

[abc] 匹配该列表内的任意字符

[^abc] 匹配除列表内字符外的所有字符


历史命令技巧

使用ctrl+r搜索历史命令

!$ 仅调用出上一个命令


命令行扩展

命令扩展:$()和``

echo "this system's name is $(hostname)"或者使用`hostname`和$(hostname)相似


大括号扩展:

重复打印字符串

echo file{1,2,3}输出结果为file1 file2 file3


创建shell脚本

步骤1:创建一个包含命令的文本文件

#!/bin/bash

步骤2:赋予脚本可执行权限

chmod a+x myscript.sh


标准的输入输出:

linux给应用程序提供的三种I/O通道

标准输入(stdin) 默认为键盘盘

标准输出(stdout) 默认为终端窗口

标准错误(stderr) 默认为终端窗口


重定向输出到文件:

标准输出和标准错误能被重定向到文件

 -command operator filename

支持操作包括:

 > 重定向标准输出到文件

2> 重定向错误到文件

&>重定向所有输出到文件

在重定向时,缺省是覆盖文件内容 >>符号追加


重定向标准输出给一个应用程序(管道):

管道(| 字符)能连接命令

command1|command2

传送command1的标准输出给command的标准输入,而不输出到屏幕


重定向标准输出到一个程序-示例

 less:cat /etc/passwd | less

 mail:发送输入通过email

 echo “test email” | mail -s hello visen@test.com

 结合输出和错误

 &> 重定向所有的输出

 2>&1 重定向stderr到stdout

 示例:find /etc -name passwd 2>&1 | less

 () 结合多个应用程序的stdout

 (cal 2007;cal 2008) |less


  发送多行到stdin

 使用<<word 从键盘重定向多行到stdin

mail -s "please read" visen@test.com <<END

>HI Visen,

>

>please read the mail

>END


脚本:for 循环

示例:

         for NAME in joe jane julie

        do 

             ADDRESS=$NAME@test.com

             MESSAGE='Projects are due today!'

             echo $MESSAGE | mail -s Reminder $ADDRESS

          done

  for 循环 - 续

       也可以使用命令输出和文件列表

        for num in $(seq 1 10)

        给$num 赋值1-10

        seq X Y 打印从X到Y

        for file in *.txt

        把.txt文件名赋值给$file

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值